diff --git a/dist/@openzeppelin/contracts-v3/access/Ownable.d.ts b/dist/@openzeppelin/contracts-v3/access/Ownable.d.ts new file mode 100644 index 0000000..e6a9ee6 --- /dev/null +++ b/dist/@openzeppelin/contracts-v3/access/Ownable.d.ts @@ -0,0 +1,54 @@ +import type { BaseContract, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../../common"; +export interface OwnableInterface extends Interface { + getFunction(nameOrSignature: "owner" | "renounceOwnership" | "transferOwnership"): FunctionFragment; + getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment; + encodeFunctionData(functionFragment: "owner", values?: undefined): string; + encodeFunctionData(functionFragment: "renounceOwnership", values?: undefined): string; + encodeFunctionData(functionFragment: "transferOwnership", values: [AddressLike]): string; + decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "renounceOwnership", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result; +} +export declare namespace OwnershipTransferredEvent { + type InputTuple = [previousOwner: AddressLike, newOwner: AddressLike]; + type OutputTuple = [previousOwner: string, newOwner: string]; + interface OutputObject { + previousOwner: string; + newOwner: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export interface Ownable extends BaseContract { + connect(runner?: ContractRunner | null): Ownable; + waitForDeployment(): Promise; + interface: OwnableInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + owner: TypedContractMethod<[], [string], "view">; + renounceOwnership: TypedContractMethod<[], [void], "nonpayable">; + transferOwnership: TypedContractMethod<[ + newOwner: AddressLike + ], [ + void + ], "nonpayable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "owner"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "renounceOwnership"): TypedContractMethod<[], [void], "nonpayable">; + getFunction(nameOrSignature: "transferOwnership"): TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">; + getEvent(key: "OwnershipTransferred"): TypedContractEvent; + filters: { + "OwnershipTransferred(address,address)": TypedContractEvent; + OwnershipTransferred: TypedContractEvent; + }; +} diff --git a/dist/@openzeppelin/contracts-v3/access/index.d.ts b/dist/@openzeppelin/contracts-v3/access/index.d.ts new file mode 100644 index 0000000..2a07313 --- /dev/null +++ b/dist/@openzeppelin/contracts-v3/access/index.d.ts @@ -0,0 +1 @@ +export type { Ownable } from "./Ownable"; diff --git a/dist/@openzeppelin/contracts-v3/index.d.ts b/dist/@openzeppelin/contracts-v3/index.d.ts new file mode 100644 index 0000000..05d512b --- /dev/null +++ b/dist/@openzeppelin/contracts-v3/index.d.ts @@ -0,0 +1,8 @@ +import type * as access from "./access"; +export type { access }; +import type * as proxy from "./proxy"; +export type { proxy }; +import type * as token from "./token"; +export type { token }; +import type * as utils from "./utils"; +export type { utils }; diff --git a/dist/@openzeppelin/contracts-v3/proxy/Proxy.d.ts b/dist/@openzeppelin/contracts-v3/proxy/Proxy.d.ts new file mode 100644 index 0000000..4694b0a --- /dev/null +++ b/dist/@openzeppelin/contracts-v3/proxy/Proxy.d.ts @@ -0,0 +1,20 @@ +import type { BaseContract, FunctionFragment, Interface, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener } from "../../../common"; +export interface ProxyInterface extends Interface { +} +export interface Proxy extends BaseContract { + connect(runner?: ContractRunner | null): Proxy; + waitForDeployment(): Promise; + interface: ProxyInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + getFunction(key: string | FunctionFragment): T; + filters: {}; +} diff --git a/dist/@openzeppelin/contracts-v3/proxy/TransparentUpgradeableProxy.d.ts b/dist/@openzeppelin/contracts-v3/proxy/TransparentUpgradeableProxy.d.ts new file mode 100644 index 0000000..3de9dca --- /dev/null +++ b/dist/@openzeppelin/contracts-v3/proxy/TransparentUpgradeableProxy.d.ts @@ -0,0 +1,94 @@ +import type { BaseContract, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../../common"; +export interface TransparentUpgradeableProxyInterface extends Interface { + getFunction(nameOrSignature: "admin" | "changeAdmin" | "implementation" | "upgradeTo" | "upgradeToAndCall"): FunctionFragment; + getEvent(nameOrSignatureOrTopic: "AdminChanged" | "Upgraded"): EventFragment; + encodeFunctionData(functionFragment: "admin", values?: undefined): string; + encodeFunctionData(functionFragment: "changeAdmin", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "implementation", values?: undefined): string; + encodeFunctionData(functionFragment: "upgradeTo", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "upgradeToAndCall", values: [AddressLike, BytesLike]): string; + decodeFunctionResult(functionFragment: "admin", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "changeAdmin", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "implementation", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "upgradeTo", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "upgradeToAndCall", data: BytesLike): Result; +} +export declare namespace AdminChangedEvent { + type InputTuple = [previousAdmin: AddressLike, newAdmin: AddressLike]; + type OutputTuple = [previousAdmin: string, newAdmin: string]; + interface OutputObject { + previousAdmin: string; + newAdmin: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace UpgradedEvent { + type InputTuple = [implementation: AddressLike]; + type OutputTuple = [implementation: string]; + interface OutputObject { + implementation: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export interface TransparentUpgradeableProxy extends BaseContract { + connect(runner?: ContractRunner | null): TransparentUpgradeableProxy; + waitForDeployment(): Promise; + interface: TransparentUpgradeableProxyInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + admin: TypedContractMethod<[], [string], "nonpayable">; + changeAdmin: TypedContractMethod<[ + newAdmin: AddressLike + ], [ + void + ], "nonpayable">; + implementation: TypedContractMethod<[], [string], "nonpayable">; + upgradeTo: TypedContractMethod<[ + newImplementation: AddressLike + ], [ + void + ], "nonpayable">; + upgradeToAndCall: TypedContractMethod<[ + newImplementation: AddressLike, + data: BytesLike + ], [ + void + ], "payable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "admin"): TypedContractMethod<[], [string], "nonpayable">; + getFunction(nameOrSignature: "changeAdmin"): TypedContractMethod<[newAdmin: AddressLike], [void], "nonpayable">; + getFunction(nameOrSignature: "implementation"): TypedContractMethod<[], [string], "nonpayable">; + getFunction(nameOrSignature: "upgradeTo"): TypedContractMethod<[ + newImplementation: AddressLike + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "upgradeToAndCall"): TypedContractMethod<[ + newImplementation: AddressLike, + data: BytesLike + ], [ + void + ], "payable">; + getEvent(key: "AdminChanged"): TypedContractEvent; + getEvent(key: "Upgraded"): TypedContractEvent; + filters: { + "AdminChanged(address,address)": TypedContractEvent; + AdminChanged: TypedContractEvent; + "Upgraded(address)": TypedContractEvent; + Upgraded: TypedContractEvent; + }; +} diff --git a/dist/@openzeppelin/contracts-v3/proxy/UpgradeableProxy.d.ts b/dist/@openzeppelin/contracts-v3/proxy/UpgradeableProxy.d.ts new file mode 100644 index 0000000..a6f7119 --- /dev/null +++ b/dist/@openzeppelin/contracts-v3/proxy/UpgradeableProxy.d.ts @@ -0,0 +1,36 @@ +import type { BaseContract, FunctionFragment, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener } from "../../../common"; +export interface UpgradeableProxyInterface extends Interface { + getEvent(nameOrSignatureOrTopic: "Upgraded"): EventFragment; +} +export declare namespace UpgradedEvent { + type InputTuple = [implementation: AddressLike]; + type OutputTuple = [implementation: string]; + interface OutputObject { + implementation: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export interface UpgradeableProxy extends BaseContract { + connect(runner?: ContractRunner | null): UpgradeableProxy; + waitForDeployment(): Promise; + interface: UpgradeableProxyInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + getFunction(key: string | FunctionFragment): T; + getEvent(key: "Upgraded"): TypedContractEvent; + filters: { + "Upgraded(address)": TypedContractEvent; + Upgraded: TypedContractEvent; + }; +} diff --git a/dist/@openzeppelin/contracts-v3/proxy/index.d.ts b/dist/@openzeppelin/contracts-v3/proxy/index.d.ts new file mode 100644 index 0000000..65e807a --- /dev/null +++ b/dist/@openzeppelin/contracts-v3/proxy/index.d.ts @@ -0,0 +1,3 @@ +export type { Proxy } from "./Proxy"; +export type { TransparentUpgradeableProxy } from "./TransparentUpgradeableProxy"; +export type { UpgradeableProxy } from "./UpgradeableProxy"; diff --git a/dist/@openzeppelin/contracts-v3/token/ERC20/ERC20.d.ts b/dist/@openzeppelin/contracts-v3/token/ERC20/ERC20.d.ts new file mode 100644 index 0000000..bcdb7c3 --- /dev/null +++ b/dist/@openzeppelin/contracts-v3/token/ERC20/ERC20.d.ts @@ -0,0 +1,169 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../../../common"; +export interface ERC20Interface extends Interface { + getFunction(nameOrSignature: "allowance" | "approve" | "balanceOf" | "decimals" | "decreaseAllowance" | "increaseAllowance" | "name" | "symbol" | "totalSupply" | "transfer" | "transferFrom"): FunctionFragment; + getEvent(nameOrSignatureOrTopic: "Approval" | "Transfer"): EventFragment; + encodeFunctionData(functionFragment: "allowance", values: [AddressLike, AddressLike]): string; + encodeFunctionData(functionFragment: "approve", values: [AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "balanceOf", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "decimals", values?: undefined): string; + encodeFunctionData(functionFragment: "decreaseAllowance", values: [AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "increaseAllowance", values: [AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData(functionFragment: "symbol", values?: undefined): string; + encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string; + encodeFunctionData(functionFragment: "transfer", values: [AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "transferFrom", values: [AddressLike, AddressLike, BigNumberish]): string; + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "decreaseAllowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "increaseAllowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "totalSupply", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "transferFrom", data: BytesLike): Result; +} +export declare namespace ApprovalEvent { + type InputTuple = [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish + ]; + type OutputTuple = [owner: string, spender: string, value: bigint]; + interface OutputObject { + owner: string; + spender: string; + value: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace TransferEvent { + type InputTuple = [ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ]; + type OutputTuple = [from: string, to: string, value: bigint]; + interface OutputObject { + from: string; + to: string; + value: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export interface ERC20 extends BaseContract { + connect(runner?: ContractRunner | null): ERC20; + waitForDeployment(): Promise; + interface: ERC20Interface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + allowance: TypedContractMethod<[ + owner: AddressLike, + spender: AddressLike + ], [ + bigint + ], "view">; + approve: TypedContractMethod<[ + spender: AddressLike, + amount: BigNumberish + ], [ + boolean + ], "nonpayable">; + balanceOf: TypedContractMethod<[account: AddressLike], [bigint], "view">; + decimals: TypedContractMethod<[], [bigint], "view">; + decreaseAllowance: TypedContractMethod<[ + spender: AddressLike, + subtractedValue: BigNumberish + ], [ + boolean + ], "nonpayable">; + increaseAllowance: TypedContractMethod<[ + spender: AddressLike, + addedValue: BigNumberish + ], [ + boolean + ], "nonpayable">; + name: TypedContractMethod<[], [string], "view">; + symbol: TypedContractMethod<[], [string], "view">; + totalSupply: TypedContractMethod<[], [bigint], "view">; + transfer: TypedContractMethod<[ + recipient: AddressLike, + amount: BigNumberish + ], [ + boolean + ], "nonpayable">; + transferFrom: TypedContractMethod<[ + sender: AddressLike, + recipient: AddressLike, + amount: BigNumberish + ], [ + boolean + ], "nonpayable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "allowance"): TypedContractMethod<[ + owner: AddressLike, + spender: AddressLike + ], [ + bigint + ], "view">; + getFunction(nameOrSignature: "approve"): TypedContractMethod<[ + spender: AddressLike, + amount: BigNumberish + ], [ + boolean + ], "nonpayable">; + getFunction(nameOrSignature: "balanceOf"): TypedContractMethod<[account: AddressLike], [bigint], "view">; + getFunction(nameOrSignature: "decimals"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "decreaseAllowance"): TypedContractMethod<[ + spender: AddressLike, + subtractedValue: BigNumberish + ], [ + boolean + ], "nonpayable">; + getFunction(nameOrSignature: "increaseAllowance"): TypedContractMethod<[ + spender: AddressLike, + addedValue: BigNumberish + ], [ + boolean + ], "nonpayable">; + getFunction(nameOrSignature: "name"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "symbol"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "totalSupply"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "transfer"): TypedContractMethod<[ + recipient: AddressLike, + amount: BigNumberish + ], [ + boolean + ], "nonpayable">; + getFunction(nameOrSignature: "transferFrom"): TypedContractMethod<[ + sender: AddressLike, + recipient: AddressLike, + amount: BigNumberish + ], [ + boolean + ], "nonpayable">; + getEvent(key: "Approval"): TypedContractEvent; + getEvent(key: "Transfer"): TypedContractEvent; + filters: { + "Approval(address,address,uint256)": TypedContractEvent; + Approval: TypedContractEvent; + "Transfer(address,address,uint256)": TypedContractEvent; + Transfer: TypedContractEvent; + }; +} diff --git a/dist/@openzeppelin/contracts-v3/token/ERC20/ERC20Burnable.d.ts b/dist/@openzeppelin/contracts-v3/token/ERC20/ERC20Burnable.d.ts new file mode 100644 index 0000000..423304f --- /dev/null +++ b/dist/@openzeppelin/contracts-v3/token/ERC20/ERC20Burnable.d.ts @@ -0,0 +1,187 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../../../common"; +export interface ERC20BurnableInterface extends Interface { + getFunction(nameOrSignature: "allowance" | "approve" | "balanceOf" | "burn" | "burnFrom" | "decimals" | "decreaseAllowance" | "increaseAllowance" | "name" | "symbol" | "totalSupply" | "transfer" | "transferFrom"): FunctionFragment; + getEvent(nameOrSignatureOrTopic: "Approval" | "Transfer"): EventFragment; + encodeFunctionData(functionFragment: "allowance", values: [AddressLike, AddressLike]): string; + encodeFunctionData(functionFragment: "approve", values: [AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "balanceOf", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "burn", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "burnFrom", values: [AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "decimals", values?: undefined): string; + encodeFunctionData(functionFragment: "decreaseAllowance", values: [AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "increaseAllowance", values: [AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData(functionFragment: "symbol", values?: undefined): string; + encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string; + encodeFunctionData(functionFragment: "transfer", values: [AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "transferFrom", values: [AddressLike, AddressLike, BigNumberish]): string; + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "burn", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "burnFrom", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "decreaseAllowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "increaseAllowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "totalSupply", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "transferFrom", data: BytesLike): Result; +} +export declare namespace ApprovalEvent { + type InputTuple = [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish + ]; + type OutputTuple = [owner: string, spender: string, value: bigint]; + interface OutputObject { + owner: string; + spender: string; + value: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace TransferEvent { + type InputTuple = [ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ]; + type OutputTuple = [from: string, to: string, value: bigint]; + interface OutputObject { + from: string; + to: string; + value: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export interface ERC20Burnable extends BaseContract { + connect(runner?: ContractRunner | null): ERC20Burnable; + waitForDeployment(): Promise; + interface: ERC20BurnableInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + allowance: TypedContractMethod<[ + owner: AddressLike, + spender: AddressLike + ], [ + bigint + ], "view">; + approve: TypedContractMethod<[ + spender: AddressLike, + amount: BigNumberish + ], [ + boolean + ], "nonpayable">; + balanceOf: TypedContractMethod<[account: AddressLike], [bigint], "view">; + burn: TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + burnFrom: TypedContractMethod<[ + account: AddressLike, + amount: BigNumberish + ], [ + void + ], "nonpayable">; + decimals: TypedContractMethod<[], [bigint], "view">; + decreaseAllowance: TypedContractMethod<[ + spender: AddressLike, + subtractedValue: BigNumberish + ], [ + boolean + ], "nonpayable">; + increaseAllowance: TypedContractMethod<[ + spender: AddressLike, + addedValue: BigNumberish + ], [ + boolean + ], "nonpayable">; + name: TypedContractMethod<[], [string], "view">; + symbol: TypedContractMethod<[], [string], "view">; + totalSupply: TypedContractMethod<[], [bigint], "view">; + transfer: TypedContractMethod<[ + recipient: AddressLike, + amount: BigNumberish + ], [ + boolean + ], "nonpayable">; + transferFrom: TypedContractMethod<[ + sender: AddressLike, + recipient: AddressLike, + amount: BigNumberish + ], [ + boolean + ], "nonpayable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "allowance"): TypedContractMethod<[ + owner: AddressLike, + spender: AddressLike + ], [ + bigint + ], "view">; + getFunction(nameOrSignature: "approve"): TypedContractMethod<[ + spender: AddressLike, + amount: BigNumberish + ], [ + boolean + ], "nonpayable">; + getFunction(nameOrSignature: "balanceOf"): TypedContractMethod<[account: AddressLike], [bigint], "view">; + getFunction(nameOrSignature: "burn"): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "burnFrom"): TypedContractMethod<[ + account: AddressLike, + amount: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "decimals"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "decreaseAllowance"): TypedContractMethod<[ + spender: AddressLike, + subtractedValue: BigNumberish + ], [ + boolean + ], "nonpayable">; + getFunction(nameOrSignature: "increaseAllowance"): TypedContractMethod<[ + spender: AddressLike, + addedValue: BigNumberish + ], [ + boolean + ], "nonpayable">; + getFunction(nameOrSignature: "name"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "symbol"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "totalSupply"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "transfer"): TypedContractMethod<[ + recipient: AddressLike, + amount: BigNumberish + ], [ + boolean + ], "nonpayable">; + getFunction(nameOrSignature: "transferFrom"): TypedContractMethod<[ + sender: AddressLike, + recipient: AddressLike, + amount: BigNumberish + ], [ + boolean + ], "nonpayable">; + getEvent(key: "Approval"): TypedContractEvent; + getEvent(key: "Transfer"): TypedContractEvent; + filters: { + "Approval(address,address,uint256)": TypedContractEvent; + Approval: TypedContractEvent; + "Transfer(address,address,uint256)": TypedContractEvent; + Transfer: TypedContractEvent; + }; +} diff --git a/dist/@openzeppelin/contracts-v3/token/ERC20/IERC20.d.ts b/dist/@openzeppelin/contracts-v3/token/ERC20/IERC20.d.ts new file mode 100644 index 0000000..879a785 --- /dev/null +++ b/dist/@openzeppelin/contracts-v3/token/ERC20/IERC20.d.ts @@ -0,0 +1,129 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../../../common"; +export interface IERC20Interface extends Interface { + getFunction(nameOrSignature: "allowance" | "approve" | "balanceOf" | "totalSupply" | "transfer" | "transferFrom"): FunctionFragment; + getEvent(nameOrSignatureOrTopic: "Approval" | "Transfer"): EventFragment; + encodeFunctionData(functionFragment: "allowance", values: [AddressLike, AddressLike]): string; + encodeFunctionData(functionFragment: "approve", values: [AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "balanceOf", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string; + encodeFunctionData(functionFragment: "transfer", values: [AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "transferFrom", values: [AddressLike, AddressLike, BigNumberish]): string; + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "totalSupply", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "transferFrom", data: BytesLike): Result; +} +export declare namespace ApprovalEvent { + type InputTuple = [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish + ]; + type OutputTuple = [owner: string, spender: string, value: bigint]; + interface OutputObject { + owner: string; + spender: string; + value: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace TransferEvent { + type InputTuple = [ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ]; + type OutputTuple = [from: string, to: string, value: bigint]; + interface OutputObject { + from: string; + to: string; + value: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export interface IERC20 extends BaseContract { + connect(runner?: ContractRunner | null): IERC20; + waitForDeployment(): Promise; + interface: IERC20Interface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + allowance: TypedContractMethod<[ + owner: AddressLike, + spender: AddressLike + ], [ + bigint + ], "view">; + approve: TypedContractMethod<[ + spender: AddressLike, + amount: BigNumberish + ], [ + boolean + ], "nonpayable">; + balanceOf: TypedContractMethod<[account: AddressLike], [bigint], "view">; + totalSupply: TypedContractMethod<[], [bigint], "view">; + transfer: TypedContractMethod<[ + recipient: AddressLike, + amount: BigNumberish + ], [ + boolean + ], "nonpayable">; + transferFrom: TypedContractMethod<[ + sender: AddressLike, + recipient: AddressLike, + amount: BigNumberish + ], [ + boolean + ], "nonpayable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "allowance"): TypedContractMethod<[ + owner: AddressLike, + spender: AddressLike + ], [ + bigint + ], "view">; + getFunction(nameOrSignature: "approve"): TypedContractMethod<[ + spender: AddressLike, + amount: BigNumberish + ], [ + boolean + ], "nonpayable">; + getFunction(nameOrSignature: "balanceOf"): TypedContractMethod<[account: AddressLike], [bigint], "view">; + getFunction(nameOrSignature: "totalSupply"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "transfer"): TypedContractMethod<[ + recipient: AddressLike, + amount: BigNumberish + ], [ + boolean + ], "nonpayable">; + getFunction(nameOrSignature: "transferFrom"): TypedContractMethod<[ + sender: AddressLike, + recipient: AddressLike, + amount: BigNumberish + ], [ + boolean + ], "nonpayable">; + getEvent(key: "Approval"): TypedContractEvent; + getEvent(key: "Transfer"): TypedContractEvent; + filters: { + "Approval(address,address,uint256)": TypedContractEvent; + Approval: TypedContractEvent; + "Transfer(address,address,uint256)": TypedContractEvent; + Transfer: TypedContractEvent; + }; +} diff --git a/dist/@openzeppelin/contracts-v3/token/ERC20/index.d.ts b/dist/@openzeppelin/contracts-v3/token/ERC20/index.d.ts new file mode 100644 index 0000000..2e1d5e7 --- /dev/null +++ b/dist/@openzeppelin/contracts-v3/token/ERC20/index.d.ts @@ -0,0 +1,3 @@ +export type { ERC20 } from "./ERC20"; +export type { ERC20Burnable } from "./ERC20Burnable"; +export type { IERC20 } from "./IERC20"; diff --git a/dist/@openzeppelin/contracts-v3/token/index.d.ts b/dist/@openzeppelin/contracts-v3/token/index.d.ts new file mode 100644 index 0000000..9bd00e3 --- /dev/null +++ b/dist/@openzeppelin/contracts-v3/token/index.d.ts @@ -0,0 +1,2 @@ +import type * as erc20 from "./ERC20"; +export type { erc20 }; diff --git a/dist/@openzeppelin/contracts-v3/utils/Pausable.d.ts b/dist/@openzeppelin/contracts-v3/utils/Pausable.d.ts new file mode 100644 index 0000000..a5a7c06 --- /dev/null +++ b/dist/@openzeppelin/contracts-v3/utils/Pausable.d.ts @@ -0,0 +1,55 @@ +import type { BaseContract, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../../common"; +export interface PausableInterface extends Interface { + getFunction(nameOrSignature: "paused"): FunctionFragment; + getEvent(nameOrSignatureOrTopic: "Paused" | "Unpaused"): EventFragment; + encodeFunctionData(functionFragment: "paused", values?: undefined): string; + decodeFunctionResult(functionFragment: "paused", data: BytesLike): Result; +} +export declare namespace PausedEvent { + type InputTuple = [account: AddressLike]; + type OutputTuple = [account: string]; + interface OutputObject { + account: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace UnpausedEvent { + type InputTuple = [account: AddressLike]; + type OutputTuple = [account: string]; + interface OutputObject { + account: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export interface Pausable extends BaseContract { + connect(runner?: ContractRunner | null): Pausable; + waitForDeployment(): Promise; + interface: PausableInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + paused: TypedContractMethod<[], [boolean], "view">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "paused"): TypedContractMethod<[], [boolean], "view">; + getEvent(key: "Paused"): TypedContractEvent; + getEvent(key: "Unpaused"): TypedContractEvent; + filters: { + "Paused(address)": TypedContractEvent; + Paused: TypedContractEvent; + "Unpaused(address)": TypedContractEvent; + Unpaused: TypedContractEvent; + }; +} diff --git a/dist/@openzeppelin/contracts-v3/utils/index.d.ts b/dist/@openzeppelin/contracts-v3/utils/index.d.ts new file mode 100644 index 0000000..c096915 --- /dev/null +++ b/dist/@openzeppelin/contracts-v3/utils/index.d.ts @@ -0,0 +1 @@ +export type { Pausable } from "./Pausable"; diff --git a/dist/@openzeppelin/contracts/index.d.ts b/dist/@openzeppelin/contracts/index.d.ts new file mode 100644 index 0000000..19dd07a --- /dev/null +++ b/dist/@openzeppelin/contracts/index.d.ts @@ -0,0 +1,4 @@ +import type * as interfaces from "./interfaces"; +export type { interfaces }; +import type * as token from "./token"; +export type { token }; diff --git a/dist/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors.d.ts b/dist/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors.d.ts new file mode 100644 index 0000000..0190cc5 --- /dev/null +++ b/dist/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors.d.ts @@ -0,0 +1,20 @@ +import type { BaseContract, FunctionFragment, Interface, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener } from "../../../../common"; +export interface IERC1155ErrorsInterface extends Interface { +} +export interface IERC1155Errors extends BaseContract { + connect(runner?: ContractRunner | null): IERC1155Errors; + waitForDeployment(): Promise; + interface: IERC1155ErrorsInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + getFunction(key: string | FunctionFragment): T; + filters: {}; +} diff --git a/dist/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC20Errors.d.ts b/dist/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC20Errors.d.ts new file mode 100644 index 0000000..2e4efb5 --- /dev/null +++ b/dist/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC20Errors.d.ts @@ -0,0 +1,20 @@ +import type { BaseContract, FunctionFragment, Interface, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener } from "../../../../common"; +export interface IERC20ErrorsInterface extends Interface { +} +export interface IERC20Errors extends BaseContract { + connect(runner?: ContractRunner | null): IERC20Errors; + waitForDeployment(): Promise; + interface: IERC20ErrorsInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + getFunction(key: string | FunctionFragment): T; + filters: {}; +} diff --git a/dist/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC721Errors.d.ts b/dist/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC721Errors.d.ts new file mode 100644 index 0000000..032bfaf --- /dev/null +++ b/dist/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC721Errors.d.ts @@ -0,0 +1,20 @@ +import type { BaseContract, FunctionFragment, Interface, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener } from "../../../../common"; +export interface IERC721ErrorsInterface extends Interface { +} +export interface IERC721Errors extends BaseContract { + connect(runner?: ContractRunner | null): IERC721Errors; + waitForDeployment(): Promise; + interface: IERC721ErrorsInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + getFunction(key: string | FunctionFragment): T; + filters: {}; +} diff --git a/dist/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/index.d.ts b/dist/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/index.d.ts new file mode 100644 index 0000000..7f743bb --- /dev/null +++ b/dist/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/index.d.ts @@ -0,0 +1,3 @@ +export type { IERC1155Errors } from "./IERC1155Errors"; +export type { IERC20Errors } from "./IERC20Errors"; +export type { IERC721Errors } from "./IERC721Errors"; diff --git a/dist/@openzeppelin/contracts/interfaces/index.d.ts b/dist/@openzeppelin/contracts/interfaces/index.d.ts new file mode 100644 index 0000000..f16001f --- /dev/null +++ b/dist/@openzeppelin/contracts/interfaces/index.d.ts @@ -0,0 +1,2 @@ +import type * as draftIerc6093Sol from "./draft-IERC6093.sol"; +export type { draftIerc6093Sol }; diff --git a/dist/@openzeppelin/contracts/token/ERC20/ERC20.d.ts b/dist/@openzeppelin/contracts/token/ERC20/ERC20.d.ts new file mode 100644 index 0000000..59fea74 --- /dev/null +++ b/dist/@openzeppelin/contracts/token/ERC20/ERC20.d.ts @@ -0,0 +1,141 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../../../common"; +export interface ERC20Interface extends Interface { + getFunction(nameOrSignature: "allowance" | "approve" | "balanceOf" | "decimals" | "name" | "symbol" | "totalSupply" | "transfer" | "transferFrom"): FunctionFragment; + getEvent(nameOrSignatureOrTopic: "Approval" | "Transfer"): EventFragment; + encodeFunctionData(functionFragment: "allowance", values: [AddressLike, AddressLike]): string; + encodeFunctionData(functionFragment: "approve", values: [AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "balanceOf", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "decimals", values?: undefined): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData(functionFragment: "symbol", values?: undefined): string; + encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string; + encodeFunctionData(functionFragment: "transfer", values: [AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "transferFrom", values: [AddressLike, AddressLike, BigNumberish]): string; + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "totalSupply", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "transferFrom", data: BytesLike): Result; +} +export declare namespace ApprovalEvent { + type InputTuple = [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish + ]; + type OutputTuple = [owner: string, spender: string, value: bigint]; + interface OutputObject { + owner: string; + spender: string; + value: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace TransferEvent { + type InputTuple = [ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ]; + type OutputTuple = [from: string, to: string, value: bigint]; + interface OutputObject { + from: string; + to: string; + value: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export interface ERC20 extends BaseContract { + connect(runner?: ContractRunner | null): ERC20; + waitForDeployment(): Promise; + interface: ERC20Interface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + allowance: TypedContractMethod<[ + owner: AddressLike, + spender: AddressLike + ], [ + bigint + ], "view">; + approve: TypedContractMethod<[ + spender: AddressLike, + value: BigNumberish + ], [ + boolean + ], "nonpayable">; + balanceOf: TypedContractMethod<[account: AddressLike], [bigint], "view">; + decimals: TypedContractMethod<[], [bigint], "view">; + name: TypedContractMethod<[], [string], "view">; + symbol: TypedContractMethod<[], [string], "view">; + totalSupply: TypedContractMethod<[], [bigint], "view">; + transfer: TypedContractMethod<[ + to: AddressLike, + value: BigNumberish + ], [ + boolean + ], "nonpayable">; + transferFrom: TypedContractMethod<[ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ], [ + boolean + ], "nonpayable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "allowance"): TypedContractMethod<[ + owner: AddressLike, + spender: AddressLike + ], [ + bigint + ], "view">; + getFunction(nameOrSignature: "approve"): TypedContractMethod<[ + spender: AddressLike, + value: BigNumberish + ], [ + boolean + ], "nonpayable">; + getFunction(nameOrSignature: "balanceOf"): TypedContractMethod<[account: AddressLike], [bigint], "view">; + getFunction(nameOrSignature: "decimals"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "name"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "symbol"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "totalSupply"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "transfer"): TypedContractMethod<[ + to: AddressLike, + value: BigNumberish + ], [ + boolean + ], "nonpayable">; + getFunction(nameOrSignature: "transferFrom"): TypedContractMethod<[ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ], [ + boolean + ], "nonpayable">; + getEvent(key: "Approval"): TypedContractEvent; + getEvent(key: "Transfer"): TypedContractEvent; + filters: { + "Approval(address,address,uint256)": TypedContractEvent; + Approval: TypedContractEvent; + "Transfer(address,address,uint256)": TypedContractEvent; + Transfer: TypedContractEvent; + }; +} diff --git a/dist/@openzeppelin/contracts/token/ERC20/IERC20.d.ts b/dist/@openzeppelin/contracts/token/ERC20/IERC20.d.ts new file mode 100644 index 0000000..23bbad2 --- /dev/null +++ b/dist/@openzeppelin/contracts/token/ERC20/IERC20.d.ts @@ -0,0 +1,129 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../../../common"; +export interface IERC20Interface extends Interface { + getFunction(nameOrSignature: "allowance" | "approve" | "balanceOf" | "totalSupply" | "transfer" | "transferFrom"): FunctionFragment; + getEvent(nameOrSignatureOrTopic: "Approval" | "Transfer"): EventFragment; + encodeFunctionData(functionFragment: "allowance", values: [AddressLike, AddressLike]): string; + encodeFunctionData(functionFragment: "approve", values: [AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "balanceOf", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string; + encodeFunctionData(functionFragment: "transfer", values: [AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "transferFrom", values: [AddressLike, AddressLike, BigNumberish]): string; + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "totalSupply", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "transferFrom", data: BytesLike): Result; +} +export declare namespace ApprovalEvent { + type InputTuple = [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish + ]; + type OutputTuple = [owner: string, spender: string, value: bigint]; + interface OutputObject { + owner: string; + spender: string; + value: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace TransferEvent { + type InputTuple = [ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ]; + type OutputTuple = [from: string, to: string, value: bigint]; + interface OutputObject { + from: string; + to: string; + value: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export interface IERC20 extends BaseContract { + connect(runner?: ContractRunner | null): IERC20; + waitForDeployment(): Promise; + interface: IERC20Interface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + allowance: TypedContractMethod<[ + owner: AddressLike, + spender: AddressLike + ], [ + bigint + ], "view">; + approve: TypedContractMethod<[ + spender: AddressLike, + value: BigNumberish + ], [ + boolean + ], "nonpayable">; + balanceOf: TypedContractMethod<[account: AddressLike], [bigint], "view">; + totalSupply: TypedContractMethod<[], [bigint], "view">; + transfer: TypedContractMethod<[ + to: AddressLike, + value: BigNumberish + ], [ + boolean + ], "nonpayable">; + transferFrom: TypedContractMethod<[ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ], [ + boolean + ], "nonpayable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "allowance"): TypedContractMethod<[ + owner: AddressLike, + spender: AddressLike + ], [ + bigint + ], "view">; + getFunction(nameOrSignature: "approve"): TypedContractMethod<[ + spender: AddressLike, + value: BigNumberish + ], [ + boolean + ], "nonpayable">; + getFunction(nameOrSignature: "balanceOf"): TypedContractMethod<[account: AddressLike], [bigint], "view">; + getFunction(nameOrSignature: "totalSupply"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "transfer"): TypedContractMethod<[ + to: AddressLike, + value: BigNumberish + ], [ + boolean + ], "nonpayable">; + getFunction(nameOrSignature: "transferFrom"): TypedContractMethod<[ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ], [ + boolean + ], "nonpayable">; + getEvent(key: "Approval"): TypedContractEvent; + getEvent(key: "Transfer"): TypedContractEvent; + filters: { + "Approval(address,address,uint256)": TypedContractEvent; + Approval: TypedContractEvent; + "Transfer(address,address,uint256)": TypedContractEvent; + Transfer: TypedContractEvent; + }; +} diff --git a/dist/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.d.ts b/dist/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.d.ts new file mode 100644 index 0000000..b1c30b2 --- /dev/null +++ b/dist/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.d.ts @@ -0,0 +1,141 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../../../../common"; +export interface IERC20MetadataInterface extends Interface { + getFunction(nameOrSignature: "allowance" | "approve" | "balanceOf" | "decimals" | "name" | "symbol" | "totalSupply" | "transfer" | "transferFrom"): FunctionFragment; + getEvent(nameOrSignatureOrTopic: "Approval" | "Transfer"): EventFragment; + encodeFunctionData(functionFragment: "allowance", values: [AddressLike, AddressLike]): string; + encodeFunctionData(functionFragment: "approve", values: [AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "balanceOf", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "decimals", values?: undefined): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData(functionFragment: "symbol", values?: undefined): string; + encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string; + encodeFunctionData(functionFragment: "transfer", values: [AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "transferFrom", values: [AddressLike, AddressLike, BigNumberish]): string; + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "totalSupply", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "transferFrom", data: BytesLike): Result; +} +export declare namespace ApprovalEvent { + type InputTuple = [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish + ]; + type OutputTuple = [owner: string, spender: string, value: bigint]; + interface OutputObject { + owner: string; + spender: string; + value: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace TransferEvent { + type InputTuple = [ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ]; + type OutputTuple = [from: string, to: string, value: bigint]; + interface OutputObject { + from: string; + to: string; + value: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export interface IERC20Metadata extends BaseContract { + connect(runner?: ContractRunner | null): IERC20Metadata; + waitForDeployment(): Promise; + interface: IERC20MetadataInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + allowance: TypedContractMethod<[ + owner: AddressLike, + spender: AddressLike + ], [ + bigint + ], "view">; + approve: TypedContractMethod<[ + spender: AddressLike, + value: BigNumberish + ], [ + boolean + ], "nonpayable">; + balanceOf: TypedContractMethod<[account: AddressLike], [bigint], "view">; + decimals: TypedContractMethod<[], [bigint], "view">; + name: TypedContractMethod<[], [string], "view">; + symbol: TypedContractMethod<[], [string], "view">; + totalSupply: TypedContractMethod<[], [bigint], "view">; + transfer: TypedContractMethod<[ + to: AddressLike, + value: BigNumberish + ], [ + boolean + ], "nonpayable">; + transferFrom: TypedContractMethod<[ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ], [ + boolean + ], "nonpayable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "allowance"): TypedContractMethod<[ + owner: AddressLike, + spender: AddressLike + ], [ + bigint + ], "view">; + getFunction(nameOrSignature: "approve"): TypedContractMethod<[ + spender: AddressLike, + value: BigNumberish + ], [ + boolean + ], "nonpayable">; + getFunction(nameOrSignature: "balanceOf"): TypedContractMethod<[account: AddressLike], [bigint], "view">; + getFunction(nameOrSignature: "decimals"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "name"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "symbol"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "totalSupply"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "transfer"): TypedContractMethod<[ + to: AddressLike, + value: BigNumberish + ], [ + boolean + ], "nonpayable">; + getFunction(nameOrSignature: "transferFrom"): TypedContractMethod<[ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ], [ + boolean + ], "nonpayable">; + getEvent(key: "Approval"): TypedContractEvent; + getEvent(key: "Transfer"): TypedContractEvent; + filters: { + "Approval(address,address,uint256)": TypedContractEvent; + Approval: TypedContractEvent; + "Transfer(address,address,uint256)": TypedContractEvent; + Transfer: TypedContractEvent; + }; +} diff --git a/dist/@openzeppelin/contracts/token/ERC20/extensions/index.d.ts b/dist/@openzeppelin/contracts/token/ERC20/extensions/index.d.ts new file mode 100644 index 0000000..8fad1d9 --- /dev/null +++ b/dist/@openzeppelin/contracts/token/ERC20/extensions/index.d.ts @@ -0,0 +1 @@ +export type { IERC20Metadata } from "./IERC20Metadata"; diff --git a/dist/@openzeppelin/contracts/token/ERC20/index.d.ts b/dist/@openzeppelin/contracts/token/ERC20/index.d.ts new file mode 100644 index 0000000..20347cd --- /dev/null +++ b/dist/@openzeppelin/contracts/token/ERC20/index.d.ts @@ -0,0 +1,4 @@ +import type * as extensions from "./extensions"; +export type { extensions }; +export type { ERC20 } from "./ERC20"; +export type { IERC20 } from "./IERC20"; diff --git a/dist/@openzeppelin/contracts/token/index.d.ts b/dist/@openzeppelin/contracts/token/index.d.ts new file mode 100644 index 0000000..9bd00e3 --- /dev/null +++ b/dist/@openzeppelin/contracts/token/index.d.ts @@ -0,0 +1,2 @@ +import type * as erc20 from "./ERC20"; +export type { erc20 }; diff --git a/dist/@openzeppelin/index.d.ts b/dist/@openzeppelin/index.d.ts new file mode 100644 index 0000000..1efb6b1 --- /dev/null +++ b/dist/@openzeppelin/index.d.ts @@ -0,0 +1,4 @@ +import type * as contracts from "./contracts"; +export type { contracts }; +import type * as contractsV3 from "./contracts-v3"; +export type { contractsV3 }; diff --git a/dist/common.d.ts b/dist/common.d.ts new file mode 100644 index 0000000..d6c302a --- /dev/null +++ b/dist/common.d.ts @@ -0,0 +1,50 @@ +import type { FunctionFragment, Typed, EventFragment, ContractTransaction, ContractTransactionResponse, DeferredTopicFilter, EventLog, TransactionRequest, LogDescription } from "ethers"; +export interface TypedDeferredTopicFilter<_TCEvent extends TypedContractEvent> extends DeferredTopicFilter { +} +export interface TypedContractEvent = any, OutputTuple extends Array = any, OutputObject = any> { + (...args: Partial): TypedDeferredTopicFilter>; + name: string; + fragment: EventFragment; + getFragment(...args: Partial): EventFragment; +} +type __TypechainAOutputTuple = T extends TypedContractEvent ? W : never; +type __TypechainOutputObject = T extends TypedContractEvent ? V : never; +export interface TypedEventLog extends Omit { + args: __TypechainAOutputTuple & __TypechainOutputObject; +} +export interface TypedLogDescription extends Omit { + args: __TypechainAOutputTuple & __TypechainOutputObject; +} +export type TypedListener = (...listenerArg: [ + ...__TypechainAOutputTuple, + TypedEventLog, + ...undefined[] +]) => void; +export type MinEthersFactory = { + deploy(...a: ARGS[]): Promise; +}; +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; +export type PayableOverrides = Omit; +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, S extends StateMutability> = PostfixOverrides<{ + [I in keyof A]-?: A[I] | Typed; +}, S>; +export type DefaultReturnType = R extends Array ? R[0] : R; +export interface TypedContractMethod = 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; +} +export {}; diff --git a/dist/contracts/Classic/CTornado.d.ts b/dist/contracts/Classic/CTornado.d.ts new file mode 100644 index 0000000..caaa305 --- /dev/null +++ b/dist/contracts/Classic/CTornado.d.ts @@ -0,0 +1,218 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../common"; +export interface CTornadoInterface extends Interface { + getFunction(nameOrSignature: "FIELD_SIZE" | "ROOT_HISTORY_SIZE" | "ZERO_VALUE" | "claimComp" | "commitments" | "comp" | "currentRootIndex" | "denomination" | "deposit" | "filledSubtrees" | "getLastRoot" | "governance" | "hashLeftRight" | "hasher" | "isKnownRoot" | "isSpent" | "isSpentArray" | "levels" | "nextIndex" | "nullifierHashes" | "roots" | "token" | "verifier" | "withdraw" | "zeros"): FunctionFragment; + getEvent(nameOrSignatureOrTopic: "Deposit" | "Withdrawal"): EventFragment; + encodeFunctionData(functionFragment: "FIELD_SIZE", values?: undefined): string; + encodeFunctionData(functionFragment: "ROOT_HISTORY_SIZE", values?: undefined): string; + encodeFunctionData(functionFragment: "ZERO_VALUE", values?: undefined): string; + encodeFunctionData(functionFragment: "claimComp", values?: undefined): string; + encodeFunctionData(functionFragment: "commitments", values: [BytesLike]): string; + encodeFunctionData(functionFragment: "comp", values?: undefined): string; + encodeFunctionData(functionFragment: "currentRootIndex", values?: undefined): string; + encodeFunctionData(functionFragment: "denomination", values?: undefined): string; + encodeFunctionData(functionFragment: "deposit", values: [BytesLike]): string; + encodeFunctionData(functionFragment: "filledSubtrees", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "getLastRoot", values?: undefined): string; + encodeFunctionData(functionFragment: "governance", values?: undefined): string; + encodeFunctionData(functionFragment: "hashLeftRight", values: [AddressLike, BytesLike, BytesLike]): string; + encodeFunctionData(functionFragment: "hasher", values?: undefined): string; + encodeFunctionData(functionFragment: "isKnownRoot", values: [BytesLike]): string; + encodeFunctionData(functionFragment: "isSpent", values: [BytesLike]): string; + encodeFunctionData(functionFragment: "isSpentArray", values: [BytesLike[]]): string; + encodeFunctionData(functionFragment: "levels", values?: undefined): string; + encodeFunctionData(functionFragment: "nextIndex", values?: undefined): string; + encodeFunctionData(functionFragment: "nullifierHashes", values: [BytesLike]): string; + encodeFunctionData(functionFragment: "roots", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "token", values?: undefined): string; + encodeFunctionData(functionFragment: "verifier", values?: undefined): string; + encodeFunctionData(functionFragment: "withdraw", values: [ + BytesLike, + BytesLike, + BytesLike, + AddressLike, + AddressLike, + BigNumberish, + BigNumberish + ]): string; + encodeFunctionData(functionFragment: "zeros", values: [BigNumberish]): string; + decodeFunctionResult(functionFragment: "FIELD_SIZE", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "ROOT_HISTORY_SIZE", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "ZERO_VALUE", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "claimComp", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "commitments", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "comp", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "currentRootIndex", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "denomination", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "filledSubtrees", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "getLastRoot", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "governance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "hashLeftRight", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "hasher", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "isKnownRoot", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "isSpent", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "isSpentArray", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "levels", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "nextIndex", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "nullifierHashes", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "roots", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "token", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "verifier", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "zeros", data: BytesLike): Result; +} +export declare namespace DepositEvent { + type InputTuple = [ + commitment: BytesLike, + leafIndex: BigNumberish, + timestamp: BigNumberish + ]; + type OutputTuple = [ + commitment: string, + leafIndex: bigint, + timestamp: bigint + ]; + interface OutputObject { + commitment: string; + leafIndex: bigint; + timestamp: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace WithdrawalEvent { + type InputTuple = [ + to: AddressLike, + nullifierHash: BytesLike, + relayer: AddressLike, + fee: BigNumberish + ]; + type OutputTuple = [ + to: string, + nullifierHash: string, + relayer: string, + fee: bigint + ]; + interface OutputObject { + to: string; + nullifierHash: string; + relayer: string; + fee: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export interface CTornado extends BaseContract { + connect(runner?: ContractRunner | null): CTornado; + waitForDeployment(): Promise; + interface: CTornadoInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + FIELD_SIZE: TypedContractMethod<[], [bigint], "view">; + ROOT_HISTORY_SIZE: TypedContractMethod<[], [bigint], "view">; + ZERO_VALUE: TypedContractMethod<[], [bigint], "view">; + claimComp: TypedContractMethod<[], [void], "nonpayable">; + commitments: TypedContractMethod<[arg0: BytesLike], [boolean], "view">; + comp: TypedContractMethod<[], [string], "view">; + currentRootIndex: TypedContractMethod<[], [bigint], "view">; + denomination: TypedContractMethod<[], [bigint], "view">; + deposit: TypedContractMethod<[_commitment: BytesLike], [void], "payable">; + filledSubtrees: TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getLastRoot: TypedContractMethod<[], [string], "view">; + governance: TypedContractMethod<[], [string], "view">; + hashLeftRight: TypedContractMethod<[ + _hasher: AddressLike, + _left: BytesLike, + _right: BytesLike + ], [ + string + ], "view">; + hasher: TypedContractMethod<[], [string], "view">; + isKnownRoot: TypedContractMethod<[_root: BytesLike], [boolean], "view">; + isSpent: TypedContractMethod<[_nullifierHash: BytesLike], [boolean], "view">; + isSpentArray: TypedContractMethod<[ + _nullifierHashes: BytesLike[] + ], [ + boolean[] + ], "view">; + levels: TypedContractMethod<[], [bigint], "view">; + nextIndex: TypedContractMethod<[], [bigint], "view">; + nullifierHashes: TypedContractMethod<[arg0: BytesLike], [boolean], "view">; + roots: TypedContractMethod<[arg0: BigNumberish], [string], "view">; + token: TypedContractMethod<[], [string], "view">; + verifier: TypedContractMethod<[], [string], "view">; + withdraw: TypedContractMethod<[ + _proof: BytesLike, + _root: BytesLike, + _nullifierHash: BytesLike, + _recipient: AddressLike, + _relayer: AddressLike, + _fee: BigNumberish, + _refund: BigNumberish + ], [ + void + ], "payable">; + zeros: TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "FIELD_SIZE"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "ROOT_HISTORY_SIZE"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "ZERO_VALUE"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "claimComp"): TypedContractMethod<[], [void], "nonpayable">; + getFunction(nameOrSignature: "commitments"): TypedContractMethod<[arg0: BytesLike], [boolean], "view">; + getFunction(nameOrSignature: "comp"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "currentRootIndex"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "denomination"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "deposit"): TypedContractMethod<[_commitment: BytesLike], [void], "payable">; + getFunction(nameOrSignature: "filledSubtrees"): TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getFunction(nameOrSignature: "getLastRoot"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "governance"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "hashLeftRight"): TypedContractMethod<[ + _hasher: AddressLike, + _left: BytesLike, + _right: BytesLike + ], [ + string + ], "view">; + getFunction(nameOrSignature: "hasher"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "isKnownRoot"): TypedContractMethod<[_root: BytesLike], [boolean], "view">; + getFunction(nameOrSignature: "isSpent"): TypedContractMethod<[_nullifierHash: BytesLike], [boolean], "view">; + getFunction(nameOrSignature: "isSpentArray"): TypedContractMethod<[_nullifierHashes: BytesLike[]], [boolean[]], "view">; + getFunction(nameOrSignature: "levels"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "nextIndex"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "nullifierHashes"): TypedContractMethod<[arg0: BytesLike], [boolean], "view">; + getFunction(nameOrSignature: "roots"): TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getFunction(nameOrSignature: "token"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "verifier"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "withdraw"): TypedContractMethod<[ + _proof: BytesLike, + _root: BytesLike, + _nullifierHash: BytesLike, + _recipient: AddressLike, + _relayer: AddressLike, + _fee: BigNumberish, + _refund: BigNumberish + ], [ + void + ], "payable">; + getFunction(nameOrSignature: "zeros"): TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getEvent(key: "Deposit"): TypedContractEvent; + getEvent(key: "Withdrawal"): TypedContractEvent; + filters: { + "Deposit(bytes32,uint32,uint256)": TypedContractEvent; + Deposit: TypedContractEvent; + "Withdrawal(address,bytes32,address,uint256)": TypedContractEvent; + Withdrawal: TypedContractEvent; + }; +} diff --git a/dist/contracts/Classic/ERC20Tornado.d.ts b/dist/contracts/Classic/ERC20Tornado.d.ts new file mode 100644 index 0000000..0242e4d --- /dev/null +++ b/dist/contracts/Classic/ERC20Tornado.d.ts @@ -0,0 +1,206 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../common"; +export interface ERC20TornadoInterface extends Interface { + getFunction(nameOrSignature: "FIELD_SIZE" | "ROOT_HISTORY_SIZE" | "ZERO_VALUE" | "commitments" | "currentRootIndex" | "denomination" | "deposit" | "filledSubtrees" | "getLastRoot" | "hashLeftRight" | "hasher" | "isKnownRoot" | "isSpent" | "isSpentArray" | "levels" | "nextIndex" | "nullifierHashes" | "roots" | "token" | "verifier" | "withdraw" | "zeros"): FunctionFragment; + getEvent(nameOrSignatureOrTopic: "Deposit" | "Withdrawal"): EventFragment; + encodeFunctionData(functionFragment: "FIELD_SIZE", values?: undefined): string; + encodeFunctionData(functionFragment: "ROOT_HISTORY_SIZE", values?: undefined): string; + encodeFunctionData(functionFragment: "ZERO_VALUE", values?: undefined): string; + encodeFunctionData(functionFragment: "commitments", values: [BytesLike]): string; + encodeFunctionData(functionFragment: "currentRootIndex", values?: undefined): string; + encodeFunctionData(functionFragment: "denomination", values?: undefined): string; + encodeFunctionData(functionFragment: "deposit", values: [BytesLike]): string; + encodeFunctionData(functionFragment: "filledSubtrees", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "getLastRoot", values?: undefined): string; + encodeFunctionData(functionFragment: "hashLeftRight", values: [AddressLike, BytesLike, BytesLike]): string; + encodeFunctionData(functionFragment: "hasher", values?: undefined): string; + encodeFunctionData(functionFragment: "isKnownRoot", values: [BytesLike]): string; + encodeFunctionData(functionFragment: "isSpent", values: [BytesLike]): string; + encodeFunctionData(functionFragment: "isSpentArray", values: [BytesLike[]]): string; + encodeFunctionData(functionFragment: "levels", values?: undefined): string; + encodeFunctionData(functionFragment: "nextIndex", values?: undefined): string; + encodeFunctionData(functionFragment: "nullifierHashes", values: [BytesLike]): string; + encodeFunctionData(functionFragment: "roots", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "token", values?: undefined): string; + encodeFunctionData(functionFragment: "verifier", values?: undefined): string; + encodeFunctionData(functionFragment: "withdraw", values: [ + BytesLike, + BytesLike, + BytesLike, + AddressLike, + AddressLike, + BigNumberish, + BigNumberish + ]): string; + encodeFunctionData(functionFragment: "zeros", values: [BigNumberish]): string; + decodeFunctionResult(functionFragment: "FIELD_SIZE", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "ROOT_HISTORY_SIZE", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "ZERO_VALUE", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "commitments", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "currentRootIndex", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "denomination", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "filledSubtrees", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "getLastRoot", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "hashLeftRight", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "hasher", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "isKnownRoot", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "isSpent", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "isSpentArray", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "levels", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "nextIndex", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "nullifierHashes", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "roots", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "token", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "verifier", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "zeros", data: BytesLike): Result; +} +export declare namespace DepositEvent { + type InputTuple = [ + commitment: BytesLike, + leafIndex: BigNumberish, + timestamp: BigNumberish + ]; + type OutputTuple = [ + commitment: string, + leafIndex: bigint, + timestamp: bigint + ]; + interface OutputObject { + commitment: string; + leafIndex: bigint; + timestamp: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace WithdrawalEvent { + type InputTuple = [ + to: AddressLike, + nullifierHash: BytesLike, + relayer: AddressLike, + fee: BigNumberish + ]; + type OutputTuple = [ + to: string, + nullifierHash: string, + relayer: string, + fee: bigint + ]; + interface OutputObject { + to: string; + nullifierHash: string; + relayer: string; + fee: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export interface ERC20Tornado extends BaseContract { + connect(runner?: ContractRunner | null): ERC20Tornado; + waitForDeployment(): Promise; + interface: ERC20TornadoInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + FIELD_SIZE: TypedContractMethod<[], [bigint], "view">; + ROOT_HISTORY_SIZE: TypedContractMethod<[], [bigint], "view">; + ZERO_VALUE: TypedContractMethod<[], [bigint], "view">; + commitments: TypedContractMethod<[arg0: BytesLike], [boolean], "view">; + currentRootIndex: TypedContractMethod<[], [bigint], "view">; + denomination: TypedContractMethod<[], [bigint], "view">; + deposit: TypedContractMethod<[_commitment: BytesLike], [void], "payable">; + filledSubtrees: TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getLastRoot: TypedContractMethod<[], [string], "view">; + hashLeftRight: TypedContractMethod<[ + _hasher: AddressLike, + _left: BytesLike, + _right: BytesLike + ], [ + string + ], "view">; + hasher: TypedContractMethod<[], [string], "view">; + isKnownRoot: TypedContractMethod<[_root: BytesLike], [boolean], "view">; + isSpent: TypedContractMethod<[_nullifierHash: BytesLike], [boolean], "view">; + isSpentArray: TypedContractMethod<[ + _nullifierHashes: BytesLike[] + ], [ + boolean[] + ], "view">; + levels: TypedContractMethod<[], [bigint], "view">; + nextIndex: TypedContractMethod<[], [bigint], "view">; + nullifierHashes: TypedContractMethod<[arg0: BytesLike], [boolean], "view">; + roots: TypedContractMethod<[arg0: BigNumberish], [string], "view">; + token: TypedContractMethod<[], [string], "view">; + verifier: TypedContractMethod<[], [string], "view">; + withdraw: TypedContractMethod<[ + _proof: BytesLike, + _root: BytesLike, + _nullifierHash: BytesLike, + _recipient: AddressLike, + _relayer: AddressLike, + _fee: BigNumberish, + _refund: BigNumberish + ], [ + void + ], "payable">; + zeros: TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "FIELD_SIZE"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "ROOT_HISTORY_SIZE"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "ZERO_VALUE"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "commitments"): TypedContractMethod<[arg0: BytesLike], [boolean], "view">; + getFunction(nameOrSignature: "currentRootIndex"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "denomination"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "deposit"): TypedContractMethod<[_commitment: BytesLike], [void], "payable">; + getFunction(nameOrSignature: "filledSubtrees"): TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getFunction(nameOrSignature: "getLastRoot"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "hashLeftRight"): TypedContractMethod<[ + _hasher: AddressLike, + _left: BytesLike, + _right: BytesLike + ], [ + string + ], "view">; + getFunction(nameOrSignature: "hasher"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "isKnownRoot"): TypedContractMethod<[_root: BytesLike], [boolean], "view">; + getFunction(nameOrSignature: "isSpent"): TypedContractMethod<[_nullifierHash: BytesLike], [boolean], "view">; + getFunction(nameOrSignature: "isSpentArray"): TypedContractMethod<[_nullifierHashes: BytesLike[]], [boolean[]], "view">; + getFunction(nameOrSignature: "levels"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "nextIndex"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "nullifierHashes"): TypedContractMethod<[arg0: BytesLike], [boolean], "view">; + getFunction(nameOrSignature: "roots"): TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getFunction(nameOrSignature: "token"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "verifier"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "withdraw"): TypedContractMethod<[ + _proof: BytesLike, + _root: BytesLike, + _nullifierHash: BytesLike, + _recipient: AddressLike, + _relayer: AddressLike, + _fee: BigNumberish, + _refund: BigNumberish + ], [ + void + ], "payable">; + getFunction(nameOrSignature: "zeros"): TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getEvent(key: "Deposit"): TypedContractEvent; + getEvent(key: "Withdrawal"): TypedContractEvent; + filters: { + "Deposit(bytes32,uint32,uint256)": TypedContractEvent; + Deposit: TypedContractEvent; + "Withdrawal(address,bytes32,address,uint256)": TypedContractEvent; + Withdrawal: TypedContractEvent; + }; +} diff --git a/dist/contracts/Classic/ETHTornado.d.ts b/dist/contracts/Classic/ETHTornado.d.ts new file mode 100644 index 0000000..46bfa32 --- /dev/null +++ b/dist/contracts/Classic/ETHTornado.d.ts @@ -0,0 +1,202 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../common"; +export interface ETHTornadoInterface extends Interface { + getFunction(nameOrSignature: "FIELD_SIZE" | "ROOT_HISTORY_SIZE" | "ZERO_VALUE" | "commitments" | "currentRootIndex" | "denomination" | "deposit" | "filledSubtrees" | "getLastRoot" | "hashLeftRight" | "hasher" | "isKnownRoot" | "isSpent" | "isSpentArray" | "levels" | "nextIndex" | "nullifierHashes" | "roots" | "verifier" | "withdraw" | "zeros"): FunctionFragment; + getEvent(nameOrSignatureOrTopic: "Deposit" | "Withdrawal"): EventFragment; + encodeFunctionData(functionFragment: "FIELD_SIZE", values?: undefined): string; + encodeFunctionData(functionFragment: "ROOT_HISTORY_SIZE", values?: undefined): string; + encodeFunctionData(functionFragment: "ZERO_VALUE", values?: undefined): string; + encodeFunctionData(functionFragment: "commitments", values: [BytesLike]): string; + encodeFunctionData(functionFragment: "currentRootIndex", values?: undefined): string; + encodeFunctionData(functionFragment: "denomination", values?: undefined): string; + encodeFunctionData(functionFragment: "deposit", values: [BytesLike]): string; + encodeFunctionData(functionFragment: "filledSubtrees", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "getLastRoot", values?: undefined): string; + encodeFunctionData(functionFragment: "hashLeftRight", values: [AddressLike, BytesLike, BytesLike]): string; + encodeFunctionData(functionFragment: "hasher", values?: undefined): string; + encodeFunctionData(functionFragment: "isKnownRoot", values: [BytesLike]): string; + encodeFunctionData(functionFragment: "isSpent", values: [BytesLike]): string; + encodeFunctionData(functionFragment: "isSpentArray", values: [BytesLike[]]): string; + encodeFunctionData(functionFragment: "levels", values?: undefined): string; + encodeFunctionData(functionFragment: "nextIndex", values?: undefined): string; + encodeFunctionData(functionFragment: "nullifierHashes", values: [BytesLike]): string; + encodeFunctionData(functionFragment: "roots", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "verifier", values?: undefined): string; + encodeFunctionData(functionFragment: "withdraw", values: [ + BytesLike, + BytesLike, + BytesLike, + AddressLike, + AddressLike, + BigNumberish, + BigNumberish + ]): string; + encodeFunctionData(functionFragment: "zeros", values: [BigNumberish]): string; + decodeFunctionResult(functionFragment: "FIELD_SIZE", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "ROOT_HISTORY_SIZE", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "ZERO_VALUE", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "commitments", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "currentRootIndex", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "denomination", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "filledSubtrees", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "getLastRoot", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "hashLeftRight", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "hasher", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "isKnownRoot", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "isSpent", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "isSpentArray", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "levels", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "nextIndex", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "nullifierHashes", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "roots", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "verifier", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "zeros", data: BytesLike): Result; +} +export declare namespace DepositEvent { + type InputTuple = [ + commitment: BytesLike, + leafIndex: BigNumberish, + timestamp: BigNumberish + ]; + type OutputTuple = [ + commitment: string, + leafIndex: bigint, + timestamp: bigint + ]; + interface OutputObject { + commitment: string; + leafIndex: bigint; + timestamp: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace WithdrawalEvent { + type InputTuple = [ + to: AddressLike, + nullifierHash: BytesLike, + relayer: AddressLike, + fee: BigNumberish + ]; + type OutputTuple = [ + to: string, + nullifierHash: string, + relayer: string, + fee: bigint + ]; + interface OutputObject { + to: string; + nullifierHash: string; + relayer: string; + fee: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export interface ETHTornado extends BaseContract { + connect(runner?: ContractRunner | null): ETHTornado; + waitForDeployment(): Promise; + interface: ETHTornadoInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + FIELD_SIZE: TypedContractMethod<[], [bigint], "view">; + ROOT_HISTORY_SIZE: TypedContractMethod<[], [bigint], "view">; + ZERO_VALUE: TypedContractMethod<[], [bigint], "view">; + commitments: TypedContractMethod<[arg0: BytesLike], [boolean], "view">; + currentRootIndex: TypedContractMethod<[], [bigint], "view">; + denomination: TypedContractMethod<[], [bigint], "view">; + deposit: TypedContractMethod<[_commitment: BytesLike], [void], "payable">; + filledSubtrees: TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getLastRoot: TypedContractMethod<[], [string], "view">; + hashLeftRight: TypedContractMethod<[ + _hasher: AddressLike, + _left: BytesLike, + _right: BytesLike + ], [ + string + ], "view">; + hasher: TypedContractMethod<[], [string], "view">; + isKnownRoot: TypedContractMethod<[_root: BytesLike], [boolean], "view">; + isSpent: TypedContractMethod<[_nullifierHash: BytesLike], [boolean], "view">; + isSpentArray: TypedContractMethod<[ + _nullifierHashes: BytesLike[] + ], [ + boolean[] + ], "view">; + levels: TypedContractMethod<[], [bigint], "view">; + nextIndex: TypedContractMethod<[], [bigint], "view">; + nullifierHashes: TypedContractMethod<[arg0: BytesLike], [boolean], "view">; + roots: TypedContractMethod<[arg0: BigNumberish], [string], "view">; + verifier: TypedContractMethod<[], [string], "view">; + withdraw: TypedContractMethod<[ + _proof: BytesLike, + _root: BytesLike, + _nullifierHash: BytesLike, + _recipient: AddressLike, + _relayer: AddressLike, + _fee: BigNumberish, + _refund: BigNumberish + ], [ + void + ], "payable">; + zeros: TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "FIELD_SIZE"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "ROOT_HISTORY_SIZE"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "ZERO_VALUE"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "commitments"): TypedContractMethod<[arg0: BytesLike], [boolean], "view">; + getFunction(nameOrSignature: "currentRootIndex"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "denomination"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "deposit"): TypedContractMethod<[_commitment: BytesLike], [void], "payable">; + getFunction(nameOrSignature: "filledSubtrees"): TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getFunction(nameOrSignature: "getLastRoot"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "hashLeftRight"): TypedContractMethod<[ + _hasher: AddressLike, + _left: BytesLike, + _right: BytesLike + ], [ + string + ], "view">; + getFunction(nameOrSignature: "hasher"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "isKnownRoot"): TypedContractMethod<[_root: BytesLike], [boolean], "view">; + getFunction(nameOrSignature: "isSpent"): TypedContractMethod<[_nullifierHash: BytesLike], [boolean], "view">; + getFunction(nameOrSignature: "isSpentArray"): TypedContractMethod<[_nullifierHashes: BytesLike[]], [boolean[]], "view">; + getFunction(nameOrSignature: "levels"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "nextIndex"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "nullifierHashes"): TypedContractMethod<[arg0: BytesLike], [boolean], "view">; + getFunction(nameOrSignature: "roots"): TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getFunction(nameOrSignature: "verifier"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "withdraw"): TypedContractMethod<[ + _proof: BytesLike, + _root: BytesLike, + _nullifierHash: BytesLike, + _recipient: AddressLike, + _relayer: AddressLike, + _fee: BigNumberish, + _refund: BigNumberish + ], [ + void + ], "payable">; + getFunction(nameOrSignature: "zeros"): TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getEvent(key: "Deposit"): TypedContractEvent; + getEvent(key: "Withdrawal"): TypedContractEvent; + filters: { + "Deposit(bytes32,uint32,uint256)": TypedContractEvent; + Deposit: TypedContractEvent; + "Withdrawal(address,bytes32,address,uint256)": TypedContractEvent; + Withdrawal: TypedContractEvent; + }; +} diff --git a/dist/contracts/Classic/Echoer.d.ts b/dist/contracts/Classic/Echoer.d.ts new file mode 100644 index 0000000..01a3984 --- /dev/null +++ b/dist/contracts/Classic/Echoer.d.ts @@ -0,0 +1,42 @@ +import type { BaseContract, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../common"; +export interface EchoerInterface extends Interface { + getFunction(nameOrSignature: "echo"): FunctionFragment; + getEvent(nameOrSignatureOrTopic: "Echo"): EventFragment; + encodeFunctionData(functionFragment: "echo", values: [BytesLike]): string; + decodeFunctionResult(functionFragment: "echo", data: BytesLike): Result; +} +export declare namespace EchoEvent { + type InputTuple = [who: AddressLike, data: BytesLike]; + type OutputTuple = [who: string, data: string]; + interface OutputObject { + who: string; + data: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export interface Echoer extends BaseContract { + connect(runner?: ContractRunner | null): Echoer; + waitForDeployment(): Promise; + interface: EchoerInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + echo: TypedContractMethod<[_data: BytesLike], [void], "nonpayable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "echo"): TypedContractMethod<[_data: BytesLike], [void], "nonpayable">; + getEvent(key: "Echo"): TypedContractEvent; + filters: { + "Echo(address,bytes)": TypedContractEvent; + Echo: TypedContractEvent; + }; +} diff --git a/dist/contracts/Classic/MerkleTreeWithHistory.sol/IHasher.d.ts b/dist/contracts/Classic/MerkleTreeWithHistory.sol/IHasher.d.ts new file mode 100644 index 0000000..ef50d08 --- /dev/null +++ b/dist/contracts/Classic/MerkleTreeWithHistory.sol/IHasher.d.ts @@ -0,0 +1,41 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../../common"; +export interface IHasherInterface extends Interface { + getFunction(nameOrSignature: "MiMCSponge"): FunctionFragment; + encodeFunctionData(functionFragment: "MiMCSponge", values: [BigNumberish, BigNumberish]): string; + decodeFunctionResult(functionFragment: "MiMCSponge", data: BytesLike): Result; +} +export interface IHasher extends BaseContract { + connect(runner?: ContractRunner | null): IHasher; + waitForDeployment(): Promise; + interface: IHasherInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + MiMCSponge: TypedContractMethod<[ + in_xL: BigNumberish, + in_xR: BigNumberish + ], [ + [bigint, bigint] & { + xL: bigint; + xR: bigint; + } + ], "view">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "MiMCSponge"): TypedContractMethod<[ + in_xL: BigNumberish, + in_xR: BigNumberish + ], [ + [bigint, bigint] & { + xL: bigint; + xR: bigint; + } + ], "view">; + filters: {}; +} diff --git a/dist/contracts/Classic/MerkleTreeWithHistory.sol/MerkleTreeWithHistory.d.ts b/dist/contracts/Classic/MerkleTreeWithHistory.sol/MerkleTreeWithHistory.d.ts new file mode 100644 index 0000000..6946e9b --- /dev/null +++ b/dist/contracts/Classic/MerkleTreeWithHistory.sol/MerkleTreeWithHistory.d.ts @@ -0,0 +1,85 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../../common"; +export interface MerkleTreeWithHistoryInterface extends Interface { + getFunction(nameOrSignature: "FIELD_SIZE" | "ROOT_HISTORY_SIZE" | "ZERO_VALUE" | "currentRootIndex" | "filledSubtrees" | "getLastRoot" | "hashLeftRight" | "hasher" | "isKnownRoot" | "levels" | "nextIndex" | "roots" | "zeros"): FunctionFragment; + encodeFunctionData(functionFragment: "FIELD_SIZE", values?: undefined): string; + encodeFunctionData(functionFragment: "ROOT_HISTORY_SIZE", values?: undefined): string; + encodeFunctionData(functionFragment: "ZERO_VALUE", values?: undefined): string; + encodeFunctionData(functionFragment: "currentRootIndex", values?: undefined): string; + encodeFunctionData(functionFragment: "filledSubtrees", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "getLastRoot", values?: undefined): string; + encodeFunctionData(functionFragment: "hashLeftRight", values: [AddressLike, BytesLike, BytesLike]): string; + encodeFunctionData(functionFragment: "hasher", values?: undefined): string; + encodeFunctionData(functionFragment: "isKnownRoot", values: [BytesLike]): string; + encodeFunctionData(functionFragment: "levels", values?: undefined): string; + encodeFunctionData(functionFragment: "nextIndex", values?: undefined): string; + encodeFunctionData(functionFragment: "roots", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "zeros", values: [BigNumberish]): string; + decodeFunctionResult(functionFragment: "FIELD_SIZE", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "ROOT_HISTORY_SIZE", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "ZERO_VALUE", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "currentRootIndex", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "filledSubtrees", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "getLastRoot", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "hashLeftRight", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "hasher", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "isKnownRoot", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "levels", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "nextIndex", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "roots", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "zeros", data: BytesLike): Result; +} +export interface MerkleTreeWithHistory extends BaseContract { + connect(runner?: ContractRunner | null): MerkleTreeWithHistory; + waitForDeployment(): Promise; + interface: MerkleTreeWithHistoryInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + FIELD_SIZE: TypedContractMethod<[], [bigint], "view">; + ROOT_HISTORY_SIZE: TypedContractMethod<[], [bigint], "view">; + ZERO_VALUE: TypedContractMethod<[], [bigint], "view">; + currentRootIndex: TypedContractMethod<[], [bigint], "view">; + filledSubtrees: TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getLastRoot: TypedContractMethod<[], [string], "view">; + hashLeftRight: TypedContractMethod<[ + _hasher: AddressLike, + _left: BytesLike, + _right: BytesLike + ], [ + string + ], "view">; + hasher: TypedContractMethod<[], [string], "view">; + isKnownRoot: TypedContractMethod<[_root: BytesLike], [boolean], "view">; + levels: TypedContractMethod<[], [bigint], "view">; + nextIndex: TypedContractMethod<[], [bigint], "view">; + roots: TypedContractMethod<[arg0: BigNumberish], [string], "view">; + zeros: TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "FIELD_SIZE"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "ROOT_HISTORY_SIZE"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "ZERO_VALUE"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "currentRootIndex"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "filledSubtrees"): TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getFunction(nameOrSignature: "getLastRoot"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "hashLeftRight"): TypedContractMethod<[ + _hasher: AddressLike, + _left: BytesLike, + _right: BytesLike + ], [ + string + ], "view">; + getFunction(nameOrSignature: "hasher"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "isKnownRoot"): TypedContractMethod<[_root: BytesLike], [boolean], "view">; + getFunction(nameOrSignature: "levels"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "nextIndex"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "roots"): TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getFunction(nameOrSignature: "zeros"): TypedContractMethod<[arg0: BigNumberish], [string], "view">; + filters: {}; +} diff --git a/dist/contracts/Classic/MerkleTreeWithHistory.sol/index.d.ts b/dist/contracts/Classic/MerkleTreeWithHistory.sol/index.d.ts new file mode 100644 index 0000000..605e644 --- /dev/null +++ b/dist/contracts/Classic/MerkleTreeWithHistory.sol/index.d.ts @@ -0,0 +1,2 @@ +export type { IHasher } from "./IHasher"; +export type { MerkleTreeWithHistory } from "./MerkleTreeWithHistory"; diff --git a/dist/contracts/Classic/Mocks/BadRecipient.d.ts b/dist/contracts/Classic/Mocks/BadRecipient.d.ts new file mode 100644 index 0000000..83bdb9f --- /dev/null +++ b/dist/contracts/Classic/Mocks/BadRecipient.d.ts @@ -0,0 +1,20 @@ +import type { BaseContract, FunctionFragment, Interface, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener } from "../../../common"; +export interface BadRecipientInterface extends Interface { +} +export interface BadRecipient extends BaseContract { + connect(runner?: ContractRunner | null): BadRecipient; + waitForDeployment(): Promise; + interface: BadRecipientInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + getFunction(key: string | FunctionFragment): T; + filters: {}; +} diff --git a/dist/contracts/Classic/Mocks/ERC20Mock.d.ts b/dist/contracts/Classic/Mocks/ERC20Mock.d.ts new file mode 100644 index 0000000..cac2e99 --- /dev/null +++ b/dist/contracts/Classic/Mocks/ERC20Mock.d.ts @@ -0,0 +1,155 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../../common"; +export interface ERC20MockInterface extends Interface { + getFunction(nameOrSignature: "allowance" | "approve" | "balanceOf" | "decimals" | "mint" | "name" | "symbol" | "totalSupply" | "transfer" | "transferFrom"): FunctionFragment; + getEvent(nameOrSignatureOrTopic: "Approval" | "Transfer"): EventFragment; + encodeFunctionData(functionFragment: "allowance", values: [AddressLike, AddressLike]): string; + encodeFunctionData(functionFragment: "approve", values: [AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "balanceOf", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "decimals", values?: undefined): string; + encodeFunctionData(functionFragment: "mint", values: [AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData(functionFragment: "symbol", values?: undefined): string; + encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string; + encodeFunctionData(functionFragment: "transfer", values: [AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "transferFrom", values: [AddressLike, AddressLike, BigNumberish]): string; + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "mint", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "totalSupply", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "transferFrom", data: BytesLike): Result; +} +export declare namespace ApprovalEvent { + type InputTuple = [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish + ]; + type OutputTuple = [owner: string, spender: string, value: bigint]; + interface OutputObject { + owner: string; + spender: string; + value: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace TransferEvent { + type InputTuple = [ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ]; + type OutputTuple = [from: string, to: string, value: bigint]; + interface OutputObject { + from: string; + to: string; + value: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export interface ERC20Mock extends BaseContract { + connect(runner?: ContractRunner | null): ERC20Mock; + waitForDeployment(): Promise; + interface: ERC20MockInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + allowance: TypedContractMethod<[ + owner: AddressLike, + spender: AddressLike + ], [ + bigint + ], "view">; + approve: TypedContractMethod<[ + spender: AddressLike, + value: BigNumberish + ], [ + boolean + ], "nonpayable">; + balanceOf: TypedContractMethod<[account: AddressLike], [bigint], "view">; + decimals: TypedContractMethod<[], [bigint], "view">; + mint: TypedContractMethod<[ + account: AddressLike, + amount: BigNumberish + ], [ + void + ], "nonpayable">; + name: TypedContractMethod<[], [string], "view">; + symbol: TypedContractMethod<[], [string], "view">; + totalSupply: TypedContractMethod<[], [bigint], "view">; + transfer: TypedContractMethod<[ + to: AddressLike, + value: BigNumberish + ], [ + boolean + ], "nonpayable">; + transferFrom: TypedContractMethod<[ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ], [ + boolean + ], "nonpayable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "allowance"): TypedContractMethod<[ + owner: AddressLike, + spender: AddressLike + ], [ + bigint + ], "view">; + getFunction(nameOrSignature: "approve"): TypedContractMethod<[ + spender: AddressLike, + value: BigNumberish + ], [ + boolean + ], "nonpayable">; + getFunction(nameOrSignature: "balanceOf"): TypedContractMethod<[account: AddressLike], [bigint], "view">; + getFunction(nameOrSignature: "decimals"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "mint"): TypedContractMethod<[ + account: AddressLike, + amount: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "name"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "symbol"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "totalSupply"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "transfer"): TypedContractMethod<[ + to: AddressLike, + value: BigNumberish + ], [ + boolean + ], "nonpayable">; + getFunction(nameOrSignature: "transferFrom"): TypedContractMethod<[ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ], [ + boolean + ], "nonpayable">; + getEvent(key: "Approval"): TypedContractEvent; + getEvent(key: "Transfer"): TypedContractEvent; + filters: { + "Approval(address,address,uint256)": TypedContractEvent; + Approval: TypedContractEvent; + "Transfer(address,address,uint256)": TypedContractEvent; + Transfer: TypedContractEvent; + }; +} diff --git a/dist/contracts/Classic/Mocks/IDeployer.d.ts b/dist/contracts/Classic/Mocks/IDeployer.d.ts new file mode 100644 index 0000000..2fe27be --- /dev/null +++ b/dist/contracts/Classic/Mocks/IDeployer.d.ts @@ -0,0 +1,35 @@ +import type { BaseContract, BytesLike, FunctionFragment, Result, Interface, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../../common"; +export interface IDeployerInterface extends Interface { + getFunction(nameOrSignature: "deploy"): FunctionFragment; + encodeFunctionData(functionFragment: "deploy", values: [BytesLike, BytesLike]): string; + decodeFunctionResult(functionFragment: "deploy", data: BytesLike): Result; +} +export interface IDeployer extends BaseContract { + connect(runner?: ContractRunner | null): IDeployer; + waitForDeployment(): Promise; + interface: IDeployerInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + deploy: TypedContractMethod<[ + _initCode: BytesLike, + _salt: BytesLike + ], [ + string + ], "nonpayable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "deploy"): TypedContractMethod<[ + _initCode: BytesLike, + _salt: BytesLike + ], [ + string + ], "nonpayable">; + filters: {}; +} diff --git a/dist/contracts/Classic/Mocks/IUSDT.sol/ERC20Basic.d.ts b/dist/contracts/Classic/Mocks/IUSDT.sol/ERC20Basic.d.ts new file mode 100644 index 0000000..c2c0bb2 --- /dev/null +++ b/dist/contracts/Classic/Mocks/IUSDT.sol/ERC20Basic.d.ts @@ -0,0 +1,69 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../../../common"; +export interface ERC20BasicInterface extends Interface { + getFunction(nameOrSignature: "_totalSupply" | "balanceOf" | "totalSupply" | "transfer"): FunctionFragment; + getEvent(nameOrSignatureOrTopic: "Transfer"): EventFragment; + encodeFunctionData(functionFragment: "_totalSupply", values?: undefined): string; + encodeFunctionData(functionFragment: "balanceOf", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string; + encodeFunctionData(functionFragment: "transfer", values: [AddressLike, BigNumberish]): string; + decodeFunctionResult(functionFragment: "_totalSupply", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "totalSupply", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; +} +export declare namespace TransferEvent { + type InputTuple = [ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ]; + type OutputTuple = [from: string, to: string, value: bigint]; + interface OutputObject { + from: string; + to: string; + value: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export interface ERC20Basic extends BaseContract { + connect(runner?: ContractRunner | null): ERC20Basic; + waitForDeployment(): Promise; + interface: ERC20BasicInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + _totalSupply: TypedContractMethod<[], [bigint], "nonpayable">; + balanceOf: TypedContractMethod<[who: AddressLike], [bigint], "view">; + totalSupply: TypedContractMethod<[], [bigint], "view">; + transfer: TypedContractMethod<[ + to: AddressLike, + value: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "_totalSupply"): TypedContractMethod<[], [bigint], "nonpayable">; + getFunction(nameOrSignature: "balanceOf"): TypedContractMethod<[who: AddressLike], [bigint], "view">; + getFunction(nameOrSignature: "totalSupply"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "transfer"): TypedContractMethod<[ + to: AddressLike, + value: BigNumberish + ], [ + void + ], "nonpayable">; + getEvent(key: "Transfer"): TypedContractEvent; + filters: { + "Transfer(address,address,uint256)": TypedContractEvent; + Transfer: TypedContractEvent; + }; +} diff --git a/dist/contracts/Classic/Mocks/IUSDT.sol/IUSDT.d.ts b/dist/contracts/Classic/Mocks/IUSDT.sol/IUSDT.d.ts new file mode 100644 index 0000000..b8687c0 --- /dev/null +++ b/dist/contracts/Classic/Mocks/IUSDT.sol/IUSDT.d.ts @@ -0,0 +1,133 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../../../common"; +export interface IUSDTInterface extends Interface { + getFunction(nameOrSignature: "_totalSupply" | "allowance" | "approve" | "balanceOf" | "totalSupply" | "transfer" | "transferFrom"): FunctionFragment; + getEvent(nameOrSignatureOrTopic: "Approval" | "Transfer"): EventFragment; + encodeFunctionData(functionFragment: "_totalSupply", values?: undefined): string; + encodeFunctionData(functionFragment: "allowance", values: [AddressLike, AddressLike]): string; + encodeFunctionData(functionFragment: "approve", values: [AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "balanceOf", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string; + encodeFunctionData(functionFragment: "transfer", values: [AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "transferFrom", values: [AddressLike, AddressLike, BigNumberish]): string; + decodeFunctionResult(functionFragment: "_totalSupply", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "totalSupply", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "transferFrom", data: BytesLike): Result; +} +export declare namespace ApprovalEvent { + type InputTuple = [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish + ]; + type OutputTuple = [owner: string, spender: string, value: bigint]; + interface OutputObject { + owner: string; + spender: string; + value: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace TransferEvent { + type InputTuple = [ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ]; + type OutputTuple = [from: string, to: string, value: bigint]; + interface OutputObject { + from: string; + to: string; + value: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export interface IUSDT extends BaseContract { + connect(runner?: ContractRunner | null): IUSDT; + waitForDeployment(): Promise; + interface: IUSDTInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + _totalSupply: TypedContractMethod<[], [bigint], "nonpayable">; + allowance: TypedContractMethod<[ + owner: AddressLike, + spender: AddressLike + ], [ + bigint + ], "view">; + approve: TypedContractMethod<[ + spender: AddressLike, + value: BigNumberish + ], [ + void + ], "nonpayable">; + balanceOf: TypedContractMethod<[who: AddressLike], [bigint], "view">; + totalSupply: TypedContractMethod<[], [bigint], "view">; + transfer: TypedContractMethod<[ + to: AddressLike, + value: BigNumberish + ], [ + void + ], "nonpayable">; + transferFrom: TypedContractMethod<[ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "_totalSupply"): TypedContractMethod<[], [bigint], "nonpayable">; + getFunction(nameOrSignature: "allowance"): TypedContractMethod<[ + owner: AddressLike, + spender: AddressLike + ], [ + bigint + ], "view">; + getFunction(nameOrSignature: "approve"): TypedContractMethod<[ + spender: AddressLike, + value: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "balanceOf"): TypedContractMethod<[who: AddressLike], [bigint], "view">; + getFunction(nameOrSignature: "totalSupply"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "transfer"): TypedContractMethod<[ + to: AddressLike, + value: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "transferFrom"): TypedContractMethod<[ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ], [ + void + ], "nonpayable">; + getEvent(key: "Approval"): TypedContractEvent; + getEvent(key: "Transfer"): TypedContractEvent; + filters: { + "Approval(address,address,uint256)": TypedContractEvent; + Approval: TypedContractEvent; + "Transfer(address,address,uint256)": TypedContractEvent; + Transfer: TypedContractEvent; + }; +} diff --git a/dist/contracts/Classic/Mocks/IUSDT.sol/index.d.ts b/dist/contracts/Classic/Mocks/IUSDT.sol/index.d.ts new file mode 100644 index 0000000..03c1c6b --- /dev/null +++ b/dist/contracts/Classic/Mocks/IUSDT.sol/index.d.ts @@ -0,0 +1,2 @@ +export type { ERC20Basic } from "./ERC20Basic"; +export type { IUSDT } from "./IUSDT"; diff --git a/dist/contracts/Classic/Mocks/MerkleTreeWithHistoryMock.d.ts b/dist/contracts/Classic/Mocks/MerkleTreeWithHistoryMock.d.ts new file mode 100644 index 0000000..fdd80c0 --- /dev/null +++ b/dist/contracts/Classic/Mocks/MerkleTreeWithHistoryMock.d.ts @@ -0,0 +1,89 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../../common"; +export interface MerkleTreeWithHistoryMockInterface extends Interface { + getFunction(nameOrSignature: "FIELD_SIZE" | "ROOT_HISTORY_SIZE" | "ZERO_VALUE" | "currentRootIndex" | "filledSubtrees" | "getLastRoot" | "hashLeftRight" | "hasher" | "insert" | "isKnownRoot" | "levels" | "nextIndex" | "roots" | "zeros"): FunctionFragment; + encodeFunctionData(functionFragment: "FIELD_SIZE", values?: undefined): string; + encodeFunctionData(functionFragment: "ROOT_HISTORY_SIZE", values?: undefined): string; + encodeFunctionData(functionFragment: "ZERO_VALUE", values?: undefined): string; + encodeFunctionData(functionFragment: "currentRootIndex", values?: undefined): string; + encodeFunctionData(functionFragment: "filledSubtrees", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "getLastRoot", values?: undefined): string; + encodeFunctionData(functionFragment: "hashLeftRight", values: [AddressLike, BytesLike, BytesLike]): string; + encodeFunctionData(functionFragment: "hasher", values?: undefined): string; + encodeFunctionData(functionFragment: "insert", values: [BytesLike]): string; + encodeFunctionData(functionFragment: "isKnownRoot", values: [BytesLike]): string; + encodeFunctionData(functionFragment: "levels", values?: undefined): string; + encodeFunctionData(functionFragment: "nextIndex", values?: undefined): string; + encodeFunctionData(functionFragment: "roots", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "zeros", values: [BigNumberish]): string; + decodeFunctionResult(functionFragment: "FIELD_SIZE", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "ROOT_HISTORY_SIZE", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "ZERO_VALUE", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "currentRootIndex", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "filledSubtrees", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "getLastRoot", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "hashLeftRight", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "hasher", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "insert", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "isKnownRoot", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "levels", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "nextIndex", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "roots", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "zeros", data: BytesLike): Result; +} +export interface MerkleTreeWithHistoryMock extends BaseContract { + connect(runner?: ContractRunner | null): MerkleTreeWithHistoryMock; + waitForDeployment(): Promise; + interface: MerkleTreeWithHistoryMockInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + FIELD_SIZE: TypedContractMethod<[], [bigint], "view">; + ROOT_HISTORY_SIZE: TypedContractMethod<[], [bigint], "view">; + ZERO_VALUE: TypedContractMethod<[], [bigint], "view">; + currentRootIndex: TypedContractMethod<[], [bigint], "view">; + filledSubtrees: TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getLastRoot: TypedContractMethod<[], [string], "view">; + hashLeftRight: TypedContractMethod<[ + _hasher: AddressLike, + _left: BytesLike, + _right: BytesLike + ], [ + string + ], "view">; + hasher: TypedContractMethod<[], [string], "view">; + insert: TypedContractMethod<[_leaf: BytesLike], [void], "nonpayable">; + isKnownRoot: TypedContractMethod<[_root: BytesLike], [boolean], "view">; + levels: TypedContractMethod<[], [bigint], "view">; + nextIndex: TypedContractMethod<[], [bigint], "view">; + roots: TypedContractMethod<[arg0: BigNumberish], [string], "view">; + zeros: TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "FIELD_SIZE"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "ROOT_HISTORY_SIZE"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "ZERO_VALUE"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "currentRootIndex"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "filledSubtrees"): TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getFunction(nameOrSignature: "getLastRoot"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "hashLeftRight"): TypedContractMethod<[ + _hasher: AddressLike, + _left: BytesLike, + _right: BytesLike + ], [ + string + ], "view">; + getFunction(nameOrSignature: "hasher"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "insert"): TypedContractMethod<[_leaf: BytesLike], [void], "nonpayable">; + getFunction(nameOrSignature: "isKnownRoot"): TypedContractMethod<[_root: BytesLike], [boolean], "view">; + getFunction(nameOrSignature: "levels"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "nextIndex"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "roots"): TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getFunction(nameOrSignature: "zeros"): TypedContractMethod<[arg0: BigNumberish], [string], "view">; + filters: {}; +} diff --git a/dist/contracts/Classic/Mocks/index.d.ts b/dist/contracts/Classic/Mocks/index.d.ts new file mode 100644 index 0000000..1fff536 --- /dev/null +++ b/dist/contracts/Classic/Mocks/index.d.ts @@ -0,0 +1,6 @@ +import type * as iusdtSol from "./IUSDT.sol"; +export type { iusdtSol }; +export type { BadRecipient } from "./BadRecipient"; +export type { ERC20Mock } from "./ERC20Mock"; +export type { IDeployer } from "./IDeployer"; +export type { MerkleTreeWithHistoryMock } from "./MerkleTreeWithHistoryMock"; diff --git a/dist/contracts/Classic/Tornado.sol/IVerifier.d.ts b/dist/contracts/Classic/Tornado.sol/IVerifier.d.ts new file mode 100644 index 0000000..5ff393b --- /dev/null +++ b/dist/contracts/Classic/Tornado.sol/IVerifier.d.ts @@ -0,0 +1,35 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../../common"; +export interface IVerifierInterface extends Interface { + getFunction(nameOrSignature: "verifyProof"): FunctionFragment; + encodeFunctionData(functionFragment: "verifyProof", values: [BytesLike, BigNumberish[]]): string; + decodeFunctionResult(functionFragment: "verifyProof", data: BytesLike): Result; +} +export interface IVerifier extends BaseContract { + connect(runner?: ContractRunner | null): IVerifier; + waitForDeployment(): Promise; + interface: IVerifierInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + verifyProof: TypedContractMethod<[ + _proof: BytesLike, + _input: BigNumberish[] + ], [ + boolean + ], "nonpayable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "verifyProof"): TypedContractMethod<[ + _proof: BytesLike, + _input: BigNumberish[] + ], [ + boolean + ], "nonpayable">; + filters: {}; +} diff --git a/dist/contracts/Classic/Tornado.sol/Tornado.d.ts b/dist/contracts/Classic/Tornado.sol/Tornado.d.ts new file mode 100644 index 0000000..d068d8f --- /dev/null +++ b/dist/contracts/Classic/Tornado.sol/Tornado.d.ts @@ -0,0 +1,202 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../../common"; +export interface TornadoInterface extends Interface { + getFunction(nameOrSignature: "FIELD_SIZE" | "ROOT_HISTORY_SIZE" | "ZERO_VALUE" | "commitments" | "currentRootIndex" | "denomination" | "deposit" | "filledSubtrees" | "getLastRoot" | "hashLeftRight" | "hasher" | "isKnownRoot" | "isSpent" | "isSpentArray" | "levels" | "nextIndex" | "nullifierHashes" | "roots" | "verifier" | "withdraw" | "zeros"): FunctionFragment; + getEvent(nameOrSignatureOrTopic: "Deposit" | "Withdrawal"): EventFragment; + encodeFunctionData(functionFragment: "FIELD_SIZE", values?: undefined): string; + encodeFunctionData(functionFragment: "ROOT_HISTORY_SIZE", values?: undefined): string; + encodeFunctionData(functionFragment: "ZERO_VALUE", values?: undefined): string; + encodeFunctionData(functionFragment: "commitments", values: [BytesLike]): string; + encodeFunctionData(functionFragment: "currentRootIndex", values?: undefined): string; + encodeFunctionData(functionFragment: "denomination", values?: undefined): string; + encodeFunctionData(functionFragment: "deposit", values: [BytesLike]): string; + encodeFunctionData(functionFragment: "filledSubtrees", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "getLastRoot", values?: undefined): string; + encodeFunctionData(functionFragment: "hashLeftRight", values: [AddressLike, BytesLike, BytesLike]): string; + encodeFunctionData(functionFragment: "hasher", values?: undefined): string; + encodeFunctionData(functionFragment: "isKnownRoot", values: [BytesLike]): string; + encodeFunctionData(functionFragment: "isSpent", values: [BytesLike]): string; + encodeFunctionData(functionFragment: "isSpentArray", values: [BytesLike[]]): string; + encodeFunctionData(functionFragment: "levels", values?: undefined): string; + encodeFunctionData(functionFragment: "nextIndex", values?: undefined): string; + encodeFunctionData(functionFragment: "nullifierHashes", values: [BytesLike]): string; + encodeFunctionData(functionFragment: "roots", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "verifier", values?: undefined): string; + encodeFunctionData(functionFragment: "withdraw", values: [ + BytesLike, + BytesLike, + BytesLike, + AddressLike, + AddressLike, + BigNumberish, + BigNumberish + ]): string; + encodeFunctionData(functionFragment: "zeros", values: [BigNumberish]): string; + decodeFunctionResult(functionFragment: "FIELD_SIZE", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "ROOT_HISTORY_SIZE", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "ZERO_VALUE", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "commitments", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "currentRootIndex", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "denomination", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "filledSubtrees", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "getLastRoot", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "hashLeftRight", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "hasher", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "isKnownRoot", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "isSpent", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "isSpentArray", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "levels", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "nextIndex", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "nullifierHashes", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "roots", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "verifier", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "zeros", data: BytesLike): Result; +} +export declare namespace DepositEvent { + type InputTuple = [ + commitment: BytesLike, + leafIndex: BigNumberish, + timestamp: BigNumberish + ]; + type OutputTuple = [ + commitment: string, + leafIndex: bigint, + timestamp: bigint + ]; + interface OutputObject { + commitment: string; + leafIndex: bigint; + timestamp: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace WithdrawalEvent { + type InputTuple = [ + to: AddressLike, + nullifierHash: BytesLike, + relayer: AddressLike, + fee: BigNumberish + ]; + type OutputTuple = [ + to: string, + nullifierHash: string, + relayer: string, + fee: bigint + ]; + interface OutputObject { + to: string; + nullifierHash: string; + relayer: string; + fee: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export interface Tornado extends BaseContract { + connect(runner?: ContractRunner | null): Tornado; + waitForDeployment(): Promise; + interface: TornadoInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + FIELD_SIZE: TypedContractMethod<[], [bigint], "view">; + ROOT_HISTORY_SIZE: TypedContractMethod<[], [bigint], "view">; + ZERO_VALUE: TypedContractMethod<[], [bigint], "view">; + commitments: TypedContractMethod<[arg0: BytesLike], [boolean], "view">; + currentRootIndex: TypedContractMethod<[], [bigint], "view">; + denomination: TypedContractMethod<[], [bigint], "view">; + deposit: TypedContractMethod<[_commitment: BytesLike], [void], "payable">; + filledSubtrees: TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getLastRoot: TypedContractMethod<[], [string], "view">; + hashLeftRight: TypedContractMethod<[ + _hasher: AddressLike, + _left: BytesLike, + _right: BytesLike + ], [ + string + ], "view">; + hasher: TypedContractMethod<[], [string], "view">; + isKnownRoot: TypedContractMethod<[_root: BytesLike], [boolean], "view">; + isSpent: TypedContractMethod<[_nullifierHash: BytesLike], [boolean], "view">; + isSpentArray: TypedContractMethod<[ + _nullifierHashes: BytesLike[] + ], [ + boolean[] + ], "view">; + levels: TypedContractMethod<[], [bigint], "view">; + nextIndex: TypedContractMethod<[], [bigint], "view">; + nullifierHashes: TypedContractMethod<[arg0: BytesLike], [boolean], "view">; + roots: TypedContractMethod<[arg0: BigNumberish], [string], "view">; + verifier: TypedContractMethod<[], [string], "view">; + withdraw: TypedContractMethod<[ + _proof: BytesLike, + _root: BytesLike, + _nullifierHash: BytesLike, + _recipient: AddressLike, + _relayer: AddressLike, + _fee: BigNumberish, + _refund: BigNumberish + ], [ + void + ], "payable">; + zeros: TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "FIELD_SIZE"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "ROOT_HISTORY_SIZE"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "ZERO_VALUE"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "commitments"): TypedContractMethod<[arg0: BytesLike], [boolean], "view">; + getFunction(nameOrSignature: "currentRootIndex"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "denomination"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "deposit"): TypedContractMethod<[_commitment: BytesLike], [void], "payable">; + getFunction(nameOrSignature: "filledSubtrees"): TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getFunction(nameOrSignature: "getLastRoot"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "hashLeftRight"): TypedContractMethod<[ + _hasher: AddressLike, + _left: BytesLike, + _right: BytesLike + ], [ + string + ], "view">; + getFunction(nameOrSignature: "hasher"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "isKnownRoot"): TypedContractMethod<[_root: BytesLike], [boolean], "view">; + getFunction(nameOrSignature: "isSpent"): TypedContractMethod<[_nullifierHash: BytesLike], [boolean], "view">; + getFunction(nameOrSignature: "isSpentArray"): TypedContractMethod<[_nullifierHashes: BytesLike[]], [boolean[]], "view">; + getFunction(nameOrSignature: "levels"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "nextIndex"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "nullifierHashes"): TypedContractMethod<[arg0: BytesLike], [boolean], "view">; + getFunction(nameOrSignature: "roots"): TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getFunction(nameOrSignature: "verifier"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "withdraw"): TypedContractMethod<[ + _proof: BytesLike, + _root: BytesLike, + _nullifierHash: BytesLike, + _recipient: AddressLike, + _relayer: AddressLike, + _fee: BigNumberish, + _refund: BigNumberish + ], [ + void + ], "payable">; + getFunction(nameOrSignature: "zeros"): TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getEvent(key: "Deposit"): TypedContractEvent; + getEvent(key: "Withdrawal"): TypedContractEvent; + filters: { + "Deposit(bytes32,uint32,uint256)": TypedContractEvent; + Deposit: TypedContractEvent; + "Withdrawal(address,bytes32,address,uint256)": TypedContractEvent; + Withdrawal: TypedContractEvent; + }; +} diff --git a/dist/contracts/Classic/Tornado.sol/index.d.ts b/dist/contracts/Classic/Tornado.sol/index.d.ts new file mode 100644 index 0000000..35e168d --- /dev/null +++ b/dist/contracts/Classic/Tornado.sol/index.d.ts @@ -0,0 +1,2 @@ +export type { IVerifier } from "./IVerifier"; +export type { Tornado } from "./Tornado"; diff --git a/dist/contracts/Classic/TornadoProxyLight.sol/ITornadoInstance.d.ts b/dist/contracts/Classic/TornadoProxyLight.sol/ITornadoInstance.d.ts new file mode 100644 index 0000000..eb6dd84 --- /dev/null +++ b/dist/contracts/Classic/TornadoProxyLight.sol/ITornadoInstance.d.ts @@ -0,0 +1,65 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../../common"; +export interface ITornadoInstanceInterface extends Interface { + getFunction(nameOrSignature: "denomination" | "deposit" | "token" | "withdraw"): FunctionFragment; + encodeFunctionData(functionFragment: "denomination", values?: undefined): string; + encodeFunctionData(functionFragment: "deposit", values: [BytesLike]): string; + encodeFunctionData(functionFragment: "token", values?: undefined): string; + encodeFunctionData(functionFragment: "withdraw", values: [ + BytesLike, + BytesLike, + BytesLike, + AddressLike, + AddressLike, + BigNumberish, + BigNumberish + ]): string; + decodeFunctionResult(functionFragment: "denomination", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "token", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; +} +export interface ITornadoInstance extends BaseContract { + connect(runner?: ContractRunner | null): ITornadoInstance; + waitForDeployment(): Promise; + interface: ITornadoInstanceInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + denomination: TypedContractMethod<[], [bigint], "view">; + deposit: TypedContractMethod<[commitment: BytesLike], [void], "payable">; + token: TypedContractMethod<[], [string], "view">; + withdraw: TypedContractMethod<[ + proof: BytesLike, + root: BytesLike, + nullifierHash: BytesLike, + recipient: AddressLike, + relayer: AddressLike, + fee: BigNumberish, + refund: BigNumberish + ], [ + void + ], "payable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "denomination"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "deposit"): TypedContractMethod<[commitment: BytesLike], [void], "payable">; + getFunction(nameOrSignature: "token"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "withdraw"): TypedContractMethod<[ + proof: BytesLike, + root: BytesLike, + nullifierHash: BytesLike, + recipient: AddressLike, + relayer: AddressLike, + fee: BigNumberish, + refund: BigNumberish + ], [ + void + ], "payable">; + filters: {}; +} diff --git a/dist/contracts/Classic/TornadoProxyLight.sol/TornadoProxyLight.d.ts b/dist/contracts/Classic/TornadoProxyLight.sol/TornadoProxyLight.d.ts new file mode 100644 index 0000000..a233b38 --- /dev/null +++ b/dist/contracts/Classic/TornadoProxyLight.sol/TornadoProxyLight.d.ts @@ -0,0 +1,97 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../../common"; +export interface TornadoProxyLightInterface extends Interface { + getFunction(nameOrSignature: "backupNotes" | "deposit" | "withdraw"): FunctionFragment; + getEvent(nameOrSignatureOrTopic: "EncryptedNote"): EventFragment; + encodeFunctionData(functionFragment: "backupNotes", values: [BytesLike[]]): string; + encodeFunctionData(functionFragment: "deposit", values: [AddressLike, BytesLike, BytesLike]): string; + encodeFunctionData(functionFragment: "withdraw", values: [ + AddressLike, + BytesLike, + BytesLike, + BytesLike, + AddressLike, + AddressLike, + BigNumberish, + BigNumberish + ]): string; + decodeFunctionResult(functionFragment: "backupNotes", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; +} +export declare namespace EncryptedNoteEvent { + type InputTuple = [sender: AddressLike, encryptedNote: BytesLike]; + type OutputTuple = [sender: string, encryptedNote: string]; + interface OutputObject { + sender: string; + encryptedNote: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export interface TornadoProxyLight extends BaseContract { + connect(runner?: ContractRunner | null): TornadoProxyLight; + waitForDeployment(): Promise; + interface: TornadoProxyLightInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + backupNotes: TypedContractMethod<[ + _encryptedNotes: BytesLike[] + ], [ + void + ], "nonpayable">; + deposit: TypedContractMethod<[ + _tornado: AddressLike, + _commitment: BytesLike, + _encryptedNote: BytesLike + ], [ + void + ], "payable">; + withdraw: TypedContractMethod<[ + _tornado: AddressLike, + _proof: BytesLike, + _root: BytesLike, + _nullifierHash: BytesLike, + _recipient: AddressLike, + _relayer: AddressLike, + _fee: BigNumberish, + _refund: BigNumberish + ], [ + void + ], "payable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "backupNotes"): TypedContractMethod<[_encryptedNotes: BytesLike[]], [void], "nonpayable">; + getFunction(nameOrSignature: "deposit"): TypedContractMethod<[ + _tornado: AddressLike, + _commitment: BytesLike, + _encryptedNote: BytesLike + ], [ + void + ], "payable">; + getFunction(nameOrSignature: "withdraw"): TypedContractMethod<[ + _tornado: AddressLike, + _proof: BytesLike, + _root: BytesLike, + _nullifierHash: BytesLike, + _recipient: AddressLike, + _relayer: AddressLike, + _fee: BigNumberish, + _refund: BigNumberish + ], [ + void + ], "payable">; + getEvent(key: "EncryptedNote"): TypedContractEvent; + filters: { + "EncryptedNote(address,bytes)": TypedContractEvent; + EncryptedNote: TypedContractEvent; + }; +} diff --git a/dist/contracts/Classic/TornadoProxyLight.sol/index.d.ts b/dist/contracts/Classic/TornadoProxyLight.sol/index.d.ts new file mode 100644 index 0000000..c3cac97 --- /dev/null +++ b/dist/contracts/Classic/TornadoProxyLight.sol/index.d.ts @@ -0,0 +1,2 @@ +export type { ITornadoInstance } from "./ITornadoInstance"; +export type { TornadoProxyLight } from "./TornadoProxyLight"; diff --git a/dist/contracts/Classic/Verifier.d.ts b/dist/contracts/Classic/Verifier.d.ts new file mode 100644 index 0000000..50cff8f --- /dev/null +++ b/dist/contracts/Classic/Verifier.d.ts @@ -0,0 +1,35 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../common"; +export interface VerifierInterface extends Interface { + getFunction(nameOrSignature: "verifyProof"): FunctionFragment; + encodeFunctionData(functionFragment: "verifyProof", values: [BytesLike, BigNumberish[]]): string; + decodeFunctionResult(functionFragment: "verifyProof", data: BytesLike): Result; +} +export interface Verifier extends BaseContract { + connect(runner?: ContractRunner | null): Verifier; + waitForDeployment(): Promise; + interface: VerifierInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + verifyProof: TypedContractMethod<[ + proof: BytesLike, + input: BigNumberish[] + ], [ + boolean + ], "view">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "verifyProof"): TypedContractMethod<[ + proof: BytesLike, + input: BigNumberish[] + ], [ + boolean + ], "view">; + filters: {}; +} diff --git a/dist/contracts/Classic/index.d.ts b/dist/contracts/Classic/index.d.ts new file mode 100644 index 0000000..004f043 --- /dev/null +++ b/dist/contracts/Classic/index.d.ts @@ -0,0 +1,15 @@ +import type * as merkleTreeWithHistorySol from "./MerkleTreeWithHistory.sol"; +export type { merkleTreeWithHistorySol }; +import type * as mocks from "./Mocks"; +export type { mocks }; +import type * as tornadoSol from "./Tornado.sol"; +export type { tornadoSol }; +import type * as tornadoProxyLightSol from "./TornadoProxyLight.sol"; +export type { tornadoProxyLightSol }; +import type * as interfaces from "./interfaces"; +export type { interfaces }; +export type { ERC20Tornado } from "./ERC20Tornado"; +export type { ETHTornado } from "./ETHTornado"; +export type { Echoer } from "./Echoer"; +export type { Verifier } from "./Verifier"; +export type { CTornado } from "./CTornado"; diff --git a/dist/contracts/Classic/interfaces/IERC20.d.ts b/dist/contracts/Classic/interfaces/IERC20.d.ts new file mode 100644 index 0000000..b0364ac --- /dev/null +++ b/dist/contracts/Classic/interfaces/IERC20.d.ts @@ -0,0 +1,127 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../../common"; +export interface IERC20Interface extends Interface { + getFunction(nameOrSignature: "DOMAIN_SEPARATOR" | "allowance" | "approve" | "balanceOf" | "nonces" | "permit" | "totalSupply" | "transfer" | "transferFrom"): FunctionFragment; + encodeFunctionData(functionFragment: "DOMAIN_SEPARATOR", values?: undefined): string; + encodeFunctionData(functionFragment: "allowance", values: [AddressLike, AddressLike]): string; + encodeFunctionData(functionFragment: "approve", values: [AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "balanceOf", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "nonces", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "permit", values: [ + AddressLike, + AddressLike, + BigNumberish, + BigNumberish, + BigNumberish, + BytesLike, + BytesLike + ]): string; + encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string; + encodeFunctionData(functionFragment: "transfer", values: [AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "transferFrom", values: [AddressLike, AddressLike, BigNumberish]): string; + decodeFunctionResult(functionFragment: "DOMAIN_SEPARATOR", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "nonces", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "totalSupply", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "transferFrom", data: BytesLike): Result; +} +export interface IERC20 extends BaseContract { + connect(runner?: ContractRunner | null): IERC20; + waitForDeployment(): Promise; + interface: IERC20Interface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + DOMAIN_SEPARATOR: TypedContractMethod<[], [string], "view">; + allowance: TypedContractMethod<[ + owner: AddressLike, + spender: AddressLike + ], [ + bigint + ], "view">; + approve: TypedContractMethod<[ + spender: AddressLike, + amount: BigNumberish + ], [ + boolean + ], "nonpayable">; + balanceOf: TypedContractMethod<[account: AddressLike], [bigint], "view">; + nonces: TypedContractMethod<[owner: AddressLike], [bigint], "view">; + permit: TypedContractMethod<[ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], [ + void + ], "nonpayable">; + totalSupply: TypedContractMethod<[], [bigint], "view">; + transfer: TypedContractMethod<[ + recipient: AddressLike, + amount: BigNumberish + ], [ + boolean + ], "nonpayable">; + transferFrom: TypedContractMethod<[ + sender: AddressLike, + recipient: AddressLike, + amount: BigNumberish + ], [ + boolean + ], "nonpayable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "DOMAIN_SEPARATOR"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "allowance"): TypedContractMethod<[ + owner: AddressLike, + spender: AddressLike + ], [ + bigint + ], "view">; + getFunction(nameOrSignature: "approve"): TypedContractMethod<[ + spender: AddressLike, + amount: BigNumberish + ], [ + boolean + ], "nonpayable">; + getFunction(nameOrSignature: "balanceOf"): TypedContractMethod<[account: AddressLike], [bigint], "view">; + getFunction(nameOrSignature: "nonces"): TypedContractMethod<[owner: AddressLike], [bigint], "view">; + getFunction(nameOrSignature: "permit"): TypedContractMethod<[ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "totalSupply"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "transfer"): TypedContractMethod<[ + recipient: AddressLike, + amount: BigNumberish + ], [ + boolean + ], "nonpayable">; + getFunction(nameOrSignature: "transferFrom"): TypedContractMethod<[ + sender: AddressLike, + recipient: AddressLike, + amount: BigNumberish + ], [ + boolean + ], "nonpayable">; + filters: {}; +} diff --git a/dist/contracts/Classic/interfaces/index.d.ts b/dist/contracts/Classic/interfaces/index.d.ts new file mode 100644 index 0000000..9aafe7e --- /dev/null +++ b/dist/contracts/Classic/interfaces/index.d.ts @@ -0,0 +1 @@ +export type { IERC20 } from "./IERC20"; diff --git a/dist/contracts/Governance/AdminUpgradeableProxy.d.ts b/dist/contracts/Governance/AdminUpgradeableProxy.d.ts new file mode 100644 index 0000000..6a1a459 --- /dev/null +++ b/dist/contracts/Governance/AdminUpgradeableProxy.d.ts @@ -0,0 +1,94 @@ +import type { BaseContract, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../common"; +export interface AdminUpgradeableProxyInterface extends Interface { + getFunction(nameOrSignature: "admin" | "changeAdmin" | "implementation" | "upgradeTo" | "upgradeToAndCall"): FunctionFragment; + getEvent(nameOrSignatureOrTopic: "AdminChanged" | "Upgraded"): EventFragment; + encodeFunctionData(functionFragment: "admin", values?: undefined): string; + encodeFunctionData(functionFragment: "changeAdmin", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "implementation", values?: undefined): string; + encodeFunctionData(functionFragment: "upgradeTo", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "upgradeToAndCall", values: [AddressLike, BytesLike]): string; + decodeFunctionResult(functionFragment: "admin", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "changeAdmin", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "implementation", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "upgradeTo", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "upgradeToAndCall", data: BytesLike): Result; +} +export declare namespace AdminChangedEvent { + type InputTuple = [previousAdmin: AddressLike, newAdmin: AddressLike]; + type OutputTuple = [previousAdmin: string, newAdmin: string]; + interface OutputObject { + previousAdmin: string; + newAdmin: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace UpgradedEvent { + type InputTuple = [implementation: AddressLike]; + type OutputTuple = [implementation: string]; + interface OutputObject { + implementation: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export interface AdminUpgradeableProxy extends BaseContract { + connect(runner?: ContractRunner | null): AdminUpgradeableProxy; + waitForDeployment(): Promise; + interface: AdminUpgradeableProxyInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + admin: TypedContractMethod<[], [string], "nonpayable">; + changeAdmin: TypedContractMethod<[ + newAdmin: AddressLike + ], [ + void + ], "nonpayable">; + implementation: TypedContractMethod<[], [string], "nonpayable">; + upgradeTo: TypedContractMethod<[ + newImplementation: AddressLike + ], [ + void + ], "nonpayable">; + upgradeToAndCall: TypedContractMethod<[ + newImplementation: AddressLike, + data: BytesLike + ], [ + void + ], "payable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "admin"): TypedContractMethod<[], [string], "nonpayable">; + getFunction(nameOrSignature: "changeAdmin"): TypedContractMethod<[newAdmin: AddressLike], [void], "nonpayable">; + getFunction(nameOrSignature: "implementation"): TypedContractMethod<[], [string], "nonpayable">; + getFunction(nameOrSignature: "upgradeTo"): TypedContractMethod<[ + newImplementation: AddressLike + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "upgradeToAndCall"): TypedContractMethod<[ + newImplementation: AddressLike, + data: BytesLike + ], [ + void + ], "payable">; + getEvent(key: "AdminChanged"): TypedContractEvent; + getEvent(key: "Upgraded"): TypedContractEvent; + filters: { + "AdminChanged(address,address)": TypedContractEvent; + AdminChanged: TypedContractEvent; + "Upgraded(address)": TypedContractEvent; + Upgraded: TypedContractEvent; + }; +} diff --git a/dist/contracts/Governance/Aggregator/Aggregator.d.ts b/dist/contracts/Governance/Aggregator/Aggregator.d.ts new file mode 100644 index 0000000..ee70c9c --- /dev/null +++ b/dist/contracts/Governance/Aggregator/Aggregator.d.ts @@ -0,0 +1,158 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../../common"; +export type RelayerStruct = { + owner: AddressLike; + balance: BigNumberish; + isRegistered: boolean; + records: string[]; +}; +export type RelayerStructOutput = [ + owner: string, + balance: bigint, + isRegistered: boolean, + records: string[] +] & { + owner: string; + balance: bigint; + isRegistered: boolean; + records: string[]; +}; +export declare namespace GovernanceAggregator { + type ProposalStruct = { + proposer: AddressLike; + target: AddressLike; + startTime: BigNumberish; + endTime: BigNumberish; + forVotes: BigNumberish; + againstVotes: BigNumberish; + executed: boolean; + extended: boolean; + state: BigNumberish; + }; + type ProposalStructOutput = [ + proposer: string, + target: string, + startTime: bigint, + endTime: bigint, + forVotes: bigint, + againstVotes: bigint, + executed: boolean, + extended: boolean, + state: bigint + ] & { + proposer: string; + target: string; + startTime: bigint; + endTime: bigint; + forVotes: bigint; + againstVotes: bigint; + executed: boolean; + extended: boolean; + state: bigint; + }; +} +export interface AggregatorInterface extends Interface { + getFunction(nameOrSignature: "ENSRegistry" | "RelayerRegistry" | "getAllProposals" | "getGovernanceBalances" | "getUserData" | "relayersData"): FunctionFragment; + encodeFunctionData(functionFragment: "ENSRegistry", values?: undefined): string; + encodeFunctionData(functionFragment: "RelayerRegistry", values?: undefined): string; + encodeFunctionData(functionFragment: "getAllProposals", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "getGovernanceBalances", values: [AddressLike, AddressLike[]]): string; + encodeFunctionData(functionFragment: "getUserData", values: [AddressLike, AddressLike]): string; + encodeFunctionData(functionFragment: "relayersData", values: [BytesLike[], string[]]): string; + decodeFunctionResult(functionFragment: "ENSRegistry", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "RelayerRegistry", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "getAllProposals", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "getGovernanceBalances", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "getUserData", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "relayersData", data: BytesLike): Result; +} +export interface Aggregator extends BaseContract { + connect(runner?: ContractRunner | null): Aggregator; + waitForDeployment(): Promise; + interface: AggregatorInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + ENSRegistry: TypedContractMethod<[], [string], "view">; + RelayerRegistry: TypedContractMethod<[], [string], "view">; + getAllProposals: TypedContractMethod<[ + governance: AddressLike + ], [ + GovernanceAggregator.ProposalStructOutput[] + ], "view">; + getGovernanceBalances: TypedContractMethod<[ + governance: AddressLike, + accs: AddressLike[] + ], [ + bigint[] + ], "view">; + getUserData: TypedContractMethod<[ + governance: AddressLike, + account: AddressLike + ], [ + [ + bigint, + bigint, + bigint, + bigint, + string + ] & { + balance: bigint; + latestProposalId: bigint; + latestProposalIdState: bigint; + timelock: bigint; + delegatee: string; + } + ], "view">; + relayersData: TypedContractMethod<[ + _relayers: BytesLike[], + _subdomains: string[] + ], [ + RelayerStructOutput[] + ], "view">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "ENSRegistry"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "RelayerRegistry"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "getAllProposals"): TypedContractMethod<[ + governance: AddressLike + ], [ + GovernanceAggregator.ProposalStructOutput[] + ], "view">; + getFunction(nameOrSignature: "getGovernanceBalances"): TypedContractMethod<[ + governance: AddressLike, + accs: AddressLike[] + ], [ + bigint[] + ], "view">; + getFunction(nameOrSignature: "getUserData"): TypedContractMethod<[ + governance: AddressLike, + account: AddressLike + ], [ + [ + bigint, + bigint, + bigint, + bigint, + string + ] & { + balance: bigint; + latestProposalId: bigint; + latestProposalIdState: bigint; + timelock: bigint; + delegatee: string; + } + ], "view">; + getFunction(nameOrSignature: "relayersData"): TypedContractMethod<[ + _relayers: BytesLike[], + _subdomains: string[] + ], [ + RelayerStructOutput[] + ], "view">; + filters: {}; +} diff --git a/dist/contracts/Governance/Aggregator/GovernanceAggregator.d.ts b/dist/contracts/Governance/Aggregator/GovernanceAggregator.d.ts new file mode 100644 index 0000000..f495808 --- /dev/null +++ b/dist/contracts/Governance/Aggregator/GovernanceAggregator.d.ts @@ -0,0 +1,119 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../../common"; +export declare namespace GovernanceAggregator { + type ProposalStruct = { + proposer: AddressLike; + target: AddressLike; + startTime: BigNumberish; + endTime: BigNumberish; + forVotes: BigNumberish; + againstVotes: BigNumberish; + executed: boolean; + extended: boolean; + state: BigNumberish; + }; + type ProposalStructOutput = [ + proposer: string, + target: string, + startTime: bigint, + endTime: bigint, + forVotes: bigint, + againstVotes: bigint, + executed: boolean, + extended: boolean, + state: bigint + ] & { + proposer: string; + target: string; + startTime: bigint; + endTime: bigint; + forVotes: bigint; + againstVotes: bigint; + executed: boolean; + extended: boolean; + state: bigint; + }; +} +export interface GovernanceAggregatorInterface extends Interface { + getFunction(nameOrSignature: "getAllProposals" | "getGovernanceBalances" | "getUserData"): FunctionFragment; + encodeFunctionData(functionFragment: "getAllProposals", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "getGovernanceBalances", values: [AddressLike, AddressLike[]]): string; + encodeFunctionData(functionFragment: "getUserData", values: [AddressLike, AddressLike]): string; + decodeFunctionResult(functionFragment: "getAllProposals", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "getGovernanceBalances", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "getUserData", data: BytesLike): Result; +} +export interface GovernanceAggregator extends BaseContract { + connect(runner?: ContractRunner | null): GovernanceAggregator; + waitForDeployment(): Promise; + interface: GovernanceAggregatorInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + getAllProposals: TypedContractMethod<[ + governance: AddressLike + ], [ + GovernanceAggregator.ProposalStructOutput[] + ], "view">; + getGovernanceBalances: TypedContractMethod<[ + governance: AddressLike, + accs: AddressLike[] + ], [ + bigint[] + ], "view">; + getUserData: TypedContractMethod<[ + governance: AddressLike, + account: AddressLike + ], [ + [ + bigint, + bigint, + bigint, + bigint, + string + ] & { + balance: bigint; + latestProposalId: bigint; + latestProposalIdState: bigint; + timelock: bigint; + delegatee: string; + } + ], "view">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "getAllProposals"): TypedContractMethod<[ + governance: AddressLike + ], [ + GovernanceAggregator.ProposalStructOutput[] + ], "view">; + getFunction(nameOrSignature: "getGovernanceBalances"): TypedContractMethod<[ + governance: AddressLike, + accs: AddressLike[] + ], [ + bigint[] + ], "view">; + getFunction(nameOrSignature: "getUserData"): TypedContractMethod<[ + governance: AddressLike, + account: AddressLike + ], [ + [ + bigint, + bigint, + bigint, + bigint, + string + ] & { + balance: bigint; + latestProposalId: bigint; + latestProposalIdState: bigint; + timelock: bigint; + delegatee: string; + } + ], "view">; + filters: {}; +} diff --git a/dist/contracts/Governance/Aggregator/RelayerAggregator.sol/IENSRegistry.d.ts b/dist/contracts/Governance/Aggregator/RelayerAggregator.sol/IENSRegistry.d.ts new file mode 100644 index 0000000..ff9da85 --- /dev/null +++ b/dist/contracts/Governance/Aggregator/RelayerAggregator.sol/IENSRegistry.d.ts @@ -0,0 +1,252 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../../../common"; +export interface IENSRegistryInterface extends Interface { + getFunction(nameOrSignature: "isApprovedForAll" | "owner" | "recordExists" | "resolver" | "setApprovalForAll" | "setOwner" | "setRecord" | "setResolver" | "setSubnodeOwner" | "setSubnodeRecord" | "setTTL" | "ttl"): FunctionFragment; + getEvent(nameOrSignatureOrTopic: "ApprovalForAll" | "NewOwner" | "NewResolver" | "NewTTL" | "Transfer"): EventFragment; + encodeFunctionData(functionFragment: "isApprovedForAll", values: [AddressLike, AddressLike]): string; + encodeFunctionData(functionFragment: "owner", values: [BytesLike]): string; + encodeFunctionData(functionFragment: "recordExists", values: [BytesLike]): string; + encodeFunctionData(functionFragment: "resolver", values: [BytesLike]): string; + encodeFunctionData(functionFragment: "setApprovalForAll", values: [AddressLike, boolean]): string; + encodeFunctionData(functionFragment: "setOwner", values: [BytesLike, AddressLike]): string; + encodeFunctionData(functionFragment: "setRecord", values: [BytesLike, AddressLike, AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "setResolver", values: [BytesLike, AddressLike]): string; + encodeFunctionData(functionFragment: "setSubnodeOwner", values: [BytesLike, BytesLike, AddressLike]): string; + encodeFunctionData(functionFragment: "setSubnodeRecord", values: [BytesLike, BytesLike, AddressLike, AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "setTTL", values: [BytesLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "ttl", values: [BytesLike]): string; + decodeFunctionResult(functionFragment: "isApprovedForAll", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "recordExists", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "resolver", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setApprovalForAll", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setOwner", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setRecord", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setResolver", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setSubnodeOwner", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setSubnodeRecord", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setTTL", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "ttl", data: BytesLike): Result; +} +export declare namespace ApprovalForAllEvent { + type InputTuple = [ + owner: AddressLike, + operator: AddressLike, + approved: boolean + ]; + type OutputTuple = [ + owner: string, + operator: string, + approved: boolean + ]; + interface OutputObject { + owner: string; + operator: string; + approved: boolean; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace NewOwnerEvent { + type InputTuple = [ + node: BytesLike, + label: BytesLike, + owner: AddressLike + ]; + type OutputTuple = [node: string, label: string, owner: string]; + interface OutputObject { + node: string; + label: string; + owner: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace NewResolverEvent { + type InputTuple = [node: BytesLike, resolver: AddressLike]; + type OutputTuple = [node: string, resolver: string]; + interface OutputObject { + node: string; + resolver: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace NewTTLEvent { + type InputTuple = [node: BytesLike, ttl: BigNumberish]; + type OutputTuple = [node: string, ttl: bigint]; + interface OutputObject { + node: string; + ttl: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace TransferEvent { + type InputTuple = [node: BytesLike, owner: AddressLike]; + type OutputTuple = [node: string, owner: string]; + interface OutputObject { + node: string; + owner: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export interface IENSRegistry extends BaseContract { + connect(runner?: ContractRunner | null): IENSRegistry; + waitForDeployment(): Promise; + interface: IENSRegistryInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + isApprovedForAll: TypedContractMethod<[ + owner: AddressLike, + operator: AddressLike + ], [ + boolean + ], "view">; + owner: TypedContractMethod<[node: BytesLike], [string], "view">; + recordExists: TypedContractMethod<[node: BytesLike], [boolean], "view">; + resolver: TypedContractMethod<[node: BytesLike], [string], "view">; + setApprovalForAll: TypedContractMethod<[ + operator: AddressLike, + approved: boolean + ], [ + void + ], "nonpayable">; + setOwner: TypedContractMethod<[ + node: BytesLike, + owner: AddressLike + ], [ + void + ], "nonpayable">; + setRecord: TypedContractMethod<[ + node: BytesLike, + owner: AddressLike, + resolver: AddressLike, + ttl: BigNumberish + ], [ + void + ], "nonpayable">; + setResolver: TypedContractMethod<[ + node: BytesLike, + resolver: AddressLike + ], [ + void + ], "nonpayable">; + setSubnodeOwner: TypedContractMethod<[ + node: BytesLike, + label: BytesLike, + owner: AddressLike + ], [ + string + ], "nonpayable">; + setSubnodeRecord: TypedContractMethod<[ + node: BytesLike, + label: BytesLike, + owner: AddressLike, + resolver: AddressLike, + ttl: BigNumberish + ], [ + void + ], "nonpayable">; + setTTL: TypedContractMethod<[ + node: BytesLike, + ttl: BigNumberish + ], [ + void + ], "nonpayable">; + ttl: TypedContractMethod<[node: BytesLike], [bigint], "view">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "isApprovedForAll"): TypedContractMethod<[ + owner: AddressLike, + operator: AddressLike + ], [ + boolean + ], "view">; + getFunction(nameOrSignature: "owner"): TypedContractMethod<[node: BytesLike], [string], "view">; + getFunction(nameOrSignature: "recordExists"): TypedContractMethod<[node: BytesLike], [boolean], "view">; + getFunction(nameOrSignature: "resolver"): TypedContractMethod<[node: BytesLike], [string], "view">; + getFunction(nameOrSignature: "setApprovalForAll"): TypedContractMethod<[ + operator: AddressLike, + approved: boolean + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "setOwner"): TypedContractMethod<[ + node: BytesLike, + owner: AddressLike + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "setRecord"): TypedContractMethod<[ + node: BytesLike, + owner: AddressLike, + resolver: AddressLike, + ttl: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "setResolver"): TypedContractMethod<[ + node: BytesLike, + resolver: AddressLike + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "setSubnodeOwner"): TypedContractMethod<[ + node: BytesLike, + label: BytesLike, + owner: AddressLike + ], [ + string + ], "nonpayable">; + getFunction(nameOrSignature: "setSubnodeRecord"): TypedContractMethod<[ + node: BytesLike, + label: BytesLike, + owner: AddressLike, + resolver: AddressLike, + ttl: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "setTTL"): TypedContractMethod<[ + node: BytesLike, + ttl: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "ttl"): TypedContractMethod<[node: BytesLike], [bigint], "view">; + getEvent(key: "ApprovalForAll"): TypedContractEvent; + getEvent(key: "NewOwner"): TypedContractEvent; + getEvent(key: "NewResolver"): TypedContractEvent; + getEvent(key: "NewTTL"): TypedContractEvent; + getEvent(key: "Transfer"): TypedContractEvent; + filters: { + "ApprovalForAll(address,address,bool)": TypedContractEvent; + ApprovalForAll: TypedContractEvent; + "NewOwner(bytes32,bytes32,address)": TypedContractEvent; + NewOwner: TypedContractEvent; + "NewResolver(bytes32,address)": TypedContractEvent; + NewResolver: TypedContractEvent; + "NewTTL(bytes32,uint64)": TypedContractEvent; + NewTTL: TypedContractEvent; + "Transfer(bytes32,address)": TypedContractEvent; + Transfer: TypedContractEvent; + }; +} diff --git a/dist/contracts/Governance/Aggregator/RelayerAggregator.sol/IENSResolver.d.ts b/dist/contracts/Governance/Aggregator/RelayerAggregator.sol/IENSResolver.d.ts new file mode 100644 index 0000000..6dd064e --- /dev/null +++ b/dist/contracts/Governance/Aggregator/RelayerAggregator.sol/IENSResolver.d.ts @@ -0,0 +1,29 @@ +import type { BaseContract, BytesLike, FunctionFragment, Result, Interface, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../../../common"; +export interface IENSResolverInterface extends Interface { + getFunction(nameOrSignature: "addr" | "text"): FunctionFragment; + encodeFunctionData(functionFragment: "addr", values: [BytesLike]): string; + encodeFunctionData(functionFragment: "text", values: [BytesLike, string]): string; + decodeFunctionResult(functionFragment: "addr", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "text", data: BytesLike): Result; +} +export interface IENSResolver extends BaseContract { + connect(runner?: ContractRunner | null): IENSResolver; + waitForDeployment(): Promise; + interface: IENSResolverInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + addr: TypedContractMethod<[node: BytesLike], [string], "view">; + text: TypedContractMethod<[node: BytesLike, key: string], [string], "view">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "addr"): TypedContractMethod<[node: BytesLike], [string], "view">; + getFunction(nameOrSignature: "text"): TypedContractMethod<[node: BytesLike, key: string], [string], "view">; + filters: {}; +} diff --git a/dist/contracts/Governance/Aggregator/RelayerAggregator.sol/IRelayerRegistry.d.ts b/dist/contracts/Governance/Aggregator/RelayerAggregator.sol/IRelayerRegistry.d.ts new file mode 100644 index 0000000..fd8dcd3 --- /dev/null +++ b/dist/contracts/Governance/Aggregator/RelayerAggregator.sol/IRelayerRegistry.d.ts @@ -0,0 +1,43 @@ +import type { BaseContract, BytesLike, FunctionFragment, Result, Interface, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../../../common"; +export interface IRelayerRegistryInterface extends Interface { + getFunction(nameOrSignature: "getRelayerBalance" | "isRelayerRegistered"): FunctionFragment; + encodeFunctionData(functionFragment: "getRelayerBalance", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "isRelayerRegistered", values: [AddressLike, AddressLike]): string; + decodeFunctionResult(functionFragment: "getRelayerBalance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "isRelayerRegistered", data: BytesLike): Result; +} +export interface IRelayerRegistry extends BaseContract { + connect(runner?: ContractRunner | null): IRelayerRegistry; + waitForDeployment(): Promise; + interface: IRelayerRegistryInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + getRelayerBalance: TypedContractMethod<[ + relayer: AddressLike + ], [ + bigint + ], "view">; + isRelayerRegistered: TypedContractMethod<[ + relayer: AddressLike, + toResolve: AddressLike + ], [ + boolean + ], "view">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "getRelayerBalance"): TypedContractMethod<[relayer: AddressLike], [bigint], "view">; + getFunction(nameOrSignature: "isRelayerRegistered"): TypedContractMethod<[ + relayer: AddressLike, + toResolve: AddressLike + ], [ + boolean + ], "view">; + filters: {}; +} diff --git a/dist/contracts/Governance/Aggregator/RelayerAggregator.sol/RelayerAggregator.d.ts b/dist/contracts/Governance/Aggregator/RelayerAggregator.sol/RelayerAggregator.d.ts new file mode 100644 index 0000000..b54cea1 --- /dev/null +++ b/dist/contracts/Governance/Aggregator/RelayerAggregator.sol/RelayerAggregator.d.ts @@ -0,0 +1,60 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../../../common"; +export type RelayerStruct = { + owner: AddressLike; + balance: BigNumberish; + isRegistered: boolean; + records: string[]; +}; +export type RelayerStructOutput = [ + owner: string, + balance: bigint, + isRegistered: boolean, + records: string[] +] & { + owner: string; + balance: bigint; + isRegistered: boolean; + records: string[]; +}; +export interface RelayerAggregatorInterface extends Interface { + getFunction(nameOrSignature: "ENSRegistry" | "RelayerRegistry" | "relayersData"): FunctionFragment; + encodeFunctionData(functionFragment: "ENSRegistry", values?: undefined): string; + encodeFunctionData(functionFragment: "RelayerRegistry", values?: undefined): string; + encodeFunctionData(functionFragment: "relayersData", values: [BytesLike[], string[]]): string; + decodeFunctionResult(functionFragment: "ENSRegistry", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "RelayerRegistry", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "relayersData", data: BytesLike): Result; +} +export interface RelayerAggregator extends BaseContract { + connect(runner?: ContractRunner | null): RelayerAggregator; + waitForDeployment(): Promise; + interface: RelayerAggregatorInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + ENSRegistry: TypedContractMethod<[], [string], "view">; + RelayerRegistry: TypedContractMethod<[], [string], "view">; + relayersData: TypedContractMethod<[ + _relayers: BytesLike[], + _subdomains: string[] + ], [ + RelayerStructOutput[] + ], "view">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "ENSRegistry"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "RelayerRegistry"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "relayersData"): TypedContractMethod<[ + _relayers: BytesLike[], + _subdomains: string[] + ], [ + RelayerStructOutput[] + ], "view">; + filters: {}; +} diff --git a/dist/contracts/Governance/Aggregator/RelayerAggregator.sol/index.d.ts b/dist/contracts/Governance/Aggregator/RelayerAggregator.sol/index.d.ts new file mode 100644 index 0000000..a7c7640 --- /dev/null +++ b/dist/contracts/Governance/Aggregator/RelayerAggregator.sol/index.d.ts @@ -0,0 +1,4 @@ +export type { IENSRegistry } from "./IENSRegistry"; +export type { IENSResolver } from "./IENSResolver"; +export type { IRelayerRegistry } from "./IRelayerRegistry"; +export type { RelayerAggregator } from "./RelayerAggregator"; diff --git a/dist/contracts/Governance/Aggregator/index.d.ts b/dist/contracts/Governance/Aggregator/index.d.ts new file mode 100644 index 0000000..2450ae6 --- /dev/null +++ b/dist/contracts/Governance/Aggregator/index.d.ts @@ -0,0 +1,4 @@ +import type * as relayerAggregatorSol from "./RelayerAggregator.sol"; +export type { relayerAggregatorSol }; +export type { Aggregator } from "./Aggregator"; +export type { GovernanceAggregator } from "./GovernanceAggregator"; diff --git a/dist/contracts/Governance/Deployer.sol/Deployer.d.ts b/dist/contracts/Governance/Deployer.sol/Deployer.d.ts new file mode 100644 index 0000000..ae292dc --- /dev/null +++ b/dist/contracts/Governance/Deployer.sol/Deployer.d.ts @@ -0,0 +1,56 @@ +import type { BaseContract, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../../common"; +export interface DeployerInterface extends Interface { + getFunction(nameOrSignature: "deploy" | "deployer"): FunctionFragment; + getEvent(nameOrSignatureOrTopic: "Deployed"): EventFragment; + encodeFunctionData(functionFragment: "deploy", values: [BytesLike, BytesLike]): string; + encodeFunctionData(functionFragment: "deployer", values?: undefined): string; + decodeFunctionResult(functionFragment: "deploy", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "deployer", data: BytesLike): Result; +} +export declare namespace DeployedEvent { + type InputTuple = [sender: AddressLike, addr: AddressLike]; + type OutputTuple = [sender: string, addr: string]; + interface OutputObject { + sender: string; + addr: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export interface Deployer extends BaseContract { + connect(runner?: ContractRunner | null): Deployer; + waitForDeployment(): Promise; + interface: DeployerInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + deploy: TypedContractMethod<[ + _initCode: BytesLike, + _salt: BytesLike + ], [ + void + ], "nonpayable">; + deployer: TypedContractMethod<[], [string], "view">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "deploy"): TypedContractMethod<[ + _initCode: BytesLike, + _salt: BytesLike + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "deployer"): TypedContractMethod<[], [string], "view">; + getEvent(key: "Deployed"): TypedContractEvent; + filters: { + "Deployed(address,address)": TypedContractEvent; + Deployed: TypedContractEvent; + }; +} diff --git a/dist/contracts/Governance/Deployer.sol/IDeployer.d.ts b/dist/contracts/Governance/Deployer.sol/IDeployer.d.ts new file mode 100644 index 0000000..2fe27be --- /dev/null +++ b/dist/contracts/Governance/Deployer.sol/IDeployer.d.ts @@ -0,0 +1,35 @@ +import type { BaseContract, BytesLike, FunctionFragment, Result, Interface, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../../common"; +export interface IDeployerInterface extends Interface { + getFunction(nameOrSignature: "deploy"): FunctionFragment; + encodeFunctionData(functionFragment: "deploy", values: [BytesLike, BytesLike]): string; + decodeFunctionResult(functionFragment: "deploy", data: BytesLike): Result; +} +export interface IDeployer extends BaseContract { + connect(runner?: ContractRunner | null): IDeployer; + waitForDeployment(): Promise; + interface: IDeployerInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + deploy: TypedContractMethod<[ + _initCode: BytesLike, + _salt: BytesLike + ], [ + string + ], "nonpayable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "deploy"): TypedContractMethod<[ + _initCode: BytesLike, + _salt: BytesLike + ], [ + string + ], "nonpayable">; + filters: {}; +} diff --git a/dist/contracts/Governance/Deployer.sol/index.d.ts b/dist/contracts/Governance/Deployer.sol/index.d.ts new file mode 100644 index 0000000..43b4847 --- /dev/null +++ b/dist/contracts/Governance/Deployer.sol/index.d.ts @@ -0,0 +1,2 @@ +export type { Deployer } from "./Deployer"; +export type { IDeployer } from "./IDeployer"; diff --git a/dist/contracts/Governance/FeeManager.d.ts b/dist/contracts/Governance/FeeManager.d.ts new file mode 100644 index 0000000..1d6ab5b --- /dev/null +++ b/dist/contracts/Governance/FeeManager.d.ts @@ -0,0 +1,173 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../common"; +export declare namespace FeeManager { + type DeviationStruct = { + instance: AddressLike; + deviation: BigNumberish; + }; + type DeviationStructOutput = [instance: string, deviation: bigint] & { + instance: string; + deviation: bigint; + }; +} +export interface FeeManagerInterface extends Interface { + getFunction(nameOrSignature: "PROTOCOL_FEE_DIVIDER" | "calculatePoolFee" | "feeDeviations" | "governance" | "instanceFee" | "instanceFeeUpdated" | "instanceFeeWithUpdate" | "registry" | "setPeriodForTWAPOracle" | "setUniswapTornPoolSwappingFee" | "setUpdateFeeTimeLimit" | "torn" | "uniswapTimePeriod" | "uniswapTornPoolSwappingFee" | "updateAllFees" | "updateFee" | "updateFeeTimeLimit" | "updateFees"): FunctionFragment; + getEvent(nameOrSignatureOrTopic: "FeeUpdated" | "UniswapTornPoolSwappingFeeChanged"): EventFragment; + encodeFunctionData(functionFragment: "PROTOCOL_FEE_DIVIDER", values?: undefined): string; + encodeFunctionData(functionFragment: "calculatePoolFee", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "feeDeviations", values?: undefined): string; + encodeFunctionData(functionFragment: "governance", values?: undefined): string; + encodeFunctionData(functionFragment: "instanceFee", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "instanceFeeUpdated", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "instanceFeeWithUpdate", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "registry", values?: undefined): string; + encodeFunctionData(functionFragment: "setPeriodForTWAPOracle", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setUniswapTornPoolSwappingFee", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setUpdateFeeTimeLimit", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "torn", values?: undefined): string; + encodeFunctionData(functionFragment: "uniswapTimePeriod", values?: undefined): string; + encodeFunctionData(functionFragment: "uniswapTornPoolSwappingFee", values?: undefined): string; + encodeFunctionData(functionFragment: "updateAllFees", values?: undefined): string; + encodeFunctionData(functionFragment: "updateFee", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "updateFeeTimeLimit", values?: undefined): string; + encodeFunctionData(functionFragment: "updateFees", values: [AddressLike[]]): string; + decodeFunctionResult(functionFragment: "PROTOCOL_FEE_DIVIDER", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "calculatePoolFee", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "feeDeviations", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "governance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "instanceFee", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "instanceFeeUpdated", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "instanceFeeWithUpdate", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "registry", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setPeriodForTWAPOracle", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setUniswapTornPoolSwappingFee", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setUpdateFeeTimeLimit", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "torn", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "uniswapTimePeriod", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "uniswapTornPoolSwappingFee", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "updateAllFees", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "updateFee", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "updateFeeTimeLimit", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "updateFees", data: BytesLike): Result; +} +export declare namespace FeeUpdatedEvent { + type InputTuple = [instance: AddressLike, newFee: BigNumberish]; + type OutputTuple = [instance: string, newFee: bigint]; + interface OutputObject { + instance: string; + newFee: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace UniswapTornPoolSwappingFeeChangedEvent { + type InputTuple = [newFee: BigNumberish]; + type OutputTuple = [newFee: bigint]; + interface OutputObject { + newFee: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export interface FeeManager extends BaseContract { + connect(runner?: ContractRunner | null): FeeManager; + waitForDeployment(): Promise; + interface: FeeManagerInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + PROTOCOL_FEE_DIVIDER: TypedContractMethod<[], [bigint], "view">; + calculatePoolFee: TypedContractMethod<[ + _instance: AddressLike + ], [ + bigint + ], "view">; + feeDeviations: TypedContractMethod<[ + ], [ + FeeManager.DeviationStructOutput[] + ], "view">; + governance: TypedContractMethod<[], [string], "view">; + instanceFee: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + instanceFeeUpdated: TypedContractMethod<[ + arg0: AddressLike + ], [ + bigint + ], "view">; + instanceFeeWithUpdate: TypedContractMethod<[ + _instance: AddressLike + ], [ + bigint + ], "nonpayable">; + registry: TypedContractMethod<[], [string], "view">; + setPeriodForTWAPOracle: TypedContractMethod<[ + newPeriod: BigNumberish + ], [ + void + ], "nonpayable">; + setUniswapTornPoolSwappingFee: TypedContractMethod<[ + _uniswapTornPoolSwappingFee: BigNumberish + ], [ + void + ], "nonpayable">; + setUpdateFeeTimeLimit: TypedContractMethod<[ + newLimit: BigNumberish + ], [ + void + ], "nonpayable">; + torn: TypedContractMethod<[], [string], "view">; + uniswapTimePeriod: TypedContractMethod<[], [bigint], "view">; + uniswapTornPoolSwappingFee: TypedContractMethod<[], [bigint], "view">; + updateAllFees: TypedContractMethod<[], [void], "nonpayable">; + updateFee: TypedContractMethod<[ + _instance: AddressLike + ], [ + void + ], "nonpayable">; + updateFeeTimeLimit: TypedContractMethod<[], [bigint], "view">; + updateFees: TypedContractMethod<[ + _instances: AddressLike[] + ], [ + void + ], "nonpayable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "PROTOCOL_FEE_DIVIDER"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "calculatePoolFee"): TypedContractMethod<[_instance: AddressLike], [bigint], "view">; + getFunction(nameOrSignature: "feeDeviations"): TypedContractMethod<[], [FeeManager.DeviationStructOutput[]], "view">; + getFunction(nameOrSignature: "governance"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "instanceFee"): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction(nameOrSignature: "instanceFeeUpdated"): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction(nameOrSignature: "instanceFeeWithUpdate"): TypedContractMethod<[_instance: AddressLike], [bigint], "nonpayable">; + getFunction(nameOrSignature: "registry"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "setPeriodForTWAPOracle"): TypedContractMethod<[newPeriod: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "setUniswapTornPoolSwappingFee"): TypedContractMethod<[ + _uniswapTornPoolSwappingFee: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "setUpdateFeeTimeLimit"): TypedContractMethod<[newLimit: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "torn"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "uniswapTimePeriod"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "uniswapTornPoolSwappingFee"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "updateAllFees"): TypedContractMethod<[], [void], "nonpayable">; + getFunction(nameOrSignature: "updateFee"): TypedContractMethod<[_instance: AddressLike], [void], "nonpayable">; + getFunction(nameOrSignature: "updateFeeTimeLimit"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "updateFees"): TypedContractMethod<[_instances: AddressLike[]], [void], "nonpayable">; + getEvent(key: "FeeUpdated"): TypedContractEvent; + getEvent(key: "UniswapTornPoolSwappingFeeChanged"): TypedContractEvent; + filters: { + "FeeUpdated(address,uint256)": TypedContractEvent; + FeeUpdated: TypedContractEvent; + "UniswapTornPoolSwappingFeeChanged(uint24)": TypedContractEvent; + UniswapTornPoolSwappingFeeChanged: TypedContractEvent; + }; +} diff --git a/dist/contracts/Governance/GasCompensationVault.d.ts b/dist/contracts/Governance/GasCompensationVault.d.ts new file mode 100644 index 0000000..d35e49c --- /dev/null +++ b/dist/contracts/Governance/GasCompensationVault.d.ts @@ -0,0 +1,47 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../common"; +export interface GasCompensationVaultInterface extends Interface { + getFunction(nameOrSignature: "GovernanceAddress" | "compensateGas" | "withdrawToGovernance"): FunctionFragment; + encodeFunctionData(functionFragment: "GovernanceAddress", values?: undefined): string; + encodeFunctionData(functionFragment: "compensateGas", values: [AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "withdrawToGovernance", values: [BigNumberish]): string; + decodeFunctionResult(functionFragment: "GovernanceAddress", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "compensateGas", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "withdrawToGovernance", data: BytesLike): Result; +} +export interface GasCompensationVault extends BaseContract { + connect(runner?: ContractRunner | null): GasCompensationVault; + waitForDeployment(): Promise; + interface: GasCompensationVaultInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + GovernanceAddress: TypedContractMethod<[], [string], "view">; + compensateGas: TypedContractMethod<[ + recipient: AddressLike, + gasAmount: BigNumberish + ], [ + void + ], "nonpayable">; + withdrawToGovernance: TypedContractMethod<[ + amount: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "GovernanceAddress"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "compensateGas"): TypedContractMethod<[ + recipient: AddressLike, + gasAmount: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "withdrawToGovernance"): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + filters: {}; +} diff --git a/dist/contracts/Governance/InstanceRegistry.sol/ITornadoRouter.d.ts b/dist/contracts/Governance/InstanceRegistry.sol/ITornadoRouter.d.ts new file mode 100644 index 0000000..3972707 --- /dev/null +++ b/dist/contracts/Governance/InstanceRegistry.sol/ITornadoRouter.d.ts @@ -0,0 +1,37 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../../common"; +export interface ITornadoRouterInterface extends Interface { + getFunction(nameOrSignature: "approveExactToken"): FunctionFragment; + encodeFunctionData(functionFragment: "approveExactToken", values: [AddressLike, AddressLike, BigNumberish]): string; + decodeFunctionResult(functionFragment: "approveExactToken", data: BytesLike): Result; +} +export interface ITornadoRouter extends BaseContract { + connect(runner?: ContractRunner | null): ITornadoRouter; + waitForDeployment(): Promise; + interface: ITornadoRouterInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + approveExactToken: TypedContractMethod<[ + _token: AddressLike, + _spender: AddressLike, + _amount: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "approveExactToken"): TypedContractMethod<[ + _token: AddressLike, + _spender: AddressLike, + _amount: BigNumberish + ], [ + void + ], "nonpayable">; + filters: {}; +} diff --git a/dist/contracts/Governance/InstanceRegistry.sol/InstanceRegistry.d.ts b/dist/contracts/Governance/InstanceRegistry.sol/InstanceRegistry.d.ts new file mode 100644 index 0000000..75ee244 --- /dev/null +++ b/dist/contracts/Governance/InstanceRegistry.sol/InstanceRegistry.d.ts @@ -0,0 +1,204 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../../common"; +export declare namespace InstanceRegistry { + type InstanceStruct = { + isERC20: boolean; + token: AddressLike; + state: BigNumberish; + uniswapPoolSwappingFee: BigNumberish; + protocolFeePercentage: BigNumberish; + }; + type InstanceStructOutput = [ + isERC20: boolean, + token: string, + state: bigint, + uniswapPoolSwappingFee: bigint, + protocolFeePercentage: bigint + ] & { + isERC20: boolean; + token: string; + state: bigint; + uniswapPoolSwappingFee: bigint; + protocolFeePercentage: bigint; + }; + type TornadoStruct = { + addr: AddressLike; + instance: InstanceRegistry.InstanceStruct; + }; + type TornadoStructOutput = [ + addr: string, + instance: InstanceRegistry.InstanceStructOutput + ] & { + addr: string; + instance: InstanceRegistry.InstanceStructOutput; + }; +} +export interface InstanceRegistryInterface extends Interface { + getFunction(nameOrSignature: "getAllInstanceAddresses" | "getAllInstances" | "getPoolToken" | "governance" | "initialize" | "instanceIds" | "instances" | "removeInstance" | "router" | "setProtocolFee" | "setTornadoRouter" | "updateInstance"): FunctionFragment; + getEvent(nameOrSignatureOrTopic: "InstanceStateUpdated" | "RouterRegistered"): EventFragment; + encodeFunctionData(functionFragment: "getAllInstanceAddresses", values?: undefined): string; + encodeFunctionData(functionFragment: "getAllInstances", values?: undefined): string; + encodeFunctionData(functionFragment: "getPoolToken", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "governance", values?: undefined): string; + encodeFunctionData(functionFragment: "initialize", values: [InstanceRegistry.TornadoStruct[], AddressLike]): string; + encodeFunctionData(functionFragment: "instanceIds", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "instances", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "removeInstance", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "router", values?: undefined): string; + encodeFunctionData(functionFragment: "setProtocolFee", values: [AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "setTornadoRouter", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "updateInstance", values: [InstanceRegistry.TornadoStruct]): string; + decodeFunctionResult(functionFragment: "getAllInstanceAddresses", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "getAllInstances", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "getPoolToken", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "governance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "instanceIds", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "instances", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "removeInstance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "router", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setProtocolFee", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setTornadoRouter", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "updateInstance", data: BytesLike): Result; +} +export declare namespace InstanceStateUpdatedEvent { + type InputTuple = [instance: AddressLike, state: BigNumberish]; + type OutputTuple = [instance: string, state: bigint]; + interface OutputObject { + instance: string; + state: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace RouterRegisteredEvent { + type InputTuple = [tornadoRouter: AddressLike]; + type OutputTuple = [tornadoRouter: string]; + interface OutputObject { + tornadoRouter: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export interface InstanceRegistry extends BaseContract { + connect(runner?: ContractRunner | null): InstanceRegistry; + waitForDeployment(): Promise; + interface: InstanceRegistryInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + getAllInstanceAddresses: TypedContractMethod<[], [string[]], "view">; + getAllInstances: TypedContractMethod<[ + ], [ + InstanceRegistry.TornadoStructOutput[] + ], "view">; + getPoolToken: TypedContractMethod<[instance: AddressLike], [string], "view">; + governance: TypedContractMethod<[], [string], "view">; + initialize: TypedContractMethod<[ + _instances: InstanceRegistry.TornadoStruct[], + _router: AddressLike + ], [ + void + ], "nonpayable">; + instanceIds: TypedContractMethod<[arg0: BigNumberish], [string], "view">; + instances: TypedContractMethod<[ + arg0: AddressLike + ], [ + [ + boolean, + string, + bigint, + bigint, + bigint + ] & { + isERC20: boolean; + token: string; + state: bigint; + uniswapPoolSwappingFee: bigint; + protocolFeePercentage: bigint; + } + ], "view">; + removeInstance: TypedContractMethod<[ + _instanceId: BigNumberish + ], [ + void + ], "nonpayable">; + router: TypedContractMethod<[], [string], "view">; + setProtocolFee: TypedContractMethod<[ + instance: AddressLike, + newFee: BigNumberish + ], [ + void + ], "nonpayable">; + setTornadoRouter: TypedContractMethod<[ + routerAddress: AddressLike + ], [ + void + ], "nonpayable">; + updateInstance: TypedContractMethod<[ + _tornado: InstanceRegistry.TornadoStruct + ], [ + void + ], "nonpayable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "getAllInstanceAddresses"): TypedContractMethod<[], [string[]], "view">; + getFunction(nameOrSignature: "getAllInstances"): TypedContractMethod<[], [InstanceRegistry.TornadoStructOutput[]], "view">; + getFunction(nameOrSignature: "getPoolToken"): TypedContractMethod<[instance: AddressLike], [string], "view">; + getFunction(nameOrSignature: "governance"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "initialize"): TypedContractMethod<[ + _instances: InstanceRegistry.TornadoStruct[], + _router: AddressLike + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "instanceIds"): TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getFunction(nameOrSignature: "instances"): TypedContractMethod<[ + arg0: AddressLike + ], [ + [ + boolean, + string, + bigint, + bigint, + bigint + ] & { + isERC20: boolean; + token: string; + state: bigint; + uniswapPoolSwappingFee: bigint; + protocolFeePercentage: bigint; + } + ], "view">; + getFunction(nameOrSignature: "removeInstance"): TypedContractMethod<[_instanceId: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "router"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "setProtocolFee"): TypedContractMethod<[ + instance: AddressLike, + newFee: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "setTornadoRouter"): TypedContractMethod<[routerAddress: AddressLike], [void], "nonpayable">; + getFunction(nameOrSignature: "updateInstance"): TypedContractMethod<[ + _tornado: InstanceRegistry.TornadoStruct + ], [ + void + ], "nonpayable">; + getEvent(key: "InstanceStateUpdated"): TypedContractEvent; + getEvent(key: "RouterRegistered"): TypedContractEvent; + filters: { + "InstanceStateUpdated(address,uint8)": TypedContractEvent; + InstanceStateUpdated: TypedContractEvent; + "RouterRegistered(address)": TypedContractEvent; + RouterRegistered: TypedContractEvent; + }; +} diff --git a/dist/contracts/Governance/InstanceRegistry.sol/index.d.ts b/dist/contracts/Governance/InstanceRegistry.sol/index.d.ts new file mode 100644 index 0000000..3c1c5b1 --- /dev/null +++ b/dist/contracts/Governance/InstanceRegistry.sol/index.d.ts @@ -0,0 +1,2 @@ +export type { ITornadoRouter } from "./ITornadoRouter"; +export type { InstanceRegistry } from "./InstanceRegistry"; diff --git a/dist/contracts/Governance/LoopbackProxy.d.ts b/dist/contracts/Governance/LoopbackProxy.d.ts new file mode 100644 index 0000000..3a8b43d --- /dev/null +++ b/dist/contracts/Governance/LoopbackProxy.d.ts @@ -0,0 +1,94 @@ +import type { BaseContract, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../common"; +export interface LoopbackProxyInterface extends Interface { + getFunction(nameOrSignature: "admin" | "changeAdmin" | "implementation" | "upgradeTo" | "upgradeToAndCall"): FunctionFragment; + getEvent(nameOrSignatureOrTopic: "AdminChanged" | "Upgraded"): EventFragment; + encodeFunctionData(functionFragment: "admin", values?: undefined): string; + encodeFunctionData(functionFragment: "changeAdmin", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "implementation", values?: undefined): string; + encodeFunctionData(functionFragment: "upgradeTo", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "upgradeToAndCall", values: [AddressLike, BytesLike]): string; + decodeFunctionResult(functionFragment: "admin", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "changeAdmin", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "implementation", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "upgradeTo", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "upgradeToAndCall", data: BytesLike): Result; +} +export declare namespace AdminChangedEvent { + type InputTuple = [previousAdmin: AddressLike, newAdmin: AddressLike]; + type OutputTuple = [previousAdmin: string, newAdmin: string]; + interface OutputObject { + previousAdmin: string; + newAdmin: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace UpgradedEvent { + type InputTuple = [implementation: AddressLike]; + type OutputTuple = [implementation: string]; + interface OutputObject { + implementation: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export interface LoopbackProxy extends BaseContract { + connect(runner?: ContractRunner | null): LoopbackProxy; + waitForDeployment(): Promise; + interface: LoopbackProxyInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + admin: TypedContractMethod<[], [string], "nonpayable">; + changeAdmin: TypedContractMethod<[ + newAdmin: AddressLike + ], [ + void + ], "nonpayable">; + implementation: TypedContractMethod<[], [string], "nonpayable">; + upgradeTo: TypedContractMethod<[ + newImplementation: AddressLike + ], [ + void + ], "nonpayable">; + upgradeToAndCall: TypedContractMethod<[ + newImplementation: AddressLike, + data: BytesLike + ], [ + void + ], "payable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "admin"): TypedContractMethod<[], [string], "nonpayable">; + getFunction(nameOrSignature: "changeAdmin"): TypedContractMethod<[newAdmin: AddressLike], [void], "nonpayable">; + getFunction(nameOrSignature: "implementation"): TypedContractMethod<[], [string], "nonpayable">; + getFunction(nameOrSignature: "upgradeTo"): TypedContractMethod<[ + newImplementation: AddressLike + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "upgradeToAndCall"): TypedContractMethod<[ + newImplementation: AddressLike, + data: BytesLike + ], [ + void + ], "payable">; + getEvent(key: "AdminChanged"): TypedContractEvent; + getEvent(key: "Upgraded"): TypedContractEvent; + filters: { + "AdminChanged(address,address)": TypedContractEvent; + AdminChanged: TypedContractEvent; + "Upgraded(address)": TypedContractEvent; + Upgraded: TypedContractEvent; + }; +} diff --git a/dist/contracts/Governance/RelayerRegistry.sol/IENS.d.ts b/dist/contracts/Governance/RelayerRegistry.sol/IENS.d.ts new file mode 100644 index 0000000..1707f70 --- /dev/null +++ b/dist/contracts/Governance/RelayerRegistry.sol/IENS.d.ts @@ -0,0 +1,25 @@ +import type { BaseContract, BytesLike, FunctionFragment, Result, Interface, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../../common"; +export interface IENSInterface extends Interface { + getFunction(nameOrSignature: "owner"): FunctionFragment; + encodeFunctionData(functionFragment: "owner", values: [BytesLike]): string; + decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; +} +export interface IENS extends BaseContract { + connect(runner?: ContractRunner | null): IENS; + waitForDeployment(): Promise; + interface: IENSInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + owner: TypedContractMethod<[node: BytesLike], [string], "view">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "owner"): TypedContractMethod<[node: BytesLike], [string], "view">; + filters: {}; +} diff --git a/dist/contracts/Governance/RelayerRegistry.sol/IFeeManager.d.ts b/dist/contracts/Governance/RelayerRegistry.sol/IFeeManager.d.ts new file mode 100644 index 0000000..1c11ff7 --- /dev/null +++ b/dist/contracts/Governance/RelayerRegistry.sol/IFeeManager.d.ts @@ -0,0 +1,29 @@ +import type { BaseContract, BytesLike, FunctionFragment, Result, Interface, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../../common"; +export interface IFeeManagerInterface extends Interface { + getFunction(nameOrSignature: "instanceFeeWithUpdate"): FunctionFragment; + encodeFunctionData(functionFragment: "instanceFeeWithUpdate", values: [AddressLike]): string; + decodeFunctionResult(functionFragment: "instanceFeeWithUpdate", data: BytesLike): Result; +} +export interface IFeeManager extends BaseContract { + connect(runner?: ContractRunner | null): IFeeManager; + waitForDeployment(): Promise; + interface: IFeeManagerInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + instanceFeeWithUpdate: TypedContractMethod<[ + _instance: AddressLike + ], [ + bigint + ], "nonpayable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "instanceFeeWithUpdate"): TypedContractMethod<[_instance: AddressLike], [bigint], "nonpayable">; + filters: {}; +} diff --git a/dist/contracts/Governance/RelayerRegistry.sol/RelayerRegistry.d.ts b/dist/contracts/Governance/RelayerRegistry.sol/RelayerRegistry.d.ts new file mode 100644 index 0000000..ba9cb66 --- /dev/null +++ b/dist/contracts/Governance/RelayerRegistry.sol/RelayerRegistry.d.ts @@ -0,0 +1,410 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../../common"; +export interface RelayerRegistryInterface extends Interface { + getFunction(nameOrSignature: "burn" | "ens" | "feeManager" | "getRelayerBalance" | "getRelayerEnsHash" | "governance" | "initialize" | "isRelayer" | "isRelayerRegistered" | "minStakeAmount" | "nullifyBalance" | "register" | "registerPermit" | "registerWorker" | "relayers" | "setMinStakeAmount" | "setTornadoRouter" | "stakeToRelayer" | "stakeToRelayerPermit" | "staking" | "torn" | "tornadoRouter" | "unregisterWorker" | "workers"): FunctionFragment; + getEvent(nameOrSignatureOrTopic: "MinimumStakeAmount" | "RelayerBalanceNullified" | "RelayerRegistered" | "RouterRegistered" | "StakeAddedToRelayer" | "StakeBurned" | "WorkerRegistered" | "WorkerUnregistered"): EventFragment; + encodeFunctionData(functionFragment: "burn", values: [AddressLike, AddressLike, AddressLike]): string; + encodeFunctionData(functionFragment: "ens", values?: undefined): string; + encodeFunctionData(functionFragment: "feeManager", values?: undefined): string; + encodeFunctionData(functionFragment: "getRelayerBalance", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "getRelayerEnsHash", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "governance", values?: undefined): string; + encodeFunctionData(functionFragment: "initialize", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "isRelayer", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "isRelayerRegistered", values: [AddressLike, AddressLike]): string; + encodeFunctionData(functionFragment: "minStakeAmount", values?: undefined): string; + encodeFunctionData(functionFragment: "nullifyBalance", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "register", values: [string, BigNumberish, AddressLike[]]): string; + encodeFunctionData(functionFragment: "registerPermit", values: [ + string, + BigNumberish, + AddressLike[], + AddressLike, + BigNumberish, + BigNumberish, + BytesLike, + BytesLike + ]): string; + encodeFunctionData(functionFragment: "registerWorker", values: [AddressLike, AddressLike]): string; + encodeFunctionData(functionFragment: "relayers", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "setMinStakeAmount", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setTornadoRouter", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "stakeToRelayer", values: [AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "stakeToRelayerPermit", values: [ + AddressLike, + BigNumberish, + AddressLike, + BigNumberish, + BigNumberish, + BytesLike, + BytesLike + ]): string; + encodeFunctionData(functionFragment: "staking", values?: undefined): string; + encodeFunctionData(functionFragment: "torn", values?: undefined): string; + encodeFunctionData(functionFragment: "tornadoRouter", values?: undefined): string; + encodeFunctionData(functionFragment: "unregisterWorker", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "workers", values: [AddressLike]): string; + decodeFunctionResult(functionFragment: "burn", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "ens", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "feeManager", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "getRelayerBalance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "getRelayerEnsHash", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "governance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "isRelayer", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "isRelayerRegistered", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "minStakeAmount", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "nullifyBalance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "register", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "registerPermit", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "registerWorker", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "relayers", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setMinStakeAmount", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setTornadoRouter", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "stakeToRelayer", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "stakeToRelayerPermit", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "staking", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "torn", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "tornadoRouter", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "unregisterWorker", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "workers", data: BytesLike): Result; +} +export declare namespace MinimumStakeAmountEvent { + type InputTuple = [minStakeAmount: BigNumberish]; + type OutputTuple = [minStakeAmount: bigint]; + interface OutputObject { + minStakeAmount: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace RelayerBalanceNullifiedEvent { + type InputTuple = [relayer: AddressLike]; + type OutputTuple = [relayer: string]; + interface OutputObject { + relayer: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace RelayerRegisteredEvent { + type InputTuple = [ + relayer: BytesLike, + ensName: string, + relayerAddress: AddressLike, + stakedAmount: BigNumberish + ]; + type OutputTuple = [ + relayer: string, + ensName: string, + relayerAddress: string, + stakedAmount: bigint + ]; + interface OutputObject { + relayer: string; + ensName: string; + relayerAddress: string; + stakedAmount: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace RouterRegisteredEvent { + type InputTuple = [tornadoRouter: AddressLike]; + type OutputTuple = [tornadoRouter: string]; + interface OutputObject { + tornadoRouter: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace StakeAddedToRelayerEvent { + type InputTuple = [ + relayer: AddressLike, + amountStakeAdded: BigNumberish + ]; + type OutputTuple = [relayer: string, amountStakeAdded: bigint]; + interface OutputObject { + relayer: string; + amountStakeAdded: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace StakeBurnedEvent { + type InputTuple = [relayer: AddressLike, amountBurned: BigNumberish]; + type OutputTuple = [relayer: string, amountBurned: bigint]; + interface OutputObject { + relayer: string; + amountBurned: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace WorkerRegisteredEvent { + type InputTuple = [relayer: AddressLike, worker: AddressLike]; + type OutputTuple = [relayer: string, worker: string]; + interface OutputObject { + relayer: string; + worker: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace WorkerUnregisteredEvent { + type InputTuple = [relayer: AddressLike, worker: AddressLike]; + type OutputTuple = [relayer: string, worker: string]; + interface OutputObject { + relayer: string; + worker: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export interface RelayerRegistry extends BaseContract { + connect(runner?: ContractRunner | null): RelayerRegistry; + waitForDeployment(): Promise; + interface: RelayerRegistryInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + burn: TypedContractMethod<[ + sender: AddressLike, + relayer: AddressLike, + pool: AddressLike + ], [ + void + ], "nonpayable">; + ens: TypedContractMethod<[], [string], "view">; + feeManager: TypedContractMethod<[], [string], "view">; + getRelayerBalance: TypedContractMethod<[ + relayer: AddressLike + ], [ + bigint + ], "view">; + getRelayerEnsHash: TypedContractMethod<[ + relayer: AddressLike + ], [ + string + ], "view">; + governance: TypedContractMethod<[], [string], "view">; + initialize: TypedContractMethod<[ + _tornadoRouter: AddressLike + ], [ + void + ], "nonpayable">; + isRelayer: TypedContractMethod<[toResolve: AddressLike], [boolean], "view">; + isRelayerRegistered: TypedContractMethod<[ + relayer: AddressLike, + toResolve: AddressLike + ], [ + boolean + ], "view">; + minStakeAmount: TypedContractMethod<[], [bigint], "view">; + nullifyBalance: TypedContractMethod<[ + relayer: AddressLike + ], [ + void + ], "nonpayable">; + register: TypedContractMethod<[ + ensName: string, + stake: BigNumberish, + workersToRegister: AddressLike[] + ], [ + void + ], "nonpayable">; + registerPermit: TypedContractMethod<[ + ensName: string, + stake: BigNumberish, + workersToRegister: AddressLike[], + relayer: AddressLike, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], [ + void + ], "nonpayable">; + registerWorker: TypedContractMethod<[ + relayer: AddressLike, + worker: AddressLike + ], [ + void + ], "nonpayable">; + relayers: TypedContractMethod<[ + arg0: AddressLike + ], [ + [bigint, string] & { + balance: bigint; + ensHash: string; + } + ], "view">; + setMinStakeAmount: TypedContractMethod<[ + minAmount: BigNumberish + ], [ + void + ], "nonpayable">; + setTornadoRouter: TypedContractMethod<[ + tornadoRouterAddress: AddressLike + ], [ + void + ], "nonpayable">; + stakeToRelayer: TypedContractMethod<[ + relayer: AddressLike, + stake: BigNumberish + ], [ + void + ], "nonpayable">; + stakeToRelayerPermit: TypedContractMethod<[ + relayer: AddressLike, + stake: BigNumberish, + staker: AddressLike, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], [ + void + ], "nonpayable">; + staking: TypedContractMethod<[], [string], "view">; + torn: TypedContractMethod<[], [string], "view">; + tornadoRouter: TypedContractMethod<[], [string], "view">; + unregisterWorker: TypedContractMethod<[ + worker: AddressLike + ], [ + void + ], "nonpayable">; + workers: TypedContractMethod<[arg0: AddressLike], [string], "view">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "burn"): TypedContractMethod<[ + sender: AddressLike, + relayer: AddressLike, + pool: AddressLike + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "ens"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "feeManager"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "getRelayerBalance"): TypedContractMethod<[relayer: AddressLike], [bigint], "view">; + getFunction(nameOrSignature: "getRelayerEnsHash"): TypedContractMethod<[relayer: AddressLike], [string], "view">; + getFunction(nameOrSignature: "governance"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "initialize"): TypedContractMethod<[_tornadoRouter: AddressLike], [void], "nonpayable">; + getFunction(nameOrSignature: "isRelayer"): TypedContractMethod<[toResolve: AddressLike], [boolean], "view">; + getFunction(nameOrSignature: "isRelayerRegistered"): TypedContractMethod<[ + relayer: AddressLike, + toResolve: AddressLike + ], [ + boolean + ], "view">; + getFunction(nameOrSignature: "minStakeAmount"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "nullifyBalance"): TypedContractMethod<[relayer: AddressLike], [void], "nonpayable">; + getFunction(nameOrSignature: "register"): TypedContractMethod<[ + ensName: string, + stake: BigNumberish, + workersToRegister: AddressLike[] + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "registerPermit"): TypedContractMethod<[ + ensName: string, + stake: BigNumberish, + workersToRegister: AddressLike[], + relayer: AddressLike, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "registerWorker"): TypedContractMethod<[ + relayer: AddressLike, + worker: AddressLike + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "relayers"): TypedContractMethod<[ + arg0: AddressLike + ], [ + [bigint, string] & { + balance: bigint; + ensHash: string; + } + ], "view">; + getFunction(nameOrSignature: "setMinStakeAmount"): TypedContractMethod<[minAmount: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "setTornadoRouter"): TypedContractMethod<[ + tornadoRouterAddress: AddressLike + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "stakeToRelayer"): TypedContractMethod<[ + relayer: AddressLike, + stake: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "stakeToRelayerPermit"): TypedContractMethod<[ + relayer: AddressLike, + stake: BigNumberish, + staker: AddressLike, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "staking"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "torn"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "tornadoRouter"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "unregisterWorker"): TypedContractMethod<[worker: AddressLike], [void], "nonpayable">; + getFunction(nameOrSignature: "workers"): TypedContractMethod<[arg0: AddressLike], [string], "view">; + getEvent(key: "MinimumStakeAmount"): TypedContractEvent; + getEvent(key: "RelayerBalanceNullified"): TypedContractEvent; + getEvent(key: "RelayerRegistered"): TypedContractEvent; + getEvent(key: "RouterRegistered"): TypedContractEvent; + getEvent(key: "StakeAddedToRelayer"): TypedContractEvent; + getEvent(key: "StakeBurned"): TypedContractEvent; + getEvent(key: "WorkerRegistered"): TypedContractEvent; + getEvent(key: "WorkerUnregistered"): TypedContractEvent; + filters: { + "MinimumStakeAmount(uint256)": TypedContractEvent; + MinimumStakeAmount: TypedContractEvent; + "RelayerBalanceNullified(address)": TypedContractEvent; + RelayerBalanceNullified: TypedContractEvent; + "RelayerRegistered(bytes32,string,address,uint256)": TypedContractEvent; + RelayerRegistered: TypedContractEvent; + "RouterRegistered(address)": TypedContractEvent; + RouterRegistered: TypedContractEvent; + "StakeAddedToRelayer(address,uint256)": TypedContractEvent; + StakeAddedToRelayer: TypedContractEvent; + "StakeBurned(address,uint256)": TypedContractEvent; + StakeBurned: TypedContractEvent; + "WorkerRegistered(address,address)": TypedContractEvent; + WorkerRegistered: TypedContractEvent; + "WorkerUnregistered(address,address)": TypedContractEvent; + WorkerUnregistered: TypedContractEvent; + }; +} diff --git a/dist/contracts/Governance/RelayerRegistry.sol/index.d.ts b/dist/contracts/Governance/RelayerRegistry.sol/index.d.ts new file mode 100644 index 0000000..0d64b2d --- /dev/null +++ b/dist/contracts/Governance/RelayerRegistry.sol/index.d.ts @@ -0,0 +1,3 @@ +export type { IENS } from "./IENS"; +export type { IFeeManager } from "./IFeeManager"; +export type { RelayerRegistry } from "./RelayerRegistry"; diff --git a/dist/contracts/Governance/TORN/Airdrop.d.ts b/dist/contracts/Governance/TORN/Airdrop.d.ts new file mode 100644 index 0000000..2f6aae8 --- /dev/null +++ b/dist/contracts/Governance/TORN/Airdrop.d.ts @@ -0,0 +1,39 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../../common"; +export declare namespace Airdrop { + type RecipientStruct = { + to: AddressLike; + amount: BigNumberish; + }; + type RecipientStructOutput = [to: string, amount: bigint] & { + to: string; + amount: bigint; + }; +} +export interface AirdropInterface extends Interface { + getFunction(nameOrSignature: "bulkResolve" | "resolve"): FunctionFragment; + encodeFunctionData(functionFragment: "bulkResolve", values: [BytesLike[]]): string; + encodeFunctionData(functionFragment: "resolve", values: [BytesLike]): string; + decodeFunctionResult(functionFragment: "bulkResolve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "resolve", data: BytesLike): Result; +} +export interface Airdrop extends BaseContract { + connect(runner?: ContractRunner | null): Airdrop; + waitForDeployment(): Promise; + interface: AirdropInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + bulkResolve: TypedContractMethod<[domains: BytesLike[]], [string[]], "view">; + resolve: TypedContractMethod<[node: BytesLike], [string], "view">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "bulkResolve"): TypedContractMethod<[domains: BytesLike[]], [string[]], "view">; + getFunction(nameOrSignature: "resolve"): TypedContractMethod<[node: BytesLike], [string], "view">; + filters: {}; +} diff --git a/dist/contracts/Governance/TORN/ENS.sol/ENS.d.ts b/dist/contracts/Governance/TORN/ENS.sol/ENS.d.ts new file mode 100644 index 0000000..b68694a --- /dev/null +++ b/dist/contracts/Governance/TORN/ENS.sol/ENS.d.ts @@ -0,0 +1,25 @@ +import type { BaseContract, BytesLike, FunctionFragment, Result, Interface, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../../../common"; +export interface ENSInterface extends Interface { + getFunction(nameOrSignature: "resolver"): FunctionFragment; + encodeFunctionData(functionFragment: "resolver", values: [BytesLike]): string; + decodeFunctionResult(functionFragment: "resolver", data: BytesLike): Result; +} +export interface ENS extends BaseContract { + connect(runner?: ContractRunner | null): ENS; + waitForDeployment(): Promise; + interface: ENSInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + resolver: TypedContractMethod<[node: BytesLike], [string], "view">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "resolver"): TypedContractMethod<[node: BytesLike], [string], "view">; + filters: {}; +} diff --git a/dist/contracts/Governance/TORN/ENS.sol/EnsResolve.d.ts b/dist/contracts/Governance/TORN/ENS.sol/EnsResolve.d.ts new file mode 100644 index 0000000..9a349ea --- /dev/null +++ b/dist/contracts/Governance/TORN/ENS.sol/EnsResolve.d.ts @@ -0,0 +1,29 @@ +import type { BaseContract, BytesLike, FunctionFragment, Result, Interface, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../../../common"; +export interface EnsResolveInterface extends Interface { + getFunction(nameOrSignature: "bulkResolve" | "resolve"): FunctionFragment; + encodeFunctionData(functionFragment: "bulkResolve", values: [BytesLike[]]): string; + encodeFunctionData(functionFragment: "resolve", values: [BytesLike]): string; + decodeFunctionResult(functionFragment: "bulkResolve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "resolve", data: BytesLike): Result; +} +export interface EnsResolve extends BaseContract { + connect(runner?: ContractRunner | null): EnsResolve; + waitForDeployment(): Promise; + interface: EnsResolveInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + bulkResolve: TypedContractMethod<[domains: BytesLike[]], [string[]], "view">; + resolve: TypedContractMethod<[node: BytesLike], [string], "view">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "bulkResolve"): TypedContractMethod<[domains: BytesLike[]], [string[]], "view">; + getFunction(nameOrSignature: "resolve"): TypedContractMethod<[node: BytesLike], [string], "view">; + filters: {}; +} diff --git a/dist/contracts/Governance/TORN/ENS.sol/Resolver.d.ts b/dist/contracts/Governance/TORN/ENS.sol/Resolver.d.ts new file mode 100644 index 0000000..32d9f72 --- /dev/null +++ b/dist/contracts/Governance/TORN/ENS.sol/Resolver.d.ts @@ -0,0 +1,25 @@ +import type { BaseContract, BytesLike, FunctionFragment, Result, Interface, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../../../common"; +export interface ResolverInterface extends Interface { + getFunction(nameOrSignature: "addr"): FunctionFragment; + encodeFunctionData(functionFragment: "addr", values: [BytesLike]): string; + decodeFunctionResult(functionFragment: "addr", data: BytesLike): Result; +} +export interface Resolver extends BaseContract { + connect(runner?: ContractRunner | null): Resolver; + waitForDeployment(): Promise; + interface: ResolverInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + addr: TypedContractMethod<[node: BytesLike], [string], "view">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "addr"): TypedContractMethod<[node: BytesLike], [string], "view">; + filters: {}; +} diff --git a/dist/contracts/Governance/TORN/ENS.sol/index.d.ts b/dist/contracts/Governance/TORN/ENS.sol/index.d.ts new file mode 100644 index 0000000..f68b553 --- /dev/null +++ b/dist/contracts/Governance/TORN/ENS.sol/index.d.ts @@ -0,0 +1,3 @@ +export type { ENS } from "./ENS"; +export type { EnsResolve } from "./EnsResolve"; +export type { Resolver } from "./Resolver"; diff --git a/dist/contracts/Governance/TORN/ERC20Permit.d.ts b/dist/contracts/Governance/TORN/ERC20Permit.d.ts new file mode 100644 index 0000000..7105732 --- /dev/null +++ b/dist/contracts/Governance/TORN/ERC20Permit.d.ts @@ -0,0 +1,213 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../../common"; +export interface ERC20PermitInterface extends Interface { + getFunction(nameOrSignature: "allowance" | "approve" | "balanceOf" | "blockTimestamp" | "chainID" | "decimals" | "decreaseAllowance" | "increaseAllowance" | "name" | "nonces" | "permit" | "symbol" | "totalSupply" | "transfer" | "transferFrom"): FunctionFragment; + getEvent(nameOrSignatureOrTopic: "Approval" | "Transfer"): EventFragment; + encodeFunctionData(functionFragment: "allowance", values: [AddressLike, AddressLike]): string; + encodeFunctionData(functionFragment: "approve", values: [AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "balanceOf", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "blockTimestamp", values?: undefined): string; + encodeFunctionData(functionFragment: "chainID", values?: undefined): string; + encodeFunctionData(functionFragment: "decimals", values?: undefined): string; + encodeFunctionData(functionFragment: "decreaseAllowance", values: [AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "increaseAllowance", values: [AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData(functionFragment: "nonces", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "permit", values: [ + AddressLike, + AddressLike, + BigNumberish, + BigNumberish, + BigNumberish, + BytesLike, + BytesLike + ]): string; + encodeFunctionData(functionFragment: "symbol", values?: undefined): string; + encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string; + encodeFunctionData(functionFragment: "transfer", values: [AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "transferFrom", values: [AddressLike, AddressLike, BigNumberish]): string; + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "blockTimestamp", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "chainID", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "decreaseAllowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "increaseAllowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "nonces", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "totalSupply", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "transferFrom", data: BytesLike): Result; +} +export declare namespace ApprovalEvent { + type InputTuple = [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish + ]; + type OutputTuple = [owner: string, spender: string, value: bigint]; + interface OutputObject { + owner: string; + spender: string; + value: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace TransferEvent { + type InputTuple = [ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ]; + type OutputTuple = [from: string, to: string, value: bigint]; + interface OutputObject { + from: string; + to: string; + value: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export interface ERC20Permit extends BaseContract { + connect(runner?: ContractRunner | null): ERC20Permit; + waitForDeployment(): Promise; + interface: ERC20PermitInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + allowance: TypedContractMethod<[ + owner: AddressLike, + spender: AddressLike + ], [ + bigint + ], "view">; + approve: TypedContractMethod<[ + spender: AddressLike, + amount: BigNumberish + ], [ + boolean + ], "nonpayable">; + balanceOf: TypedContractMethod<[account: AddressLike], [bigint], "view">; + blockTimestamp: TypedContractMethod<[], [bigint], "view">; + chainID: TypedContractMethod<[], [bigint], "view">; + decimals: TypedContractMethod<[], [bigint], "view">; + decreaseAllowance: TypedContractMethod<[ + spender: AddressLike, + subtractedValue: BigNumberish + ], [ + boolean + ], "nonpayable">; + increaseAllowance: TypedContractMethod<[ + spender: AddressLike, + addedValue: BigNumberish + ], [ + boolean + ], "nonpayable">; + name: TypedContractMethod<[], [string], "view">; + nonces: TypedContractMethod<[owner: AddressLike], [bigint], "view">; + permit: TypedContractMethod<[ + owner: AddressLike, + spender: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], [ + void + ], "nonpayable">; + symbol: TypedContractMethod<[], [string], "view">; + totalSupply: TypedContractMethod<[], [bigint], "view">; + transfer: TypedContractMethod<[ + recipient: AddressLike, + amount: BigNumberish + ], [ + boolean + ], "nonpayable">; + transferFrom: TypedContractMethod<[ + sender: AddressLike, + recipient: AddressLike, + amount: BigNumberish + ], [ + boolean + ], "nonpayable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "allowance"): TypedContractMethod<[ + owner: AddressLike, + spender: AddressLike + ], [ + bigint + ], "view">; + getFunction(nameOrSignature: "approve"): TypedContractMethod<[ + spender: AddressLike, + amount: BigNumberish + ], [ + boolean + ], "nonpayable">; + getFunction(nameOrSignature: "balanceOf"): TypedContractMethod<[account: AddressLike], [bigint], "view">; + getFunction(nameOrSignature: "blockTimestamp"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "chainID"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "decimals"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "decreaseAllowance"): TypedContractMethod<[ + spender: AddressLike, + subtractedValue: BigNumberish + ], [ + boolean + ], "nonpayable">; + getFunction(nameOrSignature: "increaseAllowance"): TypedContractMethod<[ + spender: AddressLike, + addedValue: BigNumberish + ], [ + boolean + ], "nonpayable">; + getFunction(nameOrSignature: "name"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "nonces"): TypedContractMethod<[owner: AddressLike], [bigint], "view">; + getFunction(nameOrSignature: "permit"): TypedContractMethod<[ + owner: AddressLike, + spender: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "symbol"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "totalSupply"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "transfer"): TypedContractMethod<[ + recipient: AddressLike, + amount: BigNumberish + ], [ + boolean + ], "nonpayable">; + getFunction(nameOrSignature: "transferFrom"): TypedContractMethod<[ + sender: AddressLike, + recipient: AddressLike, + amount: BigNumberish + ], [ + boolean + ], "nonpayable">; + getEvent(key: "Approval"): TypedContractEvent; + getEvent(key: "Transfer"): TypedContractEvent; + filters: { + "Approval(address,address,uint256)": TypedContractEvent; + Approval: TypedContractEvent; + "Transfer(address,address,uint256)": TypedContractEvent; + Transfer: TypedContractEvent; + }; +} diff --git a/dist/contracts/Governance/TORN/TORN.d.ts b/dist/contracts/Governance/TORN/TORN.d.ts new file mode 100644 index 0000000..331ea9a --- /dev/null +++ b/dist/contracts/Governance/TORN/TORN.d.ts @@ -0,0 +1,357 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../../common"; +export declare namespace TORN { + type RecipientStruct = { + to: AddressLike; + amount: BigNumberish; + }; + type RecipientStructOutput = [to: string, amount: bigint] & { + to: string; + amount: bigint; + }; +} +export interface TORNInterface extends Interface { + getFunction(nameOrSignature: "addToAllowedList" | "allowance" | "allowedTransferee" | "approve" | "balanceOf" | "blockTimestamp" | "burn" | "burnFrom" | "canUnpauseAfter" | "chainID" | "changeTransferability" | "decimals" | "decreaseAllowance" | "governance" | "increaseAllowance" | "name" | "nonces" | "paused" | "permit" | "removeFromAllowedList" | "rescueTokens" | "symbol" | "totalSupply" | "transfer" | "transferFrom"): FunctionFragment; + getEvent(nameOrSignatureOrTopic: "Allowed" | "Approval" | "Disallowed" | "Paused" | "Transfer" | "Unpaused"): EventFragment; + encodeFunctionData(functionFragment: "addToAllowedList", values: [AddressLike[]]): string; + encodeFunctionData(functionFragment: "allowance", values: [AddressLike, AddressLike]): string; + encodeFunctionData(functionFragment: "allowedTransferee", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "approve", values: [AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "balanceOf", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "blockTimestamp", values?: undefined): string; + encodeFunctionData(functionFragment: "burn", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "burnFrom", values: [AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "canUnpauseAfter", values?: undefined): string; + encodeFunctionData(functionFragment: "chainID", values?: undefined): string; + encodeFunctionData(functionFragment: "changeTransferability", values: [boolean]): string; + encodeFunctionData(functionFragment: "decimals", values?: undefined): string; + encodeFunctionData(functionFragment: "decreaseAllowance", values: [AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "governance", values?: undefined): string; + encodeFunctionData(functionFragment: "increaseAllowance", values: [AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData(functionFragment: "nonces", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "paused", values?: undefined): string; + encodeFunctionData(functionFragment: "permit", values: [ + AddressLike, + AddressLike, + BigNumberish, + BigNumberish, + BigNumberish, + BytesLike, + BytesLike + ]): string; + encodeFunctionData(functionFragment: "removeFromAllowedList", values: [AddressLike[]]): string; + encodeFunctionData(functionFragment: "rescueTokens", values: [AddressLike, AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "symbol", values?: undefined): string; + encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string; + encodeFunctionData(functionFragment: "transfer", values: [AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "transferFrom", values: [AddressLike, AddressLike, BigNumberish]): string; + decodeFunctionResult(functionFragment: "addToAllowedList", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "allowedTransferee", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "blockTimestamp", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "burn", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "burnFrom", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "canUnpauseAfter", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "chainID", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "changeTransferability", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "decreaseAllowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "governance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "increaseAllowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "nonces", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "paused", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "removeFromAllowedList", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "rescueTokens", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "totalSupply", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "transferFrom", data: BytesLike): Result; +} +export declare namespace AllowedEvent { + type InputTuple = [target: AddressLike]; + type OutputTuple = [target: string]; + interface OutputObject { + target: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace ApprovalEvent { + type InputTuple = [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish + ]; + type OutputTuple = [owner: string, spender: string, value: bigint]; + interface OutputObject { + owner: string; + spender: string; + value: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace DisallowedEvent { + type InputTuple = [target: AddressLike]; + type OutputTuple = [target: string]; + interface OutputObject { + target: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace PausedEvent { + type InputTuple = [account: AddressLike]; + type OutputTuple = [account: string]; + interface OutputObject { + account: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace TransferEvent { + type InputTuple = [ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ]; + type OutputTuple = [from: string, to: string, value: bigint]; + interface OutputObject { + from: string; + to: string; + value: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace UnpausedEvent { + type InputTuple = [account: AddressLike]; + type OutputTuple = [account: string]; + interface OutputObject { + account: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export interface TORN extends BaseContract { + connect(runner?: ContractRunner | null): TORN; + waitForDeployment(): Promise; + interface: TORNInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + addToAllowedList: TypedContractMethod<[ + target: AddressLike[] + ], [ + void + ], "nonpayable">; + allowance: TypedContractMethod<[ + owner: AddressLike, + spender: AddressLike + ], [ + bigint + ], "view">; + allowedTransferee: TypedContractMethod<[ + arg0: AddressLike + ], [ + boolean + ], "view">; + approve: TypedContractMethod<[ + spender: AddressLike, + amount: BigNumberish + ], [ + boolean + ], "nonpayable">; + balanceOf: TypedContractMethod<[account: AddressLike], [bigint], "view">; + blockTimestamp: TypedContractMethod<[], [bigint], "view">; + burn: TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + burnFrom: TypedContractMethod<[ + account: AddressLike, + amount: BigNumberish + ], [ + void + ], "nonpayable">; + canUnpauseAfter: TypedContractMethod<[], [bigint], "view">; + chainID: TypedContractMethod<[], [bigint], "view">; + changeTransferability: TypedContractMethod<[ + decision: boolean + ], [ + void + ], "nonpayable">; + decimals: TypedContractMethod<[], [bigint], "view">; + decreaseAllowance: TypedContractMethod<[ + spender: AddressLike, + subtractedValue: BigNumberish + ], [ + boolean + ], "nonpayable">; + governance: TypedContractMethod<[], [string], "view">; + increaseAllowance: TypedContractMethod<[ + spender: AddressLike, + addedValue: BigNumberish + ], [ + boolean + ], "nonpayable">; + name: TypedContractMethod<[], [string], "view">; + nonces: TypedContractMethod<[owner: AddressLike], [bigint], "view">; + paused: TypedContractMethod<[], [boolean], "view">; + permit: TypedContractMethod<[ + owner: AddressLike, + spender: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], [ + void + ], "nonpayable">; + removeFromAllowedList: TypedContractMethod<[ + target: AddressLike[] + ], [ + void + ], "nonpayable">; + rescueTokens: TypedContractMethod<[ + _token: AddressLike, + _to: AddressLike, + _balance: BigNumberish + ], [ + void + ], "nonpayable">; + symbol: TypedContractMethod<[], [string], "view">; + totalSupply: TypedContractMethod<[], [bigint], "view">; + transfer: TypedContractMethod<[ + recipient: AddressLike, + amount: BigNumberish + ], [ + boolean + ], "nonpayable">; + transferFrom: TypedContractMethod<[ + sender: AddressLike, + recipient: AddressLike, + amount: BigNumberish + ], [ + boolean + ], "nonpayable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "addToAllowedList"): TypedContractMethod<[target: AddressLike[]], [void], "nonpayable">; + getFunction(nameOrSignature: "allowance"): TypedContractMethod<[ + owner: AddressLike, + spender: AddressLike + ], [ + bigint + ], "view">; + getFunction(nameOrSignature: "allowedTransferee"): TypedContractMethod<[arg0: AddressLike], [boolean], "view">; + getFunction(nameOrSignature: "approve"): TypedContractMethod<[ + spender: AddressLike, + amount: BigNumberish + ], [ + boolean + ], "nonpayable">; + getFunction(nameOrSignature: "balanceOf"): TypedContractMethod<[account: AddressLike], [bigint], "view">; + getFunction(nameOrSignature: "blockTimestamp"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "burn"): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "burnFrom"): TypedContractMethod<[ + account: AddressLike, + amount: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "canUnpauseAfter"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "chainID"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "changeTransferability"): TypedContractMethod<[decision: boolean], [void], "nonpayable">; + getFunction(nameOrSignature: "decimals"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "decreaseAllowance"): TypedContractMethod<[ + spender: AddressLike, + subtractedValue: BigNumberish + ], [ + boolean + ], "nonpayable">; + getFunction(nameOrSignature: "governance"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "increaseAllowance"): TypedContractMethod<[ + spender: AddressLike, + addedValue: BigNumberish + ], [ + boolean + ], "nonpayable">; + getFunction(nameOrSignature: "name"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "nonces"): TypedContractMethod<[owner: AddressLike], [bigint], "view">; + getFunction(nameOrSignature: "paused"): TypedContractMethod<[], [boolean], "view">; + getFunction(nameOrSignature: "permit"): TypedContractMethod<[ + owner: AddressLike, + spender: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "removeFromAllowedList"): TypedContractMethod<[target: AddressLike[]], [void], "nonpayable">; + getFunction(nameOrSignature: "rescueTokens"): TypedContractMethod<[ + _token: AddressLike, + _to: AddressLike, + _balance: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "symbol"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "totalSupply"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "transfer"): TypedContractMethod<[ + recipient: AddressLike, + amount: BigNumberish + ], [ + boolean + ], "nonpayable">; + getFunction(nameOrSignature: "transferFrom"): TypedContractMethod<[ + sender: AddressLike, + recipient: AddressLike, + amount: BigNumberish + ], [ + boolean + ], "nonpayable">; + getEvent(key: "Allowed"): TypedContractEvent; + getEvent(key: "Approval"): TypedContractEvent; + getEvent(key: "Disallowed"): TypedContractEvent; + getEvent(key: "Paused"): TypedContractEvent; + getEvent(key: "Transfer"): TypedContractEvent; + getEvent(key: "Unpaused"): TypedContractEvent; + filters: { + "Allowed(address)": TypedContractEvent; + Allowed: TypedContractEvent; + "Approval(address,address,uint256)": TypedContractEvent; + Approval: TypedContractEvent; + "Disallowed(address)": TypedContractEvent; + Disallowed: TypedContractEvent; + "Paused(address)": TypedContractEvent; + Paused: TypedContractEvent; + "Transfer(address,address,uint256)": TypedContractEvent; + Transfer: TypedContractEvent; + "Unpaused(address)": TypedContractEvent; + Unpaused: TypedContractEvent; + }; +} diff --git a/dist/contracts/Governance/TORN/Vesting.d.ts b/dist/contracts/Governance/TORN/Vesting.d.ts new file mode 100644 index 0000000..10aab8d --- /dev/null +++ b/dist/contracts/Governance/TORN/Vesting.d.ts @@ -0,0 +1,77 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../../common"; +export interface VestingInterface extends Interface { + getFunction(nameOrSignature: "SECONDS_PER_MONTH" | "beneficiary" | "blockTimestamp" | "cliffInMonths" | "durationInMonths" | "release" | "released" | "startTimestamp" | "token" | "vestedAmount"): FunctionFragment; + getEvent(nameOrSignatureOrTopic: "Released"): EventFragment; + encodeFunctionData(functionFragment: "SECONDS_PER_MONTH", values?: undefined): string; + encodeFunctionData(functionFragment: "beneficiary", values?: undefined): string; + encodeFunctionData(functionFragment: "blockTimestamp", values?: undefined): string; + encodeFunctionData(functionFragment: "cliffInMonths", values?: undefined): string; + encodeFunctionData(functionFragment: "durationInMonths", values?: undefined): string; + encodeFunctionData(functionFragment: "release", values?: undefined): string; + encodeFunctionData(functionFragment: "released", values?: undefined): string; + encodeFunctionData(functionFragment: "startTimestamp", values?: undefined): string; + encodeFunctionData(functionFragment: "token", values?: undefined): string; + encodeFunctionData(functionFragment: "vestedAmount", values?: undefined): string; + decodeFunctionResult(functionFragment: "SECONDS_PER_MONTH", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "beneficiary", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "blockTimestamp", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "cliffInMonths", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "durationInMonths", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "release", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "released", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "startTimestamp", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "token", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "vestedAmount", data: BytesLike): Result; +} +export declare namespace ReleasedEvent { + type InputTuple = [amount: BigNumberish]; + type OutputTuple = [amount: bigint]; + interface OutputObject { + amount: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export interface Vesting extends BaseContract { + connect(runner?: ContractRunner | null): Vesting; + waitForDeployment(): Promise; + interface: VestingInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + SECONDS_PER_MONTH: TypedContractMethod<[], [bigint], "view">; + beneficiary: TypedContractMethod<[], [string], "view">; + blockTimestamp: TypedContractMethod<[], [bigint], "view">; + cliffInMonths: TypedContractMethod<[], [bigint], "view">; + durationInMonths: TypedContractMethod<[], [bigint], "view">; + release: TypedContractMethod<[], [void], "nonpayable">; + released: TypedContractMethod<[], [bigint], "view">; + startTimestamp: TypedContractMethod<[], [bigint], "view">; + token: TypedContractMethod<[], [string], "view">; + vestedAmount: TypedContractMethod<[], [bigint], "view">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "SECONDS_PER_MONTH"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "beneficiary"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "blockTimestamp"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "cliffInMonths"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "durationInMonths"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "release"): TypedContractMethod<[], [void], "nonpayable">; + getFunction(nameOrSignature: "released"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "startTimestamp"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "token"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "vestedAmount"): TypedContractMethod<[], [bigint], "view">; + getEvent(key: "Released"): TypedContractEvent; + filters: { + "Released(uint256)": TypedContractEvent; + Released: TypedContractEvent; + }; +} diff --git a/dist/contracts/Governance/TORN/Voucher.d.ts b/dist/contracts/Governance/TORN/Voucher.d.ts new file mode 100644 index 0000000..f17cf57 --- /dev/null +++ b/dist/contracts/Governance/TORN/Voucher.d.ts @@ -0,0 +1,219 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../../common"; +export declare namespace Voucher { + type RecipientStruct = { + to: AddressLike; + amount: BigNumberish; + }; + type RecipientStructOutput = [to: string, amount: bigint] & { + to: string; + amount: bigint; + }; +} +export interface VoucherInterface extends Interface { + getFunction(nameOrSignature: "allowance" | "allowedTransferee" | "approve" | "balanceOf" | "blockTimestamp" | "bulkResolve" | "decimals" | "decreaseAllowance" | "expiresAt" | "governance" | "increaseAllowance" | "name" | "redeem" | "rescueExpiredTokens" | "resolve" | "symbol" | "torn" | "totalSupply" | "transfer" | "transferFrom"): FunctionFragment; + getEvent(nameOrSignatureOrTopic: "Approval" | "Transfer"): EventFragment; + encodeFunctionData(functionFragment: "allowance", values: [AddressLike, AddressLike]): string; + encodeFunctionData(functionFragment: "allowedTransferee", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "approve", values: [AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "balanceOf", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "blockTimestamp", values?: undefined): string; + encodeFunctionData(functionFragment: "bulkResolve", values: [BytesLike[]]): string; + encodeFunctionData(functionFragment: "decimals", values?: undefined): string; + encodeFunctionData(functionFragment: "decreaseAllowance", values: [AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "expiresAt", values?: undefined): string; + encodeFunctionData(functionFragment: "governance", values?: undefined): string; + encodeFunctionData(functionFragment: "increaseAllowance", values: [AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData(functionFragment: "redeem", values?: undefined): string; + encodeFunctionData(functionFragment: "rescueExpiredTokens", values?: undefined): string; + encodeFunctionData(functionFragment: "resolve", values: [BytesLike]): string; + encodeFunctionData(functionFragment: "symbol", values?: undefined): string; + encodeFunctionData(functionFragment: "torn", values?: undefined): string; + encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string; + encodeFunctionData(functionFragment: "transfer", values: [AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "transferFrom", values: [AddressLike, AddressLike, BigNumberish]): string; + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "allowedTransferee", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "blockTimestamp", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "bulkResolve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "decreaseAllowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "expiresAt", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "governance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "increaseAllowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "redeem", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "rescueExpiredTokens", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "resolve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "torn", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "totalSupply", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "transferFrom", data: BytesLike): Result; +} +export declare namespace ApprovalEvent { + type InputTuple = [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish + ]; + type OutputTuple = [owner: string, spender: string, value: bigint]; + interface OutputObject { + owner: string; + spender: string; + value: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace TransferEvent { + type InputTuple = [ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ]; + type OutputTuple = [from: string, to: string, value: bigint]; + interface OutputObject { + from: string; + to: string; + value: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export interface Voucher extends BaseContract { + connect(runner?: ContractRunner | null): Voucher; + waitForDeployment(): Promise; + interface: VoucherInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + allowance: TypedContractMethod<[ + owner: AddressLike, + spender: AddressLike + ], [ + bigint + ], "view">; + allowedTransferee: TypedContractMethod<[ + arg0: AddressLike + ], [ + boolean + ], "view">; + approve: TypedContractMethod<[ + spender: AddressLike, + amount: BigNumberish + ], [ + boolean + ], "nonpayable">; + balanceOf: TypedContractMethod<[account: AddressLike], [bigint], "view">; + blockTimestamp: TypedContractMethod<[], [bigint], "view">; + bulkResolve: TypedContractMethod<[domains: BytesLike[]], [string[]], "view">; + decimals: TypedContractMethod<[], [bigint], "view">; + decreaseAllowance: TypedContractMethod<[ + spender: AddressLike, + subtractedValue: BigNumberish + ], [ + boolean + ], "nonpayable">; + expiresAt: TypedContractMethod<[], [bigint], "view">; + governance: TypedContractMethod<[], [string], "view">; + increaseAllowance: TypedContractMethod<[ + spender: AddressLike, + addedValue: BigNumberish + ], [ + boolean + ], "nonpayable">; + name: TypedContractMethod<[], [string], "view">; + redeem: TypedContractMethod<[], [void], "nonpayable">; + rescueExpiredTokens: TypedContractMethod<[], [void], "nonpayable">; + resolve: TypedContractMethod<[node: BytesLike], [string], "view">; + symbol: TypedContractMethod<[], [string], "view">; + torn: TypedContractMethod<[], [string], "view">; + totalSupply: TypedContractMethod<[], [bigint], "view">; + transfer: TypedContractMethod<[ + recipient: AddressLike, + amount: BigNumberish + ], [ + boolean + ], "nonpayable">; + transferFrom: TypedContractMethod<[ + sender: AddressLike, + recipient: AddressLike, + amount: BigNumberish + ], [ + boolean + ], "nonpayable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "allowance"): TypedContractMethod<[ + owner: AddressLike, + spender: AddressLike + ], [ + bigint + ], "view">; + getFunction(nameOrSignature: "allowedTransferee"): TypedContractMethod<[arg0: AddressLike], [boolean], "view">; + getFunction(nameOrSignature: "approve"): TypedContractMethod<[ + spender: AddressLike, + amount: BigNumberish + ], [ + boolean + ], "nonpayable">; + getFunction(nameOrSignature: "balanceOf"): TypedContractMethod<[account: AddressLike], [bigint], "view">; + getFunction(nameOrSignature: "blockTimestamp"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "bulkResolve"): TypedContractMethod<[domains: BytesLike[]], [string[]], "view">; + getFunction(nameOrSignature: "decimals"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "decreaseAllowance"): TypedContractMethod<[ + spender: AddressLike, + subtractedValue: BigNumberish + ], [ + boolean + ], "nonpayable">; + getFunction(nameOrSignature: "expiresAt"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "governance"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "increaseAllowance"): TypedContractMethod<[ + spender: AddressLike, + addedValue: BigNumberish + ], [ + boolean + ], "nonpayable">; + getFunction(nameOrSignature: "name"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "redeem"): TypedContractMethod<[], [void], "nonpayable">; + getFunction(nameOrSignature: "rescueExpiredTokens"): TypedContractMethod<[], [void], "nonpayable">; + getFunction(nameOrSignature: "resolve"): TypedContractMethod<[node: BytesLike], [string], "view">; + getFunction(nameOrSignature: "symbol"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "torn"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "totalSupply"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "transfer"): TypedContractMethod<[ + recipient: AddressLike, + amount: BigNumberish + ], [ + boolean + ], "nonpayable">; + getFunction(nameOrSignature: "transferFrom"): TypedContractMethod<[ + sender: AddressLike, + recipient: AddressLike, + amount: BigNumberish + ], [ + boolean + ], "nonpayable">; + getEvent(key: "Approval"): TypedContractEvent; + getEvent(key: "Transfer"): TypedContractEvent; + filters: { + "Approval(address,address,uint256)": TypedContractEvent; + Approval: TypedContractEvent; + "Transfer(address,address,uint256)": TypedContractEvent; + Transfer: TypedContractEvent; + }; +} diff --git a/dist/contracts/Governance/TORN/index.d.ts b/dist/contracts/Governance/TORN/index.d.ts new file mode 100644 index 0000000..1cf3a56 --- /dev/null +++ b/dist/contracts/Governance/TORN/index.d.ts @@ -0,0 +1,9 @@ +import type * as ensSol from "./ENS.sol"; +export type { ensSol }; +import type * as mocks from "./mocks"; +export type { mocks }; +export type { Airdrop } from "./Airdrop"; +export type { ERC20Permit } from "./ERC20Permit"; +export type { TORN } from "./TORN"; +export type { Vesting } from "./Vesting"; +export type { Voucher } from "./Voucher"; diff --git a/dist/contracts/Governance/TORN/mocks/AirdropMock.d.ts b/dist/contracts/Governance/TORN/mocks/AirdropMock.d.ts new file mode 100644 index 0000000..1e9f7aa --- /dev/null +++ b/dist/contracts/Governance/TORN/mocks/AirdropMock.d.ts @@ -0,0 +1,39 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../../../common"; +export declare namespace Airdrop { + type RecipientStruct = { + to: AddressLike; + amount: BigNumberish; + }; + type RecipientStructOutput = [to: string, amount: bigint] & { + to: string; + amount: bigint; + }; +} +export interface AirdropMockInterface extends Interface { + getFunction(nameOrSignature: "bulkResolve" | "resolve"): FunctionFragment; + encodeFunctionData(functionFragment: "bulkResolve", values: [BytesLike[]]): string; + encodeFunctionData(functionFragment: "resolve", values: [BytesLike]): string; + decodeFunctionResult(functionFragment: "bulkResolve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "resolve", data: BytesLike): Result; +} +export interface AirdropMock extends BaseContract { + connect(runner?: ContractRunner | null): AirdropMock; + waitForDeployment(): Promise; + interface: AirdropMockInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + bulkResolve: TypedContractMethod<[domains: BytesLike[]], [string[]], "view">; + resolve: TypedContractMethod<[addr: BytesLike], [string], "view">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "bulkResolve"): TypedContractMethod<[domains: BytesLike[]], [string[]], "view">; + getFunction(nameOrSignature: "resolve"): TypedContractMethod<[addr: BytesLike], [string], "view">; + filters: {}; +} diff --git a/dist/contracts/Governance/TORN/mocks/ENSMock.d.ts b/dist/contracts/Governance/TORN/mocks/ENSMock.d.ts new file mode 100644 index 0000000..6fdc019 --- /dev/null +++ b/dist/contracts/Governance/TORN/mocks/ENSMock.d.ts @@ -0,0 +1,51 @@ +import type { BaseContract, BytesLike, FunctionFragment, Result, Interface, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../../../common"; +export interface ENSMockInterface extends Interface { + getFunction(nameOrSignature: "addr" | "multicall" | "registry" | "resolver" | "setAddr"): FunctionFragment; + encodeFunctionData(functionFragment: "addr", values: [BytesLike]): string; + encodeFunctionData(functionFragment: "multicall", values: [BytesLike[]]): string; + encodeFunctionData(functionFragment: "registry", values: [BytesLike]): string; + encodeFunctionData(functionFragment: "resolver", values: [BytesLike]): string; + encodeFunctionData(functionFragment: "setAddr", values: [BytesLike, AddressLike]): string; + decodeFunctionResult(functionFragment: "addr", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "multicall", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "registry", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "resolver", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setAddr", data: BytesLike): Result; +} +export interface ENSMock extends BaseContract { + connect(runner?: ContractRunner | null): ENSMock; + waitForDeployment(): Promise; + interface: ENSMockInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + addr: TypedContractMethod<[_node: BytesLike], [string], "view">; + multicall: TypedContractMethod<[data: BytesLike[]], [string[]], "nonpayable">; + registry: TypedContractMethod<[arg0: BytesLike], [string], "view">; + resolver: TypedContractMethod<[arg0: BytesLike], [string], "view">; + setAddr: TypedContractMethod<[ + _node: BytesLike, + _addr: AddressLike + ], [ + void + ], "nonpayable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "addr"): TypedContractMethod<[_node: BytesLike], [string], "view">; + getFunction(nameOrSignature: "multicall"): TypedContractMethod<[data: BytesLike[]], [string[]], "nonpayable">; + getFunction(nameOrSignature: "registry"): TypedContractMethod<[arg0: BytesLike], [string], "view">; + getFunction(nameOrSignature: "resolver"): TypedContractMethod<[arg0: BytesLike], [string], "view">; + getFunction(nameOrSignature: "setAddr"): TypedContractMethod<[ + _node: BytesLike, + _addr: AddressLike + ], [ + void + ], "nonpayable">; + filters: {}; +} diff --git a/dist/contracts/Governance/TORN/mocks/TORNMock.d.ts b/dist/contracts/Governance/TORN/mocks/TORNMock.d.ts new file mode 100644 index 0000000..a6e7e8e --- /dev/null +++ b/dist/contracts/Governance/TORN/mocks/TORNMock.d.ts @@ -0,0 +1,381 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../../../common"; +export declare namespace TORN { + type RecipientStruct = { + to: AddressLike; + amount: BigNumberish; + }; + type RecipientStructOutput = [to: string, amount: bigint] & { + to: string; + amount: bigint; + }; +} +export interface TORNMockInterface extends Interface { + getFunction(nameOrSignature: "addToAllowedList" | "allowance" | "allowedTransferee" | "approve" | "balanceOf" | "blockTimestamp" | "burn" | "burnFrom" | "canUnpauseAfter" | "chainID" | "chainId" | "changeTransferability" | "decimals" | "decreaseAllowance" | "fakeTimestamp" | "governance" | "increaseAllowance" | "name" | "nonces" | "paused" | "permit" | "removeFromAllowedList" | "rescueTokens" | "setChainId" | "setFakeTimestamp" | "symbol" | "totalSupply" | "transfer" | "transferFrom"): FunctionFragment; + getEvent(nameOrSignatureOrTopic: "Allowed" | "Approval" | "Disallowed" | "Paused" | "Transfer" | "Unpaused"): EventFragment; + encodeFunctionData(functionFragment: "addToAllowedList", values: [AddressLike[]]): string; + encodeFunctionData(functionFragment: "allowance", values: [AddressLike, AddressLike]): string; + encodeFunctionData(functionFragment: "allowedTransferee", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "approve", values: [AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "balanceOf", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "blockTimestamp", values?: undefined): string; + encodeFunctionData(functionFragment: "burn", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "burnFrom", values: [AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "canUnpauseAfter", values?: undefined): string; + encodeFunctionData(functionFragment: "chainID", values?: undefined): string; + encodeFunctionData(functionFragment: "chainId", values?: undefined): string; + encodeFunctionData(functionFragment: "changeTransferability", values: [boolean]): string; + encodeFunctionData(functionFragment: "decimals", values?: undefined): string; + encodeFunctionData(functionFragment: "decreaseAllowance", values: [AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "fakeTimestamp", values?: undefined): string; + encodeFunctionData(functionFragment: "governance", values?: undefined): string; + encodeFunctionData(functionFragment: "increaseAllowance", values: [AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData(functionFragment: "nonces", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "paused", values?: undefined): string; + encodeFunctionData(functionFragment: "permit", values: [ + AddressLike, + AddressLike, + BigNumberish, + BigNumberish, + BigNumberish, + BytesLike, + BytesLike + ]): string; + encodeFunctionData(functionFragment: "removeFromAllowedList", values: [AddressLike[]]): string; + encodeFunctionData(functionFragment: "rescueTokens", values: [AddressLike, AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "setChainId", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setFakeTimestamp", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "symbol", values?: undefined): string; + encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string; + encodeFunctionData(functionFragment: "transfer", values: [AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "transferFrom", values: [AddressLike, AddressLike, BigNumberish]): string; + decodeFunctionResult(functionFragment: "addToAllowedList", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "allowedTransferee", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "blockTimestamp", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "burn", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "burnFrom", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "canUnpauseAfter", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "chainID", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "chainId", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "changeTransferability", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "decreaseAllowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "fakeTimestamp", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "governance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "increaseAllowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "nonces", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "paused", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "removeFromAllowedList", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "rescueTokens", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setChainId", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setFakeTimestamp", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "totalSupply", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "transferFrom", data: BytesLike): Result; +} +export declare namespace AllowedEvent { + type InputTuple = [target: AddressLike]; + type OutputTuple = [target: string]; + interface OutputObject { + target: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace ApprovalEvent { + type InputTuple = [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish + ]; + type OutputTuple = [owner: string, spender: string, value: bigint]; + interface OutputObject { + owner: string; + spender: string; + value: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace DisallowedEvent { + type InputTuple = [target: AddressLike]; + type OutputTuple = [target: string]; + interface OutputObject { + target: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace PausedEvent { + type InputTuple = [account: AddressLike]; + type OutputTuple = [account: string]; + interface OutputObject { + account: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace TransferEvent { + type InputTuple = [ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ]; + type OutputTuple = [from: string, to: string, value: bigint]; + interface OutputObject { + from: string; + to: string; + value: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace UnpausedEvent { + type InputTuple = [account: AddressLike]; + type OutputTuple = [account: string]; + interface OutputObject { + account: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export interface TORNMock extends BaseContract { + connect(runner?: ContractRunner | null): TORNMock; + waitForDeployment(): Promise; + interface: TORNMockInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + addToAllowedList: TypedContractMethod<[ + target: AddressLike[] + ], [ + void + ], "nonpayable">; + allowance: TypedContractMethod<[ + owner: AddressLike, + spender: AddressLike + ], [ + bigint + ], "view">; + allowedTransferee: TypedContractMethod<[ + arg0: AddressLike + ], [ + boolean + ], "view">; + approve: TypedContractMethod<[ + spender: AddressLike, + amount: BigNumberish + ], [ + boolean + ], "nonpayable">; + balanceOf: TypedContractMethod<[account: AddressLike], [bigint], "view">; + blockTimestamp: TypedContractMethod<[], [bigint], "view">; + burn: TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + burnFrom: TypedContractMethod<[ + account: AddressLike, + amount: BigNumberish + ], [ + void + ], "nonpayable">; + canUnpauseAfter: TypedContractMethod<[], [bigint], "view">; + chainID: TypedContractMethod<[], [bigint], "view">; + chainId: TypedContractMethod<[], [bigint], "view">; + changeTransferability: TypedContractMethod<[ + decision: boolean + ], [ + void + ], "nonpayable">; + decimals: TypedContractMethod<[], [bigint], "view">; + decreaseAllowance: TypedContractMethod<[ + spender: AddressLike, + subtractedValue: BigNumberish + ], [ + boolean + ], "nonpayable">; + fakeTimestamp: TypedContractMethod<[], [bigint], "view">; + governance: TypedContractMethod<[], [string], "view">; + increaseAllowance: TypedContractMethod<[ + spender: AddressLike, + addedValue: BigNumberish + ], [ + boolean + ], "nonpayable">; + name: TypedContractMethod<[], [string], "view">; + nonces: TypedContractMethod<[owner: AddressLike], [bigint], "view">; + paused: TypedContractMethod<[], [boolean], "view">; + permit: TypedContractMethod<[ + owner: AddressLike, + spender: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], [ + void + ], "nonpayable">; + removeFromAllowedList: TypedContractMethod<[ + target: AddressLike[] + ], [ + void + ], "nonpayable">; + rescueTokens: TypedContractMethod<[ + _token: AddressLike, + _to: AddressLike, + _balance: BigNumberish + ], [ + void + ], "nonpayable">; + setChainId: TypedContractMethod<[ + _chainId: BigNumberish + ], [ + void + ], "nonpayable">; + setFakeTimestamp: TypedContractMethod<[ + _fakeTimestamp: BigNumberish + ], [ + void + ], "nonpayable">; + symbol: TypedContractMethod<[], [string], "view">; + totalSupply: TypedContractMethod<[], [bigint], "view">; + transfer: TypedContractMethod<[ + recipient: AddressLike, + amount: BigNumberish + ], [ + boolean + ], "nonpayable">; + transferFrom: TypedContractMethod<[ + sender: AddressLike, + recipient: AddressLike, + amount: BigNumberish + ], [ + boolean + ], "nonpayable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "addToAllowedList"): TypedContractMethod<[target: AddressLike[]], [void], "nonpayable">; + getFunction(nameOrSignature: "allowance"): TypedContractMethod<[ + owner: AddressLike, + spender: AddressLike + ], [ + bigint + ], "view">; + getFunction(nameOrSignature: "allowedTransferee"): TypedContractMethod<[arg0: AddressLike], [boolean], "view">; + getFunction(nameOrSignature: "approve"): TypedContractMethod<[ + spender: AddressLike, + amount: BigNumberish + ], [ + boolean + ], "nonpayable">; + getFunction(nameOrSignature: "balanceOf"): TypedContractMethod<[account: AddressLike], [bigint], "view">; + getFunction(nameOrSignature: "blockTimestamp"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "burn"): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "burnFrom"): TypedContractMethod<[ + account: AddressLike, + amount: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "canUnpauseAfter"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "chainID"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "chainId"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "changeTransferability"): TypedContractMethod<[decision: boolean], [void], "nonpayable">; + getFunction(nameOrSignature: "decimals"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "decreaseAllowance"): TypedContractMethod<[ + spender: AddressLike, + subtractedValue: BigNumberish + ], [ + boolean + ], "nonpayable">; + getFunction(nameOrSignature: "fakeTimestamp"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "governance"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "increaseAllowance"): TypedContractMethod<[ + spender: AddressLike, + addedValue: BigNumberish + ], [ + boolean + ], "nonpayable">; + getFunction(nameOrSignature: "name"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "nonces"): TypedContractMethod<[owner: AddressLike], [bigint], "view">; + getFunction(nameOrSignature: "paused"): TypedContractMethod<[], [boolean], "view">; + getFunction(nameOrSignature: "permit"): TypedContractMethod<[ + owner: AddressLike, + spender: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "removeFromAllowedList"): TypedContractMethod<[target: AddressLike[]], [void], "nonpayable">; + getFunction(nameOrSignature: "rescueTokens"): TypedContractMethod<[ + _token: AddressLike, + _to: AddressLike, + _balance: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "setChainId"): TypedContractMethod<[_chainId: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "setFakeTimestamp"): TypedContractMethod<[_fakeTimestamp: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "symbol"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "totalSupply"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "transfer"): TypedContractMethod<[ + recipient: AddressLike, + amount: BigNumberish + ], [ + boolean + ], "nonpayable">; + getFunction(nameOrSignature: "transferFrom"): TypedContractMethod<[ + sender: AddressLike, + recipient: AddressLike, + amount: BigNumberish + ], [ + boolean + ], "nonpayable">; + getEvent(key: "Allowed"): TypedContractEvent; + getEvent(key: "Approval"): TypedContractEvent; + getEvent(key: "Disallowed"): TypedContractEvent; + getEvent(key: "Paused"): TypedContractEvent; + getEvent(key: "Transfer"): TypedContractEvent; + getEvent(key: "Unpaused"): TypedContractEvent; + filters: { + "Allowed(address)": TypedContractEvent; + Allowed: TypedContractEvent; + "Approval(address,address,uint256)": TypedContractEvent; + Approval: TypedContractEvent; + "Disallowed(address)": TypedContractEvent; + Disallowed: TypedContractEvent; + "Paused(address)": TypedContractEvent; + Paused: TypedContractEvent; + "Transfer(address,address,uint256)": TypedContractEvent; + Transfer: TypedContractEvent; + "Unpaused(address)": TypedContractEvent; + Unpaused: TypedContractEvent; + }; +} diff --git a/dist/contracts/Governance/TORN/mocks/Timestamp.d.ts b/dist/contracts/Governance/TORN/mocks/Timestamp.d.ts new file mode 100644 index 0000000..238a76e --- /dev/null +++ b/dist/contracts/Governance/TORN/mocks/Timestamp.d.ts @@ -0,0 +1,37 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../../../common"; +export interface TimestampInterface extends Interface { + getFunction(nameOrSignature: "blockTimestamp" | "fakeTimestamp" | "setFakeTimestamp"): FunctionFragment; + encodeFunctionData(functionFragment: "blockTimestamp", values?: undefined): string; + encodeFunctionData(functionFragment: "fakeTimestamp", values?: undefined): string; + encodeFunctionData(functionFragment: "setFakeTimestamp", values: [BigNumberish]): string; + decodeFunctionResult(functionFragment: "blockTimestamp", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "fakeTimestamp", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setFakeTimestamp", data: BytesLike): Result; +} +export interface Timestamp extends BaseContract { + connect(runner?: ContractRunner | null): Timestamp; + waitForDeployment(): Promise; + interface: TimestampInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + blockTimestamp: TypedContractMethod<[], [bigint], "view">; + fakeTimestamp: TypedContractMethod<[], [bigint], "view">; + setFakeTimestamp: TypedContractMethod<[ + _fakeTimestamp: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "blockTimestamp"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "fakeTimestamp"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "setFakeTimestamp"): TypedContractMethod<[_fakeTimestamp: BigNumberish], [void], "nonpayable">; + filters: {}; +} diff --git a/dist/contracts/Governance/TORN/mocks/VestingMock.d.ts b/dist/contracts/Governance/TORN/mocks/VestingMock.d.ts new file mode 100644 index 0000000..163d64a --- /dev/null +++ b/dist/contracts/Governance/TORN/mocks/VestingMock.d.ts @@ -0,0 +1,89 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../../../common"; +export interface VestingMockInterface extends Interface { + getFunction(nameOrSignature: "SECONDS_PER_MONTH" | "beneficiary" | "blockTimestamp" | "cliffInMonths" | "durationInMonths" | "fakeTimestamp" | "release" | "released" | "setFakeTimestamp" | "startTimestamp" | "token" | "vestedAmount"): FunctionFragment; + getEvent(nameOrSignatureOrTopic: "Released"): EventFragment; + encodeFunctionData(functionFragment: "SECONDS_PER_MONTH", values?: undefined): string; + encodeFunctionData(functionFragment: "beneficiary", values?: undefined): string; + encodeFunctionData(functionFragment: "blockTimestamp", values?: undefined): string; + encodeFunctionData(functionFragment: "cliffInMonths", values?: undefined): string; + encodeFunctionData(functionFragment: "durationInMonths", values?: undefined): string; + encodeFunctionData(functionFragment: "fakeTimestamp", values?: undefined): string; + encodeFunctionData(functionFragment: "release", values?: undefined): string; + encodeFunctionData(functionFragment: "released", values?: undefined): string; + encodeFunctionData(functionFragment: "setFakeTimestamp", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "startTimestamp", values?: undefined): string; + encodeFunctionData(functionFragment: "token", values?: undefined): string; + encodeFunctionData(functionFragment: "vestedAmount", values?: undefined): string; + decodeFunctionResult(functionFragment: "SECONDS_PER_MONTH", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "beneficiary", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "blockTimestamp", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "cliffInMonths", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "durationInMonths", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "fakeTimestamp", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "release", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "released", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setFakeTimestamp", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "startTimestamp", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "token", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "vestedAmount", data: BytesLike): Result; +} +export declare namespace ReleasedEvent { + type InputTuple = [amount: BigNumberish]; + type OutputTuple = [amount: bigint]; + interface OutputObject { + amount: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export interface VestingMock extends BaseContract { + connect(runner?: ContractRunner | null): VestingMock; + waitForDeployment(): Promise; + interface: VestingMockInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + SECONDS_PER_MONTH: TypedContractMethod<[], [bigint], "view">; + beneficiary: TypedContractMethod<[], [string], "view">; + blockTimestamp: TypedContractMethod<[], [bigint], "view">; + cliffInMonths: TypedContractMethod<[], [bigint], "view">; + durationInMonths: TypedContractMethod<[], [bigint], "view">; + fakeTimestamp: TypedContractMethod<[], [bigint], "view">; + release: TypedContractMethod<[], [void], "nonpayable">; + released: TypedContractMethod<[], [bigint], "view">; + setFakeTimestamp: TypedContractMethod<[ + _fakeTimestamp: BigNumberish + ], [ + void + ], "nonpayable">; + startTimestamp: TypedContractMethod<[], [bigint], "view">; + token: TypedContractMethod<[], [string], "view">; + vestedAmount: TypedContractMethod<[], [bigint], "view">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "SECONDS_PER_MONTH"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "beneficiary"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "blockTimestamp"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "cliffInMonths"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "durationInMonths"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "fakeTimestamp"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "release"): TypedContractMethod<[], [void], "nonpayable">; + getFunction(nameOrSignature: "released"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "setFakeTimestamp"): TypedContractMethod<[_fakeTimestamp: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "startTimestamp"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "token"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "vestedAmount"): TypedContractMethod<[], [bigint], "view">; + getEvent(key: "Released"): TypedContractEvent; + filters: { + "Released(uint256)": TypedContractEvent; + Released: TypedContractEvent; + }; +} diff --git a/dist/contracts/Governance/TORN/mocks/VoucherMock.d.ts b/dist/contracts/Governance/TORN/mocks/VoucherMock.d.ts new file mode 100644 index 0000000..477b68a --- /dev/null +++ b/dist/contracts/Governance/TORN/mocks/VoucherMock.d.ts @@ -0,0 +1,231 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../../../common"; +export declare namespace Voucher { + type RecipientStruct = { + to: AddressLike; + amount: BigNumberish; + }; + type RecipientStructOutput = [to: string, amount: bigint] & { + to: string; + amount: bigint; + }; +} +export interface VoucherMockInterface extends Interface { + getFunction(nameOrSignature: "allowance" | "allowedTransferee" | "approve" | "balanceOf" | "blockTimestamp" | "bulkResolve" | "decimals" | "decreaseAllowance" | "expiresAt" | "fakeTimestamp" | "governance" | "increaseAllowance" | "name" | "redeem" | "rescueExpiredTokens" | "resolve" | "setFakeTimestamp" | "symbol" | "torn" | "totalSupply" | "transfer" | "transferFrom"): FunctionFragment; + getEvent(nameOrSignatureOrTopic: "Approval" | "Transfer"): EventFragment; + encodeFunctionData(functionFragment: "allowance", values: [AddressLike, AddressLike]): string; + encodeFunctionData(functionFragment: "allowedTransferee", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "approve", values: [AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "balanceOf", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "blockTimestamp", values?: undefined): string; + encodeFunctionData(functionFragment: "bulkResolve", values: [BytesLike[]]): string; + encodeFunctionData(functionFragment: "decimals", values?: undefined): string; + encodeFunctionData(functionFragment: "decreaseAllowance", values: [AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "expiresAt", values?: undefined): string; + encodeFunctionData(functionFragment: "fakeTimestamp", values?: undefined): string; + encodeFunctionData(functionFragment: "governance", values?: undefined): string; + encodeFunctionData(functionFragment: "increaseAllowance", values: [AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData(functionFragment: "redeem", values?: undefined): string; + encodeFunctionData(functionFragment: "rescueExpiredTokens", values?: undefined): string; + encodeFunctionData(functionFragment: "resolve", values: [BytesLike]): string; + encodeFunctionData(functionFragment: "setFakeTimestamp", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "symbol", values?: undefined): string; + encodeFunctionData(functionFragment: "torn", values?: undefined): string; + encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string; + encodeFunctionData(functionFragment: "transfer", values: [AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "transferFrom", values: [AddressLike, AddressLike, BigNumberish]): string; + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "allowedTransferee", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "blockTimestamp", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "bulkResolve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "decreaseAllowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "expiresAt", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "fakeTimestamp", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "governance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "increaseAllowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "redeem", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "rescueExpiredTokens", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "resolve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setFakeTimestamp", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "torn", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "totalSupply", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "transferFrom", data: BytesLike): Result; +} +export declare namespace ApprovalEvent { + type InputTuple = [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish + ]; + type OutputTuple = [owner: string, spender: string, value: bigint]; + interface OutputObject { + owner: string; + spender: string; + value: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace TransferEvent { + type InputTuple = [ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ]; + type OutputTuple = [from: string, to: string, value: bigint]; + interface OutputObject { + from: string; + to: string; + value: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export interface VoucherMock extends BaseContract { + connect(runner?: ContractRunner | null): VoucherMock; + waitForDeployment(): Promise; + interface: VoucherMockInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + allowance: TypedContractMethod<[ + owner: AddressLike, + spender: AddressLike + ], [ + bigint + ], "view">; + allowedTransferee: TypedContractMethod<[ + arg0: AddressLike + ], [ + boolean + ], "view">; + approve: TypedContractMethod<[ + spender: AddressLike, + amount: BigNumberish + ], [ + boolean + ], "nonpayable">; + balanceOf: TypedContractMethod<[account: AddressLike], [bigint], "view">; + blockTimestamp: TypedContractMethod<[], [bigint], "view">; + bulkResolve: TypedContractMethod<[domains: BytesLike[]], [string[]], "view">; + decimals: TypedContractMethod<[], [bigint], "view">; + decreaseAllowance: TypedContractMethod<[ + spender: AddressLike, + subtractedValue: BigNumberish + ], [ + boolean + ], "nonpayable">; + expiresAt: TypedContractMethod<[], [bigint], "view">; + fakeTimestamp: TypedContractMethod<[], [bigint], "view">; + governance: TypedContractMethod<[], [string], "view">; + increaseAllowance: TypedContractMethod<[ + spender: AddressLike, + addedValue: BigNumberish + ], [ + boolean + ], "nonpayable">; + name: TypedContractMethod<[], [string], "view">; + redeem: TypedContractMethod<[], [void], "nonpayable">; + rescueExpiredTokens: TypedContractMethod<[], [void], "nonpayable">; + resolve: TypedContractMethod<[addr: BytesLike], [string], "view">; + setFakeTimestamp: TypedContractMethod<[ + _fakeTimestamp: BigNumberish + ], [ + void + ], "nonpayable">; + symbol: TypedContractMethod<[], [string], "view">; + torn: TypedContractMethod<[], [string], "view">; + totalSupply: TypedContractMethod<[], [bigint], "view">; + transfer: TypedContractMethod<[ + recipient: AddressLike, + amount: BigNumberish + ], [ + boolean + ], "nonpayable">; + transferFrom: TypedContractMethod<[ + sender: AddressLike, + recipient: AddressLike, + amount: BigNumberish + ], [ + boolean + ], "nonpayable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "allowance"): TypedContractMethod<[ + owner: AddressLike, + spender: AddressLike + ], [ + bigint + ], "view">; + getFunction(nameOrSignature: "allowedTransferee"): TypedContractMethod<[arg0: AddressLike], [boolean], "view">; + getFunction(nameOrSignature: "approve"): TypedContractMethod<[ + spender: AddressLike, + amount: BigNumberish + ], [ + boolean + ], "nonpayable">; + getFunction(nameOrSignature: "balanceOf"): TypedContractMethod<[account: AddressLike], [bigint], "view">; + getFunction(nameOrSignature: "blockTimestamp"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "bulkResolve"): TypedContractMethod<[domains: BytesLike[]], [string[]], "view">; + getFunction(nameOrSignature: "decimals"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "decreaseAllowance"): TypedContractMethod<[ + spender: AddressLike, + subtractedValue: BigNumberish + ], [ + boolean + ], "nonpayable">; + getFunction(nameOrSignature: "expiresAt"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "fakeTimestamp"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "governance"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "increaseAllowance"): TypedContractMethod<[ + spender: AddressLike, + addedValue: BigNumberish + ], [ + boolean + ], "nonpayable">; + getFunction(nameOrSignature: "name"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "redeem"): TypedContractMethod<[], [void], "nonpayable">; + getFunction(nameOrSignature: "rescueExpiredTokens"): TypedContractMethod<[], [void], "nonpayable">; + getFunction(nameOrSignature: "resolve"): TypedContractMethod<[addr: BytesLike], [string], "view">; + getFunction(nameOrSignature: "setFakeTimestamp"): TypedContractMethod<[_fakeTimestamp: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "symbol"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "torn"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "totalSupply"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "transfer"): TypedContractMethod<[ + recipient: AddressLike, + amount: BigNumberish + ], [ + boolean + ], "nonpayable">; + getFunction(nameOrSignature: "transferFrom"): TypedContractMethod<[ + sender: AddressLike, + recipient: AddressLike, + amount: BigNumberish + ], [ + boolean + ], "nonpayable">; + getEvent(key: "Approval"): TypedContractEvent; + getEvent(key: "Transfer"): TypedContractEvent; + filters: { + "Approval(address,address,uint256)": TypedContractEvent; + Approval: TypedContractEvent; + "Transfer(address,address,uint256)": TypedContractEvent; + Transfer: TypedContractEvent; + }; +} diff --git a/dist/contracts/Governance/TORN/mocks/index.d.ts b/dist/contracts/Governance/TORN/mocks/index.d.ts new file mode 100644 index 0000000..d6b8ec2 --- /dev/null +++ b/dist/contracts/Governance/TORN/mocks/index.d.ts @@ -0,0 +1,6 @@ +export type { AirdropMock } from "./AirdropMock"; +export type { ENSMock } from "./ENSMock"; +export type { TORNMock } from "./TORNMock"; +export type { Timestamp } from "./Timestamp"; +export type { VestingMock } from "./VestingMock"; +export type { VoucherMock } from "./VoucherMock"; diff --git a/dist/contracts/Governance/Testnet/TestnetAdminProxy.d.ts b/dist/contracts/Governance/Testnet/TestnetAdminProxy.d.ts new file mode 100644 index 0000000..dd80ac5 --- /dev/null +++ b/dist/contracts/Governance/Testnet/TestnetAdminProxy.d.ts @@ -0,0 +1,146 @@ +import type { BaseContract, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../../common"; +export interface TestnetAdminProxyInterface extends Interface { + getFunction(nameOrSignature: "admin" | "callToOwner" | "changeAdmin" | "changeOwner" | "delegateToOwner" | "getCurrentOwner" | "implementation" | "upgradeTo" | "upgradeToAndCall" | "upgradeToOwner"): FunctionFragment; + getEvent(nameOrSignatureOrTopic: "AdminChanged" | "Upgraded"): EventFragment; + encodeFunctionData(functionFragment: "admin", values?: undefined): string; + encodeFunctionData(functionFragment: "callToOwner", values: [AddressLike, BytesLike]): string; + encodeFunctionData(functionFragment: "changeAdmin", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "changeOwner", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "delegateToOwner", values: [AddressLike, BytesLike]): string; + encodeFunctionData(functionFragment: "getCurrentOwner", values?: undefined): string; + encodeFunctionData(functionFragment: "implementation", values?: undefined): string; + encodeFunctionData(functionFragment: "upgradeTo", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "upgradeToAndCall", values: [AddressLike, BytesLike]): string; + encodeFunctionData(functionFragment: "upgradeToOwner", values: [AddressLike]): string; + decodeFunctionResult(functionFragment: "admin", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "callToOwner", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "changeAdmin", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "changeOwner", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "delegateToOwner", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "getCurrentOwner", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "implementation", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "upgradeTo", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "upgradeToAndCall", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "upgradeToOwner", data: BytesLike): Result; +} +export declare namespace AdminChangedEvent { + type InputTuple = [previousAdmin: AddressLike, newAdmin: AddressLike]; + type OutputTuple = [previousAdmin: string, newAdmin: string]; + interface OutputObject { + previousAdmin: string; + newAdmin: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace UpgradedEvent { + type InputTuple = [implementation: AddressLike]; + type OutputTuple = [implementation: string]; + interface OutputObject { + implementation: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export interface TestnetAdminProxy extends BaseContract { + connect(runner?: ContractRunner | null): TestnetAdminProxy; + waitForDeployment(): Promise; + interface: TestnetAdminProxyInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + admin: TypedContractMethod<[], [string], "nonpayable">; + callToOwner: TypedContractMethod<[ + target: AddressLike, + data: BytesLike + ], [ + void + ], "payable">; + changeAdmin: TypedContractMethod<[ + newAdmin: AddressLike + ], [ + void + ], "nonpayable">; + changeOwner: TypedContractMethod<[ + newOwner: AddressLike + ], [ + void + ], "nonpayable">; + delegateToOwner: TypedContractMethod<[ + target: AddressLike, + data: BytesLike + ], [ + void + ], "payable">; + getCurrentOwner: TypedContractMethod<[], [string], "view">; + implementation: TypedContractMethod<[], [string], "nonpayable">; + upgradeTo: TypedContractMethod<[ + newImplementation: AddressLike + ], [ + void + ], "nonpayable">; + upgradeToAndCall: TypedContractMethod<[ + newImplementation: AddressLike, + data: BytesLike + ], [ + void + ], "payable">; + upgradeToOwner: TypedContractMethod<[ + newImplementation: AddressLike + ], [ + void + ], "nonpayable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "admin"): TypedContractMethod<[], [string], "nonpayable">; + getFunction(nameOrSignature: "callToOwner"): TypedContractMethod<[ + target: AddressLike, + data: BytesLike + ], [ + void + ], "payable">; + getFunction(nameOrSignature: "changeAdmin"): TypedContractMethod<[newAdmin: AddressLike], [void], "nonpayable">; + getFunction(nameOrSignature: "changeOwner"): TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">; + getFunction(nameOrSignature: "delegateToOwner"): TypedContractMethod<[ + target: AddressLike, + data: BytesLike + ], [ + void + ], "payable">; + getFunction(nameOrSignature: "getCurrentOwner"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "implementation"): TypedContractMethod<[], [string], "nonpayable">; + getFunction(nameOrSignature: "upgradeTo"): TypedContractMethod<[ + newImplementation: AddressLike + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "upgradeToAndCall"): TypedContractMethod<[ + newImplementation: AddressLike, + data: BytesLike + ], [ + void + ], "payable">; + getFunction(nameOrSignature: "upgradeToOwner"): TypedContractMethod<[ + newImplementation: AddressLike + ], [ + void + ], "nonpayable">; + getEvent(key: "AdminChanged"): TypedContractEvent; + getEvent(key: "Upgraded"): TypedContractEvent; + filters: { + "AdminChanged(address,address)": TypedContractEvent; + AdminChanged: TypedContractEvent; + "Upgraded(address)": TypedContractEvent; + Upgraded: TypedContractEvent; + }; +} diff --git a/dist/contracts/Governance/Testnet/TestnetFeeManager.d.ts b/dist/contracts/Governance/Testnet/TestnetFeeManager.d.ts new file mode 100644 index 0000000..5fd1953 --- /dev/null +++ b/dist/contracts/Governance/Testnet/TestnetFeeManager.d.ts @@ -0,0 +1,201 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../../common"; +export declare namespace FeeManager { + type DeviationStruct = { + instance: AddressLike; + deviation: BigNumberish; + }; + type DeviationStructOutput = [instance: string, deviation: bigint] & { + instance: string; + deviation: bigint; + }; +} +export interface TestnetFeeManagerInterface extends Interface { + getFunction(nameOrSignature: "PROTOCOL_FEE_DIVIDER" | "calculatePoolFee" | "feeDeviations" | "getTokenPriceRatio" | "governance" | "instanceFee" | "instanceFeeUpdated" | "instanceFeeWithUpdate" | "registry" | "setPeriodForTWAPOracle" | "setTokenPrice" | "setUniswapTornPoolSwappingFee" | "setUpdateFeeTimeLimit" | "torn" | "uniswapTimePeriod" | "uniswapTornPoolSwappingFee" | "updateAllFees" | "updateFee" | "updateFeeTimeLimit" | "updateFees"): FunctionFragment; + getEvent(nameOrSignatureOrTopic: "FeeUpdated" | "UniswapTornPoolSwappingFeeChanged"): EventFragment; + encodeFunctionData(functionFragment: "PROTOCOL_FEE_DIVIDER", values?: undefined): string; + encodeFunctionData(functionFragment: "calculatePoolFee", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "feeDeviations", values?: undefined): string; + encodeFunctionData(functionFragment: "getTokenPriceRatio", values: [AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "governance", values?: undefined): string; + encodeFunctionData(functionFragment: "instanceFee", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "instanceFeeUpdated", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "instanceFeeWithUpdate", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "registry", values?: undefined): string; + encodeFunctionData(functionFragment: "setPeriodForTWAPOracle", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setTokenPrice", values: [AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "setUniswapTornPoolSwappingFee", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setUpdateFeeTimeLimit", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "torn", values?: undefined): string; + encodeFunctionData(functionFragment: "uniswapTimePeriod", values?: undefined): string; + encodeFunctionData(functionFragment: "uniswapTornPoolSwappingFee", values?: undefined): string; + encodeFunctionData(functionFragment: "updateAllFees", values?: undefined): string; + encodeFunctionData(functionFragment: "updateFee", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "updateFeeTimeLimit", values?: undefined): string; + encodeFunctionData(functionFragment: "updateFees", values: [AddressLike[]]): string; + decodeFunctionResult(functionFragment: "PROTOCOL_FEE_DIVIDER", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "calculatePoolFee", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "feeDeviations", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "getTokenPriceRatio", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "governance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "instanceFee", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "instanceFeeUpdated", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "instanceFeeWithUpdate", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "registry", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setPeriodForTWAPOracle", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setTokenPrice", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setUniswapTornPoolSwappingFee", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setUpdateFeeTimeLimit", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "torn", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "uniswapTimePeriod", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "uniswapTornPoolSwappingFee", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "updateAllFees", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "updateFee", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "updateFeeTimeLimit", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "updateFees", data: BytesLike): Result; +} +export declare namespace FeeUpdatedEvent { + type InputTuple = [instance: AddressLike, newFee: BigNumberish]; + type OutputTuple = [instance: string, newFee: bigint]; + interface OutputObject { + instance: string; + newFee: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace UniswapTornPoolSwappingFeeChangedEvent { + type InputTuple = [newFee: BigNumberish]; + type OutputTuple = [newFee: bigint]; + interface OutputObject { + newFee: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export interface TestnetFeeManager extends BaseContract { + connect(runner?: ContractRunner | null): TestnetFeeManager; + waitForDeployment(): Promise; + interface: TestnetFeeManagerInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + PROTOCOL_FEE_DIVIDER: TypedContractMethod<[], [bigint], "view">; + calculatePoolFee: TypedContractMethod<[ + _instance: AddressLike + ], [ + bigint + ], "view">; + feeDeviations: TypedContractMethod<[ + ], [ + FeeManager.DeviationStructOutput[] + ], "view">; + getTokenPriceRatio: TypedContractMethod<[ + _token: AddressLike, + _uniswapPoolSwappingFee: BigNumberish + ], [ + bigint + ], "view">; + governance: TypedContractMethod<[], [string], "view">; + instanceFee: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + instanceFeeUpdated: TypedContractMethod<[ + arg0: AddressLike + ], [ + bigint + ], "view">; + instanceFeeWithUpdate: TypedContractMethod<[ + _instance: AddressLike + ], [ + bigint + ], "nonpayable">; + registry: TypedContractMethod<[], [string], "view">; + setPeriodForTWAPOracle: TypedContractMethod<[ + newPeriod: BigNumberish + ], [ + void + ], "nonpayable">; + setTokenPrice: TypedContractMethod<[ + _token: AddressLike, + _price: BigNumberish + ], [ + void + ], "nonpayable">; + setUniswapTornPoolSwappingFee: TypedContractMethod<[ + _uniswapTornPoolSwappingFee: BigNumberish + ], [ + void + ], "nonpayable">; + setUpdateFeeTimeLimit: TypedContractMethod<[ + newLimit: BigNumberish + ], [ + void + ], "nonpayable">; + torn: TypedContractMethod<[], [string], "view">; + uniswapTimePeriod: TypedContractMethod<[], [bigint], "view">; + uniswapTornPoolSwappingFee: TypedContractMethod<[], [bigint], "view">; + updateAllFees: TypedContractMethod<[], [void], "nonpayable">; + updateFee: TypedContractMethod<[ + _instance: AddressLike + ], [ + void + ], "nonpayable">; + updateFeeTimeLimit: TypedContractMethod<[], [bigint], "view">; + updateFees: TypedContractMethod<[ + _instances: AddressLike[] + ], [ + void + ], "nonpayable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "PROTOCOL_FEE_DIVIDER"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "calculatePoolFee"): TypedContractMethod<[_instance: AddressLike], [bigint], "view">; + getFunction(nameOrSignature: "feeDeviations"): TypedContractMethod<[], [FeeManager.DeviationStructOutput[]], "view">; + getFunction(nameOrSignature: "getTokenPriceRatio"): TypedContractMethod<[ + _token: AddressLike, + _uniswapPoolSwappingFee: BigNumberish + ], [ + bigint + ], "view">; + getFunction(nameOrSignature: "governance"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "instanceFee"): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction(nameOrSignature: "instanceFeeUpdated"): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction(nameOrSignature: "instanceFeeWithUpdate"): TypedContractMethod<[_instance: AddressLike], [bigint], "nonpayable">; + getFunction(nameOrSignature: "registry"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "setPeriodForTWAPOracle"): TypedContractMethod<[newPeriod: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "setTokenPrice"): TypedContractMethod<[ + _token: AddressLike, + _price: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "setUniswapTornPoolSwappingFee"): TypedContractMethod<[ + _uniswapTornPoolSwappingFee: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "setUpdateFeeTimeLimit"): TypedContractMethod<[newLimit: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "torn"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "uniswapTimePeriod"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "uniswapTornPoolSwappingFee"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "updateAllFees"): TypedContractMethod<[], [void], "nonpayable">; + getFunction(nameOrSignature: "updateFee"): TypedContractMethod<[_instance: AddressLike], [void], "nonpayable">; + getFunction(nameOrSignature: "updateFeeTimeLimit"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "updateFees"): TypedContractMethod<[_instances: AddressLike[]], [void], "nonpayable">; + getEvent(key: "FeeUpdated"): TypedContractEvent; + getEvent(key: "UniswapTornPoolSwappingFeeChanged"): TypedContractEvent; + filters: { + "FeeUpdated(address,uint256)": TypedContractEvent; + FeeUpdated: TypedContractEvent; + "UniswapTornPoolSwappingFeeChanged(uint24)": TypedContractEvent; + UniswapTornPoolSwappingFeeChanged: TypedContractEvent; + }; +} diff --git a/dist/contracts/Governance/Testnet/TestnetGovernanceProxy.d.ts b/dist/contracts/Governance/Testnet/TestnetGovernanceProxy.d.ts new file mode 100644 index 0000000..62ca03d --- /dev/null +++ b/dist/contracts/Governance/Testnet/TestnetGovernanceProxy.d.ts @@ -0,0 +1,146 @@ +import type { BaseContract, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../../common"; +export interface TestnetGovernanceProxyInterface extends Interface { + getFunction(nameOrSignature: "admin" | "callToOwner" | "changeAdmin" | "changeOwner" | "delegateToOwner" | "getCurrentOwner" | "implementation" | "upgradeTo" | "upgradeToAndCall" | "upgradeToOwner"): FunctionFragment; + getEvent(nameOrSignatureOrTopic: "AdminChanged" | "Upgraded"): EventFragment; + encodeFunctionData(functionFragment: "admin", values?: undefined): string; + encodeFunctionData(functionFragment: "callToOwner", values: [AddressLike, BytesLike]): string; + encodeFunctionData(functionFragment: "changeAdmin", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "changeOwner", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "delegateToOwner", values: [AddressLike, BytesLike]): string; + encodeFunctionData(functionFragment: "getCurrentOwner", values?: undefined): string; + encodeFunctionData(functionFragment: "implementation", values?: undefined): string; + encodeFunctionData(functionFragment: "upgradeTo", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "upgradeToAndCall", values: [AddressLike, BytesLike]): string; + encodeFunctionData(functionFragment: "upgradeToOwner", values: [AddressLike]): string; + decodeFunctionResult(functionFragment: "admin", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "callToOwner", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "changeAdmin", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "changeOwner", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "delegateToOwner", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "getCurrentOwner", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "implementation", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "upgradeTo", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "upgradeToAndCall", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "upgradeToOwner", data: BytesLike): Result; +} +export declare namespace AdminChangedEvent { + type InputTuple = [previousAdmin: AddressLike, newAdmin: AddressLike]; + type OutputTuple = [previousAdmin: string, newAdmin: string]; + interface OutputObject { + previousAdmin: string; + newAdmin: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace UpgradedEvent { + type InputTuple = [implementation: AddressLike]; + type OutputTuple = [implementation: string]; + interface OutputObject { + implementation: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export interface TestnetGovernanceProxy extends BaseContract { + connect(runner?: ContractRunner | null): TestnetGovernanceProxy; + waitForDeployment(): Promise; + interface: TestnetGovernanceProxyInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + admin: TypedContractMethod<[], [string], "nonpayable">; + callToOwner: TypedContractMethod<[ + target: AddressLike, + data: BytesLike + ], [ + void + ], "payable">; + changeAdmin: TypedContractMethod<[ + newAdmin: AddressLike + ], [ + void + ], "nonpayable">; + changeOwner: TypedContractMethod<[ + newOwner: AddressLike + ], [ + void + ], "nonpayable">; + delegateToOwner: TypedContractMethod<[ + target: AddressLike, + data: BytesLike + ], [ + void + ], "payable">; + getCurrentOwner: TypedContractMethod<[], [string], "view">; + implementation: TypedContractMethod<[], [string], "nonpayable">; + upgradeTo: TypedContractMethod<[ + newImplementation: AddressLike + ], [ + void + ], "nonpayable">; + upgradeToAndCall: TypedContractMethod<[ + newImplementation: AddressLike, + data: BytesLike + ], [ + void + ], "payable">; + upgradeToOwner: TypedContractMethod<[ + newImplementation: AddressLike + ], [ + void + ], "nonpayable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "admin"): TypedContractMethod<[], [string], "nonpayable">; + getFunction(nameOrSignature: "callToOwner"): TypedContractMethod<[ + target: AddressLike, + data: BytesLike + ], [ + void + ], "payable">; + getFunction(nameOrSignature: "changeAdmin"): TypedContractMethod<[newAdmin: AddressLike], [void], "nonpayable">; + getFunction(nameOrSignature: "changeOwner"): TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">; + getFunction(nameOrSignature: "delegateToOwner"): TypedContractMethod<[ + target: AddressLike, + data: BytesLike + ], [ + void + ], "payable">; + getFunction(nameOrSignature: "getCurrentOwner"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "implementation"): TypedContractMethod<[], [string], "nonpayable">; + getFunction(nameOrSignature: "upgradeTo"): TypedContractMethod<[ + newImplementation: AddressLike + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "upgradeToAndCall"): TypedContractMethod<[ + newImplementation: AddressLike, + data: BytesLike + ], [ + void + ], "payable">; + getFunction(nameOrSignature: "upgradeToOwner"): TypedContractMethod<[ + newImplementation: AddressLike + ], [ + void + ], "nonpayable">; + getEvent(key: "AdminChanged"): TypedContractEvent; + getEvent(key: "Upgraded"): TypedContractEvent; + filters: { + "AdminChanged(address,address)": TypedContractEvent; + AdminChanged: TypedContractEvent; + "Upgraded(address)": TypedContractEvent; + Upgraded: TypedContractEvent; + }; +} diff --git a/dist/contracts/Governance/Testnet/index.d.ts b/dist/contracts/Governance/Testnet/index.d.ts new file mode 100644 index 0000000..8883c23 --- /dev/null +++ b/dist/contracts/Governance/Testnet/index.d.ts @@ -0,0 +1,3 @@ +export type { TestnetAdminProxy } from "./TestnetAdminProxy"; +export type { TestnetFeeManager } from "./TestnetFeeManager"; +export type { TestnetGovernanceProxy } from "./TestnetGovernanceProxy"; diff --git a/dist/contracts/Governance/TornadoRouter.d.ts b/dist/contracts/Governance/TornadoRouter.d.ts new file mode 100644 index 0000000..6e57028 --- /dev/null +++ b/dist/contracts/Governance/TornadoRouter.d.ts @@ -0,0 +1,141 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../common"; +export interface TornadoRouterInterface extends Interface { + getFunction(nameOrSignature: "approveExactToken" | "backupNotes" | "deposit" | "governance" | "instanceRegistry" | "relayerRegistry" | "rescueTokens" | "withdraw"): FunctionFragment; + getEvent(nameOrSignatureOrTopic: "EncryptedNote"): EventFragment; + encodeFunctionData(functionFragment: "approveExactToken", values: [AddressLike, AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "backupNotes", values: [BytesLike[]]): string; + encodeFunctionData(functionFragment: "deposit", values: [AddressLike, BytesLike, BytesLike]): string; + encodeFunctionData(functionFragment: "governance", values?: undefined): string; + encodeFunctionData(functionFragment: "instanceRegistry", values?: undefined): string; + encodeFunctionData(functionFragment: "relayerRegistry", values?: undefined): string; + encodeFunctionData(functionFragment: "rescueTokens", values: [AddressLike, AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "withdraw", values: [ + AddressLike, + BytesLike, + BytesLike, + BytesLike, + AddressLike, + AddressLike, + BigNumberish, + BigNumberish + ]): string; + decodeFunctionResult(functionFragment: "approveExactToken", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "backupNotes", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "governance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "instanceRegistry", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "relayerRegistry", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "rescueTokens", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; +} +export declare namespace EncryptedNoteEvent { + type InputTuple = [sender: AddressLike, encryptedNote: BytesLike]; + type OutputTuple = [sender: string, encryptedNote: string]; + interface OutputObject { + sender: string; + encryptedNote: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export interface TornadoRouter extends BaseContract { + connect(runner?: ContractRunner | null): TornadoRouter; + waitForDeployment(): Promise; + interface: TornadoRouterInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + approveExactToken: TypedContractMethod<[ + _token: AddressLike, + _spender: AddressLike, + _amount: BigNumberish + ], [ + void + ], "nonpayable">; + backupNotes: TypedContractMethod<[ + _encryptedNotes: BytesLike[] + ], [ + void + ], "nonpayable">; + deposit: TypedContractMethod<[ + _tornado: AddressLike, + _commitment: BytesLike, + _encryptedNote: BytesLike + ], [ + void + ], "payable">; + governance: TypedContractMethod<[], [string], "view">; + instanceRegistry: TypedContractMethod<[], [string], "view">; + relayerRegistry: TypedContractMethod<[], [string], "view">; + rescueTokens: TypedContractMethod<[ + _token: AddressLike, + _to: AddressLike, + _amount: BigNumberish + ], [ + void + ], "nonpayable">; + withdraw: TypedContractMethod<[ + _tornado: AddressLike, + _proof: BytesLike, + _root: BytesLike, + _nullifierHash: BytesLike, + _recipient: AddressLike, + _relayer: AddressLike, + _fee: BigNumberish, + _refund: BigNumberish + ], [ + void + ], "payable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "approveExactToken"): TypedContractMethod<[ + _token: AddressLike, + _spender: AddressLike, + _amount: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "backupNotes"): TypedContractMethod<[_encryptedNotes: BytesLike[]], [void], "nonpayable">; + getFunction(nameOrSignature: "deposit"): TypedContractMethod<[ + _tornado: AddressLike, + _commitment: BytesLike, + _encryptedNote: BytesLike + ], [ + void + ], "payable">; + getFunction(nameOrSignature: "governance"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "instanceRegistry"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "relayerRegistry"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "rescueTokens"): TypedContractMethod<[ + _token: AddressLike, + _to: AddressLike, + _amount: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "withdraw"): TypedContractMethod<[ + _tornado: AddressLike, + _proof: BytesLike, + _root: BytesLike, + _nullifierHash: BytesLike, + _recipient: AddressLike, + _relayer: AddressLike, + _fee: BigNumberish, + _refund: BigNumberish + ], [ + void + ], "payable">; + getEvent(key: "EncryptedNote"): TypedContractEvent; + filters: { + "EncryptedNote(address,bytes)": TypedContractEvent; + EncryptedNote: TypedContractEvent; + }; +} diff --git a/dist/contracts/Governance/TornadoStakingRewards.sol/ITornadoGovernance.d.ts b/dist/contracts/Governance/TornadoStakingRewards.sol/ITornadoGovernance.d.ts new file mode 100644 index 0000000..29b0fc1 --- /dev/null +++ b/dist/contracts/Governance/TornadoStakingRewards.sol/ITornadoGovernance.d.ts @@ -0,0 +1,29 @@ +import type { BaseContract, BytesLike, FunctionFragment, Result, Interface, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../../common"; +export interface ITornadoGovernanceInterface extends Interface { + getFunction(nameOrSignature: "lockedBalance" | "userVault"): FunctionFragment; + encodeFunctionData(functionFragment: "lockedBalance", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "userVault", values?: undefined): string; + decodeFunctionResult(functionFragment: "lockedBalance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "userVault", data: BytesLike): Result; +} +export interface ITornadoGovernance extends BaseContract { + connect(runner?: ContractRunner | null): ITornadoGovernance; + waitForDeployment(): Promise; + interface: ITornadoGovernanceInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + lockedBalance: TypedContractMethod<[account: AddressLike], [bigint], "view">; + userVault: TypedContractMethod<[], [string], "view">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "lockedBalance"): TypedContractMethod<[account: AddressLike], [bigint], "view">; + getFunction(nameOrSignature: "userVault"): TypedContractMethod<[], [string], "view">; + filters: {}; +} diff --git a/dist/contracts/Governance/TornadoStakingRewards.sol/ITornadoVault.d.ts b/dist/contracts/Governance/TornadoStakingRewards.sol/ITornadoVault.d.ts new file mode 100644 index 0000000..df7b86c --- /dev/null +++ b/dist/contracts/Governance/TornadoStakingRewards.sol/ITornadoVault.d.ts @@ -0,0 +1,35 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../../common"; +export interface ITornadoVaultInterface extends Interface { + getFunction(nameOrSignature: "withdrawTorn"): FunctionFragment; + encodeFunctionData(functionFragment: "withdrawTorn", values: [AddressLike, BigNumberish]): string; + decodeFunctionResult(functionFragment: "withdrawTorn", data: BytesLike): Result; +} +export interface ITornadoVault extends BaseContract { + connect(runner?: ContractRunner | null): ITornadoVault; + waitForDeployment(): Promise; + interface: ITornadoVaultInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + withdrawTorn: TypedContractMethod<[ + recipient: AddressLike, + amount: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "withdrawTorn"): TypedContractMethod<[ + recipient: AddressLike, + amount: BigNumberish + ], [ + void + ], "nonpayable">; + filters: {}; +} diff --git a/dist/contracts/Governance/TornadoStakingRewards.sol/TornadoStakingRewards.d.ts b/dist/contracts/Governance/TornadoStakingRewards.sol/TornadoStakingRewards.d.ts new file mode 100644 index 0000000..59f8e1b --- /dev/null +++ b/dist/contracts/Governance/TornadoStakingRewards.sol/TornadoStakingRewards.d.ts @@ -0,0 +1,127 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../../common"; +export interface TornadoStakingRewardsInterface extends Interface { + getFunction(nameOrSignature: "Governance" | "accumulatedRewardPerTorn" | "accumulatedRewardRateOnLastUpdate" | "accumulatedRewards" | "addBurnRewards" | "checkReward" | "getReward" | "ratioConstant" | "relayerRegistry" | "torn" | "updateRewardsOnLockedBalanceChange" | "withdrawTorn"): FunctionFragment; + getEvent(nameOrSignatureOrTopic: "RewardsClaimed" | "RewardsUpdated"): EventFragment; + encodeFunctionData(functionFragment: "Governance", values?: undefined): string; + encodeFunctionData(functionFragment: "accumulatedRewardPerTorn", values?: undefined): string; + encodeFunctionData(functionFragment: "accumulatedRewardRateOnLastUpdate", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "accumulatedRewards", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "addBurnRewards", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "checkReward", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "getReward", values?: undefined): string; + encodeFunctionData(functionFragment: "ratioConstant", values?: undefined): string; + encodeFunctionData(functionFragment: "relayerRegistry", values?: undefined): string; + encodeFunctionData(functionFragment: "torn", values?: undefined): string; + encodeFunctionData(functionFragment: "updateRewardsOnLockedBalanceChange", values: [AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "withdrawTorn", values: [BigNumberish]): string; + decodeFunctionResult(functionFragment: "Governance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "accumulatedRewardPerTorn", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "accumulatedRewardRateOnLastUpdate", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "accumulatedRewards", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "addBurnRewards", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "checkReward", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "getReward", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "ratioConstant", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "relayerRegistry", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "torn", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "updateRewardsOnLockedBalanceChange", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "withdrawTorn", data: BytesLike): Result; +} +export declare namespace RewardsClaimedEvent { + type InputTuple = [account: AddressLike, rewardsClaimed: BigNumberish]; + type OutputTuple = [account: string, rewardsClaimed: bigint]; + interface OutputObject { + account: string; + rewardsClaimed: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace RewardsUpdatedEvent { + type InputTuple = [account: AddressLike, rewards: BigNumberish]; + type OutputTuple = [account: string, rewards: bigint]; + interface OutputObject { + account: string; + rewards: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export interface TornadoStakingRewards extends BaseContract { + connect(runner?: ContractRunner | null): TornadoStakingRewards; + waitForDeployment(): Promise; + interface: TornadoStakingRewardsInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + Governance: TypedContractMethod<[], [string], "view">; + accumulatedRewardPerTorn: TypedContractMethod<[], [bigint], "view">; + accumulatedRewardRateOnLastUpdate: TypedContractMethod<[ + arg0: AddressLike + ], [ + bigint + ], "view">; + accumulatedRewards: TypedContractMethod<[ + arg0: AddressLike + ], [ + bigint + ], "view">; + addBurnRewards: TypedContractMethod<[ + amount: BigNumberish + ], [ + void + ], "nonpayable">; + checkReward: TypedContractMethod<[account: AddressLike], [bigint], "view">; + getReward: TypedContractMethod<[], [void], "nonpayable">; + ratioConstant: TypedContractMethod<[], [bigint], "view">; + relayerRegistry: TypedContractMethod<[], [string], "view">; + torn: TypedContractMethod<[], [string], "view">; + updateRewardsOnLockedBalanceChange: TypedContractMethod<[ + account: AddressLike, + amountLockedBeforehand: BigNumberish + ], [ + void + ], "nonpayable">; + withdrawTorn: TypedContractMethod<[ + amount: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "Governance"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "accumulatedRewardPerTorn"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "accumulatedRewardRateOnLastUpdate"): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction(nameOrSignature: "accumulatedRewards"): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction(nameOrSignature: "addBurnRewards"): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "checkReward"): TypedContractMethod<[account: AddressLike], [bigint], "view">; + getFunction(nameOrSignature: "getReward"): TypedContractMethod<[], [void], "nonpayable">; + getFunction(nameOrSignature: "ratioConstant"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "relayerRegistry"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "torn"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "updateRewardsOnLockedBalanceChange"): TypedContractMethod<[ + account: AddressLike, + amountLockedBeforehand: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "withdrawTorn"): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + getEvent(key: "RewardsClaimed"): TypedContractEvent; + getEvent(key: "RewardsUpdated"): TypedContractEvent; + filters: { + "RewardsClaimed(address,uint256)": TypedContractEvent; + RewardsClaimed: TypedContractEvent; + "RewardsUpdated(address,uint256)": TypedContractEvent; + RewardsUpdated: TypedContractEvent; + }; +} diff --git a/dist/contracts/Governance/TornadoStakingRewards.sol/index.d.ts b/dist/contracts/Governance/TornadoStakingRewards.sol/index.d.ts new file mode 100644 index 0000000..b896db4 --- /dev/null +++ b/dist/contracts/Governance/TornadoStakingRewards.sol/index.d.ts @@ -0,0 +1,3 @@ +export type { ITornadoGovernance } from "./ITornadoGovernance"; +export type { ITornadoVault } from "./ITornadoVault"; +export type { TornadoStakingRewards } from "./TornadoStakingRewards"; diff --git a/dist/contracts/Governance/TornadoVault.d.ts b/dist/contracts/Governance/TornadoVault.d.ts new file mode 100644 index 0000000..450093a --- /dev/null +++ b/dist/contracts/Governance/TornadoVault.d.ts @@ -0,0 +1,35 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../common"; +export interface TornadoVaultInterface extends Interface { + getFunction(nameOrSignature: "withdrawTorn"): FunctionFragment; + encodeFunctionData(functionFragment: "withdrawTorn", values: [AddressLike, BigNumberish]): string; + decodeFunctionResult(functionFragment: "withdrawTorn", data: BytesLike): Result; +} +export interface TornadoVault extends BaseContract { + connect(runner?: ContractRunner | null): TornadoVault; + waitForDeployment(): Promise; + interface: TornadoVaultInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + withdrawTorn: TypedContractMethod<[ + recipient: AddressLike, + amount: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "withdrawTorn"): TypedContractMethod<[ + recipient: AddressLike, + amount: BigNumberish + ], [ + void + ], "nonpayable">; + filters: {}; +} diff --git a/dist/contracts/Governance/Uniswap/index.d.ts b/dist/contracts/Governance/Uniswap/index.d.ts new file mode 100644 index 0000000..45d10f5 --- /dev/null +++ b/dist/contracts/Governance/Uniswap/index.d.ts @@ -0,0 +1,2 @@ +import type * as v3Core from "./v3-core"; +export type { v3Core }; diff --git a/dist/contracts/Governance/Uniswap/v3-core/contracts/index.d.ts b/dist/contracts/Governance/Uniswap/v3-core/contracts/index.d.ts new file mode 100644 index 0000000..1a3733f --- /dev/null +++ b/dist/contracts/Governance/Uniswap/v3-core/contracts/index.d.ts @@ -0,0 +1,2 @@ +import type * as interfaces from "./interfaces"; +export type { interfaces }; diff --git a/dist/contracts/Governance/Uniswap/v3-core/contracts/interfaces/IUniswapV3Factory.d.ts b/dist/contracts/Governance/Uniswap/v3-core/contracts/interfaces/IUniswapV3Factory.d.ts new file mode 100644 index 0000000..0aa024c --- /dev/null +++ b/dist/contracts/Governance/Uniswap/v3-core/contracts/interfaces/IUniswapV3Factory.d.ts @@ -0,0 +1,145 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../../../../../common"; +export interface IUniswapV3FactoryInterface extends Interface { + getFunction(nameOrSignature: "createPool" | "enableFeeAmount" | "feeAmountTickSpacing" | "getPool" | "owner" | "setOwner"): FunctionFragment; + getEvent(nameOrSignatureOrTopic: "FeeAmountEnabled" | "OwnerChanged" | "PoolCreated"): EventFragment; + encodeFunctionData(functionFragment: "createPool", values: [AddressLike, AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "enableFeeAmount", values: [BigNumberish, BigNumberish]): string; + encodeFunctionData(functionFragment: "feeAmountTickSpacing", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "getPool", values: [AddressLike, AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "owner", values?: undefined): string; + encodeFunctionData(functionFragment: "setOwner", values: [AddressLike]): string; + decodeFunctionResult(functionFragment: "createPool", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "enableFeeAmount", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "feeAmountTickSpacing", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "getPool", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setOwner", data: BytesLike): Result; +} +export declare namespace FeeAmountEnabledEvent { + type InputTuple = [fee: BigNumberish, tickSpacing: BigNumberish]; + type OutputTuple = [fee: bigint, tickSpacing: bigint]; + interface OutputObject { + fee: bigint; + tickSpacing: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace OwnerChangedEvent { + type InputTuple = [oldOwner: AddressLike, newOwner: AddressLike]; + type OutputTuple = [oldOwner: string, newOwner: string]; + interface OutputObject { + oldOwner: string; + newOwner: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace PoolCreatedEvent { + type InputTuple = [ + token0: AddressLike, + token1: AddressLike, + fee: BigNumberish, + tickSpacing: BigNumberish, + pool: AddressLike + ]; + type OutputTuple = [ + token0: string, + token1: string, + fee: bigint, + tickSpacing: bigint, + pool: string + ]; + interface OutputObject { + token0: string; + token1: string; + fee: bigint; + tickSpacing: bigint; + pool: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export interface IUniswapV3Factory extends BaseContract { + connect(runner?: ContractRunner | null): IUniswapV3Factory; + waitForDeployment(): Promise; + interface: IUniswapV3FactoryInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + createPool: TypedContractMethod<[ + tokenA: AddressLike, + tokenB: AddressLike, + fee: BigNumberish + ], [ + string + ], "nonpayable">; + enableFeeAmount: TypedContractMethod<[ + fee: BigNumberish, + tickSpacing: BigNumberish + ], [ + void + ], "nonpayable">; + feeAmountTickSpacing: TypedContractMethod<[ + fee: BigNumberish + ], [ + bigint + ], "view">; + getPool: TypedContractMethod<[ + tokenA: AddressLike, + tokenB: AddressLike, + fee: BigNumberish + ], [ + string + ], "view">; + owner: TypedContractMethod<[], [string], "view">; + setOwner: TypedContractMethod<[_owner: AddressLike], [void], "nonpayable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "createPool"): TypedContractMethod<[ + tokenA: AddressLike, + tokenB: AddressLike, + fee: BigNumberish + ], [ + string + ], "nonpayable">; + getFunction(nameOrSignature: "enableFeeAmount"): TypedContractMethod<[ + fee: BigNumberish, + tickSpacing: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "feeAmountTickSpacing"): TypedContractMethod<[fee: BigNumberish], [bigint], "view">; + getFunction(nameOrSignature: "getPool"): TypedContractMethod<[ + tokenA: AddressLike, + tokenB: AddressLike, + fee: BigNumberish + ], [ + string + ], "view">; + getFunction(nameOrSignature: "owner"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "setOwner"): TypedContractMethod<[_owner: AddressLike], [void], "nonpayable">; + getEvent(key: "FeeAmountEnabled"): TypedContractEvent; + getEvent(key: "OwnerChanged"): TypedContractEvent; + getEvent(key: "PoolCreated"): TypedContractEvent; + filters: { + "FeeAmountEnabled(uint24,int24)": TypedContractEvent; + FeeAmountEnabled: TypedContractEvent; + "OwnerChanged(address,address)": TypedContractEvent; + OwnerChanged: TypedContractEvent; + "PoolCreated(address,address,uint24,int24,address)": TypedContractEvent; + PoolCreated: TypedContractEvent; + }; +} diff --git a/dist/contracts/Governance/Uniswap/v3-core/contracts/interfaces/IUniswapV3Pool.d.ts b/dist/contracts/Governance/Uniswap/v3-core/contracts/interfaces/IUniswapV3Pool.d.ts new file mode 100644 index 0000000..febc987 --- /dev/null +++ b/dist/contracts/Governance/Uniswap/v3-core/contracts/interfaces/IUniswapV3Pool.d.ts @@ -0,0 +1,736 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../../../../../common"; +export interface IUniswapV3PoolInterface extends Interface { + getFunction(nameOrSignature: "burn" | "collect" | "collectProtocol" | "factory" | "fee" | "feeGrowthGlobal0X128" | "feeGrowthGlobal1X128" | "flash" | "increaseObservationCardinalityNext" | "initialize" | "liquidity" | "maxLiquidityPerTick" | "mint" | "observations" | "observe" | "positions" | "protocolFees" | "setFeeProtocol" | "slot0" | "snapshotCumulativesInside" | "swap" | "tickBitmap" | "tickSpacing" | "ticks" | "token0" | "token1"): FunctionFragment; + getEvent(nameOrSignatureOrTopic: "Burn" | "Collect" | "CollectProtocol" | "Flash" | "IncreaseObservationCardinalityNext" | "Initialize" | "Mint" | "SetFeeProtocol" | "Swap"): EventFragment; + encodeFunctionData(functionFragment: "burn", values: [BigNumberish, BigNumberish, BigNumberish]): string; + encodeFunctionData(functionFragment: "collect", values: [ + AddressLike, + BigNumberish, + BigNumberish, + BigNumberish, + BigNumberish + ]): string; + encodeFunctionData(functionFragment: "collectProtocol", values: [AddressLike, BigNumberish, BigNumberish]): string; + encodeFunctionData(functionFragment: "factory", values?: undefined): string; + encodeFunctionData(functionFragment: "fee", values?: undefined): string; + encodeFunctionData(functionFragment: "feeGrowthGlobal0X128", values?: undefined): string; + encodeFunctionData(functionFragment: "feeGrowthGlobal1X128", values?: undefined): string; + encodeFunctionData(functionFragment: "flash", values: [AddressLike, BigNumberish, BigNumberish, BytesLike]): string; + encodeFunctionData(functionFragment: "increaseObservationCardinalityNext", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "initialize", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "liquidity", values?: undefined): string; + encodeFunctionData(functionFragment: "maxLiquidityPerTick", values?: undefined): string; + encodeFunctionData(functionFragment: "mint", values: [AddressLike, BigNumberish, BigNumberish, BigNumberish, BytesLike]): string; + encodeFunctionData(functionFragment: "observations", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "observe", values: [BigNumberish[]]): string; + encodeFunctionData(functionFragment: "positions", values: [BytesLike]): string; + encodeFunctionData(functionFragment: "protocolFees", values?: undefined): string; + encodeFunctionData(functionFragment: "setFeeProtocol", values: [BigNumberish, BigNumberish]): string; + encodeFunctionData(functionFragment: "slot0", values?: undefined): string; + encodeFunctionData(functionFragment: "snapshotCumulativesInside", values: [BigNumberish, BigNumberish]): string; + encodeFunctionData(functionFragment: "swap", values: [AddressLike, boolean, BigNumberish, BigNumberish, BytesLike]): string; + encodeFunctionData(functionFragment: "tickBitmap", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "tickSpacing", values?: undefined): string; + encodeFunctionData(functionFragment: "ticks", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "token0", values?: undefined): string; + encodeFunctionData(functionFragment: "token1", values?: undefined): string; + decodeFunctionResult(functionFragment: "burn", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "collect", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "collectProtocol", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "factory", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "fee", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "feeGrowthGlobal0X128", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "feeGrowthGlobal1X128", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "flash", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "increaseObservationCardinalityNext", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "liquidity", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "maxLiquidityPerTick", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "mint", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "observations", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "observe", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "positions", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "protocolFees", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setFeeProtocol", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "slot0", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "snapshotCumulativesInside", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "swap", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "tickBitmap", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "tickSpacing", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "ticks", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "token0", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "token1", data: BytesLike): Result; +} +export declare namespace BurnEvent { + type InputTuple = [ + owner: AddressLike, + tickLower: BigNumberish, + tickUpper: BigNumberish, + amount: BigNumberish, + amount0: BigNumberish, + amount1: BigNumberish + ]; + type OutputTuple = [ + owner: string, + tickLower: bigint, + tickUpper: bigint, + amount: bigint, + amount0: bigint, + amount1: bigint + ]; + interface OutputObject { + owner: string; + tickLower: bigint; + tickUpper: bigint; + amount: bigint; + amount0: bigint; + amount1: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace CollectEvent { + type InputTuple = [ + owner: AddressLike, + recipient: AddressLike, + tickLower: BigNumberish, + tickUpper: BigNumberish, + amount0: BigNumberish, + amount1: BigNumberish + ]; + type OutputTuple = [ + owner: string, + recipient: string, + tickLower: bigint, + tickUpper: bigint, + amount0: bigint, + amount1: bigint + ]; + interface OutputObject { + owner: string; + recipient: string; + tickLower: bigint; + tickUpper: bigint; + amount0: bigint; + amount1: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace CollectProtocolEvent { + type InputTuple = [ + sender: AddressLike, + recipient: AddressLike, + amount0: BigNumberish, + amount1: BigNumberish + ]; + type OutputTuple = [ + sender: string, + recipient: string, + amount0: bigint, + amount1: bigint + ]; + interface OutputObject { + sender: string; + recipient: string; + amount0: bigint; + amount1: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace FlashEvent { + type InputTuple = [ + sender: AddressLike, + recipient: AddressLike, + amount0: BigNumberish, + amount1: BigNumberish, + paid0: BigNumberish, + paid1: BigNumberish + ]; + type OutputTuple = [ + sender: string, + recipient: string, + amount0: bigint, + amount1: bigint, + paid0: bigint, + paid1: bigint + ]; + interface OutputObject { + sender: string; + recipient: string; + amount0: bigint; + amount1: bigint; + paid0: bigint; + paid1: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace IncreaseObservationCardinalityNextEvent { + type InputTuple = [ + observationCardinalityNextOld: BigNumberish, + observationCardinalityNextNew: BigNumberish + ]; + type OutputTuple = [ + observationCardinalityNextOld: bigint, + observationCardinalityNextNew: bigint + ]; + interface OutputObject { + observationCardinalityNextOld: bigint; + observationCardinalityNextNew: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace InitializeEvent { + type InputTuple = [sqrtPriceX96: BigNumberish, tick: BigNumberish]; + type OutputTuple = [sqrtPriceX96: bigint, tick: bigint]; + interface OutputObject { + sqrtPriceX96: bigint; + tick: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace MintEvent { + type InputTuple = [ + sender: AddressLike, + owner: AddressLike, + tickLower: BigNumberish, + tickUpper: BigNumberish, + amount: BigNumberish, + amount0: BigNumberish, + amount1: BigNumberish + ]; + type OutputTuple = [ + sender: string, + owner: string, + tickLower: bigint, + tickUpper: bigint, + amount: bigint, + amount0: bigint, + amount1: bigint + ]; + interface OutputObject { + sender: string; + owner: string; + tickLower: bigint; + tickUpper: bigint; + amount: bigint; + amount0: bigint; + amount1: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace SetFeeProtocolEvent { + type InputTuple = [ + feeProtocol0Old: BigNumberish, + feeProtocol1Old: BigNumberish, + feeProtocol0New: BigNumberish, + feeProtocol1New: BigNumberish + ]; + type OutputTuple = [ + feeProtocol0Old: bigint, + feeProtocol1Old: bigint, + feeProtocol0New: bigint, + feeProtocol1New: bigint + ]; + interface OutputObject { + feeProtocol0Old: bigint; + feeProtocol1Old: bigint; + feeProtocol0New: bigint; + feeProtocol1New: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace SwapEvent { + type InputTuple = [ + sender: AddressLike, + recipient: AddressLike, + amount0: BigNumberish, + amount1: BigNumberish, + sqrtPriceX96: BigNumberish, + liquidity: BigNumberish, + tick: BigNumberish + ]; + type OutputTuple = [ + sender: string, + recipient: string, + amount0: bigint, + amount1: bigint, + sqrtPriceX96: bigint, + liquidity: bigint, + tick: bigint + ]; + interface OutputObject { + sender: string; + recipient: string; + amount0: bigint; + amount1: bigint; + sqrtPriceX96: bigint; + liquidity: bigint; + tick: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export interface IUniswapV3Pool extends BaseContract { + connect(runner?: ContractRunner | null): IUniswapV3Pool; + waitForDeployment(): Promise; + interface: IUniswapV3PoolInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + burn: TypedContractMethod<[ + tickLower: BigNumberish, + tickUpper: BigNumberish, + amount: BigNumberish + ], [ + [bigint, bigint] & { + amount0: bigint; + amount1: bigint; + } + ], "nonpayable">; + collect: TypedContractMethod<[ + recipient: AddressLike, + tickLower: BigNumberish, + tickUpper: BigNumberish, + amount0Requested: BigNumberish, + amount1Requested: BigNumberish + ], [ + [bigint, bigint] & { + amount0: bigint; + amount1: bigint; + } + ], "nonpayable">; + collectProtocol: TypedContractMethod<[ + recipient: AddressLike, + amount0Requested: BigNumberish, + amount1Requested: BigNumberish + ], [ + [bigint, bigint] & { + amount0: bigint; + amount1: bigint; + } + ], "nonpayable">; + factory: TypedContractMethod<[], [string], "view">; + fee: TypedContractMethod<[], [bigint], "view">; + feeGrowthGlobal0X128: TypedContractMethod<[], [bigint], "view">; + feeGrowthGlobal1X128: TypedContractMethod<[], [bigint], "view">; + flash: TypedContractMethod<[ + recipient: AddressLike, + amount0: BigNumberish, + amount1: BigNumberish, + data: BytesLike + ], [ + void + ], "nonpayable">; + increaseObservationCardinalityNext: TypedContractMethod<[ + observationCardinalityNext: BigNumberish + ], [ + void + ], "nonpayable">; + initialize: TypedContractMethod<[ + sqrtPriceX96: BigNumberish + ], [ + void + ], "nonpayable">; + liquidity: TypedContractMethod<[], [bigint], "view">; + maxLiquidityPerTick: TypedContractMethod<[], [bigint], "view">; + mint: TypedContractMethod<[ + recipient: AddressLike, + tickLower: BigNumberish, + tickUpper: BigNumberish, + amount: BigNumberish, + data: BytesLike + ], [ + [bigint, bigint] & { + amount0: bigint; + amount1: bigint; + } + ], "nonpayable">; + observations: TypedContractMethod<[ + index: BigNumberish + ], [ + [ + bigint, + bigint, + bigint, + boolean + ] & { + blockTimestamp: bigint; + tickCumulative: bigint; + secondsPerLiquidityCumulativeX128: bigint; + initialized: boolean; + } + ], "view">; + observe: TypedContractMethod<[ + secondsAgos: BigNumberish[] + ], [ + [ + bigint[], + bigint[] + ] & { + tickCumulatives: bigint[]; + secondsPerLiquidityCumulativeX128s: bigint[]; + } + ], "view">; + positions: TypedContractMethod<[ + key: BytesLike + ], [ + [ + bigint, + bigint, + bigint, + bigint, + bigint + ] & { + _liquidity: bigint; + feeGrowthInside0LastX128: bigint; + feeGrowthInside1LastX128: bigint; + tokensOwed0: bigint; + tokensOwed1: bigint; + } + ], "view">; + protocolFees: TypedContractMethod<[ + ], [ + [bigint, bigint] & { + token0: bigint; + token1: bigint; + } + ], "view">; + setFeeProtocol: TypedContractMethod<[ + feeProtocol0: BigNumberish, + feeProtocol1: BigNumberish + ], [ + void + ], "nonpayable">; + slot0: TypedContractMethod<[ + ], [ + [ + bigint, + bigint, + bigint, + bigint, + bigint, + bigint, + boolean + ] & { + sqrtPriceX96: bigint; + tick: bigint; + observationIndex: bigint; + observationCardinality: bigint; + observationCardinalityNext: bigint; + feeProtocol: bigint; + unlocked: boolean; + } + ], "view">; + snapshotCumulativesInside: TypedContractMethod<[ + tickLower: BigNumberish, + tickUpper: BigNumberish + ], [ + [ + bigint, + bigint, + bigint + ] & { + tickCumulativeInside: bigint; + secondsPerLiquidityInsideX128: bigint; + secondsInside: bigint; + } + ], "view">; + swap: TypedContractMethod<[ + recipient: AddressLike, + zeroForOne: boolean, + amountSpecified: BigNumberish, + sqrtPriceLimitX96: BigNumberish, + data: BytesLike + ], [ + [bigint, bigint] & { + amount0: bigint; + amount1: bigint; + } + ], "nonpayable">; + tickBitmap: TypedContractMethod<[ + wordPosition: BigNumberish + ], [ + bigint + ], "view">; + tickSpacing: TypedContractMethod<[], [bigint], "view">; + ticks: TypedContractMethod<[ + tick: BigNumberish + ], [ + [ + bigint, + bigint, + bigint, + bigint, + bigint, + bigint, + bigint, + boolean + ] & { + liquidityGross: bigint; + liquidityNet: bigint; + feeGrowthOutside0X128: bigint; + feeGrowthOutside1X128: bigint; + tickCumulativeOutside: bigint; + secondsPerLiquidityOutsideX128: bigint; + secondsOutside: bigint; + initialized: boolean; + } + ], "view">; + token0: TypedContractMethod<[], [string], "view">; + token1: TypedContractMethod<[], [string], "view">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "burn"): TypedContractMethod<[ + tickLower: BigNumberish, + tickUpper: BigNumberish, + amount: BigNumberish + ], [ + [bigint, bigint] & { + amount0: bigint; + amount1: bigint; + } + ], "nonpayable">; + getFunction(nameOrSignature: "collect"): TypedContractMethod<[ + recipient: AddressLike, + tickLower: BigNumberish, + tickUpper: BigNumberish, + amount0Requested: BigNumberish, + amount1Requested: BigNumberish + ], [ + [bigint, bigint] & { + amount0: bigint; + amount1: bigint; + } + ], "nonpayable">; + getFunction(nameOrSignature: "collectProtocol"): TypedContractMethod<[ + recipient: AddressLike, + amount0Requested: BigNumberish, + amount1Requested: BigNumberish + ], [ + [bigint, bigint] & { + amount0: bigint; + amount1: bigint; + } + ], "nonpayable">; + getFunction(nameOrSignature: "factory"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "fee"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "feeGrowthGlobal0X128"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "feeGrowthGlobal1X128"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "flash"): TypedContractMethod<[ + recipient: AddressLike, + amount0: BigNumberish, + amount1: BigNumberish, + data: BytesLike + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "increaseObservationCardinalityNext"): TypedContractMethod<[ + observationCardinalityNext: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "initialize"): TypedContractMethod<[sqrtPriceX96: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "liquidity"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "maxLiquidityPerTick"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "mint"): TypedContractMethod<[ + recipient: AddressLike, + tickLower: BigNumberish, + tickUpper: BigNumberish, + amount: BigNumberish, + data: BytesLike + ], [ + [bigint, bigint] & { + amount0: bigint; + amount1: bigint; + } + ], "nonpayable">; + getFunction(nameOrSignature: "observations"): TypedContractMethod<[ + index: BigNumberish + ], [ + [ + bigint, + bigint, + bigint, + boolean + ] & { + blockTimestamp: bigint; + tickCumulative: bigint; + secondsPerLiquidityCumulativeX128: bigint; + initialized: boolean; + } + ], "view">; + getFunction(nameOrSignature: "observe"): TypedContractMethod<[ + secondsAgos: BigNumberish[] + ], [ + [ + bigint[], + bigint[] + ] & { + tickCumulatives: bigint[]; + secondsPerLiquidityCumulativeX128s: bigint[]; + } + ], "view">; + getFunction(nameOrSignature: "positions"): TypedContractMethod<[ + key: BytesLike + ], [ + [ + bigint, + bigint, + bigint, + bigint, + bigint + ] & { + _liquidity: bigint; + feeGrowthInside0LastX128: bigint; + feeGrowthInside1LastX128: bigint; + tokensOwed0: bigint; + tokensOwed1: bigint; + } + ], "view">; + getFunction(nameOrSignature: "protocolFees"): TypedContractMethod<[ + ], [ + [bigint, bigint] & { + token0: bigint; + token1: bigint; + } + ], "view">; + getFunction(nameOrSignature: "setFeeProtocol"): TypedContractMethod<[ + feeProtocol0: BigNumberish, + feeProtocol1: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "slot0"): TypedContractMethod<[ + ], [ + [ + bigint, + bigint, + bigint, + bigint, + bigint, + bigint, + boolean + ] & { + sqrtPriceX96: bigint; + tick: bigint; + observationIndex: bigint; + observationCardinality: bigint; + observationCardinalityNext: bigint; + feeProtocol: bigint; + unlocked: boolean; + } + ], "view">; + getFunction(nameOrSignature: "snapshotCumulativesInside"): TypedContractMethod<[ + tickLower: BigNumberish, + tickUpper: BigNumberish + ], [ + [ + bigint, + bigint, + bigint + ] & { + tickCumulativeInside: bigint; + secondsPerLiquidityInsideX128: bigint; + secondsInside: bigint; + } + ], "view">; + getFunction(nameOrSignature: "swap"): TypedContractMethod<[ + recipient: AddressLike, + zeroForOne: boolean, + amountSpecified: BigNumberish, + sqrtPriceLimitX96: BigNumberish, + data: BytesLike + ], [ + [bigint, bigint] & { + amount0: bigint; + amount1: bigint; + } + ], "nonpayable">; + getFunction(nameOrSignature: "tickBitmap"): TypedContractMethod<[wordPosition: BigNumberish], [bigint], "view">; + getFunction(nameOrSignature: "tickSpacing"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "ticks"): TypedContractMethod<[ + tick: BigNumberish + ], [ + [ + bigint, + bigint, + bigint, + bigint, + bigint, + bigint, + bigint, + boolean + ] & { + liquidityGross: bigint; + liquidityNet: bigint; + feeGrowthOutside0X128: bigint; + feeGrowthOutside1X128: bigint; + tickCumulativeOutside: bigint; + secondsPerLiquidityOutsideX128: bigint; + secondsOutside: bigint; + initialized: boolean; + } + ], "view">; + getFunction(nameOrSignature: "token0"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "token1"): TypedContractMethod<[], [string], "view">; + getEvent(key: "Burn"): TypedContractEvent; + getEvent(key: "Collect"): TypedContractEvent; + getEvent(key: "CollectProtocol"): TypedContractEvent; + getEvent(key: "Flash"): TypedContractEvent; + getEvent(key: "IncreaseObservationCardinalityNext"): TypedContractEvent; + getEvent(key: "Initialize"): TypedContractEvent; + getEvent(key: "Mint"): TypedContractEvent; + getEvent(key: "SetFeeProtocol"): TypedContractEvent; + getEvent(key: "Swap"): TypedContractEvent; + filters: { + "Burn(address,int24,int24,uint128,uint256,uint256)": TypedContractEvent; + Burn: TypedContractEvent; + "Collect(address,address,int24,int24,uint128,uint128)": TypedContractEvent; + Collect: TypedContractEvent; + "CollectProtocol(address,address,uint128,uint128)": TypedContractEvent; + CollectProtocol: TypedContractEvent; + "Flash(address,address,uint256,uint256,uint256,uint256)": TypedContractEvent; + Flash: TypedContractEvent; + "IncreaseObservationCardinalityNext(uint16,uint16)": TypedContractEvent; + IncreaseObservationCardinalityNext: TypedContractEvent; + "Initialize(uint160,int24)": TypedContractEvent; + Initialize: TypedContractEvent; + "Mint(address,address,int24,int24,uint128,uint256,uint256)": TypedContractEvent; + Mint: TypedContractEvent; + "SetFeeProtocol(uint8,uint8,uint8,uint8)": TypedContractEvent; + SetFeeProtocol: TypedContractEvent; + "Swap(address,address,int256,int256,uint160,uint128,int24)": TypedContractEvent; + Swap: TypedContractEvent; + }; +} diff --git a/dist/contracts/Governance/Uniswap/v3-core/contracts/interfaces/index.d.ts b/dist/contracts/Governance/Uniswap/v3-core/contracts/interfaces/index.d.ts new file mode 100644 index 0000000..8eb6826 --- /dev/null +++ b/dist/contracts/Governance/Uniswap/v3-core/contracts/interfaces/index.d.ts @@ -0,0 +1,4 @@ +import type * as pool from "./pool"; +export type { pool }; +export type { IUniswapV3Factory } from "./IUniswapV3Factory"; +export type { IUniswapV3Pool } from "./IUniswapV3Pool"; diff --git a/dist/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.d.ts b/dist/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.d.ts new file mode 100644 index 0000000..3ed28d1 --- /dev/null +++ b/dist/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.d.ts @@ -0,0 +1,165 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../../../../../../common"; +export interface IUniswapV3PoolActionsInterface extends Interface { + getFunction(nameOrSignature: "burn" | "collect" | "flash" | "increaseObservationCardinalityNext" | "initialize" | "mint" | "swap"): FunctionFragment; + encodeFunctionData(functionFragment: "burn", values: [BigNumberish, BigNumberish, BigNumberish]): string; + encodeFunctionData(functionFragment: "collect", values: [ + AddressLike, + BigNumberish, + BigNumberish, + BigNumberish, + BigNumberish + ]): string; + encodeFunctionData(functionFragment: "flash", values: [AddressLike, BigNumberish, BigNumberish, BytesLike]): string; + encodeFunctionData(functionFragment: "increaseObservationCardinalityNext", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "initialize", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "mint", values: [AddressLike, BigNumberish, BigNumberish, BigNumberish, BytesLike]): string; + encodeFunctionData(functionFragment: "swap", values: [AddressLike, boolean, BigNumberish, BigNumberish, BytesLike]): string; + decodeFunctionResult(functionFragment: "burn", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "collect", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "flash", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "increaseObservationCardinalityNext", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "mint", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "swap", data: BytesLike): Result; +} +export interface IUniswapV3PoolActions extends BaseContract { + connect(runner?: ContractRunner | null): IUniswapV3PoolActions; + waitForDeployment(): Promise; + interface: IUniswapV3PoolActionsInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + burn: TypedContractMethod<[ + tickLower: BigNumberish, + tickUpper: BigNumberish, + amount: BigNumberish + ], [ + [bigint, bigint] & { + amount0: bigint; + amount1: bigint; + } + ], "nonpayable">; + collect: TypedContractMethod<[ + recipient: AddressLike, + tickLower: BigNumberish, + tickUpper: BigNumberish, + amount0Requested: BigNumberish, + amount1Requested: BigNumberish + ], [ + [bigint, bigint] & { + amount0: bigint; + amount1: bigint; + } + ], "nonpayable">; + flash: TypedContractMethod<[ + recipient: AddressLike, + amount0: BigNumberish, + amount1: BigNumberish, + data: BytesLike + ], [ + void + ], "nonpayable">; + increaseObservationCardinalityNext: TypedContractMethod<[ + observationCardinalityNext: BigNumberish + ], [ + void + ], "nonpayable">; + initialize: TypedContractMethod<[ + sqrtPriceX96: BigNumberish + ], [ + void + ], "nonpayable">; + mint: TypedContractMethod<[ + recipient: AddressLike, + tickLower: BigNumberish, + tickUpper: BigNumberish, + amount: BigNumberish, + data: BytesLike + ], [ + [bigint, bigint] & { + amount0: bigint; + amount1: bigint; + } + ], "nonpayable">; + swap: TypedContractMethod<[ + recipient: AddressLike, + zeroForOne: boolean, + amountSpecified: BigNumberish, + sqrtPriceLimitX96: BigNumberish, + data: BytesLike + ], [ + [bigint, bigint] & { + amount0: bigint; + amount1: bigint; + } + ], "nonpayable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "burn"): TypedContractMethod<[ + tickLower: BigNumberish, + tickUpper: BigNumberish, + amount: BigNumberish + ], [ + [bigint, bigint] & { + amount0: bigint; + amount1: bigint; + } + ], "nonpayable">; + getFunction(nameOrSignature: "collect"): TypedContractMethod<[ + recipient: AddressLike, + tickLower: BigNumberish, + tickUpper: BigNumberish, + amount0Requested: BigNumberish, + amount1Requested: BigNumberish + ], [ + [bigint, bigint] & { + amount0: bigint; + amount1: bigint; + } + ], "nonpayable">; + getFunction(nameOrSignature: "flash"): TypedContractMethod<[ + recipient: AddressLike, + amount0: BigNumberish, + amount1: BigNumberish, + data: BytesLike + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "increaseObservationCardinalityNext"): TypedContractMethod<[ + observationCardinalityNext: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "initialize"): TypedContractMethod<[sqrtPriceX96: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "mint"): TypedContractMethod<[ + recipient: AddressLike, + tickLower: BigNumberish, + tickUpper: BigNumberish, + amount: BigNumberish, + data: BytesLike + ], [ + [bigint, bigint] & { + amount0: bigint; + amount1: bigint; + } + ], "nonpayable">; + getFunction(nameOrSignature: "swap"): TypedContractMethod<[ + recipient: AddressLike, + zeroForOne: boolean, + amountSpecified: BigNumberish, + sqrtPriceLimitX96: BigNumberish, + data: BytesLike + ], [ + [bigint, bigint] & { + amount0: bigint; + amount1: bigint; + } + ], "nonpayable">; + filters: {}; +} diff --git a/dist/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.d.ts b/dist/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.d.ts new file mode 100644 index 0000000..5743df4 --- /dev/null +++ b/dist/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.d.ts @@ -0,0 +1,75 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../../../../../../common"; +export interface IUniswapV3PoolDerivedStateInterface extends Interface { + getFunction(nameOrSignature: "observe" | "snapshotCumulativesInside"): FunctionFragment; + encodeFunctionData(functionFragment: "observe", values: [BigNumberish[]]): string; + encodeFunctionData(functionFragment: "snapshotCumulativesInside", values: [BigNumberish, BigNumberish]): string; + decodeFunctionResult(functionFragment: "observe", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "snapshotCumulativesInside", data: BytesLike): Result; +} +export interface IUniswapV3PoolDerivedState extends BaseContract { + connect(runner?: ContractRunner | null): IUniswapV3PoolDerivedState; + waitForDeployment(): Promise; + interface: IUniswapV3PoolDerivedStateInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + observe: TypedContractMethod<[ + secondsAgos: BigNumberish[] + ], [ + [ + bigint[], + bigint[] + ] & { + tickCumulatives: bigint[]; + secondsPerLiquidityCumulativeX128s: bigint[]; + } + ], "view">; + snapshotCumulativesInside: TypedContractMethod<[ + tickLower: BigNumberish, + tickUpper: BigNumberish + ], [ + [ + bigint, + bigint, + bigint + ] & { + tickCumulativeInside: bigint; + secondsPerLiquidityInsideX128: bigint; + secondsInside: bigint; + } + ], "view">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "observe"): TypedContractMethod<[ + secondsAgos: BigNumberish[] + ], [ + [ + bigint[], + bigint[] + ] & { + tickCumulatives: bigint[]; + secondsPerLiquidityCumulativeX128s: bigint[]; + } + ], "view">; + getFunction(nameOrSignature: "snapshotCumulativesInside"): TypedContractMethod<[ + tickLower: BigNumberish, + tickUpper: BigNumberish + ], [ + [ + bigint, + bigint, + bigint + ] & { + tickCumulativeInside: bigint; + secondsPerLiquidityInsideX128: bigint; + secondsInside: bigint; + } + ], "view">; + filters: {}; +} diff --git a/dist/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.d.ts b/dist/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.d.ts new file mode 100644 index 0000000..6d66b62 --- /dev/null +++ b/dist/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.d.ts @@ -0,0 +1,283 @@ +import type { BaseContract, BigNumberish, FunctionFragment, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener } from "../../../../../../../common"; +export interface IUniswapV3PoolEventsInterface extends Interface { + getEvent(nameOrSignatureOrTopic: "Burn" | "Collect" | "CollectProtocol" | "Flash" | "IncreaseObservationCardinalityNext" | "Initialize" | "Mint" | "SetFeeProtocol" | "Swap"): EventFragment; +} +export declare namespace BurnEvent { + type InputTuple = [ + owner: AddressLike, + tickLower: BigNumberish, + tickUpper: BigNumberish, + amount: BigNumberish, + amount0: BigNumberish, + amount1: BigNumberish + ]; + type OutputTuple = [ + owner: string, + tickLower: bigint, + tickUpper: bigint, + amount: bigint, + amount0: bigint, + amount1: bigint + ]; + interface OutputObject { + owner: string; + tickLower: bigint; + tickUpper: bigint; + amount: bigint; + amount0: bigint; + amount1: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace CollectEvent { + type InputTuple = [ + owner: AddressLike, + recipient: AddressLike, + tickLower: BigNumberish, + tickUpper: BigNumberish, + amount0: BigNumberish, + amount1: BigNumberish + ]; + type OutputTuple = [ + owner: string, + recipient: string, + tickLower: bigint, + tickUpper: bigint, + amount0: bigint, + amount1: bigint + ]; + interface OutputObject { + owner: string; + recipient: string; + tickLower: bigint; + tickUpper: bigint; + amount0: bigint; + amount1: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace CollectProtocolEvent { + type InputTuple = [ + sender: AddressLike, + recipient: AddressLike, + amount0: BigNumberish, + amount1: BigNumberish + ]; + type OutputTuple = [ + sender: string, + recipient: string, + amount0: bigint, + amount1: bigint + ]; + interface OutputObject { + sender: string; + recipient: string; + amount0: bigint; + amount1: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace FlashEvent { + type InputTuple = [ + sender: AddressLike, + recipient: AddressLike, + amount0: BigNumberish, + amount1: BigNumberish, + paid0: BigNumberish, + paid1: BigNumberish + ]; + type OutputTuple = [ + sender: string, + recipient: string, + amount0: bigint, + amount1: bigint, + paid0: bigint, + paid1: bigint + ]; + interface OutputObject { + sender: string; + recipient: string; + amount0: bigint; + amount1: bigint; + paid0: bigint; + paid1: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace IncreaseObservationCardinalityNextEvent { + type InputTuple = [ + observationCardinalityNextOld: BigNumberish, + observationCardinalityNextNew: BigNumberish + ]; + type OutputTuple = [ + observationCardinalityNextOld: bigint, + observationCardinalityNextNew: bigint + ]; + interface OutputObject { + observationCardinalityNextOld: bigint; + observationCardinalityNextNew: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace InitializeEvent { + type InputTuple = [sqrtPriceX96: BigNumberish, tick: BigNumberish]; + type OutputTuple = [sqrtPriceX96: bigint, tick: bigint]; + interface OutputObject { + sqrtPriceX96: bigint; + tick: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace MintEvent { + type InputTuple = [ + sender: AddressLike, + owner: AddressLike, + tickLower: BigNumberish, + tickUpper: BigNumberish, + amount: BigNumberish, + amount0: BigNumberish, + amount1: BigNumberish + ]; + type OutputTuple = [ + sender: string, + owner: string, + tickLower: bigint, + tickUpper: bigint, + amount: bigint, + amount0: bigint, + amount1: bigint + ]; + interface OutputObject { + sender: string; + owner: string; + tickLower: bigint; + tickUpper: bigint; + amount: bigint; + amount0: bigint; + amount1: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace SetFeeProtocolEvent { + type InputTuple = [ + feeProtocol0Old: BigNumberish, + feeProtocol1Old: BigNumberish, + feeProtocol0New: BigNumberish, + feeProtocol1New: BigNumberish + ]; + type OutputTuple = [ + feeProtocol0Old: bigint, + feeProtocol1Old: bigint, + feeProtocol0New: bigint, + feeProtocol1New: bigint + ]; + interface OutputObject { + feeProtocol0Old: bigint; + feeProtocol1Old: bigint; + feeProtocol0New: bigint; + feeProtocol1New: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace SwapEvent { + type InputTuple = [ + sender: AddressLike, + recipient: AddressLike, + amount0: BigNumberish, + amount1: BigNumberish, + sqrtPriceX96: BigNumberish, + liquidity: BigNumberish, + tick: BigNumberish + ]; + type OutputTuple = [ + sender: string, + recipient: string, + amount0: bigint, + amount1: bigint, + sqrtPriceX96: bigint, + liquidity: bigint, + tick: bigint + ]; + interface OutputObject { + sender: string; + recipient: string; + amount0: bigint; + amount1: bigint; + sqrtPriceX96: bigint; + liquidity: bigint; + tick: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export interface IUniswapV3PoolEvents extends BaseContract { + connect(runner?: ContractRunner | null): IUniswapV3PoolEvents; + waitForDeployment(): Promise; + interface: IUniswapV3PoolEventsInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + getFunction(key: string | FunctionFragment): T; + getEvent(key: "Burn"): TypedContractEvent; + getEvent(key: "Collect"): TypedContractEvent; + getEvent(key: "CollectProtocol"): TypedContractEvent; + getEvent(key: "Flash"): TypedContractEvent; + getEvent(key: "IncreaseObservationCardinalityNext"): TypedContractEvent; + getEvent(key: "Initialize"): TypedContractEvent; + getEvent(key: "Mint"): TypedContractEvent; + getEvent(key: "SetFeeProtocol"): TypedContractEvent; + getEvent(key: "Swap"): TypedContractEvent; + filters: { + "Burn(address,int24,int24,uint128,uint256,uint256)": TypedContractEvent; + Burn: TypedContractEvent; + "Collect(address,address,int24,int24,uint128,uint128)": TypedContractEvent; + Collect: TypedContractEvent; + "CollectProtocol(address,address,uint128,uint128)": TypedContractEvent; + CollectProtocol: TypedContractEvent; + "Flash(address,address,uint256,uint256,uint256,uint256)": TypedContractEvent; + Flash: TypedContractEvent; + "IncreaseObservationCardinalityNext(uint16,uint16)": TypedContractEvent; + IncreaseObservationCardinalityNext: TypedContractEvent; + "Initialize(uint160,int24)": TypedContractEvent; + Initialize: TypedContractEvent; + "Mint(address,address,int24,int24,uint128,uint256,uint256)": TypedContractEvent; + Mint: TypedContractEvent; + "SetFeeProtocol(uint8,uint8,uint8,uint8)": TypedContractEvent; + SetFeeProtocol: TypedContractEvent; + "Swap(address,address,int256,int256,uint160,uint128,int24)": TypedContractEvent; + Swap: TypedContractEvent; + }; +} diff --git a/dist/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.d.ts b/dist/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.d.ts new file mode 100644 index 0000000..e8a44cf --- /dev/null +++ b/dist/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.d.ts @@ -0,0 +1,45 @@ +import type { BaseContract, BytesLike, FunctionFragment, Result, Interface, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../../../../../../common"; +export interface IUniswapV3PoolImmutablesInterface extends Interface { + getFunction(nameOrSignature: "factory" | "fee" | "maxLiquidityPerTick" | "tickSpacing" | "token0" | "token1"): FunctionFragment; + encodeFunctionData(functionFragment: "factory", values?: undefined): string; + encodeFunctionData(functionFragment: "fee", values?: undefined): string; + encodeFunctionData(functionFragment: "maxLiquidityPerTick", values?: undefined): string; + encodeFunctionData(functionFragment: "tickSpacing", values?: undefined): string; + encodeFunctionData(functionFragment: "token0", values?: undefined): string; + encodeFunctionData(functionFragment: "token1", values?: undefined): string; + decodeFunctionResult(functionFragment: "factory", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "fee", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "maxLiquidityPerTick", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "tickSpacing", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "token0", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "token1", data: BytesLike): Result; +} +export interface IUniswapV3PoolImmutables extends BaseContract { + connect(runner?: ContractRunner | null): IUniswapV3PoolImmutables; + waitForDeployment(): Promise; + interface: IUniswapV3PoolImmutablesInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + factory: TypedContractMethod<[], [string], "view">; + fee: TypedContractMethod<[], [bigint], "view">; + maxLiquidityPerTick: TypedContractMethod<[], [bigint], "view">; + tickSpacing: TypedContractMethod<[], [bigint], "view">; + token0: TypedContractMethod<[], [string], "view">; + token1: TypedContractMethod<[], [string], "view">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "factory"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "fee"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "maxLiquidityPerTick"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "tickSpacing"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "token0"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "token1"): TypedContractMethod<[], [string], "view">; + filters: {}; +} diff --git a/dist/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.d.ts b/dist/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.d.ts new file mode 100644 index 0000000..b992e07 --- /dev/null +++ b/dist/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.d.ts @@ -0,0 +1,57 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../../../../../../common"; +export interface IUniswapV3PoolOwnerActionsInterface extends Interface { + getFunction(nameOrSignature: "collectProtocol" | "setFeeProtocol"): FunctionFragment; + encodeFunctionData(functionFragment: "collectProtocol", values: [AddressLike, BigNumberish, BigNumberish]): string; + encodeFunctionData(functionFragment: "setFeeProtocol", values: [BigNumberish, BigNumberish]): string; + decodeFunctionResult(functionFragment: "collectProtocol", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setFeeProtocol", data: BytesLike): Result; +} +export interface IUniswapV3PoolOwnerActions extends BaseContract { + connect(runner?: ContractRunner | null): IUniswapV3PoolOwnerActions; + waitForDeployment(): Promise; + interface: IUniswapV3PoolOwnerActionsInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + collectProtocol: TypedContractMethod<[ + recipient: AddressLike, + amount0Requested: BigNumberish, + amount1Requested: BigNumberish + ], [ + [bigint, bigint] & { + amount0: bigint; + amount1: bigint; + } + ], "nonpayable">; + setFeeProtocol: TypedContractMethod<[ + feeProtocol0: BigNumberish, + feeProtocol1: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "collectProtocol"): TypedContractMethod<[ + recipient: AddressLike, + amount0Requested: BigNumberish, + amount1Requested: BigNumberish + ], [ + [bigint, bigint] & { + amount0: bigint; + amount1: bigint; + } + ], "nonpayable">; + getFunction(nameOrSignature: "setFeeProtocol"): TypedContractMethod<[ + feeProtocol0: BigNumberish, + feeProtocol1: BigNumberish + ], [ + void + ], "nonpayable">; + filters: {}; +} diff --git a/dist/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.d.ts b/dist/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.d.ts new file mode 100644 index 0000000..86a3186 --- /dev/null +++ b/dist/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.d.ts @@ -0,0 +1,215 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../../../../../../common"; +export interface IUniswapV3PoolStateInterface extends Interface { + getFunction(nameOrSignature: "feeGrowthGlobal0X128" | "feeGrowthGlobal1X128" | "liquidity" | "observations" | "positions" | "protocolFees" | "slot0" | "tickBitmap" | "ticks"): FunctionFragment; + encodeFunctionData(functionFragment: "feeGrowthGlobal0X128", values?: undefined): string; + encodeFunctionData(functionFragment: "feeGrowthGlobal1X128", values?: undefined): string; + encodeFunctionData(functionFragment: "liquidity", values?: undefined): string; + encodeFunctionData(functionFragment: "observations", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "positions", values: [BytesLike]): string; + encodeFunctionData(functionFragment: "protocolFees", values?: undefined): string; + encodeFunctionData(functionFragment: "slot0", values?: undefined): string; + encodeFunctionData(functionFragment: "tickBitmap", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "ticks", values: [BigNumberish]): string; + decodeFunctionResult(functionFragment: "feeGrowthGlobal0X128", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "feeGrowthGlobal1X128", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "liquidity", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "observations", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "positions", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "protocolFees", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "slot0", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "tickBitmap", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "ticks", data: BytesLike): Result; +} +export interface IUniswapV3PoolState extends BaseContract { + connect(runner?: ContractRunner | null): IUniswapV3PoolState; + waitForDeployment(): Promise; + interface: IUniswapV3PoolStateInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + feeGrowthGlobal0X128: TypedContractMethod<[], [bigint], "view">; + feeGrowthGlobal1X128: TypedContractMethod<[], [bigint], "view">; + liquidity: TypedContractMethod<[], [bigint], "view">; + observations: TypedContractMethod<[ + index: BigNumberish + ], [ + [ + bigint, + bigint, + bigint, + boolean + ] & { + blockTimestamp: bigint; + tickCumulative: bigint; + secondsPerLiquidityCumulativeX128: bigint; + initialized: boolean; + } + ], "view">; + positions: TypedContractMethod<[ + key: BytesLike + ], [ + [ + bigint, + bigint, + bigint, + bigint, + bigint + ] & { + _liquidity: bigint; + feeGrowthInside0LastX128: bigint; + feeGrowthInside1LastX128: bigint; + tokensOwed0: bigint; + tokensOwed1: bigint; + } + ], "view">; + protocolFees: TypedContractMethod<[ + ], [ + [bigint, bigint] & { + token0: bigint; + token1: bigint; + } + ], "view">; + slot0: TypedContractMethod<[ + ], [ + [ + bigint, + bigint, + bigint, + bigint, + bigint, + bigint, + boolean + ] & { + sqrtPriceX96: bigint; + tick: bigint; + observationIndex: bigint; + observationCardinality: bigint; + observationCardinalityNext: bigint; + feeProtocol: bigint; + unlocked: boolean; + } + ], "view">; + tickBitmap: TypedContractMethod<[ + wordPosition: BigNumberish + ], [ + bigint + ], "view">; + ticks: TypedContractMethod<[ + tick: BigNumberish + ], [ + [ + bigint, + bigint, + bigint, + bigint, + bigint, + bigint, + bigint, + boolean + ] & { + liquidityGross: bigint; + liquidityNet: bigint; + feeGrowthOutside0X128: bigint; + feeGrowthOutside1X128: bigint; + tickCumulativeOutside: bigint; + secondsPerLiquidityOutsideX128: bigint; + secondsOutside: bigint; + initialized: boolean; + } + ], "view">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "feeGrowthGlobal0X128"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "feeGrowthGlobal1X128"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "liquidity"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "observations"): TypedContractMethod<[ + index: BigNumberish + ], [ + [ + bigint, + bigint, + bigint, + boolean + ] & { + blockTimestamp: bigint; + tickCumulative: bigint; + secondsPerLiquidityCumulativeX128: bigint; + initialized: boolean; + } + ], "view">; + getFunction(nameOrSignature: "positions"): TypedContractMethod<[ + key: BytesLike + ], [ + [ + bigint, + bigint, + bigint, + bigint, + bigint + ] & { + _liquidity: bigint; + feeGrowthInside0LastX128: bigint; + feeGrowthInside1LastX128: bigint; + tokensOwed0: bigint; + tokensOwed1: bigint; + } + ], "view">; + getFunction(nameOrSignature: "protocolFees"): TypedContractMethod<[ + ], [ + [bigint, bigint] & { + token0: bigint; + token1: bigint; + } + ], "view">; + getFunction(nameOrSignature: "slot0"): TypedContractMethod<[ + ], [ + [ + bigint, + bigint, + bigint, + bigint, + bigint, + bigint, + boolean + ] & { + sqrtPriceX96: bigint; + tick: bigint; + observationIndex: bigint; + observationCardinality: bigint; + observationCardinalityNext: bigint; + feeProtocol: bigint; + unlocked: boolean; + } + ], "view">; + getFunction(nameOrSignature: "tickBitmap"): TypedContractMethod<[wordPosition: BigNumberish], [bigint], "view">; + getFunction(nameOrSignature: "ticks"): TypedContractMethod<[ + tick: BigNumberish + ], [ + [ + bigint, + bigint, + bigint, + bigint, + bigint, + bigint, + bigint, + boolean + ] & { + liquidityGross: bigint; + liquidityNet: bigint; + feeGrowthOutside0X128: bigint; + feeGrowthOutside1X128: bigint; + tickCumulativeOutside: bigint; + secondsPerLiquidityOutsideX128: bigint; + secondsOutside: bigint; + initialized: boolean; + } + ], "view">; + filters: {}; +} diff --git a/dist/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/index.d.ts b/dist/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/index.d.ts new file mode 100644 index 0000000..4efb491 --- /dev/null +++ b/dist/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/index.d.ts @@ -0,0 +1,6 @@ +export type { IUniswapV3PoolActions } from "./IUniswapV3PoolActions"; +export type { IUniswapV3PoolDerivedState } from "./IUniswapV3PoolDerivedState"; +export type { IUniswapV3PoolEvents } from "./IUniswapV3PoolEvents"; +export type { IUniswapV3PoolImmutables } from "./IUniswapV3PoolImmutables"; +export type { IUniswapV3PoolOwnerActions } from "./IUniswapV3PoolOwnerActions"; +export type { IUniswapV3PoolState } from "./IUniswapV3PoolState"; diff --git a/dist/contracts/Governance/Uniswap/v3-core/index.d.ts b/dist/contracts/Governance/Uniswap/v3-core/index.d.ts new file mode 100644 index 0000000..14015e9 --- /dev/null +++ b/dist/contracts/Governance/Uniswap/v3-core/index.d.ts @@ -0,0 +1,2 @@ +import type * as contracts from "./contracts"; +export type { contracts }; diff --git a/dist/contracts/Governance/index.d.ts b/dist/contracts/Governance/index.d.ts new file mode 100644 index 0000000..b83c5ed --- /dev/null +++ b/dist/contracts/Governance/index.d.ts @@ -0,0 +1,36 @@ +import type * as aggregator from "./Aggregator"; +export type { aggregator }; +import type * as deployerSol from "./Deployer.sol"; +export type { deployerSol }; +import type * as instanceRegistrySol from "./InstanceRegistry.sol"; +export type { instanceRegistrySol }; +import type * as relayerRegistrySol from "./RelayerRegistry.sol"; +export type { relayerRegistrySol }; +import type * as torn from "./TORN"; +export type { torn }; +import type * as testnet from "./Testnet"; +export type { testnet }; +import type * as tornadoStakingRewardsSol from "./TornadoStakingRewards.sol"; +export type { tornadoStakingRewardsSol }; +import type * as uniswap from "./Uniswap"; +export type { uniswap }; +import type * as interfaces from "./interfaces"; +export type { interfaces }; +import type * as libraries from "./libraries"; +export type { libraries }; +import type * as v1 from "./v1"; +export type { v1 }; +import type * as v2VaultAndGas from "./v2-vault-and-gas"; +export type { v2VaultAndGas }; +import type * as v3RelayerRegistry from "./v3-relayer-registry"; +export type { v3RelayerRegistry }; +import type * as v4ExploitPatch from "./v4-exploit-patch"; +export type { v4ExploitPatch }; +import type * as v5ProposalStatePatch from "./v5-proposal-state-patch"; +export type { v5ProposalStatePatch }; +export type { AdminUpgradeableProxy } from "./AdminUpgradeableProxy"; +export type { FeeManager } from "./FeeManager"; +export type { GasCompensationVault } from "./GasCompensationVault"; +export type { LoopbackProxy } from "./LoopbackProxy"; +export type { TornadoRouter } from "./TornadoRouter"; +export type { TornadoVault } from "./TornadoVault"; diff --git a/dist/contracts/Governance/interfaces/ITornadoInstance.d.ts b/dist/contracts/Governance/interfaces/ITornadoInstance.d.ts new file mode 100644 index 0000000..eb6dd84 --- /dev/null +++ b/dist/contracts/Governance/interfaces/ITornadoInstance.d.ts @@ -0,0 +1,65 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../../common"; +export interface ITornadoInstanceInterface extends Interface { + getFunction(nameOrSignature: "denomination" | "deposit" | "token" | "withdraw"): FunctionFragment; + encodeFunctionData(functionFragment: "denomination", values?: undefined): string; + encodeFunctionData(functionFragment: "deposit", values: [BytesLike]): string; + encodeFunctionData(functionFragment: "token", values?: undefined): string; + encodeFunctionData(functionFragment: "withdraw", values: [ + BytesLike, + BytesLike, + BytesLike, + AddressLike, + AddressLike, + BigNumberish, + BigNumberish + ]): string; + decodeFunctionResult(functionFragment: "denomination", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "token", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; +} +export interface ITornadoInstance extends BaseContract { + connect(runner?: ContractRunner | null): ITornadoInstance; + waitForDeployment(): Promise; + interface: ITornadoInstanceInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + denomination: TypedContractMethod<[], [bigint], "view">; + deposit: TypedContractMethod<[commitment: BytesLike], [void], "payable">; + token: TypedContractMethod<[], [string], "view">; + withdraw: TypedContractMethod<[ + proof: BytesLike, + root: BytesLike, + nullifierHash: BytesLike, + recipient: AddressLike, + relayer: AddressLike, + fee: BigNumberish, + refund: BigNumberish + ], [ + void + ], "payable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "denomination"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "deposit"): TypedContractMethod<[commitment: BytesLike], [void], "payable">; + getFunction(nameOrSignature: "token"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "withdraw"): TypedContractMethod<[ + proof: BytesLike, + root: BytesLike, + nullifierHash: BytesLike, + recipient: AddressLike, + relayer: AddressLike, + fee: BigNumberish, + refund: BigNumberish + ], [ + void + ], "payable">; + filters: {}; +} diff --git a/dist/contracts/Governance/interfaces/index.d.ts b/dist/contracts/Governance/interfaces/index.d.ts new file mode 100644 index 0000000..ae077ed --- /dev/null +++ b/dist/contracts/Governance/interfaces/index.d.ts @@ -0,0 +1 @@ +export type { ITornadoInstance } from "./ITornadoInstance"; diff --git a/dist/contracts/Governance/libraries/UniswapV3OracleHelper.sol/IERC20Decimals.d.ts b/dist/contracts/Governance/libraries/UniswapV3OracleHelper.sol/IERC20Decimals.d.ts new file mode 100644 index 0000000..1f83188 --- /dev/null +++ b/dist/contracts/Governance/libraries/UniswapV3OracleHelper.sol/IERC20Decimals.d.ts @@ -0,0 +1,25 @@ +import type { BaseContract, BytesLike, FunctionFragment, Result, Interface, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../../../common"; +export interface IERC20DecimalsInterface extends Interface { + getFunction(nameOrSignature: "decimals"): FunctionFragment; + encodeFunctionData(functionFragment: "decimals", values?: undefined): string; + decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; +} +export interface IERC20Decimals extends BaseContract { + connect(runner?: ContractRunner | null): IERC20Decimals; + waitForDeployment(): Promise; + interface: IERC20DecimalsInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + decimals: TypedContractMethod<[], [bigint], "view">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "decimals"): TypedContractMethod<[], [bigint], "view">; + filters: {}; +} diff --git a/dist/contracts/Governance/libraries/UniswapV3OracleHelper.sol/index.d.ts b/dist/contracts/Governance/libraries/UniswapV3OracleHelper.sol/index.d.ts new file mode 100644 index 0000000..1ce18e1 --- /dev/null +++ b/dist/contracts/Governance/libraries/UniswapV3OracleHelper.sol/index.d.ts @@ -0,0 +1 @@ +export type { IERC20Decimals } from "./IERC20Decimals"; diff --git a/dist/contracts/Governance/libraries/index.d.ts b/dist/contracts/Governance/libraries/index.d.ts new file mode 100644 index 0000000..b6b2843 --- /dev/null +++ b/dist/contracts/Governance/libraries/index.d.ts @@ -0,0 +1,2 @@ +import type * as uniswapV3OracleHelperSol from "./UniswapV3OracleHelper.sol"; +export type { uniswapV3OracleHelperSol }; diff --git a/dist/contracts/Governance/v1/Configuration.d.ts b/dist/contracts/Governance/v1/Configuration.d.ts new file mode 100644 index 0000000..dd75ad8 --- /dev/null +++ b/dist/contracts/Governance/v1/Configuration.d.ts @@ -0,0 +1,125 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../../common"; +export interface ConfigurationInterface extends Interface { + getFunction(nameOrSignature: "CLOSING_PERIOD" | "EXECUTION_DELAY" | "EXECUTION_EXPIRATION" | "PROPOSAL_THRESHOLD" | "QUORUM_VOTES" | "VOTE_EXTEND_TIME" | "VOTING_DELAY" | "VOTING_PERIOD" | "setClosingPeriod" | "setExecutionDelay" | "setExecutionExpiration" | "setProposalThreshold" | "setQuorumVotes" | "setVoteExtendTime" | "setVotingDelay" | "setVotingPeriod"): FunctionFragment; + encodeFunctionData(functionFragment: "CLOSING_PERIOD", values?: undefined): string; + encodeFunctionData(functionFragment: "EXECUTION_DELAY", values?: undefined): string; + encodeFunctionData(functionFragment: "EXECUTION_EXPIRATION", values?: undefined): string; + encodeFunctionData(functionFragment: "PROPOSAL_THRESHOLD", values?: undefined): string; + encodeFunctionData(functionFragment: "QUORUM_VOTES", values?: undefined): string; + encodeFunctionData(functionFragment: "VOTE_EXTEND_TIME", values?: undefined): string; + encodeFunctionData(functionFragment: "VOTING_DELAY", values?: undefined): string; + encodeFunctionData(functionFragment: "VOTING_PERIOD", values?: undefined): string; + encodeFunctionData(functionFragment: "setClosingPeriod", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setExecutionDelay", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setExecutionExpiration", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setProposalThreshold", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setQuorumVotes", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setVoteExtendTime", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setVotingDelay", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setVotingPeriod", values: [BigNumberish]): string; + decodeFunctionResult(functionFragment: "CLOSING_PERIOD", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "EXECUTION_DELAY", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "EXECUTION_EXPIRATION", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "PROPOSAL_THRESHOLD", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "QUORUM_VOTES", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "VOTE_EXTEND_TIME", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "VOTING_DELAY", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "VOTING_PERIOD", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setClosingPeriod", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setExecutionDelay", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setExecutionExpiration", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setProposalThreshold", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setQuorumVotes", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setVoteExtendTime", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setVotingDelay", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setVotingPeriod", data: BytesLike): Result; +} +export interface Configuration extends BaseContract { + connect(runner?: ContractRunner | null): Configuration; + waitForDeployment(): Promise; + interface: ConfigurationInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + CLOSING_PERIOD: TypedContractMethod<[], [bigint], "view">; + EXECUTION_DELAY: TypedContractMethod<[], [bigint], "view">; + EXECUTION_EXPIRATION: TypedContractMethod<[], [bigint], "view">; + PROPOSAL_THRESHOLD: TypedContractMethod<[], [bigint], "view">; + QUORUM_VOTES: TypedContractMethod<[], [bigint], "view">; + VOTE_EXTEND_TIME: TypedContractMethod<[], [bigint], "view">; + VOTING_DELAY: TypedContractMethod<[], [bigint], "view">; + VOTING_PERIOD: TypedContractMethod<[], [bigint], "view">; + setClosingPeriod: TypedContractMethod<[ + closingPeriod: BigNumberish + ], [ + void + ], "nonpayable">; + setExecutionDelay: TypedContractMethod<[ + executionDelay: BigNumberish + ], [ + void + ], "nonpayable">; + setExecutionExpiration: TypedContractMethod<[ + executionExpiration: BigNumberish + ], [ + void + ], "nonpayable">; + setProposalThreshold: TypedContractMethod<[ + proposalThreshold: BigNumberish + ], [ + void + ], "nonpayable">; + setQuorumVotes: TypedContractMethod<[ + quorumVotes: BigNumberish + ], [ + void + ], "nonpayable">; + setVoteExtendTime: TypedContractMethod<[ + voteExtendTime: BigNumberish + ], [ + void + ], "nonpayable">; + setVotingDelay: TypedContractMethod<[ + votingDelay: BigNumberish + ], [ + void + ], "nonpayable">; + setVotingPeriod: TypedContractMethod<[ + votingPeriod: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "CLOSING_PERIOD"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "EXECUTION_DELAY"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "EXECUTION_EXPIRATION"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "PROPOSAL_THRESHOLD"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "QUORUM_VOTES"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "VOTE_EXTEND_TIME"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "VOTING_DELAY"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "VOTING_PERIOD"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "setClosingPeriod"): TypedContractMethod<[closingPeriod: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "setExecutionDelay"): TypedContractMethod<[executionDelay: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "setExecutionExpiration"): TypedContractMethod<[ + executionExpiration: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "setProposalThreshold"): TypedContractMethod<[ + proposalThreshold: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "setQuorumVotes"): TypedContractMethod<[quorumVotes: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "setVoteExtendTime"): TypedContractMethod<[voteExtendTime: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "setVotingDelay"): TypedContractMethod<[votingDelay: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "setVotingPeriod"): TypedContractMethod<[votingPeriod: BigNumberish], [void], "nonpayable">; + filters: {}; +} diff --git a/dist/contracts/Governance/v1/Core.d.ts b/dist/contracts/Governance/v1/Core.d.ts new file mode 100644 index 0000000..542b84b --- /dev/null +++ b/dist/contracts/Governance/v1/Core.d.ts @@ -0,0 +1,25 @@ +import type { BaseContract, BytesLike, FunctionFragment, Result, Interface, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../../common"; +export interface CoreInterface extends Interface { + getFunction(nameOrSignature: "lockedBalance"): FunctionFragment; + encodeFunctionData(functionFragment: "lockedBalance", values: [AddressLike]): string; + decodeFunctionResult(functionFragment: "lockedBalance", data: BytesLike): Result; +} +export interface Core extends BaseContract { + connect(runner?: ContractRunner | null): Core; + waitForDeployment(): Promise; + interface: CoreInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + lockedBalance: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "lockedBalance"): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + filters: {}; +} diff --git a/dist/contracts/Governance/v1/Delegation.d.ts b/dist/contracts/Governance/v1/Delegation.d.ts new file mode 100644 index 0000000..59c8de2 --- /dev/null +++ b/dist/contracts/Governance/v1/Delegation.d.ts @@ -0,0 +1,101 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../../common"; +export interface DelegationInterface extends Interface { + getFunction(nameOrSignature: "castDelegatedVote" | "delegate" | "delegatedTo" | "lockedBalance" | "proposeByDelegate" | "undelegate"): FunctionFragment; + getEvent(nameOrSignatureOrTopic: "Delegated" | "Undelegated"): EventFragment; + encodeFunctionData(functionFragment: "castDelegatedVote", values: [AddressLike[], BigNumberish, boolean]): string; + encodeFunctionData(functionFragment: "delegate", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "delegatedTo", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "lockedBalance", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "proposeByDelegate", values: [AddressLike, AddressLike, string]): string; + encodeFunctionData(functionFragment: "undelegate", values?: undefined): string; + decodeFunctionResult(functionFragment: "castDelegatedVote", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "delegate", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "delegatedTo", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "lockedBalance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "proposeByDelegate", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "undelegate", data: BytesLike): Result; +} +export declare namespace DelegatedEvent { + type InputTuple = [account: AddressLike, to: AddressLike]; + type OutputTuple = [account: string, to: string]; + interface OutputObject { + account: string; + to: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace UndelegatedEvent { + type InputTuple = [account: AddressLike, from: AddressLike]; + type OutputTuple = [account: string, from: string]; + interface OutputObject { + account: string; + from: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export interface Delegation extends BaseContract { + connect(runner?: ContractRunner | null): Delegation; + waitForDeployment(): Promise; + interface: DelegationInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + castDelegatedVote: TypedContractMethod<[ + from: AddressLike[], + proposalId: BigNumberish, + support: boolean + ], [ + void + ], "nonpayable">; + delegate: TypedContractMethod<[to: AddressLike], [void], "nonpayable">; + delegatedTo: TypedContractMethod<[arg0: AddressLike], [string], "view">; + lockedBalance: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + proposeByDelegate: TypedContractMethod<[ + from: AddressLike, + target: AddressLike, + description: string + ], [ + bigint + ], "nonpayable">; + undelegate: TypedContractMethod<[], [void], "nonpayable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "castDelegatedVote"): TypedContractMethod<[ + from: AddressLike[], + proposalId: BigNumberish, + support: boolean + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "delegate"): TypedContractMethod<[to: AddressLike], [void], "nonpayable">; + getFunction(nameOrSignature: "delegatedTo"): TypedContractMethod<[arg0: AddressLike], [string], "view">; + getFunction(nameOrSignature: "lockedBalance"): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction(nameOrSignature: "proposeByDelegate"): TypedContractMethod<[ + from: AddressLike, + target: AddressLike, + description: string + ], [ + bigint + ], "nonpayable">; + getFunction(nameOrSignature: "undelegate"): TypedContractMethod<[], [void], "nonpayable">; + getEvent(key: "Delegated"): TypedContractEvent; + getEvent(key: "Undelegated"): TypedContractEvent; + filters: { + "Delegated(address,address)": TypedContractEvent; + Delegated: TypedContractEvent; + "Undelegated(address,address)": TypedContractEvent; + Undelegated: TypedContractEvent; + }; +} diff --git a/dist/contracts/Governance/v1/Governance.d.ts b/dist/contracts/Governance/v1/Governance.d.ts new file mode 100644 index 0000000..4d64c32 --- /dev/null +++ b/dist/contracts/Governance/v1/Governance.d.ts @@ -0,0 +1,454 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../../common"; +export declare namespace Governance { + type ReceiptStruct = { + hasVoted: boolean; + support: boolean; + votes: BigNumberish; + }; + type ReceiptStructOutput = [ + hasVoted: boolean, + support: boolean, + votes: bigint + ] & { + hasVoted: boolean; + support: boolean; + votes: bigint; + }; +} +export interface GovernanceInterface extends Interface { + getFunction(nameOrSignature: "CLOSING_PERIOD" | "EXECUTION_DELAY" | "EXECUTION_EXPIRATION" | "PROPOSAL_THRESHOLD" | "QUORUM_VOTES" | "VOTE_EXTEND_TIME" | "VOTING_DELAY" | "VOTING_PERIOD" | "canWithdrawAfter" | "castDelegatedVote" | "castVote" | "delegate" | "delegatedTo" | "execute" | "getReceipt" | "initialize" | "latestProposalIds" | "lock" | "lockWithApproval" | "lockedBalance" | "proposalCount" | "proposals" | "propose" | "proposeByDelegate" | "setClosingPeriod" | "setExecutionDelay" | "setExecutionExpiration" | "setProposalThreshold" | "setQuorumVotes" | "setVoteExtendTime" | "setVotingDelay" | "setVotingPeriod" | "state" | "torn" | "undelegate" | "unlock"): FunctionFragment; + getEvent(nameOrSignatureOrTopic: "Delegated" | "ProposalCreated" | "ProposalExecuted" | "Undelegated" | "Voted"): EventFragment; + encodeFunctionData(functionFragment: "CLOSING_PERIOD", values?: undefined): string; + encodeFunctionData(functionFragment: "EXECUTION_DELAY", values?: undefined): string; + encodeFunctionData(functionFragment: "EXECUTION_EXPIRATION", values?: undefined): string; + encodeFunctionData(functionFragment: "PROPOSAL_THRESHOLD", values?: undefined): string; + encodeFunctionData(functionFragment: "QUORUM_VOTES", values?: undefined): string; + encodeFunctionData(functionFragment: "VOTE_EXTEND_TIME", values?: undefined): string; + encodeFunctionData(functionFragment: "VOTING_DELAY", values?: undefined): string; + encodeFunctionData(functionFragment: "VOTING_PERIOD", values?: undefined): string; + encodeFunctionData(functionFragment: "canWithdrawAfter", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "castDelegatedVote", values: [AddressLike[], BigNumberish, boolean]): string; + encodeFunctionData(functionFragment: "castVote", values: [BigNumberish, boolean]): string; + encodeFunctionData(functionFragment: "delegate", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "delegatedTo", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "execute", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "getReceipt", values: [BigNumberish, AddressLike]): string; + encodeFunctionData(functionFragment: "initialize", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "latestProposalIds", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "lock", values: [ + AddressLike, + BigNumberish, + BigNumberish, + BigNumberish, + BytesLike, + BytesLike + ]): string; + encodeFunctionData(functionFragment: "lockWithApproval", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "lockedBalance", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "proposalCount", values?: undefined): string; + encodeFunctionData(functionFragment: "proposals", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "propose", values: [AddressLike, string]): string; + encodeFunctionData(functionFragment: "proposeByDelegate", values: [AddressLike, AddressLike, string]): string; + encodeFunctionData(functionFragment: "setClosingPeriod", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setExecutionDelay", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setExecutionExpiration", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setProposalThreshold", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setQuorumVotes", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setVoteExtendTime", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setVotingDelay", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setVotingPeriod", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "state", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "torn", values?: undefined): string; + encodeFunctionData(functionFragment: "undelegate", values?: undefined): string; + encodeFunctionData(functionFragment: "unlock", values: [BigNumberish]): string; + decodeFunctionResult(functionFragment: "CLOSING_PERIOD", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "EXECUTION_DELAY", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "EXECUTION_EXPIRATION", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "PROPOSAL_THRESHOLD", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "QUORUM_VOTES", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "VOTE_EXTEND_TIME", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "VOTING_DELAY", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "VOTING_PERIOD", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "canWithdrawAfter", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "castDelegatedVote", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "castVote", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "delegate", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "delegatedTo", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "execute", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "getReceipt", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "latestProposalIds", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "lock", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "lockWithApproval", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "lockedBalance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "proposalCount", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "proposals", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "propose", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "proposeByDelegate", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setClosingPeriod", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setExecutionDelay", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setExecutionExpiration", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setProposalThreshold", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setQuorumVotes", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setVoteExtendTime", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setVotingDelay", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setVotingPeriod", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "state", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "torn", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "undelegate", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "unlock", data: BytesLike): Result; +} +export declare namespace DelegatedEvent { + type InputTuple = [account: AddressLike, to: AddressLike]; + type OutputTuple = [account: string, to: string]; + interface OutputObject { + account: string; + to: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace ProposalCreatedEvent { + type InputTuple = [ + id: BigNumberish, + proposer: AddressLike, + target: AddressLike, + startTime: BigNumberish, + endTime: BigNumberish, + description: string + ]; + type OutputTuple = [ + id: bigint, + proposer: string, + target: string, + startTime: bigint, + endTime: bigint, + description: string + ]; + interface OutputObject { + id: bigint; + proposer: string; + target: string; + startTime: bigint; + endTime: bigint; + description: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace ProposalExecutedEvent { + type InputTuple = [proposalId: BigNumberish]; + type OutputTuple = [proposalId: bigint]; + interface OutputObject { + proposalId: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace UndelegatedEvent { + type InputTuple = [account: AddressLike, from: AddressLike]; + type OutputTuple = [account: string, from: string]; + interface OutputObject { + account: string; + from: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace VotedEvent { + type InputTuple = [ + proposalId: BigNumberish, + voter: AddressLike, + support: boolean, + votes: BigNumberish + ]; + type OutputTuple = [ + proposalId: bigint, + voter: string, + support: boolean, + votes: bigint + ]; + interface OutputObject { + proposalId: bigint; + voter: string; + support: boolean; + votes: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export interface Governance extends BaseContract { + connect(runner?: ContractRunner | null): Governance; + waitForDeployment(): Promise; + interface: GovernanceInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + CLOSING_PERIOD: TypedContractMethod<[], [bigint], "view">; + EXECUTION_DELAY: TypedContractMethod<[], [bigint], "view">; + EXECUTION_EXPIRATION: TypedContractMethod<[], [bigint], "view">; + PROPOSAL_THRESHOLD: TypedContractMethod<[], [bigint], "view">; + QUORUM_VOTES: TypedContractMethod<[], [bigint], "view">; + VOTE_EXTEND_TIME: TypedContractMethod<[], [bigint], "view">; + VOTING_DELAY: TypedContractMethod<[], [bigint], "view">; + VOTING_PERIOD: TypedContractMethod<[], [bigint], "view">; + canWithdrawAfter: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + castDelegatedVote: TypedContractMethod<[ + from: AddressLike[], + proposalId: BigNumberish, + support: boolean + ], [ + void + ], "nonpayable">; + castVote: TypedContractMethod<[ + proposalId: BigNumberish, + support: boolean + ], [ + void + ], "nonpayable">; + delegate: TypedContractMethod<[to: AddressLike], [void], "nonpayable">; + delegatedTo: TypedContractMethod<[arg0: AddressLike], [string], "view">; + execute: TypedContractMethod<[proposalId: BigNumberish], [void], "payable">; + getReceipt: TypedContractMethod<[ + proposalId: BigNumberish, + voter: AddressLike + ], [ + Governance.ReceiptStructOutput + ], "view">; + initialize: TypedContractMethod<[_torn: AddressLike], [void], "nonpayable">; + latestProposalIds: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + lock: TypedContractMethod<[ + owner: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], [ + void + ], "nonpayable">; + lockWithApproval: TypedContractMethod<[ + amount: BigNumberish + ], [ + void + ], "nonpayable">; + lockedBalance: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + proposalCount: TypedContractMethod<[], [bigint], "view">; + proposals: TypedContractMethod<[ + arg0: BigNumberish + ], [ + [ + string, + string, + bigint, + bigint, + bigint, + bigint, + boolean, + boolean + ] & { + proposer: string; + target: string; + startTime: bigint; + endTime: bigint; + forVotes: bigint; + againstVotes: bigint; + executed: boolean; + extended: boolean; + } + ], "view">; + propose: TypedContractMethod<[ + target: AddressLike, + description: string + ], [ + bigint + ], "nonpayable">; + proposeByDelegate: TypedContractMethod<[ + from: AddressLike, + target: AddressLike, + description: string + ], [ + bigint + ], "nonpayable">; + setClosingPeriod: TypedContractMethod<[ + closingPeriod: BigNumberish + ], [ + void + ], "nonpayable">; + setExecutionDelay: TypedContractMethod<[ + executionDelay: BigNumberish + ], [ + void + ], "nonpayable">; + setExecutionExpiration: TypedContractMethod<[ + executionExpiration: BigNumberish + ], [ + void + ], "nonpayable">; + setProposalThreshold: TypedContractMethod<[ + proposalThreshold: BigNumberish + ], [ + void + ], "nonpayable">; + setQuorumVotes: TypedContractMethod<[ + quorumVotes: BigNumberish + ], [ + void + ], "nonpayable">; + setVoteExtendTime: TypedContractMethod<[ + voteExtendTime: BigNumberish + ], [ + void + ], "nonpayable">; + setVotingDelay: TypedContractMethod<[ + votingDelay: BigNumberish + ], [ + void + ], "nonpayable">; + setVotingPeriod: TypedContractMethod<[ + votingPeriod: BigNumberish + ], [ + void + ], "nonpayable">; + state: TypedContractMethod<[proposalId: BigNumberish], [bigint], "view">; + torn: TypedContractMethod<[], [string], "view">; + undelegate: TypedContractMethod<[], [void], "nonpayable">; + unlock: TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "CLOSING_PERIOD"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "EXECUTION_DELAY"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "EXECUTION_EXPIRATION"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "PROPOSAL_THRESHOLD"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "QUORUM_VOTES"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "VOTE_EXTEND_TIME"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "VOTING_DELAY"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "VOTING_PERIOD"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "canWithdrawAfter"): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction(nameOrSignature: "castDelegatedVote"): TypedContractMethod<[ + from: AddressLike[], + proposalId: BigNumberish, + support: boolean + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "castVote"): TypedContractMethod<[ + proposalId: BigNumberish, + support: boolean + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "delegate"): TypedContractMethod<[to: AddressLike], [void], "nonpayable">; + getFunction(nameOrSignature: "delegatedTo"): TypedContractMethod<[arg0: AddressLike], [string], "view">; + getFunction(nameOrSignature: "execute"): TypedContractMethod<[proposalId: BigNumberish], [void], "payable">; + getFunction(nameOrSignature: "getReceipt"): TypedContractMethod<[ + proposalId: BigNumberish, + voter: AddressLike + ], [ + Governance.ReceiptStructOutput + ], "view">; + getFunction(nameOrSignature: "initialize"): TypedContractMethod<[_torn: AddressLike], [void], "nonpayable">; + getFunction(nameOrSignature: "latestProposalIds"): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction(nameOrSignature: "lock"): TypedContractMethod<[ + owner: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "lockWithApproval"): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "lockedBalance"): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction(nameOrSignature: "proposalCount"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "proposals"): TypedContractMethod<[ + arg0: BigNumberish + ], [ + [ + string, + string, + bigint, + bigint, + bigint, + bigint, + boolean, + boolean + ] & { + proposer: string; + target: string; + startTime: bigint; + endTime: bigint; + forVotes: bigint; + againstVotes: bigint; + executed: boolean; + extended: boolean; + } + ], "view">; + getFunction(nameOrSignature: "propose"): TypedContractMethod<[ + target: AddressLike, + description: string + ], [ + bigint + ], "nonpayable">; + getFunction(nameOrSignature: "proposeByDelegate"): TypedContractMethod<[ + from: AddressLike, + target: AddressLike, + description: string + ], [ + bigint + ], "nonpayable">; + getFunction(nameOrSignature: "setClosingPeriod"): TypedContractMethod<[closingPeriod: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "setExecutionDelay"): TypedContractMethod<[executionDelay: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "setExecutionExpiration"): TypedContractMethod<[ + executionExpiration: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "setProposalThreshold"): TypedContractMethod<[ + proposalThreshold: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "setQuorumVotes"): TypedContractMethod<[quorumVotes: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "setVoteExtendTime"): TypedContractMethod<[voteExtendTime: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "setVotingDelay"): TypedContractMethod<[votingDelay: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "setVotingPeriod"): TypedContractMethod<[votingPeriod: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "state"): TypedContractMethod<[proposalId: BigNumberish], [bigint], "view">; + getFunction(nameOrSignature: "torn"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "undelegate"): TypedContractMethod<[], [void], "nonpayable">; + getFunction(nameOrSignature: "unlock"): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + getEvent(key: "Delegated"): TypedContractEvent; + getEvent(key: "ProposalCreated"): TypedContractEvent; + getEvent(key: "ProposalExecuted"): TypedContractEvent; + getEvent(key: "Undelegated"): TypedContractEvent; + getEvent(key: "Voted"): TypedContractEvent; + filters: { + "Delegated(address,address)": TypedContractEvent; + Delegated: TypedContractEvent; + "ProposalCreated(uint256,address,address,uint256,uint256,string)": TypedContractEvent; + ProposalCreated: TypedContractEvent; + "ProposalExecuted(uint256)": TypedContractEvent; + ProposalExecuted: TypedContractEvent; + "Undelegated(address,address)": TypedContractEvent; + Undelegated: TypedContractEvent; + "Voted(uint256,address,bool,uint256)": TypedContractEvent; + Voted: TypedContractEvent; + }; +} diff --git a/dist/contracts/Governance/v1/Mocks/Dummy.sol/Dummy.d.ts b/dist/contracts/Governance/v1/Mocks/Dummy.sol/Dummy.d.ts new file mode 100644 index 0000000..2cdecac --- /dev/null +++ b/dist/contracts/Governance/v1/Mocks/Dummy.sol/Dummy.d.ts @@ -0,0 +1,33 @@ +import type { BaseContract, BytesLike, FunctionFragment, Result, Interface, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../../../../common"; +export interface DummyInterface extends Interface { + getFunction(nameOrSignature: "initialize" | "text" | "value"): FunctionFragment; + encodeFunctionData(functionFragment: "initialize", values?: undefined): string; + encodeFunctionData(functionFragment: "text", values?: undefined): string; + encodeFunctionData(functionFragment: "value", values?: undefined): string; + decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "text", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "value", data: BytesLike): Result; +} +export interface Dummy extends BaseContract { + connect(runner?: ContractRunner | null): Dummy; + waitForDeployment(): Promise; + interface: DummyInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + initialize: TypedContractMethod<[], [void], "nonpayable">; + text: TypedContractMethod<[], [string], "view">; + value: TypedContractMethod<[], [bigint], "view">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "initialize"): TypedContractMethod<[], [void], "nonpayable">; + getFunction(nameOrSignature: "text"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "value"): TypedContractMethod<[], [bigint], "view">; + filters: {}; +} diff --git a/dist/contracts/Governance/v1/Mocks/Dummy.sol/DummySecond.d.ts b/dist/contracts/Governance/v1/Mocks/Dummy.sol/DummySecond.d.ts new file mode 100644 index 0000000..de5d002 --- /dev/null +++ b/dist/contracts/Governance/v1/Mocks/Dummy.sol/DummySecond.d.ts @@ -0,0 +1,33 @@ +import type { BaseContract, BytesLike, FunctionFragment, Result, Interface, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../../../../common"; +export interface DummySecondInterface extends Interface { + getFunction(nameOrSignature: "initialize" | "text" | "value"): FunctionFragment; + encodeFunctionData(functionFragment: "initialize", values?: undefined): string; + encodeFunctionData(functionFragment: "text", values?: undefined): string; + encodeFunctionData(functionFragment: "value", values?: undefined): string; + decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "text", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "value", data: BytesLike): Result; +} +export interface DummySecond extends BaseContract { + connect(runner?: ContractRunner | null): DummySecond; + waitForDeployment(): Promise; + interface: DummySecondInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + initialize: TypedContractMethod<[], [void], "nonpayable">; + text: TypedContractMethod<[], [string], "view">; + value: TypedContractMethod<[], [bigint], "view">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "initialize"): TypedContractMethod<[], [void], "nonpayable">; + getFunction(nameOrSignature: "text"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "value"): TypedContractMethod<[], [bigint], "view">; + filters: {}; +} diff --git a/dist/contracts/Governance/v1/Mocks/Dummy.sol/index.d.ts b/dist/contracts/Governance/v1/Mocks/Dummy.sol/index.d.ts new file mode 100644 index 0000000..1271391 --- /dev/null +++ b/dist/contracts/Governance/v1/Mocks/Dummy.sol/index.d.ts @@ -0,0 +1,2 @@ +export type { Dummy } from "./Dummy"; +export type { DummySecond } from "./DummySecond"; diff --git a/dist/contracts/Governance/v1/Mocks/MockGovernance.d.ts b/dist/contracts/Governance/v1/Mocks/MockGovernance.d.ts new file mode 100644 index 0000000..3058907 --- /dev/null +++ b/dist/contracts/Governance/v1/Mocks/MockGovernance.d.ts @@ -0,0 +1,470 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../../../common"; +export declare namespace Governance { + type ReceiptStruct = { + hasVoted: boolean; + support: boolean; + votes: BigNumberish; + }; + type ReceiptStructOutput = [ + hasVoted: boolean, + support: boolean, + votes: bigint + ] & { + hasVoted: boolean; + support: boolean; + votes: bigint; + }; +} +export interface MockGovernanceInterface extends Interface { + getFunction(nameOrSignature: "CLOSING_PERIOD" | "EXECUTION_DELAY" | "EXECUTION_EXPIRATION" | "PROPOSAL_THRESHOLD" | "QUORUM_VOTES" | "VOTE_EXTEND_TIME" | "VOTING_DELAY" | "VOTING_PERIOD" | "canWithdrawAfter" | "castDelegatedVote" | "castVote" | "delegate" | "delegatedTo" | "execute" | "getReceipt" | "initialize" | "latestProposalIds" | "lock" | "lockWithApproval" | "lockedBalance" | "proposalCount" | "proposals" | "propose" | "proposeByDelegate" | "setClosingPeriod" | "setExecutionDelay" | "setExecutionExpiration" | "setProposalThreshold" | "setQuorumVotes" | "setTimestamp" | "setTorn" | "setVoteExtendTime" | "setVotingDelay" | "setVotingPeriod" | "state" | "time" | "torn" | "undelegate" | "unlock"): FunctionFragment; + getEvent(nameOrSignatureOrTopic: "Delegated" | "ProposalCreated" | "ProposalExecuted" | "Undelegated" | "Voted"): EventFragment; + encodeFunctionData(functionFragment: "CLOSING_PERIOD", values?: undefined): string; + encodeFunctionData(functionFragment: "EXECUTION_DELAY", values?: undefined): string; + encodeFunctionData(functionFragment: "EXECUTION_EXPIRATION", values?: undefined): string; + encodeFunctionData(functionFragment: "PROPOSAL_THRESHOLD", values?: undefined): string; + encodeFunctionData(functionFragment: "QUORUM_VOTES", values?: undefined): string; + encodeFunctionData(functionFragment: "VOTE_EXTEND_TIME", values?: undefined): string; + encodeFunctionData(functionFragment: "VOTING_DELAY", values?: undefined): string; + encodeFunctionData(functionFragment: "VOTING_PERIOD", values?: undefined): string; + encodeFunctionData(functionFragment: "canWithdrawAfter", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "castDelegatedVote", values: [AddressLike[], BigNumberish, boolean]): string; + encodeFunctionData(functionFragment: "castVote", values: [BigNumberish, boolean]): string; + encodeFunctionData(functionFragment: "delegate", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "delegatedTo", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "execute", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "getReceipt", values: [BigNumberish, AddressLike]): string; + encodeFunctionData(functionFragment: "initialize", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "latestProposalIds", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "lock", values: [ + AddressLike, + BigNumberish, + BigNumberish, + BigNumberish, + BytesLike, + BytesLike + ]): string; + encodeFunctionData(functionFragment: "lockWithApproval", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "lockedBalance", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "proposalCount", values?: undefined): string; + encodeFunctionData(functionFragment: "proposals", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "propose", values: [AddressLike, string]): string; + encodeFunctionData(functionFragment: "proposeByDelegate", values: [AddressLike, AddressLike, string]): string; + encodeFunctionData(functionFragment: "setClosingPeriod", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setExecutionDelay", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setExecutionExpiration", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setProposalThreshold", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setQuorumVotes", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setTimestamp", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setTorn", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "setVoteExtendTime", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setVotingDelay", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setVotingPeriod", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "state", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "time", values?: undefined): string; + encodeFunctionData(functionFragment: "torn", values?: undefined): string; + encodeFunctionData(functionFragment: "undelegate", values?: undefined): string; + encodeFunctionData(functionFragment: "unlock", values: [BigNumberish]): string; + decodeFunctionResult(functionFragment: "CLOSING_PERIOD", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "EXECUTION_DELAY", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "EXECUTION_EXPIRATION", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "PROPOSAL_THRESHOLD", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "QUORUM_VOTES", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "VOTE_EXTEND_TIME", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "VOTING_DELAY", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "VOTING_PERIOD", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "canWithdrawAfter", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "castDelegatedVote", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "castVote", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "delegate", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "delegatedTo", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "execute", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "getReceipt", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "latestProposalIds", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "lock", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "lockWithApproval", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "lockedBalance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "proposalCount", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "proposals", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "propose", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "proposeByDelegate", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setClosingPeriod", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setExecutionDelay", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setExecutionExpiration", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setProposalThreshold", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setQuorumVotes", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setTimestamp", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setTorn", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setVoteExtendTime", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setVotingDelay", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setVotingPeriod", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "state", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "time", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "torn", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "undelegate", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "unlock", data: BytesLike): Result; +} +export declare namespace DelegatedEvent { + type InputTuple = [account: AddressLike, to: AddressLike]; + type OutputTuple = [account: string, to: string]; + interface OutputObject { + account: string; + to: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace ProposalCreatedEvent { + type InputTuple = [ + id: BigNumberish, + proposer: AddressLike, + target: AddressLike, + startTime: BigNumberish, + endTime: BigNumberish, + description: string + ]; + type OutputTuple = [ + id: bigint, + proposer: string, + target: string, + startTime: bigint, + endTime: bigint, + description: string + ]; + interface OutputObject { + id: bigint; + proposer: string; + target: string; + startTime: bigint; + endTime: bigint; + description: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace ProposalExecutedEvent { + type InputTuple = [proposalId: BigNumberish]; + type OutputTuple = [proposalId: bigint]; + interface OutputObject { + proposalId: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace UndelegatedEvent { + type InputTuple = [account: AddressLike, from: AddressLike]; + type OutputTuple = [account: string, from: string]; + interface OutputObject { + account: string; + from: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace VotedEvent { + type InputTuple = [ + proposalId: BigNumberish, + voter: AddressLike, + support: boolean, + votes: BigNumberish + ]; + type OutputTuple = [ + proposalId: bigint, + voter: string, + support: boolean, + votes: bigint + ]; + interface OutputObject { + proposalId: bigint; + voter: string; + support: boolean; + votes: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export interface MockGovernance extends BaseContract { + connect(runner?: ContractRunner | null): MockGovernance; + waitForDeployment(): Promise; + interface: MockGovernanceInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + CLOSING_PERIOD: TypedContractMethod<[], [bigint], "view">; + EXECUTION_DELAY: TypedContractMethod<[], [bigint], "view">; + EXECUTION_EXPIRATION: TypedContractMethod<[], [bigint], "view">; + PROPOSAL_THRESHOLD: TypedContractMethod<[], [bigint], "view">; + QUORUM_VOTES: TypedContractMethod<[], [bigint], "view">; + VOTE_EXTEND_TIME: TypedContractMethod<[], [bigint], "view">; + VOTING_DELAY: TypedContractMethod<[], [bigint], "view">; + VOTING_PERIOD: TypedContractMethod<[], [bigint], "view">; + canWithdrawAfter: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + castDelegatedVote: TypedContractMethod<[ + from: AddressLike[], + proposalId: BigNumberish, + support: boolean + ], [ + void + ], "nonpayable">; + castVote: TypedContractMethod<[ + proposalId: BigNumberish, + support: boolean + ], [ + void + ], "nonpayable">; + delegate: TypedContractMethod<[to: AddressLike], [void], "nonpayable">; + delegatedTo: TypedContractMethod<[arg0: AddressLike], [string], "view">; + execute: TypedContractMethod<[proposalId: BigNumberish], [void], "payable">; + getReceipt: TypedContractMethod<[ + proposalId: BigNumberish, + voter: AddressLike + ], [ + Governance.ReceiptStructOutput + ], "view">; + initialize: TypedContractMethod<[_torn: AddressLike], [void], "nonpayable">; + latestProposalIds: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + lock: TypedContractMethod<[ + owner: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], [ + void + ], "nonpayable">; + lockWithApproval: TypedContractMethod<[ + amount: BigNumberish + ], [ + void + ], "nonpayable">; + lockedBalance: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + proposalCount: TypedContractMethod<[], [bigint], "view">; + proposals: TypedContractMethod<[ + arg0: BigNumberish + ], [ + [ + string, + string, + bigint, + bigint, + bigint, + bigint, + boolean, + boolean + ] & { + proposer: string; + target: string; + startTime: bigint; + endTime: bigint; + forVotes: bigint; + againstVotes: bigint; + executed: boolean; + extended: boolean; + } + ], "view">; + propose: TypedContractMethod<[ + target: AddressLike, + description: string + ], [ + bigint + ], "nonpayable">; + proposeByDelegate: TypedContractMethod<[ + from: AddressLike, + target: AddressLike, + description: string + ], [ + bigint + ], "nonpayable">; + setClosingPeriod: TypedContractMethod<[ + closingPeriod: BigNumberish + ], [ + void + ], "nonpayable">; + setExecutionDelay: TypedContractMethod<[ + executionDelay: BigNumberish + ], [ + void + ], "nonpayable">; + setExecutionExpiration: TypedContractMethod<[ + executionExpiration: BigNumberish + ], [ + void + ], "nonpayable">; + setProposalThreshold: TypedContractMethod<[ + proposalThreshold: BigNumberish + ], [ + void + ], "nonpayable">; + setQuorumVotes: TypedContractMethod<[ + quorumVotes: BigNumberish + ], [ + void + ], "nonpayable">; + setTimestamp: TypedContractMethod<[ + time_: BigNumberish + ], [ + void + ], "nonpayable">; + setTorn: TypedContractMethod<[torna: AddressLike], [void], "nonpayable">; + setVoteExtendTime: TypedContractMethod<[ + voteExtendTime: BigNumberish + ], [ + void + ], "nonpayable">; + setVotingDelay: TypedContractMethod<[ + votingDelay: BigNumberish + ], [ + void + ], "nonpayable">; + setVotingPeriod: TypedContractMethod<[ + votingPeriod: BigNumberish + ], [ + void + ], "nonpayable">; + state: TypedContractMethod<[proposalId: BigNumberish], [bigint], "view">; + time: TypedContractMethod<[], [bigint], "view">; + torn: TypedContractMethod<[], [string], "view">; + undelegate: TypedContractMethod<[], [void], "nonpayable">; + unlock: TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "CLOSING_PERIOD"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "EXECUTION_DELAY"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "EXECUTION_EXPIRATION"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "PROPOSAL_THRESHOLD"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "QUORUM_VOTES"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "VOTE_EXTEND_TIME"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "VOTING_DELAY"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "VOTING_PERIOD"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "canWithdrawAfter"): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction(nameOrSignature: "castDelegatedVote"): TypedContractMethod<[ + from: AddressLike[], + proposalId: BigNumberish, + support: boolean + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "castVote"): TypedContractMethod<[ + proposalId: BigNumberish, + support: boolean + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "delegate"): TypedContractMethod<[to: AddressLike], [void], "nonpayable">; + getFunction(nameOrSignature: "delegatedTo"): TypedContractMethod<[arg0: AddressLike], [string], "view">; + getFunction(nameOrSignature: "execute"): TypedContractMethod<[proposalId: BigNumberish], [void], "payable">; + getFunction(nameOrSignature: "getReceipt"): TypedContractMethod<[ + proposalId: BigNumberish, + voter: AddressLike + ], [ + Governance.ReceiptStructOutput + ], "view">; + getFunction(nameOrSignature: "initialize"): TypedContractMethod<[_torn: AddressLike], [void], "nonpayable">; + getFunction(nameOrSignature: "latestProposalIds"): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction(nameOrSignature: "lock"): TypedContractMethod<[ + owner: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "lockWithApproval"): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "lockedBalance"): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction(nameOrSignature: "proposalCount"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "proposals"): TypedContractMethod<[ + arg0: BigNumberish + ], [ + [ + string, + string, + bigint, + bigint, + bigint, + bigint, + boolean, + boolean + ] & { + proposer: string; + target: string; + startTime: bigint; + endTime: bigint; + forVotes: bigint; + againstVotes: bigint; + executed: boolean; + extended: boolean; + } + ], "view">; + getFunction(nameOrSignature: "propose"): TypedContractMethod<[ + target: AddressLike, + description: string + ], [ + bigint + ], "nonpayable">; + getFunction(nameOrSignature: "proposeByDelegate"): TypedContractMethod<[ + from: AddressLike, + target: AddressLike, + description: string + ], [ + bigint + ], "nonpayable">; + getFunction(nameOrSignature: "setClosingPeriod"): TypedContractMethod<[closingPeriod: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "setExecutionDelay"): TypedContractMethod<[executionDelay: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "setExecutionExpiration"): TypedContractMethod<[ + executionExpiration: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "setProposalThreshold"): TypedContractMethod<[ + proposalThreshold: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "setQuorumVotes"): TypedContractMethod<[quorumVotes: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "setTimestamp"): TypedContractMethod<[time_: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "setTorn"): TypedContractMethod<[torna: AddressLike], [void], "nonpayable">; + getFunction(nameOrSignature: "setVoteExtendTime"): TypedContractMethod<[voteExtendTime: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "setVotingDelay"): TypedContractMethod<[votingDelay: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "setVotingPeriod"): TypedContractMethod<[votingPeriod: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "state"): TypedContractMethod<[proposalId: BigNumberish], [bigint], "view">; + getFunction(nameOrSignature: "time"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "torn"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "undelegate"): TypedContractMethod<[], [void], "nonpayable">; + getFunction(nameOrSignature: "unlock"): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + getEvent(key: "Delegated"): TypedContractEvent; + getEvent(key: "ProposalCreated"): TypedContractEvent; + getEvent(key: "ProposalExecuted"): TypedContractEvent; + getEvent(key: "Undelegated"): TypedContractEvent; + getEvent(key: "Voted"): TypedContractEvent; + filters: { + "Delegated(address,address)": TypedContractEvent; + Delegated: TypedContractEvent; + "ProposalCreated(uint256,address,address,uint256,uint256,string)": TypedContractEvent; + ProposalCreated: TypedContractEvent; + "ProposalExecuted(uint256)": TypedContractEvent; + ProposalExecuted: TypedContractEvent; + "Undelegated(address,address)": TypedContractEvent; + Undelegated: TypedContractEvent; + "Voted(uint256,address,bool,uint256)": TypedContractEvent; + Voted: TypedContractEvent; + }; +} diff --git a/dist/contracts/Governance/v1/Mocks/Proposal.d.ts b/dist/contracts/Governance/v1/Mocks/Proposal.d.ts new file mode 100644 index 0000000..b65a6b7 --- /dev/null +++ b/dist/contracts/Governance/v1/Mocks/Proposal.d.ts @@ -0,0 +1,41 @@ +import type { BaseContract, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../../../common"; +export interface ProposalInterface extends Interface { + getFunction(nameOrSignature: "executeProposal"): FunctionFragment; + getEvent(nameOrSignatureOrTopic: "Debug"): EventFragment; + encodeFunctionData(functionFragment: "executeProposal", values?: undefined): string; + decodeFunctionResult(functionFragment: "executeProposal", data: BytesLike): Result; +} +export declare namespace DebugEvent { + type InputTuple = [output: AddressLike]; + type OutputTuple = [output: string]; + interface OutputObject { + output: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export interface Proposal extends BaseContract { + connect(runner?: ContractRunner | null): Proposal; + waitForDeployment(): Promise; + interface: ProposalInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + executeProposal: TypedContractMethod<[], [void], "nonpayable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "executeProposal"): TypedContractMethod<[], [void], "nonpayable">; + getEvent(key: "Debug"): TypedContractEvent; + filters: { + "Debug(address)": TypedContractEvent; + Debug: TypedContractEvent; + }; +} diff --git a/dist/contracts/Governance/v1/Mocks/ProposalStateChangeGovernance.sol/IGovernance.d.ts b/dist/contracts/Governance/v1/Mocks/ProposalStateChangeGovernance.sol/IGovernance.d.ts new file mode 100644 index 0000000..5ae5b9d --- /dev/null +++ b/dist/contracts/Governance/v1/Mocks/ProposalStateChangeGovernance.sol/IGovernance.d.ts @@ -0,0 +1,29 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../../../../common"; +export interface IGovernanceInterface extends Interface { + getFunction(nameOrSignature: "setExecutionDelay"): FunctionFragment; + encodeFunctionData(functionFragment: "setExecutionDelay", values: [BigNumberish]): string; + decodeFunctionResult(functionFragment: "setExecutionDelay", data: BytesLike): Result; +} +export interface IGovernance extends BaseContract { + connect(runner?: ContractRunner | null): IGovernance; + waitForDeployment(): Promise; + interface: IGovernanceInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + setExecutionDelay: TypedContractMethod<[ + delay: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "setExecutionDelay"): TypedContractMethod<[delay: BigNumberish], [void], "nonpayable">; + filters: {}; +} diff --git a/dist/contracts/Governance/v1/Mocks/ProposalStateChangeGovernance.sol/ProposalStateChangeGovernance.d.ts b/dist/contracts/Governance/v1/Mocks/ProposalStateChangeGovernance.sol/ProposalStateChangeGovernance.d.ts new file mode 100644 index 0000000..9449f04 --- /dev/null +++ b/dist/contracts/Governance/v1/Mocks/ProposalStateChangeGovernance.sol/ProposalStateChangeGovernance.d.ts @@ -0,0 +1,25 @@ +import type { BaseContract, BytesLike, FunctionFragment, Result, Interface, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../../../../common"; +export interface ProposalStateChangeGovernanceInterface extends Interface { + getFunction(nameOrSignature: "executeProposal"): FunctionFragment; + encodeFunctionData(functionFragment: "executeProposal", values?: undefined): string; + decodeFunctionResult(functionFragment: "executeProposal", data: BytesLike): Result; +} +export interface ProposalStateChangeGovernance extends BaseContract { + connect(runner?: ContractRunner | null): ProposalStateChangeGovernance; + waitForDeployment(): Promise; + interface: ProposalStateChangeGovernanceInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + executeProposal: TypedContractMethod<[], [void], "nonpayable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "executeProposal"): TypedContractMethod<[], [void], "nonpayable">; + filters: {}; +} diff --git a/dist/contracts/Governance/v1/Mocks/ProposalStateChangeGovernance.sol/index.d.ts b/dist/contracts/Governance/v1/Mocks/ProposalStateChangeGovernance.sol/index.d.ts new file mode 100644 index 0000000..bd9075e --- /dev/null +++ b/dist/contracts/Governance/v1/Mocks/ProposalStateChangeGovernance.sol/index.d.ts @@ -0,0 +1,2 @@ +export type { IGovernance } from "./IGovernance"; +export type { ProposalStateChangeGovernance } from "./ProposalStateChangeGovernance"; diff --git a/dist/contracts/Governance/v1/Mocks/ProposalUpgrade.sol/IProxy.d.ts b/dist/contracts/Governance/v1/Mocks/ProposalUpgrade.sol/IProxy.d.ts new file mode 100644 index 0000000..be0d455 --- /dev/null +++ b/dist/contracts/Governance/v1/Mocks/ProposalUpgrade.sol/IProxy.d.ts @@ -0,0 +1,33 @@ +import type { BaseContract, BytesLike, FunctionFragment, Result, Interface, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../../../../common"; +export interface IProxyInterface extends Interface { + getFunction(nameOrSignature: "upgradeTo"): FunctionFragment; + encodeFunctionData(functionFragment: "upgradeTo", values: [AddressLike]): string; + decodeFunctionResult(functionFragment: "upgradeTo", data: BytesLike): Result; +} +export interface IProxy extends BaseContract { + connect(runner?: ContractRunner | null): IProxy; + waitForDeployment(): Promise; + interface: IProxyInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + upgradeTo: TypedContractMethod<[ + newImplementation: AddressLike + ], [ + void + ], "nonpayable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "upgradeTo"): TypedContractMethod<[ + newImplementation: AddressLike + ], [ + void + ], "nonpayable">; + filters: {}; +} diff --git a/dist/contracts/Governance/v1/Mocks/ProposalUpgrade.sol/NewImplementation.d.ts b/dist/contracts/Governance/v1/Mocks/ProposalUpgrade.sol/NewImplementation.d.ts new file mode 100644 index 0000000..126b546 --- /dev/null +++ b/dist/contracts/Governance/v1/Mocks/ProposalUpgrade.sol/NewImplementation.d.ts @@ -0,0 +1,488 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../../../../common"; +export declare namespace Governance { + type ReceiptStruct = { + hasVoted: boolean; + support: boolean; + votes: BigNumberish; + }; + type ReceiptStructOutput = [ + hasVoted: boolean, + support: boolean, + votes: bigint + ] & { + hasVoted: boolean; + support: boolean; + votes: bigint; + }; +} +export interface NewImplementationInterface extends Interface { + getFunction(nameOrSignature: "CLOSING_PERIOD" | "EXECUTION_DELAY" | "EXECUTION_EXPIRATION" | "PROPOSAL_THRESHOLD" | "QUORUM_VOTES" | "VOTE_EXTEND_TIME" | "VOTING_DELAY" | "VOTING_PERIOD" | "canWithdrawAfter" | "castDelegatedVote" | "castVote" | "delegate" | "delegatedTo" | "execute" | "getReceipt" | "initialize" | "latestProposalIds" | "lock" | "lockWithApproval" | "lockedBalance" | "newVariable" | "proposalCount" | "proposals" | "propose" | "proposeByDelegate" | "setClosingPeriod" | "setExecutionDelay" | "setExecutionExpiration" | "setProposalThreshold" | "setQuorumVotes" | "setTimestamp" | "setTorn" | "setVoteExtendTime" | "setVotingDelay" | "setVotingPeriod" | "state" | "time" | "torn" | "undelegate" | "unlock"): FunctionFragment; + getEvent(nameOrSignatureOrTopic: "Delegated" | "Overriden" | "ProposalCreated" | "ProposalExecuted" | "Undelegated" | "Voted"): EventFragment; + encodeFunctionData(functionFragment: "CLOSING_PERIOD", values?: undefined): string; + encodeFunctionData(functionFragment: "EXECUTION_DELAY", values?: undefined): string; + encodeFunctionData(functionFragment: "EXECUTION_EXPIRATION", values?: undefined): string; + encodeFunctionData(functionFragment: "PROPOSAL_THRESHOLD", values?: undefined): string; + encodeFunctionData(functionFragment: "QUORUM_VOTES", values?: undefined): string; + encodeFunctionData(functionFragment: "VOTE_EXTEND_TIME", values?: undefined): string; + encodeFunctionData(functionFragment: "VOTING_DELAY", values?: undefined): string; + encodeFunctionData(functionFragment: "VOTING_PERIOD", values?: undefined): string; + encodeFunctionData(functionFragment: "canWithdrawAfter", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "castDelegatedVote", values: [AddressLike[], BigNumberish, boolean]): string; + encodeFunctionData(functionFragment: "castVote", values: [BigNumberish, boolean]): string; + encodeFunctionData(functionFragment: "delegate", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "delegatedTo", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "execute", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "getReceipt", values: [BigNumberish, AddressLike]): string; + encodeFunctionData(functionFragment: "initialize", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "latestProposalIds", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "lock", values: [ + AddressLike, + BigNumberish, + BigNumberish, + BigNumberish, + BytesLike, + BytesLike + ]): string; + encodeFunctionData(functionFragment: "lockWithApproval", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "lockedBalance", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "newVariable", values?: undefined): string; + encodeFunctionData(functionFragment: "proposalCount", values?: undefined): string; + encodeFunctionData(functionFragment: "proposals", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "propose", values: [AddressLike, string]): string; + encodeFunctionData(functionFragment: "proposeByDelegate", values: [AddressLike, AddressLike, string]): string; + encodeFunctionData(functionFragment: "setClosingPeriod", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setExecutionDelay", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setExecutionExpiration", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setProposalThreshold", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setQuorumVotes", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setTimestamp", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setTorn", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "setVoteExtendTime", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setVotingDelay", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setVotingPeriod", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "state", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "time", values?: undefined): string; + encodeFunctionData(functionFragment: "torn", values?: undefined): string; + encodeFunctionData(functionFragment: "undelegate", values?: undefined): string; + encodeFunctionData(functionFragment: "unlock", values: [BigNumberish]): string; + decodeFunctionResult(functionFragment: "CLOSING_PERIOD", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "EXECUTION_DELAY", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "EXECUTION_EXPIRATION", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "PROPOSAL_THRESHOLD", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "QUORUM_VOTES", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "VOTE_EXTEND_TIME", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "VOTING_DELAY", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "VOTING_PERIOD", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "canWithdrawAfter", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "castDelegatedVote", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "castVote", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "delegate", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "delegatedTo", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "execute", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "getReceipt", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "latestProposalIds", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "lock", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "lockWithApproval", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "lockedBalance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "newVariable", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "proposalCount", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "proposals", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "propose", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "proposeByDelegate", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setClosingPeriod", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setExecutionDelay", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setExecutionExpiration", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setProposalThreshold", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setQuorumVotes", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setTimestamp", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setTorn", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setVoteExtendTime", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setVotingDelay", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setVotingPeriod", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "state", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "time", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "torn", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "undelegate", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "unlock", data: BytesLike): Result; +} +export declare namespace DelegatedEvent { + type InputTuple = [account: AddressLike, to: AddressLike]; + type OutputTuple = [account: string, to: string]; + interface OutputObject { + account: string; + to: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace OverridenEvent { + type InputTuple = [x: BigNumberish]; + type OutputTuple = [x: bigint]; + interface OutputObject { + x: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace ProposalCreatedEvent { + type InputTuple = [ + id: BigNumberish, + proposer: AddressLike, + target: AddressLike, + startTime: BigNumberish, + endTime: BigNumberish, + description: string + ]; + type OutputTuple = [ + id: bigint, + proposer: string, + target: string, + startTime: bigint, + endTime: bigint, + description: string + ]; + interface OutputObject { + id: bigint; + proposer: string; + target: string; + startTime: bigint; + endTime: bigint; + description: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace ProposalExecutedEvent { + type InputTuple = [proposalId: BigNumberish]; + type OutputTuple = [proposalId: bigint]; + interface OutputObject { + proposalId: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace UndelegatedEvent { + type InputTuple = [account: AddressLike, from: AddressLike]; + type OutputTuple = [account: string, from: string]; + interface OutputObject { + account: string; + from: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace VotedEvent { + type InputTuple = [ + proposalId: BigNumberish, + voter: AddressLike, + support: boolean, + votes: BigNumberish + ]; + type OutputTuple = [ + proposalId: bigint, + voter: string, + support: boolean, + votes: bigint + ]; + interface OutputObject { + proposalId: bigint; + voter: string; + support: boolean; + votes: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export interface NewImplementation extends BaseContract { + connect(runner?: ContractRunner | null): NewImplementation; + waitForDeployment(): Promise; + interface: NewImplementationInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + CLOSING_PERIOD: TypedContractMethod<[], [bigint], "view">; + EXECUTION_DELAY: TypedContractMethod<[], [bigint], "view">; + EXECUTION_EXPIRATION: TypedContractMethod<[], [bigint], "view">; + PROPOSAL_THRESHOLD: TypedContractMethod<[], [bigint], "view">; + QUORUM_VOTES: TypedContractMethod<[], [bigint], "view">; + VOTE_EXTEND_TIME: TypedContractMethod<[], [bigint], "view">; + VOTING_DELAY: TypedContractMethod<[], [bigint], "view">; + VOTING_PERIOD: TypedContractMethod<[], [bigint], "view">; + canWithdrawAfter: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + castDelegatedVote: TypedContractMethod<[ + from: AddressLike[], + proposalId: BigNumberish, + support: boolean + ], [ + void + ], "nonpayable">; + castVote: TypedContractMethod<[ + proposalId: BigNumberish, + support: boolean + ], [ + void + ], "nonpayable">; + delegate: TypedContractMethod<[to: AddressLike], [void], "nonpayable">; + delegatedTo: TypedContractMethod<[arg0: AddressLike], [string], "view">; + execute: TypedContractMethod<[proposalId: BigNumberish], [void], "payable">; + getReceipt: TypedContractMethod<[ + proposalId: BigNumberish, + voter: AddressLike + ], [ + Governance.ReceiptStructOutput + ], "view">; + initialize: TypedContractMethod<[_torn: AddressLike], [void], "nonpayable">; + latestProposalIds: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + lock: TypedContractMethod<[ + owner: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], [ + void + ], "nonpayable">; + lockWithApproval: TypedContractMethod<[ + amount: BigNumberish + ], [ + void + ], "nonpayable">; + lockedBalance: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + newVariable: TypedContractMethod<[], [bigint], "view">; + proposalCount: TypedContractMethod<[], [bigint], "view">; + proposals: TypedContractMethod<[ + arg0: BigNumberish + ], [ + [ + string, + string, + bigint, + bigint, + bigint, + bigint, + boolean, + boolean + ] & { + proposer: string; + target: string; + startTime: bigint; + endTime: bigint; + forVotes: bigint; + againstVotes: bigint; + executed: boolean; + extended: boolean; + } + ], "view">; + propose: TypedContractMethod<[ + target: AddressLike, + description: string + ], [ + bigint + ], "nonpayable">; + proposeByDelegate: TypedContractMethod<[ + from: AddressLike, + target: AddressLike, + description: string + ], [ + bigint + ], "nonpayable">; + setClosingPeriod: TypedContractMethod<[ + closingPeriod: BigNumberish + ], [ + void + ], "nonpayable">; + setExecutionDelay: TypedContractMethod<[ + executionDelay: BigNumberish + ], [ + void + ], "nonpayable">; + setExecutionExpiration: TypedContractMethod<[ + executionExpiration: BigNumberish + ], [ + void + ], "nonpayable">; + setProposalThreshold: TypedContractMethod<[ + proposalThreshold: BigNumberish + ], [ + void + ], "nonpayable">; + setQuorumVotes: TypedContractMethod<[ + quorumVotes: BigNumberish + ], [ + void + ], "nonpayable">; + setTimestamp: TypedContractMethod<[ + time_: BigNumberish + ], [ + void + ], "nonpayable">; + setTorn: TypedContractMethod<[torna: AddressLike], [void], "nonpayable">; + setVoteExtendTime: TypedContractMethod<[ + voteExtendTime: BigNumberish + ], [ + void + ], "nonpayable">; + setVotingDelay: TypedContractMethod<[ + votingDelay: BigNumberish + ], [ + void + ], "nonpayable">; + setVotingPeriod: TypedContractMethod<[ + votingPeriod: BigNumberish + ], [ + void + ], "nonpayable">; + state: TypedContractMethod<[proposalId: BigNumberish], [bigint], "view">; + time: TypedContractMethod<[], [bigint], "view">; + torn: TypedContractMethod<[], [string], "view">; + undelegate: TypedContractMethod<[], [void], "nonpayable">; + unlock: TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "CLOSING_PERIOD"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "EXECUTION_DELAY"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "EXECUTION_EXPIRATION"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "PROPOSAL_THRESHOLD"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "QUORUM_VOTES"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "VOTE_EXTEND_TIME"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "VOTING_DELAY"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "VOTING_PERIOD"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "canWithdrawAfter"): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction(nameOrSignature: "castDelegatedVote"): TypedContractMethod<[ + from: AddressLike[], + proposalId: BigNumberish, + support: boolean + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "castVote"): TypedContractMethod<[ + proposalId: BigNumberish, + support: boolean + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "delegate"): TypedContractMethod<[to: AddressLike], [void], "nonpayable">; + getFunction(nameOrSignature: "delegatedTo"): TypedContractMethod<[arg0: AddressLike], [string], "view">; + getFunction(nameOrSignature: "execute"): TypedContractMethod<[proposalId: BigNumberish], [void], "payable">; + getFunction(nameOrSignature: "getReceipt"): TypedContractMethod<[ + proposalId: BigNumberish, + voter: AddressLike + ], [ + Governance.ReceiptStructOutput + ], "view">; + getFunction(nameOrSignature: "initialize"): TypedContractMethod<[_torn: AddressLike], [void], "nonpayable">; + getFunction(nameOrSignature: "latestProposalIds"): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction(nameOrSignature: "lock"): TypedContractMethod<[ + owner: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "lockWithApproval"): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "lockedBalance"): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction(nameOrSignature: "newVariable"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "proposalCount"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "proposals"): TypedContractMethod<[ + arg0: BigNumberish + ], [ + [ + string, + string, + bigint, + bigint, + bigint, + bigint, + boolean, + boolean + ] & { + proposer: string; + target: string; + startTime: bigint; + endTime: bigint; + forVotes: bigint; + againstVotes: bigint; + executed: boolean; + extended: boolean; + } + ], "view">; + getFunction(nameOrSignature: "propose"): TypedContractMethod<[ + target: AddressLike, + description: string + ], [ + bigint + ], "nonpayable">; + getFunction(nameOrSignature: "proposeByDelegate"): TypedContractMethod<[ + from: AddressLike, + target: AddressLike, + description: string + ], [ + bigint + ], "nonpayable">; + getFunction(nameOrSignature: "setClosingPeriod"): TypedContractMethod<[closingPeriod: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "setExecutionDelay"): TypedContractMethod<[executionDelay: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "setExecutionExpiration"): TypedContractMethod<[ + executionExpiration: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "setProposalThreshold"): TypedContractMethod<[ + proposalThreshold: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "setQuorumVotes"): TypedContractMethod<[quorumVotes: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "setTimestamp"): TypedContractMethod<[time_: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "setTorn"): TypedContractMethod<[torna: AddressLike], [void], "nonpayable">; + getFunction(nameOrSignature: "setVoteExtendTime"): TypedContractMethod<[voteExtendTime: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "setVotingDelay"): TypedContractMethod<[votingDelay: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "setVotingPeriod"): TypedContractMethod<[votingPeriod: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "state"): TypedContractMethod<[proposalId: BigNumberish], [bigint], "view">; + getFunction(nameOrSignature: "time"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "torn"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "undelegate"): TypedContractMethod<[], [void], "nonpayable">; + getFunction(nameOrSignature: "unlock"): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + getEvent(key: "Delegated"): TypedContractEvent; + getEvent(key: "Overriden"): TypedContractEvent; + getEvent(key: "ProposalCreated"): TypedContractEvent; + getEvent(key: "ProposalExecuted"): TypedContractEvent; + getEvent(key: "Undelegated"): TypedContractEvent; + getEvent(key: "Voted"): TypedContractEvent; + filters: { + "Delegated(address,address)": TypedContractEvent; + Delegated: TypedContractEvent; + "Overriden(uint256)": TypedContractEvent; + Overriden: TypedContractEvent; + "ProposalCreated(uint256,address,address,uint256,uint256,string)": TypedContractEvent; + ProposalCreated: TypedContractEvent; + "ProposalExecuted(uint256)": TypedContractEvent; + ProposalExecuted: TypedContractEvent; + "Undelegated(address,address)": TypedContractEvent; + Undelegated: TypedContractEvent; + "Voted(uint256,address,bool,uint256)": TypedContractEvent; + Voted: TypedContractEvent; + }; +} diff --git a/dist/contracts/Governance/v1/Mocks/ProposalUpgrade.sol/ProposalUpgrade.d.ts b/dist/contracts/Governance/v1/Mocks/ProposalUpgrade.sol/ProposalUpgrade.d.ts new file mode 100644 index 0000000..d47f65b --- /dev/null +++ b/dist/contracts/Governance/v1/Mocks/ProposalUpgrade.sol/ProposalUpgrade.d.ts @@ -0,0 +1,29 @@ +import type { BaseContract, BytesLike, FunctionFragment, Result, Interface, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../../../../common"; +export interface ProposalUpgradeInterface extends Interface { + getFunction(nameOrSignature: "executeProposal" | "newLogic"): FunctionFragment; + encodeFunctionData(functionFragment: "executeProposal", values?: undefined): string; + encodeFunctionData(functionFragment: "newLogic", values?: undefined): string; + decodeFunctionResult(functionFragment: "executeProposal", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "newLogic", data: BytesLike): Result; +} +export interface ProposalUpgrade extends BaseContract { + connect(runner?: ContractRunner | null): ProposalUpgrade; + waitForDeployment(): Promise; + interface: ProposalUpgradeInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + executeProposal: TypedContractMethod<[], [void], "nonpayable">; + newLogic: TypedContractMethod<[], [string], "view">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "executeProposal"): TypedContractMethod<[], [void], "nonpayable">; + getFunction(nameOrSignature: "newLogic"): TypedContractMethod<[], [string], "view">; + filters: {}; +} diff --git a/dist/contracts/Governance/v1/Mocks/ProposalUpgrade.sol/index.d.ts b/dist/contracts/Governance/v1/Mocks/ProposalUpgrade.sol/index.d.ts new file mode 100644 index 0000000..6a256c0 --- /dev/null +++ b/dist/contracts/Governance/v1/Mocks/ProposalUpgrade.sol/index.d.ts @@ -0,0 +1,3 @@ +export type { IProxy } from "./IProxy"; +export type { NewImplementation } from "./NewImplementation"; +export type { ProposalUpgrade } from "./ProposalUpgrade"; diff --git a/dist/contracts/Governance/v1/Mocks/index.d.ts b/dist/contracts/Governance/v1/Mocks/index.d.ts new file mode 100644 index 0000000..c4ea3ad --- /dev/null +++ b/dist/contracts/Governance/v1/Mocks/index.d.ts @@ -0,0 +1,8 @@ +import type * as dummySol from "./Dummy.sol"; +export type { dummySol }; +import type * as proposalStateChangeGovernanceSol from "./ProposalStateChangeGovernance.sol"; +export type { proposalStateChangeGovernanceSol }; +import type * as proposalUpgradeSol from "./ProposalUpgrade.sol"; +export type { proposalUpgradeSol }; +export type { MockGovernance } from "./MockGovernance"; +export type { Proposal } from "./Proposal"; diff --git a/dist/contracts/Governance/v1/index.d.ts b/dist/contracts/Governance/v1/index.d.ts new file mode 100644 index 0000000..4791322 --- /dev/null +++ b/dist/contracts/Governance/v1/index.d.ts @@ -0,0 +1,6 @@ +import type * as mocks from "./Mocks"; +export type { mocks }; +export type { Configuration } from "./Configuration"; +export type { Core } from "./Core"; +export type { Delegation } from "./Delegation"; +export type { Governance } from "./Governance"; diff --git a/dist/contracts/Governance/v2-vault-and-gas/GasCompensator.sol/GasCompensator.d.ts b/dist/contracts/Governance/v2-vault-and-gas/GasCompensator.sol/GasCompensator.d.ts new file mode 100644 index 0000000..4e2b9d3 --- /dev/null +++ b/dist/contracts/Governance/v2-vault-and-gas/GasCompensator.sol/GasCompensator.d.ts @@ -0,0 +1,45 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../../../common"; +export interface GasCompensatorInterface extends Interface { + getFunction(nameOrSignature: "gasCompensationVault" | "setGasCompensations" | "withdrawFromHelper"): FunctionFragment; + encodeFunctionData(functionFragment: "gasCompensationVault", values?: undefined): string; + encodeFunctionData(functionFragment: "setGasCompensations", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "withdrawFromHelper", values: [BigNumberish]): string; + decodeFunctionResult(functionFragment: "gasCompensationVault", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setGasCompensations", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "withdrawFromHelper", data: BytesLike): Result; +} +export interface GasCompensator extends BaseContract { + connect(runner?: ContractRunner | null): GasCompensator; + waitForDeployment(): Promise; + interface: GasCompensatorInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + gasCompensationVault: TypedContractMethod<[], [string], "view">; + setGasCompensations: TypedContractMethod<[ + _gasCompensationsLimit: BigNumberish + ], [ + void + ], "nonpayable">; + withdrawFromHelper: TypedContractMethod<[ + amount: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "gasCompensationVault"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "setGasCompensations"): TypedContractMethod<[ + _gasCompensationsLimit: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "withdrawFromHelper"): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + filters: {}; +} diff --git a/dist/contracts/Governance/v2-vault-and-gas/GasCompensator.sol/IGasCompensationVault.d.ts b/dist/contracts/Governance/v2-vault-and-gas/GasCompensator.sol/IGasCompensationVault.d.ts new file mode 100644 index 0000000..c05e93b --- /dev/null +++ b/dist/contracts/Governance/v2-vault-and-gas/GasCompensator.sol/IGasCompensationVault.d.ts @@ -0,0 +1,43 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../../../common"; +export interface IGasCompensationVaultInterface extends Interface { + getFunction(nameOrSignature: "compensateGas" | "withdrawToGovernance"): FunctionFragment; + encodeFunctionData(functionFragment: "compensateGas", values: [AddressLike, BigNumberish]): string; + encodeFunctionData(functionFragment: "withdrawToGovernance", values: [BigNumberish]): string; + decodeFunctionResult(functionFragment: "compensateGas", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "withdrawToGovernance", data: BytesLike): Result; +} +export interface IGasCompensationVault extends BaseContract { + connect(runner?: ContractRunner | null): IGasCompensationVault; + waitForDeployment(): Promise; + interface: IGasCompensationVaultInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + compensateGas: TypedContractMethod<[ + recipient: AddressLike, + gasAmount: BigNumberish + ], [ + void + ], "nonpayable">; + withdrawToGovernance: TypedContractMethod<[ + amount: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "compensateGas"): TypedContractMethod<[ + recipient: AddressLike, + gasAmount: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "withdrawToGovernance"): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + filters: {}; +} diff --git a/dist/contracts/Governance/v2-vault-and-gas/GasCompensator.sol/index.d.ts b/dist/contracts/Governance/v2-vault-and-gas/GasCompensator.sol/index.d.ts new file mode 100644 index 0000000..1effd1f --- /dev/null +++ b/dist/contracts/Governance/v2-vault-and-gas/GasCompensator.sol/index.d.ts @@ -0,0 +1,2 @@ +export type { GasCompensator } from "./GasCompensator"; +export type { IGasCompensationVault } from "./IGasCompensationVault"; diff --git a/dist/contracts/Governance/v2-vault-and-gas/GovernanceGasUpgrade.d.ts b/dist/contracts/Governance/v2-vault-and-gas/GovernanceGasUpgrade.d.ts new file mode 100644 index 0000000..f6954fb --- /dev/null +++ b/dist/contracts/Governance/v2-vault-and-gas/GovernanceGasUpgrade.d.ts @@ -0,0 +1,512 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../../common"; +export declare namespace Governance { + type ReceiptStruct = { + hasVoted: boolean; + support: boolean; + votes: BigNumberish; + }; + type ReceiptStructOutput = [ + hasVoted: boolean, + support: boolean, + votes: bigint + ] & { + hasVoted: boolean; + support: boolean; + votes: bigint; + }; +} +export interface GovernanceGasUpgradeInterface extends Interface { + getFunction(nameOrSignature: "CLOSING_PERIOD" | "EXECUTION_DELAY" | "EXECUTION_EXPIRATION" | "PROPOSAL_THRESHOLD" | "QUORUM_VOTES" | "VOTE_EXTEND_TIME" | "VOTING_DELAY" | "VOTING_PERIOD" | "canWithdrawAfter" | "castDelegatedVote" | "castVote" | "checkIfQuorumReached" | "delegate" | "delegatedTo" | "execute" | "gasCompensationVault" | "getReceipt" | "hasAccountVoted" | "initialize" | "latestProposalIds" | "lock" | "lockWithApproval" | "lockedBalance" | "proposalCount" | "proposals" | "propose" | "proposeByDelegate" | "returnMultisigAddress" | "setClosingPeriod" | "setExecutionDelay" | "setExecutionExpiration" | "setGasCompensations" | "setProposalThreshold" | "setQuorumVotes" | "setVoteExtendTime" | "setVotingDelay" | "setVotingPeriod" | "state" | "torn" | "undelegate" | "unlock" | "userVault" | "version" | "withdrawFromHelper"): FunctionFragment; + getEvent(nameOrSignatureOrTopic: "Delegated" | "ProposalCreated" | "ProposalExecuted" | "Undelegated" | "Voted"): EventFragment; + encodeFunctionData(functionFragment: "CLOSING_PERIOD", values?: undefined): string; + encodeFunctionData(functionFragment: "EXECUTION_DELAY", values?: undefined): string; + encodeFunctionData(functionFragment: "EXECUTION_EXPIRATION", values?: undefined): string; + encodeFunctionData(functionFragment: "PROPOSAL_THRESHOLD", values?: undefined): string; + encodeFunctionData(functionFragment: "QUORUM_VOTES", values?: undefined): string; + encodeFunctionData(functionFragment: "VOTE_EXTEND_TIME", values?: undefined): string; + encodeFunctionData(functionFragment: "VOTING_DELAY", values?: undefined): string; + encodeFunctionData(functionFragment: "VOTING_PERIOD", values?: undefined): string; + encodeFunctionData(functionFragment: "canWithdrawAfter", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "castDelegatedVote", values: [AddressLike[], BigNumberish, boolean]): string; + encodeFunctionData(functionFragment: "castVote", values: [BigNumberish, boolean]): string; + encodeFunctionData(functionFragment: "checkIfQuorumReached", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "delegate", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "delegatedTo", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "execute", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "gasCompensationVault", values?: undefined): string; + encodeFunctionData(functionFragment: "getReceipt", values: [BigNumberish, AddressLike]): string; + encodeFunctionData(functionFragment: "hasAccountVoted", values: [BigNumberish, AddressLike]): string; + encodeFunctionData(functionFragment: "initialize", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "latestProposalIds", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "lock", values: [ + AddressLike, + BigNumberish, + BigNumberish, + BigNumberish, + BytesLike, + BytesLike + ]): string; + encodeFunctionData(functionFragment: "lockWithApproval", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "lockedBalance", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "proposalCount", values?: undefined): string; + encodeFunctionData(functionFragment: "proposals", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "propose", values: [AddressLike, string]): string; + encodeFunctionData(functionFragment: "proposeByDelegate", values: [AddressLike, AddressLike, string]): string; + encodeFunctionData(functionFragment: "returnMultisigAddress", values?: undefined): string; + encodeFunctionData(functionFragment: "setClosingPeriod", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setExecutionDelay", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setExecutionExpiration", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setGasCompensations", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setProposalThreshold", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setQuorumVotes", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setVoteExtendTime", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setVotingDelay", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setVotingPeriod", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "state", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "torn", values?: undefined): string; + encodeFunctionData(functionFragment: "undelegate", values?: undefined): string; + encodeFunctionData(functionFragment: "unlock", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "userVault", values?: undefined): string; + encodeFunctionData(functionFragment: "version", values?: undefined): string; + encodeFunctionData(functionFragment: "withdrawFromHelper", values: [BigNumberish]): string; + decodeFunctionResult(functionFragment: "CLOSING_PERIOD", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "EXECUTION_DELAY", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "EXECUTION_EXPIRATION", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "PROPOSAL_THRESHOLD", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "QUORUM_VOTES", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "VOTE_EXTEND_TIME", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "VOTING_DELAY", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "VOTING_PERIOD", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "canWithdrawAfter", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "castDelegatedVote", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "castVote", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "checkIfQuorumReached", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "delegate", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "delegatedTo", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "execute", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "gasCompensationVault", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "getReceipt", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "hasAccountVoted", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "latestProposalIds", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "lock", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "lockWithApproval", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "lockedBalance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "proposalCount", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "proposals", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "propose", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "proposeByDelegate", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "returnMultisigAddress", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setClosingPeriod", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setExecutionDelay", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setExecutionExpiration", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setGasCompensations", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setProposalThreshold", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setQuorumVotes", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setVoteExtendTime", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setVotingDelay", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setVotingPeriod", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "state", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "torn", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "undelegate", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "unlock", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "userVault", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "version", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "withdrawFromHelper", data: BytesLike): Result; +} +export declare namespace DelegatedEvent { + type InputTuple = [account: AddressLike, to: AddressLike]; + type OutputTuple = [account: string, to: string]; + interface OutputObject { + account: string; + to: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace ProposalCreatedEvent { + type InputTuple = [ + id: BigNumberish, + proposer: AddressLike, + target: AddressLike, + startTime: BigNumberish, + endTime: BigNumberish, + description: string + ]; + type OutputTuple = [ + id: bigint, + proposer: string, + target: string, + startTime: bigint, + endTime: bigint, + description: string + ]; + interface OutputObject { + id: bigint; + proposer: string; + target: string; + startTime: bigint; + endTime: bigint; + description: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace ProposalExecutedEvent { + type InputTuple = [proposalId: BigNumberish]; + type OutputTuple = [proposalId: bigint]; + interface OutputObject { + proposalId: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace UndelegatedEvent { + type InputTuple = [account: AddressLike, from: AddressLike]; + type OutputTuple = [account: string, from: string]; + interface OutputObject { + account: string; + from: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace VotedEvent { + type InputTuple = [ + proposalId: BigNumberish, + voter: AddressLike, + support: boolean, + votes: BigNumberish + ]; + type OutputTuple = [ + proposalId: bigint, + voter: string, + support: boolean, + votes: bigint + ]; + interface OutputObject { + proposalId: bigint; + voter: string; + support: boolean; + votes: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export interface GovernanceGasUpgrade extends BaseContract { + connect(runner?: ContractRunner | null): GovernanceGasUpgrade; + waitForDeployment(): Promise; + interface: GovernanceGasUpgradeInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + CLOSING_PERIOD: TypedContractMethod<[], [bigint], "view">; + EXECUTION_DELAY: TypedContractMethod<[], [bigint], "view">; + EXECUTION_EXPIRATION: TypedContractMethod<[], [bigint], "view">; + PROPOSAL_THRESHOLD: TypedContractMethod<[], [bigint], "view">; + QUORUM_VOTES: TypedContractMethod<[], [bigint], "view">; + VOTE_EXTEND_TIME: TypedContractMethod<[], [bigint], "view">; + VOTING_DELAY: TypedContractMethod<[], [bigint], "view">; + VOTING_PERIOD: TypedContractMethod<[], [bigint], "view">; + canWithdrawAfter: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + castDelegatedVote: TypedContractMethod<[ + from: AddressLike[], + proposalId: BigNumberish, + support: boolean + ], [ + void + ], "nonpayable">; + castVote: TypedContractMethod<[ + proposalId: BigNumberish, + support: boolean + ], [ + void + ], "nonpayable">; + checkIfQuorumReached: TypedContractMethod<[ + proposalId: BigNumberish + ], [ + boolean + ], "view">; + delegate: TypedContractMethod<[to: AddressLike], [void], "nonpayable">; + delegatedTo: TypedContractMethod<[arg0: AddressLike], [string], "view">; + execute: TypedContractMethod<[proposalId: BigNumberish], [void], "payable">; + gasCompensationVault: TypedContractMethod<[], [string], "view">; + getReceipt: TypedContractMethod<[ + proposalId: BigNumberish, + voter: AddressLike + ], [ + Governance.ReceiptStructOutput + ], "view">; + hasAccountVoted: TypedContractMethod<[ + proposalId: BigNumberish, + account: AddressLike + ], [ + boolean + ], "view">; + initialize: TypedContractMethod<[_torn: AddressLike], [void], "nonpayable">; + latestProposalIds: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + lock: TypedContractMethod<[ + owner: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], [ + void + ], "nonpayable">; + lockWithApproval: TypedContractMethod<[ + amount: BigNumberish + ], [ + void + ], "nonpayable">; + lockedBalance: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + proposalCount: TypedContractMethod<[], [bigint], "view">; + proposals: TypedContractMethod<[ + arg0: BigNumberish + ], [ + [ + string, + string, + bigint, + bigint, + bigint, + bigint, + boolean, + boolean + ] & { + proposer: string; + target: string; + startTime: bigint; + endTime: bigint; + forVotes: bigint; + againstVotes: bigint; + executed: boolean; + extended: boolean; + } + ], "view">; + propose: TypedContractMethod<[ + target: AddressLike, + description: string + ], [ + bigint + ], "nonpayable">; + proposeByDelegate: TypedContractMethod<[ + from: AddressLike, + target: AddressLike, + description: string + ], [ + bigint + ], "nonpayable">; + returnMultisigAddress: TypedContractMethod<[], [string], "view">; + setClosingPeriod: TypedContractMethod<[ + closingPeriod: BigNumberish + ], [ + void + ], "nonpayable">; + setExecutionDelay: TypedContractMethod<[ + executionDelay: BigNumberish + ], [ + void + ], "nonpayable">; + setExecutionExpiration: TypedContractMethod<[ + executionExpiration: BigNumberish + ], [ + void + ], "nonpayable">; + setGasCompensations: TypedContractMethod<[ + gasCompensationsLimit: BigNumberish + ], [ + void + ], "nonpayable">; + setProposalThreshold: TypedContractMethod<[ + proposalThreshold: BigNumberish + ], [ + void + ], "nonpayable">; + setQuorumVotes: TypedContractMethod<[ + quorumVotes: BigNumberish + ], [ + void + ], "nonpayable">; + setVoteExtendTime: TypedContractMethod<[ + voteExtendTime: BigNumberish + ], [ + void + ], "nonpayable">; + setVotingDelay: TypedContractMethod<[ + votingDelay: BigNumberish + ], [ + void + ], "nonpayable">; + setVotingPeriod: TypedContractMethod<[ + votingPeriod: BigNumberish + ], [ + void + ], "nonpayable">; + state: TypedContractMethod<[proposalId: BigNumberish], [bigint], "view">; + torn: TypedContractMethod<[], [string], "view">; + undelegate: TypedContractMethod<[], [void], "nonpayable">; + unlock: TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + userVault: TypedContractMethod<[], [string], "view">; + version: TypedContractMethod<[], [string], "view">; + withdrawFromHelper: TypedContractMethod<[ + amount: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "CLOSING_PERIOD"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "EXECUTION_DELAY"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "EXECUTION_EXPIRATION"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "PROPOSAL_THRESHOLD"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "QUORUM_VOTES"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "VOTE_EXTEND_TIME"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "VOTING_DELAY"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "VOTING_PERIOD"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "canWithdrawAfter"): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction(nameOrSignature: "castDelegatedVote"): TypedContractMethod<[ + from: AddressLike[], + proposalId: BigNumberish, + support: boolean + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "castVote"): TypedContractMethod<[ + proposalId: BigNumberish, + support: boolean + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "checkIfQuorumReached"): TypedContractMethod<[proposalId: BigNumberish], [boolean], "view">; + getFunction(nameOrSignature: "delegate"): TypedContractMethod<[to: AddressLike], [void], "nonpayable">; + getFunction(nameOrSignature: "delegatedTo"): TypedContractMethod<[arg0: AddressLike], [string], "view">; + getFunction(nameOrSignature: "execute"): TypedContractMethod<[proposalId: BigNumberish], [void], "payable">; + getFunction(nameOrSignature: "gasCompensationVault"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "getReceipt"): TypedContractMethod<[ + proposalId: BigNumberish, + voter: AddressLike + ], [ + Governance.ReceiptStructOutput + ], "view">; + getFunction(nameOrSignature: "hasAccountVoted"): TypedContractMethod<[ + proposalId: BigNumberish, + account: AddressLike + ], [ + boolean + ], "view">; + getFunction(nameOrSignature: "initialize"): TypedContractMethod<[_torn: AddressLike], [void], "nonpayable">; + getFunction(nameOrSignature: "latestProposalIds"): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction(nameOrSignature: "lock"): TypedContractMethod<[ + owner: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "lockWithApproval"): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "lockedBalance"): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction(nameOrSignature: "proposalCount"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "proposals"): TypedContractMethod<[ + arg0: BigNumberish + ], [ + [ + string, + string, + bigint, + bigint, + bigint, + bigint, + boolean, + boolean + ] & { + proposer: string; + target: string; + startTime: bigint; + endTime: bigint; + forVotes: bigint; + againstVotes: bigint; + executed: boolean; + extended: boolean; + } + ], "view">; + getFunction(nameOrSignature: "propose"): TypedContractMethod<[ + target: AddressLike, + description: string + ], [ + bigint + ], "nonpayable">; + getFunction(nameOrSignature: "proposeByDelegate"): TypedContractMethod<[ + from: AddressLike, + target: AddressLike, + description: string + ], [ + bigint + ], "nonpayable">; + getFunction(nameOrSignature: "returnMultisigAddress"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "setClosingPeriod"): TypedContractMethod<[closingPeriod: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "setExecutionDelay"): TypedContractMethod<[executionDelay: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "setExecutionExpiration"): TypedContractMethod<[ + executionExpiration: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "setGasCompensations"): TypedContractMethod<[ + gasCompensationsLimit: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "setProposalThreshold"): TypedContractMethod<[ + proposalThreshold: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "setQuorumVotes"): TypedContractMethod<[quorumVotes: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "setVoteExtendTime"): TypedContractMethod<[voteExtendTime: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "setVotingDelay"): TypedContractMethod<[votingDelay: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "setVotingPeriod"): TypedContractMethod<[votingPeriod: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "state"): TypedContractMethod<[proposalId: BigNumberish], [bigint], "view">; + getFunction(nameOrSignature: "torn"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "undelegate"): TypedContractMethod<[], [void], "nonpayable">; + getFunction(nameOrSignature: "unlock"): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "userVault"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "version"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "withdrawFromHelper"): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + getEvent(key: "Delegated"): TypedContractEvent; + getEvent(key: "ProposalCreated"): TypedContractEvent; + getEvent(key: "ProposalExecuted"): TypedContractEvent; + getEvent(key: "Undelegated"): TypedContractEvent; + getEvent(key: "Voted"): TypedContractEvent; + filters: { + "Delegated(address,address)": TypedContractEvent; + Delegated: TypedContractEvent; + "ProposalCreated(uint256,address,address,uint256,uint256,string)": TypedContractEvent; + ProposalCreated: TypedContractEvent; + "ProposalExecuted(uint256)": TypedContractEvent; + ProposalExecuted: TypedContractEvent; + "Undelegated(address,address)": TypedContractEvent; + Undelegated: TypedContractEvent; + "Voted(uint256,address,bool,uint256)": TypedContractEvent; + Voted: TypedContractEvent; + }; +} diff --git a/dist/contracts/Governance/v2-vault-and-gas/GovernanceVaultUpgrade.d.ts b/dist/contracts/Governance/v2-vault-and-gas/GovernanceVaultUpgrade.d.ts new file mode 100644 index 0000000..69188f2 --- /dev/null +++ b/dist/contracts/Governance/v2-vault-and-gas/GovernanceVaultUpgrade.d.ts @@ -0,0 +1,462 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../../common"; +export declare namespace Governance { + type ReceiptStruct = { + hasVoted: boolean; + support: boolean; + votes: BigNumberish; + }; + type ReceiptStructOutput = [ + hasVoted: boolean, + support: boolean, + votes: bigint + ] & { + hasVoted: boolean; + support: boolean; + votes: bigint; + }; +} +export interface GovernanceVaultUpgradeInterface extends Interface { + getFunction(nameOrSignature: "CLOSING_PERIOD" | "EXECUTION_DELAY" | "EXECUTION_EXPIRATION" | "PROPOSAL_THRESHOLD" | "QUORUM_VOTES" | "VOTE_EXTEND_TIME" | "VOTING_DELAY" | "VOTING_PERIOD" | "canWithdrawAfter" | "castDelegatedVote" | "castVote" | "delegate" | "delegatedTo" | "execute" | "getReceipt" | "initialize" | "latestProposalIds" | "lock" | "lockWithApproval" | "lockedBalance" | "proposalCount" | "proposals" | "propose" | "proposeByDelegate" | "setClosingPeriod" | "setExecutionDelay" | "setExecutionExpiration" | "setProposalThreshold" | "setQuorumVotes" | "setVoteExtendTime" | "setVotingDelay" | "setVotingPeriod" | "state" | "torn" | "undelegate" | "unlock" | "userVault" | "version"): FunctionFragment; + getEvent(nameOrSignatureOrTopic: "Delegated" | "ProposalCreated" | "ProposalExecuted" | "Undelegated" | "Voted"): EventFragment; + encodeFunctionData(functionFragment: "CLOSING_PERIOD", values?: undefined): string; + encodeFunctionData(functionFragment: "EXECUTION_DELAY", values?: undefined): string; + encodeFunctionData(functionFragment: "EXECUTION_EXPIRATION", values?: undefined): string; + encodeFunctionData(functionFragment: "PROPOSAL_THRESHOLD", values?: undefined): string; + encodeFunctionData(functionFragment: "QUORUM_VOTES", values?: undefined): string; + encodeFunctionData(functionFragment: "VOTE_EXTEND_TIME", values?: undefined): string; + encodeFunctionData(functionFragment: "VOTING_DELAY", values?: undefined): string; + encodeFunctionData(functionFragment: "VOTING_PERIOD", values?: undefined): string; + encodeFunctionData(functionFragment: "canWithdrawAfter", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "castDelegatedVote", values: [AddressLike[], BigNumberish, boolean]): string; + encodeFunctionData(functionFragment: "castVote", values: [BigNumberish, boolean]): string; + encodeFunctionData(functionFragment: "delegate", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "delegatedTo", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "execute", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "getReceipt", values: [BigNumberish, AddressLike]): string; + encodeFunctionData(functionFragment: "initialize", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "latestProposalIds", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "lock", values: [ + AddressLike, + BigNumberish, + BigNumberish, + BigNumberish, + BytesLike, + BytesLike + ]): string; + encodeFunctionData(functionFragment: "lockWithApproval", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "lockedBalance", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "proposalCount", values?: undefined): string; + encodeFunctionData(functionFragment: "proposals", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "propose", values: [AddressLike, string]): string; + encodeFunctionData(functionFragment: "proposeByDelegate", values: [AddressLike, AddressLike, string]): string; + encodeFunctionData(functionFragment: "setClosingPeriod", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setExecutionDelay", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setExecutionExpiration", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setProposalThreshold", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setQuorumVotes", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setVoteExtendTime", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setVotingDelay", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setVotingPeriod", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "state", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "torn", values?: undefined): string; + encodeFunctionData(functionFragment: "undelegate", values?: undefined): string; + encodeFunctionData(functionFragment: "unlock", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "userVault", values?: undefined): string; + encodeFunctionData(functionFragment: "version", values?: undefined): string; + decodeFunctionResult(functionFragment: "CLOSING_PERIOD", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "EXECUTION_DELAY", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "EXECUTION_EXPIRATION", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "PROPOSAL_THRESHOLD", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "QUORUM_VOTES", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "VOTE_EXTEND_TIME", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "VOTING_DELAY", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "VOTING_PERIOD", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "canWithdrawAfter", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "castDelegatedVote", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "castVote", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "delegate", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "delegatedTo", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "execute", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "getReceipt", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "latestProposalIds", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "lock", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "lockWithApproval", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "lockedBalance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "proposalCount", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "proposals", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "propose", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "proposeByDelegate", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setClosingPeriod", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setExecutionDelay", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setExecutionExpiration", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setProposalThreshold", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setQuorumVotes", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setVoteExtendTime", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setVotingDelay", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setVotingPeriod", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "state", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "torn", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "undelegate", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "unlock", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "userVault", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "version", data: BytesLike): Result; +} +export declare namespace DelegatedEvent { + type InputTuple = [account: AddressLike, to: AddressLike]; + type OutputTuple = [account: string, to: string]; + interface OutputObject { + account: string; + to: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace ProposalCreatedEvent { + type InputTuple = [ + id: BigNumberish, + proposer: AddressLike, + target: AddressLike, + startTime: BigNumberish, + endTime: BigNumberish, + description: string + ]; + type OutputTuple = [ + id: bigint, + proposer: string, + target: string, + startTime: bigint, + endTime: bigint, + description: string + ]; + interface OutputObject { + id: bigint; + proposer: string; + target: string; + startTime: bigint; + endTime: bigint; + description: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace ProposalExecutedEvent { + type InputTuple = [proposalId: BigNumberish]; + type OutputTuple = [proposalId: bigint]; + interface OutputObject { + proposalId: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace UndelegatedEvent { + type InputTuple = [account: AddressLike, from: AddressLike]; + type OutputTuple = [account: string, from: string]; + interface OutputObject { + account: string; + from: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace VotedEvent { + type InputTuple = [ + proposalId: BigNumberish, + voter: AddressLike, + support: boolean, + votes: BigNumberish + ]; + type OutputTuple = [ + proposalId: bigint, + voter: string, + support: boolean, + votes: bigint + ]; + interface OutputObject { + proposalId: bigint; + voter: string; + support: boolean; + votes: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export interface GovernanceVaultUpgrade extends BaseContract { + connect(runner?: ContractRunner | null): GovernanceVaultUpgrade; + waitForDeployment(): Promise; + interface: GovernanceVaultUpgradeInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + CLOSING_PERIOD: TypedContractMethod<[], [bigint], "view">; + EXECUTION_DELAY: TypedContractMethod<[], [bigint], "view">; + EXECUTION_EXPIRATION: TypedContractMethod<[], [bigint], "view">; + PROPOSAL_THRESHOLD: TypedContractMethod<[], [bigint], "view">; + QUORUM_VOTES: TypedContractMethod<[], [bigint], "view">; + VOTE_EXTEND_TIME: TypedContractMethod<[], [bigint], "view">; + VOTING_DELAY: TypedContractMethod<[], [bigint], "view">; + VOTING_PERIOD: TypedContractMethod<[], [bigint], "view">; + canWithdrawAfter: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + castDelegatedVote: TypedContractMethod<[ + from: AddressLike[], + proposalId: BigNumberish, + support: boolean + ], [ + void + ], "nonpayable">; + castVote: TypedContractMethod<[ + proposalId: BigNumberish, + support: boolean + ], [ + void + ], "nonpayable">; + delegate: TypedContractMethod<[to: AddressLike], [void], "nonpayable">; + delegatedTo: TypedContractMethod<[arg0: AddressLike], [string], "view">; + execute: TypedContractMethod<[proposalId: BigNumberish], [void], "payable">; + getReceipt: TypedContractMethod<[ + proposalId: BigNumberish, + voter: AddressLike + ], [ + Governance.ReceiptStructOutput + ], "view">; + initialize: TypedContractMethod<[_torn: AddressLike], [void], "nonpayable">; + latestProposalIds: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + lock: TypedContractMethod<[ + owner: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], [ + void + ], "nonpayable">; + lockWithApproval: TypedContractMethod<[ + amount: BigNumberish + ], [ + void + ], "nonpayable">; + lockedBalance: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + proposalCount: TypedContractMethod<[], [bigint], "view">; + proposals: TypedContractMethod<[ + arg0: BigNumberish + ], [ + [ + string, + string, + bigint, + bigint, + bigint, + bigint, + boolean, + boolean + ] & { + proposer: string; + target: string; + startTime: bigint; + endTime: bigint; + forVotes: bigint; + againstVotes: bigint; + executed: boolean; + extended: boolean; + } + ], "view">; + propose: TypedContractMethod<[ + target: AddressLike, + description: string + ], [ + bigint + ], "nonpayable">; + proposeByDelegate: TypedContractMethod<[ + from: AddressLike, + target: AddressLike, + description: string + ], [ + bigint + ], "nonpayable">; + setClosingPeriod: TypedContractMethod<[ + closingPeriod: BigNumberish + ], [ + void + ], "nonpayable">; + setExecutionDelay: TypedContractMethod<[ + executionDelay: BigNumberish + ], [ + void + ], "nonpayable">; + setExecutionExpiration: TypedContractMethod<[ + executionExpiration: BigNumberish + ], [ + void + ], "nonpayable">; + setProposalThreshold: TypedContractMethod<[ + proposalThreshold: BigNumberish + ], [ + void + ], "nonpayable">; + setQuorumVotes: TypedContractMethod<[ + quorumVotes: BigNumberish + ], [ + void + ], "nonpayable">; + setVoteExtendTime: TypedContractMethod<[ + voteExtendTime: BigNumberish + ], [ + void + ], "nonpayable">; + setVotingDelay: TypedContractMethod<[ + votingDelay: BigNumberish + ], [ + void + ], "nonpayable">; + setVotingPeriod: TypedContractMethod<[ + votingPeriod: BigNumberish + ], [ + void + ], "nonpayable">; + state: TypedContractMethod<[proposalId: BigNumberish], [bigint], "view">; + torn: TypedContractMethod<[], [string], "view">; + undelegate: TypedContractMethod<[], [void], "nonpayable">; + unlock: TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + userVault: TypedContractMethod<[], [string], "view">; + version: TypedContractMethod<[], [string], "view">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "CLOSING_PERIOD"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "EXECUTION_DELAY"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "EXECUTION_EXPIRATION"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "PROPOSAL_THRESHOLD"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "QUORUM_VOTES"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "VOTE_EXTEND_TIME"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "VOTING_DELAY"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "VOTING_PERIOD"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "canWithdrawAfter"): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction(nameOrSignature: "castDelegatedVote"): TypedContractMethod<[ + from: AddressLike[], + proposalId: BigNumberish, + support: boolean + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "castVote"): TypedContractMethod<[ + proposalId: BigNumberish, + support: boolean + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "delegate"): TypedContractMethod<[to: AddressLike], [void], "nonpayable">; + getFunction(nameOrSignature: "delegatedTo"): TypedContractMethod<[arg0: AddressLike], [string], "view">; + getFunction(nameOrSignature: "execute"): TypedContractMethod<[proposalId: BigNumberish], [void], "payable">; + getFunction(nameOrSignature: "getReceipt"): TypedContractMethod<[ + proposalId: BigNumberish, + voter: AddressLike + ], [ + Governance.ReceiptStructOutput + ], "view">; + getFunction(nameOrSignature: "initialize"): TypedContractMethod<[_torn: AddressLike], [void], "nonpayable">; + getFunction(nameOrSignature: "latestProposalIds"): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction(nameOrSignature: "lock"): TypedContractMethod<[ + owner: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "lockWithApproval"): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "lockedBalance"): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction(nameOrSignature: "proposalCount"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "proposals"): TypedContractMethod<[ + arg0: BigNumberish + ], [ + [ + string, + string, + bigint, + bigint, + bigint, + bigint, + boolean, + boolean + ] & { + proposer: string; + target: string; + startTime: bigint; + endTime: bigint; + forVotes: bigint; + againstVotes: bigint; + executed: boolean; + extended: boolean; + } + ], "view">; + getFunction(nameOrSignature: "propose"): TypedContractMethod<[ + target: AddressLike, + description: string + ], [ + bigint + ], "nonpayable">; + getFunction(nameOrSignature: "proposeByDelegate"): TypedContractMethod<[ + from: AddressLike, + target: AddressLike, + description: string + ], [ + bigint + ], "nonpayable">; + getFunction(nameOrSignature: "setClosingPeriod"): TypedContractMethod<[closingPeriod: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "setExecutionDelay"): TypedContractMethod<[executionDelay: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "setExecutionExpiration"): TypedContractMethod<[ + executionExpiration: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "setProposalThreshold"): TypedContractMethod<[ + proposalThreshold: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "setQuorumVotes"): TypedContractMethod<[quorumVotes: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "setVoteExtendTime"): TypedContractMethod<[voteExtendTime: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "setVotingDelay"): TypedContractMethod<[votingDelay: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "setVotingPeriod"): TypedContractMethod<[votingPeriod: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "state"): TypedContractMethod<[proposalId: BigNumberish], [bigint], "view">; + getFunction(nameOrSignature: "torn"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "undelegate"): TypedContractMethod<[], [void], "nonpayable">; + getFunction(nameOrSignature: "unlock"): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "userVault"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "version"): TypedContractMethod<[], [string], "view">; + getEvent(key: "Delegated"): TypedContractEvent; + getEvent(key: "ProposalCreated"): TypedContractEvent; + getEvent(key: "ProposalExecuted"): TypedContractEvent; + getEvent(key: "Undelegated"): TypedContractEvent; + getEvent(key: "Voted"): TypedContractEvent; + filters: { + "Delegated(address,address)": TypedContractEvent; + Delegated: TypedContractEvent; + "ProposalCreated(uint256,address,address,uint256,uint256,string)": TypedContractEvent; + ProposalCreated: TypedContractEvent; + "ProposalExecuted(uint256)": TypedContractEvent; + ProposalExecuted: TypedContractEvent; + "Undelegated(address,address)": TypedContractEvent; + Undelegated: TypedContractEvent; + "Voted(uint256,address,bool,uint256)": TypedContractEvent; + Voted: TypedContractEvent; + }; +} diff --git a/dist/contracts/Governance/v2-vault-and-gas/index.d.ts b/dist/contracts/Governance/v2-vault-and-gas/index.d.ts new file mode 100644 index 0000000..b47e653 --- /dev/null +++ b/dist/contracts/Governance/v2-vault-and-gas/index.d.ts @@ -0,0 +1,6 @@ +import type * as gasCompensatorSol from "./GasCompensator.sol"; +export type { gasCompensatorSol }; +import type * as interfaces from "./interfaces"; +export type { interfaces }; +export type { GovernanceGasUpgrade } from "./GovernanceGasUpgrade"; +export type { GovernanceVaultUpgrade } from "./GovernanceVaultUpgrade"; diff --git a/dist/contracts/Governance/v2-vault-and-gas/interfaces/ITornadoVault.d.ts b/dist/contracts/Governance/v2-vault-and-gas/interfaces/ITornadoVault.d.ts new file mode 100644 index 0000000..7a4e583 --- /dev/null +++ b/dist/contracts/Governance/v2-vault-and-gas/interfaces/ITornadoVault.d.ts @@ -0,0 +1,35 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../../../common"; +export interface ITornadoVaultInterface extends Interface { + getFunction(nameOrSignature: "withdrawTorn"): FunctionFragment; + encodeFunctionData(functionFragment: "withdrawTorn", values: [AddressLike, BigNumberish]): string; + decodeFunctionResult(functionFragment: "withdrawTorn", data: BytesLike): Result; +} +export interface ITornadoVault extends BaseContract { + connect(runner?: ContractRunner | null): ITornadoVault; + waitForDeployment(): Promise; + interface: ITornadoVaultInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + withdrawTorn: TypedContractMethod<[ + recipient: AddressLike, + amount: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "withdrawTorn"): TypedContractMethod<[ + recipient: AddressLike, + amount: BigNumberish + ], [ + void + ], "nonpayable">; + filters: {}; +} diff --git a/dist/contracts/Governance/v2-vault-and-gas/interfaces/index.d.ts b/dist/contracts/Governance/v2-vault-and-gas/interfaces/index.d.ts new file mode 100644 index 0000000..8faef6d --- /dev/null +++ b/dist/contracts/Governance/v2-vault-and-gas/interfaces/index.d.ts @@ -0,0 +1 @@ +export type { ITornadoVault } from "./ITornadoVault"; diff --git a/dist/contracts/Governance/v3-relayer-registry/GovernanceStakingUpgrade.d.ts b/dist/contracts/Governance/v3-relayer-registry/GovernanceStakingUpgrade.d.ts new file mode 100644 index 0000000..918aa35 --- /dev/null +++ b/dist/contracts/Governance/v3-relayer-registry/GovernanceStakingUpgrade.d.ts @@ -0,0 +1,545 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../../common"; +export declare namespace Governance { + type ReceiptStruct = { + hasVoted: boolean; + support: boolean; + votes: BigNumberish; + }; + type ReceiptStructOutput = [ + hasVoted: boolean, + support: boolean, + votes: bigint + ] & { + hasVoted: boolean; + support: boolean; + votes: bigint; + }; +} +export interface GovernanceStakingUpgradeInterface extends Interface { + getFunction(nameOrSignature: "CLOSING_PERIOD" | "EXECUTION_DELAY" | "EXECUTION_EXPIRATION" | "PROPOSAL_THRESHOLD" | "QUORUM_VOTES" | "Staking" | "VOTE_EXTEND_TIME" | "VOTING_DELAY" | "VOTING_PERIOD" | "canWithdrawAfter" | "castDelegatedVote" | "castVote" | "checkIfQuorumReached" | "delegate" | "delegatedTo" | "execute" | "gasCompensationVault" | "getReceipt" | "hasAccountVoted" | "initialize" | "latestProposalIds" | "lock" | "lockWithApproval" | "lockedBalance" | "proposalCount" | "proposals" | "propose" | "proposeByDelegate" | "returnMultisigAddress" | "setClosingPeriod" | "setExecutionDelay" | "setExecutionExpiration" | "setGasCompensations" | "setProposalThreshold" | "setQuorumVotes" | "setVoteExtendTime" | "setVotingDelay" | "setVotingPeriod" | "state" | "torn" | "undelegate" | "unlock" | "userVault" | "version" | "withdrawFromHelper"): FunctionFragment; + getEvent(nameOrSignatureOrTopic: "Delegated" | "ProposalCreated" | "ProposalExecuted" | "RewardUpdateFailed" | "RewardUpdateSuccessful" | "Undelegated" | "Voted"): EventFragment; + encodeFunctionData(functionFragment: "CLOSING_PERIOD", values?: undefined): string; + encodeFunctionData(functionFragment: "EXECUTION_DELAY", values?: undefined): string; + encodeFunctionData(functionFragment: "EXECUTION_EXPIRATION", values?: undefined): string; + encodeFunctionData(functionFragment: "PROPOSAL_THRESHOLD", values?: undefined): string; + encodeFunctionData(functionFragment: "QUORUM_VOTES", values?: undefined): string; + encodeFunctionData(functionFragment: "Staking", values?: undefined): string; + encodeFunctionData(functionFragment: "VOTE_EXTEND_TIME", values?: undefined): string; + encodeFunctionData(functionFragment: "VOTING_DELAY", values?: undefined): string; + encodeFunctionData(functionFragment: "VOTING_PERIOD", values?: undefined): string; + encodeFunctionData(functionFragment: "canWithdrawAfter", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "castDelegatedVote", values: [AddressLike[], BigNumberish, boolean]): string; + encodeFunctionData(functionFragment: "castVote", values: [BigNumberish, boolean]): string; + encodeFunctionData(functionFragment: "checkIfQuorumReached", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "delegate", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "delegatedTo", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "execute", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "gasCompensationVault", values?: undefined): string; + encodeFunctionData(functionFragment: "getReceipt", values: [BigNumberish, AddressLike]): string; + encodeFunctionData(functionFragment: "hasAccountVoted", values: [BigNumberish, AddressLike]): string; + encodeFunctionData(functionFragment: "initialize", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "latestProposalIds", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "lock", values: [ + AddressLike, + BigNumberish, + BigNumberish, + BigNumberish, + BytesLike, + BytesLike + ]): string; + encodeFunctionData(functionFragment: "lockWithApproval", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "lockedBalance", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "proposalCount", values?: undefined): string; + encodeFunctionData(functionFragment: "proposals", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "propose", values: [AddressLike, string]): string; + encodeFunctionData(functionFragment: "proposeByDelegate", values: [AddressLike, AddressLike, string]): string; + encodeFunctionData(functionFragment: "returnMultisigAddress", values?: undefined): string; + encodeFunctionData(functionFragment: "setClosingPeriod", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setExecutionDelay", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setExecutionExpiration", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setGasCompensations", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setProposalThreshold", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setQuorumVotes", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setVoteExtendTime", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setVotingDelay", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setVotingPeriod", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "state", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "torn", values?: undefined): string; + encodeFunctionData(functionFragment: "undelegate", values?: undefined): string; + encodeFunctionData(functionFragment: "unlock", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "userVault", values?: undefined): string; + encodeFunctionData(functionFragment: "version", values?: undefined): string; + encodeFunctionData(functionFragment: "withdrawFromHelper", values: [BigNumberish]): string; + decodeFunctionResult(functionFragment: "CLOSING_PERIOD", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "EXECUTION_DELAY", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "EXECUTION_EXPIRATION", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "PROPOSAL_THRESHOLD", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "QUORUM_VOTES", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "Staking", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "VOTE_EXTEND_TIME", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "VOTING_DELAY", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "VOTING_PERIOD", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "canWithdrawAfter", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "castDelegatedVote", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "castVote", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "checkIfQuorumReached", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "delegate", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "delegatedTo", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "execute", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "gasCompensationVault", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "getReceipt", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "hasAccountVoted", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "latestProposalIds", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "lock", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "lockWithApproval", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "lockedBalance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "proposalCount", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "proposals", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "propose", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "proposeByDelegate", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "returnMultisigAddress", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setClosingPeriod", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setExecutionDelay", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setExecutionExpiration", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setGasCompensations", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setProposalThreshold", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setQuorumVotes", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setVoteExtendTime", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setVotingDelay", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setVotingPeriod", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "state", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "torn", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "undelegate", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "unlock", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "userVault", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "version", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "withdrawFromHelper", data: BytesLike): Result; +} +export declare namespace DelegatedEvent { + type InputTuple = [account: AddressLike, to: AddressLike]; + type OutputTuple = [account: string, to: string]; + interface OutputObject { + account: string; + to: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace ProposalCreatedEvent { + type InputTuple = [ + id: BigNumberish, + proposer: AddressLike, + target: AddressLike, + startTime: BigNumberish, + endTime: BigNumberish, + description: string + ]; + type OutputTuple = [ + id: bigint, + proposer: string, + target: string, + startTime: bigint, + endTime: bigint, + description: string + ]; + interface OutputObject { + id: bigint; + proposer: string; + target: string; + startTime: bigint; + endTime: bigint; + description: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace ProposalExecutedEvent { + type InputTuple = [proposalId: BigNumberish]; + type OutputTuple = [proposalId: bigint]; + interface OutputObject { + proposalId: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace RewardUpdateFailedEvent { + type InputTuple = [account: AddressLike, errorData: BytesLike]; + type OutputTuple = [account: string, errorData: string]; + interface OutputObject { + account: string; + errorData: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace RewardUpdateSuccessfulEvent { + type InputTuple = [account: AddressLike]; + type OutputTuple = [account: string]; + interface OutputObject { + account: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace UndelegatedEvent { + type InputTuple = [account: AddressLike, from: AddressLike]; + type OutputTuple = [account: string, from: string]; + interface OutputObject { + account: string; + from: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace VotedEvent { + type InputTuple = [ + proposalId: BigNumberish, + voter: AddressLike, + support: boolean, + votes: BigNumberish + ]; + type OutputTuple = [ + proposalId: bigint, + voter: string, + support: boolean, + votes: bigint + ]; + interface OutputObject { + proposalId: bigint; + voter: string; + support: boolean; + votes: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export interface GovernanceStakingUpgrade extends BaseContract { + connect(runner?: ContractRunner | null): GovernanceStakingUpgrade; + waitForDeployment(): Promise; + interface: GovernanceStakingUpgradeInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + CLOSING_PERIOD: TypedContractMethod<[], [bigint], "view">; + EXECUTION_DELAY: TypedContractMethod<[], [bigint], "view">; + EXECUTION_EXPIRATION: TypedContractMethod<[], [bigint], "view">; + PROPOSAL_THRESHOLD: TypedContractMethod<[], [bigint], "view">; + QUORUM_VOTES: TypedContractMethod<[], [bigint], "view">; + Staking: TypedContractMethod<[], [string], "view">; + VOTE_EXTEND_TIME: TypedContractMethod<[], [bigint], "view">; + VOTING_DELAY: TypedContractMethod<[], [bigint], "view">; + VOTING_PERIOD: TypedContractMethod<[], [bigint], "view">; + canWithdrawAfter: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + castDelegatedVote: TypedContractMethod<[ + from: AddressLike[], + proposalId: BigNumberish, + support: boolean + ], [ + void + ], "nonpayable">; + castVote: TypedContractMethod<[ + proposalId: BigNumberish, + support: boolean + ], [ + void + ], "nonpayable">; + checkIfQuorumReached: TypedContractMethod<[ + proposalId: BigNumberish + ], [ + boolean + ], "view">; + delegate: TypedContractMethod<[to: AddressLike], [void], "nonpayable">; + delegatedTo: TypedContractMethod<[arg0: AddressLike], [string], "view">; + execute: TypedContractMethod<[proposalId: BigNumberish], [void], "payable">; + gasCompensationVault: TypedContractMethod<[], [string], "view">; + getReceipt: TypedContractMethod<[ + proposalId: BigNumberish, + voter: AddressLike + ], [ + Governance.ReceiptStructOutput + ], "view">; + hasAccountVoted: TypedContractMethod<[ + proposalId: BigNumberish, + account: AddressLike + ], [ + boolean + ], "view">; + initialize: TypedContractMethod<[_torn: AddressLike], [void], "nonpayable">; + latestProposalIds: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + lock: TypedContractMethod<[ + owner: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], [ + void + ], "nonpayable">; + lockWithApproval: TypedContractMethod<[ + amount: BigNumberish + ], [ + void + ], "nonpayable">; + lockedBalance: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + proposalCount: TypedContractMethod<[], [bigint], "view">; + proposals: TypedContractMethod<[ + arg0: BigNumberish + ], [ + [ + string, + string, + bigint, + bigint, + bigint, + bigint, + boolean, + boolean + ] & { + proposer: string; + target: string; + startTime: bigint; + endTime: bigint; + forVotes: bigint; + againstVotes: bigint; + executed: boolean; + extended: boolean; + } + ], "view">; + propose: TypedContractMethod<[ + target: AddressLike, + description: string + ], [ + bigint + ], "nonpayable">; + proposeByDelegate: TypedContractMethod<[ + from: AddressLike, + target: AddressLike, + description: string + ], [ + bigint + ], "nonpayable">; + returnMultisigAddress: TypedContractMethod<[], [string], "view">; + setClosingPeriod: TypedContractMethod<[ + closingPeriod: BigNumberish + ], [ + void + ], "nonpayable">; + setExecutionDelay: TypedContractMethod<[ + executionDelay: BigNumberish + ], [ + void + ], "nonpayable">; + setExecutionExpiration: TypedContractMethod<[ + executionExpiration: BigNumberish + ], [ + void + ], "nonpayable">; + setGasCompensations: TypedContractMethod<[ + gasCompensationsLimit: BigNumberish + ], [ + void + ], "nonpayable">; + setProposalThreshold: TypedContractMethod<[ + proposalThreshold: BigNumberish + ], [ + void + ], "nonpayable">; + setQuorumVotes: TypedContractMethod<[ + quorumVotes: BigNumberish + ], [ + void + ], "nonpayable">; + setVoteExtendTime: TypedContractMethod<[ + voteExtendTime: BigNumberish + ], [ + void + ], "nonpayable">; + setVotingDelay: TypedContractMethod<[ + votingDelay: BigNumberish + ], [ + void + ], "nonpayable">; + setVotingPeriod: TypedContractMethod<[ + votingPeriod: BigNumberish + ], [ + void + ], "nonpayable">; + state: TypedContractMethod<[proposalId: BigNumberish], [bigint], "view">; + torn: TypedContractMethod<[], [string], "view">; + undelegate: TypedContractMethod<[], [void], "nonpayable">; + unlock: TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + userVault: TypedContractMethod<[], [string], "view">; + version: TypedContractMethod<[], [string], "view">; + withdrawFromHelper: TypedContractMethod<[ + amount: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "CLOSING_PERIOD"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "EXECUTION_DELAY"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "EXECUTION_EXPIRATION"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "PROPOSAL_THRESHOLD"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "QUORUM_VOTES"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "Staking"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "VOTE_EXTEND_TIME"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "VOTING_DELAY"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "VOTING_PERIOD"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "canWithdrawAfter"): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction(nameOrSignature: "castDelegatedVote"): TypedContractMethod<[ + from: AddressLike[], + proposalId: BigNumberish, + support: boolean + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "castVote"): TypedContractMethod<[ + proposalId: BigNumberish, + support: boolean + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "checkIfQuorumReached"): TypedContractMethod<[proposalId: BigNumberish], [boolean], "view">; + getFunction(nameOrSignature: "delegate"): TypedContractMethod<[to: AddressLike], [void], "nonpayable">; + getFunction(nameOrSignature: "delegatedTo"): TypedContractMethod<[arg0: AddressLike], [string], "view">; + getFunction(nameOrSignature: "execute"): TypedContractMethod<[proposalId: BigNumberish], [void], "payable">; + getFunction(nameOrSignature: "gasCompensationVault"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "getReceipt"): TypedContractMethod<[ + proposalId: BigNumberish, + voter: AddressLike + ], [ + Governance.ReceiptStructOutput + ], "view">; + getFunction(nameOrSignature: "hasAccountVoted"): TypedContractMethod<[ + proposalId: BigNumberish, + account: AddressLike + ], [ + boolean + ], "view">; + getFunction(nameOrSignature: "initialize"): TypedContractMethod<[_torn: AddressLike], [void], "nonpayable">; + getFunction(nameOrSignature: "latestProposalIds"): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction(nameOrSignature: "lock"): TypedContractMethod<[ + owner: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "lockWithApproval"): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "lockedBalance"): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction(nameOrSignature: "proposalCount"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "proposals"): TypedContractMethod<[ + arg0: BigNumberish + ], [ + [ + string, + string, + bigint, + bigint, + bigint, + bigint, + boolean, + boolean + ] & { + proposer: string; + target: string; + startTime: bigint; + endTime: bigint; + forVotes: bigint; + againstVotes: bigint; + executed: boolean; + extended: boolean; + } + ], "view">; + getFunction(nameOrSignature: "propose"): TypedContractMethod<[ + target: AddressLike, + description: string + ], [ + bigint + ], "nonpayable">; + getFunction(nameOrSignature: "proposeByDelegate"): TypedContractMethod<[ + from: AddressLike, + target: AddressLike, + description: string + ], [ + bigint + ], "nonpayable">; + getFunction(nameOrSignature: "returnMultisigAddress"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "setClosingPeriod"): TypedContractMethod<[closingPeriod: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "setExecutionDelay"): TypedContractMethod<[executionDelay: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "setExecutionExpiration"): TypedContractMethod<[ + executionExpiration: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "setGasCompensations"): TypedContractMethod<[ + gasCompensationsLimit: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "setProposalThreshold"): TypedContractMethod<[ + proposalThreshold: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "setQuorumVotes"): TypedContractMethod<[quorumVotes: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "setVoteExtendTime"): TypedContractMethod<[voteExtendTime: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "setVotingDelay"): TypedContractMethod<[votingDelay: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "setVotingPeriod"): TypedContractMethod<[votingPeriod: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "state"): TypedContractMethod<[proposalId: BigNumberish], [bigint], "view">; + getFunction(nameOrSignature: "torn"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "undelegate"): TypedContractMethod<[], [void], "nonpayable">; + getFunction(nameOrSignature: "unlock"): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "userVault"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "version"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "withdrawFromHelper"): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + getEvent(key: "Delegated"): TypedContractEvent; + getEvent(key: "ProposalCreated"): TypedContractEvent; + getEvent(key: "ProposalExecuted"): TypedContractEvent; + getEvent(key: "RewardUpdateFailed"): TypedContractEvent; + getEvent(key: "RewardUpdateSuccessful"): TypedContractEvent; + getEvent(key: "Undelegated"): TypedContractEvent; + getEvent(key: "Voted"): TypedContractEvent; + filters: { + "Delegated(address,address)": TypedContractEvent; + Delegated: TypedContractEvent; + "ProposalCreated(uint256,address,address,uint256,uint256,string)": TypedContractEvent; + ProposalCreated: TypedContractEvent; + "ProposalExecuted(uint256)": TypedContractEvent; + ProposalExecuted: TypedContractEvent; + "RewardUpdateFailed(address,bytes)": TypedContractEvent; + RewardUpdateFailed: TypedContractEvent; + "RewardUpdateSuccessful(address)": TypedContractEvent; + RewardUpdateSuccessful: TypedContractEvent; + "Undelegated(address,address)": TypedContractEvent; + Undelegated: TypedContractEvent; + "Voted(uint256,address,bool,uint256)": TypedContractEvent; + Voted: TypedContractEvent; + }; +} diff --git a/dist/contracts/Governance/v3-relayer-registry/index.d.ts b/dist/contracts/Governance/v3-relayer-registry/index.d.ts new file mode 100644 index 0000000..b673069 --- /dev/null +++ b/dist/contracts/Governance/v3-relayer-registry/index.d.ts @@ -0,0 +1,3 @@ +import type * as interfaces from "./interfaces"; +export type { interfaces }; +export type { GovernanceStakingUpgrade } from "./GovernanceStakingUpgrade"; diff --git a/dist/contracts/Governance/v3-relayer-registry/interfaces/ITornadoStakingRewards.d.ts b/dist/contracts/Governance/v3-relayer-registry/interfaces/ITornadoStakingRewards.d.ts new file mode 100644 index 0000000..6d4cb17 --- /dev/null +++ b/dist/contracts/Governance/v3-relayer-registry/interfaces/ITornadoStakingRewards.d.ts @@ -0,0 +1,35 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../../../common"; +export interface ITornadoStakingRewardsInterface extends Interface { + getFunction(nameOrSignature: "updateRewardsOnLockedBalanceChange"): FunctionFragment; + encodeFunctionData(functionFragment: "updateRewardsOnLockedBalanceChange", values: [AddressLike, BigNumberish]): string; + decodeFunctionResult(functionFragment: "updateRewardsOnLockedBalanceChange", data: BytesLike): Result; +} +export interface ITornadoStakingRewards extends BaseContract { + connect(runner?: ContractRunner | null): ITornadoStakingRewards; + waitForDeployment(): Promise; + interface: ITornadoStakingRewardsInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + updateRewardsOnLockedBalanceChange: TypedContractMethod<[ + account: AddressLike, + amountLockedBeforehand: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "updateRewardsOnLockedBalanceChange"): TypedContractMethod<[ + account: AddressLike, + amountLockedBeforehand: BigNumberish + ], [ + void + ], "nonpayable">; + filters: {}; +} diff --git a/dist/contracts/Governance/v3-relayer-registry/interfaces/index.d.ts b/dist/contracts/Governance/v3-relayer-registry/interfaces/index.d.ts new file mode 100644 index 0000000..ba0e3c9 --- /dev/null +++ b/dist/contracts/Governance/v3-relayer-registry/interfaces/index.d.ts @@ -0,0 +1 @@ +export type { ITornadoStakingRewards } from "./ITornadoStakingRewards"; diff --git a/dist/contracts/Governance/v4-exploit-patch/AdminUpgradeableProxy.d.ts b/dist/contracts/Governance/v4-exploit-patch/AdminUpgradeableProxy.d.ts new file mode 100644 index 0000000..0e33e5d --- /dev/null +++ b/dist/contracts/Governance/v4-exploit-patch/AdminUpgradeableProxy.d.ts @@ -0,0 +1,94 @@ +import type { BaseContract, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../../common"; +export interface AdminUpgradeableProxyInterface extends Interface { + getFunction(nameOrSignature: "admin" | "changeAdmin" | "implementation" | "upgradeTo" | "upgradeToAndCall"): FunctionFragment; + getEvent(nameOrSignatureOrTopic: "AdminChanged" | "Upgraded"): EventFragment; + encodeFunctionData(functionFragment: "admin", values?: undefined): string; + encodeFunctionData(functionFragment: "changeAdmin", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "implementation", values?: undefined): string; + encodeFunctionData(functionFragment: "upgradeTo", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "upgradeToAndCall", values: [AddressLike, BytesLike]): string; + decodeFunctionResult(functionFragment: "admin", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "changeAdmin", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "implementation", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "upgradeTo", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "upgradeToAndCall", data: BytesLike): Result; +} +export declare namespace AdminChangedEvent { + type InputTuple = [previousAdmin: AddressLike, newAdmin: AddressLike]; + type OutputTuple = [previousAdmin: string, newAdmin: string]; + interface OutputObject { + previousAdmin: string; + newAdmin: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace UpgradedEvent { + type InputTuple = [implementation: AddressLike]; + type OutputTuple = [implementation: string]; + interface OutputObject { + implementation: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export interface AdminUpgradeableProxy extends BaseContract { + connect(runner?: ContractRunner | null): AdminUpgradeableProxy; + waitForDeployment(): Promise; + interface: AdminUpgradeableProxyInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + admin: TypedContractMethod<[], [string], "nonpayable">; + changeAdmin: TypedContractMethod<[ + newAdmin: AddressLike + ], [ + void + ], "nonpayable">; + implementation: TypedContractMethod<[], [string], "nonpayable">; + upgradeTo: TypedContractMethod<[ + newImplementation: AddressLike + ], [ + void + ], "nonpayable">; + upgradeToAndCall: TypedContractMethod<[ + newImplementation: AddressLike, + data: BytesLike + ], [ + void + ], "payable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "admin"): TypedContractMethod<[], [string], "nonpayable">; + getFunction(nameOrSignature: "changeAdmin"): TypedContractMethod<[newAdmin: AddressLike], [void], "nonpayable">; + getFunction(nameOrSignature: "implementation"): TypedContractMethod<[], [string], "nonpayable">; + getFunction(nameOrSignature: "upgradeTo"): TypedContractMethod<[ + newImplementation: AddressLike + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "upgradeToAndCall"): TypedContractMethod<[ + newImplementation: AddressLike, + data: BytesLike + ], [ + void + ], "payable">; + getEvent(key: "AdminChanged"): TypedContractEvent; + getEvent(key: "Upgraded"): TypedContractEvent; + filters: { + "AdminChanged(address,address)": TypedContractEvent; + AdminChanged: TypedContractEvent; + "Upgraded(address)": TypedContractEvent; + Upgraded: TypedContractEvent; + }; +} diff --git a/dist/contracts/Governance/v4-exploit-patch/GovernanceExploitPatchUpgrade.d.ts b/dist/contracts/Governance/v4-exploit-patch/GovernanceExploitPatchUpgrade.d.ts new file mode 100644 index 0000000..20ce6cd --- /dev/null +++ b/dist/contracts/Governance/v4-exploit-patch/GovernanceExploitPatchUpgrade.d.ts @@ -0,0 +1,553 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../../common"; +export declare namespace Governance { + type ReceiptStruct = { + hasVoted: boolean; + support: boolean; + votes: BigNumberish; + }; + type ReceiptStructOutput = [ + hasVoted: boolean, + support: boolean, + votes: bigint + ] & { + hasVoted: boolean; + support: boolean; + votes: bigint; + }; +} +export interface GovernanceExploitPatchUpgradeInterface extends Interface { + getFunction(nameOrSignature: "CLOSING_PERIOD" | "EXECUTION_DELAY" | "EXECUTION_EXPIRATION" | "PROPOSAL_THRESHOLD" | "QUORUM_VOTES" | "Staking" | "VOTE_EXTEND_TIME" | "VOTING_DELAY" | "VOTING_PERIOD" | "canWithdrawAfter" | "castDelegatedVote" | "castVote" | "checkIfQuorumReached" | "delegate" | "delegatedTo" | "execute" | "gasCompensationVault" | "getReceipt" | "hasAccountVoted" | "initialize" | "latestProposalIds" | "lock" | "lockWithApproval" | "lockedBalance" | "proposalCodehashes" | "proposalCount" | "proposals" | "propose" | "proposeByDelegate" | "returnMultisigAddress" | "setClosingPeriod" | "setExecutionDelay" | "setExecutionExpiration" | "setGasCompensations" | "setProposalThreshold" | "setQuorumVotes" | "setVoteExtendTime" | "setVotingDelay" | "setVotingPeriod" | "state" | "torn" | "undelegate" | "unlock" | "userVault" | "version" | "withdrawFromHelper"): FunctionFragment; + getEvent(nameOrSignatureOrTopic: "Delegated" | "ProposalCreated" | "ProposalExecuted" | "RewardUpdateFailed" | "RewardUpdateSuccessful" | "Undelegated" | "Voted"): EventFragment; + encodeFunctionData(functionFragment: "CLOSING_PERIOD", values?: undefined): string; + encodeFunctionData(functionFragment: "EXECUTION_DELAY", values?: undefined): string; + encodeFunctionData(functionFragment: "EXECUTION_EXPIRATION", values?: undefined): string; + encodeFunctionData(functionFragment: "PROPOSAL_THRESHOLD", values?: undefined): string; + encodeFunctionData(functionFragment: "QUORUM_VOTES", values?: undefined): string; + encodeFunctionData(functionFragment: "Staking", values?: undefined): string; + encodeFunctionData(functionFragment: "VOTE_EXTEND_TIME", values?: undefined): string; + encodeFunctionData(functionFragment: "VOTING_DELAY", values?: undefined): string; + encodeFunctionData(functionFragment: "VOTING_PERIOD", values?: undefined): string; + encodeFunctionData(functionFragment: "canWithdrawAfter", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "castDelegatedVote", values: [AddressLike[], BigNumberish, boolean]): string; + encodeFunctionData(functionFragment: "castVote", values: [BigNumberish, boolean]): string; + encodeFunctionData(functionFragment: "checkIfQuorumReached", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "delegate", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "delegatedTo", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "execute", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "gasCompensationVault", values?: undefined): string; + encodeFunctionData(functionFragment: "getReceipt", values: [BigNumberish, AddressLike]): string; + encodeFunctionData(functionFragment: "hasAccountVoted", values: [BigNumberish, AddressLike]): string; + encodeFunctionData(functionFragment: "initialize", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "latestProposalIds", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "lock", values: [ + AddressLike, + BigNumberish, + BigNumberish, + BigNumberish, + BytesLike, + BytesLike + ]): string; + encodeFunctionData(functionFragment: "lockWithApproval", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "lockedBalance", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "proposalCodehashes", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "proposalCount", values?: undefined): string; + encodeFunctionData(functionFragment: "proposals", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "propose", values: [AddressLike, string]): string; + encodeFunctionData(functionFragment: "proposeByDelegate", values: [AddressLike, AddressLike, string]): string; + encodeFunctionData(functionFragment: "returnMultisigAddress", values?: undefined): string; + encodeFunctionData(functionFragment: "setClosingPeriod", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setExecutionDelay", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setExecutionExpiration", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setGasCompensations", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setProposalThreshold", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setQuorumVotes", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setVoteExtendTime", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setVotingDelay", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setVotingPeriod", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "state", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "torn", values?: undefined): string; + encodeFunctionData(functionFragment: "undelegate", values?: undefined): string; + encodeFunctionData(functionFragment: "unlock", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "userVault", values?: undefined): string; + encodeFunctionData(functionFragment: "version", values?: undefined): string; + encodeFunctionData(functionFragment: "withdrawFromHelper", values: [BigNumberish]): string; + decodeFunctionResult(functionFragment: "CLOSING_PERIOD", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "EXECUTION_DELAY", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "EXECUTION_EXPIRATION", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "PROPOSAL_THRESHOLD", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "QUORUM_VOTES", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "Staking", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "VOTE_EXTEND_TIME", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "VOTING_DELAY", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "VOTING_PERIOD", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "canWithdrawAfter", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "castDelegatedVote", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "castVote", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "checkIfQuorumReached", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "delegate", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "delegatedTo", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "execute", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "gasCompensationVault", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "getReceipt", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "hasAccountVoted", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "latestProposalIds", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "lock", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "lockWithApproval", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "lockedBalance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "proposalCodehashes", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "proposalCount", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "proposals", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "propose", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "proposeByDelegate", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "returnMultisigAddress", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setClosingPeriod", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setExecutionDelay", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setExecutionExpiration", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setGasCompensations", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setProposalThreshold", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setQuorumVotes", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setVoteExtendTime", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setVotingDelay", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setVotingPeriod", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "state", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "torn", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "undelegate", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "unlock", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "userVault", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "version", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "withdrawFromHelper", data: BytesLike): Result; +} +export declare namespace DelegatedEvent { + type InputTuple = [account: AddressLike, to: AddressLike]; + type OutputTuple = [account: string, to: string]; + interface OutputObject { + account: string; + to: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace ProposalCreatedEvent { + type InputTuple = [ + id: BigNumberish, + proposer: AddressLike, + target: AddressLike, + startTime: BigNumberish, + endTime: BigNumberish, + description: string + ]; + type OutputTuple = [ + id: bigint, + proposer: string, + target: string, + startTime: bigint, + endTime: bigint, + description: string + ]; + interface OutputObject { + id: bigint; + proposer: string; + target: string; + startTime: bigint; + endTime: bigint; + description: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace ProposalExecutedEvent { + type InputTuple = [proposalId: BigNumberish]; + type OutputTuple = [proposalId: bigint]; + interface OutputObject { + proposalId: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace RewardUpdateFailedEvent { + type InputTuple = [account: AddressLike, errorData: BytesLike]; + type OutputTuple = [account: string, errorData: string]; + interface OutputObject { + account: string; + errorData: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace RewardUpdateSuccessfulEvent { + type InputTuple = [account: AddressLike]; + type OutputTuple = [account: string]; + interface OutputObject { + account: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace UndelegatedEvent { + type InputTuple = [account: AddressLike, from: AddressLike]; + type OutputTuple = [account: string, from: string]; + interface OutputObject { + account: string; + from: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace VotedEvent { + type InputTuple = [ + proposalId: BigNumberish, + voter: AddressLike, + support: boolean, + votes: BigNumberish + ]; + type OutputTuple = [ + proposalId: bigint, + voter: string, + support: boolean, + votes: bigint + ]; + interface OutputObject { + proposalId: bigint; + voter: string; + support: boolean; + votes: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export interface GovernanceExploitPatchUpgrade extends BaseContract { + connect(runner?: ContractRunner | null): GovernanceExploitPatchUpgrade; + waitForDeployment(): Promise; + interface: GovernanceExploitPatchUpgradeInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + CLOSING_PERIOD: TypedContractMethod<[], [bigint], "view">; + EXECUTION_DELAY: TypedContractMethod<[], [bigint], "view">; + EXECUTION_EXPIRATION: TypedContractMethod<[], [bigint], "view">; + PROPOSAL_THRESHOLD: TypedContractMethod<[], [bigint], "view">; + QUORUM_VOTES: TypedContractMethod<[], [bigint], "view">; + Staking: TypedContractMethod<[], [string], "view">; + VOTE_EXTEND_TIME: TypedContractMethod<[], [bigint], "view">; + VOTING_DELAY: TypedContractMethod<[], [bigint], "view">; + VOTING_PERIOD: TypedContractMethod<[], [bigint], "view">; + canWithdrawAfter: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + castDelegatedVote: TypedContractMethod<[ + from: AddressLike[], + proposalId: BigNumberish, + support: boolean + ], [ + void + ], "nonpayable">; + castVote: TypedContractMethod<[ + proposalId: BigNumberish, + support: boolean + ], [ + void + ], "nonpayable">; + checkIfQuorumReached: TypedContractMethod<[ + proposalId: BigNumberish + ], [ + boolean + ], "view">; + delegate: TypedContractMethod<[to: AddressLike], [void], "nonpayable">; + delegatedTo: TypedContractMethod<[arg0: AddressLike], [string], "view">; + execute: TypedContractMethod<[proposalId: BigNumberish], [void], "payable">; + gasCompensationVault: TypedContractMethod<[], [string], "view">; + getReceipt: TypedContractMethod<[ + proposalId: BigNumberish, + voter: AddressLike + ], [ + Governance.ReceiptStructOutput + ], "view">; + hasAccountVoted: TypedContractMethod<[ + proposalId: BigNumberish, + account: AddressLike + ], [ + boolean + ], "view">; + initialize: TypedContractMethod<[_torn: AddressLike], [void], "nonpayable">; + latestProposalIds: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + lock: TypedContractMethod<[ + owner: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], [ + void + ], "nonpayable">; + lockWithApproval: TypedContractMethod<[ + amount: BigNumberish + ], [ + void + ], "nonpayable">; + lockedBalance: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + proposalCodehashes: TypedContractMethod<[ + arg0: BigNumberish + ], [ + string + ], "view">; + proposalCount: TypedContractMethod<[], [bigint], "view">; + proposals: TypedContractMethod<[ + arg0: BigNumberish + ], [ + [ + string, + string, + bigint, + bigint, + bigint, + bigint, + boolean, + boolean + ] & { + proposer: string; + target: string; + startTime: bigint; + endTime: bigint; + forVotes: bigint; + againstVotes: bigint; + executed: boolean; + extended: boolean; + } + ], "view">; + propose: TypedContractMethod<[ + target: AddressLike, + description: string + ], [ + bigint + ], "nonpayable">; + proposeByDelegate: TypedContractMethod<[ + from: AddressLike, + target: AddressLike, + description: string + ], [ + bigint + ], "nonpayable">; + returnMultisigAddress: TypedContractMethod<[], [string], "view">; + setClosingPeriod: TypedContractMethod<[ + closingPeriod: BigNumberish + ], [ + void + ], "nonpayable">; + setExecutionDelay: TypedContractMethod<[ + executionDelay: BigNumberish + ], [ + void + ], "nonpayable">; + setExecutionExpiration: TypedContractMethod<[ + executionExpiration: BigNumberish + ], [ + void + ], "nonpayable">; + setGasCompensations: TypedContractMethod<[ + gasCompensationsLimit: BigNumberish + ], [ + void + ], "nonpayable">; + setProposalThreshold: TypedContractMethod<[ + proposalThreshold: BigNumberish + ], [ + void + ], "nonpayable">; + setQuorumVotes: TypedContractMethod<[ + quorumVotes: BigNumberish + ], [ + void + ], "nonpayable">; + setVoteExtendTime: TypedContractMethod<[ + voteExtendTime: BigNumberish + ], [ + void + ], "nonpayable">; + setVotingDelay: TypedContractMethod<[ + votingDelay: BigNumberish + ], [ + void + ], "nonpayable">; + setVotingPeriod: TypedContractMethod<[ + votingPeriod: BigNumberish + ], [ + void + ], "nonpayable">; + state: TypedContractMethod<[proposalId: BigNumberish], [bigint], "view">; + torn: TypedContractMethod<[], [string], "view">; + undelegate: TypedContractMethod<[], [void], "nonpayable">; + unlock: TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + userVault: TypedContractMethod<[], [string], "view">; + version: TypedContractMethod<[], [string], "view">; + withdrawFromHelper: TypedContractMethod<[ + amount: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "CLOSING_PERIOD"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "EXECUTION_DELAY"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "EXECUTION_EXPIRATION"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "PROPOSAL_THRESHOLD"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "QUORUM_VOTES"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "Staking"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "VOTE_EXTEND_TIME"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "VOTING_DELAY"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "VOTING_PERIOD"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "canWithdrawAfter"): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction(nameOrSignature: "castDelegatedVote"): TypedContractMethod<[ + from: AddressLike[], + proposalId: BigNumberish, + support: boolean + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "castVote"): TypedContractMethod<[ + proposalId: BigNumberish, + support: boolean + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "checkIfQuorumReached"): TypedContractMethod<[proposalId: BigNumberish], [boolean], "view">; + getFunction(nameOrSignature: "delegate"): TypedContractMethod<[to: AddressLike], [void], "nonpayable">; + getFunction(nameOrSignature: "delegatedTo"): TypedContractMethod<[arg0: AddressLike], [string], "view">; + getFunction(nameOrSignature: "execute"): TypedContractMethod<[proposalId: BigNumberish], [void], "payable">; + getFunction(nameOrSignature: "gasCompensationVault"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "getReceipt"): TypedContractMethod<[ + proposalId: BigNumberish, + voter: AddressLike + ], [ + Governance.ReceiptStructOutput + ], "view">; + getFunction(nameOrSignature: "hasAccountVoted"): TypedContractMethod<[ + proposalId: BigNumberish, + account: AddressLike + ], [ + boolean + ], "view">; + getFunction(nameOrSignature: "initialize"): TypedContractMethod<[_torn: AddressLike], [void], "nonpayable">; + getFunction(nameOrSignature: "latestProposalIds"): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction(nameOrSignature: "lock"): TypedContractMethod<[ + owner: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "lockWithApproval"): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "lockedBalance"): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction(nameOrSignature: "proposalCodehashes"): TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getFunction(nameOrSignature: "proposalCount"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "proposals"): TypedContractMethod<[ + arg0: BigNumberish + ], [ + [ + string, + string, + bigint, + bigint, + bigint, + bigint, + boolean, + boolean + ] & { + proposer: string; + target: string; + startTime: bigint; + endTime: bigint; + forVotes: bigint; + againstVotes: bigint; + executed: boolean; + extended: boolean; + } + ], "view">; + getFunction(nameOrSignature: "propose"): TypedContractMethod<[ + target: AddressLike, + description: string + ], [ + bigint + ], "nonpayable">; + getFunction(nameOrSignature: "proposeByDelegate"): TypedContractMethod<[ + from: AddressLike, + target: AddressLike, + description: string + ], [ + bigint + ], "nonpayable">; + getFunction(nameOrSignature: "returnMultisigAddress"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "setClosingPeriod"): TypedContractMethod<[closingPeriod: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "setExecutionDelay"): TypedContractMethod<[executionDelay: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "setExecutionExpiration"): TypedContractMethod<[ + executionExpiration: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "setGasCompensations"): TypedContractMethod<[ + gasCompensationsLimit: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "setProposalThreshold"): TypedContractMethod<[ + proposalThreshold: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "setQuorumVotes"): TypedContractMethod<[quorumVotes: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "setVoteExtendTime"): TypedContractMethod<[voteExtendTime: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "setVotingDelay"): TypedContractMethod<[votingDelay: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "setVotingPeriod"): TypedContractMethod<[votingPeriod: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "state"): TypedContractMethod<[proposalId: BigNumberish], [bigint], "view">; + getFunction(nameOrSignature: "torn"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "undelegate"): TypedContractMethod<[], [void], "nonpayable">; + getFunction(nameOrSignature: "unlock"): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "userVault"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "version"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "withdrawFromHelper"): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + getEvent(key: "Delegated"): TypedContractEvent; + getEvent(key: "ProposalCreated"): TypedContractEvent; + getEvent(key: "ProposalExecuted"): TypedContractEvent; + getEvent(key: "RewardUpdateFailed"): TypedContractEvent; + getEvent(key: "RewardUpdateSuccessful"): TypedContractEvent; + getEvent(key: "Undelegated"): TypedContractEvent; + getEvent(key: "Voted"): TypedContractEvent; + filters: { + "Delegated(address,address)": TypedContractEvent; + Delegated: TypedContractEvent; + "ProposalCreated(uint256,address,address,uint256,uint256,string)": TypedContractEvent; + ProposalCreated: TypedContractEvent; + "ProposalExecuted(uint256)": TypedContractEvent; + ProposalExecuted: TypedContractEvent; + "RewardUpdateFailed(address,bytes)": TypedContractEvent; + RewardUpdateFailed: TypedContractEvent; + "RewardUpdateSuccessful(address)": TypedContractEvent; + RewardUpdateSuccessful: TypedContractEvent; + "Undelegated(address,address)": TypedContractEvent; + Undelegated: TypedContractEvent; + "Voted(uint256,address,bool,uint256)": TypedContractEvent; + Voted: TypedContractEvent; + }; +} diff --git a/dist/contracts/Governance/v4-exploit-patch/PatchProposal.d.ts b/dist/contracts/Governance/v4-exploit-patch/PatchProposal.d.ts new file mode 100644 index 0000000..87c57e1 --- /dev/null +++ b/dist/contracts/Governance/v4-exploit-patch/PatchProposal.d.ts @@ -0,0 +1,63 @@ +import type { BaseContract, BytesLike, FunctionFragment, Result, Interface, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../../common"; +export interface PatchProposalInterface extends Interface { + getFunction(nameOrSignature: "TORN" | "deployedRelayerRegistryImplementationAddress" | "deployedStakingProxyContractAddress" | "executeProposal" | "gasCompensationVaultAddress" | "governanceProxyAddress" | "oldStakingProxyAddress" | "registryProxyAddress" | "userVaultAddress"): FunctionFragment; + encodeFunctionData(functionFragment: "TORN", values?: undefined): string; + encodeFunctionData(functionFragment: "deployedRelayerRegistryImplementationAddress", values?: undefined): string; + encodeFunctionData(functionFragment: "deployedStakingProxyContractAddress", values?: undefined): string; + encodeFunctionData(functionFragment: "executeProposal", values?: undefined): string; + encodeFunctionData(functionFragment: "gasCompensationVaultAddress", values?: undefined): string; + encodeFunctionData(functionFragment: "governanceProxyAddress", values?: undefined): string; + encodeFunctionData(functionFragment: "oldStakingProxyAddress", values?: undefined): string; + encodeFunctionData(functionFragment: "registryProxyAddress", values?: undefined): string; + encodeFunctionData(functionFragment: "userVaultAddress", values?: undefined): string; + decodeFunctionResult(functionFragment: "TORN", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "deployedRelayerRegistryImplementationAddress", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "deployedStakingProxyContractAddress", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "executeProposal", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "gasCompensationVaultAddress", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "governanceProxyAddress", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "oldStakingProxyAddress", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "registryProxyAddress", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "userVaultAddress", data: BytesLike): Result; +} +export interface PatchProposal extends BaseContract { + connect(runner?: ContractRunner | null): PatchProposal; + waitForDeployment(): Promise; + interface: PatchProposalInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + TORN: TypedContractMethod<[], [string], "view">; + deployedRelayerRegistryImplementationAddress: TypedContractMethod<[ + ], [ + string + ], "view">; + deployedStakingProxyContractAddress: TypedContractMethod<[ + ], [ + string + ], "view">; + executeProposal: TypedContractMethod<[], [void], "nonpayable">; + gasCompensationVaultAddress: TypedContractMethod<[], [string], "view">; + governanceProxyAddress: TypedContractMethod<[], [string], "view">; + oldStakingProxyAddress: TypedContractMethod<[], [string], "view">; + registryProxyAddress: TypedContractMethod<[], [string], "view">; + userVaultAddress: TypedContractMethod<[], [string], "view">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "TORN"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "deployedRelayerRegistryImplementationAddress"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "deployedStakingProxyContractAddress"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "executeProposal"): TypedContractMethod<[], [void], "nonpayable">; + getFunction(nameOrSignature: "gasCompensationVaultAddress"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "governanceProxyAddress"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "oldStakingProxyAddress"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "registryProxyAddress"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "userVaultAddress"): TypedContractMethod<[], [string], "view">; + filters: {}; +} diff --git a/dist/contracts/Governance/v4-exploit-patch/index.d.ts b/dist/contracts/Governance/v4-exploit-patch/index.d.ts new file mode 100644 index 0000000..d82d2ef --- /dev/null +++ b/dist/contracts/Governance/v4-exploit-patch/index.d.ts @@ -0,0 +1,7 @@ +import type * as metamorphic from "./metamorphic"; +export type { metamorphic }; +import type * as mock from "./mock"; +export type { mock }; +export type { AdminUpgradeableProxy } from "./AdminUpgradeableProxy"; +export type { GovernanceExploitPatchUpgrade } from "./GovernanceExploitPatchUpgrade"; +export type { PatchProposal } from "./PatchProposal"; diff --git a/dist/contracts/Governance/v4-exploit-patch/metamorphic/IMetamorphicContractFactory.d.ts b/dist/contracts/Governance/v4-exploit-patch/metamorphic/IMetamorphicContractFactory.d.ts new file mode 100644 index 0000000..d55c1f6 --- /dev/null +++ b/dist/contracts/Governance/v4-exploit-patch/metamorphic/IMetamorphicContractFactory.d.ts @@ -0,0 +1,45 @@ +import type { BaseContract, BytesLike, FunctionFragment, Result, Interface, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../../../common"; +export interface IMetamorphicContractFactoryInterface extends Interface { + getFunction(nameOrSignature: "deployMetamorphicContractFromExistingImplementation" | "findMetamorphicContractAddress"): FunctionFragment; + encodeFunctionData(functionFragment: "deployMetamorphicContractFromExistingImplementation", values: [BytesLike, AddressLike, BytesLike]): string; + encodeFunctionData(functionFragment: "findMetamorphicContractAddress", values: [BytesLike]): string; + decodeFunctionResult(functionFragment: "deployMetamorphicContractFromExistingImplementation", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "findMetamorphicContractAddress", data: BytesLike): Result; +} +export interface IMetamorphicContractFactory extends BaseContract { + connect(runner?: ContractRunner | null): IMetamorphicContractFactory; + waitForDeployment(): Promise; + interface: IMetamorphicContractFactoryInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + deployMetamorphicContractFromExistingImplementation: TypedContractMethod<[ + salt: BytesLike, + implementationContract: AddressLike, + metamorphicContractInitializationCalldata: BytesLike + ], [ + string + ], "payable">; + findMetamorphicContractAddress: TypedContractMethod<[ + salt: BytesLike + ], [ + string + ], "view">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "deployMetamorphicContractFromExistingImplementation"): TypedContractMethod<[ + salt: BytesLike, + implementationContract: AddressLike, + metamorphicContractInitializationCalldata: BytesLike + ], [ + string + ], "payable">; + getFunction(nameOrSignature: "findMetamorphicContractAddress"): TypedContractMethod<[salt: BytesLike], [string], "view">; + filters: {}; +} diff --git a/dist/contracts/Governance/v4-exploit-patch/metamorphic/index.d.ts b/dist/contracts/Governance/v4-exploit-patch/metamorphic/index.d.ts new file mode 100644 index 0000000..149e642 --- /dev/null +++ b/dist/contracts/Governance/v4-exploit-patch/metamorphic/index.d.ts @@ -0,0 +1 @@ +export type { IMetamorphicContractFactory } from "./IMetamorphicContractFactory"; diff --git a/dist/contracts/Governance/v4-exploit-patch/mock/MockProposals.sol/InitialProposal.d.ts b/dist/contracts/Governance/v4-exploit-patch/mock/MockProposals.sol/InitialProposal.d.ts new file mode 100644 index 0000000..71b2175 --- /dev/null +++ b/dist/contracts/Governance/v4-exploit-patch/mock/MockProposals.sol/InitialProposal.d.ts @@ -0,0 +1,45 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../../../../common"; +export interface InitialProposalInterface extends Interface { + getFunction(nameOrSignature: "emergencyStop" | "executeProposal"): FunctionFragment; + getEvent(nameOrSignatureOrTopic: "MockExecuted"): EventFragment; + encodeFunctionData(functionFragment: "emergencyStop", values?: undefined): string; + encodeFunctionData(functionFragment: "executeProposal", values?: undefined): string; + decodeFunctionResult(functionFragment: "emergencyStop", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "executeProposal", data: BytesLike): Result; +} +export declare namespace MockExecutedEvent { + type InputTuple = [num: BigNumberish]; + type OutputTuple = [num: bigint]; + interface OutputObject { + num: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export interface InitialProposal extends BaseContract { + connect(runner?: ContractRunner | null): InitialProposal; + waitForDeployment(): Promise; + interface: InitialProposalInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + emergencyStop: TypedContractMethod<[], [void], "nonpayable">; + executeProposal: TypedContractMethod<[], [void], "nonpayable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "emergencyStop"): TypedContractMethod<[], [void], "nonpayable">; + getFunction(nameOrSignature: "executeProposal"): TypedContractMethod<[], [void], "nonpayable">; + getEvent(key: "MockExecuted"): TypedContractEvent; + filters: { + "MockExecuted(uint256)": TypedContractEvent; + MockExecuted: TypedContractEvent; + }; +} diff --git a/dist/contracts/Governance/v4-exploit-patch/mock/MockProposals.sol/MaliciousProposal.d.ts b/dist/contracts/Governance/v4-exploit-patch/mock/MockProposals.sol/MaliciousProposal.d.ts new file mode 100644 index 0000000..2913036 --- /dev/null +++ b/dist/contracts/Governance/v4-exploit-patch/mock/MockProposals.sol/MaliciousProposal.d.ts @@ -0,0 +1,49 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../../../../common"; +export interface MaliciousProposalInterface extends Interface { + getFunction(nameOrSignature: "deployer" | "emergencyStop" | "executeProposal"): FunctionFragment; + getEvent(nameOrSignatureOrTopic: "MockExecuted"): EventFragment; + encodeFunctionData(functionFragment: "deployer", values?: undefined): string; + encodeFunctionData(functionFragment: "emergencyStop", values?: undefined): string; + encodeFunctionData(functionFragment: "executeProposal", values?: undefined): string; + decodeFunctionResult(functionFragment: "deployer", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "emergencyStop", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "executeProposal", data: BytesLike): Result; +} +export declare namespace MockExecutedEvent { + type InputTuple = [num: BigNumberish]; + type OutputTuple = [num: bigint]; + interface OutputObject { + num: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export interface MaliciousProposal extends BaseContract { + connect(runner?: ContractRunner | null): MaliciousProposal; + waitForDeployment(): Promise; + interface: MaliciousProposalInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + deployer: TypedContractMethod<[], [string], "view">; + emergencyStop: TypedContractMethod<[], [void], "nonpayable">; + executeProposal: TypedContractMethod<[], [void], "nonpayable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "deployer"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "emergencyStop"): TypedContractMethod<[], [void], "nonpayable">; + getFunction(nameOrSignature: "executeProposal"): TypedContractMethod<[], [void], "nonpayable">; + getEvent(key: "MockExecuted"): TypedContractEvent; + filters: { + "MockExecuted(uint256)": TypedContractEvent; + MockExecuted: TypedContractEvent; + }; +} diff --git a/dist/contracts/Governance/v4-exploit-patch/mock/MockProposals.sol/index.d.ts b/dist/contracts/Governance/v4-exploit-patch/mock/MockProposals.sol/index.d.ts new file mode 100644 index 0000000..6578716 --- /dev/null +++ b/dist/contracts/Governance/v4-exploit-patch/mock/MockProposals.sol/index.d.ts @@ -0,0 +1,2 @@ +export type { InitialProposal } from "./InitialProposal"; +export type { MaliciousProposal } from "./MaliciousProposal"; diff --git a/dist/contracts/Governance/v4-exploit-patch/mock/index.d.ts b/dist/contracts/Governance/v4-exploit-patch/mock/index.d.ts new file mode 100644 index 0000000..35e6671 --- /dev/null +++ b/dist/contracts/Governance/v4-exploit-patch/mock/index.d.ts @@ -0,0 +1,2 @@ +import type * as mockProposalsSol from "./MockProposals.sol"; +export type { mockProposalsSol }; diff --git a/dist/contracts/Governance/v5-proposal-state-patch/GovernanceProposalStateUpgrade.d.ts b/dist/contracts/Governance/v5-proposal-state-patch/GovernanceProposalStateUpgrade.d.ts new file mode 100644 index 0000000..cc2ab15 --- /dev/null +++ b/dist/contracts/Governance/v5-proposal-state-patch/GovernanceProposalStateUpgrade.d.ts @@ -0,0 +1,553 @@ +import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; +import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../../common"; +export declare namespace Governance { + type ReceiptStruct = { + hasVoted: boolean; + support: boolean; + votes: BigNumberish; + }; + type ReceiptStructOutput = [ + hasVoted: boolean, + support: boolean, + votes: bigint + ] & { + hasVoted: boolean; + support: boolean; + votes: bigint; + }; +} +export interface GovernanceProposalStateUpgradeInterface extends Interface { + getFunction(nameOrSignature: "CLOSING_PERIOD" | "EXECUTION_DELAY" | "EXECUTION_EXPIRATION" | "PROPOSAL_THRESHOLD" | "QUORUM_VOTES" | "Staking" | "VOTE_EXTEND_TIME" | "VOTING_DELAY" | "VOTING_PERIOD" | "canWithdrawAfter" | "castDelegatedVote" | "castVote" | "checkIfQuorumReached" | "delegate" | "delegatedTo" | "execute" | "gasCompensationVault" | "getReceipt" | "hasAccountVoted" | "initialize" | "latestProposalIds" | "lock" | "lockWithApproval" | "lockedBalance" | "proposalCodehashes" | "proposalCount" | "proposals" | "propose" | "proposeByDelegate" | "returnMultisigAddress" | "setClosingPeriod" | "setExecutionDelay" | "setExecutionExpiration" | "setGasCompensations" | "setProposalThreshold" | "setQuorumVotes" | "setVoteExtendTime" | "setVotingDelay" | "setVotingPeriod" | "state" | "torn" | "undelegate" | "unlock" | "userVault" | "version" | "withdrawFromHelper"): FunctionFragment; + getEvent(nameOrSignatureOrTopic: "Delegated" | "ProposalCreated" | "ProposalExecuted" | "RewardUpdateFailed" | "RewardUpdateSuccessful" | "Undelegated" | "Voted"): EventFragment; + encodeFunctionData(functionFragment: "CLOSING_PERIOD", values?: undefined): string; + encodeFunctionData(functionFragment: "EXECUTION_DELAY", values?: undefined): string; + encodeFunctionData(functionFragment: "EXECUTION_EXPIRATION", values?: undefined): string; + encodeFunctionData(functionFragment: "PROPOSAL_THRESHOLD", values?: undefined): string; + encodeFunctionData(functionFragment: "QUORUM_VOTES", values?: undefined): string; + encodeFunctionData(functionFragment: "Staking", values?: undefined): string; + encodeFunctionData(functionFragment: "VOTE_EXTEND_TIME", values?: undefined): string; + encodeFunctionData(functionFragment: "VOTING_DELAY", values?: undefined): string; + encodeFunctionData(functionFragment: "VOTING_PERIOD", values?: undefined): string; + encodeFunctionData(functionFragment: "canWithdrawAfter", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "castDelegatedVote", values: [AddressLike[], BigNumberish, boolean]): string; + encodeFunctionData(functionFragment: "castVote", values: [BigNumberish, boolean]): string; + encodeFunctionData(functionFragment: "checkIfQuorumReached", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "delegate", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "delegatedTo", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "execute", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "gasCompensationVault", values?: undefined): string; + encodeFunctionData(functionFragment: "getReceipt", values: [BigNumberish, AddressLike]): string; + encodeFunctionData(functionFragment: "hasAccountVoted", values: [BigNumberish, AddressLike]): string; + encodeFunctionData(functionFragment: "initialize", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "latestProposalIds", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "lock", values: [ + AddressLike, + BigNumberish, + BigNumberish, + BigNumberish, + BytesLike, + BytesLike + ]): string; + encodeFunctionData(functionFragment: "lockWithApproval", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "lockedBalance", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "proposalCodehashes", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "proposalCount", values?: undefined): string; + encodeFunctionData(functionFragment: "proposals", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "propose", values: [AddressLike, string]): string; + encodeFunctionData(functionFragment: "proposeByDelegate", values: [AddressLike, AddressLike, string]): string; + encodeFunctionData(functionFragment: "returnMultisigAddress", values?: undefined): string; + encodeFunctionData(functionFragment: "setClosingPeriod", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setExecutionDelay", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setExecutionExpiration", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setGasCompensations", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setProposalThreshold", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setQuorumVotes", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setVoteExtendTime", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setVotingDelay", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "setVotingPeriod", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "state", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "torn", values?: undefined): string; + encodeFunctionData(functionFragment: "undelegate", values?: undefined): string; + encodeFunctionData(functionFragment: "unlock", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "userVault", values?: undefined): string; + encodeFunctionData(functionFragment: "version", values?: undefined): string; + encodeFunctionData(functionFragment: "withdrawFromHelper", values: [BigNumberish]): string; + decodeFunctionResult(functionFragment: "CLOSING_PERIOD", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "EXECUTION_DELAY", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "EXECUTION_EXPIRATION", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "PROPOSAL_THRESHOLD", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "QUORUM_VOTES", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "Staking", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "VOTE_EXTEND_TIME", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "VOTING_DELAY", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "VOTING_PERIOD", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "canWithdrawAfter", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "castDelegatedVote", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "castVote", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "checkIfQuorumReached", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "delegate", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "delegatedTo", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "execute", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "gasCompensationVault", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "getReceipt", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "hasAccountVoted", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "latestProposalIds", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "lock", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "lockWithApproval", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "lockedBalance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "proposalCodehashes", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "proposalCount", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "proposals", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "propose", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "proposeByDelegate", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "returnMultisigAddress", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setClosingPeriod", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setExecutionDelay", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setExecutionExpiration", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setGasCompensations", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setProposalThreshold", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setQuorumVotes", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setVoteExtendTime", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setVotingDelay", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setVotingPeriod", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "state", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "torn", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "undelegate", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "unlock", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "userVault", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "version", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "withdrawFromHelper", data: BytesLike): Result; +} +export declare namespace DelegatedEvent { + type InputTuple = [account: AddressLike, to: AddressLike]; + type OutputTuple = [account: string, to: string]; + interface OutputObject { + account: string; + to: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace ProposalCreatedEvent { + type InputTuple = [ + id: BigNumberish, + proposer: AddressLike, + target: AddressLike, + startTime: BigNumberish, + endTime: BigNumberish, + description: string + ]; + type OutputTuple = [ + id: bigint, + proposer: string, + target: string, + startTime: bigint, + endTime: bigint, + description: string + ]; + interface OutputObject { + id: bigint; + proposer: string; + target: string; + startTime: bigint; + endTime: bigint; + description: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace ProposalExecutedEvent { + type InputTuple = [proposalId: BigNumberish]; + type OutputTuple = [proposalId: bigint]; + interface OutputObject { + proposalId: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace RewardUpdateFailedEvent { + type InputTuple = [account: AddressLike, errorData: BytesLike]; + type OutputTuple = [account: string, errorData: string]; + interface OutputObject { + account: string; + errorData: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace RewardUpdateSuccessfulEvent { + type InputTuple = [account: AddressLike]; + type OutputTuple = [account: string]; + interface OutputObject { + account: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace UndelegatedEvent { + type InputTuple = [account: AddressLike, from: AddressLike]; + type OutputTuple = [account: string, from: string]; + interface OutputObject { + account: string; + from: string; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export declare namespace VotedEvent { + type InputTuple = [ + proposalId: BigNumberish, + voter: AddressLike, + support: boolean, + votes: BigNumberish + ]; + type OutputTuple = [ + proposalId: bigint, + voter: string, + support: boolean, + votes: bigint + ]; + interface OutputObject { + proposalId: bigint; + voter: string; + support: boolean; + votes: bigint; + } + type Event = TypedContractEvent; + type Filter = TypedDeferredTopicFilter; + type Log = TypedEventLog; + type LogDescription = TypedLogDescription; +} +export interface GovernanceProposalStateUpgrade extends BaseContract { + connect(runner?: ContractRunner | null): GovernanceProposalStateUpgrade; + waitForDeployment(): Promise; + interface: GovernanceProposalStateUpgradeInterface; + queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): 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; + CLOSING_PERIOD: TypedContractMethod<[], [bigint], "view">; + EXECUTION_DELAY: TypedContractMethod<[], [bigint], "view">; + EXECUTION_EXPIRATION: TypedContractMethod<[], [bigint], "view">; + PROPOSAL_THRESHOLD: TypedContractMethod<[], [bigint], "view">; + QUORUM_VOTES: TypedContractMethod<[], [bigint], "view">; + Staking: TypedContractMethod<[], [string], "view">; + VOTE_EXTEND_TIME: TypedContractMethod<[], [bigint], "view">; + VOTING_DELAY: TypedContractMethod<[], [bigint], "view">; + VOTING_PERIOD: TypedContractMethod<[], [bigint], "view">; + canWithdrawAfter: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + castDelegatedVote: TypedContractMethod<[ + from: AddressLike[], + proposalId: BigNumberish, + support: boolean + ], [ + void + ], "nonpayable">; + castVote: TypedContractMethod<[ + proposalId: BigNumberish, + support: boolean + ], [ + void + ], "nonpayable">; + checkIfQuorumReached: TypedContractMethod<[ + proposalId: BigNumberish + ], [ + boolean + ], "view">; + delegate: TypedContractMethod<[to: AddressLike], [void], "nonpayable">; + delegatedTo: TypedContractMethod<[arg0: AddressLike], [string], "view">; + execute: TypedContractMethod<[proposalId: BigNumberish], [void], "payable">; + gasCompensationVault: TypedContractMethod<[], [string], "view">; + getReceipt: TypedContractMethod<[ + proposalId: BigNumberish, + voter: AddressLike + ], [ + Governance.ReceiptStructOutput + ], "view">; + hasAccountVoted: TypedContractMethod<[ + proposalId: BigNumberish, + account: AddressLike + ], [ + boolean + ], "view">; + initialize: TypedContractMethod<[_torn: AddressLike], [void], "nonpayable">; + latestProposalIds: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + lock: TypedContractMethod<[ + owner: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], [ + void + ], "nonpayable">; + lockWithApproval: TypedContractMethod<[ + amount: BigNumberish + ], [ + void + ], "nonpayable">; + lockedBalance: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + proposalCodehashes: TypedContractMethod<[ + arg0: BigNumberish + ], [ + string + ], "view">; + proposalCount: TypedContractMethod<[], [bigint], "view">; + proposals: TypedContractMethod<[ + arg0: BigNumberish + ], [ + [ + string, + string, + bigint, + bigint, + bigint, + bigint, + boolean, + boolean + ] & { + proposer: string; + target: string; + startTime: bigint; + endTime: bigint; + forVotes: bigint; + againstVotes: bigint; + executed: boolean; + extended: boolean; + } + ], "view">; + propose: TypedContractMethod<[ + target: AddressLike, + description: string + ], [ + bigint + ], "nonpayable">; + proposeByDelegate: TypedContractMethod<[ + from: AddressLike, + target: AddressLike, + description: string + ], [ + bigint + ], "nonpayable">; + returnMultisigAddress: TypedContractMethod<[], [string], "view">; + setClosingPeriod: TypedContractMethod<[ + closingPeriod: BigNumberish + ], [ + void + ], "nonpayable">; + setExecutionDelay: TypedContractMethod<[ + executionDelay: BigNumberish + ], [ + void + ], "nonpayable">; + setExecutionExpiration: TypedContractMethod<[ + executionExpiration: BigNumberish + ], [ + void + ], "nonpayable">; + setGasCompensations: TypedContractMethod<[ + gasCompensationsLimit: BigNumberish + ], [ + void + ], "nonpayable">; + setProposalThreshold: TypedContractMethod<[ + proposalThreshold: BigNumberish + ], [ + void + ], "nonpayable">; + setQuorumVotes: TypedContractMethod<[ + quorumVotes: BigNumberish + ], [ + void + ], "nonpayable">; + setVoteExtendTime: TypedContractMethod<[ + voteExtendTime: BigNumberish + ], [ + void + ], "nonpayable">; + setVotingDelay: TypedContractMethod<[ + votingDelay: BigNumberish + ], [ + void + ], "nonpayable">; + setVotingPeriod: TypedContractMethod<[ + votingPeriod: BigNumberish + ], [ + void + ], "nonpayable">; + state: TypedContractMethod<[proposalId: BigNumberish], [bigint], "view">; + torn: TypedContractMethod<[], [string], "view">; + undelegate: TypedContractMethod<[], [void], "nonpayable">; + unlock: TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + userVault: TypedContractMethod<[], [string], "view">; + version: TypedContractMethod<[], [string], "view">; + withdrawFromHelper: TypedContractMethod<[ + amount: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(key: string | FunctionFragment): T; + getFunction(nameOrSignature: "CLOSING_PERIOD"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "EXECUTION_DELAY"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "EXECUTION_EXPIRATION"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "PROPOSAL_THRESHOLD"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "QUORUM_VOTES"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "Staking"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "VOTE_EXTEND_TIME"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "VOTING_DELAY"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "VOTING_PERIOD"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "canWithdrawAfter"): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction(nameOrSignature: "castDelegatedVote"): TypedContractMethod<[ + from: AddressLike[], + proposalId: BigNumberish, + support: boolean + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "castVote"): TypedContractMethod<[ + proposalId: BigNumberish, + support: boolean + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "checkIfQuorumReached"): TypedContractMethod<[proposalId: BigNumberish], [boolean], "view">; + getFunction(nameOrSignature: "delegate"): TypedContractMethod<[to: AddressLike], [void], "nonpayable">; + getFunction(nameOrSignature: "delegatedTo"): TypedContractMethod<[arg0: AddressLike], [string], "view">; + getFunction(nameOrSignature: "execute"): TypedContractMethod<[proposalId: BigNumberish], [void], "payable">; + getFunction(nameOrSignature: "gasCompensationVault"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "getReceipt"): TypedContractMethod<[ + proposalId: BigNumberish, + voter: AddressLike + ], [ + Governance.ReceiptStructOutput + ], "view">; + getFunction(nameOrSignature: "hasAccountVoted"): TypedContractMethod<[ + proposalId: BigNumberish, + account: AddressLike + ], [ + boolean + ], "view">; + getFunction(nameOrSignature: "initialize"): TypedContractMethod<[_torn: AddressLike], [void], "nonpayable">; + getFunction(nameOrSignature: "latestProposalIds"): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction(nameOrSignature: "lock"): TypedContractMethod<[ + owner: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "lockWithApproval"): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "lockedBalance"): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction(nameOrSignature: "proposalCodehashes"): TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getFunction(nameOrSignature: "proposalCount"): TypedContractMethod<[], [bigint], "view">; + getFunction(nameOrSignature: "proposals"): TypedContractMethod<[ + arg0: BigNumberish + ], [ + [ + string, + string, + bigint, + bigint, + bigint, + bigint, + boolean, + boolean + ] & { + proposer: string; + target: string; + startTime: bigint; + endTime: bigint; + forVotes: bigint; + againstVotes: bigint; + executed: boolean; + extended: boolean; + } + ], "view">; + getFunction(nameOrSignature: "propose"): TypedContractMethod<[ + target: AddressLike, + description: string + ], [ + bigint + ], "nonpayable">; + getFunction(nameOrSignature: "proposeByDelegate"): TypedContractMethod<[ + from: AddressLike, + target: AddressLike, + description: string + ], [ + bigint + ], "nonpayable">; + getFunction(nameOrSignature: "returnMultisigAddress"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "setClosingPeriod"): TypedContractMethod<[closingPeriod: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "setExecutionDelay"): TypedContractMethod<[executionDelay: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "setExecutionExpiration"): TypedContractMethod<[ + executionExpiration: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "setGasCompensations"): TypedContractMethod<[ + gasCompensationsLimit: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "setProposalThreshold"): TypedContractMethod<[ + proposalThreshold: BigNumberish + ], [ + void + ], "nonpayable">; + getFunction(nameOrSignature: "setQuorumVotes"): TypedContractMethod<[quorumVotes: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "setVoteExtendTime"): TypedContractMethod<[voteExtendTime: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "setVotingDelay"): TypedContractMethod<[votingDelay: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "setVotingPeriod"): TypedContractMethod<[votingPeriod: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "state"): TypedContractMethod<[proposalId: BigNumberish], [bigint], "view">; + getFunction(nameOrSignature: "torn"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "undelegate"): TypedContractMethod<[], [void], "nonpayable">; + getFunction(nameOrSignature: "unlock"): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + getFunction(nameOrSignature: "userVault"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "version"): TypedContractMethod<[], [string], "view">; + getFunction(nameOrSignature: "withdrawFromHelper"): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + getEvent(key: "Delegated"): TypedContractEvent; + getEvent(key: "ProposalCreated"): TypedContractEvent; + getEvent(key: "ProposalExecuted"): TypedContractEvent; + getEvent(key: "RewardUpdateFailed"): TypedContractEvent; + getEvent(key: "RewardUpdateSuccessful"): TypedContractEvent; + getEvent(key: "Undelegated"): TypedContractEvent; + getEvent(key: "Voted"): TypedContractEvent; + filters: { + "Delegated(address,address)": TypedContractEvent; + Delegated: TypedContractEvent; + "ProposalCreated(uint256,address,address,uint256,uint256,string)": TypedContractEvent; + ProposalCreated: TypedContractEvent; + "ProposalExecuted(uint256)": TypedContractEvent; + ProposalExecuted: TypedContractEvent; + "RewardUpdateFailed(address,bytes)": TypedContractEvent; + RewardUpdateFailed: TypedContractEvent; + "RewardUpdateSuccessful(address)": TypedContractEvent; + RewardUpdateSuccessful: TypedContractEvent; + "Undelegated(address,address)": TypedContractEvent; + Undelegated: TypedContractEvent; + "Voted(uint256,address,bool,uint256)": TypedContractEvent; + Voted: TypedContractEvent; + }; +} diff --git a/dist/contracts/Governance/v5-proposal-state-patch/index.d.ts b/dist/contracts/Governance/v5-proposal-state-patch/index.d.ts new file mode 100644 index 0000000..ef2264b --- /dev/null +++ b/dist/contracts/Governance/v5-proposal-state-patch/index.d.ts @@ -0,0 +1 @@ +export type { GovernanceProposalStateUpgrade } from "./GovernanceProposalStateUpgrade"; diff --git a/dist/contracts/index.d.ts b/dist/contracts/index.d.ts new file mode 100644 index 0000000..0e1a46b --- /dev/null +++ b/dist/contracts/index.d.ts @@ -0,0 +1,4 @@ +import type * as classic from "./Classic"; +export type { classic }; +import type * as governance from "./Governance"; +export type { governance }; diff --git a/dist/factories/@openzeppelin/contracts-v3/access/Ownable__factory.d.ts b/dist/factories/@openzeppelin/contracts-v3/access/Ownable__factory.d.ts new file mode 100644 index 0000000..588219f --- /dev/null +++ b/dist/factories/@openzeppelin/contracts-v3/access/Ownable__factory.d.ts @@ -0,0 +1,48 @@ +import { type ContractRunner } from "ethers"; +import type { Ownable, OwnableInterface } from "../../../../@openzeppelin/contracts-v3/access/Ownable"; +export declare class Ownable__factory { + static readonly abi: readonly [{ + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "previousOwner"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "newOwner"; + readonly type: "address"; + }]; + readonly name: "OwnershipTransferred"; + readonly type: "event"; + }, { + readonly inputs: readonly []; + readonly name: "owner"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "renounceOwnership"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "newOwner"; + readonly type: "address"; + }]; + readonly name: "transferOwnership"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }]; + static createInterface(): OwnableInterface; + static connect(address: string, runner?: ContractRunner | null): Ownable; +} diff --git a/dist/factories/@openzeppelin/contracts-v3/access/index.d.ts b/dist/factories/@openzeppelin/contracts-v3/access/index.d.ts new file mode 100644 index 0000000..c0d0aee --- /dev/null +++ b/dist/factories/@openzeppelin/contracts-v3/access/index.d.ts @@ -0,0 +1 @@ +export { Ownable__factory } from "./Ownable__factory"; diff --git a/dist/factories/@openzeppelin/contracts-v3/index.d.ts b/dist/factories/@openzeppelin/contracts-v3/index.d.ts new file mode 100644 index 0000000..fff3ab6 --- /dev/null +++ b/dist/factories/@openzeppelin/contracts-v3/index.d.ts @@ -0,0 +1,4 @@ +export * as access from "./access"; +export * as proxy from "./proxy"; +export * as token from "./token"; +export * as utils from "./utils"; diff --git a/dist/factories/@openzeppelin/contracts-v3/proxy/Proxy__factory.d.ts b/dist/factories/@openzeppelin/contracts-v3/proxy/Proxy__factory.d.ts new file mode 100644 index 0000000..33b8b5f --- /dev/null +++ b/dist/factories/@openzeppelin/contracts-v3/proxy/Proxy__factory.d.ts @@ -0,0 +1,13 @@ +import { type ContractRunner } from "ethers"; +import type { Proxy, ProxyInterface } from "../../../../@openzeppelin/contracts-v3/proxy/Proxy"; +export declare class Proxy__factory { + static readonly abi: readonly [{ + readonly stateMutability: "payable"; + readonly type: "fallback"; + }, { + readonly stateMutability: "payable"; + readonly type: "receive"; + }]; + static createInterface(): ProxyInterface; + static connect(address: string, runner?: ContractRunner | null): Proxy; +} diff --git a/dist/factories/@openzeppelin/contracts-v3/proxy/TransparentUpgradeableProxy__factory.d.ts b/dist/factories/@openzeppelin/contracts-v3/proxy/TransparentUpgradeableProxy__factory.d.ts new file mode 100644 index 0000000..8f50d72 --- /dev/null +++ b/dist/factories/@openzeppelin/contracts-v3/proxy/TransparentUpgradeableProxy__factory.d.ts @@ -0,0 +1,123 @@ +import { ContractFactory, ContractTransactionResponse } from "ethers"; +import type { Signer, BytesLike, AddressLike, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { PayableOverrides } from "../../../../common"; +import type { TransparentUpgradeableProxy, TransparentUpgradeableProxyInterface } from "../../../../@openzeppelin/contracts-v3/proxy/TransparentUpgradeableProxy"; +type TransparentUpgradeableProxyConstructorParams = [signer?: Signer] | ConstructorParameters; +export declare class TransparentUpgradeableProxy__factory extends ContractFactory { + constructor(...args: TransparentUpgradeableProxyConstructorParams); + getDeployTransaction(_logic: AddressLike, _admin: AddressLike, _data: BytesLike, overrides?: PayableOverrides & { + from?: string; + }): Promise; + deploy(_logic: AddressLike, _admin: AddressLike, _data: BytesLike, overrides?: PayableOverrides & { + from?: string; + }): Promise; + connect(runner: ContractRunner | null): TransparentUpgradeableProxy__factory; + static readonly bytecode = "0x60806040526040516108dc3803806108dc8339818101604052606081101561002657600080fd5b8151602083015160408085018051915193959294830192918464010000000082111561005157600080fd5b90830190602082018581111561006657600080fd5b825164010000000081118282018810171561008057600080fd5b82525081516020918201929091019080838360005b838110156100ad578181015183820152602001610095565b50505050905090810190601f1680156100da5780820380516001836020036101000a031916815260200191505b50604052508491508290506100ee826101bf565b8051156101a6576000826001600160a01b0316826040518082805190602001908083835b602083106101315780518252601f199092019160209182019101610112565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610191576040519150601f19603f3d011682016040523d82523d6000602084013e610196565b606091505b50509050806101a457600080fd5b505b506101ae9050565b6101b782610231565b50505061025b565b6101d28161025560201b6103b41760201c565b61020d5760405162461bcd60e51b81526004018080602001828103825260368152602001806108a66036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b3b151590565b61063c8061026a6000396000f3fe60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100985780635c60da1b146101185780638f28397014610149578063f851a4401461017c5761005d565b3661005d5761005b610191565b005b61005b610191565b34801561007157600080fd5b5061005b6004803603602081101561008857600080fd5b50356001600160a01b03166101ab565b61005b600480360360408110156100ae57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100d957600080fd5b8201836020820111156100eb57600080fd5b8035906020019184600183028401116401000000008311171561010d57600080fd5b5090925090506101e5565b34801561012457600080fd5b5061012d610292565b604080516001600160a01b039092168252519081900360200190f35b34801561015557600080fd5b5061005b6004803603602081101561016c57600080fd5b50356001600160a01b03166102cf565b34801561018857600080fd5b5061012d610389565b6101996103ba565b6101a96101a461041a565b61043f565b565b6101b3610463565b6001600160a01b0316336001600160a01b031614156101da576101d581610488565b6101e2565b6101e2610191565b50565b6101ed610463565b6001600160a01b0316336001600160a01b031614156102855761020f83610488565b6000836001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d806000811461026c576040519150601f19603f3d011682016040523d82523d6000602084013e610271565b606091505b505090508061027f57600080fd5b5061028d565b61028d610191565b505050565b600061029c610463565b6001600160a01b0316336001600160a01b031614156102c4576102bd61041a565b90506102cc565b6102cc610191565b90565b6102d7610463565b6001600160a01b0316336001600160a01b031614156101da576001600160a01b0381166103355760405162461bcd60e51b815260040180806020018281038252603a815260200180610555603a913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61035e610463565b604080516001600160a01b03928316815291841660208301528051918290030190a16101d5816104c8565b6000610393610463565b6001600160a01b0316336001600160a01b031614156102c4576102bd610463565b3b151590565b6103c2610463565b6001600160a01b0316336001600160a01b031614156104125760405162461bcd60e51b81526004018080602001828103825260428152602001806105c56042913960600191505060405180910390fd5b6101a96101a9565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e80801561045e573d6000f35b3d6000fd5b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b610491816104ec565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b6104f5816103b4565b6105305760405162461bcd60e51b815260040180806020018281038252603681526020018061058f6036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5556fe5472616e73706172656e745570677261646561626c6550726f78793a206e65772061646d696e20697320746865207a65726f20616464726573735570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e74726163745472616e73706172656e745570677261646561626c6550726f78793a2061646d696e2063616e6e6f742066616c6c6261636b20746f2070726f787920746172676574a26469706673582212200bf5c74f32000c92994fb0de053047d19f9c526eb1b1953df8bcb7d7e0df8d2864736f6c634300060c00335570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374"; + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "_logic"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "_admin"; + readonly type: "address"; + }, { + readonly internalType: "bytes"; + readonly name: "_data"; + readonly type: "bytes"; + }]; + readonly stateMutability: "payable"; + readonly type: "constructor"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: false; + readonly internalType: "address"; + readonly name: "previousAdmin"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "address"; + readonly name: "newAdmin"; + readonly type: "address"; + }]; + readonly name: "AdminChanged"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "implementation"; + readonly type: "address"; + }]; + readonly name: "Upgraded"; + readonly type: "event"; + }, { + readonly stateMutability: "payable"; + readonly type: "fallback"; + }, { + readonly inputs: readonly []; + readonly name: "admin"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "newAdmin"; + readonly type: "address"; + }]; + readonly name: "changeAdmin"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "implementation"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "newImplementation"; + readonly type: "address"; + }]; + readonly name: "upgradeTo"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "newImplementation"; + readonly type: "address"; + }, { + readonly internalType: "bytes"; + readonly name: "data"; + readonly type: "bytes"; + }]; + readonly name: "upgradeToAndCall"; + readonly outputs: readonly []; + readonly stateMutability: "payable"; + readonly type: "function"; + }, { + readonly stateMutability: "payable"; + readonly type: "receive"; + }]; + static createInterface(): TransparentUpgradeableProxyInterface; + static connect(address: string, runner?: ContractRunner | null): TransparentUpgradeableProxy; +} +export {}; diff --git a/dist/factories/@openzeppelin/contracts-v3/proxy/UpgradeableProxy__factory.d.ts b/dist/factories/@openzeppelin/contracts-v3/proxy/UpgradeableProxy__factory.d.ts new file mode 100644 index 0000000..9f3c52f --- /dev/null +++ b/dist/factories/@openzeppelin/contracts-v3/proxy/UpgradeableProxy__factory.d.ts @@ -0,0 +1,50 @@ +import { ContractFactory, ContractTransactionResponse } from "ethers"; +import type { Signer, BytesLike, AddressLike, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { PayableOverrides } from "../../../../common"; +import type { UpgradeableProxy, UpgradeableProxyInterface } from "../../../../@openzeppelin/contracts-v3/proxy/UpgradeableProxy"; +type UpgradeableProxyConstructorParams = [signer?: Signer] | ConstructorParameters; +export declare class UpgradeableProxy__factory extends ContractFactory { + constructor(...args: UpgradeableProxyConstructorParams); + getDeployTransaction(_logic: AddressLike, _data: BytesLike, overrides?: PayableOverrides & { + from?: string; + }): Promise; + deploy(_logic: AddressLike, _data: BytesLike, overrides?: PayableOverrides & { + from?: string; + }): Promise; + connect(runner: ContractRunner | null): UpgradeableProxy__factory; + static readonly bytecode = "0x60806040526040516103123803806103128339818101604052604081101561002657600080fd5b81516020830180516040519294929383019291908464010000000082111561004d57600080fd5b90830190602082018581111561006257600080fd5b825164010000000081118282018810171561007c57600080fd5b82525081516020918201929091019080838360005b838110156100a9578181015183820152602001610091565b50505050905090810190601f1680156100d65780820380516001836020036101000a031916815260200191505b50604052506100e3915050565b6100ec826101ab565b8051156101a4576000826001600160a01b0316826040518082805190602001908083835b6020831061012f5780518252601f199092019160209182019101610110565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d806000811461018f576040519150601f19603f3d011682016040523d82523d6000602084013e610194565b606091505b50509050806101a257600080fd5b505b5050610223565b6101be8161021d60201b6100271760201c565b6101f95760405162461bcd60e51b81526004018080602001828103825260368152602001806102dc6036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b3b151590565b60ab806102316000396000f3fe608060405236601057600e6013565b005b600e5b60196025565b60256021602d565b6052565b565b3b151590565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e8080156070573d6000f35b3d6000fdfea2646970667358221220621b7042bfb847b4073a3c58bdbea5295ce2e761b4e2307ca010caaac996d80c64736f6c634300060c00335570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374"; + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "_logic"; + readonly type: "address"; + }, { + readonly internalType: "bytes"; + readonly name: "_data"; + readonly type: "bytes"; + }]; + readonly stateMutability: "payable"; + readonly type: "constructor"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "implementation"; + readonly type: "address"; + }]; + readonly name: "Upgraded"; + readonly type: "event"; + }, { + readonly stateMutability: "payable"; + readonly type: "fallback"; + }, { + readonly stateMutability: "payable"; + readonly type: "receive"; + }]; + static createInterface(): UpgradeableProxyInterface; + static connect(address: string, runner?: ContractRunner | null): UpgradeableProxy; +} +export {}; diff --git a/dist/factories/@openzeppelin/contracts-v3/proxy/index.d.ts b/dist/factories/@openzeppelin/contracts-v3/proxy/index.d.ts new file mode 100644 index 0000000..26365c2 --- /dev/null +++ b/dist/factories/@openzeppelin/contracts-v3/proxy/index.d.ts @@ -0,0 +1,3 @@ +export { Proxy__factory } from "./Proxy__factory"; +export { TransparentUpgradeableProxy__factory } from "./TransparentUpgradeableProxy__factory"; +export { UpgradeableProxy__factory } from "./UpgradeableProxy__factory"; diff --git a/dist/factories/@openzeppelin/contracts-v3/token/ERC20/ERC20Burnable__factory.d.ts b/dist/factories/@openzeppelin/contracts-v3/token/ERC20/ERC20Burnable__factory.d.ts new file mode 100644 index 0000000..c0a3ce8 --- /dev/null +++ b/dist/factories/@openzeppelin/contracts-v3/token/ERC20/ERC20Burnable__factory.d.ts @@ -0,0 +1,237 @@ +import { type ContractRunner } from "ethers"; +import type { ERC20Burnable, ERC20BurnableInterface } from "../../../../../@openzeppelin/contracts-v3/token/ERC20/ERC20Burnable"; +export declare class ERC20Burnable__factory { + static readonly abi: readonly [{ + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "value"; + readonly type: "uint256"; + }]; + readonly name: "Approval"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "from"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "to"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "value"; + readonly type: "uint256"; + }]; + readonly name: "Transfer"; + readonly type: "event"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }]; + readonly name: "allowance"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "approve"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "account"; + readonly type: "address"; + }]; + readonly name: "balanceOf"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "burn"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "account"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "burnFrom"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "decimals"; + readonly outputs: readonly [{ + readonly internalType: "uint8"; + readonly name: ""; + readonly type: "uint8"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "subtractedValue"; + readonly type: "uint256"; + }]; + readonly name: "decreaseAllowance"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "addedValue"; + readonly type: "uint256"; + }]; + readonly name: "increaseAllowance"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "name"; + readonly outputs: readonly [{ + readonly internalType: "string"; + readonly name: ""; + readonly type: "string"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "symbol"; + readonly outputs: readonly [{ + readonly internalType: "string"; + readonly name: ""; + readonly type: "string"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "totalSupply"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "recipient"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "transfer"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "sender"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "recipient"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "transferFrom"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }]; + static createInterface(): ERC20BurnableInterface; + static connect(address: string, runner?: ContractRunner | null): ERC20Burnable; +} diff --git a/dist/factories/@openzeppelin/contracts-v3/token/ERC20/ERC20__factory.d.ts b/dist/factories/@openzeppelin/contracts-v3/token/ERC20/ERC20__factory.d.ts new file mode 100644 index 0000000..41bf936 --- /dev/null +++ b/dist/factories/@openzeppelin/contracts-v3/token/ERC20/ERC20__factory.d.ts @@ -0,0 +1,240 @@ +import { ContractFactory, ContractTransactionResponse } from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../../common"; +import type { ERC20, ERC20Interface } from "../../../../../@openzeppelin/contracts-v3/token/ERC20/ERC20"; +type ERC20ConstructorParams = [signer?: Signer] | ConstructorParameters; +export declare class ERC20__factory extends ContractFactory { + constructor(...args: ERC20ConstructorParams); + getDeployTransaction(name: string, symbol: string, overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + deploy(name: string, symbol: string, overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + connect(runner: ContractRunner | null): ERC20__factory; + static readonly bytecode = "0x608060405234801561001057600080fd5b5060405162000c6238038062000c628339818101604052604081101561003557600080fd5b810190808051604051939291908464010000000082111561005557600080fd5b90830190602082018581111561006a57600080fd5b825164010000000081118282018810171561008457600080fd5b82525081516020918201929091019080838360005b838110156100b1578181015183820152602001610099565b50505050905090810190601f1680156100de5780820380516001836020036101000a031916815260200191505b506040526020018051604051939291908464010000000082111561010157600080fd5b90830190602082018581111561011657600080fd5b825164010000000081118282018810171561013057600080fd5b82525081516020918201929091019080838360005b8381101561015d578181015183820152602001610145565b50505050905090810190601f16801561018a5780820380516001836020036101000a031916815260200191505b50604052505082516101a4915060039060208501906101cd565b5080516101b89060049060208401906101cd565b50506005805460ff1916601217905550610260565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061020e57805160ff191683800117855561023b565b8280016001018555821561023b579182015b8281111561023b578251825591602001919060010190610220565b5061024792915061024b565b5090565b5b80821115610247576000815560010161024c565b6109f280620002706000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c8063395093511161007157806339509351146101d957806370a082311461020557806395d89b411461022b578063a457c2d714610233578063a9059cbb1461025f578063dd62ed3e1461028b576100a9565b806306fdde03146100ae578063095ea7b31461012b57806318160ddd1461016b57806323b872dd14610185578063313ce567146101bb575b600080fd5b6100b66102b9565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100f05781810151838201526020016100d8565b50505050905090810190601f16801561011d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101576004803603604081101561014157600080fd5b506001600160a01b03813516906020013561034f565b604080519115158252519081900360200190f35b61017361036c565b60408051918252519081900360200190f35b6101576004803603606081101561019b57600080fd5b506001600160a01b03813581169160208101359091169060400135610372565b6101c36103f9565b6040805160ff9092168252519081900360200190f35b610157600480360360408110156101ef57600080fd5b506001600160a01b038135169060200135610402565b6101736004803603602081101561021b57600080fd5b50356001600160a01b0316610450565b6100b661046b565b6101576004803603604081101561024957600080fd5b506001600160a01b0381351690602001356104cc565b6101576004803603604081101561027557600080fd5b506001600160a01b038135169060200135610534565b610173600480360360408110156102a157600080fd5b506001600160a01b0381358116916020013516610548565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103455780601f1061031a57610100808354040283529160200191610345565b820191906000526020600020905b81548152906001019060200180831161032857829003601f168201915b5050505050905090565b600061036361035c610573565b8484610577565b50600192915050565b60025490565b600061037f848484610663565b6103ef8461038b610573565b6103ea85604051806060016040528060288152602001610927602891396001600160a01b038a166000908152600160205260408120906103c9610573565b6001600160a01b0316815260208101919091526040016000205491906107be565b610577565b5060019392505050565b60055460ff1690565b600061036361040f610573565b846103ea8560016000610420610573565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610855565b6001600160a01b031660009081526020819052604090205490565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103455780601f1061031a57610100808354040283529160200191610345565b60006103636104d9610573565b846103ea856040518060600160405280602581526020016109986025913960016000610503610573565b6001600160a01b03908116825260208083019390935260409182016000908120918d168152925290205491906107be565b6000610363610541610573565b8484610663565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3390565b6001600160a01b0383166105bc5760405162461bcd60e51b81526004018080602001828103825260248152602001806109746024913960400191505060405180910390fd5b6001600160a01b0382166106015760405162461bcd60e51b81526004018080602001828103825260228152602001806108df6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166106a85760405162461bcd60e51b815260040180806020018281038252602581526020018061094f6025913960400191505060405180910390fd5b6001600160a01b0382166106ed5760405162461bcd60e51b81526004018080602001828103825260238152602001806108bc6023913960400191505060405180910390fd5b6106f88383836108b6565b61073581604051806060016040528060268152602001610901602691396001600160a01b03861660009081526020819052604090205491906107be565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546107649082610855565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000818484111561084d5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156108125781810151838201526020016107fa565b50505050905090810190601f16801561083f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000828201838110156108af576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220347718b9db0288208ab5957df73278c6f781963df0e13918151971217fc2827964736f6c634300060c0033"; + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "string"; + readonly name: "name"; + readonly type: "string"; + }, { + readonly internalType: "string"; + readonly name: "symbol"; + readonly type: "string"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "constructor"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "value"; + readonly type: "uint256"; + }]; + readonly name: "Approval"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "from"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "to"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "value"; + readonly type: "uint256"; + }]; + readonly name: "Transfer"; + readonly type: "event"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }]; + readonly name: "allowance"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "approve"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "account"; + readonly type: "address"; + }]; + readonly name: "balanceOf"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "decimals"; + readonly outputs: readonly [{ + readonly internalType: "uint8"; + readonly name: ""; + readonly type: "uint8"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "subtractedValue"; + readonly type: "uint256"; + }]; + readonly name: "decreaseAllowance"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "addedValue"; + readonly type: "uint256"; + }]; + readonly name: "increaseAllowance"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "name"; + readonly outputs: readonly [{ + readonly internalType: "string"; + readonly name: ""; + readonly type: "string"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "symbol"; + readonly outputs: readonly [{ + readonly internalType: "string"; + readonly name: ""; + readonly type: "string"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "totalSupply"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "recipient"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "transfer"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "sender"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "recipient"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "transferFrom"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }]; + static createInterface(): ERC20Interface; + static connect(address: string, runner?: ContractRunner | null): ERC20; +} +export {}; diff --git a/dist/factories/@openzeppelin/contracts-v3/token/ERC20/IERC20__factory.d.ts b/dist/factories/@openzeppelin/contracts-v3/token/ERC20/IERC20__factory.d.ts new file mode 100644 index 0000000..b7688c8 --- /dev/null +++ b/dist/factories/@openzeppelin/contracts-v3/token/ERC20/IERC20__factory.d.ts @@ -0,0 +1,147 @@ +import { type ContractRunner } from "ethers"; +import type { IERC20, IERC20Interface } from "../../../../../@openzeppelin/contracts-v3/token/ERC20/IERC20"; +export declare class IERC20__factory { + static readonly abi: readonly [{ + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "value"; + readonly type: "uint256"; + }]; + readonly name: "Approval"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "from"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "to"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "value"; + readonly type: "uint256"; + }]; + readonly name: "Transfer"; + readonly type: "event"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }]; + readonly name: "allowance"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "approve"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "account"; + readonly type: "address"; + }]; + readonly name: "balanceOf"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "totalSupply"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "recipient"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "transfer"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "sender"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "recipient"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "transferFrom"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }]; + static createInterface(): IERC20Interface; + static connect(address: string, runner?: ContractRunner | null): IERC20; +} diff --git a/dist/factories/@openzeppelin/contracts-v3/token/ERC20/index.d.ts b/dist/factories/@openzeppelin/contracts-v3/token/ERC20/index.d.ts new file mode 100644 index 0000000..52ff830 --- /dev/null +++ b/dist/factories/@openzeppelin/contracts-v3/token/ERC20/index.d.ts @@ -0,0 +1,3 @@ +export { ERC20__factory } from "./ERC20__factory"; +export { ERC20Burnable__factory } from "./ERC20Burnable__factory"; +export { IERC20__factory } from "./IERC20__factory"; diff --git a/dist/factories/@openzeppelin/contracts-v3/token/index.d.ts b/dist/factories/@openzeppelin/contracts-v3/token/index.d.ts new file mode 100644 index 0000000..a2ef251 --- /dev/null +++ b/dist/factories/@openzeppelin/contracts-v3/token/index.d.ts @@ -0,0 +1 @@ +export * as erc20 from "./ERC20"; diff --git a/dist/factories/@openzeppelin/contracts-v3/utils/Pausable__factory.d.ts b/dist/factories/@openzeppelin/contracts-v3/utils/Pausable__factory.d.ts new file mode 100644 index 0000000..d336de4 --- /dev/null +++ b/dist/factories/@openzeppelin/contracts-v3/utils/Pausable__factory.d.ts @@ -0,0 +1,37 @@ +import { type ContractRunner } from "ethers"; +import type { Pausable, PausableInterface } from "../../../../@openzeppelin/contracts-v3/utils/Pausable"; +export declare class Pausable__factory { + static readonly abi: readonly [{ + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: false; + readonly internalType: "address"; + readonly name: "account"; + readonly type: "address"; + }]; + readonly name: "Paused"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: false; + readonly internalType: "address"; + readonly name: "account"; + readonly type: "address"; + }]; + readonly name: "Unpaused"; + readonly type: "event"; + }, { + readonly inputs: readonly []; + readonly name: "paused"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }]; + static createInterface(): PausableInterface; + static connect(address: string, runner?: ContractRunner | null): Pausable; +} diff --git a/dist/factories/@openzeppelin/contracts-v3/utils/index.d.ts b/dist/factories/@openzeppelin/contracts-v3/utils/index.d.ts new file mode 100644 index 0000000..2b6c668 --- /dev/null +++ b/dist/factories/@openzeppelin/contracts-v3/utils/index.d.ts @@ -0,0 +1 @@ +export { Pausable__factory } from "./Pausable__factory"; diff --git a/dist/factories/@openzeppelin/contracts/index.d.ts b/dist/factories/@openzeppelin/contracts/index.d.ts new file mode 100644 index 0000000..7eb079a --- /dev/null +++ b/dist/factories/@openzeppelin/contracts/index.d.ts @@ -0,0 +1,2 @@ +export * as interfaces from "./interfaces"; +export * as token from "./token"; diff --git a/dist/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors__factory.d.ts b/dist/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors__factory.d.ts new file mode 100644 index 0000000..c86a264 --- /dev/null +++ b/dist/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors__factory.d.ts @@ -0,0 +1,83 @@ +import { type ContractRunner } from "ethers"; +import type { IERC1155Errors, IERC1155ErrorsInterface } from "../../../../../@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors"; +export declare class IERC1155Errors__factory { + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "sender"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "balance"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "needed"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "tokenId"; + readonly type: "uint256"; + }]; + readonly name: "ERC1155InsufficientBalance"; + readonly type: "error"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "approver"; + readonly type: "address"; + }]; + readonly name: "ERC1155InvalidApprover"; + readonly type: "error"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "idsLength"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "valuesLength"; + readonly type: "uint256"; + }]; + readonly name: "ERC1155InvalidArrayLength"; + readonly type: "error"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "operator"; + readonly type: "address"; + }]; + readonly name: "ERC1155InvalidOperator"; + readonly type: "error"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "receiver"; + readonly type: "address"; + }]; + readonly name: "ERC1155InvalidReceiver"; + readonly type: "error"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "sender"; + readonly type: "address"; + }]; + readonly name: "ERC1155InvalidSender"; + readonly type: "error"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "operator"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }]; + readonly name: "ERC1155MissingApprovalForAll"; + readonly type: "error"; + }]; + static createInterface(): IERC1155ErrorsInterface; + static connect(address: string, runner?: ContractRunner | null): IERC1155Errors; +} diff --git a/dist/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC20Errors__factory.d.ts b/dist/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC20Errors__factory.d.ts new file mode 100644 index 0000000..1eddd40 --- /dev/null +++ b/dist/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC20Errors__factory.d.ts @@ -0,0 +1,71 @@ +import { type ContractRunner } from "ethers"; +import type { IERC20Errors, IERC20ErrorsInterface } from "../../../../../@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC20Errors"; +export declare class IERC20Errors__factory { + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "allowance"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "needed"; + readonly type: "uint256"; + }]; + readonly name: "ERC20InsufficientAllowance"; + readonly type: "error"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "sender"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "balance"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "needed"; + readonly type: "uint256"; + }]; + readonly name: "ERC20InsufficientBalance"; + readonly type: "error"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "approver"; + readonly type: "address"; + }]; + readonly name: "ERC20InvalidApprover"; + readonly type: "error"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "receiver"; + readonly type: "address"; + }]; + readonly name: "ERC20InvalidReceiver"; + readonly type: "error"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "sender"; + readonly type: "address"; + }]; + readonly name: "ERC20InvalidSender"; + readonly type: "error"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }]; + readonly name: "ERC20InvalidSpender"; + readonly type: "error"; + }]; + static createInterface(): IERC20ErrorsInterface; + static connect(address: string, runner?: ContractRunner | null): IERC20Errors; +} diff --git a/dist/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC721Errors__factory.d.ts b/dist/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC721Errors__factory.d.ts new file mode 100644 index 0000000..7be13c7 --- /dev/null +++ b/dist/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC721Errors__factory.d.ts @@ -0,0 +1,83 @@ +import { type ContractRunner } from "ethers"; +import type { IERC721Errors, IERC721ErrorsInterface } from "../../../../../@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC721Errors"; +export declare class IERC721Errors__factory { + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "sender"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "tokenId"; + readonly type: "uint256"; + }, { + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }]; + readonly name: "ERC721IncorrectOwner"; + readonly type: "error"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "operator"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "tokenId"; + readonly type: "uint256"; + }]; + readonly name: "ERC721InsufficientApproval"; + readonly type: "error"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "approver"; + readonly type: "address"; + }]; + readonly name: "ERC721InvalidApprover"; + readonly type: "error"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "operator"; + readonly type: "address"; + }]; + readonly name: "ERC721InvalidOperator"; + readonly type: "error"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }]; + readonly name: "ERC721InvalidOwner"; + readonly type: "error"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "receiver"; + readonly type: "address"; + }]; + readonly name: "ERC721InvalidReceiver"; + readonly type: "error"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "sender"; + readonly type: "address"; + }]; + readonly name: "ERC721InvalidSender"; + readonly type: "error"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "tokenId"; + readonly type: "uint256"; + }]; + readonly name: "ERC721NonexistentToken"; + readonly type: "error"; + }]; + static createInterface(): IERC721ErrorsInterface; + static connect(address: string, runner?: ContractRunner | null): IERC721Errors; +} diff --git a/dist/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/index.d.ts b/dist/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/index.d.ts new file mode 100644 index 0000000..fa33f2e --- /dev/null +++ b/dist/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/index.d.ts @@ -0,0 +1,3 @@ +export { IERC1155Errors__factory } from "./IERC1155Errors__factory"; +export { IERC20Errors__factory } from "./IERC20Errors__factory"; +export { IERC721Errors__factory } from "./IERC721Errors__factory"; diff --git a/dist/factories/@openzeppelin/contracts/interfaces/index.d.ts b/dist/factories/@openzeppelin/contracts/interfaces/index.d.ts new file mode 100644 index 0000000..2a25af4 --- /dev/null +++ b/dist/factories/@openzeppelin/contracts/interfaces/index.d.ts @@ -0,0 +1 @@ +export * as draftIerc6093Sol from "./draft-IERC6093.sol"; diff --git a/dist/factories/@openzeppelin/contracts/token/ERC20/ERC20__factory.d.ts b/dist/factories/@openzeppelin/contracts/token/ERC20/ERC20__factory.d.ts new file mode 100644 index 0000000..f297c49 --- /dev/null +++ b/dist/factories/@openzeppelin/contracts/token/ERC20/ERC20__factory.d.ts @@ -0,0 +1,241 @@ +import { type ContractRunner } from "ethers"; +import type { ERC20, ERC20Interface } from "../../../../../@openzeppelin/contracts/token/ERC20/ERC20"; +export declare class ERC20__factory { + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "allowance"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "needed"; + readonly type: "uint256"; + }]; + readonly name: "ERC20InsufficientAllowance"; + readonly type: "error"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "sender"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "balance"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "needed"; + readonly type: "uint256"; + }]; + readonly name: "ERC20InsufficientBalance"; + readonly type: "error"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "approver"; + readonly type: "address"; + }]; + readonly name: "ERC20InvalidApprover"; + readonly type: "error"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "receiver"; + readonly type: "address"; + }]; + readonly name: "ERC20InvalidReceiver"; + readonly type: "error"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "sender"; + readonly type: "address"; + }]; + readonly name: "ERC20InvalidSender"; + readonly type: "error"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }]; + readonly name: "ERC20InvalidSpender"; + readonly type: "error"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "value"; + readonly type: "uint256"; + }]; + readonly name: "Approval"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "from"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "to"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "value"; + readonly type: "uint256"; + }]; + readonly name: "Transfer"; + readonly type: "event"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }]; + readonly name: "allowance"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "value"; + readonly type: "uint256"; + }]; + readonly name: "approve"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "account"; + readonly type: "address"; + }]; + readonly name: "balanceOf"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "decimals"; + readonly outputs: readonly [{ + readonly internalType: "uint8"; + readonly name: ""; + readonly type: "uint8"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "name"; + readonly outputs: readonly [{ + readonly internalType: "string"; + readonly name: ""; + readonly type: "string"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "symbol"; + readonly outputs: readonly [{ + readonly internalType: "string"; + readonly name: ""; + readonly type: "string"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "totalSupply"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "to"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "value"; + readonly type: "uint256"; + }]; + readonly name: "transfer"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "from"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "to"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "value"; + readonly type: "uint256"; + }]; + readonly name: "transferFrom"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }]; + static createInterface(): ERC20Interface; + static connect(address: string, runner?: ContractRunner | null): ERC20; +} diff --git a/dist/factories/@openzeppelin/contracts/token/ERC20/IERC20__factory.d.ts b/dist/factories/@openzeppelin/contracts/token/ERC20/IERC20__factory.d.ts new file mode 100644 index 0000000..03a9c6a --- /dev/null +++ b/dist/factories/@openzeppelin/contracts/token/ERC20/IERC20__factory.d.ts @@ -0,0 +1,147 @@ +import { type ContractRunner } from "ethers"; +import type { IERC20, IERC20Interface } from "../../../../../@openzeppelin/contracts/token/ERC20/IERC20"; +export declare class IERC20__factory { + static readonly abi: readonly [{ + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "value"; + readonly type: "uint256"; + }]; + readonly name: "Approval"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "from"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "to"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "value"; + readonly type: "uint256"; + }]; + readonly name: "Transfer"; + readonly type: "event"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }]; + readonly name: "allowance"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "value"; + readonly type: "uint256"; + }]; + readonly name: "approve"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "account"; + readonly type: "address"; + }]; + readonly name: "balanceOf"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "totalSupply"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "to"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "value"; + readonly type: "uint256"; + }]; + readonly name: "transfer"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "from"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "to"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "value"; + readonly type: "uint256"; + }]; + readonly name: "transferFrom"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }]; + static createInterface(): IERC20Interface; + static connect(address: string, runner?: ContractRunner | null): IERC20; +} diff --git a/dist/factories/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata__factory.d.ts b/dist/factories/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata__factory.d.ts new file mode 100644 index 0000000..268895f --- /dev/null +++ b/dist/factories/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata__factory.d.ts @@ -0,0 +1,177 @@ +import { type ContractRunner } from "ethers"; +import type { IERC20Metadata, IERC20MetadataInterface } from "../../../../../../@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata"; +export declare class IERC20Metadata__factory { + static readonly abi: readonly [{ + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "value"; + readonly type: "uint256"; + }]; + readonly name: "Approval"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "from"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "to"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "value"; + readonly type: "uint256"; + }]; + readonly name: "Transfer"; + readonly type: "event"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }]; + readonly name: "allowance"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "value"; + readonly type: "uint256"; + }]; + readonly name: "approve"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "account"; + readonly type: "address"; + }]; + readonly name: "balanceOf"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "decimals"; + readonly outputs: readonly [{ + readonly internalType: "uint8"; + readonly name: ""; + readonly type: "uint8"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "name"; + readonly outputs: readonly [{ + readonly internalType: "string"; + readonly name: ""; + readonly type: "string"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "symbol"; + readonly outputs: readonly [{ + readonly internalType: "string"; + readonly name: ""; + readonly type: "string"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "totalSupply"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "to"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "value"; + readonly type: "uint256"; + }]; + readonly name: "transfer"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "from"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "to"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "value"; + readonly type: "uint256"; + }]; + readonly name: "transferFrom"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }]; + static createInterface(): IERC20MetadataInterface; + static connect(address: string, runner?: ContractRunner | null): IERC20Metadata; +} diff --git a/dist/factories/@openzeppelin/contracts/token/ERC20/extensions/index.d.ts b/dist/factories/@openzeppelin/contracts/token/ERC20/extensions/index.d.ts new file mode 100644 index 0000000..d12b375 --- /dev/null +++ b/dist/factories/@openzeppelin/contracts/token/ERC20/extensions/index.d.ts @@ -0,0 +1 @@ +export { IERC20Metadata__factory } from "./IERC20Metadata__factory"; diff --git a/dist/factories/@openzeppelin/contracts/token/ERC20/index.d.ts b/dist/factories/@openzeppelin/contracts/token/ERC20/index.d.ts new file mode 100644 index 0000000..4e6eb46 --- /dev/null +++ b/dist/factories/@openzeppelin/contracts/token/ERC20/index.d.ts @@ -0,0 +1,3 @@ +export * as extensions from "./extensions"; +export { ERC20__factory } from "./ERC20__factory"; +export { IERC20__factory } from "./IERC20__factory"; diff --git a/dist/factories/@openzeppelin/contracts/token/index.d.ts b/dist/factories/@openzeppelin/contracts/token/index.d.ts new file mode 100644 index 0000000..a2ef251 --- /dev/null +++ b/dist/factories/@openzeppelin/contracts/token/index.d.ts @@ -0,0 +1 @@ +export * as erc20 from "./ERC20"; diff --git a/dist/factories/@openzeppelin/index.d.ts b/dist/factories/@openzeppelin/index.d.ts new file mode 100644 index 0000000..5b9b1a1 --- /dev/null +++ b/dist/factories/@openzeppelin/index.d.ts @@ -0,0 +1,2 @@ +export * as contracts from "./contracts"; +export * as contractsV3 from "./contracts-v3"; diff --git a/dist/factories/contracts/Classic/CTornado__factory.d.ts b/dist/factories/contracts/Classic/CTornado__factory.d.ts new file mode 100644 index 0000000..b875809 --- /dev/null +++ b/dist/factories/contracts/Classic/CTornado__factory.d.ts @@ -0,0 +1,413 @@ +import { ContractFactory, ContractTransactionResponse } from "ethers"; +import type { Signer, BigNumberish, AddressLike, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../common"; +import type { CTornado, CTornadoInterface } from "../../../contracts/Classic/CTornado"; +type CTornadoConstructorParams = [signer?: Signer] | ConstructorParameters; +export declare class CTornado__factory extends ContractFactory { + constructor(...args: CTornadoConstructorParams); + getDeployTransaction(_governance: AddressLike, _comp: AddressLike, _verifier: AddressLike, _hasher: AddressLike, _denomination: BigNumberish, _merkleTreeHeight: BigNumberish, _token: AddressLike, overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + deploy(_governance: AddressLike, _comp: AddressLike, _verifier: AddressLike, _hasher: AddressLike, _denomination: BigNumberish, _merkleTreeHeight: BigNumberish, _token: AddressLike, overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + connect(runner: ContractRunner | null): CTornado__factory; + static readonly bytecode = "0x610160604052600380546001600160401b031916905534801561002157600080fd5b5060405161205a38038061205a8339810160408190526100409161048f565b848484848484848484808360008263ffffffff16116100b25760405162461bcd60e51b815260206004820152602360248201527f5f6c6576656c732073686f756c642062652067726561746572207468616e207a60448201526265726f60e81b60648201526084015b60405180910390fd5b60208263ffffffff16106101085760405162461bcd60e51b815260206004820152601e60248201527f5f6c6576656c732073686f756c64206265206c657373207468616e203332000060448201526064016100a9565b63ffffffff821660a0526001600160a01b0381166080527f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c60005b8363ffffffff168163ffffffff1610156101905763ffffffff811660009081526001602090815260408083208590559082905290208290556101868383806102aa565b9150600101610143565b506000805260026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b55505060016004558161021e5760405162461bcd60e51b815260206004820152602560248201527f64656e6f6d696e6174696f6e2073686f756c6420626520677265617465722074604482015264068616e20360dc1b60648201526084016100a9565b506001600160a01b0392831660c05260e05250908116610100528a16935061028c925050505760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420434f4d5020746f6b656e206164647265737300000000000060448201526064016100a9565b5050506001600160a01b03938416610120525050166101405261054e565b600060008051602061203a83398151915283106103095760405162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c6460448201526064016100a9565b60008051602061203a83398151915282106103705760405162461bcd60e51b815260206004820152602160248201527f5f72696768742073686f756c6420626520696e7369646520746865206669656c6044820152601960fa1b60648201526084016100a9565b60405163f47d33b560e01b81526004810184905260006024820181905284916001600160a01b0387169063f47d33b5906044016040805180830381865afa1580156103bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103e3919061052a565b909250905060008051602061203a83398151915284830860405163f47d33b560e01b815260048101829052602481018390529092506001600160a01b0387169063f47d33b5906044016040805180830381865afa158015610448573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061046c919061052a565b509695505050505050565b6001600160a01b038116811461048c57600080fd5b50565b600080600080600080600060e0888a0312156104aa57600080fd5b87516104b581610477565b60208901519097506104c681610477565b60408901519096506104d781610477565b60608901519095506104e881610477565b608089015160a08a0151919550935063ffffffff8116811461050957600080fd5b60c089015190925061051a81610477565b8091505092959891949750929550565b6000806040838503121561053d57600080fd5b505080516020909101519092909150565b60805160a05160c05160e051610100516101205161014051611a3e6105fc6000396000818161017d01526105d40152600081816102e5015261060501526000818161057801528181610ecc01528181610f0601526112600152600081816103690152818161074101528181610e9e015261128401526000818161023801526108aa01526000818161029c01528181610fe7015261108901526000818161051701526111210152611a3e6000f3fe6080604052600436106101665760003560e01c806390eeb02b116100d1578063e5285dcc1161008a578063ed33639f11610064578063ed33639f14610505578063f178e47c14610539578063fc0c546a14610566578063fc7e9c6f1461059a57600080fd5b8063e5285dcc14610474578063e8295588146104a4578063ec732959146104d157600080fd5b806390eeb02b146103ab5780639fa12d0b146103c8578063b214faa5146103f5578063ba70f75714610408578063c2b40ae414610432578063cd87a3b41461045f57600080fd5b80634ecf518b116101235780634ecf518b1461028a5780635aa6e675146102d35780636d9833e314610307578063839df945146103275780638bca6d16146103575780638ea3099e1461038b57600080fd5b8063109d0af81461016b57806317cc915c146101bc5780631bd85bdb146101fc57806321a0adb6146102135780632b7ac3f314610226578063414a37ba1461025a575b600080fd5b34801561017757600080fd5b5061019f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156101c857600080fd5b506101ec6101d73660046114ef565b60056020526000908152604090205460ff1681565b60405190151581526020016101b3565b34801561020857600080fd5b506102116105bf565b005b61021161022136600461152d565b6106e3565b34801561023257600080fd5b5061019f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561026657600080fd5b5061027c6000805160206119e983398151915281565b6040519081526020016101b3565b34801561029657600080fd5b506102be7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016101b3565b3480156102df57600080fd5b5061019f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561031357600080fd5b506101ec6103223660046114ef565b6109ee565b34801561033357600080fd5b506101ec6103423660046114ef565b60066020526000908152604090205460ff1681565b34801561036357600080fd5b5061027c7f000000000000000000000000000000000000000000000000000000000000000081565b34801561039757600080fd5b5061027c6103a63660046115e3565b610a6c565b3480156103b757600080fd5b506003546102be9063ffffffff1681565b3480156103d457600080fd5b506103e86103e3366004611618565b610c39565b6040516101b3919061168d565b6102116104033660046114ef565b610cf5565b34801561041457600080fd5b5060035463ffffffff1660009081526002602052604090205461027c565b34801561043e57600080fd5b5061027c61044d3660046114ef565b60026020526000908152604090205481565b34801561046b57600080fd5b506102be601e81565b34801561048057600080fd5b506101ec61048f3660046114ef565b60009081526005602052604090205460ff1690565b3480156104b057600080fd5b5061027c6104bf3660046114ef565b60016020526000908152604090205481565b3480156104dd57600080fd5b5061027c7f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c81565b34801561051157600080fd5b5061019f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561054557600080fd5b5061027c6105543660046114ef565b60006020819052908152604090205481565b34801561057257600080fd5b5061019f7f000000000000000000000000000000000000000000000000000000000000000081565b3480156105a657600080fd5b506003546102be90640100000000900463ffffffff1681565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a9059cbb907f00000000000000000000000000000000000000000000000000000000000000009083906370a0823190602401602060405180830381865afa15801561064d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061067191906116d3565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156106bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e091906116ec565b50565b60026004540361073a5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b60026004557f00000000000000000000000000000000000000000000000000000000000000008211156107af5760405162461bcd60e51b815260206004820152601a60248201527f4665652065786365656473207472616e736665722076616c75650000000000006044820152606401610731565b60008581526005602052604090205460ff161561080e5760405162461bcd60e51b815260206004820152601f60248201527f546865206e6f746520686173206265656e20616c7265616479207370656e74006044820152606401610731565b610817866109ee565b6108635760405162461bcd60e51b815260206004820152601c60248201527f43616e6e6f742066696e6420796f7572206d65726b6c6520726f6f74000000006044820152606401610731565b6040805160c081018252878152602081018790526001600160a01b038681168284015285811660608301526080820185905260a08201849052915163695ef6f960e01b81527f00000000000000000000000000000000000000000000000000000000000000009092169163695ef6f9916108e3918c918c91600401611715565b6020604051808303816000875af1158015610902573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092691906116ec565b61096b5760405162461bcd60e51b815260206004820152601660248201527524b73b30b634b2103bb4ba34323930bb90383937b7b360511b6044820152606401610731565b6000858152600560205260409020805460ff1916600117905561099084848484610e2c565b604080516001600160a01b03868116825260208201889052918101849052908416907fe9e508bad6d4c3227e881ca19068f099da81b5164dd6d62b2eaf1e8bc6c349319060600160405180910390a250506001600455505050505050565b60008181036109ff57506000919050565b60035463ffffffff16805b63ffffffff81166000908152600260205260409020548403610a30575060019392505050565b8063ffffffff16600003610a425750601e5b80610a4c81611789565b9150508163ffffffff168163ffffffff1603610a0a575060009392505050565b60006000805160206119e98339815191528310610acb5760405162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c646044820152606401610731565b6000805160206119e98339815191528210610b325760405162461bcd60e51b815260206004820152602160248201527f5f72696768742073686f756c6420626520696e7369646520746865206669656c6044820152601960fa1b6064820152608401610731565b60405163f47d33b560e01b81526004810184905260006024820181905284916001600160a01b0387169063f47d33b5906044016040805180830381865afa158015610b81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ba591906117a9565b90925090506000805160206119e983398151915284830860405163f47d33b560e01b815260048101829052602481018390529092506001600160a01b0387169063f47d33b5906044016040805180830381865afa158015610c0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c2e91906117a9565b509695505050505050565b60608167ffffffffffffffff811115610c5457610c546117e3565b604051908082528060200260200182016040528015610c7d578160200160208202803683370190505b50905060005b82811015610cee57610cbc848483818110610ca057610ca06117f9565b9050602002013560009081526005602052604090205460ff1690565b15610ce6576001828281518110610cd557610cd56117f9565b911515602092830291909101909101525b600101610c83565b5092915050565b600260045403610d475760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610731565b600260045560008181526006602052604090205460ff1615610db55760405162461bcd60e51b815260206004820152602160248201527f54686520636f6d6d69746d656e7420686173206265656e207375626d697474656044820152601960fa1b6064820152608401610731565b6000610dc082610fce565b6000838152600660205260409020805460ff191660011790559050610de36111ec565b6040805163ffffffff8316815242602082015283917fa945e51eec50ab98c161376f0db4cf2aeba3ec92755fe2fcd388bdbbb80ff196910160405180910390a250506001600455565b803414610e945760405162461bcd60e51b815260206004820152603060248201527f496e636f727265637420726566756e6420616d6f756e7420726563656976656460448201526f08189e481d1a194818dbdb9d1c9858dd60821b6064820152608401610731565b610ef384610ec2847f000000000000000000000000000000000000000000000000000000000000000061180f565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691906112aa565b8115610f2d57610f2d6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001684846112aa565b8015610fc8576000846001600160a01b03168260405160006040518083038185875af1925050503d8060008114610f80576040519150601f19603f3d011682016040523d82523d6000602084013e610f85565b606091505b5050905080610fc6576040516001600160a01b0385169083156108fc029084906000818181858888f19350505050158015610fc4573d6000803e3d6000fd5b505b505b50505050565b600354600090640100000000900463ffffffff1661100d7f00000000000000000000000000000000000000000000000000000000000000006002611939565b63ffffffff168163ffffffff16036110805760405162461bcd60e51b815260206004820152603060248201527f4d65726b6c6520747265652069732066756c6c2e204e6f206d6f7265206c656160448201526f1d995cc818d85b88189948185919195960821b6064820152608401610731565b8083600080805b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff168163ffffffff16101561115e576110c6600286611956565b63ffffffff166000036111005763ffffffff811660009081526001602090815260408083205491839052909120859055849350915061111c565b63ffffffff811660009081526020819052604090205492508391505b6111477f00000000000000000000000000000000000000000000000000000000000000008484610a6c565b9350611154600286611979565b9450600101611087565b50600354600090601e906111799063ffffffff16600161199c565b6111839190611956565b6003805463ffffffff191663ffffffff8316908117909155600090815260026020526040902085905590506111b986600161199c565b6003805463ffffffff929092166401000000000267ffffffff000000001990921691909117905550939695505050505050565b34156112535760405162461bcd60e51b815260206004820152603060248201527f4554482076616c756520697320737570706f73656420746f206265203020666f60448201526f7220455243323020696e7374616e636560801b6064820152608401610731565b6112a86001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633307f00000000000000000000000000000000000000000000000000000000000000006113c3565b565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b179052915160009283929087169161130691906119b9565b6000604051808303816000865af19150503d8060008114611343576040519150601f19603f3d011682016040523d82523d6000602084013e611348565b606091505b50915091508161135a57805181602001fd5b8051158061137757508080602001905181019061137791906116ec565b610fc65760405162461bcd60e51b815260206004820152601e60248201527f5361666545524332303a20736166655472616e73666572206661696c656400006044820152606401610731565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b179052915160009283929088169161142791906119b9565b6000604051808303816000865af19150503d8060008114611464576040519150601f19603f3d011682016040523d82523d6000602084013e611469565b606091505b50915091508161147b57805181602001fd5b8051158061149857508080602001905181019061149891906116ec565b610fc45760405162461bcd60e51b815260206004820152602260248201527f5361666545524332303a20736166655472616e7366657246726f6d206661696c604482015261195960f21b6064820152608401610731565b60006020828403121561150157600080fd5b5035919050565b6001600160a01b03811681146106e057600080fd5b803561152881611508565b919050565b60008060008060008060008060e0898b03121561154957600080fd5b883567ffffffffffffffff8082111561156157600080fd5b818b0191508b601f83011261157557600080fd5b81358181111561158457600080fd5b8c602082850101111561159657600080fd5b60209283019a509850508901359550604089013594506115b860608a0161151d565b93506115c660808a0161151d565b925060a0890135915060c089013590509295985092959890939650565b6000806000606084860312156115f857600080fd5b833561160381611508565b95602085013595506040909401359392505050565b6000806020838503121561162b57600080fd5b823567ffffffffffffffff8082111561164357600080fd5b818501915085601f83011261165757600080fd5b81358181111561166657600080fd5b8660208260051b850101111561167b57600080fd5b60209290920196919550909350505050565b6020808252825182820181905260009190848201906040850190845b818110156116c75783511515835292840192918401916001016116a9565b50909695505050505050565b6000602082840312156116e557600080fd5b5051919050565b6000602082840312156116fe57600080fd5b8151801515811461170e57600080fd5b9392505050565b60e081528260e08201526000610100848682850137600081868501015280601f19601f87011684010191505060208083018460005b60068110156117675781518352918301919083019060010161174a565b50505050949350505050565b634e487b7160e01b600052601160045260246000fd5b600063ffffffff82168061179f5761179f611773565b6000190192915050565b600080604083850312156117bc57600080fd5b505080516020909101519092909150565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b8181038181111561182257611822611773565b92915050565b600181815b80851115611865578163ffffffff0482111561184b5761184b611773565b8085161561185857918102915b93841c939080029061182d565b509250929050565b60008261187c57506001611822565b8161188957506000611822565b816001811461189f57600281146118a9576118da565b6001915050611822565b60ff8411156118ba576118ba611773565b6001841b915063ffffffff8211156118d4576118d4611773565b50611822565b5060208310610133831016604e8410600b8410161715611911575081810a63ffffffff81111561190c5761190c611773565b611822565b61191b8383611828565b8063ffffffff0482111561193157611931611773565b029392505050565b600063ffffffff61194e81851682851661186d565b949350505050565b600063ffffffff8084168061196d5761196d6117cd565b92169190910692915050565b600063ffffffff80841680611990576119906117cd565b92169190910492915050565b63ffffffff818116838216019080821115610cee57610cee611773565b6000825160005b818110156119da57602081860181015185830152016119c0565b50600092019182525091905056fe30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001a26469706673582212202fd93128e9fd6b3843a3df70f2fb8c1a7a326556fae702731ec0c55aa4921a8364736f6c6343000819003330644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001"; + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "_governance"; + readonly type: "address"; + }, { + readonly internalType: "contract IERC20"; + readonly name: "_comp"; + readonly type: "address"; + }, { + readonly internalType: "contract IVerifier"; + readonly name: "_verifier"; + readonly type: "address"; + }, { + readonly internalType: "contract IHasher"; + readonly name: "_hasher"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "_denomination"; + readonly type: "uint256"; + }, { + readonly internalType: "uint32"; + readonly name: "_merkleTreeHeight"; + readonly type: "uint32"; + }, { + readonly internalType: "contract IERC20"; + readonly name: "_token"; + readonly type: "address"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "constructor"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "bytes32"; + readonly name: "commitment"; + readonly type: "bytes32"; + }, { + readonly indexed: false; + readonly internalType: "uint32"; + readonly name: "leafIndex"; + readonly type: "uint32"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "timestamp"; + readonly type: "uint256"; + }]; + readonly name: "Deposit"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: false; + readonly internalType: "address"; + readonly name: "to"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "bytes32"; + readonly name: "nullifierHash"; + readonly type: "bytes32"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "relayer"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "fee"; + readonly type: "uint256"; + }]; + readonly name: "Withdrawal"; + readonly type: "event"; + }, { + readonly inputs: readonly []; + readonly name: "FIELD_SIZE"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "ROOT_HISTORY_SIZE"; + readonly outputs: readonly [{ + readonly internalType: "uint32"; + readonly name: ""; + readonly type: "uint32"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "ZERO_VALUE"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "claimComp"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: ""; + readonly type: "bytes32"; + }]; + readonly name: "commitments"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "comp"; + readonly outputs: readonly [{ + readonly internalType: "contract IERC20"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "currentRootIndex"; + readonly outputs: readonly [{ + readonly internalType: "uint32"; + readonly name: ""; + readonly type: "uint32"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "denomination"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: "_commitment"; + readonly type: "bytes32"; + }]; + readonly name: "deposit"; + readonly outputs: readonly []; + readonly stateMutability: "payable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly name: "filledSubtrees"; + readonly outputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: ""; + readonly type: "bytes32"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "getLastRoot"; + readonly outputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: ""; + readonly type: "bytes32"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "governance"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "contract IHasher"; + readonly name: "_hasher"; + readonly type: "address"; + }, { + readonly internalType: "bytes32"; + readonly name: "_left"; + readonly type: "bytes32"; + }, { + readonly internalType: "bytes32"; + readonly name: "_right"; + readonly type: "bytes32"; + }]; + readonly name: "hashLeftRight"; + readonly outputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: ""; + readonly type: "bytes32"; + }]; + readonly stateMutability: "pure"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "hasher"; + readonly outputs: readonly [{ + readonly internalType: "contract IHasher"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: "_root"; + readonly type: "bytes32"; + }]; + readonly name: "isKnownRoot"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: "_nullifierHash"; + readonly type: "bytes32"; + }]; + readonly name: "isSpent"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes32[]"; + readonly name: "_nullifierHashes"; + readonly type: "bytes32[]"; + }]; + readonly name: "isSpentArray"; + readonly outputs: readonly [{ + readonly internalType: "bool[]"; + readonly name: "spent"; + readonly type: "bool[]"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "levels"; + readonly outputs: readonly [{ + readonly internalType: "uint32"; + readonly name: ""; + readonly type: "uint32"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "nextIndex"; + readonly outputs: readonly [{ + readonly internalType: "uint32"; + readonly name: ""; + readonly type: "uint32"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: ""; + readonly type: "bytes32"; + }]; + readonly name: "nullifierHashes"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly name: "roots"; + readonly outputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: ""; + readonly type: "bytes32"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "token"; + readonly outputs: readonly [{ + readonly internalType: "contract IERC20"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "verifier"; + readonly outputs: readonly [{ + readonly internalType: "contract IVerifier"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes"; + readonly name: "_proof"; + readonly type: "bytes"; + }, { + readonly internalType: "bytes32"; + readonly name: "_root"; + readonly type: "bytes32"; + }, { + readonly internalType: "bytes32"; + readonly name: "_nullifierHash"; + readonly type: "bytes32"; + }, { + readonly internalType: "address payable"; + readonly name: "_recipient"; + readonly type: "address"; + }, { + readonly internalType: "address payable"; + readonly name: "_relayer"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "_fee"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "_refund"; + readonly type: "uint256"; + }]; + readonly name: "withdraw"; + readonly outputs: readonly []; + readonly stateMutability: "payable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly name: "zeros"; + readonly outputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: ""; + readonly type: "bytes32"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }]; + static createInterface(): CTornadoInterface; + static connect(address: string, runner?: ContractRunner | null): CTornado; +} +export {}; diff --git a/dist/factories/contracts/Classic/ERC20Tornado__factory.d.ts b/dist/factories/contracts/Classic/ERC20Tornado__factory.d.ts new file mode 100644 index 0000000..cdaa3d7 --- /dev/null +++ b/dist/factories/contracts/Classic/ERC20Tornado__factory.d.ts @@ -0,0 +1,379 @@ +import { ContractFactory, ContractTransactionResponse } from "ethers"; +import type { Signer, BigNumberish, AddressLike, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../common"; +import type { ERC20Tornado, ERC20TornadoInterface } from "../../../contracts/Classic/ERC20Tornado"; +type ERC20TornadoConstructorParams = [signer?: Signer] | ConstructorParameters; +export declare class ERC20Tornado__factory extends ContractFactory { + constructor(...args: ERC20TornadoConstructorParams); + getDeployTransaction(_verifier: AddressLike, _hasher: AddressLike, _denomination: BigNumberish, _merkleTreeHeight: BigNumberish, _token: AddressLike, overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + deploy(_verifier: AddressLike, _hasher: AddressLike, _denomination: BigNumberish, _merkleTreeHeight: BigNumberish, _token: AddressLike, overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + connect(runner: ContractRunner | null): ERC20Tornado__factory; + static readonly bytecode = "0x610120604052600380546001600160401b031916905534801561002157600080fd5b50604051611db8380380611db883398101604081905261004091610420565b84848484808360008263ffffffff16116100ad5760405162461bcd60e51b815260206004820152602360248201527f5f6c6576656c732073686f756c642062652067726561746572207468616e207a60448201526265726f60e81b60648201526084015b60405180910390fd5b60208263ffffffff16106101035760405162461bcd60e51b815260206004820152601e60248201527f5f6c6576656c732073686f756c64206265206c657373207468616e203332000060448201526064016100a4565b63ffffffff821660a0526001600160a01b0381166080527f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c60005b8363ffffffff168163ffffffff16101561018b5763ffffffff8116600090815260016020908152604080832085905590829052902082905561018183838061023b565b915060010161013e565b506000805260026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5550506001600455816102195760405162461bcd60e51b815260206004820152602560248201527f64656e6f6d696e6174696f6e2073686f756c6420626520677265617465722074604482015264068616e20360dc1b60648201526084016100a4565b506001600160a01b0392831660c05260e052501661010052506104b892505050565b6000600080516020611d98833981519152831061029a5760405162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c6460448201526064016100a4565b600080516020611d9883398151915282106103015760405162461bcd60e51b815260206004820152602160248201527f5f72696768742073686f756c6420626520696e7369646520746865206669656c6044820152601960fa1b60648201526084016100a4565b60405163f47d33b560e01b81526004810184905260006024820181905284916001600160a01b0387169063f47d33b5906044016040805180830381865afa158015610350573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103749190610494565b9092509050600080516020611d9883398151915284830860405163f47d33b560e01b815260048101829052602481018390529092506001600160a01b0387169063f47d33b5906044016040805180830381865afa1580156103d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103fd9190610494565b509695505050505050565b6001600160a01b038116811461041d57600080fd5b50565b600080600080600060a0868803121561043857600080fd5b855161044381610408565b602087015190955061045481610408565b60408701516060880151919550935063ffffffff8116811461047557600080fd5b608087015190925061048681610408565b809150509295509295909350565b600080604083850312156104a757600080fd5b505080516020909101519092909150565b60805160a05160c05160e05161010051611856610542600039600081816104ca01528181610cfa01528181610d34015261108e0152600081816102bb0152818161056f01528181610ccc01526110b20152600081816101a601526106d801526000818161022201528181610e150152610eb70152600081816104690152610f4f01526118566000f3fe6080604052600436106101355760003560e01c8063b214faa5116100ab578063e82955881161006f578063e8295588146103f6578063ec73295914610423578063ed33639f14610457578063f178e47c1461048b578063fc0c546a146104b8578063fc7e9c6f146104ec57600080fd5b8063b214faa514610347578063ba70f7571461035a578063c2b40ae414610384578063cd87a3b4146103b1578063e5285dcc146103c657600080fd5b80636d9833e3116100fd5780636d9833e314610259578063839df945146102795780638bca6d16146102a95780638ea3099e146102dd57806390eeb02b146102fd5780639fa12d0b1461031a57600080fd5b806317cc915c1461013a57806321a0adb61461017f5780632b7ac3f314610194578063414a37ba146101e05780634ecf518b14610210575b600080fd5b34801561014657600080fd5b5061016a61015536600461131d565b60056020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b61019261018d36600461135e565b610511565b005b3480156101a057600080fd5b506101c87f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610176565b3480156101ec57600080fd5b5061020260008051602061180183398151915281565b604051908152602001610176565b34801561021c57600080fd5b506102447f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff9091168152602001610176565b34801561026557600080fd5b5061016a61027436600461131d565b61081c565b34801561028557600080fd5b5061016a61029436600461131d565b60066020526000908152604090205460ff1681565b3480156102b557600080fd5b506102027f000000000000000000000000000000000000000000000000000000000000000081565b3480156102e957600080fd5b506102026102f8366004611414565b61089a565b34801561030957600080fd5b506003546102449063ffffffff1681565b34801561032657600080fd5b5061033a610335366004611449565b610a67565b60405161017691906114be565b61019261035536600461131d565b610b23565b34801561036657600080fd5b5060035463ffffffff16600090815260026020526040902054610202565b34801561039057600080fd5b5061020261039f36600461131d565b60026020526000908152604090205481565b3480156103bd57600080fd5b50610244601e81565b3480156103d257600080fd5b5061016a6103e136600461131d565b60009081526005602052604090205460ff1690565b34801561040257600080fd5b5061020261041136600461131d565b60016020526000908152604090205481565b34801561042f57600080fd5b506102027f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c81565b34801561046357600080fd5b506101c87f000000000000000000000000000000000000000000000000000000000000000081565b34801561049757600080fd5b506102026104a636600461131d565b60006020819052908152604090205481565b3480156104c457600080fd5b506101c87f000000000000000000000000000000000000000000000000000000000000000081565b3480156104f857600080fd5b5060035461024490640100000000900463ffffffff1681565b6002600454036105685760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b60026004557f00000000000000000000000000000000000000000000000000000000000000008211156105dd5760405162461bcd60e51b815260206004820152601a60248201527f4665652065786365656473207472616e736665722076616c7565000000000000604482015260640161055f565b60008581526005602052604090205460ff161561063c5760405162461bcd60e51b815260206004820152601f60248201527f546865206e6f746520686173206265656e20616c7265616479207370656e7400604482015260640161055f565b6106458661081c565b6106915760405162461bcd60e51b815260206004820152601c60248201527f43616e6e6f742066696e6420796f7572206d65726b6c6520726f6f7400000000604482015260640161055f565b6040805160c081018252878152602081018790526001600160a01b038681168284015285811660608301526080820185905260a08201849052915163695ef6f960e01b81527f00000000000000000000000000000000000000000000000000000000000000009092169163695ef6f991610711918c918c91600401611504565b6020604051808303816000875af1158015610730573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107549190611562565b6107995760405162461bcd60e51b815260206004820152601660248201527524b73b30b634b2103bb4ba34323930bb90383937b7b360511b604482015260640161055f565b6000858152600560205260409020805460ff191660011790556107be84848484610c5a565b604080516001600160a01b03868116825260208201889052918101849052908416907fe9e508bad6d4c3227e881ca19068f099da81b5164dd6d62b2eaf1e8bc6c349319060600160405180910390a250506001600455505050505050565b600081810361082d57506000919050565b60035463ffffffff16805b63ffffffff8116600090815260026020526040902054840361085e575060019392505050565b8063ffffffff166000036108705750601e5b8061087a816115a1565b9150508163ffffffff168163ffffffff1603610838575060009392505050565b600060008051602061180183398151915283106108f95760405162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c64604482015260640161055f565b60008051602061180183398151915282106109605760405162461bcd60e51b815260206004820152602160248201527f5f72696768742073686f756c6420626520696e7369646520746865206669656c6044820152601960fa1b606482015260840161055f565b60405163f47d33b560e01b81526004810184905260006024820181905284916001600160a01b0387169063f47d33b5906044016040805180830381865afa1580156109af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d391906115c1565b909250905060008051602061180183398151915284830860405163f47d33b560e01b815260048101829052602481018390529092506001600160a01b0387169063f47d33b5906044016040805180830381865afa158015610a38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a5c91906115c1565b509695505050505050565b60608167ffffffffffffffff811115610a8257610a826115fb565b604051908082528060200260200182016040528015610aab578160200160208202803683370190505b50905060005b82811015610b1c57610aea848483818110610ace57610ace611611565b9050602002013560009081526005602052604090205460ff1690565b15610b14576001828281518110610b0357610b03611611565b911515602092830291909101909101525b600101610ab1565b5092915050565b600260045403610b755760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161055f565b600260045560008181526006602052604090205460ff1615610be35760405162461bcd60e51b815260206004820152602160248201527f54686520636f6d6d69746d656e7420686173206265656e207375626d697474656044820152601960fa1b606482015260840161055f565b6000610bee82610dfc565b6000838152600660205260409020805460ff191660011790559050610c1161101a565b6040805163ffffffff8316815242602082015283917fa945e51eec50ab98c161376f0db4cf2aeba3ec92755fe2fcd388bdbbb80ff196910160405180910390a250506001600455565b803414610cc25760405162461bcd60e51b815260206004820152603060248201527f496e636f727265637420726566756e6420616d6f756e7420726563656976656460448201526f08189e481d1a194818dbdb9d1c9858dd60821b606482015260840161055f565b610d2184610cf0847f0000000000000000000000000000000000000000000000000000000000000000611627565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691906110d8565b8115610d5b57610d5b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001684846110d8565b8015610df6576000846001600160a01b03168260405160006040518083038185875af1925050503d8060008114610dae576040519150601f19603f3d011682016040523d82523d6000602084013e610db3565b606091505b5050905080610df4576040516001600160a01b0385169083156108fc029084906000818181858888f19350505050158015610df2573d6000803e3d6000fd5b505b505b50505050565b600354600090640100000000900463ffffffff16610e3b7f00000000000000000000000000000000000000000000000000000000000000006002611751565b63ffffffff168163ffffffff1603610eae5760405162461bcd60e51b815260206004820152603060248201527f4d65726b6c6520747265652069732066756c6c2e204e6f206d6f7265206c656160448201526f1d995cc818d85b88189948185919195960821b606482015260840161055f565b8083600080805b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff168163ffffffff161015610f8c57610ef460028661176e565b63ffffffff16600003610f2e5763ffffffff8116600090815260016020908152604080832054918390529091208590558493509150610f4a565b63ffffffff811660009081526020819052604090205492508391505b610f757f0000000000000000000000000000000000000000000000000000000000000000848461089a565b9350610f82600286611791565b9450600101610eb5565b50600354600090601e90610fa79063ffffffff1660016117b4565b610fb1919061176e565b6003805463ffffffff191663ffffffff831690811790915560009081526002602052604090208590559050610fe78660016117b4565b6003805463ffffffff929092166401000000000267ffffffff000000001990921691909117905550939695505050505050565b34156110815760405162461bcd60e51b815260206004820152603060248201527f4554482076616c756520697320737570706f73656420746f206265203020666f60448201526f7220455243323020696e7374616e636560801b606482015260840161055f565b6110d66001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633307f00000000000000000000000000000000000000000000000000000000000000006111f1565b565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b179052915160009283929087169161113491906117d1565b6000604051808303816000865af19150503d8060008114611171576040519150601f19603f3d011682016040523d82523d6000602084013e611176565b606091505b50915091508161118857805181602001fd5b805115806111a55750808060200190518101906111a59190611562565b610df45760405162461bcd60e51b815260206004820152601e60248201527f5361666545524332303a20736166655472616e73666572206661696c65640000604482015260640161055f565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b179052915160009283929088169161125591906117d1565b6000604051808303816000865af19150503d8060008114611292576040519150601f19603f3d011682016040523d82523d6000602084013e611297565b606091505b5091509150816112a957805181602001fd5b805115806112c65750808060200190518101906112c69190611562565b610df25760405162461bcd60e51b815260206004820152602260248201527f5361666545524332303a20736166655472616e7366657246726f6d206661696c604482015261195960f21b606482015260840161055f565b60006020828403121561132f57600080fd5b5035919050565b6001600160a01b038116811461134b57600080fd5b50565b803561135981611336565b919050565b60008060008060008060008060e0898b03121561137a57600080fd5b883567ffffffffffffffff8082111561139257600080fd5b818b0191508b601f8301126113a657600080fd5b8135818111156113b557600080fd5b8c60208285010111156113c757600080fd5b60209283019a509850508901359550604089013594506113e960608a0161134e565b93506113f760808a0161134e565b925060a0890135915060c089013590509295985092959890939650565b60008060006060848603121561142957600080fd5b833561143481611336565b95602085013595506040909401359392505050565b6000806020838503121561145c57600080fd5b823567ffffffffffffffff8082111561147457600080fd5b818501915085601f83011261148857600080fd5b81358181111561149757600080fd5b8660208260051b85010111156114ac57600080fd5b60209290920196919550909350505050565b6020808252825182820181905260009190848201906040850190845b818110156114f85783511515835292840192918401916001016114da565b50909695505050505050565b60e081528260e08201526000610100848682850137600081868501015280601f19601f87011684010191505060208083018460005b600681101561155657815183529183019190830190600101611539565b50505050949350505050565b60006020828403121561157457600080fd5b8151801515811461158457600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b600063ffffffff8216806115b7576115b761158b565b6000190192915050565b600080604083850312156115d457600080fd5b505080516020909101519092909150565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b8181038181111561163a5761163a61158b565b92915050565b600181815b8085111561167d578163ffffffff048211156116635761166361158b565b8085161561167057918102915b93841c9390800290611645565b509250929050565b6000826116945750600161163a565b816116a15750600061163a565b81600181146116b757600281146116c1576116f2565b600191505061163a565b60ff8411156116d2576116d261158b565b6001841b915063ffffffff8211156116ec576116ec61158b565b5061163a565b5060208310610133831016604e8410600b8410161715611729575081810a63ffffffff8111156117245761172461158b565b61163a565b6117338383611640565b8063ffffffff048211156117495761174961158b565b029392505050565b600063ffffffff611766818516828516611685565b949350505050565b600063ffffffff80841680611785576117856115e5565b92169190910692915050565b600063ffffffff808416806117a8576117a86115e5565b92169190910492915050565b63ffffffff818116838216019080821115610b1c57610b1c61158b565b6000825160005b818110156117f257602081860181015185830152016117d8565b50600092019182525091905056fe30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001a264697066735822122090d9706fb3f8afcde53068158f22289b2796e92f9b67b63271c1f6de497a540f64736f6c6343000819003330644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001"; + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "contract IVerifier"; + readonly name: "_verifier"; + readonly type: "address"; + }, { + readonly internalType: "contract IHasher"; + readonly name: "_hasher"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "_denomination"; + readonly type: "uint256"; + }, { + readonly internalType: "uint32"; + readonly name: "_merkleTreeHeight"; + readonly type: "uint32"; + }, { + readonly internalType: "contract IERC20"; + readonly name: "_token"; + readonly type: "address"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "constructor"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "bytes32"; + readonly name: "commitment"; + readonly type: "bytes32"; + }, { + readonly indexed: false; + readonly internalType: "uint32"; + readonly name: "leafIndex"; + readonly type: "uint32"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "timestamp"; + readonly type: "uint256"; + }]; + readonly name: "Deposit"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: false; + readonly internalType: "address"; + readonly name: "to"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "bytes32"; + readonly name: "nullifierHash"; + readonly type: "bytes32"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "relayer"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "fee"; + readonly type: "uint256"; + }]; + readonly name: "Withdrawal"; + readonly type: "event"; + }, { + readonly inputs: readonly []; + readonly name: "FIELD_SIZE"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "ROOT_HISTORY_SIZE"; + readonly outputs: readonly [{ + readonly internalType: "uint32"; + readonly name: ""; + readonly type: "uint32"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "ZERO_VALUE"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: ""; + readonly type: "bytes32"; + }]; + readonly name: "commitments"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "currentRootIndex"; + readonly outputs: readonly [{ + readonly internalType: "uint32"; + readonly name: ""; + readonly type: "uint32"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "denomination"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: "_commitment"; + readonly type: "bytes32"; + }]; + readonly name: "deposit"; + readonly outputs: readonly []; + readonly stateMutability: "payable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly name: "filledSubtrees"; + readonly outputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: ""; + readonly type: "bytes32"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "getLastRoot"; + readonly outputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: ""; + readonly type: "bytes32"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "contract IHasher"; + readonly name: "_hasher"; + readonly type: "address"; + }, { + readonly internalType: "bytes32"; + readonly name: "_left"; + readonly type: "bytes32"; + }, { + readonly internalType: "bytes32"; + readonly name: "_right"; + readonly type: "bytes32"; + }]; + readonly name: "hashLeftRight"; + readonly outputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: ""; + readonly type: "bytes32"; + }]; + readonly stateMutability: "pure"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "hasher"; + readonly outputs: readonly [{ + readonly internalType: "contract IHasher"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: "_root"; + readonly type: "bytes32"; + }]; + readonly name: "isKnownRoot"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: "_nullifierHash"; + readonly type: "bytes32"; + }]; + readonly name: "isSpent"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes32[]"; + readonly name: "_nullifierHashes"; + readonly type: "bytes32[]"; + }]; + readonly name: "isSpentArray"; + readonly outputs: readonly [{ + readonly internalType: "bool[]"; + readonly name: "spent"; + readonly type: "bool[]"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "levels"; + readonly outputs: readonly [{ + readonly internalType: "uint32"; + readonly name: ""; + readonly type: "uint32"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "nextIndex"; + readonly outputs: readonly [{ + readonly internalType: "uint32"; + readonly name: ""; + readonly type: "uint32"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: ""; + readonly type: "bytes32"; + }]; + readonly name: "nullifierHashes"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly name: "roots"; + readonly outputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: ""; + readonly type: "bytes32"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "token"; + readonly outputs: readonly [{ + readonly internalType: "contract IERC20"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "verifier"; + readonly outputs: readonly [{ + readonly internalType: "contract IVerifier"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes"; + readonly name: "_proof"; + readonly type: "bytes"; + }, { + readonly internalType: "bytes32"; + readonly name: "_root"; + readonly type: "bytes32"; + }, { + readonly internalType: "bytes32"; + readonly name: "_nullifierHash"; + readonly type: "bytes32"; + }, { + readonly internalType: "address payable"; + readonly name: "_recipient"; + readonly type: "address"; + }, { + readonly internalType: "address payable"; + readonly name: "_relayer"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "_fee"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "_refund"; + readonly type: "uint256"; + }]; + readonly name: "withdraw"; + readonly outputs: readonly []; + readonly stateMutability: "payable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly name: "zeros"; + readonly outputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: ""; + readonly type: "bytes32"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }]; + static createInterface(): ERC20TornadoInterface; + static connect(address: string, runner?: ContractRunner | null): ERC20Tornado; +} +export {}; diff --git a/dist/factories/contracts/Classic/ETHTornado__factory.d.ts b/dist/factories/contracts/Classic/ETHTornado__factory.d.ts new file mode 100644 index 0000000..086ca20 --- /dev/null +++ b/dist/factories/contracts/Classic/ETHTornado__factory.d.ts @@ -0,0 +1,365 @@ +import { ContractFactory, ContractTransactionResponse } from "ethers"; +import type { Signer, BigNumberish, AddressLike, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../common"; +import type { ETHTornado, ETHTornadoInterface } from "../../../contracts/Classic/ETHTornado"; +type ETHTornadoConstructorParams = [signer?: Signer] | ConstructorParameters; +export declare class ETHTornado__factory extends ContractFactory { + constructor(...args: ETHTornadoConstructorParams); + getDeployTransaction(_verifier: AddressLike, _hasher: AddressLike, _denomination: BigNumberish, _merkleTreeHeight: BigNumberish, overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + deploy(_verifier: AddressLike, _hasher: AddressLike, _denomination: BigNumberish, _merkleTreeHeight: BigNumberish, overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + connect(runner: ContractRunner | null): ETHTornado__factory; + static readonly bytecode = "0x610100604052600380546001600160401b031916905534801561002157600080fd5b50604051611b68380380611b688339810160408190526100409161041b565b83838383808360008263ffffffff16116100ad5760405162461bcd60e51b815260206004820152602360248201527f5f6c6576656c732073686f756c642062652067726561746572207468616e207a60448201526265726f60e81b60648201526084015b60405180910390fd5b60208263ffffffff16106101035760405162461bcd60e51b815260206004820152601e60248201527f5f6c6576656c732073686f756c64206265206c657373207468616e203332000060448201526064016100a4565b63ffffffff821660a0526001600160a01b0381166080527f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c60005b8363ffffffff168163ffffffff16101561018b5763ffffffff81166000908152600160209081526040808320859055908290529020829055610181838380610236565b915060010161013e565b506000805260026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5550506001600455816102195760405162461bcd60e51b815260206004820152602560248201527f64656e6f6d696e6174696f6e2073686f756c6420626520677265617465722074604482015264068616e20360dc1b60648201526084016100a4565b506001600160a01b0390921660c0525060e0525061049d92505050565b6000600080516020611b4883398151915283106102955760405162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c6460448201526064016100a4565b600080516020611b4883398151915282106102fc5760405162461bcd60e51b815260206004820152602160248201527f5f72696768742073686f756c6420626520696e7369646520746865206669656c6044820152601960fa1b60648201526084016100a4565b60405163f47d33b560e01b81526004810184905260006024820181905284916001600160a01b0387169063f47d33b5906044016040805180830381865afa15801561034b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061036f9190610479565b9092509050600080516020611b4883398151915284830860405163f47d33b560e01b815260048101829052602481018390529092506001600160a01b0387169063f47d33b5906044016040805180830381865afa1580156103d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103f89190610479565b509695505050505050565b6001600160a01b038116811461041857600080fd5b50565b6000806000806080858703121561043157600080fd5b845161043c81610403565b602086015190945061044d81610403565b60408601516060870151919450925063ffffffff8116811461046e57600080fd5b939692955090935050565b6000806040838503121561048c57600080fd5b505080516020909101519092909150565b60805160a05160c05160e051611641610507600039600081816102b00152818161053001528181610d0401526110a201526000818161019b015261069901526000818161021701528181610e9b0152610f3d01526000818161045e0152610fd501526116416000f3fe60806040526004361061012a5760003560e01c80639fa12d0b116100ab578063e5285dcc1161006f578063e5285dcc146103bb578063e8295588146103eb578063ec73295914610418578063ed33639f1461044c578063f178e47c14610480578063fc7e9c6f146104ad57600080fd5b80639fa12d0b1461030f578063b214faa51461033c578063ba70f7571461034f578063c2b40ae414610379578063cd87a3b4146103a657600080fd5b80636d9833e3116100f25780636d9833e31461024e578063839df9451461026e5780638bca6d161461029e5780638ea3099e146102d257806390eeb02b146102f257600080fd5b806317cc915c1461012f57806321a0adb6146101745780632b7ac3f314610189578063414a37ba146101d55780634ecf518b14610205575b600080fd5b34801561013b57600080fd5b5061015f61014a366004611137565b60056020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b610187610182366004611178565b6104d2565b005b34801561019557600080fd5b506101bd7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161016b565b3480156101e157600080fd5b506101f76000805160206115ec83398151915281565b60405190815260200161016b565b34801561021157600080fd5b506102397f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff909116815260200161016b565b34801561025a57600080fd5b5061015f610269366004611137565b6107dd565b34801561027a57600080fd5b5061015f610289366004611137565b60066020526000908152604090205460ff1681565b3480156102aa57600080fd5b506101f77f000000000000000000000000000000000000000000000000000000000000000081565b3480156102de57600080fd5b506101f76102ed36600461122e565b61085b565b3480156102fe57600080fd5b506003546102399063ffffffff1681565b34801561031b57600080fd5b5061032f61032a366004611263565b610a28565b60405161016b91906112d8565b61018761034a366004611137565b610ae4565b34801561035b57600080fd5b5060035463ffffffff166000908152600260205260409020546101f7565b34801561038557600080fd5b506101f7610394366004611137565b60026020526000908152604090205481565b3480156103b257600080fd5b50610239601e81565b3480156103c757600080fd5b5061015f6103d6366004611137565b60009081526005602052604090205460ff1690565b3480156103f757600080fd5b506101f7610406366004611137565b60016020526000908152604090205481565b34801561042457600080fd5b506101f77f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c81565b34801561045857600080fd5b506101bd7f000000000000000000000000000000000000000000000000000000000000000081565b34801561048c57600080fd5b506101f761049b366004611137565b60006020819052908152604090205481565b3480156104b957600080fd5b5060035461023990640100000000900463ffffffff1681565b6002600454036105295760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b60026004557f000000000000000000000000000000000000000000000000000000000000000082111561059e5760405162461bcd60e51b815260206004820152601a60248201527f4665652065786365656473207472616e736665722076616c75650000000000006044820152606401610520565b60008581526005602052604090205460ff16156105fd5760405162461bcd60e51b815260206004820152601f60248201527f546865206e6f746520686173206265656e20616c7265616479207370656e74006044820152606401610520565b610606866107dd565b6106525760405162461bcd60e51b815260206004820152601c60248201527f43616e6e6f742066696e6420796f7572206d65726b6c6520726f6f74000000006044820152606401610520565b6040805160c081018252878152602081018790526001600160a01b038681168284015285811660608301526080820185905260a08201849052915163695ef6f960e01b81527f00000000000000000000000000000000000000000000000000000000000000009092169163695ef6f9916106d2918c918c9160040161131e565b6020604051808303816000875af11580156106f1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610715919061137c565b61075a5760405162461bcd60e51b815260206004820152601660248201527524b73b30b634b2103bb4ba34323930bb90383937b7b360511b6044820152606401610520565b6000858152600560205260409020805460ff1916600117905561077f84848484610c1b565b604080516001600160a01b03868116825260208201889052918101849052908416907fe9e508bad6d4c3227e881ca19068f099da81b5164dd6d62b2eaf1e8bc6c349319060600160405180910390a250506001600455505050505050565b60008181036107ee57506000919050565b60035463ffffffff16805b63ffffffff8116600090815260026020526040902054840361081f575060019392505050565b8063ffffffff166000036108315750601e5b8061083b816113bb565b9150508163ffffffff168163ffffffff16036107f9575060009392505050565b60006000805160206115ec83398151915283106108ba5760405162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c646044820152606401610520565b6000805160206115ec83398151915282106109215760405162461bcd60e51b815260206004820152602160248201527f5f72696768742073686f756c6420626520696e7369646520746865206669656c6044820152601960fa1b6064820152608401610520565b60405163f47d33b560e01b81526004810184905260006024820181905284916001600160a01b0387169063f47d33b5906044016040805180830381865afa158015610970573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099491906113db565b90925090506000805160206115ec83398151915284830860405163f47d33b560e01b815260048101829052602481018390529092506001600160a01b0387169063f47d33b5906044016040805180830381865afa1580156109f9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1d91906113db565b509695505050505050565b60608167ffffffffffffffff811115610a4357610a43611415565b604051908082528060200260200182016040528015610a6c578160200160208202803683370190505b50905060005b82811015610add57610aab848483818110610a8f57610a8f61142b565b9050602002013560009081526005602052604090205460ff1690565b15610ad5576001828281518110610ac457610ac461142b565b911515602092830291909101909101525b600101610a72565b5092915050565b600260045403610b365760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610520565b600260045560008181526006602052604090205460ff1615610ba45760405162461bcd60e51b815260206004820152602160248201527f54686520636f6d6d69746d656e7420686173206265656e207375626d697474656044820152601960fa1b6064820152608401610520565b6000610baf82610e82565b6000838152600660205260409020805460ff191660011790559050610bd26110a0565b6040805163ffffffff8316815242602082015283917fa945e51eec50ab98c161376f0db4cf2aeba3ec92755fe2fcd388bdbbb80ff196910160405180910390a250506001600455565b3415610c875760405162461bcd60e51b815260206004820152603560248201527f4d6573736167652076616c756520697320737570706f73656420746f206265206044820152747a65726f20666f722045544820696e7374616e636560581b6064820152608401610520565b8015610cf25760405162461bcd60e51b815260206004820152603460248201527f526566756e642076616c756520697320737570706f73656420746f206265207a60448201527365726f20666f722045544820696e7374616e636560601b6064820152608401610520565b60006001600160a01b038516610d28847f0000000000000000000000000000000000000000000000000000000000000000611441565b604051600081818185875af1925050503d8060008114610d64576040519150601f19603f3d011682016040523d82523d6000602084013e610d69565b606091505b5050905080610dc85760405162461bcd60e51b815260206004820152602560248201527f7061796d656e7420746f205f726563697069656e7420646964206e6f7420676f604482015264207468727560d81b6064820152608401610520565b8215610e7b576040516001600160a01b038516908490600081818185875af1925050503d8060008114610e17576040519150601f19603f3d011682016040523d82523d6000602084013e610e1c565b606091505b50508091505080610e7b5760405162461bcd60e51b815260206004820152602360248201527f7061796d656e7420746f205f72656c6179657220646964206e6f7420676f207460448201526268727560e81b6064820152608401610520565b5050505050565b600354600090640100000000900463ffffffff16610ec17f0000000000000000000000000000000000000000000000000000000000000000600261156b565b63ffffffff168163ffffffff1603610f345760405162461bcd60e51b815260206004820152603060248201527f4d65726b6c6520747265652069732066756c6c2e204e6f206d6f7265206c656160448201526f1d995cc818d85b88189948185919195960821b6064820152608401610520565b8083600080805b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff168163ffffffff16101561101257610f7a600286611588565b63ffffffff16600003610fb45763ffffffff8116600090815260016020908152604080832054918390529091208590558493509150610fd0565b63ffffffff811660009081526020819052604090205492508391505b610ffb7f0000000000000000000000000000000000000000000000000000000000000000848461085b565b93506110086002866115ab565b9450600101610f3b565b50600354600090601e9061102d9063ffffffff1660016115ce565b6110379190611588565b6003805463ffffffff191663ffffffff83169081179091556000908152600260205260409020859055905061106d8660016115ce565b6003805463ffffffff929092166401000000000267ffffffff000000001990921691909117905550939695505050505050565b7f000000000000000000000000000000000000000000000000000000000000000034146111355760405162461bcd60e51b815260206004820152603860248201527f506c656173652073656e6420606d697844656e6f6d696e6174696f6e6020455460448201527f4820616c6f6e672077697468207472616e73616374696f6e00000000000000006064820152608401610520565b565b60006020828403121561114957600080fd5b5035919050565b6001600160a01b038116811461116557600080fd5b50565b803561117381611150565b919050565b60008060008060008060008060e0898b03121561119457600080fd5b883567ffffffffffffffff808211156111ac57600080fd5b818b0191508b601f8301126111c057600080fd5b8135818111156111cf57600080fd5b8c60208285010111156111e157600080fd5b60209283019a5098505089013595506040890135945061120360608a01611168565b935061121160808a01611168565b925060a0890135915060c089013590509295985092959890939650565b60008060006060848603121561124357600080fd5b833561124e81611150565b95602085013595506040909401359392505050565b6000806020838503121561127657600080fd5b823567ffffffffffffffff8082111561128e57600080fd5b818501915085601f8301126112a257600080fd5b8135818111156112b157600080fd5b8660208260051b85010111156112c657600080fd5b60209290920196919550909350505050565b6020808252825182820181905260009190848201906040850190845b818110156113125783511515835292840192918401916001016112f4565b50909695505050505050565b60e081528260e08201526000610100848682850137600081868501015280601f19601f87011684010191505060208083018460005b600681101561137057815183529183019190830190600101611353565b50505050949350505050565b60006020828403121561138e57600080fd5b8151801515811461139e57600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b600063ffffffff8216806113d1576113d16113a5565b6000190192915050565b600080604083850312156113ee57600080fd5b505080516020909101519092909150565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b81810381811115611454576114546113a5565b92915050565b600181815b80851115611497578163ffffffff0482111561147d5761147d6113a5565b8085161561148a57918102915b93841c939080029061145f565b509250929050565b6000826114ae57506001611454565b816114bb57506000611454565b81600181146114d157600281146114db5761150c565b6001915050611454565b60ff8411156114ec576114ec6113a5565b6001841b915063ffffffff821115611506576115066113a5565b50611454565b5060208310610133831016604e8410600b8410161715611543575081810a63ffffffff81111561153e5761153e6113a5565b611454565b61154d838361145a565b8063ffffffff04821115611563576115636113a5565b029392505050565b600063ffffffff61158081851682851661149f565b949350505050565b600063ffffffff8084168061159f5761159f6113ff565b92169190910692915050565b600063ffffffff808416806115c2576115c26113ff565b92169190910492915050565b63ffffffff818116838216019080821115610add57610add6113a556fe30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001a2646970667358221220267f40202364f981d5a2318bca43d1a8beff64b8785905fc2621de01f8449b3964736f6c6343000819003330644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001"; + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "contract IVerifier"; + readonly name: "_verifier"; + readonly type: "address"; + }, { + readonly internalType: "contract IHasher"; + readonly name: "_hasher"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "_denomination"; + readonly type: "uint256"; + }, { + readonly internalType: "uint32"; + readonly name: "_merkleTreeHeight"; + readonly type: "uint32"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "constructor"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "bytes32"; + readonly name: "commitment"; + readonly type: "bytes32"; + }, { + readonly indexed: false; + readonly internalType: "uint32"; + readonly name: "leafIndex"; + readonly type: "uint32"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "timestamp"; + readonly type: "uint256"; + }]; + readonly name: "Deposit"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: false; + readonly internalType: "address"; + readonly name: "to"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "bytes32"; + readonly name: "nullifierHash"; + readonly type: "bytes32"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "relayer"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "fee"; + readonly type: "uint256"; + }]; + readonly name: "Withdrawal"; + readonly type: "event"; + }, { + readonly inputs: readonly []; + readonly name: "FIELD_SIZE"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "ROOT_HISTORY_SIZE"; + readonly outputs: readonly [{ + readonly internalType: "uint32"; + readonly name: ""; + readonly type: "uint32"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "ZERO_VALUE"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: ""; + readonly type: "bytes32"; + }]; + readonly name: "commitments"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "currentRootIndex"; + readonly outputs: readonly [{ + readonly internalType: "uint32"; + readonly name: ""; + readonly type: "uint32"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "denomination"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: "_commitment"; + readonly type: "bytes32"; + }]; + readonly name: "deposit"; + readonly outputs: readonly []; + readonly stateMutability: "payable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly name: "filledSubtrees"; + readonly outputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: ""; + readonly type: "bytes32"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "getLastRoot"; + readonly outputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: ""; + readonly type: "bytes32"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "contract IHasher"; + readonly name: "_hasher"; + readonly type: "address"; + }, { + readonly internalType: "bytes32"; + readonly name: "_left"; + readonly type: "bytes32"; + }, { + readonly internalType: "bytes32"; + readonly name: "_right"; + readonly type: "bytes32"; + }]; + readonly name: "hashLeftRight"; + readonly outputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: ""; + readonly type: "bytes32"; + }]; + readonly stateMutability: "pure"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "hasher"; + readonly outputs: readonly [{ + readonly internalType: "contract IHasher"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: "_root"; + readonly type: "bytes32"; + }]; + readonly name: "isKnownRoot"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: "_nullifierHash"; + readonly type: "bytes32"; + }]; + readonly name: "isSpent"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes32[]"; + readonly name: "_nullifierHashes"; + readonly type: "bytes32[]"; + }]; + readonly name: "isSpentArray"; + readonly outputs: readonly [{ + readonly internalType: "bool[]"; + readonly name: "spent"; + readonly type: "bool[]"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "levels"; + readonly outputs: readonly [{ + readonly internalType: "uint32"; + readonly name: ""; + readonly type: "uint32"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "nextIndex"; + readonly outputs: readonly [{ + readonly internalType: "uint32"; + readonly name: ""; + readonly type: "uint32"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: ""; + readonly type: "bytes32"; + }]; + readonly name: "nullifierHashes"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly name: "roots"; + readonly outputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: ""; + readonly type: "bytes32"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "verifier"; + readonly outputs: readonly [{ + readonly internalType: "contract IVerifier"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes"; + readonly name: "_proof"; + readonly type: "bytes"; + }, { + readonly internalType: "bytes32"; + readonly name: "_root"; + readonly type: "bytes32"; + }, { + readonly internalType: "bytes32"; + readonly name: "_nullifierHash"; + readonly type: "bytes32"; + }, { + readonly internalType: "address payable"; + readonly name: "_recipient"; + readonly type: "address"; + }, { + readonly internalType: "address payable"; + readonly name: "_relayer"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "_fee"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "_refund"; + readonly type: "uint256"; + }]; + readonly name: "withdraw"; + readonly outputs: readonly []; + readonly stateMutability: "payable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly name: "zeros"; + readonly outputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: ""; + readonly type: "bytes32"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }]; + static createInterface(): ETHTornadoInterface; + static connect(address: string, runner?: ContractRunner | null): ETHTornado; +} +export {}; diff --git a/dist/factories/contracts/Classic/Echoer__factory.d.ts b/dist/factories/contracts/Classic/Echoer__factory.d.ts new file mode 100644 index 0000000..27723e1 --- /dev/null +++ b/dist/factories/contracts/Classic/Echoer__factory.d.ts @@ -0,0 +1,47 @@ +import { ContractFactory, ContractTransactionResponse } from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../common"; +import type { Echoer, EchoerInterface } from "../../../contracts/Classic/Echoer"; +type EchoerConstructorParams = [signer?: Signer] | ConstructorParameters; +export declare class Echoer__factory extends ContractFactory { + constructor(...args: EchoerConstructorParams); + getDeployTransaction(overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + deploy(overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + connect(runner: ContractRunner | null): Echoer__factory; + static readonly bytecode = "0x6080604052348015600f57600080fd5b506101638061001f6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063624fbfdc14610030575b600080fd5b61004361003e36600461008c565b610045565b005b336001600160a01b03167f50d6f3fc915efd1695d8a4cb50da185984f50d256834b9cb308295eb3c872c9c83836040516100809291906100fe565b60405180910390a25050565b6000806020838503121561009f57600080fd5b823567ffffffffffffffff808211156100b757600080fd5b818501915085601f8301126100cb57600080fd5b8135818111156100da57600080fd5b8660208285010111156100ec57600080fd5b60209290920196919550909350505050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f1916010191905056fea2646970667358221220cadc2288aafcfeb373ae536503c025419ca51a0b1642ad003ff215a6bff8658464736f6c63430008190033"; + static readonly abi: readonly [{ + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "who"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "bytes"; + readonly name: "data"; + readonly type: "bytes"; + }]; + readonly name: "Echo"; + readonly type: "event"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes"; + readonly name: "_data"; + readonly type: "bytes"; + }]; + readonly name: "echo"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }]; + static createInterface(): EchoerInterface; + static connect(address: string, runner?: ContractRunner | null): Echoer; +} +export {}; diff --git a/dist/factories/contracts/Classic/MerkleTreeWithHistory.sol/IHasher__factory.d.ts b/dist/factories/contracts/Classic/MerkleTreeWithHistory.sol/IHasher__factory.d.ts new file mode 100644 index 0000000..009d53a --- /dev/null +++ b/dist/factories/contracts/Classic/MerkleTreeWithHistory.sol/IHasher__factory.d.ts @@ -0,0 +1,29 @@ +import { type ContractRunner } from "ethers"; +import type { IHasher, IHasherInterface } from "../../../../contracts/Classic/MerkleTreeWithHistory.sol/IHasher"; +export declare class IHasher__factory { + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "in_xL"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "in_xR"; + readonly type: "uint256"; + }]; + readonly name: "MiMCSponge"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "xL"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "xR"; + readonly type: "uint256"; + }]; + readonly stateMutability: "pure"; + readonly type: "function"; + }]; + static createInterface(): IHasherInterface; + static connect(address: string, runner?: ContractRunner | null): IHasher; +} diff --git a/dist/factories/contracts/Classic/MerkleTreeWithHistory.sol/MerkleTreeWithHistory__factory.d.ts b/dist/factories/contracts/Classic/MerkleTreeWithHistory.sol/MerkleTreeWithHistory__factory.d.ts new file mode 100644 index 0000000..07dcf8e --- /dev/null +++ b/dist/factories/contracts/Classic/MerkleTreeWithHistory.sol/MerkleTreeWithHistory__factory.d.ts @@ -0,0 +1,192 @@ +import { ContractFactory, ContractTransactionResponse } from "ethers"; +import type { Signer, BigNumberish, AddressLike, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../common"; +import type { MerkleTreeWithHistory, MerkleTreeWithHistoryInterface } from "../../../../contracts/Classic/MerkleTreeWithHistory.sol/MerkleTreeWithHistory"; +type MerkleTreeWithHistoryConstructorParams = [signer?: Signer] | ConstructorParameters; +export declare class MerkleTreeWithHistory__factory extends ContractFactory { + constructor(...args: MerkleTreeWithHistoryConstructorParams); + getDeployTransaction(_levels: BigNumberish, _hasher: AddressLike, overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + deploy(_levels: BigNumberish, _hasher: AddressLike, overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + connect(runner: ContractRunner | null): MerkleTreeWithHistory__factory; + static readonly bytecode = "0x60c0604052600380546001600160401b031916905534801561002057600080fd5b50604051610a10380380610a1083398101604081905261003f91610385565b60008263ffffffff16116100a65760405162461bcd60e51b815260206004820152602360248201527f5f6c6576656c732073686f756c642062652067726561746572207468616e207a60448201526265726f60e81b60648201526084015b60405180910390fd5b60208263ffffffff16106100fc5760405162461bcd60e51b815260206004820152601e60248201527f5f6c6576656c732073686f756c64206265206c657373207468616e2033320000604482015260640161009d565b63ffffffff821660a0526001600160a01b0381166080527f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c60005b8363ffffffff168163ffffffff1610156101845763ffffffff8116600090815260016020908152604080832085905590829052902082905561017a8383806101b8565b9150600101610137565b506000805260026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b55506103f89050565b60006000805160206109f083398151915283106102175760405162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c64604482015260640161009d565b6000805160206109f0833981519152821061027e5760405162461bcd60e51b815260206004820152602160248201527f5f72696768742073686f756c6420626520696e7369646520746865206669656c6044820152601960fa1b606482015260840161009d565b60405163f47d33b560e01b81526004810184905260006024820181905284916001600160a01b0387169063f47d33b5906044016040805180830381865afa1580156102cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f191906103d4565b90925090506000805160206109f083398151915284830860405163f47d33b560e01b815260048101829052602481018390529092506001600160a01b0387169063f47d33b5906044016040805180830381865afa158015610356573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061037a91906103d4565b509695505050505050565b6000806040838503121561039857600080fd5b825163ffffffff811681146103ac57600080fd5b60208401519092506001600160a01b03811681146103c957600080fd5b809150509250929050565b600080604083850312156103e757600080fd5b505080516020909101519092909150565b60805160a0516105d361041d60003960006101010152600061020f01526105d36000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063c2b40ae41161008c578063ec73295911610066578063ec732959146101e3578063ed33639f1461020a578063f178e47c14610249578063fc7e9c6f1461026957600080fd5b8063c2b40ae41461019b578063cd87a3b4146101bb578063e8295588146101c357600080fd5b8063414a37ba146100d45780634ecf518b146100fc5780636d9833e3146101385780638ea3099e1461015b57806390eeb02b1461016e578063ba70f7571461017e575b600080fd5b6100e960008051602061057e83398151915281565b6040519081526020015b60405180910390f35b6101237f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016100f3565b61014b6101463660046104d1565b610281565b60405190151581526020016100f3565b6100e96101693660046104ea565b6102ff565b6003546101239063ffffffff1681565b60035463ffffffff166000908152600260205260409020546100e9565b6100e96101a93660046104d1565b60026020526000908152604090205481565b610123601e81565b6100e96101d13660046104d1565b60016020526000908152604090205481565b6100e97f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c81565b6102317f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100f3565b6100e96102573660046104d1565b60006020819052908152604090205481565b60035461012390640100000000900463ffffffff1681565b600081810361029257506000919050565b60035463ffffffff16805b63ffffffff811660009081526002602052604090205484036102c3575060019392505050565b8063ffffffff166000036102d55750601e5b806102df8161052b565b9150508163ffffffff168163ffffffff160361029d575060009392505050565b600060008051602061057e83398151915283106103635760405162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c6460448201526064015b60405180910390fd5b60008051602061057e83398151915282106103ca5760405162461bcd60e51b815260206004820152602160248201527f5f72696768742073686f756c6420626520696e7369646520746865206669656c6044820152601960fa1b606482015260840161035a565b60405163f47d33b560e01b81526004810184905260006024820181905284916001600160a01b0387169063f47d33b5906044016040805180830381865afa158015610419573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061043d9190610559565b909250905060008051602061057e83398151915284830860405163f47d33b560e01b815260048101829052602481018390529092506001600160a01b0387169063f47d33b5906044016040805180830381865afa1580156104a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104c69190610559565b509695505050505050565b6000602082840312156104e357600080fd5b5035919050565b6000806000606084860312156104ff57600080fd5b83356001600160a01b038116811461051657600080fd5b95602085013595506040909401359392505050565b600063ffffffff82168061054f57634e487b7160e01b600052601160045260246000fd5b6000190192915050565b6000806040838503121561056c57600080fd5b50508051602090910151909290915056fe30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001a2646970667358221220073b750aae4dba8655a2e525b0e8b02446e762412e24ec1684e134ada3303bda64736f6c6343000819003330644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001"; + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "uint32"; + readonly name: "_levels"; + readonly type: "uint32"; + }, { + readonly internalType: "contract IHasher"; + readonly name: "_hasher"; + readonly type: "address"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "constructor"; + }, { + readonly inputs: readonly []; + readonly name: "FIELD_SIZE"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "ROOT_HISTORY_SIZE"; + readonly outputs: readonly [{ + readonly internalType: "uint32"; + readonly name: ""; + readonly type: "uint32"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "ZERO_VALUE"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "currentRootIndex"; + readonly outputs: readonly [{ + readonly internalType: "uint32"; + readonly name: ""; + readonly type: "uint32"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly name: "filledSubtrees"; + readonly outputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: ""; + readonly type: "bytes32"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "getLastRoot"; + readonly outputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: ""; + readonly type: "bytes32"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "contract IHasher"; + readonly name: "_hasher"; + readonly type: "address"; + }, { + readonly internalType: "bytes32"; + readonly name: "_left"; + readonly type: "bytes32"; + }, { + readonly internalType: "bytes32"; + readonly name: "_right"; + readonly type: "bytes32"; + }]; + readonly name: "hashLeftRight"; + readonly outputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: ""; + readonly type: "bytes32"; + }]; + readonly stateMutability: "pure"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "hasher"; + readonly outputs: readonly [{ + readonly internalType: "contract IHasher"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: "_root"; + readonly type: "bytes32"; + }]; + readonly name: "isKnownRoot"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "levels"; + readonly outputs: readonly [{ + readonly internalType: "uint32"; + readonly name: ""; + readonly type: "uint32"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "nextIndex"; + readonly outputs: readonly [{ + readonly internalType: "uint32"; + readonly name: ""; + readonly type: "uint32"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly name: "roots"; + readonly outputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: ""; + readonly type: "bytes32"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly name: "zeros"; + readonly outputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: ""; + readonly type: "bytes32"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }]; + static createInterface(): MerkleTreeWithHistoryInterface; + static connect(address: string, runner?: ContractRunner | null): MerkleTreeWithHistory; +} +export {}; diff --git a/dist/factories/contracts/Classic/MerkleTreeWithHistory.sol/index.d.ts b/dist/factories/contracts/Classic/MerkleTreeWithHistory.sol/index.d.ts new file mode 100644 index 0000000..a3d8056 --- /dev/null +++ b/dist/factories/contracts/Classic/MerkleTreeWithHistory.sol/index.d.ts @@ -0,0 +1,2 @@ +export { IHasher__factory } from "./IHasher__factory"; +export { MerkleTreeWithHistory__factory } from "./MerkleTreeWithHistory__factory"; diff --git a/dist/factories/contracts/Classic/Mocks/BadRecipient__factory.d.ts b/dist/factories/contracts/Classic/Mocks/BadRecipient__factory.d.ts new file mode 100644 index 0000000..245ad16 --- /dev/null +++ b/dist/factories/contracts/Classic/Mocks/BadRecipient__factory.d.ts @@ -0,0 +1,25 @@ +import { ContractFactory, ContractTransactionResponse } from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../common"; +import type { BadRecipient, BadRecipientInterface } from "../../../../contracts/Classic/Mocks/BadRecipient"; +type BadRecipientConstructorParams = [signer?: Signer] | ConstructorParameters; +export declare class BadRecipient__factory extends ContractFactory { + constructor(...args: BadRecipientConstructorParams); + getDeployTransaction(overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + deploy(overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + connect(runner: ContractRunner | null): BadRecipient__factory; + static readonly bytecode = "0x6080604052348015600f57600080fd5b50609c80601d6000396000f3fe6080604052348015600f57600080fd5b5060405162461bcd60e51b815260206004820152602160248201527f7468697320636f6e747261637420646f6573206e6f74206163636570742045546044820152600960fb1b606482015260840160405180910390fdfea264697066735822122034c2432feedadd0f30a6f66555381c20922b6ab7c9b3ede4c27896b23e802a8264736f6c63430008190033"; + static readonly abi: readonly [{ + readonly stateMutability: "nonpayable"; + readonly type: "fallback"; + }]; + static createInterface(): BadRecipientInterface; + static connect(address: string, runner?: ContractRunner | null): BadRecipient; +} +export {}; diff --git a/dist/factories/contracts/Classic/Mocks/ERC20Mock__factory.d.ts b/dist/factories/contracts/Classic/Mocks/ERC20Mock__factory.d.ts new file mode 100644 index 0000000..39c873c --- /dev/null +++ b/dist/factories/contracts/Classic/Mocks/ERC20Mock__factory.d.ts @@ -0,0 +1,270 @@ +import { ContractFactory, ContractTransactionResponse } from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../common"; +import type { ERC20Mock, ERC20MockInterface } from "../../../../contracts/Classic/Mocks/ERC20Mock"; +type ERC20MockConstructorParams = [signer?: Signer] | ConstructorParameters; +export declare class ERC20Mock__factory extends ContractFactory { + constructor(...args: ERC20MockConstructorParams); + getDeployTransaction(overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + deploy(overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + connect(runner: ContractRunner | null): ERC20Mock__factory; + static readonly bytecode = "0x608060405234801561001057600080fd5b50604051806040016040528060078152602001664441494d6f636b60c81b815250604051806040016040528060048152602001634441494d60e01b815250816003908161005d9190610113565b50600461006a8282610113565b5050506101d2565b634e487b7160e01b600052604160045260246000fd5b600181811c9082168061009c57607f821691505b6020821081036100bc57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561010e576000816000526020600020601f850160051c810160208610156100eb5750805b601f850160051c820191505b8181101561010a578281556001016100f7565b5050505b505050565b81516001600160401b0381111561012c5761012c610072565b6101408161013a8454610088565b846100c2565b602080601f831160018114610175576000841561015d5750858301515b600019600386901b1c1916600185901b17855561010a565b600085815260208120601f198616915b828110156101a457888601518255948401946001909101908401610185565b50858210156101c25787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610785806101e16000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c806340c10f191161006657806340c10f191461011857806370a082311461012d57806395d89b4114610156578063a9059cbb1461015e578063dd62ed3e1461017157600080fd5b806306fdde03146100a3578063095ea7b3146100c157806318160ddd146100e457806323b872dd146100f6578063313ce56714610109575b600080fd5b6100ab6101aa565b6040516100b891906105ce565b60405180910390f35b6100d46100cf366004610639565b61023c565b60405190151581526020016100b8565b6002545b6040519081526020016100b8565b6100d4610104366004610663565b610256565b604051601281526020016100b8565b61012b610126366004610639565b61027a565b005b6100e861013b36600461069f565b6001600160a01b031660009081526020819052604090205490565b6100ab610288565b6100d461016c366004610639565b610297565b6100e861017f3660046106c1565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6060600380546101b9906106f4565b80601f01602080910402602001604051908101604052809291908181526020018280546101e5906106f4565b80156102325780601f1061020757610100808354040283529160200191610232565b820191906000526020600020905b81548152906001019060200180831161021557829003601f168201915b5050505050905090565b60003361024a8185856102a5565b60019150505b92915050565b6000336102648582856102b7565b61026f85858561033a565b506001949350505050565b6102848282610399565b5050565b6060600480546101b9906106f4565b60003361024a81858561033a565b6102b283838360016103cf565b505050565b6001600160a01b038381166000908152600160209081526040808320938616835292905220546000198114610334578181101561032557604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064015b60405180910390fd5b610334848484840360006103cf565b50505050565b6001600160a01b03831661036457604051634b637e8f60e11b81526000600482015260240161031c565b6001600160a01b03821661038e5760405163ec442f0560e01b81526000600482015260240161031c565b6102b28383836104a4565b6001600160a01b0382166103c35760405163ec442f0560e01b81526000600482015260240161031c565b610284600083836104a4565b6001600160a01b0384166103f95760405163e602df0560e01b81526000600482015260240161031c565b6001600160a01b03831661042357604051634a1406b160e11b81526000600482015260240161031c565b6001600160a01b038085166000908152600160209081526040808320938716835292905220829055801561033457826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161049691815260200190565b60405180910390a350505050565b6001600160a01b0383166104cf5780600260008282546104c4919061072e565b909155506105419050565b6001600160a01b038316600090815260208190526040902054818110156105225760405163391434e360e21b81526001600160a01b0385166004820152602481018290526044810183905260640161031c565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b03821661055d5760028054829003905561057c565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516105c191815260200190565b60405180910390a3505050565b60006020808352835180602085015260005b818110156105fc578581018301518582016040015282016105e0565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461063457600080fd5b919050565b6000806040838503121561064c57600080fd5b6106558361061d565b946020939093013593505050565b60008060006060848603121561067857600080fd5b6106818461061d565b925061068f6020850161061d565b9150604084013590509250925092565b6000602082840312156106b157600080fd5b6106ba8261061d565b9392505050565b600080604083850312156106d457600080fd5b6106dd8361061d565b91506106eb6020840161061d565b90509250929050565b600181811c9082168061070857607f821691505b60208210810361072857634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561025057634e487b7160e01b600052601160045260246000fdfea264697066735822122058942fcc650d3670455590fabbf6c5726b3ae7df7b57e75bc02cb2c66259d45b64736f6c63430008190033"; + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "allowance"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "needed"; + readonly type: "uint256"; + }]; + readonly name: "ERC20InsufficientAllowance"; + readonly type: "error"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "sender"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "balance"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "needed"; + readonly type: "uint256"; + }]; + readonly name: "ERC20InsufficientBalance"; + readonly type: "error"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "approver"; + readonly type: "address"; + }]; + readonly name: "ERC20InvalidApprover"; + readonly type: "error"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "receiver"; + readonly type: "address"; + }]; + readonly name: "ERC20InvalidReceiver"; + readonly type: "error"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "sender"; + readonly type: "address"; + }]; + readonly name: "ERC20InvalidSender"; + readonly type: "error"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }]; + readonly name: "ERC20InvalidSpender"; + readonly type: "error"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "value"; + readonly type: "uint256"; + }]; + readonly name: "Approval"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "from"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "to"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "value"; + readonly type: "uint256"; + }]; + readonly name: "Transfer"; + readonly type: "event"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }]; + readonly name: "allowance"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "value"; + readonly type: "uint256"; + }]; + readonly name: "approve"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "account"; + readonly type: "address"; + }]; + readonly name: "balanceOf"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "decimals"; + readonly outputs: readonly [{ + readonly internalType: "uint8"; + readonly name: ""; + readonly type: "uint8"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "account"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "mint"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "name"; + readonly outputs: readonly [{ + readonly internalType: "string"; + readonly name: ""; + readonly type: "string"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "symbol"; + readonly outputs: readonly [{ + readonly internalType: "string"; + readonly name: ""; + readonly type: "string"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "totalSupply"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "to"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "value"; + readonly type: "uint256"; + }]; + readonly name: "transfer"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "from"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "to"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "value"; + readonly type: "uint256"; + }]; + readonly name: "transferFrom"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }]; + static createInterface(): ERC20MockInterface; + static connect(address: string, runner?: ContractRunner | null): ERC20Mock; +} +export {}; diff --git a/dist/factories/contracts/Classic/Mocks/IDeployer__factory.d.ts b/dist/factories/contracts/Classic/Mocks/IDeployer__factory.d.ts new file mode 100644 index 0000000..eab785e --- /dev/null +++ b/dist/factories/contracts/Classic/Mocks/IDeployer__factory.d.ts @@ -0,0 +1,25 @@ +import { type ContractRunner } from "ethers"; +import type { IDeployer, IDeployerInterface } from "../../../../contracts/Classic/Mocks/IDeployer"; +export declare class IDeployer__factory { + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "bytes"; + readonly name: "_initCode"; + readonly type: "bytes"; + }, { + readonly internalType: "bytes32"; + readonly name: "_salt"; + readonly type: "bytes32"; + }]; + readonly name: "deploy"; + readonly outputs: readonly [{ + readonly internalType: "address payable"; + readonly name: "createdContract"; + readonly type: "address"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }]; + static createInterface(): IDeployerInterface; + static connect(address: string, runner?: ContractRunner | null): IDeployer; +} diff --git a/dist/factories/contracts/Classic/Mocks/IUSDT.sol/ERC20Basic__factory.d.ts b/dist/factories/contracts/Classic/Mocks/IUSDT.sol/ERC20Basic__factory.d.ts new file mode 100644 index 0000000..d25d78b --- /dev/null +++ b/dist/factories/contracts/Classic/Mocks/IUSDT.sol/ERC20Basic__factory.d.ts @@ -0,0 +1,75 @@ +import { type ContractRunner } from "ethers"; +import type { ERC20Basic, ERC20BasicInterface } from "../../../../../contracts/Classic/Mocks/IUSDT.sol/ERC20Basic"; +export declare class ERC20Basic__factory { + static readonly abi: readonly [{ + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "from"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "to"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "value"; + readonly type: "uint256"; + }]; + readonly name: "Transfer"; + readonly type: "event"; + }, { + readonly inputs: readonly []; + readonly name: "_totalSupply"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "who"; + readonly type: "address"; + }]; + readonly name: "balanceOf"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "totalSupply"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "to"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "value"; + readonly type: "uint256"; + }]; + readonly name: "transfer"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }]; + static createInterface(): ERC20BasicInterface; + static connect(address: string, runner?: ContractRunner | null): ERC20Basic; +} diff --git a/dist/factories/contracts/Classic/Mocks/IUSDT.sol/IUSDT__factory.d.ts b/dist/factories/contracts/Classic/Mocks/IUSDT.sol/IUSDT__factory.d.ts new file mode 100644 index 0000000..a291787 --- /dev/null +++ b/dist/factories/contracts/Classic/Mocks/IUSDT.sol/IUSDT__factory.d.ts @@ -0,0 +1,145 @@ +import { type ContractRunner } from "ethers"; +import type { IUSDT, IUSDTInterface } from "../../../../../contracts/Classic/Mocks/IUSDT.sol/IUSDT"; +export declare class IUSDT__factory { + static readonly abi: readonly [{ + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "value"; + readonly type: "uint256"; + }]; + readonly name: "Approval"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "from"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "to"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "value"; + readonly type: "uint256"; + }]; + readonly name: "Transfer"; + readonly type: "event"; + }, { + readonly inputs: readonly []; + readonly name: "_totalSupply"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }]; + readonly name: "allowance"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "value"; + readonly type: "uint256"; + }]; + readonly name: "approve"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "who"; + readonly type: "address"; + }]; + readonly name: "balanceOf"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "totalSupply"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "to"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "value"; + readonly type: "uint256"; + }]; + readonly name: "transfer"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "from"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "to"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "value"; + readonly type: "uint256"; + }]; + readonly name: "transferFrom"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }]; + static createInterface(): IUSDTInterface; + static connect(address: string, runner?: ContractRunner | null): IUSDT; +} diff --git a/dist/factories/contracts/Classic/Mocks/IUSDT.sol/index.d.ts b/dist/factories/contracts/Classic/Mocks/IUSDT.sol/index.d.ts new file mode 100644 index 0000000..0528688 --- /dev/null +++ b/dist/factories/contracts/Classic/Mocks/IUSDT.sol/index.d.ts @@ -0,0 +1,2 @@ +export { ERC20Basic__factory } from "./ERC20Basic__factory"; +export { IUSDT__factory } from "./IUSDT__factory"; diff --git a/dist/factories/contracts/Classic/Mocks/MerkleTreeWithHistoryMock__factory.d.ts b/dist/factories/contracts/Classic/Mocks/MerkleTreeWithHistoryMock__factory.d.ts new file mode 100644 index 0000000..27a1c63 --- /dev/null +++ b/dist/factories/contracts/Classic/Mocks/MerkleTreeWithHistoryMock__factory.d.ts @@ -0,0 +1,202 @@ +import { ContractFactory, ContractTransactionResponse } from "ethers"; +import type { Signer, BigNumberish, AddressLike, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../common"; +import type { MerkleTreeWithHistoryMock, MerkleTreeWithHistoryMockInterface } from "../../../../contracts/Classic/Mocks/MerkleTreeWithHistoryMock"; +type MerkleTreeWithHistoryMockConstructorParams = [signer?: Signer] | ConstructorParameters; +export declare class MerkleTreeWithHistoryMock__factory extends ContractFactory { + constructor(...args: MerkleTreeWithHistoryMockConstructorParams); + getDeployTransaction(_treeLevels: BigNumberish, _hasher: AddressLike, overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + deploy(_treeLevels: BigNumberish, _hasher: AddressLike, overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + connect(runner: ContractRunner | null): MerkleTreeWithHistoryMock__factory; + static readonly bytecode = "0x60c0604052600380546001600160401b031916905534801561002057600080fd5b50604051610e3c380380610e3c83398101604081905261003f91610389565b818160008263ffffffff16116100a85760405162461bcd60e51b815260206004820152602360248201527f5f6c6576656c732073686f756c642062652067726561746572207468616e207a60448201526265726f60e81b60648201526084015b60405180910390fd5b60208263ffffffff16106100fe5760405162461bcd60e51b815260206004820152601e60248201527f5f6c6576656c732073686f756c64206265206c657373207468616e2033320000604482015260640161009f565b63ffffffff821660a0526001600160a01b0381166080527f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c60005b8363ffffffff168163ffffffff1610156101865763ffffffff8116600090815260016020908152604080832085905590829052902082905561017c8383806101bc565b9150600101610139565b506000805260026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b55506103fc92505050565b6000600080516020610e1c833981519152831061021b5760405162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c64604482015260640161009f565b600080516020610e1c83398151915282106102825760405162461bcd60e51b815260206004820152602160248201527f5f72696768742073686f756c6420626520696e7369646520746865206669656c6044820152601960fa1b606482015260840161009f565b60405163f47d33b560e01b81526004810184905260006024820181905284916001600160a01b0387169063f47d33b5906044016040805180830381865afa1580156102d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f591906103d8565b9092509050600080516020610e1c83398151915284830860405163f47d33b560e01b815260048101829052602481018390529092506001600160a01b0387169063f47d33b5906044016040805180830381865afa15801561035a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061037e91906103d8565b509695505050505050565b6000806040838503121561039c57600080fd5b825163ffffffff811681146103b057600080fd5b60208401519092506001600160a01b03811681146103cd57600080fd5b809150509250929050565b600080604083850312156103eb57600080fd5b505080516020909101519092909150565b60805160a0516109e6610436600039600081816101310152818161052701526105c901526000818161023f015261066101526109e66000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063c2b40ae41161008c578063ec73295911610066578063ec73295914610213578063ed33639f1461023a578063f178e47c14610279578063fc7e9c6f1461029957600080fd5b8063c2b40ae4146101cb578063cd87a3b4146101eb578063e8295588146101f357600080fd5b80636d9833e3116100c85780636d9833e3146101685780638ea3099e1461018b57806390eeb02b1461019e578063ba70f757146101ae57600080fd5b80632d287e43146100ef578063414a37ba146101045780634ecf518b1461012c575b600080fd5b6101026100fd36600461072c565b6102b1565b005b61011960008051602061099183398151915281565b6040519081526020015b60405180910390f35b6101537f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff9091168152602001610123565b61017b61017636600461072c565b6102be565b6040519015158152602001610123565b610119610199366004610745565b61033c565b6003546101539063ffffffff1681565b60035463ffffffff16600090815260026020526040902054610119565b6101196101d936600461072c565b60026020526000908152604090205481565b610153601e81565b61011961020136600461072c565b60016020526000908152604090205481565b6101197f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c81565b6102617f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610123565b61011961028736600461072c565b60006020819052908152604090205481565b60035461015390640100000000900463ffffffff1681565b6102ba8161050e565b5050565b60008181036102cf57506000919050565b60035463ffffffff16805b63ffffffff81166000908152600260205260409020548403610300575060019392505050565b8063ffffffff166000036103125750601e5b8061031c8161079c565b9150508163ffffffff168163ffffffff16036102da575060009392505050565b600060008051602061099183398151915283106103a05760405162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c6460448201526064015b60405180910390fd5b60008051602061099183398151915282106104075760405162461bcd60e51b815260206004820152602160248201527f5f72696768742073686f756c6420626520696e7369646520746865206669656c6044820152601960fa1b6064820152608401610397565b60405163f47d33b560e01b81526004810184905260006024820181905284916001600160a01b0387169063f47d33b5906044016040805180830381865afa158015610456573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061047a91906107bc565b909250905060008051602061099183398151915284830860405163f47d33b560e01b815260048101829052602481018390529092506001600160a01b0387169063f47d33b5906044016040805180830381865afa1580156104df573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061050391906107bc565b509695505050505050565b600354600090640100000000900463ffffffff1661054d7f00000000000000000000000000000000000000000000000000000000000000006002610909565b63ffffffff168163ffffffff16036105c05760405162461bcd60e51b815260206004820152603060248201527f4d65726b6c6520747265652069732066756c6c2e204e6f206d6f7265206c656160448201526f1d995cc818d85b88189948185919195960821b6064820152608401610397565b8083600080805b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff168163ffffffff16101561069e57610606600286610926565b63ffffffff166000036106405763ffffffff811660009081526001602090815260408083205491839052909120859055849350915061065c565b63ffffffff811660009081526020819052604090205492508391505b6106877f0000000000000000000000000000000000000000000000000000000000000000848461033c565b9350610694600286610949565b94506001016105c7565b50600354600090601e906106b99063ffffffff16600161096c565b6106c39190610926565b6003805463ffffffff191663ffffffff8316908117909155600090815260026020526040902085905590506106f986600161096c565b6003805463ffffffff929092166401000000000267ffffffff000000001990921691909117905550939695505050505050565b60006020828403121561073e57600080fd5b5035919050565b60008060006060848603121561075a57600080fd5b83356001600160a01b038116811461077157600080fd5b95602085013595506040909401359392505050565b634e487b7160e01b600052601160045260246000fd5b600063ffffffff8216806107b2576107b2610786565b6000190192915050565b600080604083850312156107cf57600080fd5b505080516020909101519092909150565b634e487b7160e01b600052601260045260246000fd5b600181815b80851115610833578163ffffffff0482111561081957610819610786565b8085161561082657918102915b93841c93908002906107fb565b509250929050565b60008261084a57506001610903565b8161085757506000610903565b816001811461086d5760028114610877576108a8565b6001915050610903565b60ff84111561088857610888610786565b6001841b915063ffffffff8211156108a2576108a2610786565b50610903565b5060208310610133831016604e8410600b84101617156108df575081810a63ffffffff8111156108da576108da610786565b610903565b6108e983836107f6565b8063ffffffff048211156108ff576108ff610786565b0290505b92915050565b600063ffffffff61091e81851682851661083b565b949350505050565b600063ffffffff8084168061093d5761093d6107e0565b92169190910692915050565b600063ffffffff80841680610960576109606107e0565b92169190910492915050565b63ffffffff81811683821601908082111561098957610989610786565b509291505056fe30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001a26469706673582212202d7e980def4626c357f1bcdaac465eacf4317fbdecbf5d0a96b796c5d828cb7464736f6c6343000819003330644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001"; + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "uint32"; + readonly name: "_treeLevels"; + readonly type: "uint32"; + }, { + readonly internalType: "contract IHasher"; + readonly name: "_hasher"; + readonly type: "address"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "constructor"; + }, { + readonly inputs: readonly []; + readonly name: "FIELD_SIZE"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "ROOT_HISTORY_SIZE"; + readonly outputs: readonly [{ + readonly internalType: "uint32"; + readonly name: ""; + readonly type: "uint32"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "ZERO_VALUE"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "currentRootIndex"; + readonly outputs: readonly [{ + readonly internalType: "uint32"; + readonly name: ""; + readonly type: "uint32"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly name: "filledSubtrees"; + readonly outputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: ""; + readonly type: "bytes32"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "getLastRoot"; + readonly outputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: ""; + readonly type: "bytes32"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "contract IHasher"; + readonly name: "_hasher"; + readonly type: "address"; + }, { + readonly internalType: "bytes32"; + readonly name: "_left"; + readonly type: "bytes32"; + }, { + readonly internalType: "bytes32"; + readonly name: "_right"; + readonly type: "bytes32"; + }]; + readonly name: "hashLeftRight"; + readonly outputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: ""; + readonly type: "bytes32"; + }]; + readonly stateMutability: "pure"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "hasher"; + readonly outputs: readonly [{ + readonly internalType: "contract IHasher"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: "_leaf"; + readonly type: "bytes32"; + }]; + readonly name: "insert"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: "_root"; + readonly type: "bytes32"; + }]; + readonly name: "isKnownRoot"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "levels"; + readonly outputs: readonly [{ + readonly internalType: "uint32"; + readonly name: ""; + readonly type: "uint32"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "nextIndex"; + readonly outputs: readonly [{ + readonly internalType: "uint32"; + readonly name: ""; + readonly type: "uint32"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly name: "roots"; + readonly outputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: ""; + readonly type: "bytes32"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly name: "zeros"; + readonly outputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: ""; + readonly type: "bytes32"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }]; + static createInterface(): MerkleTreeWithHistoryMockInterface; + static connect(address: string, runner?: ContractRunner | null): MerkleTreeWithHistoryMock; +} +export {}; diff --git a/dist/factories/contracts/Classic/Mocks/index.d.ts b/dist/factories/contracts/Classic/Mocks/index.d.ts new file mode 100644 index 0000000..185b8a0 --- /dev/null +++ b/dist/factories/contracts/Classic/Mocks/index.d.ts @@ -0,0 +1,5 @@ +export * as iusdtSol from "./IUSDT.sol"; +export { BadRecipient__factory } from "./BadRecipient__factory"; +export { ERC20Mock__factory } from "./ERC20Mock__factory"; +export { IDeployer__factory } from "./IDeployer__factory"; +export { MerkleTreeWithHistoryMock__factory } from "./MerkleTreeWithHistoryMock__factory"; diff --git a/dist/factories/contracts/Classic/Tornado.sol/IVerifier__factory.d.ts b/dist/factories/contracts/Classic/Tornado.sol/IVerifier__factory.d.ts new file mode 100644 index 0000000..bce4858 --- /dev/null +++ b/dist/factories/contracts/Classic/Tornado.sol/IVerifier__factory.d.ts @@ -0,0 +1,25 @@ +import { type ContractRunner } from "ethers"; +import type { IVerifier, IVerifierInterface } from "../../../../contracts/Classic/Tornado.sol/IVerifier"; +export declare class IVerifier__factory { + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "bytes"; + readonly name: "_proof"; + readonly type: "bytes"; + }, { + readonly internalType: "uint256[6]"; + readonly name: "_input"; + readonly type: "uint256[6]"; + }]; + readonly name: "verifyProof"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }]; + static createInterface(): IVerifierInterface; + static connect(address: string, runner?: ContractRunner | null): IVerifier; +} diff --git a/dist/factories/contracts/Classic/Tornado.sol/Tornado__factory.d.ts b/dist/factories/contracts/Classic/Tornado.sol/Tornado__factory.d.ts new file mode 100644 index 0000000..79f755d --- /dev/null +++ b/dist/factories/contracts/Classic/Tornado.sol/Tornado__factory.d.ts @@ -0,0 +1,330 @@ +import { type ContractRunner } from "ethers"; +import type { Tornado, TornadoInterface } from "../../../../contracts/Classic/Tornado.sol/Tornado"; +export declare class Tornado__factory { + static readonly abi: readonly [{ + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "bytes32"; + readonly name: "commitment"; + readonly type: "bytes32"; + }, { + readonly indexed: false; + readonly internalType: "uint32"; + readonly name: "leafIndex"; + readonly type: "uint32"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "timestamp"; + readonly type: "uint256"; + }]; + readonly name: "Deposit"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: false; + readonly internalType: "address"; + readonly name: "to"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "bytes32"; + readonly name: "nullifierHash"; + readonly type: "bytes32"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "relayer"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "fee"; + readonly type: "uint256"; + }]; + readonly name: "Withdrawal"; + readonly type: "event"; + }, { + readonly inputs: readonly []; + readonly name: "FIELD_SIZE"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "ROOT_HISTORY_SIZE"; + readonly outputs: readonly [{ + readonly internalType: "uint32"; + readonly name: ""; + readonly type: "uint32"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "ZERO_VALUE"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: ""; + readonly type: "bytes32"; + }]; + readonly name: "commitments"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "currentRootIndex"; + readonly outputs: readonly [{ + readonly internalType: "uint32"; + readonly name: ""; + readonly type: "uint32"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "denomination"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: "_commitment"; + readonly type: "bytes32"; + }]; + readonly name: "deposit"; + readonly outputs: readonly []; + readonly stateMutability: "payable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly name: "filledSubtrees"; + readonly outputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: ""; + readonly type: "bytes32"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "getLastRoot"; + readonly outputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: ""; + readonly type: "bytes32"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "contract IHasher"; + readonly name: "_hasher"; + readonly type: "address"; + }, { + readonly internalType: "bytes32"; + readonly name: "_left"; + readonly type: "bytes32"; + }, { + readonly internalType: "bytes32"; + readonly name: "_right"; + readonly type: "bytes32"; + }]; + readonly name: "hashLeftRight"; + readonly outputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: ""; + readonly type: "bytes32"; + }]; + readonly stateMutability: "pure"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "hasher"; + readonly outputs: readonly [{ + readonly internalType: "contract IHasher"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: "_root"; + readonly type: "bytes32"; + }]; + readonly name: "isKnownRoot"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: "_nullifierHash"; + readonly type: "bytes32"; + }]; + readonly name: "isSpent"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes32[]"; + readonly name: "_nullifierHashes"; + readonly type: "bytes32[]"; + }]; + readonly name: "isSpentArray"; + readonly outputs: readonly [{ + readonly internalType: "bool[]"; + readonly name: "spent"; + readonly type: "bool[]"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "levels"; + readonly outputs: readonly [{ + readonly internalType: "uint32"; + readonly name: ""; + readonly type: "uint32"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "nextIndex"; + readonly outputs: readonly [{ + readonly internalType: "uint32"; + readonly name: ""; + readonly type: "uint32"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: ""; + readonly type: "bytes32"; + }]; + readonly name: "nullifierHashes"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly name: "roots"; + readonly outputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: ""; + readonly type: "bytes32"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "verifier"; + readonly outputs: readonly [{ + readonly internalType: "contract IVerifier"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes"; + readonly name: "_proof"; + readonly type: "bytes"; + }, { + readonly internalType: "bytes32"; + readonly name: "_root"; + readonly type: "bytes32"; + }, { + readonly internalType: "bytes32"; + readonly name: "_nullifierHash"; + readonly type: "bytes32"; + }, { + readonly internalType: "address payable"; + readonly name: "_recipient"; + readonly type: "address"; + }, { + readonly internalType: "address payable"; + readonly name: "_relayer"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "_fee"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "_refund"; + readonly type: "uint256"; + }]; + readonly name: "withdraw"; + readonly outputs: readonly []; + readonly stateMutability: "payable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly name: "zeros"; + readonly outputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: ""; + readonly type: "bytes32"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }]; + static createInterface(): TornadoInterface; + static connect(address: string, runner?: ContractRunner | null): Tornado; +} diff --git a/dist/factories/contracts/Classic/Tornado.sol/index.d.ts b/dist/factories/contracts/Classic/Tornado.sol/index.d.ts new file mode 100644 index 0000000..e97cf28 --- /dev/null +++ b/dist/factories/contracts/Classic/Tornado.sol/index.d.ts @@ -0,0 +1,2 @@ +export { IVerifier__factory } from "./IVerifier__factory"; +export { Tornado__factory } from "./Tornado__factory"; diff --git a/dist/factories/contracts/Classic/TornadoProxyLight.sol/ITornadoInstance__factory.d.ts b/dist/factories/contracts/Classic/TornadoProxyLight.sol/ITornadoInstance__factory.d.ts new file mode 100644 index 0000000..ae634b9 --- /dev/null +++ b/dist/factories/contracts/Classic/TornadoProxyLight.sol/ITornadoInstance__factory.d.ts @@ -0,0 +1,71 @@ +import { type ContractRunner } from "ethers"; +import type { ITornadoInstance, ITornadoInstanceInterface } from "../../../../contracts/Classic/TornadoProxyLight.sol/ITornadoInstance"; +export declare class ITornadoInstance__factory { + static readonly abi: readonly [{ + readonly inputs: readonly []; + readonly name: "denomination"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: "commitment"; + readonly type: "bytes32"; + }]; + readonly name: "deposit"; + readonly outputs: readonly []; + readonly stateMutability: "payable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "token"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes"; + readonly name: "proof"; + readonly type: "bytes"; + }, { + readonly internalType: "bytes32"; + readonly name: "root"; + readonly type: "bytes32"; + }, { + readonly internalType: "bytes32"; + readonly name: "nullifierHash"; + readonly type: "bytes32"; + }, { + readonly internalType: "address payable"; + readonly name: "recipient"; + readonly type: "address"; + }, { + readonly internalType: "address payable"; + readonly name: "relayer"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "fee"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "refund"; + readonly type: "uint256"; + }]; + readonly name: "withdraw"; + readonly outputs: readonly []; + readonly stateMutability: "payable"; + readonly type: "function"; + }]; + static createInterface(): ITornadoInstanceInterface; + static connect(address: string, runner?: ContractRunner | null): ITornadoInstance; +} diff --git a/dist/factories/contracts/Classic/TornadoProxyLight.sol/TornadoProxyLight__factory.d.ts b/dist/factories/contracts/Classic/TornadoProxyLight.sol/TornadoProxyLight__factory.d.ts new file mode 100644 index 0000000..1b3e4bc --- /dev/null +++ b/dist/factories/contracts/Classic/TornadoProxyLight.sol/TornadoProxyLight__factory.d.ts @@ -0,0 +1,103 @@ +import { ContractFactory, ContractTransactionResponse } from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../common"; +import type { TornadoProxyLight, TornadoProxyLightInterface } from "../../../../contracts/Classic/TornadoProxyLight.sol/TornadoProxyLight"; +type TornadoProxyLightConstructorParams = [signer?: Signer] | ConstructorParameters; +export declare class TornadoProxyLight__factory extends ContractFactory { + constructor(...args: TornadoProxyLightConstructorParams); + getDeployTransaction(overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + deploy(overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + connect(runner: ContractRunner | null): TornadoProxyLight__factory; + static readonly bytecode = "0x608060405234801561001057600080fd5b506104f6806100206000396000f3fe6080604052600436106100345760003560e01c806313d98d13146100395780636485ba2a1461004e578063b438689f1461006e575b600080fd5b61004c6100473660046102c7565b610081565b005b34801561005a57600080fd5b5061004c610069366004610258565b61012a565b61004c61007c366004610321565b610198565b60405163b214faa560e01b81526001600160a01b0385169063b214faa59034906100af9087906004016103ec565b6000604051808303818588803b1580156100c857600080fd5b505af11580156100dc573d6000803e3d6000fd5b5050505050336001600160a01b03167ffa28df43db3553771f7209dcef046f3bdfea15870ab625dcda30ac58b82b4008838360405161011c9291906103f5565b60405180910390a250505050565b60005b8181101561019357337ffa28df43db3553771f7209dcef046f3bdfea15870ab625dcda30ac58b82b400884848481811061016357fe5b90506020028101906101759190610463565b6040516101839291906103f5565b60405180910390a260010161012d565b505050565b6040516310d056db60e11b81526001600160a01b038a16906321a0adb69034906101d4908c908c908c908c908c908c908c908c90600401610411565b6000604051808303818588803b1580156101ed57600080fd5b505af1158015610201573d6000803e3d6000fd5b5050505050505050505050505050565b60008083601f840112610222578182fd5b50813567ffffffffffffffff811115610239578182fd5b60208301915083602082850101111561025157600080fd5b9250929050565b6000806020838503121561026a578182fd5b823567ffffffffffffffff80821115610281578384fd5b818501915085601f830112610294578384fd5b8135818111156102a2578485fd5b86602080830285010111156102b5578485fd5b60209290920196919550909350505050565b600080600080606085870312156102dc578182fd5b84356102e7816104a8565b935060208501359250604085013567ffffffffffffffff811115610309578283fd5b61031587828801610211565b95989497509550505050565b60008060008060008060008060006101008a8c03121561033f578485fd5b893561034a816104a8565b985060208a013567ffffffffffffffff811115610365578586fd5b6103718c828d01610211565b90995097505060408a0135955060608a0135945060808a0135610393816104a8565b935060a08a01356103a3816104a8565b8093505060c08a0135915060e08a013590509295985092959850929598565b60008284528282602086013780602084860101526020601f19601f85011685010190509392505050565b90815260200190565b6000602082526104096020830184866103c2565b949350505050565b600060e0825261042560e083018a8c6103c2565b60208301989098525060408101959095526001600160a01b03938416606086015291909216608084015260a083019190915260c09091015292915050565b6000808335601e19843603018112610479578283fd5b83018035915067ffffffffffffffff821115610493578283fd5b60200191503681900382131561025157600080fd5b6001600160a01b03811681146104bd57600080fd5b5056fea26469706673582212209e714d6385e2c86cc03186c5204b41573676ba810258f1b09d9b7e267ca73d2f64736f6c634300060c0033"; + static readonly abi: readonly [{ + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "sender"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "bytes"; + readonly name: "encryptedNote"; + readonly type: "bytes"; + }]; + readonly name: "EncryptedNote"; + readonly type: "event"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes[]"; + readonly name: "_encryptedNotes"; + readonly type: "bytes[]"; + }]; + readonly name: "backupNotes"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "contract ITornadoInstance"; + readonly name: "_tornado"; + readonly type: "address"; + }, { + readonly internalType: "bytes32"; + readonly name: "_commitment"; + readonly type: "bytes32"; + }, { + readonly internalType: "bytes"; + readonly name: "_encryptedNote"; + readonly type: "bytes"; + }]; + readonly name: "deposit"; + readonly outputs: readonly []; + readonly stateMutability: "payable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "contract ITornadoInstance"; + readonly name: "_tornado"; + readonly type: "address"; + }, { + readonly internalType: "bytes"; + readonly name: "_proof"; + readonly type: "bytes"; + }, { + readonly internalType: "bytes32"; + readonly name: "_root"; + readonly type: "bytes32"; + }, { + readonly internalType: "bytes32"; + readonly name: "_nullifierHash"; + readonly type: "bytes32"; + }, { + readonly internalType: "address payable"; + readonly name: "_recipient"; + readonly type: "address"; + }, { + readonly internalType: "address payable"; + readonly name: "_relayer"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "_fee"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "_refund"; + readonly type: "uint256"; + }]; + readonly name: "withdraw"; + readonly outputs: readonly []; + readonly stateMutability: "payable"; + readonly type: "function"; + }]; + static createInterface(): TornadoProxyLightInterface; + static connect(address: string, runner?: ContractRunner | null): TornadoProxyLight; +} +export {}; diff --git a/dist/factories/contracts/Classic/TornadoProxyLight.sol/index.d.ts b/dist/factories/contracts/Classic/TornadoProxyLight.sol/index.d.ts new file mode 100644 index 0000000..78bc6d8 --- /dev/null +++ b/dist/factories/contracts/Classic/TornadoProxyLight.sol/index.d.ts @@ -0,0 +1,2 @@ +export { ITornadoInstance__factory } from "./ITornadoInstance__factory"; +export { TornadoProxyLight__factory } from "./TornadoProxyLight__factory"; diff --git a/dist/factories/contracts/Classic/Verifier__factory.d.ts b/dist/factories/contracts/Classic/Verifier__factory.d.ts new file mode 100644 index 0000000..8b061a3 --- /dev/null +++ b/dist/factories/contracts/Classic/Verifier__factory.d.ts @@ -0,0 +1,40 @@ +import { ContractFactory, ContractTransactionResponse } from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../common"; +import type { Verifier, VerifierInterface } from "../../../contracts/Classic/Verifier"; +type VerifierConstructorParams = [signer?: Signer] | ConstructorParameters; +export declare class Verifier__factory extends ContractFactory { + constructor(...args: VerifierConstructorParams); + getDeployTransaction(overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + deploy(overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + connect(runner: ContractRunner | null): Verifier__factory; + static readonly bytecode = "0x6080604052348015600f57600080fd5b506110d08061001f6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063695ef6f914610030575b600080fd5b61004361003e366004610eca565b610057565b604051901515815260200160405180910390f35b6000808380602001905181019061006e9190610f71565b905060005b60088160ff161015610129577f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47828260ff16600881106100b5576100b5610ff0565b6020020151106101175760405162461bcd60e51b815260206004820152602260248201527f76657269666965722d70726f6f662d656c656d656e742d6774652d7072696d656044820152612d7160f01b60648201526084015b60405180910390fd5b806101218161101c565b915050610073565b50610132610ca2565b6040805180820182528351815260208085015181830152908352815160808082018452858401518285019081526060808801519084015282528351808501855290860151815260a08601518184015281830152838201528151808301835260c0850151815260e0850151918101919091529082015260006101b1610321565b90506000604051806040016040528060008152602001600081525090506101f38183608001516000600781106101e9576101e9610ff0565b60200201516107ec565b905060005b60068110156102df577f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000187826006811061023457610234610ff0565b6020020151106102865760405162461bcd60e51b815260206004820152601f60248201527f76657269666965722d6774652d736e61726b2d7363616c61722d6669656c6400604482015260640161010e565b6102d5826102d0856080015184600161029f919061103b565b600781106102af576102af610ff0565b60200201518a85600681106102c6576102c6610ff0565b602002015161088d565b6107ec565b91506001016101f8565b506103146102f0846000015161091b565b846020015184600001518560200151858760400151896040015189606001516109d5565b9450505050505b92915050565b610329610cf3565b6040805180820182527f2dbfc3ec62a3eee5a3b4b464bcf1f8527bbca12adea0f1f12033cd4f61b0e09181527f19e55bd0b72c126da18665039556776642ff82e2f347f24fcea2475f4db087df6020808301919091529083528151608080820184527f1ae724ab134e5a7c6bd8a116fa5505b259522c0f164a5e8126e3ec7d34465f6e8285019081527e9f1bcdc853f8e3531756bb625b0d1dc014f4ab57c3f79f4f4e2e7ef7e0ead6606080850191909152908352845180860186527f23a8ca5760457e726365b92fd0ceb486665797cd68c35dcffd8e4ae8066691e981527f13ec7182c9fd68331a10f8be0fe885d730de5c7f89aa7d0b7bafaa009bbc9e3e818601528385015285840192909252835180820185527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c28186019081527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed828501528152845180860186527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b81527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa818601528185015285850152835180820185527f2f0c63d0c53b3dfbca27b6b43ae7fbf55a38d78a21470996485b03128accc2088186019081527e556502356e37ed150db2e36531b0f275fd6835c0fc1945922e270b48c48a86828501528152845180860186527f02644c27b5dbd793592a70b735e22c798a5e309fa17a992a7dc2a050e01b298f81527f194776b6a53439d7336f389d2a8f6651e40885f5ca2538b0dc9cb534fb23f7fa818601528185015282860152835180850185527f23df1bc9165e9c1c9b2bc036d8ebdd10e7aeae7e5e8019fde68aec7c818bb23e81527f0b6c92080d37c5fb2ddf30892a33665e5478432ef3f71ac8768ecbbe62c7789281850152818601805191909152845180860186527f1c7b2adf45e046caea000956b2ecb2d8617e710d2a7bb201a95ea276f92307b481527f2b15f07536f45948cf4abe6596637d902ffabb18c8c2f5c151544c294ce4a672818601528151850152845180860186527f1cecfe92882a8c835a47bf01bfa655cf628cbba7f81cf4042179fd13edcd6a3981527f0154bfbb2cb786ca247d4b69183d1751f267bbc7656be8d0f0e7a5a47e2c1101818601528151860152845180860186527f1584616a7423efcc72f69ea84fa0b2bc01433677297f4e8351bebfc15bcd0cda81527f0623755b1488526daa9fecf0e11b110dd6df12c461579d792e1db65af523c8be81860152815190930192909252835180850185527f12fbb5bfca9d61357ba2d641604cf4852e21ef54faa180fe539c18994dc1da5a81527f2f09dd9972a1af5f7bcfccf3d7ab600c9d898ea6d6933150ba0ae228ece17e5f81850152825190910152825180840184527f0adb513796fdf2103022c64151ce05f7c7a6d9200e8d819fa59e654fc4bfe83c81527f2d64f72ef4eddf9ca032058ed2bf691758387e913a77cf99d6a3cfb37c8ba7ee81840152815160a0015282518084019093527f21e7c9bffda74bfd2c4393b6803d775545de6fa89145f4a23476241d9881b66183527f0bbe41e52237ac13eb7b01f3cb999b7394d08734e71b1c3ada62713e17eb560c918301919091525160c0015290565b6040805180820190915260008082526020820152610808610d44565b8351815260208085015181830152835160408301528301516060808301919091526000908360c08460066107d05a03fa9050808061084257fe5b50806108855760405162461bcd60e51b81526020600482015260126024820152711c185a5c9a5b99cb5859190b59985a5b195960721b604482015260640161010e565b505092915050565b60408051808201909152600080825260208201526108a9610d62565b835181526020808501519082015260408101839052600060608360808460076107d05a03fa905080806108d857fe5b50806108855760405162461bcd60e51b81526020600482015260126024820152711c185a5c9a5b99cb5b5d5b0b59985a5b195960721b604482015260640161010e565b6040805180820190915260008082526020820152815115801561094057506020820151155b1561095e575050604080518082019091526000808252602082015290565b6040518060400160405280836000015181526020017f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4784602001516109a3919061104e565b6109cd907f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47611070565b905292915050565b60408051608080820183528a825260208083018a90528284018890526060808401879052845192830185528b83528282018a9052828501889052820185905283516018808252610320820190955260009491859190839082016103008036833701905050905060005b6004811015610c1f576000610a54826006611083565b9050858260048110610a6857610a68610ff0565b60200201515183610a7a83600061103b565b81518110610a8a57610a8a610ff0565b602002602001018181525050858260048110610aa857610aa8610ff0565b60200201516020015183826001610abf919061103b565b81518110610acf57610acf610ff0565b602002602001018181525050848260048110610aed57610aed610ff0565b6020020151515183610b0083600261103b565b81518110610b1057610b10610ff0565b602002602001018181525050848260048110610b2e57610b2e610ff0565b6020020151516001602002015183610b4783600361103b565b81518110610b5757610b57610ff0565b602002602001018181525050848260048110610b7557610b75610ff0565b602002015160200151600060028110610b9057610b90610ff0565b602002015183610ba183600461103b565b81518110610bb157610bb1610ff0565b602002602001018181525050848260048110610bcf57610bcf610ff0565b602002015160200151600160028110610bea57610bea610ff0565b602002015183610bfb83600561103b565b81518110610c0b57610c0b610ff0565b602090810291909101015250600101610a3e565b50610c28610d80565b6000602082602086026020860160086107d05a03fa90508080610c4757fe5b5080610c8d5760405162461bcd60e51b81526020600482015260156024820152741c185a5c9a5b99cb5bdc18dbd9194b59985a5b1959605a1b604482015260640161010e565b505115159d9c50505050505050505050505050565b6040805160a081019091526000606082018181526080830191909152815260208101610ccc610d9e565b8152602001610cee604051806040016040528060008152602001600081525090565b905290565b6040805160e08101909152600060a0820181815260c0830191909152815260208101610d1d610d9e565b8152602001610d2a610d9e565b8152602001610d37610d9e565b8152602001610cee610dbe565b60405180608001604052806004906020820280368337509192915050565b60405180606001604052806003906020820280368337509192915050565b60405180602001604052806001906020820280368337509192915050565b6040518060400160405280610db1610df7565b8152602001610cee610df7565b6040518060e001604052806007905b6040805180820190915260008082526020820152815260200190600190039081610dcd5790505090565b60405180604001604052806002906020820280368337509192915050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610e5457610e54610e15565b604052919050565b600082601f830112610e6d57600080fd5b60405160c0810181811067ffffffffffffffff82111715610e9057610e90610e15565b6040528060c0840185811115610ea557600080fd5b845b81811015610ebf578035835260209283019201610ea7565b509195945050505050565b60008060e08385031215610edd57600080fd5b823567ffffffffffffffff80821115610ef557600080fd5b818501915085601f830112610f0957600080fd5b8135602082821115610f1d57610f1d610e15565b610f2f601f8301601f19168201610e2b565b92508183528781838601011115610f4557600080fd5b81818501828501376000818385010152829550610f6488828901610e5c565b9450505050509250929050565b6000610100808385031215610f8557600080fd5b83601f840112610f9457600080fd5b60405181810181811067ffffffffffffffff82111715610fb657610fb6610e15565b604052908301908085831115610fcb57600080fd5b845b83811015610fe5578051825260209182019101610fcd565b509095945050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff810361103257611032611006565b60010192915050565b8082018082111561031b5761031b611006565b60008261106b57634e487b7160e01b600052601260045260246000fd5b500690565b8181038181111561031b5761031b611006565b808202811582820484141761031b5761031b61100656fea2646970667358221220563d0fbee4e0552a525beba0066d9fa4a4a5e087a3b9c480756c9e2adf284bce64736f6c63430008190033"; + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "bytes"; + readonly name: "proof"; + readonly type: "bytes"; + }, { + readonly internalType: "uint256[6]"; + readonly name: "input"; + readonly type: "uint256[6]"; + }]; + readonly name: "verifyProof"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }]; + static createInterface(): VerifierInterface; + static connect(address: string, runner?: ContractRunner | null): Verifier; +} +export {}; diff --git a/dist/factories/contracts/Classic/index.d.ts b/dist/factories/contracts/Classic/index.d.ts new file mode 100644 index 0000000..9585928 --- /dev/null +++ b/dist/factories/contracts/Classic/index.d.ts @@ -0,0 +1,10 @@ +export * as merkleTreeWithHistorySol from "./MerkleTreeWithHistory.sol"; +export * as mocks from "./Mocks"; +export * as tornadoSol from "./Tornado.sol"; +export * as tornadoProxyLightSol from "./TornadoProxyLight.sol"; +export * as interfaces from "./interfaces"; +export { ERC20Tornado__factory } from "./ERC20Tornado__factory"; +export { ETHTornado__factory } from "./ETHTornado__factory"; +export { Echoer__factory } from "./Echoer__factory"; +export { Verifier__factory } from "./Verifier__factory"; +export { CTornado__factory } from "./CTornado__factory"; diff --git a/dist/factories/contracts/Classic/interfaces/IERC20__factory.d.ts b/dist/factories/contracts/Classic/interfaces/IERC20__factory.d.ts new file mode 100644 index 0000000..21504bd --- /dev/null +++ b/dist/factories/contracts/Classic/interfaces/IERC20__factory.d.ts @@ -0,0 +1,165 @@ +import { type ContractRunner } from "ethers"; +import type { IERC20, IERC20Interface } from "../../../../contracts/Classic/interfaces/IERC20"; +export declare class IERC20__factory { + static readonly abi: readonly [{ + readonly inputs: readonly []; + readonly name: "DOMAIN_SEPARATOR"; + readonly outputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: ""; + readonly type: "bytes32"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }]; + readonly name: "allowance"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "approve"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "account"; + readonly type: "address"; + }]; + readonly name: "balanceOf"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }]; + readonly name: "nonces"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "value"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "deadline"; + readonly type: "uint256"; + }, { + readonly internalType: "uint8"; + readonly name: "v"; + readonly type: "uint8"; + }, { + readonly internalType: "bytes32"; + readonly name: "r"; + readonly type: "bytes32"; + }, { + readonly internalType: "bytes32"; + readonly name: "s"; + readonly type: "bytes32"; + }]; + readonly name: "permit"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "totalSupply"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "recipient"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "transfer"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "sender"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "recipient"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "transferFrom"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }]; + static createInterface(): IERC20Interface; + static connect(address: string, runner?: ContractRunner | null): IERC20; +} diff --git a/dist/factories/contracts/Classic/interfaces/index.d.ts b/dist/factories/contracts/Classic/interfaces/index.d.ts new file mode 100644 index 0000000..23f8c6a --- /dev/null +++ b/dist/factories/contracts/Classic/interfaces/index.d.ts @@ -0,0 +1 @@ +export { IERC20__factory } from "./IERC20__factory"; diff --git a/dist/factories/contracts/Governance/AdminUpgradeableProxy__factory.d.ts b/dist/factories/contracts/Governance/AdminUpgradeableProxy__factory.d.ts new file mode 100644 index 0000000..cf54d27 --- /dev/null +++ b/dist/factories/contracts/Governance/AdminUpgradeableProxy__factory.d.ts @@ -0,0 +1,123 @@ +import { ContractFactory, ContractTransactionResponse } from "ethers"; +import type { Signer, BytesLike, AddressLike, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { PayableOverrides } from "../../../common"; +import type { AdminUpgradeableProxy, AdminUpgradeableProxyInterface } from "../../../contracts/Governance/AdminUpgradeableProxy"; +type AdminUpgradeableProxyConstructorParams = [signer?: Signer] | ConstructorParameters; +export declare class AdminUpgradeableProxy__factory extends ContractFactory { + constructor(...args: AdminUpgradeableProxyConstructorParams); + getDeployTransaction(_logic: AddressLike, _admin: AddressLike, _data: BytesLike, overrides?: PayableOverrides & { + from?: string; + }): Promise; + deploy(_logic: AddressLike, _admin: AddressLike, _data: BytesLike, overrides?: PayableOverrides & { + from?: string; + }): Promise; + connect(runner: ContractRunner | null): AdminUpgradeableProxy__factory; + static readonly bytecode = "0x60806040526040516108403803806108408339818101604052606081101561002657600080fd5b8151602083015160408085018051915193959294830192918464010000000082111561005157600080fd5b90830190602082018581111561006657600080fd5b825164010000000081118282018810171561008057600080fd5b82525081516020918201929091019080838360005b838110156100ad578181015183820152602001610095565b50505050905090810190601f1680156100da5780820380516001836020036101000a031916815260200191505b50604052508491508390508282816100f1826101c5565b8051156101a9576000826001600160a01b0316826040518082805190602001908083835b602083106101345780518252601f199092019160209182019101610115565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610194576040519150601f19603f3d011682016040523d82523d6000602084013e610199565b606091505b50509050806101a757600080fd5b505b506101b19050565b6101ba82610237565b505050505050610261565b6101d88161025b60201b6103b41760201c565b6102135760405162461bcd60e51b815260040180806020018281038252603681526020018061080a6036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b3b151590565b61059a806102706000396000f3fe60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100985780635c60da1b146101185780638f28397014610149578063f851a4401461017c5761005d565b3661005d5761005b610191565b005b61005b610191565b34801561007157600080fd5b5061005b6004803603602081101561008857600080fd5b50356001600160a01b03166101ab565b61005b600480360360408110156100ae57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100d957600080fd5b8201836020820111156100eb57600080fd5b8035906020019184600183028401116401000000008311171561010d57600080fd5b5090925090506101e5565b34801561012457600080fd5b5061012d610292565b604080516001600160a01b039092168252519081900360200190f35b34801561015557600080fd5b5061005b6004803603602081101561016c57600080fd5b50356001600160a01b03166102cf565b34801561018857600080fd5b5061012d610389565b6101996101a9565b6101a96101a46103ba565b6103df565b565b6101b3610403565b6001600160a01b0316336001600160a01b031614156101da576101d581610428565b6101e2565b6101e2610191565b50565b6101ed610403565b6001600160a01b0316336001600160a01b031614156102855761020f83610428565b6000836001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d806000811461026c576040519150601f19603f3d011682016040523d82523d6000602084013e610271565b606091505b505090508061027f57600080fd5b5061028d565b61028d610191565b505050565b600061029c610403565b6001600160a01b0316336001600160a01b031614156102c4576102bd6103ba565b90506102cc565b6102cc610191565b90565b6102d7610403565b6001600160a01b0316336001600160a01b031614156101da576001600160a01b0381166103355760405162461bcd60e51b815260040180806020018281038252603a8152602001806104f5603a913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61035e610403565b604080516001600160a01b03928316815291841660208301528051918290030190a16101d581610468565b6000610393610403565b6001600160a01b0316336001600160a01b031614156102c4576102bd610403565b3b151590565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e8080156103fe573d6000f35b3d6000fd5b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b6104318161048c565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b610495816103b4565b6104d05760405162461bcd60e51b815260040180806020018281038252603681526020018061052f6036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5556fe5472616e73706172656e745570677261646561626c6550726f78793a206e65772061646d696e20697320746865207a65726f20616464726573735570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374a2646970667358221220f9da162f8a2d779a4f5f08577ac886bc4694791f749bd6ecc5d270427405583364736f6c634300060c00335570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374"; + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "_logic"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "_admin"; + readonly type: "address"; + }, { + readonly internalType: "bytes"; + readonly name: "_data"; + readonly type: "bytes"; + }]; + readonly stateMutability: "payable"; + readonly type: "constructor"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: false; + readonly internalType: "address"; + readonly name: "previousAdmin"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "address"; + readonly name: "newAdmin"; + readonly type: "address"; + }]; + readonly name: "AdminChanged"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "implementation"; + readonly type: "address"; + }]; + readonly name: "Upgraded"; + readonly type: "event"; + }, { + readonly stateMutability: "payable"; + readonly type: "fallback"; + }, { + readonly inputs: readonly []; + readonly name: "admin"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "newAdmin"; + readonly type: "address"; + }]; + readonly name: "changeAdmin"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "implementation"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "newImplementation"; + readonly type: "address"; + }]; + readonly name: "upgradeTo"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "newImplementation"; + readonly type: "address"; + }, { + readonly internalType: "bytes"; + readonly name: "data"; + readonly type: "bytes"; + }]; + readonly name: "upgradeToAndCall"; + readonly outputs: readonly []; + readonly stateMutability: "payable"; + readonly type: "function"; + }, { + readonly stateMutability: "payable"; + readonly type: "receive"; + }]; + static createInterface(): AdminUpgradeableProxyInterface; + static connect(address: string, runner?: ContractRunner | null): AdminUpgradeableProxy; +} +export {}; diff --git a/dist/factories/contracts/Governance/Aggregator/Aggregator__factory.d.ts b/dist/factories/contracts/Governance/Aggregator/Aggregator__factory.d.ts new file mode 100644 index 0000000..f747924 --- /dev/null +++ b/dist/factories/contracts/Governance/Aggregator/Aggregator__factory.d.ts @@ -0,0 +1,192 @@ +import { ContractFactory, ContractTransactionResponse } from "ethers"; +import type { Signer, AddressLike, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../common"; +import type { Aggregator, AggregatorInterface } from "../../../../contracts/Governance/Aggregator/Aggregator"; +type AggregatorConstructorParams = [signer?: Signer] | ConstructorParameters; +export declare class Aggregator__factory extends ContractFactory { + constructor(...args: AggregatorConstructorParams); + getDeployTransaction(_ensRegistry: AddressLike, _relayerRegistry: AddressLike, overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + deploy(_ensRegistry: AddressLike, _relayerRegistry: AddressLike, overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + connect(runner: ContractRunner | null): Aggregator__factory; + static readonly bytecode = "0x60c060405234801561001057600080fd5b5060405161155d38038061155d83398101604081905261002f9161004d565b6001600160601b0319606092831b8116608052911b1660a05261009e565b6000806040838503121561005f578182fd5b825161006a81610086565b602084015190925061007b81610086565b809150509250929050565b6001600160a01b038116811461009b57600080fd5b50565b60805160601c60a05160601c6114826100db6000398061024b528061059c528061068a52508061022752806102d352806103b452506114826000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c8063029fcae7146100675780631cb120d61461009057806339c16356146100a55780634d47d775146100ad5780639853d922146100cd578063f4eeefe9146100ed575b600080fd5b61007a610075366004610fa1565b610111565b60405161008791906112ee565b60405180910390f35b610098610225565b6040516100879190611118565b610098610249565b6100c06100bb366004610e93565b61026d565b6040516100879190611210565b6100e06100db366004610dcc565b61075e565b6040516100879190611146565b6101006100fb366004610f69565b6109dd565b60405161008795949392919061135f565b60608167ffffffffffffffff8111801561012a57600080fd5b50604051908082528060200260200182016040528015610154578160200160208202803683370190505b50905060005b8281101561021d57846001600160a01b0316639ae697bf85858481811061017d57fe5b90506020020160208101906101929190610dcc565b6040518263ffffffff1660e01b81526004016101ae9190611118565b60206040518083038186803b1580156101c657600080fd5b505afa1580156101da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101fe91906110b5565b82828151811061020a57fe5b602090810291909101015260010161015a565b509392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b606080835167ffffffffffffffff8111801561028857600080fd5b506040519080825280602002602001820160405280156102c257816020015b6102af610c79565b8152602001906001900390816102a75790505b50905060005b845181101561021d577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166302571be386838151811061030c57fe5b60200260200101516040518263ffffffff1660e01b81526004016103309190611332565b60206040518083038186803b15801561034857600080fd5b505afa15801561035c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103809190610def565b82828151811061038c57fe5b6020026020010151600001906001600160a01b031690816001600160a01b03168152505060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630178b8bf8784815181106103ed57fe5b60200260200101516040518263ffffffff1660e01b81526004016104119190611332565b60206040518083038186803b15801561042957600080fd5b505afa15801561043d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104619190610def565b905060005b855181101561059957600087848151811061047d57fe5b602002602001015187838151811061049157fe5b60200260200101516040516020016104a991906110fc565b604051602081830303815290604052805190602001206040516020016104d09291906110ee565b60408051601f19818403018152908290528051602090910120631674750f60e21b825291506001600160a01b038416906359d1d43c9061051490849060040161133b565b60006040518083038186803b15801561052c57600080fd5b505afa158015610540573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105689190810190611042565b85858151811061057457fe5b602002602001015160600151836014811061058b57fe5b602002015250600101610466565b507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b69fd4ab8484815181106105d557fe5b6020026020010151600001518585815181106105ed57fe5b6020026020010151600001516040518363ffffffff1660e01b815260040161061692919061112c565b60206040518083038186803b15801561062e57600080fd5b505afa158015610642573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106669190610f4d565b83838151811061067257fe5b602002602001015160400190151590811515815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b971a6bf8484815181106106c357fe5b6020026020010151600001516040518263ffffffff1660e01b81526004016106eb9190611118565b60206040518083038186803b15801561070357600080fd5b505afa158015610717573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073b91906110b5565b83838151811061074757fe5b6020908102919091018101510152506001016102c8565b6060816001600160a01b031663da35c6646040518163ffffffff1660e01b815260040160206040518083038186803b15801561079957600080fd5b505afa1580156107ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d191906110b5565b67ffffffffffffffff811180156107e757600080fd5b5060405190808252806020026020018201604052801561082157816020015b61080e610cb1565b8152602001906001900390816108065790505b50905060005b81518110156109d7576000806000806000806000808a6001600160a01b031663013cf08b8a6001016040518263ffffffff1660e01b815260040161086b9190611332565b6101006040518083038186803b15801561088457600080fd5b505afa158015610898573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108bc9190610e0b565b97509750975097509750975097509750604051806101200160405280896001600160a01b03168152602001886001600160a01b03168152602001878152602001868152602001858152602001848152602001831515815260200182151581526020018c6001600160a01b0316633e4f49e68c6001016040518263ffffffff1660e01b815260040161094d9190611332565b60206040518083038186803b15801561096557600080fd5b505afa158015610979573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099d9190611023565b60068111156109a857fe5b8152508a8a815181106109b757fe5b602002602001018190525050505050505050508080600101915050610827565b50919050565b6000806000806000866001600160a01b0316639ae697bf876040518263ffffffff1660e01b8152600401610a119190611118565b60206040518083038186803b158015610a2957600080fd5b505afa158015610a3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6191906110b5565b6040516317977c6160e01b81529095506001600160a01b038816906317977c6190610a90908990600401611118565b60206040518083038186803b158015610aa857600080fd5b505afa158015610abc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ae091906110b5565b93508315610b7257604051631f27a4f360e11b81526001600160a01b03881690633e4f49e690610b14908790600401611332565b60206040518083038186803b158015610b2c57600080fd5b505afa158015610b40573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b649190611023565b6006811115610b6f57fe5b92505b60405163a72edda360e01b81526001600160a01b0388169063a72edda390610b9e908990600401611118565b60206040518083038186803b158015610bb657600080fd5b505afa158015610bca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bee91906110b5565b604051631976849960e21b81529092506001600160a01b038816906365da126490610c1d908990600401611118565b60206040518083038186803b158015610c3557600080fd5b505afa158015610c49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c6d9190610def565b90509295509295909350565b604051806080016040528060006001600160a01b0316815260200160008152602001600015158152602001610cac610cfd565b905290565b6040805161012081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e0810182905290610100820190610cac565b6040518061028001604052806014905b6060815260200190600190039081610d0d5790505090565b600082601f830112610d35578081fd5b8135610d48610d43826113b2565b61138b565b818152915060208083019084810160005b84811015610dc1578135870188603f820112610d7457600080fd5b83810135610d84610d43826113d2565b81815260408b81848601011115610d9a57600080fd5b82818501888401375060009181018601919091528552509282019290820190600101610d59565b505050505092915050565b600060208284031215610ddd578081fd5b8135610de881611426565b9392505050565b600060208284031215610e00578081fd5b8151610de881611426565b600080600080600080600080610100898b031215610e27578384fd5b8851610e3281611426565b60208a0151909850610e4381611426565b8097505060408901519550606089015194506080890151935060a0890151925060c0890151610e718161143e565b60e08a0151909250610e828161143e565b809150509295985092959890939650565b60008060408385031215610ea5578182fd5b823567ffffffffffffffff80821115610ebc578384fd5b818501915085601f830112610ecf578384fd5b8135610edd610d43826113b2565b80828252602080830192508086018a828387028901011115610efd578889fd5b8896505b84871015610f1f578035845260019690960195928101928101610f01565b509096508701359350505080821115610f36578283fd5b50610f4385828601610d25565b9150509250929050565b600060208284031215610f5e578081fd5b8151610de88161143e565b60008060408385031215610f7b578182fd5b8235610f8681611426565b91506020830135610f9681611426565b809150509250929050565b600080600060408486031215610fb5578283fd5b8335610fc081611426565b9250602084013567ffffffffffffffff80821115610fdc578384fd5b818601915086601f830112610fef578384fd5b813581811115610ffd578485fd5b8760208083028501011115611010578485fd5b6020830194508093505050509250925092565b600060208284031215611034578081fd5b815160078110610de8578182fd5b600060208284031215611053578081fd5b815167ffffffffffffffff811115611069578182fd5b8201601f81018413611079578182fd5b8051611087610d43826113d2565b81815285602083850101111561109b578384fd5b6110ac8260208301602086016113f6565b95945050505050565b6000602082840312156110c6578081fd5b5051919050565b6001600160a01b03169052565b15159052565b600781106110ea57fe5b9052565b918252602082015260400190565b6000825161110e8184602087016113f6565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b602080825282518282018190526000919060409081850190868401855b8281101561120357815180516001600160a01b031685528681015161118a888701826110cd565b508086015185870152606080820151908601526080808201519086015260a0808201519086015260c0808201516111c3828801826110da565b505060e0808201516111d7828801826110da565b505061010090810151906111ed868201836110e0565b5050610120939093019290850190600101611163565b5091979650505050505050565b6000602080830181845280855180835260408601915060408482028701019250838701855b828110156112e157878503603f19018452815180516001600160a01b03168652868101518787015260408082015115159087015260609081015160809187018290529086016103008701895b60148110156112cc57888203607f19018352835180516112a18185611332565b6112ae82828f86016113f6565b958c0195948c0194601f91909101601f191601925050600101611281565b50965050509285019290850190600101611235565b5092979650505050505050565b6020808252825182820181905260009190848201906040850190845b818110156113265783518352928401929184019160010161130a565b50909695505050505050565b90815260200190565b908152604060208201819052600390820152621d5c9b60ea1b606082015260800190565b9485526020850193909352604084019190915260608301526001600160a01b0316608082015260a00190565b60405181810167ffffffffffffffff811182821017156113aa57600080fd5b604052919050565b600067ffffffffffffffff8211156113c8578081fd5b5060209081020190565b600067ffffffffffffffff8211156113e8578081fd5b50601f01601f191660200190565b60005b838110156114115781810151838201526020016113f9565b83811115611420576000848401525b50505050565b6001600160a01b038116811461143b57600080fd5b50565b801515811461143b57600080fdfea26469706673582212209edead2cf5d16a9f09d7d75c5aa042cb00130c9febd0bf0e908fbf9c3f34f1a164736f6c634300060c0033"; + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "_ensRegistry"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "_relayerRegistry"; + readonly type: "address"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "constructor"; + }, { + readonly inputs: readonly []; + readonly name: "ENSRegistry"; + readonly outputs: readonly [{ + readonly internalType: "contract IENSRegistry"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "RelayerRegistry"; + readonly outputs: readonly [{ + readonly internalType: "contract IRelayerRegistry"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "contract Governance"; + readonly name: "governance"; + readonly type: "address"; + }]; + readonly name: "getAllProposals"; + readonly outputs: readonly [{ + readonly components: readonly [{ + readonly internalType: "address"; + readonly name: "proposer"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "target"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "startTime"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "endTime"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "forVotes"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "againstVotes"; + readonly type: "uint256"; + }, { + readonly internalType: "bool"; + readonly name: "executed"; + readonly type: "bool"; + }, { + readonly internalType: "bool"; + readonly name: "extended"; + readonly type: "bool"; + }, { + readonly internalType: "enum Governance.ProposalState"; + readonly name: "state"; + readonly type: "uint8"; + }]; + readonly internalType: "struct GovernanceAggregator.Proposal[]"; + readonly name: "proposals"; + readonly type: "tuple[]"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "contract Governance"; + readonly name: "governance"; + readonly type: "address"; + }, { + readonly internalType: "address[]"; + readonly name: "accs"; + readonly type: "address[]"; + }]; + readonly name: "getGovernanceBalances"; + readonly outputs: readonly [{ + readonly internalType: "uint256[]"; + readonly name: "amounts"; + readonly type: "uint256[]"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "contract Governance"; + readonly name: "governance"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "account"; + readonly type: "address"; + }]; + readonly name: "getUserData"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "balance"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "latestProposalId"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "latestProposalIdState"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "timelock"; + readonly type: "uint256"; + }, { + readonly internalType: "address"; + readonly name: "delegatee"; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes32[]"; + readonly name: "_relayers"; + readonly type: "bytes32[]"; + }, { + readonly internalType: "string[]"; + readonly name: "_subdomains"; + readonly type: "string[]"; + }]; + readonly name: "relayersData"; + readonly outputs: readonly [{ + readonly components: readonly [{ + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "balance"; + readonly type: "uint256"; + }, { + readonly internalType: "bool"; + readonly name: "isRegistered"; + readonly type: "bool"; + }, { + readonly internalType: "string[20]"; + readonly name: "records"; + readonly type: "string[20]"; + }]; + readonly internalType: "struct Relayer[]"; + readonly name: ""; + readonly type: "tuple[]"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }]; + static createInterface(): AggregatorInterface; + static connect(address: string, runner?: ContractRunner | null): Aggregator; +} +export {}; diff --git a/dist/factories/contracts/Governance/Aggregator/GovernanceAggregator__factory.d.ts b/dist/factories/contracts/Governance/Aggregator/GovernanceAggregator__factory.d.ts new file mode 100644 index 0000000..78d1f4c --- /dev/null +++ b/dist/factories/contracts/Governance/Aggregator/GovernanceAggregator__factory.d.ts @@ -0,0 +1,125 @@ +import { ContractFactory, ContractTransactionResponse } from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../common"; +import type { GovernanceAggregator, GovernanceAggregatorInterface } from "../../../../contracts/Governance/Aggregator/GovernanceAggregator"; +type GovernanceAggregatorConstructorParams = [signer?: Signer] | ConstructorParameters; +export declare class GovernanceAggregator__factory extends ContractFactory { + constructor(...args: GovernanceAggregatorConstructorParams); + getDeployTransaction(overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + deploy(overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + connect(runner: ContractRunner | null): GovernanceAggregator__factory; + static readonly bytecode = "0x608060405234801561001057600080fd5b50610ab8806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063029fcae7146100465780639853d9221461006f578063f4eeefe91461008f575b600080fd5b61005961005436600461082b565b6100b3565b60405161006691906109e3565b60405180910390f35b61008261007d36600461072c565b6101c7565b6040516100669190610919565b6100a261009d3660046107f3565b610446565b604051610066959493929190610a30565b60608167ffffffffffffffff811180156100cc57600080fd5b506040519080825280602002602001820160405280156100f6578160200160208202803683370190505b50905060005b828110156101bf57846001600160a01b0316639ae697bf85858481811061011f57fe5b9050602002016020810190610134919061072c565b6040518263ffffffff1660e01b81526004016101509190610905565b60206040518083038186803b15801561016857600080fd5b505afa15801561017c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101a091906108cc565b8282815181106101ac57fe5b60209081029190910101526001016100fc565b509392505050565b6060816001600160a01b031663da35c6646040518163ffffffff1660e01b815260040160206040518083038186803b15801561020257600080fd5b505afa158015610216573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061023a91906108cc565b67ffffffffffffffff8111801561025057600080fd5b5060405190808252806020026020018201604052801561028a57816020015b6102776106e2565b81526020019060019003908161026f5790505b50905060005b8151811015610440576000806000806000806000808a6001600160a01b031663013cf08b8a6001016040518263ffffffff1660e01b81526004016102d49190610a27565b6101006040518083038186803b1580156102ed57600080fd5b505afa158015610301573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610325919061076b565b97509750975097509750975097509750604051806101200160405280896001600160a01b03168152602001886001600160a01b03168152602001878152602001868152602001858152602001848152602001831515815260200182151581526020018c6001600160a01b0316633e4f49e68c6001016040518263ffffffff1660e01b81526004016103b69190610a27565b60206040518083038186803b1580156103ce57600080fd5b505afa1580156103e2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061040691906108ad565b600681111561041157fe5b8152508a8a8151811061042057fe5b602002602001018190525050505050505050508080600101915050610290565b50919050565b6000806000806000866001600160a01b0316639ae697bf876040518263ffffffff1660e01b815260040161047a9190610905565b60206040518083038186803b15801561049257600080fd5b505afa1580156104a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ca91906108cc565b6040516317977c6160e01b81529095506001600160a01b038816906317977c61906104f9908990600401610905565b60206040518083038186803b15801561051157600080fd5b505afa158015610525573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054991906108cc565b935083156105db57604051631f27a4f360e11b81526001600160a01b03881690633e4f49e69061057d908790600401610a27565b60206040518083038186803b15801561059557600080fd5b505afa1580156105a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105cd91906108ad565b60068111156105d857fe5b92505b60405163a72edda360e01b81526001600160a01b0388169063a72edda390610607908990600401610905565b60206040518083038186803b15801561061f57600080fd5b505afa158015610633573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065791906108cc565b604051631976849960e21b81529092506001600160a01b038816906365da126490610686908990600401610905565b60206040518083038186803b15801561069e57600080fd5b505afa1580156106b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d6919061074f565b90509295509295909350565b6040805161012081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290529061010082015290565b60006020828403121561073d578081fd5b813561074881610a5c565b9392505050565b600060208284031215610760578081fd5b815161074881610a5c565b600080600080600080600080610100898b031215610787578384fd5b885161079281610a5c565b60208a01519098506107a381610a5c565b8097505060408901519550606089015194506080890151935060a0890151925060c08901516107d181610a74565b60e08a01519092506107e281610a74565b809150509295985092959890939650565b60008060408385031215610805578182fd5b823561081081610a5c565b9150602083013561082081610a5c565b809150509250929050565b60008060006040848603121561083f578283fd5b833561084a81610a5c565b9250602084013567ffffffffffffffff80821115610866578384fd5b818601915086601f830112610879578384fd5b813581811115610887578485fd5b876020808302850101111561089a578485fd5b6020830194508093505050509250925092565b6000602082840312156108be578081fd5b815160078110610748578182fd5b6000602082840312156108dd578081fd5b5051919050565b6001600160a01b03169052565b15159052565b6007811061090157fe5b9052565b6001600160a01b0391909116815260200190565b602080825282518282018190526000919060409081850190868401855b828110156109d657815180516001600160a01b031685528681015161095d888701826108e4565b508086015185870152606080820151908601526080808201519086015260a0808201519086015260c080820151610996828801826108f1565b505060e0808201516109aa828801826108f1565b505061010090810151906109c0868201836108f7565b5050610120939093019290850190600101610936565b5091979650505050505050565b6020808252825182820181905260009190848201906040850190845b81811015610a1b578351835292840192918401916001016109ff565b50909695505050505050565b90815260200190565b9485526020850193909352604084019190915260608301526001600160a01b0316608082015260a00190565b6001600160a01b0381168114610a7157600080fd5b50565b8015158114610a7157600080fdfea2646970667358221220c68e065ff95a2c91c1e5904ff4ba8c709291d5227b10049b437e89d35c33af4d64736f6c634300060c0033"; + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "contract Governance"; + readonly name: "governance"; + readonly type: "address"; + }]; + readonly name: "getAllProposals"; + readonly outputs: readonly [{ + readonly components: readonly [{ + readonly internalType: "address"; + readonly name: "proposer"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "target"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "startTime"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "endTime"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "forVotes"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "againstVotes"; + readonly type: "uint256"; + }, { + readonly internalType: "bool"; + readonly name: "executed"; + readonly type: "bool"; + }, { + readonly internalType: "bool"; + readonly name: "extended"; + readonly type: "bool"; + }, { + readonly internalType: "enum Governance.ProposalState"; + readonly name: "state"; + readonly type: "uint8"; + }]; + readonly internalType: "struct GovernanceAggregator.Proposal[]"; + readonly name: "proposals"; + readonly type: "tuple[]"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "contract Governance"; + readonly name: "governance"; + readonly type: "address"; + }, { + readonly internalType: "address[]"; + readonly name: "accs"; + readonly type: "address[]"; + }]; + readonly name: "getGovernanceBalances"; + readonly outputs: readonly [{ + readonly internalType: "uint256[]"; + readonly name: "amounts"; + readonly type: "uint256[]"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "contract Governance"; + readonly name: "governance"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "account"; + readonly type: "address"; + }]; + readonly name: "getUserData"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "balance"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "latestProposalId"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "latestProposalIdState"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "timelock"; + readonly type: "uint256"; + }, { + readonly internalType: "address"; + readonly name: "delegatee"; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }]; + static createInterface(): GovernanceAggregatorInterface; + static connect(address: string, runner?: ContractRunner | null): GovernanceAggregator; +} +export {}; diff --git a/dist/factories/contracts/Governance/Aggregator/RelayerAggregator.sol/IENSRegistry__factory.d.ts b/dist/factories/contracts/Governance/Aggregator/RelayerAggregator.sol/IENSRegistry__factory.d.ts new file mode 100644 index 0000000..8e12148 --- /dev/null +++ b/dist/factories/contracts/Governance/Aggregator/RelayerAggregator.sol/IENSRegistry__factory.d.ts @@ -0,0 +1,292 @@ +import { type ContractRunner } from "ethers"; +import type { IENSRegistry, IENSRegistryInterface } from "../../../../../contracts/Governance/Aggregator/RelayerAggregator.sol/IENSRegistry"; +export declare class IENSRegistry__factory { + static readonly abi: readonly [{ + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "operator"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "bool"; + readonly name: "approved"; + readonly type: "bool"; + }]; + readonly name: "ApprovalForAll"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "bytes32"; + readonly name: "node"; + readonly type: "bytes32"; + }, { + readonly indexed: true; + readonly internalType: "bytes32"; + readonly name: "label"; + readonly type: "bytes32"; + }, { + readonly indexed: false; + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }]; + readonly name: "NewOwner"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "bytes32"; + readonly name: "node"; + readonly type: "bytes32"; + }, { + readonly indexed: false; + readonly internalType: "address"; + readonly name: "resolver"; + readonly type: "address"; + }]; + readonly name: "NewResolver"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "bytes32"; + readonly name: "node"; + readonly type: "bytes32"; + }, { + readonly indexed: false; + readonly internalType: "uint64"; + readonly name: "ttl"; + readonly type: "uint64"; + }]; + readonly name: "NewTTL"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "bytes32"; + readonly name: "node"; + readonly type: "bytes32"; + }, { + readonly indexed: false; + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }]; + readonly name: "Transfer"; + readonly type: "event"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "operator"; + readonly type: "address"; + }]; + readonly name: "isApprovedForAll"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: "node"; + readonly type: "bytes32"; + }]; + readonly name: "owner"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: "node"; + readonly type: "bytes32"; + }]; + readonly name: "recordExists"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: "node"; + readonly type: "bytes32"; + }]; + readonly name: "resolver"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "operator"; + readonly type: "address"; + }, { + readonly internalType: "bool"; + readonly name: "approved"; + readonly type: "bool"; + }]; + readonly name: "setApprovalForAll"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: "node"; + readonly type: "bytes32"; + }, { + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }]; + readonly name: "setOwner"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: "node"; + readonly type: "bytes32"; + }, { + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "resolver"; + readonly type: "address"; + }, { + readonly internalType: "uint64"; + readonly name: "ttl"; + readonly type: "uint64"; + }]; + readonly name: "setRecord"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: "node"; + readonly type: "bytes32"; + }, { + readonly internalType: "address"; + readonly name: "resolver"; + readonly type: "address"; + }]; + readonly name: "setResolver"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: "node"; + readonly type: "bytes32"; + }, { + readonly internalType: "bytes32"; + readonly name: "label"; + readonly type: "bytes32"; + }, { + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }]; + readonly name: "setSubnodeOwner"; + readonly outputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: ""; + readonly type: "bytes32"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: "node"; + readonly type: "bytes32"; + }, { + readonly internalType: "bytes32"; + readonly name: "label"; + readonly type: "bytes32"; + }, { + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "resolver"; + readonly type: "address"; + }, { + readonly internalType: "uint64"; + readonly name: "ttl"; + readonly type: "uint64"; + }]; + readonly name: "setSubnodeRecord"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: "node"; + readonly type: "bytes32"; + }, { + readonly internalType: "uint64"; + readonly name: "ttl"; + readonly type: "uint64"; + }]; + readonly name: "setTTL"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: "node"; + readonly type: "bytes32"; + }]; + readonly name: "ttl"; + readonly outputs: readonly [{ + readonly internalType: "uint64"; + readonly name: ""; + readonly type: "uint64"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }]; + static createInterface(): IENSRegistryInterface; + static connect(address: string, runner?: ContractRunner | null): IENSRegistry; +} diff --git a/dist/factories/contracts/Governance/Aggregator/RelayerAggregator.sol/IENSResolver__factory.d.ts b/dist/factories/contracts/Governance/Aggregator/RelayerAggregator.sol/IENSResolver__factory.d.ts new file mode 100644 index 0000000..28d1b75 --- /dev/null +++ b/dist/factories/contracts/Governance/Aggregator/RelayerAggregator.sol/IENSResolver__factory.d.ts @@ -0,0 +1,39 @@ +import { type ContractRunner } from "ethers"; +import type { IENSResolver, IENSResolverInterface } from "../../../../../contracts/Governance/Aggregator/RelayerAggregator.sol/IENSResolver"; +export declare class IENSResolver__factory { + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: "node"; + readonly type: "bytes32"; + }]; + readonly name: "addr"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: "node"; + readonly type: "bytes32"; + }, { + readonly internalType: "string"; + readonly name: "key"; + readonly type: "string"; + }]; + readonly name: "text"; + readonly outputs: readonly [{ + readonly internalType: "string"; + readonly name: ""; + readonly type: "string"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }]; + static createInterface(): IENSResolverInterface; + static connect(address: string, runner?: ContractRunner | null): IENSResolver; +} diff --git a/dist/factories/contracts/Governance/Aggregator/RelayerAggregator.sol/IRelayerRegistry__factory.d.ts b/dist/factories/contracts/Governance/Aggregator/RelayerAggregator.sol/IRelayerRegistry__factory.d.ts new file mode 100644 index 0000000..65647ad --- /dev/null +++ b/dist/factories/contracts/Governance/Aggregator/RelayerAggregator.sol/IRelayerRegistry__factory.d.ts @@ -0,0 +1,39 @@ +import { type ContractRunner } from "ethers"; +import type { IRelayerRegistry, IRelayerRegistryInterface } from "../../../../../contracts/Governance/Aggregator/RelayerAggregator.sol/IRelayerRegistry"; +export declare class IRelayerRegistry__factory { + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "relayer"; + readonly type: "address"; + }]; + readonly name: "getRelayerBalance"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "relayer"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "toResolve"; + readonly type: "address"; + }]; + readonly name: "isRelayerRegistered"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }]; + static createInterface(): IRelayerRegistryInterface; + static connect(address: string, runner?: ContractRunner | null): IRelayerRegistry; +} diff --git a/dist/factories/contracts/Governance/Aggregator/RelayerAggregator.sol/RelayerAggregator__factory.d.ts b/dist/factories/contracts/Governance/Aggregator/RelayerAggregator.sol/RelayerAggregator__factory.d.ts new file mode 100644 index 0000000..4c38c72 --- /dev/null +++ b/dist/factories/contracts/Governance/Aggregator/RelayerAggregator.sol/RelayerAggregator__factory.d.ts @@ -0,0 +1,89 @@ +import { ContractFactory, ContractTransactionResponse } from "ethers"; +import type { Signer, AddressLike, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../../common"; +import type { RelayerAggregator, RelayerAggregatorInterface } from "../../../../../contracts/Governance/Aggregator/RelayerAggregator.sol/RelayerAggregator"; +type RelayerAggregatorConstructorParams = [signer?: Signer] | ConstructorParameters; +export declare class RelayerAggregator__factory extends ContractFactory { + constructor(...args: RelayerAggregatorConstructorParams); + getDeployTransaction(_IENSRegistry: AddressLike, _IRelayerRegistry: AddressLike, overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + deploy(_IENSRegistry: AddressLike, _IRelayerRegistry: AddressLike, overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + connect(runner: ContractRunner | null): RelayerAggregator__factory; + static readonly bytecode = "0x60c060405234801561001057600080fd5b50604051610b74380380610b7483398101604081905261002f9161004d565b6001600160601b0319606092831b8116608052911b1660a05261009e565b6000806040838503121561005f578182fd5b825161006a81610086565b602084015190925061007b81610086565b809150509250929050565b6001600160a01b038116811461009b57600080fd5b50565b60805160601c60a05160601c610a9b6100d96000398060b2528061040352806104f1525080608e528061013a528061021b5250610a9b6000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80631cb120d61461004657806339c16356146100645780634d47d7751461006c575b600080fd5b61004e61008c565b60405161005b9190610891565b60405180910390f35b61004e6100b0565b61007f61007a366004610702565b6100d4565b60405161005b91906108bf565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b606080835167ffffffffffffffff811180156100ef57600080fd5b5060405190808252806020026020018201604052801561012957816020015b6101166105cd565b81526020019060019003908161010e5790505b50905060005b84518110156105c5577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166302571be386838151811061017357fe5b60200260200101516040518263ffffffff1660e01b8152600401610197919061099d565b60206040518083038186803b1580156101af57600080fd5b505afa1580156101c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101e791906106d4565b8282815181106101f357fe5b6020026020010151600001906001600160a01b031690816001600160a01b03168152505060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630178b8bf87848151811061025457fe5b60200260200101516040518263ffffffff1660e01b8152600401610278919061099d565b60206040518083038186803b15801561029057600080fd5b505afa1580156102a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c891906106d4565b905060005b85518110156104005760008784815181106102e457fe5b60200260200101518783815181106102f857fe5b60200260200101516040516020016103109190610875565b60405160208183030381529060405280519060200120604051602001610337929190610867565b60408051601f19818403018152908290528051602090910120631674750f60e21b825291506001600160a01b038416906359d1d43c9061037b9084906004016109a6565b60006040518083038186803b15801561039357600080fd5b505afa1580156103a7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103cf91908101906107dc565b8585815181106103db57fe5b60200260200101516060015183601481106103f257fe5b6020020152506001016102cd565b507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b69fd4ab84848151811061043c57fe5b60200260200101516000015185858151811061045457fe5b6020026020010151600001516040518363ffffffff1660e01b815260040161047d9291906108a5565b60206040518083038186803b15801561049557600080fd5b505afa1580156104a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104cd91906107bc565b8383815181106104d957fe5b602002602001015160400190151590811515815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b971a6bf84848151811061052a57fe5b6020026020010151600001516040518263ffffffff1660e01b81526004016105529190610891565b60206040518083038186803b15801561056a57600080fd5b505afa15801561057e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a2919061084f565b8383815181106105ae57fe5b60209081029190910181015101525060010161012f565b509392505050565b604051806080016040528060006001600160a01b0316815260200160008152602001600015158152602001610600610605565b905290565b6040518061028001604052806014905b60608152602001906001900390816106155790505090565b600082601f83011261063d578081fd5b813561065061064b826109f1565b6109ca565b818152915060208083019084810160005b848110156106c9578135870188603f82011261067c57600080fd5b8381013561068c61064b82610a11565b81815260408b818486010111156106a257600080fd5b82818501888401375060009181018601919091528552509282019290820190600101610661565b505050505092915050565b6000602082840312156106e5578081fd5b81516001600160a01b03811681146106fb578182fd5b9392505050565b60008060408385031215610714578081fd5b823567ffffffffffffffff8082111561072b578283fd5b818501915085601f83011261073e578283fd5b813561074c61064b826109f1565b80828252602080830192508086018a82838702890101111561076c578788fd5b8796505b8487101561078e578035845260019690960195928101928101610770565b5090965087013593505050808211156107a5578283fd5b506107b28582860161062d565b9150509250929050565b6000602082840312156107cd578081fd5b815180151581146106fb578182fd5b6000602082840312156107ed578081fd5b815167ffffffffffffffff811115610803578182fd5b8201601f81018413610813578182fd5b805161082161064b82610a11565b818152856020838501011115610835578384fd5b610846826020830160208601610a35565b95945050505050565b600060208284031215610860578081fd5b5051919050565b918252602082015260400190565b60008251610887818460208701610a35565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6000602080830181845280855180835260408601915060408482028701019250838701855b8281101561099057878503603f19018452815180516001600160a01b03168652868101518787015260408082015115159087015260609081015160809187018290529086016103008701895b601481101561097b57888203607f1901835283518051610950818561099d565b61095d82828f8601610a35565b958c0195948c0194601f91909101601f191601925050600101610930565b509650505092850192908501906001016108e4565b5092979650505050505050565b90815260200190565b908152604060208201819052600390820152621d5c9b60ea1b606082015260800190565b60405181810167ffffffffffffffff811182821017156109e957600080fd5b604052919050565b600067ffffffffffffffff821115610a07578081fd5b5060209081020190565b600067ffffffffffffffff821115610a27578081fd5b50601f01601f191660200190565b60005b83811015610a50578181015183820152602001610a38565b83811115610a5f576000848401525b5050505056fea2646970667358221220628a366714cdda82fe91d785ad928e44e4b9f7976ed987e5fef72d207582dbaf64736f6c634300060c0033"; + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "_IENSRegistry"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "_IRelayerRegistry"; + readonly type: "address"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "constructor"; + }, { + readonly inputs: readonly []; + readonly name: "ENSRegistry"; + readonly outputs: readonly [{ + readonly internalType: "contract IENSRegistry"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "RelayerRegistry"; + readonly outputs: readonly [{ + readonly internalType: "contract IRelayerRegistry"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes32[]"; + readonly name: "_relayers"; + readonly type: "bytes32[]"; + }, { + readonly internalType: "string[]"; + readonly name: "_subdomains"; + readonly type: "string[]"; + }]; + readonly name: "relayersData"; + readonly outputs: readonly [{ + readonly components: readonly [{ + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "balance"; + readonly type: "uint256"; + }, { + readonly internalType: "bool"; + readonly name: "isRegistered"; + readonly type: "bool"; + }, { + readonly internalType: "string[20]"; + readonly name: "records"; + readonly type: "string[20]"; + }]; + readonly internalType: "struct Relayer[]"; + readonly name: ""; + readonly type: "tuple[]"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }]; + static createInterface(): RelayerAggregatorInterface; + static connect(address: string, runner?: ContractRunner | null): RelayerAggregator; +} +export {}; diff --git a/dist/factories/contracts/Governance/Aggregator/RelayerAggregator.sol/index.d.ts b/dist/factories/contracts/Governance/Aggregator/RelayerAggregator.sol/index.d.ts new file mode 100644 index 0000000..d10e8e8 --- /dev/null +++ b/dist/factories/contracts/Governance/Aggregator/RelayerAggregator.sol/index.d.ts @@ -0,0 +1,4 @@ +export { IENSRegistry__factory } from "./IENSRegistry__factory"; +export { IENSResolver__factory } from "./IENSResolver__factory"; +export { IRelayerRegistry__factory } from "./IRelayerRegistry__factory"; +export { RelayerAggregator__factory } from "./RelayerAggregator__factory"; diff --git a/dist/factories/contracts/Governance/Aggregator/index.d.ts b/dist/factories/contracts/Governance/Aggregator/index.d.ts new file mode 100644 index 0000000..0d969dc --- /dev/null +++ b/dist/factories/contracts/Governance/Aggregator/index.d.ts @@ -0,0 +1,3 @@ +export * as relayerAggregatorSol from "./RelayerAggregator.sol"; +export { Aggregator__factory } from "./Aggregator__factory"; +export { GovernanceAggregator__factory } from "./GovernanceAggregator__factory"; diff --git a/dist/factories/contracts/Governance/Deployer.sol/Deployer__factory.d.ts b/dist/factories/contracts/Governance/Deployer.sol/Deployer__factory.d.ts new file mode 100644 index 0000000..8ae08a0 --- /dev/null +++ b/dist/factories/contracts/Governance/Deployer.sol/Deployer__factory.d.ts @@ -0,0 +1,69 @@ +import { ContractFactory, ContractTransactionResponse } from "ethers"; +import type { Signer, AddressLike, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../common"; +import type { Deployer, DeployerInterface } from "../../../../contracts/Governance/Deployer.sol/Deployer"; +type DeployerConstructorParams = [signer?: Signer] | ConstructorParameters; +export declare class Deployer__factory extends ContractFactory { + constructor(...args: DeployerConstructorParams); + getDeployTransaction(_deployer: AddressLike, overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + deploy(_deployer: AddressLike, overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + connect(runner: ContractRunner | null): Deployer__factory; + static readonly bytecode = "0x60a060405234801561001057600080fd5b506040516103a93803806103a98339818101604052602081101561003357600080fd5b50516001600160a01b0381161561004a5780610060565b73ce0042b868300000d44a59004da54a005ffdcf9f5b60601b6001600160601b031916608052604051309032907f09e48df7857bd0c1e0d31bb8a85d42cf1874817895f171c917f6ee2cea73ec2090600090a35060805160601c6102e96100c06000398061010d528061029152506102e96000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80634af63f021461003b578063d5f39488146100e5575b600080fd5b6100e36004803603604081101561005157600080fd5b81019060208101813564010000000081111561006c57600080fd5b82018360208201111561007e57600080fd5b803590602001918460018302840111640100000000831117156100a057600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250610109915050565b005b6100ed61028f565b604080516001600160a01b039092168252519081900360200190f35b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634af63f0284846040518363ffffffff1660e01b81526004018080602001838152602001828103825284818151815260200191508051906020019080838360005b8381101561018e578181015183820152602001610176565b50505050905090810190601f1680156101bb5780820380516001836020036101000a031916815260200191505b509350505050602060405180830381600087803b1580156101db57600080fd5b505af11580156101ef573d6000803e3d6000fd5b505050506040513d602081101561020557600080fd5b505190506001600160a01b038116610254576040805162461bcd60e51b815260206004820152600d60248201526c11195c1b1bde4819985a5b1959609a1b604482015290519081900360640190fd5b6040516001600160a01b0382169033907f09e48df7857bd0c1e0d31bb8a85d42cf1874817895f171c917f6ee2cea73ec2090600090a3505050565b7f00000000000000000000000000000000000000000000000000000000000000008156fea26469706673582212209824ac82969e56106968b899123a2ecac48f942b4ed3dcae2ced58022879d32364736f6c634300060c0033"; + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "contract IDeployer"; + readonly name: "_deployer"; + readonly type: "address"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "constructor"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "sender"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "addr"; + readonly type: "address"; + }]; + readonly name: "Deployed"; + readonly type: "event"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes"; + readonly name: "_initCode"; + readonly type: "bytes"; + }, { + readonly internalType: "bytes32"; + readonly name: "_salt"; + readonly type: "bytes32"; + }]; + readonly name: "deploy"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "deployer"; + readonly outputs: readonly [{ + readonly internalType: "contract IDeployer"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }]; + static createInterface(): DeployerInterface; + static connect(address: string, runner?: ContractRunner | null): Deployer; +} +export {}; diff --git a/dist/factories/contracts/Governance/Deployer.sol/IDeployer__factory.d.ts b/dist/factories/contracts/Governance/Deployer.sol/IDeployer__factory.d.ts new file mode 100644 index 0000000..7499cf6 --- /dev/null +++ b/dist/factories/contracts/Governance/Deployer.sol/IDeployer__factory.d.ts @@ -0,0 +1,25 @@ +import { type ContractRunner } from "ethers"; +import type { IDeployer, IDeployerInterface } from "../../../../contracts/Governance/Deployer.sol/IDeployer"; +export declare class IDeployer__factory { + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "bytes"; + readonly name: "_initCode"; + readonly type: "bytes"; + }, { + readonly internalType: "bytes32"; + readonly name: "_salt"; + readonly type: "bytes32"; + }]; + readonly name: "deploy"; + readonly outputs: readonly [{ + readonly internalType: "address payable"; + readonly name: "createdContract"; + readonly type: "address"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }]; + static createInterface(): IDeployerInterface; + static connect(address: string, runner?: ContractRunner | null): IDeployer; +} diff --git a/dist/factories/contracts/Governance/Deployer.sol/index.d.ts b/dist/factories/contracts/Governance/Deployer.sol/index.d.ts new file mode 100644 index 0000000..73dba4f --- /dev/null +++ b/dist/factories/contracts/Governance/Deployer.sol/index.d.ts @@ -0,0 +1,2 @@ +export { Deployer__factory } from "./Deployer__factory"; +export { IDeployer__factory } from "./IDeployer__factory"; diff --git a/dist/factories/contracts/Governance/FeeManager__factory.d.ts b/dist/factories/contracts/Governance/FeeManager__factory.d.ts new file mode 100644 index 0000000..7901926 --- /dev/null +++ b/dist/factories/contracts/Governance/FeeManager__factory.d.ts @@ -0,0 +1,264 @@ +import { ContractFactory, ContractTransactionResponse } from "ethers"; +import type { Signer, AddressLike, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../common"; +import type { FeeManager, FeeManagerInterface } from "../../../contracts/Governance/FeeManager"; +type FeeManagerConstructorParams = [signer?: Signer] | ConstructorParameters; +export declare class FeeManager__factory extends ContractFactory { + constructor(...args: FeeManagerConstructorParams); + getDeployTransaction(_torn: AddressLike, _governance: AddressLike, _registry: AddressLike, overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + deploy(_torn: AddressLike, _governance: AddressLike, _registry: AddressLike, overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + connect(runner: ContractRunner | null): FeeManager__factory; + static readonly bytecode = "0x60e06040523480156200001157600080fd5b5060405162001a7f38038062001a7f83398101604081905262000034916200005c565b6001600160601b0319606093841b811660805291831b821660a05290911b1660c052620000c8565b60008060006060848603121562000071578283fd5b83516200007e81620000af565b60208501519093506200009181620000af565b6040850151909250620000a481620000af565b809150509250925092565b6001600160a01b0381168114620000c557600080fd5b50565b60805160601c60a05160601c60c05160601c61195e62000121600039806102ce52806104f6528061077752806109945250806104b7528061052e528061060f528061070852508061068f528061087e525061195e6000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c8063a0287520116100a2578063bcc5ee6411610071578063bcc5ee641461020f578063c51c229714610217578063d8718fb11461022a578063e1f121561461023f578063f522d6d61461025257610116565b8063a0287520146101d9578063adf898a4146101ec578063aeb3077a146101f4578063b19a2972146101fc57610116565b8063603a54fe116100e9578063603a54fe146101815780637b103999146101945780637ccd2f481461019c57806380679eb3146101b157806380eb7bf0146101c657610116565b806305e343641461011b5780632efbf384146101445780634bf0a542146101645780635aa6e67514610179575b600080fd5b61012e610129366004611646565b61025a565b60405161013b919061188c565b60405180910390f35b610157610152366004611646565b61026c565b60405161013b91906116d3565b61016c6102c9565b60405161013b919061170f565b6101576104b5565b61015761018f366004611646565b6104d9565b6101576104f4565b6101a4610518565b60405161013b919061187c565b6101c46101bf366004611696565b610523565b005b6101c46101d4366004611646565b61057e565b6101c46101e7366004611662565b610604565b61015761068d565b61012e6106b1565b6101c461020a3660046113e4565b6106b7565b6101a46106eb565b6101c4610225366004611662565b6106fd565b61023261075a565b60405161013b9190611895565b61015761024d366004611646565b61076d565b6101c461098f565b60026020526000908152604090205481565b600080546001600160a01b038316825260026020526040822054600160381b90910462ffffff16429190910311156102a7576102a78261057e565b506001600160a01b03808216600090815260016020526040902054165b919050565b6060807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310c13ac36040518163ffffffff1660e01b815260040160006040518083038186803b15801561032557600080fd5b505afa158015610339573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610361919081019061147d565b9050805167ffffffffffffffff8111801561037b57600080fd5b506040519080825280602002602001820160405280156103b557816020015b6103a261131d565b81526020019060019003908161039a5790505b50915060005b81518110156104b05760006103e28383815181106103d557fe5b602002602001015161076d565b6001600160a01b031690506000811561045e576103e8826001600087878151811061040957fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060009054906101000a90046001600160a01b03166103e8026001600160a01b03168161045957fe5b040390505b604051806040016040528085858151811061047557fe5b60200260200101516001600160a01b031681526020018281525085848151811061049b57fe5b602090810291909101015250506001016103bb565b505090565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001602052600090815260409020546001600160a01b031681565b7f000000000000000000000000000000000000000000000000000000000000000081565b60005462ffffff1681565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461055857600080fd5b6000805463ffffffff90921663010000000266ffffffff00000019909216919091179055565b60006105898261076d565b6001600160a01b03838116600081815260016020908152604080832080546001600160a01b03191695871695909517909455600290528290204290559051919250907f6f0eaf2c2f89fb4cfe96a1dee5e764d60b52c7f48aaa590f0850e308aa1b953a906105f89084906116d3565b60405180910390a25050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461063957600080fd5b6000805462ffffff191662ffffff83811691909117918290556040517fbfe65cfc2359076c4468c9b895156c309c78f94fb09f6d2fc0463c4ca9a71ac29261068292169061187c565b60405180910390a150565b7f000000000000000000000000000000000000000000000000000000000000000081565b61271081565b60005b81518110156106e7576106df8282815181106106d257fe5b602002602001015161057e565b6001016106ba565b5050565b600054600160381b900462ffffff1681565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461073257600080fd5b6000805462ffffff909216600160381b0269ffffff0000000000000019909216919091179055565b6000546301000000900463ffffffff1681565b60008060008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663032bb443876040518263ffffffff1660e01b81526004016107c191906116d3565b60a06040518083038186803b1580156107d957600080fd5b505afa1580156107ed573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061081191906115cb565b9450945050935093508063ffffffff16600014156108365760009450505050506102c4565b6001600160a01b03831615801561084b575083155b610855578261086b565b73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25b6040805180820182526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081168252831660208083019190915282518084019093526000805462ffffff80821686528816928501929092529396506108e5929063ffffffff630100000090910416610a29565b905061098461271061097e8463ffffffff166109788561097e670de0b6b3a76400008e6001600160a01b0316638bca6d166040518163ffffffff1660e01b815260040160206040518083038186803b15801561094057600080fd5b505afa158015610954573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610978919061167e565b90610a75565b90610ac1565b979650505050505050565b610a277f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310c13ac36040518163ffffffff1660e01b815260040160006040518083038186803b1580156109eb57600080fd5b505afa1580156109ff573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261020a919081019061147d565b565b60208084015190830151600091610a409184610b03565b84518451610a6391670de0b6b3a764000091610a5d919087610b03565b90610b2d565b81610a6a57fe5b0490505b9392505050565b600082610a8457506000610abb565b82820282848281610a9157fe5b0414610ab85760405162461bcd60e51b8152600401610aaf9061183b565b60405180910390fd5b90505b92915050565b6000610ab883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610b51565b6000610b258473c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28585610b88565b949350505050565b6000821580610b4857505081810281838281610b4557fe5b04145b610abb57600080fd5b60008183610b725760405162461bcd60e51b8152600401610aaf91906117b1565b506000838581610b7e57fe5b0495945050505050565b600080846001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610bc457600080fd5b505afa158015610bd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bfc91906116b2565b60ff16600a0a90506001600160a01b038681169086161415610c28576001600160801b03169050610b25565b604051630b4c774160e11b8152610cc990610cc190731f98431c8ad98523631ae4a59f267346ea31f98490631698ee8290610c6b908b908b908b906004016116e7565b60206040518083038186803b158015610c8357600080fd5b505afa158015610c97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cbb91906113c8565b85610cda565b828888610e6f565b915050610b25565b50949350505050565b600063ffffffff8216610cff5760405162461bcd60e51b8152600401610aaf90611804565b60408051600280825260608083018452926020830190803683370190505090508281600081518110610d2d57fe5b602002602001019063ffffffff16908163ffffffff1681525050600081600181518110610d5657fe5b63ffffffff9092166020928302919091019091015260405163883bdbfd60e01b81526060906001600160a01b0386169063883bdbfd90610d9a908590600401611767565b60006040518083038186803b158015610db257600080fd5b505afa158015610dc6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610dee9190810190611509565b509050600081600081518110610e0057fe5b602002602001015182600181518110610e1557fe5b60200260200101510390508463ffffffff168160060b81610e3257fe5b05935060008160060b128015610e5957508463ffffffff168160060b81610e5557fe5b0715155b15610e6657600019909301925b50505092915050565b600080610e7b86610f59565b90506001600160801b036001600160a01b03821611610eea576001600160a01b0380821680029084811690861610610eca57610ec5600160c01b876001600160801b031683611272565b610ee2565b610ee281876001600160801b0316600160c01b611272565b925050610cd1565b6000610f096001600160a01b0383168068010000000000000000611272565b9050836001600160a01b0316856001600160a01b031610610f4157610f3c600160801b876001600160801b031683611272565b610984565b61098481876001600160801b0316600160801b611272565b60008060008360020b12610f70578260020b610f78565b8260020b6000035b9050620d89e8811115610f9d5760405162461bcd60e51b8152600401610aaf90611820565b600060018216610fb157600160801b610fc3565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615610ff7576ffff97272373d413259a46990580e213a0260801c5b6004821615611016576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615611035576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615611054576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615611073576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615611092576fff2ea16466c96a3843ec78b326b528610260801c5b60808216156110b1576ffe5dee046a99a2a811c461f1969c30530260801c5b6101008216156110d1576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b6102008216156110f1576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615611111576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615611131576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615611151576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615611171576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615611191576f70d869a156d2a1b890bb3df62baf32f70260801c5b6180008216156111b1576f31be135f97d08fd981231505542fcfa60260801c5b620100008216156111d2576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b620200008216156111f2576e5d6af8dedb81196699c329225ee6040260801c5b62040000821615611211576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561122e576b048a170391f7dc42444e8fa20260801c5b60008460020b131561124957806000198161124557fe5b0490505b64010000000081061561125d576001611260565b60005b60ff16602082901c0192505050919050565b60008080600019858709868602925082811090839003039050806112a8576000841161129d57600080fd5b508290049050610a6e565b8084116112b457600080fd5b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b604080518082019091526000808252602082015290565b600082601f830112611344578081fd5b8151611357611352826118cd565b6118a6565b81815291506020808301908481018184028601820187101561137857600080fd5b60005b848110156113a057815161138e816118ed565b8452928201929082019060010161137b565b505050505092915050565b8051610abb816118ed565b8051600681900b8114610abb57600080fd5b6000602082840312156113d9578081fd5b8151610ab8816118ed565b600060208083850312156113f6578182fd5b823567ffffffffffffffff81111561140c578283fd5b8301601f8101851361141c578283fd5b803561142a611352826118cd565b8181528381019083850185840285018601891015611446578687fd5b8694505b8385101561147157803561145d816118ed565b83526001949094019391850191850161144a565b50979650505050505050565b6000602080838503121561148f578182fd5b825167ffffffffffffffff8111156114a5578283fd5b8301601f810185136114b5578283fd5b80516114c3611352826118cd565b81815283810190838501858402850186018910156114df578687fd5b8694505b83851015611471576114f589826113ab565b8352600194909401939185019185016114e3565b6000806040838503121561151b578081fd5b825167ffffffffffffffff80821115611532578283fd5b818501915085601f830112611545578283fd5b8151611553611352826118cd565b80828252602080830192508086018a828387028901011115611573578788fd5b8796505b8487101561159d576115898b826113b6565b845260019690960195928101928101611577565b5088015190965093505050808211156115b4578283fd5b506115c185828601611334565b9150509250929050565b600080600080600060a086880312156115e2578081fd5b855180151581146115f1578182fd5b6020870151909550611602816118ed565b604087015190945060028110611616578182fd5b606087015190935061162781611905565b608087015190925061163881611916565b809150509295509295909350565b600060208284031215611657578081fd5b8135610ab8816118ed565b600060208284031215611673578081fd5b8135610ab881611905565b60006020828403121561168f578081fd5b5051919050565b6000602082840312156116a7578081fd5b8135610ab881611916565b6000602082840312156116c3578081fd5b815160ff81168114610ab8578182fd5b6001600160a01b0391909116815260200190565b6001600160a01b03938416815291909216602082015262ffffff909116604082015260600190565b602080825282518282018190526000919060409081850190868401855b8281101561175a57815180516001600160a01b0316855286015186850152928401929085019060010161172c565b5091979650505050505050565b6020808252825182820181905260009190848201906040850190845b818110156117a557835163ffffffff1683529284019291840191600101611783565b50909695505050505050565b6000602080835283518082850152825b818110156117dd578581018301518582016040015282016117c1565b818111156117ee5783604083870101525b50601f01601f1916929092016040019392505050565b602080825260029082015261042560f41b604082015260600190565b6020808252600190820152601560fa1b604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b62ffffff91909116815260200190565b90815260200190565b63ffffffff91909116815260200190565b60405181810167ffffffffffffffff811182821017156118c557600080fd5b604052919050565b600067ffffffffffffffff8211156118e3578081fd5b5060209081020190565b6001600160a01b038116811461190257600080fd5b50565b62ffffff8116811461190257600080fd5b63ffffffff8116811461190257600080fdfea26469706673582212205690be246e00d9bf30da35441a160026439ececfa962348f01e498d25f89f5d164736f6c634300060c0033"; + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "_torn"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "_governance"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "_registry"; + readonly type: "address"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "constructor"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "instance"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "newFee"; + readonly type: "uint256"; + }]; + readonly name: "FeeUpdated"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: false; + readonly internalType: "uint24"; + readonly name: "newFee"; + readonly type: "uint24"; + }]; + readonly name: "UniswapTornPoolSwappingFeeChanged"; + readonly type: "event"; + }, { + readonly inputs: readonly []; + readonly name: "PROTOCOL_FEE_DIVIDER"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "contract ITornadoInstance"; + readonly name: "_instance"; + readonly type: "address"; + }]; + readonly name: "calculatePoolFee"; + readonly outputs: readonly [{ + readonly internalType: "uint160"; + readonly name: ""; + readonly type: "uint160"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "feeDeviations"; + readonly outputs: readonly [{ + readonly components: readonly [{ + readonly internalType: "address"; + readonly name: "instance"; + readonly type: "address"; + }, { + readonly internalType: "int256"; + readonly name: "deviation"; + readonly type: "int256"; + }]; + readonly internalType: "struct FeeManager.Deviation[]"; + readonly name: "results"; + readonly type: "tuple[]"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "governance"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "contract ITornadoInstance"; + readonly name: ""; + readonly type: "address"; + }]; + readonly name: "instanceFee"; + readonly outputs: readonly [{ + readonly internalType: "uint160"; + readonly name: ""; + readonly type: "uint160"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "contract ITornadoInstance"; + readonly name: ""; + readonly type: "address"; + }]; + readonly name: "instanceFeeUpdated"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "contract ITornadoInstance"; + readonly name: "_instance"; + readonly type: "address"; + }]; + readonly name: "instanceFeeWithUpdate"; + readonly outputs: readonly [{ + readonly internalType: "uint160"; + readonly name: ""; + readonly type: "uint160"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "registry"; + readonly outputs: readonly [{ + readonly internalType: "contract InstanceRegistry"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint32"; + readonly name: "newPeriod"; + readonly type: "uint32"; + }]; + readonly name: "setPeriodForTWAPOracle"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint24"; + readonly name: "_uniswapTornPoolSwappingFee"; + readonly type: "uint24"; + }]; + readonly name: "setUniswapTornPoolSwappingFee"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint24"; + readonly name: "newLimit"; + readonly type: "uint24"; + }]; + readonly name: "setUpdateFeeTimeLimit"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "torn"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "uniswapTimePeriod"; + readonly outputs: readonly [{ + readonly internalType: "uint32"; + readonly name: ""; + readonly type: "uint32"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "uniswapTornPoolSwappingFee"; + readonly outputs: readonly [{ + readonly internalType: "uint24"; + readonly name: ""; + readonly type: "uint24"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "updateAllFees"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "contract ITornadoInstance"; + readonly name: "_instance"; + readonly type: "address"; + }]; + readonly name: "updateFee"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "updateFeeTimeLimit"; + readonly outputs: readonly [{ + readonly internalType: "uint24"; + readonly name: ""; + readonly type: "uint24"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "contract ITornadoInstance[]"; + readonly name: "_instances"; + readonly type: "address[]"; + }]; + readonly name: "updateFees"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }]; + static createInterface(): FeeManagerInterface; + static connect(address: string, runner?: ContractRunner | null): FeeManager; +} +export {}; diff --git a/dist/factories/contracts/Governance/GasCompensationVault__factory.d.ts b/dist/factories/contracts/Governance/GasCompensationVault__factory.d.ts new file mode 100644 index 0000000..0d1b8bc --- /dev/null +++ b/dist/factories/contracts/Governance/GasCompensationVault__factory.d.ts @@ -0,0 +1,67 @@ +import { ContractFactory, ContractTransactionResponse } from "ethers"; +import type { Signer, AddressLike, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../common"; +import type { GasCompensationVault, GasCompensationVaultInterface } from "../../../contracts/Governance/GasCompensationVault"; +type GasCompensationVaultConstructorParams = [signer?: Signer] | ConstructorParameters; +export declare class GasCompensationVault__factory extends ContractFactory { + constructor(...args: GasCompensationVaultConstructorParams); + getDeployTransaction(_governance: AddressLike, overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + deploy(_governance: AddressLike, overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + connect(runner: ContractRunner | null): GasCompensationVault__factory; + static readonly bytecode = "0x60a0604052348015600f57600080fd5b50604051610472380380610472833981016040819052602c91603c565b6001600160a01b0316608052606a565b600060208284031215604d57600080fd5b81516001600160a01b0381168114606357600080fd5b9392505050565b6080516103da6100986000396000818160560152818160e101528181610212015261027701526103da6000f3fe6080604052600436106100385760003560e01c8063a3221c2e14610044578063a99ce80714610094578063e822f784146100b657600080fd5b3661003f57005b600080fd5b34801561005057600080fd5b506100787f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b3480156100a057600080fd5b506100b46100af366004610328565b6100d6565b005b3480156100c257600080fd5b506100b46100d1366004610360565b610207565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461013e5760405162461bcd60e51b815260206004820152600860248201526737b7363c9033b7bb60c11b60448201526064015b60405180910390fd5b47600061014b4884610379565b90508160000361015b5750505050565b6000846001600160a01b03168383116101745782610176565b835b604051600081818185875af1925050503d80600081146101b2576040519150601f19603f3d011682016040523d82523d6000602084013e6101b7565b606091505b50509050806102005760405162461bcd60e51b815260206004820152601560248201527418dbdb5c195b9cd85d194819d85cc819985a5b1959605a1b6044820152606401610135565b5050505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461026a5760405162461bcd60e51b815260206004820152600860248201526737b7363c9033b7bb60c11b6044820152606401610135565b4760006001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168284116102a457836102a6565b825b604051600081818185875af1925050503d80600081146102e2576040519150601f19603f3d011682016040523d82523d6000602084013e6102e7565b606091505b50509050806103235760405162461bcd60e51b81526020600482015260086024820152671c185e4819985a5b60c21b6044820152606401610135565b505050565b6000806040838503121561033b57600080fd5b82356001600160a01b038116811461035257600080fd5b946020939093013593505050565b60006020828403121561037257600080fd5b5035919050565b808202811582820484141761039e57634e487b7160e01b600052601160045260246000fd5b9291505056fea264697066735822122073841dd5b5d8687d927814633a2fcb7944a306bb89a9b65a0aab4cc361c8312264736f6c63430008190033"; + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "_governance"; + readonly type: "address"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "constructor"; + }, { + readonly inputs: readonly []; + readonly name: "GovernanceAddress"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "recipient"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "gasAmount"; + readonly type: "uint256"; + }]; + readonly name: "compensateGas"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "withdrawToGovernance"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly stateMutability: "payable"; + readonly type: "receive"; + }]; + static createInterface(): GasCompensationVaultInterface; + static connect(address: string, runner?: ContractRunner | null): GasCompensationVault; +} +export {}; diff --git a/dist/factories/contracts/Governance/InstanceRegistry.sol/ITornadoRouter__factory.d.ts b/dist/factories/contracts/Governance/InstanceRegistry.sol/ITornadoRouter__factory.d.ts new file mode 100644 index 0000000..72fdfec --- /dev/null +++ b/dist/factories/contracts/Governance/InstanceRegistry.sol/ITornadoRouter__factory.d.ts @@ -0,0 +1,25 @@ +import { type ContractRunner } from "ethers"; +import type { ITornadoRouter, ITornadoRouterInterface } from "../../../../contracts/Governance/InstanceRegistry.sol/ITornadoRouter"; +export declare class ITornadoRouter__factory { + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "contract IERC20"; + readonly name: "_token"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "_spender"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "_amount"; + readonly type: "uint256"; + }]; + readonly name: "approveExactToken"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }]; + static createInterface(): ITornadoRouterInterface; + static connect(address: string, runner?: ContractRunner | null): ITornadoRouter; +} diff --git a/dist/factories/contracts/Governance/InstanceRegistry.sol/InstanceRegistry__factory.d.ts b/dist/factories/contracts/Governance/InstanceRegistry.sol/InstanceRegistry__factory.d.ts new file mode 100644 index 0000000..f214a23 --- /dev/null +++ b/dist/factories/contracts/Governance/InstanceRegistry.sol/InstanceRegistry__factory.d.ts @@ -0,0 +1,301 @@ +import { ContractFactory, ContractTransactionResponse } from "ethers"; +import type { Signer, AddressLike, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../common"; +import type { InstanceRegistry, InstanceRegistryInterface } from "../../../../contracts/Governance/InstanceRegistry.sol/InstanceRegistry"; +type InstanceRegistryConstructorParams = [signer?: Signer] | ConstructorParameters; +export declare class InstanceRegistry__factory extends ContractFactory { + constructor(...args: InstanceRegistryConstructorParams); + getDeployTransaction(_governance: AddressLike, overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + deploy(_governance: AddressLike, overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + connect(runner: ContractRunner | null): InstanceRegistry__factory; + static readonly bytecode = "0x60a060405234801561001057600080fd5b5060405161146f38038061146f83398101604081905261002f91610044565b60601b6001600160601b031916608052610072565b600060208284031215610055578081fd5b81516001600160a01b038116811461006b578182fd5b9392505050565b60805160601c6113cc6100a3600039806103e552806105c052806105ed528061073a52806107e652506113cc6000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80636c9be937116100715780636c9be9371461014d578063908e3b371461016057806392b65a4114610173578063b5b899b714610186578063cf552c8914610199578063f887ea40146101ac576100b4565b8063032bb443146100b957806310c13ac3146100e65780631ad058a9146100fb5780634ba16d9d1461011057806352c228e3146101235780635aa6e67514610138575b600080fd5b6100cc6100c7366004610e89565b6101b4565b6040516100dd95949392919061119c565b60405180910390f35b6100ee6101fe565b6040516100dd919061109f565b61010e610109366004610ec8565b6102af565b005b61010e61011e366004610e89565b6103da565b61012b61047f565b6040516100dd91906110ec565b6101406105be565b6040516100dd9190611071565b61010e61015b366004610fdb565b6105e2565b61014061016e366004610e89565b610709565b61010e610181366004610f80565b61072f565b61014061019436600461100d565b6107b4565b61010e6101a736600461100d565b6107db565b610140610a77565b60016020526000908152604090205460ff8082169161010081046001600160a01b031691600160a81b82041690600160b01b810462ffffff1690600160c81b900463ffffffff1685565b60025460609067ffffffffffffffff8111801561021a57600080fd5b50604051908082528060200260200182016040528015610244578160200160208202803683370190505b50905060005b6002548110156102ab576002818154811061026157fe5b9060005260206000200160009054906101000a90046001600160a01b031682828151811061028b57fe5b6001600160a01b039092166020928302919091019091015260010161024a565b5090565b600054610100900460ff16806102c857506102c8610a8c565b806102d6575060005460ff16155b6102fb5760405162461bcd60e51b81526004016102f29061121c565b60405180910390fd5b600054610100900460ff16158015610326576000805460ff1961ff0019909116610100171660011790555b6000805462010000600160b01b031916620100006001600160a01b038516021781555b83518110156103c25761036e84828151811061036157fe5b6020026020010151610a92565b600284828151811061037c57fe5b6020908102919091018101515182546001808201855560009485529290932090920180546001600160a01b0319166001600160a01b039093169290921790915501610349565b5080156103d5576000805461ff00191690555b505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104225760405162461bcd60e51b81526004016102f2906112ca565b6000805462010000600160b01b031916620100006001600160a01b038416021790556040517f94df8c3a8087dce110e5fbc5acf380c83c94bbd31b2c8ed4c08e1396a696e1a890610474908390611071565b60405180910390a150565b60025460609067ffffffffffffffff8111801561049b57600080fd5b506040519080825280602002602001820160405280156104d557816020015b6104c2610d64565b8152602001906001900390816104ba5790505b50905060005b6002548110156102ab576000600282815481106104f457fe5b60009182526020808320909101546040805180820182526001600160a01b03928316808252808652600180865295839020835160a081018552815460ff8082161515835261010082049097168289015292985092969587019592949093850192600160a81b909204169081111561056757fe5b600181111561057257fe5b81529054600160b01b810462ffffff166020830152600160c81b900463ffffffff16604090910152905283518490849081106105aa57fe5b6020908102919091010152506001016104db565b7f000000000000000000000000000000000000000000000000000000000000000081565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461062a5760405162461bcd60e51b81526004016102f2906112ca565b600061063c6080830160608401610fc0565b600181111561064757fe5b14156106655760405162461bcd60e51b81526004016102f290611293565b6000600160006106786020850185610e89565b6001600160a01b03168152602081019190915260400160002054600160a81b900460ff1660018111156106a757fe5b14156106ef5760026106bc6020830183610e89565b81546001810183556000928352602090922090910180546001600160a01b0319166001600160a01b039092169190911790555b61070661070136839003830183610ff2565b610a92565b50565b6001600160a01b038082166000908152600160205260409020546101009004165b919050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107775760405162461bcd60e51b81526004016102f2906112ca565b6001600160a01b039091166000908152600160205260409020805463ffffffff909216600160c81b0263ffffffff60c81b19909216919091179055565b600281815481106107c157fe5b6000918252602090912001546001600160a01b0316905081565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108235760405162461bcd60e51b81526004016102f2906112ca565b60006002828154811061083257fe5b60009182526020808320909101546001600160a01b03908116808452600190925260409092205490925060ff8116916101009091041681156109705760008054604051636eb1769f60e11b81526001600160a01b038085169263dd62ed3e926108aa9262010000909204909116908890600401611085565b60206040518083038186803b1580156108c257600080fd5b505afa1580156108d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108fa9190611025565b9050801561096e5760008054604051633ef1078360e01b8152620100009091046001600160a01b031691633ef107839161093b9186918991906004016111e3565b600060405180830381600087803b15801561095557600080fd5b505af1158015610969573d6000803e3d6000fd5b505050505b505b6001600160a01b038316600090815260016020526040902080546001600160e81b03191690556002805460001981019081106109a857fe5b600091825260209091200154600280546001600160a01b0390921691869081106109ce57fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506002805480610a0757fe5b6001900381819060005260206000200160006101000a8154906001600160a01b0302191690559055826001600160a01b03167f02826f62d88a4d9f1978eb9c06f8663f642d032908e65a915d5898f3585421c06000604051610a699190611207565b60405180910390a250505050565b6000546201000090046001600160a01b031681565b303b1590565b60208181015182516001600160a01b0390811660009081526001808552604091829020845181549686015160ff1990971690151517610100600160a81b0319166101009690941695909502929092178085559083015192939291839160ff60a81b191690600160a81b908490811115610b0757fe5b02179055506060820151815460809093015163ffffffff16600160c81b0263ffffffff60c81b1962ffffff909216600160b01b0262ffffff60b01b19909416939093171691909117905560208101515115610d1457600081600001516001600160a01b031663fc0c546a6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b9b57600080fd5b505afa158015610baf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bd39190610eac565b90508160200151602001516001600160a01b0316816001600160a01b031614610c0e5760405162461bcd60e51b81526004016102f29061126a565b600080548351604051636eb1769f60e11b81526001600160a01b038086169363dd62ed3e93610c4b93620100009092049092169190600401611085565b60206040518083038186803b158015610c6357600080fd5b505afa158015610c77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9b9190611025565b905080610d11576000548351604051633ef1078360e01b8152620100009092046001600160a01b031691633ef1078391610cde91869190600019906004016111e3565b600060405180830381600087803b158015610cf857600080fd5b505af1158015610d0c573d6000803e3d6000fd5b505050505b50505b80600001516001600160a01b03167f02826f62d88a4d9f1978eb9c06f8663f642d032908e65a915d5898f3585421c0826020015160400151604051610d599190611207565b60405180910390a250565b604051806040016040528060006001600160a01b03168152602001610d87610d8c565b905290565b6040805160a0810182526000808252602082018190529091820190815260006020820181905260409091015290565b8035610dc681611350565b92915050565b803560028110610dc657600080fd5b600081830360c0811215610ded578182fd5b610df760406112f2565b91508235610e0481611350565b825260a0601f1982011215610e1857600080fd5b50610e2360a06112f2565b6020830135610e3181611365565b81526040830135610e4181611350565b6020820152610e538460608501610dcc565b60408201526080830135610e6681611373565b606082015260a0830135610e7981611384565b6080820152602082015292915050565b600060208284031215610e9a578081fd5b8135610ea581611350565b9392505050565b600060208284031215610ebd578081fd5b8151610ea581611350565b60008060408385031215610eda578081fd5b823567ffffffffffffffff811115610ef0578182fd5b8301601f81018513610f00578182fd5b8035610f13610f0e82611319565b6112f2565b808282526020808301925080850160c08a838288028901011115610f35578788fd5b8796505b85871015610f6157610f4b8b83610ddb565b8552600196909601959382019390810190610f39565b5050819650610f7289828a01610dbb565b955050505050509250929050565b60008060408385031215610f92578182fd5b8235610f9d81611350565b9150602083013563ffffffff81168114610fb5578182fd5b809150509250929050565b600060208284031215610fd1578081fd5b610ea58383610dcc565b600060c08284031215610fec578081fd5b50919050565b600060c08284031215611003578081fd5b610ea58383610ddb565b60006020828403121561101e578081fd5b5035919050565b600060208284031215611036578081fd5b5051919050565b15159052565b6001600160a01b03169052565b6002811061105a57fe5b9052565b62ffffff169052565b63ffffffff169052565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6020808252825182820181905260009190848201906040850190845b818110156110e05783516001600160a01b0316835292840192918401916001016110bb565b50909695505050505050565b602080825282518282018190526000919060409081850190868401855b8281101561118f57815161111d8151611339565b85528601518051611131908887019061103d565b8681015161114187870182611043565b5085810151606061115481880183611050565b820151905060806111678782018361105e565b9190910151905061117b60a0860182611067565b5060c0939093019290850190600101611109565b5091979650505050505050565b85151581526001600160a01b038516602082015260a081016111bd85611345565b604083015262ffffff8416606083015263ffffffff831660808301529695505050505050565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6020810161121483611345565b825292915050565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252600f908201526e24b731b7b93932b1ba103a37b5b2b760891b604082015260600190565b6020808252601f908201527f5573652072656d6f7665496e7374616e6365282920666f722072656d6f766500604082015260600190565b6020808252600e908201526d139bdd08185d5d1a1bdc9a5e995960921b604082015260600190565b60405181810167ffffffffffffffff8111828210171561131157600080fd5b604052919050565b600067ffffffffffffffff82111561132f578081fd5b5060209081020190565b6001600160a01b031690565b806002811061072a57fe5b6001600160a01b038116811461070657600080fd5b801515811461070657600080fd5b62ffffff8116811461070657600080fd5b63ffffffff8116811461070657600080fdfea26469706673582212207c46c875176b62100d16a46c273e615cd9eb5336dbcd238b33b227f39ff9106564736f6c634300060c0033"; + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "_governance"; + readonly type: "address"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "constructor"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "contract ITornadoInstance"; + readonly name: "instance"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "enum InstanceRegistry.InstanceState"; + readonly name: "state"; + readonly type: "uint8"; + }]; + readonly name: "InstanceStateUpdated"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: false; + readonly internalType: "address"; + readonly name: "tornadoRouter"; + readonly type: "address"; + }]; + readonly name: "RouterRegistered"; + readonly type: "event"; + }, { + readonly inputs: readonly []; + readonly name: "getAllInstanceAddresses"; + readonly outputs: readonly [{ + readonly internalType: "contract ITornadoInstance[]"; + readonly name: "result"; + readonly type: "address[]"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "getAllInstances"; + readonly outputs: readonly [{ + readonly components: readonly [{ + readonly internalType: "contract ITornadoInstance"; + readonly name: "addr"; + readonly type: "address"; + }, { + readonly components: readonly [{ + readonly internalType: "bool"; + readonly name: "isERC20"; + readonly type: "bool"; + }, { + readonly internalType: "contract IERC20"; + readonly name: "token"; + readonly type: "address"; + }, { + readonly internalType: "enum InstanceRegistry.InstanceState"; + readonly name: "state"; + readonly type: "uint8"; + }, { + readonly internalType: "uint24"; + readonly name: "uniswapPoolSwappingFee"; + readonly type: "uint24"; + }, { + readonly internalType: "uint32"; + readonly name: "protocolFeePercentage"; + readonly type: "uint32"; + }]; + readonly internalType: "struct InstanceRegistry.Instance"; + readonly name: "instance"; + readonly type: "tuple"; + }]; + readonly internalType: "struct InstanceRegistry.Tornado[]"; + readonly name: "result"; + readonly type: "tuple[]"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "contract ITornadoInstance"; + readonly name: "instance"; + readonly type: "address"; + }]; + readonly name: "getPoolToken"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "governance"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly components: readonly [{ + readonly internalType: "contract ITornadoInstance"; + readonly name: "addr"; + readonly type: "address"; + }, { + readonly components: readonly [{ + readonly internalType: "bool"; + readonly name: "isERC20"; + readonly type: "bool"; + }, { + readonly internalType: "contract IERC20"; + readonly name: "token"; + readonly type: "address"; + }, { + readonly internalType: "enum InstanceRegistry.InstanceState"; + readonly name: "state"; + readonly type: "uint8"; + }, { + readonly internalType: "uint24"; + readonly name: "uniswapPoolSwappingFee"; + readonly type: "uint24"; + }, { + readonly internalType: "uint32"; + readonly name: "protocolFeePercentage"; + readonly type: "uint32"; + }]; + readonly internalType: "struct InstanceRegistry.Instance"; + readonly name: "instance"; + readonly type: "tuple"; + }]; + readonly internalType: "struct InstanceRegistry.Tornado[]"; + readonly name: "_instances"; + readonly type: "tuple[]"; + }, { + readonly internalType: "address"; + readonly name: "_router"; + readonly type: "address"; + }]; + readonly name: "initialize"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly name: "instanceIds"; + readonly outputs: readonly [{ + readonly internalType: "contract ITornadoInstance"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "contract ITornadoInstance"; + readonly name: ""; + readonly type: "address"; + }]; + readonly name: "instances"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: "isERC20"; + readonly type: "bool"; + }, { + readonly internalType: "contract IERC20"; + readonly name: "token"; + readonly type: "address"; + }, { + readonly internalType: "enum InstanceRegistry.InstanceState"; + readonly name: "state"; + readonly type: "uint8"; + }, { + readonly internalType: "uint24"; + readonly name: "uniswapPoolSwappingFee"; + readonly type: "uint24"; + }, { + readonly internalType: "uint32"; + readonly name: "protocolFeePercentage"; + readonly type: "uint32"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "_instanceId"; + readonly type: "uint256"; + }]; + readonly name: "removeInstance"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "router"; + readonly outputs: readonly [{ + readonly internalType: "contract ITornadoRouter"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "contract ITornadoInstance"; + readonly name: "instance"; + readonly type: "address"; + }, { + readonly internalType: "uint32"; + readonly name: "newFee"; + readonly type: "uint32"; + }]; + readonly name: "setProtocolFee"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "routerAddress"; + readonly type: "address"; + }]; + readonly name: "setTornadoRouter"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly components: readonly [{ + readonly internalType: "contract ITornadoInstance"; + readonly name: "addr"; + readonly type: "address"; + }, { + readonly components: readonly [{ + readonly internalType: "bool"; + readonly name: "isERC20"; + readonly type: "bool"; + }, { + readonly internalType: "contract IERC20"; + readonly name: "token"; + readonly type: "address"; + }, { + readonly internalType: "enum InstanceRegistry.InstanceState"; + readonly name: "state"; + readonly type: "uint8"; + }, { + readonly internalType: "uint24"; + readonly name: "uniswapPoolSwappingFee"; + readonly type: "uint24"; + }, { + readonly internalType: "uint32"; + readonly name: "protocolFeePercentage"; + readonly type: "uint32"; + }]; + readonly internalType: "struct InstanceRegistry.Instance"; + readonly name: "instance"; + readonly type: "tuple"; + }]; + readonly internalType: "struct InstanceRegistry.Tornado"; + readonly name: "_tornado"; + readonly type: "tuple"; + }]; + readonly name: "updateInstance"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }]; + static createInterface(): InstanceRegistryInterface; + static connect(address: string, runner?: ContractRunner | null): InstanceRegistry; +} +export {}; diff --git a/dist/factories/contracts/Governance/InstanceRegistry.sol/index.d.ts b/dist/factories/contracts/Governance/InstanceRegistry.sol/index.d.ts new file mode 100644 index 0000000..63269f8 --- /dev/null +++ b/dist/factories/contracts/Governance/InstanceRegistry.sol/index.d.ts @@ -0,0 +1,2 @@ +export { ITornadoRouter__factory } from "./ITornadoRouter__factory"; +export { InstanceRegistry__factory } from "./InstanceRegistry__factory"; diff --git a/dist/factories/contracts/Governance/LoopbackProxy__factory.d.ts b/dist/factories/contracts/Governance/LoopbackProxy__factory.d.ts new file mode 100644 index 0000000..5c7c02f --- /dev/null +++ b/dist/factories/contracts/Governance/LoopbackProxy__factory.d.ts @@ -0,0 +1,119 @@ +import { ContractFactory, ContractTransactionResponse } from "ethers"; +import type { Signer, BytesLike, AddressLike, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { PayableOverrides } from "../../../common"; +import type { LoopbackProxy, LoopbackProxyInterface } from "../../../contracts/Governance/LoopbackProxy"; +type LoopbackProxyConstructorParams = [signer?: Signer] | ConstructorParameters; +export declare class LoopbackProxy__factory extends ContractFactory { + constructor(...args: LoopbackProxyConstructorParams); + getDeployTransaction(_logic: AddressLike, _data: BytesLike, overrides?: PayableOverrides & { + from?: string; + }): Promise; + deploy(_logic: AddressLike, _data: BytesLike, overrides?: PayableOverrides & { + from?: string; + }): Promise; + connect(runner: ContractRunner | null): LoopbackProxy__factory; + static readonly bytecode = "0x608060405260405161083b38038061083b8339818101604052604081101561002657600080fd5b81516020830180516040519294929383019291908464010000000082111561004d57600080fd5b90830190602082018581111561006257600080fd5b825164010000000081118282018810171561007c57600080fd5b82525081516020918201929091019080838360005b838110156100a9578181015183820152602001610091565b50505050905090810190601f1680156100d65780820380516001836020036101000a031916815260200191505b50604052508391503090508282816100ed826101c0565b8051156101a5576000826001600160a01b0316826040518082805190602001908083835b602083106101305780518252601f199092019160209182019101610111565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610190576040519150601f19603f3d011682016040523d82523d6000602084013e610195565b606091505b50509050806101a357600080fd5b505b506101ad9050565b6101b682610232565b505050505061025c565b6101d38161025660201b6103b41760201c565b61020e5760405162461bcd60e51b81526004018080602001828103825260368152602001806108056036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b3b151590565b61059a8061026b6000396000f3fe60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100985780635c60da1b146101185780638f28397014610149578063f851a4401461017c5761005d565b3661005d5761005b610191565b005b61005b610191565b34801561007157600080fd5b5061005b6004803603602081101561008857600080fd5b50356001600160a01b03166101ab565b61005b600480360360408110156100ae57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100d957600080fd5b8201836020820111156100eb57600080fd5b8035906020019184600183028401116401000000008311171561010d57600080fd5b5090925090506101e5565b34801561012457600080fd5b5061012d610292565b604080516001600160a01b039092168252519081900360200190f35b34801561015557600080fd5b5061005b6004803603602081101561016c57600080fd5b50356001600160a01b03166102cf565b34801561018857600080fd5b5061012d610389565b6101996101a9565b6101a96101a46103ba565b6103df565b565b6101b3610403565b6001600160a01b0316336001600160a01b031614156101da576101d581610428565b6101e2565b6101e2610191565b50565b6101ed610403565b6001600160a01b0316336001600160a01b031614156102855761020f83610428565b6000836001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d806000811461026c576040519150601f19603f3d011682016040523d82523d6000602084013e610271565b606091505b505090508061027f57600080fd5b5061028d565b61028d610191565b505050565b600061029c610403565b6001600160a01b0316336001600160a01b031614156102c4576102bd6103ba565b90506102cc565b6102cc610191565b90565b6102d7610403565b6001600160a01b0316336001600160a01b031614156101da576001600160a01b0381166103355760405162461bcd60e51b815260040180806020018281038252603a8152602001806104f5603a913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61035e610403565b604080516001600160a01b03928316815291841660208301528051918290030190a16101d581610468565b6000610393610403565b6001600160a01b0316336001600160a01b031614156102c4576102bd610403565b3b151590565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e8080156103fe573d6000f35b3d6000fd5b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b6104318161048c565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b610495816103b4565b6104d05760405162461bcd60e51b815260040180806020018281038252603681526020018061052f6036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5556fe5472616e73706172656e745570677261646561626c6550726f78793a206e65772061646d696e20697320746865207a65726f20616464726573735570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374a264697066735822122014d721b179bdff3154685a6f1f0fecdd0d99b7cfc61b3f1a2f7a95c6f6d2c2ae64736f6c634300060c00335570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374"; + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "_logic"; + readonly type: "address"; + }, { + readonly internalType: "bytes"; + readonly name: "_data"; + readonly type: "bytes"; + }]; + readonly stateMutability: "payable"; + readonly type: "constructor"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: false; + readonly internalType: "address"; + readonly name: "previousAdmin"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "address"; + readonly name: "newAdmin"; + readonly type: "address"; + }]; + readonly name: "AdminChanged"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "implementation"; + readonly type: "address"; + }]; + readonly name: "Upgraded"; + readonly type: "event"; + }, { + readonly stateMutability: "payable"; + readonly type: "fallback"; + }, { + readonly inputs: readonly []; + readonly name: "admin"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "newAdmin"; + readonly type: "address"; + }]; + readonly name: "changeAdmin"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "implementation"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "newImplementation"; + readonly type: "address"; + }]; + readonly name: "upgradeTo"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "newImplementation"; + readonly type: "address"; + }, { + readonly internalType: "bytes"; + readonly name: "data"; + readonly type: "bytes"; + }]; + readonly name: "upgradeToAndCall"; + readonly outputs: readonly []; + readonly stateMutability: "payable"; + readonly type: "function"; + }, { + readonly stateMutability: "payable"; + readonly type: "receive"; + }]; + static createInterface(): LoopbackProxyInterface; + static connect(address: string, runner?: ContractRunner | null): LoopbackProxy; +} +export {}; diff --git a/dist/factories/contracts/Governance/RelayerRegistry.sol/IENS__factory.d.ts b/dist/factories/contracts/Governance/RelayerRegistry.sol/IENS__factory.d.ts new file mode 100644 index 0000000..a7c377c --- /dev/null +++ b/dist/factories/contracts/Governance/RelayerRegistry.sol/IENS__factory.d.ts @@ -0,0 +1,21 @@ +import { type ContractRunner } from "ethers"; +import type { IENS, IENSInterface } from "../../../../contracts/Governance/RelayerRegistry.sol/IENS"; +export declare class IENS__factory { + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: "node"; + readonly type: "bytes32"; + }]; + readonly name: "owner"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }]; + static createInterface(): IENSInterface; + static connect(address: string, runner?: ContractRunner | null): IENS; +} diff --git a/dist/factories/contracts/Governance/RelayerRegistry.sol/IFeeManager__factory.d.ts b/dist/factories/contracts/Governance/RelayerRegistry.sol/IFeeManager__factory.d.ts new file mode 100644 index 0000000..3863549 --- /dev/null +++ b/dist/factories/contracts/Governance/RelayerRegistry.sol/IFeeManager__factory.d.ts @@ -0,0 +1,21 @@ +import { type ContractRunner } from "ethers"; +import type { IFeeManager, IFeeManagerInterface } from "../../../../contracts/Governance/RelayerRegistry.sol/IFeeManager"; +export declare class IFeeManager__factory { + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "contract ITornadoInstance"; + readonly name: "_instance"; + readonly type: "address"; + }]; + readonly name: "instanceFeeWithUpdate"; + readonly outputs: readonly [{ + readonly internalType: "uint160"; + readonly name: ""; + readonly type: "uint160"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }]; + static createInterface(): IFeeManagerInterface; + static connect(address: string, runner?: ContractRunner | null): IFeeManager; +} diff --git a/dist/factories/contracts/Governance/RelayerRegistry.sol/RelayerRegistry__factory.d.ts b/dist/factories/contracts/Governance/RelayerRegistry.sol/RelayerRegistry__factory.d.ts new file mode 100644 index 0000000..7c0c2fb --- /dev/null +++ b/dist/factories/contracts/Governance/RelayerRegistry.sol/RelayerRegistry__factory.d.ts @@ -0,0 +1,509 @@ +import { ContractFactory, ContractTransactionResponse } from "ethers"; +import type { Signer, AddressLike, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../common"; +import type { RelayerRegistry, RelayerRegistryInterface } from "../../../../contracts/Governance/RelayerRegistry.sol/RelayerRegistry"; +type RelayerRegistryConstructorParams = [signer?: Signer] | ConstructorParameters; +export declare class RelayerRegistry__factory extends ContractFactory { + constructor(...args: RelayerRegistryConstructorParams); + getDeployTransaction(_torn: AddressLike, _governance: AddressLike, _ens: AddressLike, _staking: AddressLike, _feeManager: AddressLike, overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + deploy(_torn: AddressLike, _governance: AddressLike, _ens: AddressLike, _staking: AddressLike, _feeManager: AddressLike, overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + connect(runner: ContractRunner | null): RelayerRegistry__factory; + static readonly bytecode = "0x6101206040523480156200001257600080fd5b5060405162001e3c38038062001e3c83398101604081905262000035916200006d565b6001600160601b0319606095861b811660805293851b841660a05291841b831660c052831b821660e05290911b166101005262000105565b600080600080600060a0868803121562000085578081fd5b85516200009281620000ec565b6020870151909550620000a581620000ec565b6040870151909450620000b881620000ec565b6060870151909350620000cb81620000ec565b6080870151909250620000de81620000ec565b809150509295509295909350565b6001600160a01b03811681146200010257600080fd5b50565b60805160601c60a05160601c60c05160601c60e05160601c6101005160601c611cac62000190600039806105855280610b0b52508061066152806107c75280610dc0528061103e52508061046f5280610ec552508061071652806107f452806108ff5280610bfc52508061093852806109c15280610b4f5280610d9d528061101b5250611cac6000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c806385a29683116100c3578063d0fb02031161007c578063d0fb0203146102bc578063d990231d146102c4578063e37e8bcc146102d7578063e43fdb3c146102ea578063eb4af045146102fd578063f18876841461031057610158565b806385a2968314610248578063adf898a41461025b578063ae53941c14610263578063b69fd4ab14610283578063b971a6bf14610296578063c4d66de8146102a957610158565b80634cb16c2e116101155780634cb16c2e146101dc5780634cf088d9146101e45780634d4efd04146101ec5780635300f841146101ff578063541d5548146102205780635aa6e6751461024057610158565b80632e6506491461015d5780633523dc85146101725780633f15457f146101855780634048a257146101a357806345a11cec146101b65780634ba16d9d146101c9575b600080fd5b61017061016b36600461151e565b610318565b005b6101706101803660046114e6565b61036d565b61018d61046d565b60405161019a91906117c9565b60405180910390f35b61018d6101b13660046114e6565b610491565b6101706101c4366004611556565b6104ac565b6101706101d73660046114e6565b61070b565b61018d6107b0565b61018d6107c5565b6101706101fa3660046114e6565b6107e9565b61021261020d3660046114e6565b6108c4565b60405161019a92919061179f565b61023361022e3660046114e6565b6108dd565b60405161019a9190611875565b61018d6108fd565b6101706102563660046115cb565b610921565b61018d6109bf565b6102766102713660046114e6565b6109e3565b60405161019a9190611880565b61023361029136600461151e565b610a11565b6102766102a43660046114e6565b610a38565b6101706102b73660046114e6565b610a63565b61018d610b09565b6101706102d23660046115a0565b610b2d565b6101706102e53660046116d0565b610b38565b6101706102f8366004611659565b610bdc565b61017061030b366004611787565b610bf1565b610276610c6e565b3360008181526003602052604090205483906001600160a01b0380831691161461035d5760405162461bcd60e51b815260040161035490611b20565b60405180910390fd5b6103678484610c74565b50505050565b6001600160a01b03811633146103b6576001600160a01b038181166000908152600360205260409020541633146103b65760405162461bcd60e51b815260040161035490611b46565b6001600160a01b0380821660008181526003602052604090205490911614156103f15760405162461bcd60e51b815260040161035490611a5f565b6001600160a01b03808216600090815260036020526040908190205490517fb2a8e18b9e887f502d65c1683e60b723fa582a6903ea4e8eb23907a19c1ce8a09261043e92169084906117dd565b60405180910390a16001600160a01b0316600090815260036020526040902080546001600160a01b0319169055565b7f000000000000000000000000000000000000000000000000000000000000000081565b6003602052600090815260409020546001600160a01b031681565b6000546201000090046001600160a01b031633146104dc5760405162461bcd60e51b815260040161035490611938565b6001600160a01b03808416600090815260036020526040902054168061053a576001600160a01b0383811660009081526003602052604090205416156105345760405162461bcd60e51b815260040161035490611abc565b50610706565b826001600160a01b0316816001600160a01b03161461056b5760405162461bcd60e51b815260040161035490611b20565b604051630bbefce160e21b81526000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632efbf384906105ba9086906004016117c9565b602060405180830381600087803b1580156105d457600080fd5b505af11580156105e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061060c9190611502565b6001600160a01b03858116600090815260026020526040902054911691506106349082610d0d565b6001600160a01b038086166000908152600260205260409081902092909255905163338610af60e01b81527f00000000000000000000000000000000000000000000000000000000000000009091169063338610af90610698908490600401611880565b600060405180830381600087803b1580156106b257600080fd5b505af11580156106c6573d6000803e3d6000fd5b505050507f659f33fc6677bebf3a9bf3101092792e31f35766d0358e54577bdd91a655f6a084826040516106fb92919061185c565b60405180910390a150505b505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107535760405162461bcd60e51b8152600401610354906119b8565b6000805462010000600160b01b031916620100006001600160a01b038416021790556040517f94df8c3a8087dce110e5fbc5acf380c83c94bbd31b2c8ed4c08e1396a696e1a8906107a59083906117c9565b60405180910390a150565b6000546201000090046001600160a01b031681565b7f000000000000000000000000000000000000000000000000000000000000000081565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108315760405162461bcd60e51b8152600401610354906119b8565b6001600160a01b0380821660008181526003602052604090205490911690811461086d5760405162461bcd60e51b815260040161035490611c0a565b6001600160a01b03811660009081526002602052604080822091909155517fafa759fb3c68e89eaaba359f0930ab40c24875b73cc9e2f6a38b0180019eb8f3906108b89084906117c9565b60405180910390a15050565b6002602052600090815260409020805460019091015482565b6001600160a01b0390811660009081526003602052604090205416151590565b7f000000000000000000000000000000000000000000000000000000000000000081565b60405163d505accf60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d505accf9061097990889030908b908a908a908a908a9060040161181b565b600060405180830381600087803b15801561099357600080fd5b505af11580156109a7573d6000803e3d6000fd5b505050506109b6858888610d56565b50505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001600160a01b03908116600090815260036020908152604080832054909316825260029052206001015490565b6001600160a01b038181166000908152600360205260409020548116908316145b92915050565b6001600160a01b03908116600090815260036020908152604080832054909316825260029052205490565b600054610100900460ff1680610a7c5750610a7c610e64565b80610a8a575060005460ff16155b610aa65760405162461bcd60e51b815260040161035490611a11565b600054610100900460ff16158015610ad1576000805460ff1961ff0019909116610100171660011790555b6000805462010000600160b01b031916620100006001600160a01b038516021790558015610b05576000805461ff00191690555b5050565b7f000000000000000000000000000000000000000000000000000000000000000081565b610b05338383610d56565b60405163d505accf60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d505accf90610b9090889030908d908a908a908a908a9060040161181b565b600060405180830381600087803b158015610baa57600080fd5b505af1158015610bbe573d6000803e3d6000fd5b50505050610bd0858b8b8b8b8b610e6a565b50505050505050505050565b610bea338686868686610e6a565b5050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c395760405162461bcd60e51b8152600401610354906119b8565b60018190556040517f404663163d528ec45288abc4389b81bd96fabf858ff57577ebd4ee7f15d7b0a6906107a5908390611880565b60015481565b6001600160a01b038181166000908152600360205260409020541615610cac5760405162461bcd60e51b8152600401610354906119e1565b6001600160a01b038181166000908152600360205260409081902080546001600160a01b03191692851692909217909155517fcde75bd02c5f739608c891bcd9aa6809e6c4a7035ac7b9f3fd5fea756db74724906108b890849084906117dd565b6000610d4f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061115b565b9392505050565b6001600160a01b0380831660008181526003602052604090205490911614610d905760405162461bcd60e51b815260040161035490611993565b610de56001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016847f000000000000000000000000000000000000000000000000000000000000000084611187565b6001600160a01b038216600090815260026020526040902054610e099082906111df565b6001600160a01b0383166000908152600260205260409081902091909155517f1275dbe2a271b2b822e60f1d44894fa5fb337e7e2dc6a200205b1a5b17c07d6490610e57908490849061185c565b60405180910390a1505050565b303b1590565b6000610eab86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061120492505050565b6040516302571be360e01b81529091506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906302571be390610efa908490600401611880565b60206040518083038186803b158015610f1257600080fd5b505afa158015610f26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4a9190611502565b6001600160a01b0316876001600160a01b031614610f7a5760405162461bcd60e51b815260040161035490611be2565b6001600160a01b038781166000908152600360205260409020541615610fb25760405162461bcd60e51b815260040161035490611a8f565b6001600160a01b0387166000908152600260205260409020600181015415610fec5760405162461bcd60e51b81526004016103549061190c565b60015485101561100e5760405162461bcd60e51b815260040161035490611bbe565b6110636001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016897f000000000000000000000000000000000000000000000000000000000000000088611187565b7f1275dbe2a271b2b822e60f1d44894fa5fb337e7e2dc6a200205b1a5b17c07d64888660405161109492919061185c565b60405180910390a1848155600181018290556001600160a01b038816600081815260036020526040812080546001600160a01b0319169092179091555b838110156111115760008585838181106110e757fe5b90506020020160208101906110fc91906114e6565b90506111088a82610c74565b506001016110d1565b507f9ca7c9c762eff27b021608f232b4c4b8f9b8bf9a3d322297e47cc4209a67d5e28288888b89604051611149959493929190611889565b60405180910390a15050505050505050565b6000818484111561117f5760405162461bcd60e51b815260040161035491906118d9565b505050900390565b610367846323b872dd60e01b8585856040516024016111a8939291906117f7565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611211565b600082820183811015610d4f5760405162461bcd60e51b81526004016103549061195c565b6000610a328260006112a0565b6060611266826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661130a9092919063ffffffff16565b80519091501561070657808060200190518101906112849190611639565b6107065760405162461bcd60e51b815260040161035490611b74565b6000818351116112b257506000610a32565b60006112be8484611321565b90506112cf848285016001016112a0565b6112da858584611366565b6040516020016112eb92919061179f565b6040516020818303038152906040528051906020012091505092915050565b60606113198484600085611382565b949350505050565b6000805b8351818401141580156113595750838184018151811061134157fe5b6020910101516001600160f81b031916601760f91b14155b15610d4f57600101611325565b60008351828401111561137857600080fd5b5091016020012090565b606061138d85611446565b6113a95760405162461bcd60e51b815260040161035490611ae9565b60006060866001600160a01b031685876040516113c691906117ad565b60006040518083038185875af1925050503d8060008114611403576040519150601f19603f3d011682016040523d82523d6000602084013e611408565b606091505b5091509150811561141c5791506113199050565b80511561142c5780518082602001fd5b8360405162461bcd60e51b815260040161035491906118d9565b3b151590565b60008083601f84011261145d578182fd5b50813567ffffffffffffffff811115611474578182fd5b602083019150836020808302850101111561148e57600080fd5b9250929050565b60008083601f8401126114a6578182fd5b50813567ffffffffffffffff8111156114bd578182fd5b60208301915083602082850101111561148e57600080fd5b803560ff81168114610a3257600080fd5b6000602082840312156114f7578081fd5b8135610d4f81611c5e565b600060208284031215611513578081fd5b8151610d4f81611c5e565b60008060408385031215611530578081fd5b823561153b81611c5e565b9150602083013561154b81611c5e565b809150509250929050565b60008060006060848603121561156a578081fd5b833561157581611c5e565b9250602084013561158581611c5e565b9150604084013561159581611c5e565b809150509250925092565b600080604083850312156115b2578182fd5b82356115bd81611c5e565b946020939093013593505050565b600080600080600080600060e0888a0312156115e5578283fd5b87356115f081611c5e565b965060208801359550604088013561160781611c5e565b94506060880135935061161d8960808a016114d5565b925060a0880135915060c0880135905092959891949750929550565b60006020828403121561164a578081fd5b81518015158114610d4f578182fd5b600080600080600060608688031215611670578081fd5b853567ffffffffffffffff80821115611687578283fd5b61169389838a01611495565b90975095506020880135945060408801359150808211156116b2578283fd5b506116bf8882890161144c565b969995985093965092949392505050565b6000806000806000806000806000806101008b8d0312156116ef578283fd5b8a3567ffffffffffffffff80821115611706578485fd5b6117128e838f01611495565b909c509a5060208d0135995060408d0135915080821115611731578485fd5b5061173e8d828e0161144c565b90985096505060608b013561175281611c5e565b945060808b013593506117688c60a08d016114d5565b925060c08b0135915060e08b013590509295989b9194979a5092959850565b600060208284031215611798578081fd5b5035919050565b918252602082015260400190565b600082516117bf818460208701611c32565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b90815260200190565b600086825260806020830152846080830152848660a084013760a08583018101919091526001600160a01b039390931660408201526060810191909152601f909201601f19169091010192915050565b60006020825282518060208401526118f8816040850160208701611c32565b601f01601f19169190910160400192915050565b6020808252601290820152717265676973746572656420616c726561647960701b604082015260600190565b6020808252600a90820152696f6e6c792070726f787960b01b604082015260600190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252600b908201526a085c9959da5cdd195c995960aa1b604082015260600190565b6020808252600f908201526e6f6e6c7920676f7665726e616e636560881b604082015260600190565b60208082526016908201527563616e277420737465616c20616e206164647265737360501b604082015260600190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b60208082526016908201527531b0b73a103ab73932b3b4b9ba32b91036b0b9ba32b960511b604082015260600190565b60208082526013908201527231b0b73a103932b3b4b9ba32b91030b3b0b4b760691b604082015260600190565b60208082526013908201527227b7363c9031bab9ba37b6903932b630bcb2b960691b604082015260600190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b6020808252600c908201526b37b7363c903932b630bcb2b960a11b604082015260600190565b60208082526014908201527337b7363c9037bbb732b91037b3103bb7b935b2b960611b604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b6020808252600a9082015269216d696e5f7374616b6560b01b604082015260600190565b6020808252600e908201526d37b7363c9032b7399037bbb732b960911b604082015260600190565b6020808252600e908201526d36bab9ba1031329036b0b9ba32b960911b604082015260600190565b60005b83811015611c4d578181015183820152602001611c35565b838111156103675750506000910152565b6001600160a01b0381168114611c7357600080fd5b5056fea2646970667358221220af9b060307b803c3e85be3c7887780626ba06e3ccb6888222cb230fd87c11d5664736f6c634300060c0033"; + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "_torn"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "_governance"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "_ens"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "_staking"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "_feeManager"; + readonly type: "address"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "constructor"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "minStakeAmount"; + readonly type: "uint256"; + }]; + readonly name: "MinimumStakeAmount"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: false; + readonly internalType: "address"; + readonly name: "relayer"; + readonly type: "address"; + }]; + readonly name: "RelayerBalanceNullified"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: false; + readonly internalType: "bytes32"; + readonly name: "relayer"; + readonly type: "bytes32"; + }, { + readonly indexed: false; + readonly internalType: "string"; + readonly name: "ensName"; + readonly type: "string"; + }, { + readonly indexed: false; + readonly internalType: "address"; + readonly name: "relayerAddress"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "stakedAmount"; + readonly type: "uint256"; + }]; + readonly name: "RelayerRegistered"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: false; + readonly internalType: "address"; + readonly name: "tornadoRouter"; + readonly type: "address"; + }]; + readonly name: "RouterRegistered"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: false; + readonly internalType: "address"; + readonly name: "relayer"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "amountStakeAdded"; + readonly type: "uint256"; + }]; + readonly name: "StakeAddedToRelayer"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: false; + readonly internalType: "address"; + readonly name: "relayer"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "amountBurned"; + readonly type: "uint256"; + }]; + readonly name: "StakeBurned"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: false; + readonly internalType: "address"; + readonly name: "relayer"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "address"; + readonly name: "worker"; + readonly type: "address"; + }]; + readonly name: "WorkerRegistered"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: false; + readonly internalType: "address"; + readonly name: "relayer"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "address"; + readonly name: "worker"; + readonly type: "address"; + }]; + readonly name: "WorkerUnregistered"; + readonly type: "event"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "sender"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "relayer"; + readonly type: "address"; + }, { + readonly internalType: "contract ITornadoInstance"; + readonly name: "pool"; + readonly type: "address"; + }]; + readonly name: "burn"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "ens"; + readonly outputs: readonly [{ + readonly internalType: "contract IENS"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "feeManager"; + readonly outputs: readonly [{ + readonly internalType: "contract IFeeManager"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "relayer"; + readonly type: "address"; + }]; + readonly name: "getRelayerBalance"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "relayer"; + readonly type: "address"; + }]; + readonly name: "getRelayerEnsHash"; + readonly outputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: ""; + readonly type: "bytes32"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "governance"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "_tornadoRouter"; + readonly type: "address"; + }]; + readonly name: "initialize"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "toResolve"; + readonly type: "address"; + }]; + readonly name: "isRelayer"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "relayer"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "toResolve"; + readonly type: "address"; + }]; + readonly name: "isRelayerRegistered"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "minStakeAmount"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "relayer"; + readonly type: "address"; + }]; + readonly name: "nullifyBalance"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "string"; + readonly name: "ensName"; + readonly type: "string"; + }, { + readonly internalType: "uint256"; + readonly name: "stake"; + readonly type: "uint256"; + }, { + readonly internalType: "address[]"; + readonly name: "workersToRegister"; + readonly type: "address[]"; + }]; + readonly name: "register"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "string"; + readonly name: "ensName"; + readonly type: "string"; + }, { + readonly internalType: "uint256"; + readonly name: "stake"; + readonly type: "uint256"; + }, { + readonly internalType: "address[]"; + readonly name: "workersToRegister"; + readonly type: "address[]"; + }, { + readonly internalType: "address"; + readonly name: "relayer"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "deadline"; + readonly type: "uint256"; + }, { + readonly internalType: "uint8"; + readonly name: "v"; + readonly type: "uint8"; + }, { + readonly internalType: "bytes32"; + readonly name: "r"; + readonly type: "bytes32"; + }, { + readonly internalType: "bytes32"; + readonly name: "s"; + readonly type: "bytes32"; + }]; + readonly name: "registerPermit"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "relayer"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "worker"; + readonly type: "address"; + }]; + readonly name: "registerWorker"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly name: "relayers"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "balance"; + readonly type: "uint256"; + }, { + readonly internalType: "bytes32"; + readonly name: "ensHash"; + readonly type: "bytes32"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "minAmount"; + readonly type: "uint256"; + }]; + readonly name: "setMinStakeAmount"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "tornadoRouterAddress"; + readonly type: "address"; + }]; + readonly name: "setTornadoRouter"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "relayer"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "stake"; + readonly type: "uint256"; + }]; + readonly name: "stakeToRelayer"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "relayer"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "stake"; + readonly type: "uint256"; + }, { + readonly internalType: "address"; + readonly name: "staker"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "deadline"; + readonly type: "uint256"; + }, { + readonly internalType: "uint8"; + readonly name: "v"; + readonly type: "uint8"; + }, { + readonly internalType: "bytes32"; + readonly name: "r"; + readonly type: "bytes32"; + }, { + readonly internalType: "bytes32"; + readonly name: "s"; + readonly type: "bytes32"; + }]; + readonly name: "stakeToRelayerPermit"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "staking"; + readonly outputs: readonly [{ + readonly internalType: "contract TornadoStakingRewards"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "torn"; + readonly outputs: readonly [{ + readonly internalType: "contract TORN"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "tornadoRouter"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "worker"; + readonly type: "address"; + }]; + readonly name: "unregisterWorker"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly name: "workers"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }]; + static createInterface(): RelayerRegistryInterface; + static connect(address: string, runner?: ContractRunner | null): RelayerRegistry; +} +export {}; diff --git a/dist/factories/contracts/Governance/RelayerRegistry.sol/index.d.ts b/dist/factories/contracts/Governance/RelayerRegistry.sol/index.d.ts new file mode 100644 index 0000000..d743757 --- /dev/null +++ b/dist/factories/contracts/Governance/RelayerRegistry.sol/index.d.ts @@ -0,0 +1,3 @@ +export { IENS__factory } from "./IENS__factory"; +export { IFeeManager__factory } from "./IFeeManager__factory"; +export { RelayerRegistry__factory } from "./RelayerRegistry__factory"; diff --git a/dist/factories/contracts/Governance/TORN/Airdrop__factory.d.ts b/dist/factories/contracts/Governance/TORN/Airdrop__factory.d.ts new file mode 100644 index 0000000..6b4949b --- /dev/null +++ b/dist/factories/contracts/Governance/TORN/Airdrop__factory.d.ts @@ -0,0 +1,71 @@ +import { ContractFactory, ContractTransactionResponse } from "ethers"; +import type { Signer, BytesLike, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../common"; +import type { Airdrop, AirdropInterface } from "../../../../contracts/Governance/TORN/Airdrop"; +type AirdropConstructorParams = [signer?: Signer] | ConstructorParameters; +export declare class Airdrop__factory extends ContractFactory { + constructor(...args: AirdropConstructorParams); + getDeployTransaction(tokenAddress: BytesLike, targets: Airdrop.RecipientStruct[], overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + deploy(tokenAddress: BytesLike, targets: Airdrop.RecipientStruct[], overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + connect(runner: ContractRunner | null): Airdrop__factory; + static readonly bytecode = "0x60806040523480156200001157600080fd5b506040516200054038038062000540833981016040819052620000349162000396565b60006200004183620001c2565b90506000816001600160a01b03166370a08231306040518263ffffffff1660e01b815260040162000073919062000467565b60206040518083038186803b1580156200008c57600080fd5b505afa158015620000a1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000c791906200044e565b11620000f05760405162461bcd60e51b8152600401620000e7906200049d565b60405180910390fd5b60005b8251811015620001bd57816001600160a01b031663a9059cbb8483815181106200011957fe5b6020026020010151600001518584815181106200013257fe5b6020026020010151602001516040518363ffffffff1660e01b81526004016200015d9291906200047b565b602060405180830381600087803b1580156200017857600080fd5b505af11580156200018d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b3919062000374565b50600101620000f3565b506000ff5b600080620001cf62000310565b600114620001f257738595bfb0d940dfedc98943fa8a907091203f25ee62000203565b6e0c2e074ec69a0dfb2997ba6c7d2e1e5b604051630178b8bf60e01b81529091506001600160a01b03821690630178b8bf906200023490869060040162000494565b60206040518083038186803b1580156200024d57600080fd5b505afa15801562000262573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000288919062000355565b6001600160a01b0316633b3b57de846040518263ffffffff1660e01b8152600401620002b5919062000494565b60206040518083038186803b158015620002ce57600080fd5b505afa158015620002e3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000309919062000355565b9392505050565b4690565b60006040828403121562000326578081fd5b620003326040620004df565b90508151620003418162000526565b808252506020820151602082015292915050565b60006020828403121562000367578081fd5b8151620003098162000526565b60006020828403121562000386578081fd5b8151801515811462000309578182fd5b6000806040808486031215620003aa578182fd5b8351602080860151919450906001600160401b03811115620003ca578384fd5b8501601f81018713620003db578384fd5b8051620003f2620003ec8262000506565b620004df565b81815283810190838501868402850186018b10156200040f578788fd5b8794505b838510156200043d57620004288b8262000314565b83526001949094019391850191860162000413565b508096505050505050509250929050565b60006020828403121562000460578081fd5b5051919050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b90815260200190565b60208082526022908201527f42616c616e636520697320302c2061697264726f7020616c726561647920646f6040820152616e6560f01b606082015260800190565b6040518181016001600160401b0381118282101715620004fe57600080fd5b604052919050565b60006001600160401b038211156200051c578081fd5b5060209081020190565b6001600160a01b03811681146200053c57600080fd5b5056fe"; + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: "tokenAddress"; + readonly type: "bytes32"; + }, { + readonly components: readonly [{ + readonly internalType: "address"; + readonly name: "to"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly internalType: "struct Airdrop.Recipient[]"; + readonly name: "targets"; + readonly type: "tuple[]"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "constructor"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes32[]"; + readonly name: "domains"; + readonly type: "bytes32[]"; + }]; + readonly name: "bulkResolve"; + readonly outputs: readonly [{ + readonly internalType: "address[]"; + readonly name: "result"; + readonly type: "address[]"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: "node"; + readonly type: "bytes32"; + }]; + readonly name: "resolve"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }]; + static createInterface(): AirdropInterface; + static connect(address: string, runner?: ContractRunner | null): Airdrop; +} +export {}; diff --git a/dist/factories/contracts/Governance/TORN/ENS.sol/ENS__factory.d.ts b/dist/factories/contracts/Governance/TORN/ENS.sol/ENS__factory.d.ts new file mode 100644 index 0000000..1c7d02e --- /dev/null +++ b/dist/factories/contracts/Governance/TORN/ENS.sol/ENS__factory.d.ts @@ -0,0 +1,21 @@ +import { type ContractRunner } from "ethers"; +import type { ENS, ENSInterface } from "../../../../../contracts/Governance/TORN/ENS.sol/ENS"; +export declare class ENS__factory { + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: "node"; + readonly type: "bytes32"; + }]; + readonly name: "resolver"; + readonly outputs: readonly [{ + readonly internalType: "contract Resolver"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }]; + static createInterface(): ENSInterface; + static connect(address: string, runner?: ContractRunner | null): ENS; +} diff --git a/dist/factories/contracts/Governance/TORN/ENS.sol/EnsResolve__factory.d.ts b/dist/factories/contracts/Governance/TORN/ENS.sol/EnsResolve__factory.d.ts new file mode 100644 index 0000000..6b8cea1 --- /dev/null +++ b/dist/factories/contracts/Governance/TORN/ENS.sol/EnsResolve__factory.d.ts @@ -0,0 +1,50 @@ +import { ContractFactory, ContractTransactionResponse } from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../../common"; +import type { EnsResolve, EnsResolveInterface } from "../../../../../contracts/Governance/TORN/ENS.sol/EnsResolve"; +type EnsResolveConstructorParams = [signer?: Signer] | ConstructorParameters; +export declare class EnsResolve__factory extends ContractFactory { + constructor(...args: EnsResolveConstructorParams); + getDeployTransaction(overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + deploy(overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + connect(runner: ContractRunner | null): EnsResolve__factory; + static readonly bytecode = "0x608060405234801561001057600080fd5b5061036d806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80635c23bdf51461003b578063f9e5423414610074575b600080fd5b6100586004803603602081101561005157600080fd5b5035610167565b604080516001600160a01b039092168252519081900360200190f35b6101176004803603602081101561008a57600080fd5b8101906020810181356401000000008111156100a557600080fd5b8201836020820111156100b757600080fd5b803590602001918460208302840111640100000000831117156100d957600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610292945050505050565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561015357818101518382015260200161013b565b505050509050019250505060405180910390f35b600080610172610333565b60011461019357738595bfb0d940dfedc98943fa8a907091203f25ee6101a4565b6e0c2e074ec69a0dfb2997ba6c7d2e1e5b9050806001600160a01b0316630178b8bf846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156101ea57600080fd5b505afa1580156101fe573d6000803e3d6000fd5b505050506040513d602081101561021457600080fd5b505160408051631d9dabef60e11b81526004810186905290516001600160a01b0390921691633b3b57de91602480820192602092909190829003018186803b15801561025f57600080fd5b505afa158015610273573d6000803e3d6000fd5b505050506040513d602081101561028957600080fd5b50519392505050565b6060815167ffffffffffffffff811180156102ac57600080fd5b506040519080825280602002602001820160405280156102d6578160200160208202803683370190505b50905060005b825181101561032d576103018382815181106102f457fe5b6020026020010151610167565b82828151811061030d57fe5b6001600160a01b03909216602092830291909101909101526001016102dc565b50919050565b469056fea26469706673582212201849a5e31df8347ec61f3d54e8cef603101becea24443df7d4e43cc42ff12a7564736f6c634300060c0033"; + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "bytes32[]"; + readonly name: "domains"; + readonly type: "bytes32[]"; + }]; + readonly name: "bulkResolve"; + readonly outputs: readonly [{ + readonly internalType: "address[]"; + readonly name: "result"; + readonly type: "address[]"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: "node"; + readonly type: "bytes32"; + }]; + readonly name: "resolve"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }]; + static createInterface(): EnsResolveInterface; + static connect(address: string, runner?: ContractRunner | null): EnsResolve; +} +export {}; diff --git a/dist/factories/contracts/Governance/TORN/ENS.sol/Resolver__factory.d.ts b/dist/factories/contracts/Governance/TORN/ENS.sol/Resolver__factory.d.ts new file mode 100644 index 0000000..ab98616 --- /dev/null +++ b/dist/factories/contracts/Governance/TORN/ENS.sol/Resolver__factory.d.ts @@ -0,0 +1,21 @@ +import { type ContractRunner } from "ethers"; +import type { Resolver, ResolverInterface } from "../../../../../contracts/Governance/TORN/ENS.sol/Resolver"; +export declare class Resolver__factory { + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: "node"; + readonly type: "bytes32"; + }]; + readonly name: "addr"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }]; + static createInterface(): ResolverInterface; + static connect(address: string, runner?: ContractRunner | null): Resolver; +} diff --git a/dist/factories/contracts/Governance/TORN/ENS.sol/index.d.ts b/dist/factories/contracts/Governance/TORN/ENS.sol/index.d.ts new file mode 100644 index 0000000..34bfbc5 --- /dev/null +++ b/dist/factories/contracts/Governance/TORN/ENS.sol/index.d.ts @@ -0,0 +1,3 @@ +export { ENS__factory } from "./ENS__factory"; +export { EnsResolve__factory } from "./EnsResolve__factory"; +export { Resolver__factory } from "./Resolver__factory"; diff --git a/dist/factories/contracts/Governance/TORN/ERC20Permit__factory.d.ts b/dist/factories/contracts/Governance/TORN/ERC20Permit__factory.d.ts new file mode 100644 index 0000000..4e81d60 --- /dev/null +++ b/dist/factories/contracts/Governance/TORN/ERC20Permit__factory.d.ts @@ -0,0 +1,281 @@ +import { type ContractRunner } from "ethers"; +import type { ERC20Permit, ERC20PermitInterface } from "../../../../contracts/Governance/TORN/ERC20Permit"; +export declare class ERC20Permit__factory { + static readonly abi: readonly [{ + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "value"; + readonly type: "uint256"; + }]; + readonly name: "Approval"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "from"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "to"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "value"; + readonly type: "uint256"; + }]; + readonly name: "Transfer"; + readonly type: "event"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }]; + readonly name: "allowance"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "approve"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "account"; + readonly type: "address"; + }]; + readonly name: "balanceOf"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "blockTimestamp"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "chainID"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "_chainID"; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "decimals"; + readonly outputs: readonly [{ + readonly internalType: "uint8"; + readonly name: ""; + readonly type: "uint8"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "subtractedValue"; + readonly type: "uint256"; + }]; + readonly name: "decreaseAllowance"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "addedValue"; + readonly type: "uint256"; + }]; + readonly name: "increaseAllowance"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "name"; + readonly outputs: readonly [{ + readonly internalType: "string"; + readonly name: ""; + readonly type: "string"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }]; + readonly name: "nonces"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "deadline"; + readonly type: "uint256"; + }, { + readonly internalType: "uint8"; + readonly name: "v"; + readonly type: "uint8"; + }, { + readonly internalType: "bytes32"; + readonly name: "r"; + readonly type: "bytes32"; + }, { + readonly internalType: "bytes32"; + readonly name: "s"; + readonly type: "bytes32"; + }]; + readonly name: "permit"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "symbol"; + readonly outputs: readonly [{ + readonly internalType: "string"; + readonly name: ""; + readonly type: "string"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "totalSupply"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "recipient"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "transfer"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "sender"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "recipient"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "transferFrom"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }]; + static createInterface(): ERC20PermitInterface; + static connect(address: string, runner?: ContractRunner | null): ERC20Permit; +} diff --git a/dist/factories/contracts/Governance/TORN/TORN__factory.d.ts b/dist/factories/contracts/Governance/TORN/TORN__factory.d.ts new file mode 100644 index 0000000..35ba5bc --- /dev/null +++ b/dist/factories/contracts/Governance/TORN/TORN__factory.d.ts @@ -0,0 +1,477 @@ +import { ContractFactory, ContractTransactionResponse } from "ethers"; +import type { Signer, BigNumberish, AddressLike, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../common"; +import type { TORN, TORNInterface } from "../../../../contracts/Governance/TORN/TORN"; +type TORNConstructorParams = [signer?: Signer] | ConstructorParameters; +export declare class TORN__factory extends ContractFactory { + constructor(...args: TORNConstructorParams); + getDeployTransaction(_governance: AddressLike, _pausePeriod: BigNumberish, _vestings: TORN.RecipientStruct[], overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + deploy(_governance: AddressLike, _pausePeriod: BigNumberish, _vestings: TORN.RecipientStruct[], overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + connect(runner: ContractRunner | null): TORN__factory; + static readonly bytecode = "0x60c06040523480156200001157600080fd5b506040516200288338038062002883833981016040819052620000349162000699565b604080518082018252600b81526a0a8dee4dcc2c8de86c2e6d60ab1b6020808301918252835180850190945260048452632a27a92760e11b9084015281519192916200008391600391620005a7565b50805162000099906004906020840190620005a7565b50506005805460ff1916601217905550620000b3620001f0565b506008805460ff199081169091556001600160601b0319606085901b1660a0526001600160a01b0384166000908152600960205260408120805490921660011790915583905b8251811015620001765760008382815181106200011257fe5b60200260200101516000015190506200014a818584815181106200013257fe5b602002602001015160200151620002ac60201b60201c565b6001600160a01b03166000908152600960205260409020805460ff1916600190811790915501620000f9565b506200019a83620001866200038f565b6200039360201b62000cbd1790919060201c565b608052620001a7620003c4565b620001b16200043b565b6a084595161401484a00000014620001e65760405162461bcd60e51b8152600401620001dd906200086b565b60405180910390fd5b5050505062000909565b600080620001fd62000441565b905060007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6200022c62000445565b805160209182012060408051808201825260018152603160f81b90840152516200027e93927fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc691879130910162000781565b60408051601f1981840301815291815281516020928301206000948552600790925290922082905550905090565b6001600160a01b038216620002d55760405162461bcd60e51b8152600401620001dd90620008a2565b620002e360008383620004df565b620002ff816002546200039360201b62000cbd1790919060201c565b6002556001600160a01b038216600090815260208181526040909120546200033291839062000cbd62000393821b17901c565b6001600160a01b0383166000818152602081905260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9062000383908590620008d9565b60405180910390a35050565b4290565b600082820183811015620003bb5760405162461bcd60e51b8152600401620001dd90620007ad565b90505b92915050565b60085460ff1615620003ea5760405162461bcd60e51b8152600401620001dd9062000841565b6008805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258620004226200059a565b6040516200043191906200076d565b60405180910390a1565b60025490565b4690565b60038054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015620004d55780601f10620004a957610100808354040283529160200191620004d5565b820191906000526020600020905b815481529060010190602001808311620004b757829003601f168201915b5050505050905090565b620004f78383836200059560201b620006aa1760201c565b620005016200059e565b15806200052657506001600160a01b03831660009081526009602052604090205460ff165b806200054a57506001600160a01b03821660009081526009602052604090205460ff165b620005695760405162461bcd60e51b8152600401620001dd906200081b565b6001600160a01b038216301415620005955760405162461bcd60e51b8152600401620001dd90620007e4565b505050565b3390565b60085460ff1690565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620005ea57805160ff19168380011785556200061a565b828001600101855582156200061a579182015b828111156200061a578251825591602001919060010190620005fd565b50620006289291506200062c565b5090565b5b808211156200062857600081556001016200062d565b80516001600160a01b0381168114620003be57600080fd5b6000604082840312156200066d578081fd5b620006796040620008e2565b905062000687838362000643565b81526020820151602082015292915050565b600080600060608486031215620006ae578283fd5b620006ba858562000643565b9250602080850151925060408086015160018060401b0380821115620006de578485fd5b818801915088601f830112620006f2578485fd5b81518181111562000701578586fd5b620007108586830201620008e2565b8181528581019250838601858302850187018c10156200072e578788fd5b8794505b828510156200075c57620007478c826200065b565b84526001949094019392860192850162000732565b508096505050505050509250925092565b6001600160a01b0391909116815260200190565b9485526020850193909352604084019190915260608301526001600160a01b0316608082015260a00190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526017908201527f544f524e3a20696e76616c696420726563697069656e74000000000000000000604082015260600190565b6020808252600c908201526b1513d4938e881c185d5cd95960a21b604082015260600190565b60208082526010908201526f14185d5cd8589b194e881c185d5cd95960821b604082015260600190565b6020808252601c908201527f544f524e3a20696e636f727265637420646973747269627574696f6e00000000604082015260600190565b6020808252601f908201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b90815260200190565b6040518181016001600160401b03811182821017156200090157600080fd5b604052919050565b60805160a05160601c611f3a62000949600039806104d752806105ff52806106cc528061078552806109715250806107245280610c705250611f3a6000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c806379cc6790116100de578063a9059cbb11610097578063cea9d26f11610071578063cea9d26f146102fb578063d505accf1461030e578063dc0f0d1214610321578063dd62ed3e1461032957610173565b8063a9059cbb146102d8578063adb61832146102eb578063adc879e9146102f357610173565b806379cc6790146102715780637ecebe001461028457806381893c7c14610297578063885ad0cf146102aa57806395d89b41146102bd578063a457c2d7146102c557610173565b80633c8d76d1116101305780633c8d76d11461020657806342966c681461021b5780635aa6e6751461022e5780635c975abb146102435780635d4545a01461024b57806370a082311461025e57610173565b806306fdde0314610178578063095ea7b31461019657806318160ddd146101b657806323b872dd146101cb578063313ce567146101de57806339509351146101f3575b600080fd5b61018061033c565b60405161018d9190611875565b60405180910390f35b6101a96101a436600461163a565b6103d3565b60405161018d91906117ec565b6101be6103f1565b60405161018d9190611d9a565b6101a96101d9366004611585565b6103f7565b6101e661047e565b60405161018d9190611da3565b6101a961020136600461163a565b610487565b610219610214366004611665565b6104d5565b005b61021961022936600461174e565b6105e9565b6102366105fd565b60405161018d91906117bf565b6101a9610621565b6101a9610259366004611531565b61062a565b6101be61026c366004611531565b61063f565b61021961027f36600461163a565b61065a565b6101be610292366004611531565b6106af565b6102196102a5366004611702565b6106ca565b6102196102b8366004611665565b610783565b61018061088a565b6101a96102d336600461163a565b6108eb565b6101a96102e636600461163a565b610953565b6101be610967565b6101be61096b565b61021961030936600461173a565b61096f565b61021961031c3660046115c5565b610b2d565b6101be610c6e565b6101be61033736600461154d565b610c92565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103c85780601f1061039d576101008083540402835291602001916103c8565b820191906000526020600020905b8154815290600101906020018083116103ab57829003601f168201915b505050505090505b90565b60006103e76103e0610ce9565b8484610ced565b5060015b92915050565b60025490565b6000610404848484610da1565b61047484610410610ce9565b61046f85604051806060016040528060288152602001611e94602891396001600160a01b038a1660009081526001602052604081209061044e610ce9565b6001600160a01b031681526020810191909152604001600020549190610eb6565b610ced565b5060019392505050565b60055460ff1690565b60006103e7610494610ce9565b8461046f85600160006104a5610ce9565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610cbd565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610507610ce9565b6001600160a01b0316146105365760405162461bcd60e51b815260040161052d90611d16565b60405180910390fd5b60005b81518110156105e55760006009600084848151811061055457fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055507f9ef90a89b00db1a1891a357dc96b2a273add9d883e378c350d22bad87a9d7d308282815181106105c057fe5b60200260200101516040516105d591906117bf565b60405180910390a1600101610539565b5050565b6105fa6105f4610ce9565b82610ee2565b50565b7f000000000000000000000000000000000000000000000000000000000000000081565b60085460ff1690565b60096020526000908152604090205460ff1681565b6001600160a01b031660009081526020819052604090205490565b600061068c82604051806060016040528060248152602001611ebc6024913961068586610337610ce9565b9190610eb6565b90506106a08361069a610ce9565b83610ced565b6106aa8383610ee2565b505050565b6001600160a01b031660009081526006602052604090205490565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166106fc610ce9565b6001600160a01b0316146107225760405162461bcd60e51b815260040161052d90611d16565b7f000000000000000000000000000000000000000000000000000000000000000061074b610967565b116107685760405162461bcd60e51b815260040161052d90611b0b565b801561077b57610776610fc4565b6105fa565b6105fa611030565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166107b5610ce9565b6001600160a01b0316146107db5760405162461bcd60e51b815260040161052d90611d16565b60005b81518110156105e5576001600960008484815181106107f957fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055507f77a7dbc6ad97703ad411a8d5edfcd1df382fb34b076a90898b11884f7ebdcc0582828151811061086557fe5b602002602001015160405161087a91906117bf565b60405180910390a16001016107de565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103c85780601f1061039d576101008083540402835291602001916103c8565b60006103e76108f8610ce9565b8461046f85604051806060016040528060258152602001611ee06025913960016000610922610ce9565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190610eb6565b60006103e7610960610ce9565b8484610da1565b4290565b4690565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166109a1610ce9565b6001600160a01b0316146109c75760405162461bcd60e51b815260040161052d90611d16565b6001600160a01b0382166109ed5760405162461bcd60e51b815260040161052d90611c8a565b6001600160a01b038316610a56574760008215610a1357610a0e8284611089565b610a15565b815b6040519091506001600160a01b0385169082156108fc029083906000818181858888f19350505050158015610a4e573d6000803e3d6000fd5b5050506106aa565b6040516370a0823160e01b81526000906001600160a01b038516906370a0823190610a859030906004016117bf565b60206040518083038186803b158015610a9d57600080fd5b505afa158015610ab1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad59190611766565b905060008215610aee57610ae98284611089565b610af0565b815b905060008111610b125760405162461bcd60e51b815260040161052d90611d63565b610b266001600160a01b038616858361109f565b5050505050565b83610b36610967565b1115610b545760405162461bcd60e51b815260040161052d90611a00565b6001600160a01b0387166000908152600660209081526040808320549051610ba7927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9928c928c928c92918c91016117f7565b6040516020818303038152906040528051906020012090506000611901610bcc6110f5565b83604051602001610bdf9392919061179a565b6040516020818303038152906040528051906020012090506000610c0582878787611134565b9050896001600160a01b0316816001600160a01b031614610c385760405162461bcd60e51b815260040161052d90611b52565b6001600160a01b038a16600090815260066020526040902080546001019055610c628a8a8a610ced565b50505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b600082820183811015610ce25760405162461bcd60e51b815260040161052d90611992565b9392505050565b3390565b6001600160a01b038316610d135760405162461bcd60e51b815260040161052d90611c0f565b6001600160a01b038216610d395760405162461bcd60e51b815260040161052d90611950565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610d94908590611d9a565b60405180910390a3505050565b6001600160a01b038316610dc75760405162461bcd60e51b815260040161052d90611bca565b6001600160a01b038216610ded5760405162461bcd60e51b815260040161052d906118df565b610df883838361122c565b610e3581604051806060016040528060268152602001611e6e602691396001600160a01b0386166000908152602081905260409020549190610eb6565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610e649082610cbd565b6001600160a01b0380841660008181526020819052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d94908590611d9a565b60008184841115610eda5760405162461bcd60e51b815260040161052d9190611875565b505050900390565b6001600160a01b038216610f085760405162461bcd60e51b815260040161052d90611b89565b610f148260008361122c565b610f5181604051806060016040528060228152602001611e4c602291396001600160a01b0385166000908152602081905260409020549190610eb6565b6001600160a01b038316600090815260208190526040902055600254610f7790826112cb565b6002556040516000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610fb8908590611d9a565b60405180910390a35050565b60085460ff16610fe65760405162461bcd60e51b815260040161052d90611922565b6008805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa611019610ce9565b60405161102691906117bf565b60405180910390a1565b60085460ff16156110535760405162461bcd60e51b815260040161052d90611a9f565b6008805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611019610ce9565b60008183106110985781610ce2565b5090919050565b6106aa8363a9059cbb60e01b84846040516024016110be9291906117d3565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261130d565b6000806007600061110461096b565b8152602081019190915260400160002054905080156111245790506103d0565b61112c61139c565b9150506103d0565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08211156111765760405162461bcd60e51b815260040161052d90611a5d565b8360ff16601b148061118b57508360ff16601c145b6111a75760405162461bcd60e51b815260040161052d90611ac9565b6000600186868686604051600081526020016040526040516111cc9493929190611857565b6020604051602081039080840390855afa1580156111ee573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166112215760405162461bcd60e51b815260040161052d906118a8565b90505b949350505050565b6112378383836106aa565b61123f610621565b158061126357506001600160a01b03831660009081526009602052604090205460ff165b8061128657506001600160a01b03821660009081526009602052604090205460ff165b6112a25760405162461bcd60e51b815260040161052d90611a37565b6001600160a01b0382163014156106aa5760405162461bcd60e51b815260040161052d906119c9565b6000610ce283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610eb6565b6060611362826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166114529092919063ffffffff16565b8051909150156106aa5780806020019051810190611380919061171e565b6106aa5760405162461bcd60e51b815260040161052d90611ccc565b6000806113a761096b565b905060007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6113d461033c565b805160209182012060408051808201825260018152603160f81b908401525161142493927fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc691879130910161182b565b60408051601f1981840301815291815281516020928301206000948552600790925290922082905550905090565b60606112248484600085606061146785611520565b6114835760405162461bcd60e51b815260040161052d90611c53565b60006060866001600160a01b031685876040516114a0919061177e565b60006040518083038185875af1925050503d80600081146114dd576040519150601f19603f3d011682016040523d82523d6000602084013e6114e2565b606091505b509150915081156114f65791506112249050565b8051156115065780518082602001fd5b8360405162461bcd60e51b815260040161052d9190611875565b3b151590565b80356103eb81611e28565b600060208284031215611542578081fd5b8135610ce281611e28565b6000806040838503121561155f578081fd5b823561156a81611e28565b9150602083013561157a81611e28565b809150509250929050565b600080600060608486031215611599578081fd5b83356115a481611e28565b925060208401356115b481611e28565b929592945050506040919091013590565b600080600080600080600060e0888a0312156115df578283fd5b87356115ea81611e28565b965060208801356115fa81611e28565b95506040880135945060608801359350608088013560ff8116811461161d578384fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561164c578182fd5b823561165781611e28565b946020939093013593505050565b60006020808385031215611677578182fd5b823567ffffffffffffffff81111561168d578283fd5b8301601f8101851361169d578283fd5b80356116b06116ab82611dd8565b611db1565b81815283810190838501858402850186018910156116cc578687fd5b8694505b838510156116f6576116e28982611526565b8352600194909401939185019185016116d0565b50979650505050505050565b600060208284031215611713578081fd5b8135610ce281611e3d565b60006020828403121561172f578081fd5b8151610ce281611e3d565b600080600060608486031215611599578283fd5b60006020828403121561175f578081fd5b5035919050565b600060208284031215611777578081fd5b5051919050565b60008251611790818460208701611df8565b9190910192915050565b60f09390931b6001600160f01b03191683526002830191909152602282015260420190565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b9586526001600160a01b0394851660208701529290931660408501526060840152608083019190915260a082015260c00190565b9485526020850193909352604084019190915260608301526001600160a01b0316608082015260a00190565b93845260ff9290921660208401526040830152606082015260800190565b6000602082528251806020840152611894816040850160208701611df8565b601f01601f19169190910160400192915050565b60208082526018908201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604082015260600190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526014908201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604082015260600190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526017908201527f544f524e3a20696e76616c696420726563697069656e74000000000000000000604082015260600190565b6020808252601d908201527f45524332305065726d69743a206578706972656420646561646c696e65000000604082015260600190565b6020808252600c908201526b1513d4938e881c185d5cd95960a21b604082015260600190565b60208082526022908201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604082015261756560f01b606082015260800190565b60208082526010908201526f14185d5cd8589b194e881c185d5cd95960821b604082015260600190565b60208082526022908201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604082015261756560f01b606082015260800190565b60208082526027908201527f544f524e3a2063616e6e6f74206368616e6765207472616e736665726162696c6040820152661a5d1e481e595d60ca1b606082015260800190565b6020808252601e908201527f45524332305065726d69743a20696e76616c6964207369676e61747572650000604082015260600190565b60208082526021908201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736040820152607360f81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b60208082526022908201527f544f524e3a2063616e206e6f742073656e6420746f207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b6020808252602d908201527f544f524e3a206f6e6c7920676f7665726e616e63652063616e20706572666f7260408201526c36903a3434b99030b1ba34b7b760991b606082015260800190565b6020808252601e908201527f544f524e3a20747279696e6720746f2073656e6420302062616c616e63650000604082015260600190565b90815260200190565b60ff91909116815260200190565b60405181810167ffffffffffffffff81118282101715611dd057600080fd5b604052919050565b600067ffffffffffffffff821115611dee578081fd5b5060209081020190565b60005b83811015611e13578181015183820152602001611dfb565b83811115611e22576000848401525b50505050565b6001600160a01b03811681146105fa57600080fd5b80151581146105fa57600080fdfe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220fd515804eca384cb14c99861e60dc5364ae65ba9ddfdfe00d195788ee631d01064736f6c634300060c0033"; + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "_governance"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "_pausePeriod"; + readonly type: "uint256"; + }, { + readonly components: readonly [{ + readonly internalType: "address"; + readonly name: "to"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly internalType: "struct TORN.Recipient[]"; + readonly name: "_vestings"; + readonly type: "tuple[]"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "constructor"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: false; + readonly internalType: "address"; + readonly name: "target"; + readonly type: "address"; + }]; + readonly name: "Allowed"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "value"; + readonly type: "uint256"; + }]; + readonly name: "Approval"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: false; + readonly internalType: "address"; + readonly name: "target"; + readonly type: "address"; + }]; + readonly name: "Disallowed"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: false; + readonly internalType: "address"; + readonly name: "account"; + readonly type: "address"; + }]; + readonly name: "Paused"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "from"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "to"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "value"; + readonly type: "uint256"; + }]; + readonly name: "Transfer"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: false; + readonly internalType: "address"; + readonly name: "account"; + readonly type: "address"; + }]; + readonly name: "Unpaused"; + readonly type: "event"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address[]"; + readonly name: "target"; + readonly type: "address[]"; + }]; + readonly name: "addToAllowedList"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }]; + readonly name: "allowance"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly name: "allowedTransferee"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "approve"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "account"; + readonly type: "address"; + }]; + readonly name: "balanceOf"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "blockTimestamp"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "burn"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "account"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "burnFrom"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "canUnpauseAfter"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "chainID"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "_chainID"; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bool"; + readonly name: "decision"; + readonly type: "bool"; + }]; + readonly name: "changeTransferability"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "decimals"; + readonly outputs: readonly [{ + readonly internalType: "uint8"; + readonly name: ""; + readonly type: "uint8"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "subtractedValue"; + readonly type: "uint256"; + }]; + readonly name: "decreaseAllowance"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "governance"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "addedValue"; + readonly type: "uint256"; + }]; + readonly name: "increaseAllowance"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "name"; + readonly outputs: readonly [{ + readonly internalType: "string"; + readonly name: ""; + readonly type: "string"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }]; + readonly name: "nonces"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "paused"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "deadline"; + readonly type: "uint256"; + }, { + readonly internalType: "uint8"; + readonly name: "v"; + readonly type: "uint8"; + }, { + readonly internalType: "bytes32"; + readonly name: "r"; + readonly type: "bytes32"; + }, { + readonly internalType: "bytes32"; + readonly name: "s"; + readonly type: "bytes32"; + }]; + readonly name: "permit"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address[]"; + readonly name: "target"; + readonly type: "address[]"; + }]; + readonly name: "removeFromAllowedList"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "contract IERC20"; + readonly name: "_token"; + readonly type: "address"; + }, { + readonly internalType: "address payable"; + readonly name: "_to"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "_balance"; + readonly type: "uint256"; + }]; + readonly name: "rescueTokens"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "symbol"; + readonly outputs: readonly [{ + readonly internalType: "string"; + readonly name: ""; + readonly type: "string"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "totalSupply"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "recipient"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "transfer"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "sender"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "recipient"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "transferFrom"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }]; + static createInterface(): TORNInterface; + static connect(address: string, runner?: ContractRunner | null): TORN; +} +export {}; diff --git a/dist/factories/contracts/Governance/TORN/Vesting__factory.d.ts b/dist/factories/contracts/Governance/TORN/Vesting__factory.d.ts new file mode 100644 index 0000000..5abc8e6 --- /dev/null +++ b/dist/factories/contracts/Governance/TORN/Vesting__factory.d.ts @@ -0,0 +1,152 @@ +import { ContractFactory, ContractTransactionResponse } from "ethers"; +import type { Signer, BigNumberish, AddressLike, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../common"; +import type { Vesting, VestingInterface } from "../../../../contracts/Governance/TORN/Vesting"; +type VestingConstructorParams = [signer?: Signer] | ConstructorParameters; +export declare class Vesting__factory extends ContractFactory { + constructor(...args: VestingConstructorParams); + getDeployTransaction(_token: AddressLike, _beneficiary: AddressLike, _startTimestamp: BigNumberish, _cliffInMonths: BigNumberish, _durationInMonths: BigNumberish, overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + deploy(_token: AddressLike, _beneficiary: AddressLike, _startTimestamp: BigNumberish, _cliffInMonths: BigNumberish, _durationInMonths: BigNumberish, overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + connect(runner: ContractRunner | null): Vesting__factory; + static readonly bytecode = "0x61012060405234801561001157600080fd5b50604051610c8c380380610c8c833981810160405260a081101561003457600080fd5b508051602082015160408301516060840151608090940151929391929091906001600160a01b0384166100ae576040805162461bcd60e51b815260206004820152601b60248201527f42656e65666963696172792063616e6e6f7420626520656d7074790000000000604482015290519081900360640190fd5b80821115610103576040805162461bcd60e51b815260206004820152601e60248201527f436c6966662069732067726561746572207468616e206475726174696f6e0000604482015290519081900360640190fd5b6001600160601b0319606086811b821660a05285901b1660805261010081905260c08290528215610134578261013c565b61013c61014a565b60e0525061014e9350505050565b4290565b60805160601c60a05160601c60c05160e05161010051610acc6101c060003980610203528061037b52806103dd525080610152528061018e52806105215250806101d052806104f352508061024852806102c85280610474528061054552508061012c52806104965250610acc6000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063928d89ae11610066578063928d89ae146100fb5780639613252114610103578063adb618321461010b578063e6fd48bc14610113578063fc0c546a1461011b5761009e565b806310786deb146100a357806338af3eed146100bd57806344b1231f146100e157806367097a4b146100e957806386d1a69f146100f1575b600080fd5b6100ab610123565b60408051918252519081900360200190f35b6100c561012a565b604080516001600160a01b039092168252519081900360200190f35b6100ab61014e565b6100ab6103db565b6100f96103ff565b005b6100ab6104f1565b6100ab610515565b6100ab61051b565b6100ab61051f565b6100c5610543565b62278d0081565b7f000000000000000000000000000000000000000000000000000000000000000081565b60007f000000000000000000000000000000000000000000000000000000000000000061017961051b565b1015610187575060006103d8565b60006101bb7f00000000000000000000000000000000000000000000000000000000000000006101b561051b565b90610567565b905060006101cc8262278d006105b2565b90507f0000000000000000000000000000000000000000000000000000000000000000811015610201576000925050506103d8565b7f000000000000000000000000000000000000000000000000000000000000000081106102c457604080516370a0823160e01b815230600482015290516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916370a08231916024808301926020929190829003018186803b15801561028e57600080fd5b505afa1580156102a2573d6000803e3d6000fd5b505050506040513d60208110156102b857600080fd5b505192506103d8915050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561033357600080fd5b505afa158015610347573d6000803e3d6000fd5b505050506040513d602081101561035d57600080fd5b505160008054919250906103729083906105f4565b905060006103aa7f00000000000000000000000000000000000000000000000000000000000000006103a4848761064e565b906105b2565b905060006103c36000548361056790919063ffffffff16565b90506103cf84826106a7565b96505050505050505b90565b7f000000000000000000000000000000000000000000000000000000000000000081565b600061040961014e565b905060008111610457576040805162461bcd60e51b81526020600482015260146024820152734e6f20746f6b656e7320746f2072656c6561736560601b604482015290519081900360640190fd5b60005461046490826105f4565b6000556104bb6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f0000000000000000000000000000000000000000000000000000000000000000836106bd565b6040805182815290517ffb81f9b30d73d830c3544b34d827c08142579ee75710b490bab0b3995468c5659181900360200190a150565b7f000000000000000000000000000000000000000000000000000000000000000081565b60005481565b4290565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b60006105a983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610714565b90505b92915050565b60006105a983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506107ab565b6000828201838110156105a9576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008261065d575060006105ac565b8282028284828161066a57fe5b04146105a95760405162461bcd60e51b8152600401808060200182810382526021815260200180610a4c6021913960400191505060405180910390fd5b60008183106106b657816105a9565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261070f908490610810565b505050565b600081848411156107a35760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610768578181015183820152602001610750565b50505050905090810190601f1680156107955780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836107fa5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610768578181015183820152602001610750565b50600083858161080657fe5b0495945050505050565b6060610865826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166108c19092919063ffffffff16565b80519091501561070f5780806020019051602081101561088457600080fd5b505161070f5760405162461bcd60e51b815260040180806020018281038252602a815260200180610a6d602a913960400191505060405180910390fd5b60606108d084846000856108d8565b949350505050565b60606108e385610a45565b610934576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106109735780518252601f199092019160209182019101610954565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146109d5576040519150601f19603f3d011682016040523d82523d6000602084013e6109da565b606091505b509150915081156109ee5791506108d09050565b8051156109fe5780518082602001fd5b60405162461bcd60e51b8152602060048201818152865160248401528651879391928392604401919085019080838360008315610768578181015183820152602001610750565b3b15159056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a26469706673582212203b3e8370e345374172efb9e3693b20807c318ecfcc569df94f28df8a94f2727a64736f6c634300060c0033"; + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "_token"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "_beneficiary"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "_startTimestamp"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "_cliffInMonths"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "_durationInMonths"; + readonly type: "uint256"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "constructor"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "Released"; + readonly type: "event"; + }, { + readonly inputs: readonly []; + readonly name: "SECONDS_PER_MONTH"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "beneficiary"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "blockTimestamp"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "cliffInMonths"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "durationInMonths"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "release"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "released"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "startTimestamp"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "token"; + readonly outputs: readonly [{ + readonly internalType: "contract IERC20"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "vestedAmount"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }]; + static createInterface(): VestingInterface; + static connect(address: string, runner?: ContractRunner | null): Vesting; +} +export {}; diff --git a/dist/factories/contracts/Governance/TORN/Voucher__factory.d.ts b/dist/factories/contracts/Governance/TORN/Voucher__factory.d.ts new file mode 100644 index 0000000..8a01aa9 --- /dev/null +++ b/dist/factories/contracts/Governance/TORN/Voucher__factory.d.ts @@ -0,0 +1,351 @@ +import { ContractFactory, ContractTransactionResponse } from "ethers"; +import type { Signer, BytesLike, BigNumberish, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../common"; +import type { Voucher, VoucherInterface } from "../../../../contracts/Governance/TORN/Voucher"; +type VoucherConstructorParams = [signer?: Signer] | ConstructorParameters; +export declare class Voucher__factory extends ContractFactory { + constructor(...args: VoucherConstructorParams); + getDeployTransaction(_torn: BytesLike, _governance: BytesLike, _duration: BigNumberish, _airdrops: Voucher.RecipientStruct[], overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + deploy(_torn: BytesLike, _governance: BytesLike, _duration: BigNumberish, _airdrops: Voucher.RecipientStruct[], overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + connect(runner: ContractRunner | null): Voucher__factory; + static readonly bytecode = "0x60e06040523480156200001157600080fd5b5060405162001d8d38038062001d8d833981016040819052620000349162000593565b60405180606001604052806026815260200162001d6760269139604051806040016040528060058152602001643b2a27a92760d91b81525081600390805190602001906200008492919062000497565b5080516200009a90600490602084019062000497565b50506005805460ff1916601217905550620000b584620001af565b60601b6001600160601b031916608052620000d083620001af565b60601b6001600160601b03191660c0526200010382620000ef620002fd565b6200030160201b6200098d1790919060201c565b60a05260005b8151811015620001a457620001558282815181106200012457fe5b6020026020010151600001518383815181106200013d57fe5b6020026020010151602001516200033260201b60201c565b6001600660008484815181106200016857fe5b602090810291909101810151516001600160a01b03168252810191909152604001600020805460ff191691151591909117905560010162000109565b505050505062000753565b600080620001bc62000415565b600114620001df57738595bfb0d940dfedc98943fa8a907091203f25ee620001f0565b6e0c2e074ec69a0dfb2997ba6c7d2e1e5b604051630178b8bf60e01b81529091506001600160a01b03821690630178b8bf906200022190869060040162000665565b60206040518083038186803b1580156200023a57600080fd5b505afa1580156200024f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000275919062000574565b6001600160a01b0316633b3b57de846040518263ffffffff1660e01b8152600401620002a2919062000665565b60206040518083038186803b158015620002bb57600080fd5b505afa158015620002d0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002f6919062000574565b9392505050565b4290565b600082820183811015620002f65760405162461bcd60e51b815260040162000329906200066e565b60405180910390fd5b6001600160a01b0382166200035b5760405162461bcd60e51b81526004016200032990620006dc565b620003696000838362000419565b62000385816002546200030160201b6200098d1790919060201c565b6002556001600160a01b03821660009081526020818152604090912054620003b89183906200098d62000301821b17901c565b6001600160a01b0383166000818152602081905260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906200040990859062000665565b60405180910390a35050565b4690565b620004318383836200049260201b620009b21760201c565b6001600160a01b03821615806200044f57506001600160a01b038316155b806200047357506001600160a01b03831660009081526006602052604090205460ff165b620004925760405162461bcd60e51b81526004016200032990620006a5565b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620004da57805160ff19168380011785556200050a565b828001600101855582156200050a579182015b828111156200050a578251825591602001919060010190620004ed565b50620005189291506200051c565b5090565b5b808211156200051857600081556001016200051d565b60006040828403121562000545578081fd5b62000551604062000713565b9050815162000560816200073a565b808252506020820151602082015292915050565b60006020828403121562000586578081fd5b8151620002f6816200073a565b60008060008060808587031215620005a9578283fd5b8451935060208086015193506040808701519350606087015160018060401b0380821115620005d6578485fd5b818901915089601f830112620005ea578485fd5b815181811115620005f9578586fd5b62000608858683020162000713565b8181528581019250838601858302850187018d101562000626578788fd5b8794505b8285101562000654576200063f8d8262000533565b8452600194909401939286019285016200062a565b50989b979a50959850505050505050565b90815260200190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252601e908201527f45524332303a207472616e73666572206973206e6f7420616c6c6f7765640000604082015260600190565b6020808252601f908201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b6040518181016001600160401b03811182821017156200073257600080fd5b604052919050565b6001600160a01b03811681146200075057600080fd5b50565b60805160601c60a05160c05160601c6115c3620007a46000398061043152806107d35250806105c352806106ec52806107895250806106c8528061075d52806107f4528061089852506115c36000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c80638622a689116100ad578063adf898a411610071578063adf898a41461024b578063be040fb014610253578063c39ef8551461025d578063dd62ed3e14610265578063f9e54234146102785761012c565b80638622a6891461020d57806395d89b4114610215578063a457c2d71461021d578063a9059cbb14610230578063adb61832146102435761012c565b806339509351116100f457806339509351146101ac5780635aa6e675146101bf5780635c23bdf5146101d45780635d4545a0146101e757806370a08231146101fa5761012c565b806306fdde0314610131578063095ea7b31461014f57806318160ddd1461016f57806323b872dd14610184578063313ce56714610197575b600080fd5b610139610298565b604051610146919061116f565b60405180910390f35b61016261015d366004610fb5565b61032e565b604051610146919061115b565b61017761034b565b6040516101469190611166565b610162610192366004610f75565b610351565b61019f6103d8565b604051610146919061145e565b6101626101ba366004610fb5565b6103e1565b6101c761042f565b60405161014691906110e1565b6101c76101e2366004611095565b610453565b6101626101f5366004610f05565b610591565b610177610208366004610f05565b6105a6565b6101776105c1565b6101396105e5565b61016261022b366004610fb5565b610646565b61016261023e366004610fb5565b6106ae565b6101776106c2565b6101c76106c6565b61025b6106ea565b005b61025b610787565b610177610273366004610f3d565b6108c1565b61028b610286366004610fe0565b6108ec565b604051610146919061110e565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103245780601f106102f957610100808354040283529160200191610324565b820191906000526020600020905b81548152906001019060200180831161030757829003601f168201915b5050505050905090565b600061034261033b6109b7565b84846109bb565b50600192915050565b60025490565b600061035e848484610a6f565b6103ce8461036a6109b7565b6103c985604051806060016040528060288152602001611541602891396001600160a01b038a166000908152600160205260408120906103a86109b7565b6001600160a01b031681526020810191909152604001600020549190610b84565b6109bb565b5060019392505050565b60055460ff1690565b60006103426103ee6109b7565b846103c985600160006103ff6109b7565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549061098d565b7f000000000000000000000000000000000000000000000000000000000000000081565b60008061045e610bb0565b60011461047f57738595bfb0d940dfedc98943fa8a907091203f25ee610490565b6e0c2e074ec69a0dfb2997ba6c7d2e1e5b604051630178b8bf60e01b81529091506001600160a01b03821690630178b8bf906104bf908690600401611166565b60206040518083038186803b1580156104d757600080fd5b505afa1580156104eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061050f9190610f21565b6001600160a01b0316633b3b57de846040518263ffffffff1660e01b815260040161053a9190611166565b60206040518083038186803b15801561055257600080fd5b505afa158015610566573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058a9190610f21565b9392505050565b60066020526000908152604090205460ff1681565b6001600160a01b031660009081526020819052604090205490565b7f000000000000000000000000000000000000000000000000000000000000000081565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103245780601f106102f957610100808354040283529160200191610324565b60006103426106536109b7565b846103c985604051806060016040528060258152602001611569602591396001600061067d6109b7565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190610b84565b60006103426106bb6109b7565b8484610a6f565b4290565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f00000000000000000000000000000000000000000000000000000000000000006107136106c2565b106107395760405162461bcd60e51b81526004016107309061125e565b60405180910390fd5b6000610744336105a6565b90506107503382610bb4565b6107846001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163383610c96565b50565b7f00000000000000000000000000000000000000000000000000000000000000006107b06106c2565b10156107ce5760405162461bcd60e51b815260040161073090611295565b6108bf7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161083e91906110e1565b60206040518083038186803b15801561085657600080fd5b505afa15801561086a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088e91906110ad565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190610c96565b565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6060815167ffffffffffffffff8111801561090657600080fd5b50604051908082528060200260200182016040528015610930578160200160208202803683370190505b50905060005b82518110156109875761095b83828151811061094e57fe5b6020026020010151610453565b82828151811061096757fe5b6001600160a01b0390921660209283029190910190910152600101610936565b50919050565b60008282018381101561058a5760405162461bcd60e51b815260040161073090611227565b505050565b3390565b6001600160a01b0383166109e15760405162461bcd60e51b815260040161073090611399565b6001600160a01b038216610a075760405162461bcd60e51b8152600401610730906111e5565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610a62908590611166565b60405180910390a3505050565b6001600160a01b038316610a955760405162461bcd60e51b815260040161073090611354565b6001600160a01b038216610abb5760405162461bcd60e51b8152600401610730906111a2565b610ac6838383610cec565b610b038160405180606001604052806026815260200161151b602691396001600160a01b0386166000908152602081905260409020549190610b84565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610b32908261098d565b6001600160a01b0380841660008181526020819052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a62908590611166565b60008184841115610ba85760405162461bcd60e51b8152600401610730919061116f565b505050900390565b4690565b6001600160a01b038216610bda5760405162461bcd60e51b815260040161073090611313565b610be682600083610cec565b610c23816040518060600160405280602281526020016114f9602291396001600160a01b0385166000908152602081905260409020549190610b84565b6001600160a01b038316600090815260208190526040902055600254610c499082610d53565b6002556040516000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c8a908590611166565b60405180910390a35050565b6109b28363a9059cbb60e01b8484604051602401610cb59291906110f5565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610d95565b610cf78383836109b2565b6001600160a01b0382161580610d1457506001600160a01b038316155b80610d3757506001600160a01b03831660009081526006602052604090205460ff165b6109b25760405162461bcd60e51b8152600401610730906112dc565b600061058a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610b84565b6060610dea826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610e249092919063ffffffff16565b8051909150156109b25780806020019051810190610e089190611075565b6109b25760405162461bcd60e51b815260040161073090611414565b6060610e338484600085610e3b565b949350505050565b6060610e4685610eff565b610e625760405162461bcd60e51b8152600401610730906113dd565b60006060866001600160a01b03168587604051610e7f91906110c5565b60006040518083038185875af1925050503d8060008114610ebc576040519150601f19603f3d011682016040523d82523d6000602084013e610ec1565b606091505b50915091508115610ed5579150610e339050565b805115610ee55780518082602001fd5b8360405162461bcd60e51b8152600401610730919061116f565b3b151590565b600060208284031215610f16578081fd5b813561058a816114e3565b600060208284031215610f32578081fd5b815161058a816114e3565b60008060408385031215610f4f578081fd5b8235610f5a816114e3565b91506020830135610f6a816114e3565b809150509250929050565b600080600060608486031215610f89578081fd5b8335610f94816114e3565b92506020840135610fa4816114e3565b929592945050506040919091013590565b60008060408385031215610fc7578182fd5b8235610fd2816114e3565b946020939093013593505050565b60006020808385031215610ff2578182fd5b823567ffffffffffffffff811115611008578283fd5b8301601f81018513611018578283fd5b803561102b61102682611493565b61146c565b8181528381019083850185840285018601891015611047578687fd5b8694505b8385101561106957803583526001949094019391850191850161104b565b50979650505050505050565b600060208284031215611086578081fd5b8151801515811461058a578182fd5b6000602082840312156110a6578081fd5b5035919050565b6000602082840312156110be578081fd5b5051919050565b600082516110d78184602087016114b3565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6020808252825182820181905260009190848201906040850190845b8181101561114f5783516001600160a01b03168352928401929184019160010161112a565b50909695505050505050565b901515815260200190565b90815260200190565b600060208252825180602084015261118e8160408501602087016114b3565b601f01601f19169190910160400192915050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252601f908201527f41697264726f702072656465656d20706572696f642068617320656e64656400604082015260600190565b60208082526027908201527f41697264726f702072656465656d20706572696f6420686173206e6f7420656e604082015266191959081e595d60ca1b606082015260800190565b6020808252601e908201527f45524332303a207472616e73666572206973206e6f7420616c6c6f7765640000604082015260600190565b60208082526021908201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736040820152607360f81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b60ff91909116815260200190565b60405181810167ffffffffffffffff8111828210171561148b57600080fd5b604052919050565b600067ffffffffffffffff8211156114a9578081fd5b5060209081020190565b60005b838110156114ce5781810151838201526020016114b6565b838111156114dd576000848401525b50505050565b6001600160a01b038116811461078457600080fdfe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212209b2d6f14167bc062b61418b8fca6b7946d243420e3df874c9632acb30079c69b64736f6c634300060c0033546f726e61646f4361736820766f756368657220666f72206561726c792061646f7074657273"; + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: "_torn"; + readonly type: "bytes32"; + }, { + readonly internalType: "bytes32"; + readonly name: "_governance"; + readonly type: "bytes32"; + }, { + readonly internalType: "uint256"; + readonly name: "_duration"; + readonly type: "uint256"; + }, { + readonly components: readonly [{ + readonly internalType: "address"; + readonly name: "to"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly internalType: "struct Voucher.Recipient[]"; + readonly name: "_airdrops"; + readonly type: "tuple[]"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "constructor"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "value"; + readonly type: "uint256"; + }]; + readonly name: "Approval"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "from"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "to"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "value"; + readonly type: "uint256"; + }]; + readonly name: "Transfer"; + readonly type: "event"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }]; + readonly name: "allowance"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly name: "allowedTransferee"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "approve"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "account"; + readonly type: "address"; + }]; + readonly name: "balanceOf"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "blockTimestamp"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes32[]"; + readonly name: "domains"; + readonly type: "bytes32[]"; + }]; + readonly name: "bulkResolve"; + readonly outputs: readonly [{ + readonly internalType: "address[]"; + readonly name: "result"; + readonly type: "address[]"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "decimals"; + readonly outputs: readonly [{ + readonly internalType: "uint8"; + readonly name: ""; + readonly type: "uint8"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "subtractedValue"; + readonly type: "uint256"; + }]; + readonly name: "decreaseAllowance"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "expiresAt"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "governance"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "addedValue"; + readonly type: "uint256"; + }]; + readonly name: "increaseAllowance"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "name"; + readonly outputs: readonly [{ + readonly internalType: "string"; + readonly name: ""; + readonly type: "string"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "redeem"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "rescueExpiredTokens"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: "node"; + readonly type: "bytes32"; + }]; + readonly name: "resolve"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "symbol"; + readonly outputs: readonly [{ + readonly internalType: "string"; + readonly name: ""; + readonly type: "string"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "torn"; + readonly outputs: readonly [{ + readonly internalType: "contract IERC20"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "totalSupply"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "recipient"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "transfer"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "sender"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "recipient"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "transferFrom"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }]; + static createInterface(): VoucherInterface; + static connect(address: string, runner?: ContractRunner | null): Voucher; +} +export {}; diff --git a/dist/factories/contracts/Governance/TORN/index.d.ts b/dist/factories/contracts/Governance/TORN/index.d.ts new file mode 100644 index 0000000..680f72f --- /dev/null +++ b/dist/factories/contracts/Governance/TORN/index.d.ts @@ -0,0 +1,7 @@ +export * as ensSol from "./ENS.sol"; +export * as mocks from "./mocks"; +export { Airdrop__factory } from "./Airdrop__factory"; +export { ERC20Permit__factory } from "./ERC20Permit__factory"; +export { TORN__factory } from "./TORN__factory"; +export { Vesting__factory } from "./Vesting__factory"; +export { Voucher__factory } from "./Voucher__factory"; diff --git a/dist/factories/contracts/Governance/TORN/mocks/AirdropMock__factory.d.ts b/dist/factories/contracts/Governance/TORN/mocks/AirdropMock__factory.d.ts new file mode 100644 index 0000000..c798f31 --- /dev/null +++ b/dist/factories/contracts/Governance/TORN/mocks/AirdropMock__factory.d.ts @@ -0,0 +1,71 @@ +import { ContractFactory, ContractTransactionResponse } from "ethers"; +import type { Signer, BytesLike, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../../common"; +import type { AirdropMock, AirdropMockInterface, Airdrop } from "../../../../../contracts/Governance/TORN/mocks/AirdropMock"; +type AirdropMockConstructorParams = [signer?: Signer] | ConstructorParameters; +export declare class AirdropMock__factory extends ContractFactory { + constructor(...args: AirdropMockConstructorParams); + getDeployTransaction(tokenAddress: BytesLike, targets: Airdrop.RecipientStruct[], overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + deploy(tokenAddress: BytesLike, targets: Airdrop.RecipientStruct[], overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + connect(runner: ContractRunner | null): AirdropMock__factory; + static readonly bytecode = "0x608060405234801561001057600080fd5b5060405161039938038061039983398101604081905261002f91610220565b8181600061003c836101aa565b90506000816001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161006c91906102e4565b60206040518083038186803b15801561008457600080fd5b505afa158015610098573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100bc91906102cc565b116100e25760405162461bcd60e51b81526004016100d990610311565b60405180910390fd5b60005b82518110156101a557816001600160a01b031663a9059cbb84838151811061010957fe5b60200260200101516000015185848151811061012157fe5b6020026020010151602001516040518363ffffffff1660e01b815260040161014a9291906102f8565b602060405180830381600087803b15801561016457600080fd5b505af1158015610178573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061019c91906101f9565b506001016100e5565b506000ff5b60601c90565b6000604082840312156101c1578081fd5b6101cb6040610353565b82519091506001600160a01b03811681146101e557600080fd5b808252506020820151602082015292915050565b60006020828403121561020a578081fd5b81518015158114610219578182fd5b9392505050565b6000806040808486031215610233578182fd5b8351602080860151919450906001600160401b03811115610252578384fd5b8501601f81018713610262578384fd5b805161027561027082610379565b610353565b81815283810190838501868402850186018b1015610291578788fd5b8794505b838510156102bb576102a78b826101b0565b835260019490940193918501918601610295565b508096505050505050509250929050565b6000602082840312156102dd578081fd5b5051919050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b60208082526022908201527f42616c616e636520697320302c2061697264726f7020616c726561647920646f6040820152616e6560f01b606082015260800190565b6040518181016001600160401b038111828210171561037157600080fd5b604052919050565b60006001600160401b0382111561038e578081fd5b506020908102019056fe"; + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: "tokenAddress"; + readonly type: "bytes32"; + }, { + readonly components: readonly [{ + readonly internalType: "address"; + readonly name: "to"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly internalType: "struct Airdrop.Recipient[]"; + readonly name: "targets"; + readonly type: "tuple[]"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "constructor"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes32[]"; + readonly name: "domains"; + readonly type: "bytes32[]"; + }]; + readonly name: "bulkResolve"; + readonly outputs: readonly [{ + readonly internalType: "address[]"; + readonly name: "result"; + readonly type: "address[]"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: "addr"; + readonly type: "bytes32"; + }]; + readonly name: "resolve"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }]; + static createInterface(): AirdropMockInterface; + static connect(address: string, runner?: ContractRunner | null): AirdropMock; +} +export {}; diff --git a/dist/factories/contracts/Governance/TORN/mocks/ENSMock__factory.d.ts b/dist/factories/contracts/Governance/TORN/mocks/ENSMock__factory.d.ts new file mode 100644 index 0000000..325e086 --- /dev/null +++ b/dist/factories/contracts/Governance/TORN/mocks/ENSMock__factory.d.ts @@ -0,0 +1,92 @@ +import { ContractFactory, ContractTransactionResponse } from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../../common"; +import type { ENSMock, ENSMockInterface } from "../../../../../contracts/Governance/TORN/mocks/ENSMock"; +type ENSMockConstructorParams = [signer?: Signer] | ConstructorParameters; +export declare class ENSMock__factory extends ContractFactory { + constructor(...args: ENSMockConstructorParams); + getDeployTransaction(overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + deploy(overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + connect(runner: ContractRunner | null): ENSMock__factory; + static readonly bytecode = "0x608060405234801561001057600080fd5b5061044b806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80630178b8bf1461005c5780633b3b57de146100855780637ef5029814610098578063ac9650d8146100ab578063d5fa2b00146100cb575b600080fd5b61006f61006a3660046102bc565b6100e0565b60405161007c919061031e565b60405180910390f35b61006f6100933660046102bc565b6100e5565b61006f6100a63660046102bc565b610100565b6100be6100b936600461024d565b61011b565b60405161007c9190610332565b6100de6100d93660046102d4565b61021f565b005b503090565b6000908152602081905260409020546001600160a01b031690565b6000602081905290815260409020546001600160a01b031681565b60608167ffffffffffffffff8111801561013457600080fd5b5060405190808252806020026020018201604052801561016857816020015b60608152602001906001900390816101535790505b50905060005b8281101561021857600060603086868581811061018757fe5b905060200281019061019991906103c9565b6040516101a792919061030e565b600060405180830381855af49150503d80600081146101e2576040519150601f19603f3d011682016040523d82523d6000602084013e6101e7565b606091505b5091509150816101f657600080fd5b8084848151811061020357fe5b6020908102919091010152505060010161016e565b5092915050565b60009182526020829052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b6000806020838503121561025f578182fd5b823567ffffffffffffffff80821115610276578384fd5b818501915085601f830112610289578384fd5b813581811115610297578485fd5b86602080830285010111156102aa578485fd5b60209290920196919550909350505050565b6000602082840312156102cd578081fd5b5035919050565b600080604083850312156102e6578182fd5b8235915060208301356001600160a01b0381168114610303578182fd5b809150509250929050565b6000828483379101908152919050565b6001600160a01b0391909116815260200190565b6000602080830181845280855180835260408601915060408482028701019250838701855b828110156103bc57878503603f1901845281518051808752885b8181101561038c578281018901518882018a01528801610371565b8181111561039c578989838a0101525b50601f01601f191695909501860194509285019290850190600101610357565b5092979650505050505050565b6000808335601e198436030181126103df578283fd5b83018035915067ffffffffffffffff8211156103f9578283fd5b60200191503681900382131561040e57600080fd5b925092905056fea26469706673582212202e44de42b72aec6265acc191876b290bc887c846ffca216ac5d28a16fd49092564736f6c634300060c0033"; + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: "_node"; + readonly type: "bytes32"; + }]; + readonly name: "addr"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes[]"; + readonly name: "data"; + readonly type: "bytes[]"; + }]; + readonly name: "multicall"; + readonly outputs: readonly [{ + readonly internalType: "bytes[]"; + readonly name: "results"; + readonly type: "bytes[]"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: ""; + readonly type: "bytes32"; + }]; + readonly name: "registry"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: ""; + readonly type: "bytes32"; + }]; + readonly name: "resolver"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: "_node"; + readonly type: "bytes32"; + }, { + readonly internalType: "address"; + readonly name: "_addr"; + readonly type: "address"; + }]; + readonly name: "setAddr"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }]; + static createInterface(): ENSMockInterface; + static connect(address: string, runner?: ContractRunner | null): ENSMock; +} +export {}; diff --git a/dist/factories/contracts/Governance/TORN/mocks/TORNMock__factory.d.ts b/dist/factories/contracts/Governance/TORN/mocks/TORNMock__factory.d.ts new file mode 100644 index 0000000..096bcf4 --- /dev/null +++ b/dist/factories/contracts/Governance/TORN/mocks/TORNMock__factory.d.ts @@ -0,0 +1,517 @@ +import { ContractFactory, ContractTransactionResponse } from "ethers"; +import type { Signer, BigNumberish, AddressLike, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../../common"; +import type { TORNMock, TORNMockInterface, TORN } from "../../../../../contracts/Governance/TORN/mocks/TORNMock"; +type TORNMockConstructorParams = [signer?: Signer] | ConstructorParameters; +export declare class TORNMock__factory extends ContractFactory { + constructor(...args: TORNMockConstructorParams); + getDeployTransaction(_governance: AddressLike, _pausePeriod: BigNumberish, _vesting: TORN.RecipientStruct[], overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + deploy(_governance: AddressLike, _pausePeriod: BigNumberish, _vesting: TORN.RecipientStruct[], overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + connect(runner: ContractRunner | null): TORNMock__factory; + static readonly bytecode = "0x60c06040523480156200001157600080fd5b506040516200298e3803806200298e8339810160408190526200003491620006d6565b604080518082018252600b81526a0a8dee4dcc2c8de86c2e6d60ab1b6020808301918252835180850190945260048452632a27a92760e11b90840152815186938693869390926200008891600391620005e4565b5080516200009e906004906020840190620005e4565b50506005805460ff1916601217905550620000b8620001f8565b506008805460ff199081169091556001600160601b0319606085901b1660a0526001600160a01b0384166000908152600960205260408120805490921660011790915583905b82518110156200017b5760008382815181106200011757fe5b60200260200101516000015190506200014f818584815181106200013757fe5b602002602001015160200151620002b460201b60201c565b6001600160a01b03166000908152600960205260409020805460ff1916600190811790915501620000fe565b506200019f836200018b62000397565b620003b360201b62000d721790919060201c565b608052620001ac620003e4565b620001b66200045b565b6a084595161401484a00000014620001eb5760405162461bcd60e51b8152600401620001e290620008a8565b60405180910390fd5b5050505050505062000946565b6000806200020562000461565b905060007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6200023462000467565b805160209182012060408051808201825260018152603160f81b90840152516200028693927fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6918791309101620007be565b60408051601f1981840301815291815281516020928301206000948552600790925290922082905550905090565b6001600160a01b038216620002dd5760405162461bcd60e51b8152600401620001e290620008df565b620002eb6000838362000501565b6200030781600254620003b360201b62000d721790919060201c565b6002556001600160a01b038216600090815260208181526040909120546200033a91839062000d72620003b3821b17901c565b6001600160a01b0383166000818152602081905260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906200038b90859062000916565b60405180910390a35050565b6000620003ae620005bc60201b62000d9e1760201c565b905090565b600082820183811015620003db5760405162461bcd60e51b8152600401620001e290620007ea565b90505b92915050565b60085460ff16156200040a5760405162461bcd60e51b8152600401620001e2906200087e565b6008805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25862000442620005d7565b604051620004519190620007aa565b60405180910390a1565b60025490565b600b5490565b60038054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015620004f75780601f10620004cb57610100808354040283529160200191620004f7565b820191906000526020600020905b815481529060010190602001808311620004d957829003601f168201915b5050505050905090565b62000519838383620005b760201b620007421760201c565b62000523620005db565b15806200054857506001600160a01b03831660009081526009602052604090205460ff165b806200056c57506001600160a01b03821660009081526009602052604090205460ff165b6200058b5760405162461bcd60e51b8152600401620001e29062000858565b6001600160a01b038216301415620005b75760405162461bcd60e51b8152600401620001e29062000821565b505050565b6000600a54600014620005d257600a54620003ae565b504290565b3390565b60085460ff1690565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200062757805160ff191683800117855562000657565b8280016001018555821562000657579182015b82811115620006575782518255916020019190600101906200063a565b506200066592915062000669565b5090565b5b808211156200066557600081556001016200066a565b80516001600160a01b0381168114620003de57600080fd5b600060408284031215620006aa578081fd5b620006b660406200091f565b9050620006c4838362000680565b81526020820151602082015292915050565b600080600060608486031215620006eb578283fd5b620006f7858562000680565b9250602080850151925060408086015160018060401b03808211156200071b578485fd5b818801915088601f8301126200072f578485fd5b8151818111156200073e578586fd5b6200074d85868302016200091f565b8181528581019250838601858302850187018c10156200076b578788fd5b8794505b828510156200079957620007848c8262000698565b8452600194909401939286019285016200076f565b508096505050505050509250925092565b6001600160a01b0391909116815260200190565b9485526020850193909352604084019190915260608301526001600160a01b0316608082015260a00190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526017908201527f544f524e3a20696e76616c696420726563697069656e74000000000000000000604082015260600190565b6020808252600c908201526b1513d4938e881c185d5cd95960a21b604082015260600190565b60208082526010908201526f14185d5cd8589b194e881c185d5cd95960821b604082015260600190565b6020808252601c908201527f544f524e3a20696e636f727265637420646973747269627574696f6e00000000604082015260600190565b6020808252601f908201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b90815260200190565b6040518181016001600160401b03811182821017156200093e57600080fd5b604052919050565b60805160a05160601c612008620009866000398061056f52806106975280610764528061081d5280610a215250806107bc5280610d2052506120086000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c80637ecebe0011610104578063adb61832116100a2578063d505accf11610071578063d505accf1461038d578063dc0f0d12146103a0578063dd62ed3e146103a8578063ef0e2ff4146103bb576101cf565b8063adb6183214610357578063adc879e91461035f578063c565882714610367578063cea9d26f1461037a576101cf565b806395d89b41116100de57806395d89b41146103215780639a8a059214610329578063a457c2d714610331578063a9059cbb14610344576101cf565b80637ecebe00146102e857806381893c7c146102fb578063885ad0cf1461030e576101cf565b80633c8d76d1116101715780635c975abb1161014b5780635c975abb146102a75780635d4545a0146102af57806370a08231146102c257806379cc6790146102d5576101cf565b80633c8d76d11461026a57806342966c681461027f5780635aa6e67514610292576101cf565b806318160ddd116101ad57806318160ddd1461022757806323b872dd1461022f578063313ce567146102425780633950935114610257576101cf565b806301ec0fab146101d457806306fdde03146101f2578063095ea7b314610207575b600080fd5b6101dc6103ce565b6040516101e99190611e68565b60405180910390f35b6101fa6103d4565b6040516101e99190611943565b61021a610215366004611708565b61046b565b6040516101e991906118ba565b6101dc610489565b61021a61023d366004611653565b61048f565b61024a610516565b6040516101e99190611e71565b61021a610265366004611708565b61051f565b61027d610278366004611733565b61056d565b005b61027d61028d36600461181c565b610681565b61029a610695565b6040516101e9919061188d565b61021a6106b9565b61021a6102bd3660046115ff565b6106c2565b6101dc6102d03660046115ff565b6106d7565b61027d6102e3366004611708565b6106f2565b6101dc6102f63660046115ff565b610747565b61027d6103093660046117d0565b610762565b61027d61031c366004611733565b61081b565b6101fa610922565b6101dc610983565b61021a61033f366004611708565b610989565b61021a610352366004611708565b6109f1565b6101dc610a05565b6101dc610a14565b61027d61037536600461181c565b610a1a565b61027d610388366004611808565b610a1f565b61027d61039b366004611693565b610bdd565b6101dc610d1e565b6101dc6103b636600461161b565b610d42565b61027d6103c936600461181c565b610d6d565b600a5481565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104605780601f1061043557610100808354040283529160200191610460565b820191906000526020600020905b81548152906001019060200180831161044357829003601f168201915b505050505090505b90565b600061047f610478610db7565b8484610dbb565b5060015b92915050565b60025490565b600061049c848484610e6f565b61050c846104a8610db7565b61050785604051806060016040528060288152602001611f62602891396001600160a01b038a166000908152600160205260408120906104e6610db7565b6001600160a01b031681526020810191909152604001600020549190610f84565b610dbb565b5060019392505050565b60055460ff1690565b600061047f61052c610db7565b84610507856001600061053d610db7565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610d72565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661059f610db7565b6001600160a01b0316146105ce5760405162461bcd60e51b81526004016105c590611de4565b60405180910390fd5b60005b815181101561067d576000600960008484815181106105ec57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055507f9ef90a89b00db1a1891a357dc96b2a273add9d883e378c350d22bad87a9d7d3082828151811061065857fe5b602002602001015160405161066d919061188d565b60405180910390a16001016105d1565b5050565b61069261068c610db7565b82610fb0565b50565b7f000000000000000000000000000000000000000000000000000000000000000081565b60085460ff1690565b60096020526000908152604090205460ff1681565b6001600160a01b031660009081526020819052604090205490565b600061072482604051806060016040528060248152602001611f8a6024913961071d866103b6610db7565b9190610f84565b905061073883610732610db7565b83610dbb565b6107428383610fb0565b505050565b6001600160a01b031660009081526006602052604090205490565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610794610db7565b6001600160a01b0316146107ba5760405162461bcd60e51b81526004016105c590611de4565b7f00000000000000000000000000000000000000000000000000000000000000006107e3610a05565b116108005760405162461bcd60e51b81526004016105c590611bd9565b80156108135761080e611092565b610692565b6106926110fe565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661084d610db7565b6001600160a01b0316146108735760405162461bcd60e51b81526004016105c590611de4565b60005b815181101561067d5760016009600084848151811061089157fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055507f77a7dbc6ad97703ad411a8d5edfcd1df382fb34b076a90898b11884f7ebdcc058282815181106108fd57fe5b6020026020010151604051610912919061188d565b60405180910390a1600101610876565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104605780601f1061043557610100808354040283529160200191610460565b600b5481565b600061047f610996610db7565b8461050785604051806060016040528060258152602001611fae60259139600160006109c0610db7565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190610f84565b600061047f6109fe610db7565b8484610e6f565b6000610a0f610d9e565b905090565b600b5490565b600a55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610a51610db7565b6001600160a01b031614610a775760405162461bcd60e51b81526004016105c590611de4565b6001600160a01b038216610a9d5760405162461bcd60e51b81526004016105c590611d58565b6001600160a01b038316610b06574760008215610ac357610abe8284611157565b610ac5565b815b6040519091506001600160a01b0385169082156108fc029083906000818181858888f19350505050158015610afe573d6000803e3d6000fd5b505050610742565b6040516370a0823160e01b81526000906001600160a01b038516906370a0823190610b3590309060040161188d565b60206040518083038186803b158015610b4d57600080fd5b505afa158015610b61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b859190611834565b905060008215610b9e57610b998284611157565b610ba0565b815b905060008111610bc25760405162461bcd60e51b81526004016105c590611e31565b610bd66001600160a01b038616858361116d565b5050505050565b83610be6610a05565b1115610c045760405162461bcd60e51b81526004016105c590611ace565b6001600160a01b0387166000908152600660209081526040808320549051610c57927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9928c928c928c92918c91016118c5565b6040516020818303038152906040528051906020012090506000611901610c7c6111c3565b83604051602001610c8f93929190611868565b6040516020818303038152906040528051906020012090506000610cb582878787611202565b9050896001600160a01b0316816001600160a01b031614610ce85760405162461bcd60e51b81526004016105c590611c20565b6001600160a01b038a16600090815260066020526040902080546001019055610d128a8a8a610dbb565b50505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b600b55565b600082820183811015610d975760405162461bcd60e51b81526004016105c590611a60565b9392505050565b6000600a54600014610db257600a54610a0f565b504290565b3390565b6001600160a01b038316610de15760405162461bcd60e51b81526004016105c590611cdd565b6001600160a01b038216610e075760405162461bcd60e51b81526004016105c590611a1e565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610e62908590611e68565b60405180910390a3505050565b6001600160a01b038316610e955760405162461bcd60e51b81526004016105c590611c98565b6001600160a01b038216610ebb5760405162461bcd60e51b81526004016105c5906119ad565b610ec68383836112fa565b610f0381604051806060016040528060268152602001611f3c602691396001600160a01b0386166000908152602081905260409020549190610f84565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610f329082610d72565b6001600160a01b0380841660008181526020819052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e62908590611e68565b60008184841115610fa85760405162461bcd60e51b81526004016105c59190611943565b505050900390565b6001600160a01b038216610fd65760405162461bcd60e51b81526004016105c590611c57565b610fe2826000836112fa565b61101f81604051806060016040528060228152602001611f1a602291396001600160a01b0385166000908152602081905260409020549190610f84565b6001600160a01b0383166000908152602081905260409020556002546110459082611399565b6002556040516000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611086908590611e68565b60405180910390a35050565b60085460ff166110b45760405162461bcd60e51b81526004016105c5906119f0565b6008805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6110e7610db7565b6040516110f4919061188d565b60405180910390a1565b60085460ff16156111215760405162461bcd60e51b81526004016105c590611b6d565b6008805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586110e7610db7565b60008183106111665781610d97565b5090919050565b6107428363a9059cbb60e01b848460405160240161118c9291906118a1565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526113db565b600080600760006111d2610a14565b8152602081019190915260400160002054905080156111f2579050610468565b6111fa61146a565b915050610468565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08211156112445760405162461bcd60e51b81526004016105c590611b2b565b8360ff16601b148061125957508360ff16601c145b6112755760405162461bcd60e51b81526004016105c590611b97565b60006001868686866040516000815260200160405260405161129a9493929190611925565b6020604051602081039080840390855afa1580156112bc573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166112ef5760405162461bcd60e51b81526004016105c590611976565b90505b949350505050565b611305838383610742565b61130d6106b9565b158061133157506001600160a01b03831660009081526009602052604090205460ff165b8061135457506001600160a01b03821660009081526009602052604090205460ff165b6113705760405162461bcd60e51b81526004016105c590611b05565b6001600160a01b0382163014156107425760405162461bcd60e51b81526004016105c590611a97565b6000610d9783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f84565b6060611430826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166115209092919063ffffffff16565b805190915015610742578080602001905181019061144e91906117ec565b6107425760405162461bcd60e51b81526004016105c590611d9a565b600080611475610a14565b905060007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6114a26103d4565b805160209182012060408051808201825260018152603160f81b90840152516114f293927fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc69187913091016118f9565b60408051601f1981840301815291815281516020928301206000948552600790925290922082905550905090565b60606112f284846000856060611535856115ee565b6115515760405162461bcd60e51b81526004016105c590611d21565b60006060866001600160a01b0316858760405161156e919061184c565b60006040518083038185875af1925050503d80600081146115ab576040519150601f19603f3d011682016040523d82523d6000602084013e6115b0565b606091505b509150915081156115c45791506112f29050565b8051156115d45780518082602001fd5b8360405162461bcd60e51b81526004016105c59190611943565b3b151590565b803561048381611ef6565b600060208284031215611610578081fd5b8135610d9781611ef6565b6000806040838503121561162d578081fd5b823561163881611ef6565b9150602083013561164881611ef6565b809150509250929050565b600080600060608486031215611667578081fd5b833561167281611ef6565b9250602084013561168281611ef6565b929592945050506040919091013590565b600080600080600080600060e0888a0312156116ad578283fd5b87356116b881611ef6565b965060208801356116c881611ef6565b95506040880135945060608801359350608088013560ff811681146116eb578384fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561171a578182fd5b823561172581611ef6565b946020939093013593505050565b60006020808385031215611745578182fd5b823567ffffffffffffffff81111561175b578283fd5b8301601f8101851361176b578283fd5b803561177e61177982611ea6565b611e7f565b818152838101908385018584028501860189101561179a578687fd5b8694505b838510156117c4576117b089826115f4565b83526001949094019391850191850161179e565b50979650505050505050565b6000602082840312156117e1578081fd5b8135610d9781611f0b565b6000602082840312156117fd578081fd5b8151610d9781611f0b565b600080600060608486031215611667578283fd5b60006020828403121561182d578081fd5b5035919050565b600060208284031215611845578081fd5b5051919050565b6000825161185e818460208701611ec6565b9190910192915050565b60f09390931b6001600160f01b03191683526002830191909152602282015260420190565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b9586526001600160a01b0394851660208701529290931660408501526060840152608083019190915260a082015260c00190565b9485526020850193909352604084019190915260608301526001600160a01b0316608082015260a00190565b93845260ff9290921660208401526040830152606082015260800190565b6000602082528251806020840152611962816040850160208701611ec6565b601f01601f19169190910160400192915050565b60208082526018908201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604082015260600190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526014908201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604082015260600190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526017908201527f544f524e3a20696e76616c696420726563697069656e74000000000000000000604082015260600190565b6020808252601d908201527f45524332305065726d69743a206578706972656420646561646c696e65000000604082015260600190565b6020808252600c908201526b1513d4938e881c185d5cd95960a21b604082015260600190565b60208082526022908201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604082015261756560f01b606082015260800190565b60208082526010908201526f14185d5cd8589b194e881c185d5cd95960821b604082015260600190565b60208082526022908201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604082015261756560f01b606082015260800190565b60208082526027908201527f544f524e3a2063616e6e6f74206368616e6765207472616e736665726162696c6040820152661a5d1e481e595d60ca1b606082015260800190565b6020808252601e908201527f45524332305065726d69743a20696e76616c6964207369676e61747572650000604082015260600190565b60208082526021908201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736040820152607360f81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b60208082526022908201527f544f524e3a2063616e206e6f742073656e6420746f207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b6020808252602d908201527f544f524e3a206f6e6c7920676f7665726e616e63652063616e20706572666f7260408201526c36903a3434b99030b1ba34b7b760991b606082015260800190565b6020808252601e908201527f544f524e3a20747279696e6720746f2073656e6420302062616c616e63650000604082015260600190565b90815260200190565b60ff91909116815260200190565b60405181810167ffffffffffffffff81118282101715611e9e57600080fd5b604052919050565b600067ffffffffffffffff821115611ebc578081fd5b5060209081020190565b60005b83811015611ee1578181015183820152602001611ec9565b83811115611ef0576000848401525b50505050565b6001600160a01b038116811461069257600080fd5b801515811461069257600080fdfe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220c25cb2cef98080abbebec9b5719a4f46d638fbe559a3ab7a9de64272855c3c1064736f6c634300060c0033"; + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "_governance"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "_pausePeriod"; + readonly type: "uint256"; + }, { + readonly components: readonly [{ + readonly internalType: "address"; + readonly name: "to"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly internalType: "struct TORN.Recipient[]"; + readonly name: "_vesting"; + readonly type: "tuple[]"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "constructor"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: false; + readonly internalType: "address"; + readonly name: "target"; + readonly type: "address"; + }]; + readonly name: "Allowed"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "value"; + readonly type: "uint256"; + }]; + readonly name: "Approval"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: false; + readonly internalType: "address"; + readonly name: "target"; + readonly type: "address"; + }]; + readonly name: "Disallowed"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: false; + readonly internalType: "address"; + readonly name: "account"; + readonly type: "address"; + }]; + readonly name: "Paused"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "from"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "to"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "value"; + readonly type: "uint256"; + }]; + readonly name: "Transfer"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: false; + readonly internalType: "address"; + readonly name: "account"; + readonly type: "address"; + }]; + readonly name: "Unpaused"; + readonly type: "event"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address[]"; + readonly name: "target"; + readonly type: "address[]"; + }]; + readonly name: "addToAllowedList"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }]; + readonly name: "allowance"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly name: "allowedTransferee"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "approve"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "account"; + readonly type: "address"; + }]; + readonly name: "balanceOf"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "blockTimestamp"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "burn"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "account"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "burnFrom"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "canUnpauseAfter"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "chainID"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "chainId"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bool"; + readonly name: "decision"; + readonly type: "bool"; + }]; + readonly name: "changeTransferability"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "decimals"; + readonly outputs: readonly [{ + readonly internalType: "uint8"; + readonly name: ""; + readonly type: "uint8"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "subtractedValue"; + readonly type: "uint256"; + }]; + readonly name: "decreaseAllowance"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "fakeTimestamp"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "governance"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "addedValue"; + readonly type: "uint256"; + }]; + readonly name: "increaseAllowance"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "name"; + readonly outputs: readonly [{ + readonly internalType: "string"; + readonly name: ""; + readonly type: "string"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }]; + readonly name: "nonces"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "paused"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "deadline"; + readonly type: "uint256"; + }, { + readonly internalType: "uint8"; + readonly name: "v"; + readonly type: "uint8"; + }, { + readonly internalType: "bytes32"; + readonly name: "r"; + readonly type: "bytes32"; + }, { + readonly internalType: "bytes32"; + readonly name: "s"; + readonly type: "bytes32"; + }]; + readonly name: "permit"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address[]"; + readonly name: "target"; + readonly type: "address[]"; + }]; + readonly name: "removeFromAllowedList"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "contract IERC20"; + readonly name: "_token"; + readonly type: "address"; + }, { + readonly internalType: "address payable"; + readonly name: "_to"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "_balance"; + readonly type: "uint256"; + }]; + readonly name: "rescueTokens"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "_chainId"; + readonly type: "uint256"; + }]; + readonly name: "setChainId"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "_fakeTimestamp"; + readonly type: "uint256"; + }]; + readonly name: "setFakeTimestamp"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "symbol"; + readonly outputs: readonly [{ + readonly internalType: "string"; + readonly name: ""; + readonly type: "string"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "totalSupply"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "recipient"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "transfer"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "sender"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "recipient"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "transferFrom"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }]; + static createInterface(): TORNMockInterface; + static connect(address: string, runner?: ContractRunner | null): TORNMock; +} +export {}; diff --git a/dist/factories/contracts/Governance/TORN/mocks/Timestamp__factory.d.ts b/dist/factories/contracts/Governance/TORN/mocks/Timestamp__factory.d.ts new file mode 100644 index 0000000..892b5c6 --- /dev/null +++ b/dist/factories/contracts/Governance/TORN/mocks/Timestamp__factory.d.ts @@ -0,0 +1,52 @@ +import { ContractFactory, ContractTransactionResponse } from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../../common"; +import type { Timestamp, TimestampInterface } from "../../../../../contracts/Governance/TORN/mocks/Timestamp"; +type TimestampConstructorParams = [signer?: Signer] | ConstructorParameters; +export declare class Timestamp__factory extends ContractFactory { + constructor(...args: TimestampConstructorParams); + getDeployTransaction(overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + deploy(overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + connect(runner: ContractRunner | null): Timestamp__factory; + static readonly bytecode = "0x608060405234801561001057600080fd5b5060d28061001f6000396000f3fe6080604052348015600f57600080fd5b5060043610603c5760003560e01c806301ec0fab146041578063adb61832146059578063c565882714605f575b600080fd5b6047607b565b60408051918252519081900360200190f35b60476081565b607960048036036020811015607357600080fd5b50356097565b005b60005481565b60008054156090576000546092565b425b905090565b60005556fea2646970667358221220b2410460a5b24aec9983bcf8349aa3b589a0dff9120af5b704feae536a65813064736f6c634300060c0033"; + static readonly abi: readonly [{ + readonly inputs: readonly []; + readonly name: "blockTimestamp"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "fakeTimestamp"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "_fakeTimestamp"; + readonly type: "uint256"; + }]; + readonly name: "setFakeTimestamp"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }]; + static createInterface(): TimestampInterface; + static connect(address: string, runner?: ContractRunner | null): Timestamp; +} +export {}; diff --git a/dist/factories/contracts/Governance/TORN/mocks/VestingMock__factory.d.ts b/dist/factories/contracts/Governance/TORN/mocks/VestingMock__factory.d.ts new file mode 100644 index 0000000..4e9bb5c --- /dev/null +++ b/dist/factories/contracts/Governance/TORN/mocks/VestingMock__factory.d.ts @@ -0,0 +1,172 @@ +import { ContractFactory, ContractTransactionResponse } from "ethers"; +import type { Signer, BigNumberish, AddressLike, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../../common"; +import type { VestingMock, VestingMockInterface } from "../../../../../contracts/Governance/TORN/mocks/VestingMock"; +type VestingMockConstructorParams = [signer?: Signer] | ConstructorParameters; +export declare class VestingMock__factory extends ContractFactory { + constructor(...args: VestingMockConstructorParams); + getDeployTransaction(_token: AddressLike, _beneficiary: AddressLike, _startTimestamp: BigNumberish, _cliffInMonths: BigNumberish, _durationInMonths: BigNumberish, overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + deploy(_token: AddressLike, _beneficiary: AddressLike, _startTimestamp: BigNumberish, _cliffInMonths: BigNumberish, _durationInMonths: BigNumberish, overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + connect(runner: ContractRunner | null): VestingMock__factory; + static readonly bytecode = "0x61012060405234801561001157600080fd5b50604051610d2e380380610d2e833981810160405260a081101561003457600080fd5b5080516020820151604083015160608401516080909401519293919290919084848484846001600160a01b0384166100b3576040805162461bcd60e51b815260206004820152601b60248201527f42656e65666963696172792063616e6e6f7420626520656d7074790000000000604482015290519081900360640190fd5b80821115610108576040805162461bcd60e51b815260206004820152601e60248201527f436c6966662069732067726561746572207468616e206475726174696f6e0000604482015290519081900360640190fd5b6001600160601b0319606086811b821660a05285901b1660805261010081905260c082905282156101395782610141565b610141610154565b60e0525061018698505050505050505050565b600061016861016d60201b6105b81760201c565b905090565b600060015460001461018157600154610168565b504290565b60805160601c60a05160601c60c05160e05161010051610b366101f86000398061024452806103bc528061041e52508061019352806101cf52806105725250806102115280610534525080610289528061030952806104b5528061059652508061016d52806104d75250610b366000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c8063928d89ae11610071578063928d89ae146101195780639613252114610121578063adb6183214610129578063c565882714610131578063e6fd48bc1461014e578063fc0c546a14610156576100b4565b806301ec0fab146100b957806310786deb146100d357806338af3eed146100db57806344b1231f146100ff57806367097a4b1461010757806386d1a69f1461010f575b600080fd5b6100c161015e565b60408051918252519081900360200190f35b6100c1610164565b6100e361016b565b604080516001600160a01b039092168252519081900360200190f35b6100c161018f565b6100c161041c565b610117610440565b005b6100c1610532565b6100c1610556565b6100c161055c565b6101176004803603602081101561014757600080fd5b503561056b565b6100c1610570565b6100e3610594565b60015481565b62278d0081565b7f000000000000000000000000000000000000000000000000000000000000000081565b60007f00000000000000000000000000000000000000000000000000000000000000006101ba61055c565b10156101c857506000610419565b60006101fc7f00000000000000000000000000000000000000000000000000000000000000006101f661055c565b906105d1565b9050600061020d8262278d0061061c565b90507f000000000000000000000000000000000000000000000000000000000000000081101561024257600092505050610419565b7f0000000000000000000000000000000000000000000000000000000000000000811061030557604080516370a0823160e01b815230600482015290516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916370a08231916024808301926020929190829003018186803b1580156102cf57600080fd5b505afa1580156102e3573d6000803e3d6000fd5b505050506040513d60208110156102f957600080fd5b50519250610419915050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561037457600080fd5b505afa158015610388573d6000803e3d6000fd5b505050506040513d602081101561039e57600080fd5b505160008054919250906103b390839061065e565b905060006103eb7f00000000000000000000000000000000000000000000000000000000000000006103e584876106b8565b9061061c565b90506000610404600054836105d190919063ffffffff16565b90506104108482610711565b96505050505050505b90565b7f000000000000000000000000000000000000000000000000000000000000000081565b600061044a61018f565b905060008111610498576040805162461bcd60e51b81526020600482015260146024820152734e6f20746f6b656e7320746f2072656c6561736560601b604482015290519081900360640190fd5b6000546104a5908261065e565b6000556104fc6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f000000000000000000000000000000000000000000000000000000000000000083610727565b6040805182815290517ffb81f9b30d73d830c3544b34d827c08142579ee75710b490bab0b3995468c5659181900360200190a150565b7f000000000000000000000000000000000000000000000000000000000000000081565b60005481565b60006105666105b8565b905090565b600155565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b60006001546000146105cc57600154610566565b504290565b600061061383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061077e565b90505b92915050565b600061061383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610815565b600082820183811015610613576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000826106c757506000610616565b828202828482816106d457fe5b04146106135760405162461bcd60e51b8152600401808060200182810382526021815260200180610ab66021913960400191505060405180910390fd5b60008183106107205781610613565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261077990849061087a565b505050565b6000818484111561080d5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156107d25781810151838201526020016107ba565b50505050905090810190601f1680156107ff5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836108645760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156107d25781810151838201526020016107ba565b50600083858161087057fe5b0495945050505050565b60606108cf826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661092b9092919063ffffffff16565b805190915015610779578080602001905160208110156108ee57600080fd5b50516107795760405162461bcd60e51b815260040180806020018281038252602a815260200180610ad7602a913960400191505060405180910390fd5b606061093a8484600085610942565b949350505050565b606061094d85610aaf565b61099e576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106109dd5780518252601f1990920191602091820191016109be565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114610a3f576040519150601f19603f3d011682016040523d82523d6000602084013e610a44565b606091505b50915091508115610a5857915061093a9050565b805115610a685780518082602001fd5b60405162461bcd60e51b81526020600482018181528651602484015286518793919283926044019190850190808383600083156107d25781810151838201526020016107ba565b3b15159056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a2646970667358221220852e02606e74d747094138d7e10fc9f005278a953559d85ca961b67f95c9fa8f64736f6c634300060c0033"; + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "_token"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "_beneficiary"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "_startTimestamp"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "_cliffInMonths"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "_durationInMonths"; + readonly type: "uint256"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "constructor"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "Released"; + readonly type: "event"; + }, { + readonly inputs: readonly []; + readonly name: "SECONDS_PER_MONTH"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "beneficiary"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "blockTimestamp"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "cliffInMonths"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "durationInMonths"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "fakeTimestamp"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "release"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "released"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "_fakeTimestamp"; + readonly type: "uint256"; + }]; + readonly name: "setFakeTimestamp"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "startTimestamp"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "token"; + readonly outputs: readonly [{ + readonly internalType: "contract IERC20"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "vestedAmount"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }]; + static createInterface(): VestingMockInterface; + static connect(address: string, runner?: ContractRunner | null): VestingMock; +} +export {}; diff --git a/dist/factories/contracts/Governance/TORN/mocks/VoucherMock__factory.d.ts b/dist/factories/contracts/Governance/TORN/mocks/VoucherMock__factory.d.ts new file mode 100644 index 0000000..3de0087 --- /dev/null +++ b/dist/factories/contracts/Governance/TORN/mocks/VoucherMock__factory.d.ts @@ -0,0 +1,371 @@ +import { ContractFactory, ContractTransactionResponse } from "ethers"; +import type { Signer, BytesLike, BigNumberish, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../../common"; +import type { VoucherMock, VoucherMockInterface, Voucher } from "../../../../../contracts/Governance/TORN/mocks/VoucherMock"; +type VoucherMockConstructorParams = [signer?: Signer] | ConstructorParameters; +export declare class VoucherMock__factory extends ContractFactory { + constructor(...args: VoucherMockConstructorParams); + getDeployTransaction(_torn: BytesLike, _governance: BytesLike, _duration: BigNumberish, _airdrops: Voucher.RecipientStruct[], overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + deploy(_torn: BytesLike, _governance: BytesLike, _duration: BigNumberish, _airdrops: Voucher.RecipientStruct[], overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + connect(runner: ContractRunner | null): VoucherMock__factory; + static readonly bytecode = "0x60e06040523480156200001157600080fd5b5060405162001b7838038062001b78833981016040819052620000349162000476565b8383838360405180606001604052806026815260200162001b5260269139604051806040016040528060058152602001643b2a27a92760d91b8152508160039080519060200190620000889291906200038d565b5080516200009e9060049060208401906200038d565b50506005805460ff1916601217905550620000b984620001b7565b60601b6001600160601b031916608052620000d483620001b7565b60601b6001600160601b03191660c0526200010782620000f3620001bd565b620001d960201b6200089d1790919060201c565b60a05260005b8151811015620001a857620001598282815181106200012857fe5b6020026020010151600001518383815181106200014157fe5b6020026020010151602001516200021160201b60201c565b6001600660008484815181106200016c57fe5b602090810291909101810151516001600160a01b03168252810191909152604001600020805460ff19169115159190911790556001016200010d565b5050505050505050506200061d565b60601c90565b6000620001d4620002f460201b620008c91760201c565b905090565b6000828201838110156200020a5760405162461bcd60e51b8152600401620002019062000548565b60405180910390fd5b9392505050565b6001600160a01b0382166200023a5760405162461bcd60e51b81526004016200020190620005b6565b62000248600083836200030f565b6200026481600254620001d960201b6200089d1790919060201c565b6002556001600160a01b03821660009081526020818152604090912054620002979183906200089d620001d9821b17901c565b6001600160a01b0383166000818152602081905260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90620002e8908590620005ed565b60405180910390a35050565b60006007546000146200030a57600754620001d4565b504290565b620003278383836200038860201b620008e21760201c565b6001600160a01b03821615806200034557506001600160a01b038316155b806200036957506001600160a01b03831660009081526006602052604090205460ff165b620003885760405162461bcd60e51b815260040162000201906200057f565b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620003d057805160ff191683800117855562000400565b8280016001018555821562000400579182015b8281111562000400578251825591602001919060010190620003e3565b506200040e92915062000412565b5090565b5b808211156200040e576000815560010162000413565b6000604082840312156200043b578081fd5b620004476040620005f6565b82519091506001600160a01b03811681146200046257600080fd5b808252506020820151602082015292915050565b600080600080608085870312156200048c578384fd5b8451935060208086015193506040808701519350606087015160018060401b0380821115620004b9578485fd5b818901915089601f830112620004cd578485fd5b815181811115620004dc578586fd5b620004eb8586830201620005f6565b8181528581019250838601858302850187018d101562000509578788fd5b8794505b828510156200053757620005228d8262000429565b8452600194909401939286019285016200050d565b50989b979a50959850505050505050565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252601e908201527f45524332303a207472616e73666572206973206e6f7420616c6c6f7765640000604082015260600190565b6020808252601f908201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b90815260200190565b6040518181016001600160401b03811182821017156200061557600080fd5b604052919050565b60805160601c60a05160c05160601c6114e46200066e6000398061046952806106de5250806104c352806105f752806106945250806105d3528061066852806106ff52806107a352506114e46000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c80638622a689116100b8578063adf898a41161007c578063adf898a414610269578063be040fb014610271578063c39ef8551461027b578063c565882714610283578063dd62ed3e14610296578063f9e54234146102a957610142565b80638622a6891461022b57806395d89b4114610233578063a457c2d71461023b578063a9059cbb1461024e578063adb618321461026157610142565b8063313ce5671161010a578063313ce567146101b557806339509351146101ca5780635aa6e675146101dd5780635c23bdf5146101f25780635d4545a01461020557806370a082311461021857610142565b806301ec0fab1461014757806306fdde0314610165578063095ea7b31461017a57806318160ddd1461019a57806323b872dd146101a2575b600080fd5b61014f6102c9565b60405161015c9190611376565b60405180910390f35b61016d6102cf565b60405161015c9190611087565b61018d610188366004610ed7565b610365565b60405161015c919061107c565b61014f610383565b61018d6101b0366004610e97565b610389565b6101bd610410565b60405161015c919061137f565b61018d6101d8366004610ed7565b610419565b6101e5610467565b60405161015c9190611002565b6101e5610200366004610fb6565b61048b565b61018d610213366004610e48565b610491565b61014f610226366004610e48565b6104a6565b61014f6104c1565b61016d6104e5565b61018d610249366004610ed7565b610546565b61018d61025c366004610ed7565b6105ae565b61014f6105c2565b6101e56105d1565b6102796105f5565b005b610279610692565b610279610291366004610fb6565b6107cc565b61014f6102a4366004610e63565b6107d1565b6102bc6102b7366004610f01565b6107fc565b60405161015c919061102f565b60075481565b60038054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561035b5780601f106103305761010080835404028352916020019161035b565b820191906000526020600020905b81548152906001019060200180831161033e57829003601f168201915b5050505050905090565b60006103796103726108e7565b84846108eb565b5060015b92915050565b60025490565b600061039684848461099f565b610406846103a26108e7565b61040185604051806060016040528060288152602001611462602891396001600160a01b038a166000908152600160205260408120906103e06108e7565b6001600160a01b031681526020810191909152604001600020549190610ab4565b6108eb565b5060019392505050565b60055460ff1690565b60006103796104266108e7565b8461040185600160006104376108e7565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549061089d565b7f000000000000000000000000000000000000000000000000000000000000000081565b60601c90565b60066020526000908152604090205460ff1681565b6001600160a01b031660009081526020819052604090205490565b7f000000000000000000000000000000000000000000000000000000000000000081565b60048054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561035b5780601f106103305761010080835404028352916020019161035b565b60006103796105536108e7565b846104018560405180606001604052806025815260200161148a602591396001600061057d6108e7565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190610ab4565b60006103796105bb6108e7565b848461099f565b60006105cc6108c9565b905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000061061e6105c2565b106106445760405162461bcd60e51b815260040161063b90611176565b60405180910390fd5b600061064f336104a6565b905061065b3382610ae0565b61068f6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163383610bc2565b50565b7f00000000000000000000000000000000000000000000000000000000000000006106bb6105c2565b10156106d95760405162461bcd60e51b815260040161063b906111ad565b6107ca7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016107499190611002565b60206040518083038186803b15801561076157600080fd5b505afa158015610775573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107999190610fce565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190610bc2565b565b600755565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6060815167ffffffffffffffff8111801561081657600080fd5b50604051908082528060200260200182016040528015610840578160200160208202803683370190505b50905060005b82518110156108975761086b83828151811061085e57fe5b602002602001015161048b565b82828151811061087757fe5b6001600160a01b0390921660209283029190910190910152600101610846565b50919050565b6000828201838110156108c25760405162461bcd60e51b815260040161063b9061113f565b9392505050565b60006007546000146108dd576007546105cc565b504290565b505050565b3390565b6001600160a01b0383166109115760405162461bcd60e51b815260040161063b906112b1565b6001600160a01b0382166109375760405162461bcd60e51b815260040161063b906110fd565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610992908590611376565b60405180910390a3505050565b6001600160a01b0383166109c55760405162461bcd60e51b815260040161063b9061126c565b6001600160a01b0382166109eb5760405162461bcd60e51b815260040161063b906110ba565b6109f6838383610c18565b610a338160405180606001604052806026815260200161143c602691396001600160a01b0386166000908152602081905260409020549190610ab4565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610a62908261089d565b6001600160a01b0380841660008181526020819052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610992908590611376565b60008184841115610ad85760405162461bcd60e51b815260040161063b9190611087565b505050900390565b6001600160a01b038216610b065760405162461bcd60e51b815260040161063b9061122b565b610b1282600083610c18565b610b4f8160405180606001604052806022815260200161141a602291396001600160a01b0385166000908152602081905260409020549190610ab4565b6001600160a01b038316600090815260208190526040902055600254610b759082610c7f565b6002556040516000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610bb6908590611376565b60405180910390a35050565b6108e28363a9059cbb60e01b8484604051602401610be1929190611016565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610cc1565b610c238383836108e2565b6001600160a01b0382161580610c4057506001600160a01b038316155b80610c6357506001600160a01b03831660009081526006602052604090205460ff165b6108e25760405162461bcd60e51b815260040161063b906111f4565b60006108c283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ab4565b6060610d16826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610d509092919063ffffffff16565b8051909150156108e25780806020019051810190610d349190610f96565b6108e25760405162461bcd60e51b815260040161063b9061132c565b6060610d5f8484600085610d67565b949350505050565b6060610d7285610e2b565b610d8e5760405162461bcd60e51b815260040161063b906112f5565b60006060866001600160a01b03168587604051610dab9190610fe6565b60006040518083038185875af1925050503d8060008114610de8576040519150601f19603f3d011682016040523d82523d6000602084013e610ded565b606091505b50915091508115610e01579150610d5f9050565b805115610e115780518082602001fd5b8360405162461bcd60e51b815260040161063b9190611087565b3b151590565b80356001600160a01b038116811461037d57600080fd5b600060208284031215610e59578081fd5b6108c28383610e31565b60008060408385031215610e75578081fd5b610e7f8484610e31565b9150610e8e8460208501610e31565b90509250929050565b600080600060608486031215610eab578081fd5b8335610eb681611404565b92506020840135610ec681611404565b929592945050506040919091013590565b60008060408385031215610ee9578182fd5b610ef38484610e31565b946020939093013593505050565b60006020808385031215610f13578182fd5b823567ffffffffffffffff811115610f29578283fd5b8301601f81018513610f39578283fd5b8035610f4c610f47826113b4565b61138d565b8181528381019083850185840285018601891015610f68578687fd5b8694505b83851015610f8a578035835260019490940193918501918501610f6c565b50979650505050505050565b600060208284031215610fa7578081fd5b815180151581146108c2578182fd5b600060208284031215610fc7578081fd5b5035919050565b600060208284031215610fdf578081fd5b5051919050565b60008251610ff88184602087016113d4565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6020808252825182820181905260009190848201906040850190845b818110156110705783516001600160a01b03168352928401929184019160010161104b565b50909695505050505050565b901515815260200190565b60006020825282518060208401526110a68160408501602087016113d4565b601f01601f19169190910160400192915050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252601f908201527f41697264726f702072656465656d20706572696f642068617320656e64656400604082015260600190565b60208082526027908201527f41697264726f702072656465656d20706572696f6420686173206e6f7420656e604082015266191959081e595d60ca1b606082015260800190565b6020808252601e908201527f45524332303a207472616e73666572206973206e6f7420616c6c6f7765640000604082015260600190565b60208082526021908201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736040820152607360f81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b90815260200190565b60ff91909116815260200190565b60405181810167ffffffffffffffff811182821017156113ac57600080fd5b604052919050565b600067ffffffffffffffff8211156113ca578081fd5b5060209081020190565b60005b838110156113ef5781810151838201526020016113d7565b838111156113fe576000848401525b50505050565b6001600160a01b038116811461068f57600080fdfe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220794126baf4ea3c44b9afb84b4d8a20535aca899e75471e5d9bb4c8e671aabde664736f6c634300060c0033546f726e61646f4361736820766f756368657220666f72206561726c792061646f7074657273"; + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: "_torn"; + readonly type: "bytes32"; + }, { + readonly internalType: "bytes32"; + readonly name: "_governance"; + readonly type: "bytes32"; + }, { + readonly internalType: "uint256"; + readonly name: "_duration"; + readonly type: "uint256"; + }, { + readonly components: readonly [{ + readonly internalType: "address"; + readonly name: "to"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly internalType: "struct Voucher.Recipient[]"; + readonly name: "_airdrops"; + readonly type: "tuple[]"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "constructor"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "value"; + readonly type: "uint256"; + }]; + readonly name: "Approval"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "from"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "to"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "value"; + readonly type: "uint256"; + }]; + readonly name: "Transfer"; + readonly type: "event"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }]; + readonly name: "allowance"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly name: "allowedTransferee"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "approve"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "account"; + readonly type: "address"; + }]; + readonly name: "balanceOf"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "blockTimestamp"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes32[]"; + readonly name: "domains"; + readonly type: "bytes32[]"; + }]; + readonly name: "bulkResolve"; + readonly outputs: readonly [{ + readonly internalType: "address[]"; + readonly name: "result"; + readonly type: "address[]"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "decimals"; + readonly outputs: readonly [{ + readonly internalType: "uint8"; + readonly name: ""; + readonly type: "uint8"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "subtractedValue"; + readonly type: "uint256"; + }]; + readonly name: "decreaseAllowance"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "expiresAt"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "fakeTimestamp"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "governance"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "spender"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "addedValue"; + readonly type: "uint256"; + }]; + readonly name: "increaseAllowance"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "name"; + readonly outputs: readonly [{ + readonly internalType: "string"; + readonly name: ""; + readonly type: "string"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "redeem"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "rescueExpiredTokens"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: "addr"; + readonly type: "bytes32"; + }]; + readonly name: "resolve"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "_fakeTimestamp"; + readonly type: "uint256"; + }]; + readonly name: "setFakeTimestamp"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "symbol"; + readonly outputs: readonly [{ + readonly internalType: "string"; + readonly name: ""; + readonly type: "string"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "torn"; + readonly outputs: readonly [{ + readonly internalType: "contract IERC20"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "totalSupply"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "recipient"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "transfer"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "sender"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "recipient"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "transferFrom"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }]; + static createInterface(): VoucherMockInterface; + static connect(address: string, runner?: ContractRunner | null): VoucherMock; +} +export {}; diff --git a/dist/factories/contracts/Governance/TORN/mocks/index.d.ts b/dist/factories/contracts/Governance/TORN/mocks/index.d.ts new file mode 100644 index 0000000..60c3806 --- /dev/null +++ b/dist/factories/contracts/Governance/TORN/mocks/index.d.ts @@ -0,0 +1,6 @@ +export { AirdropMock__factory } from "./AirdropMock__factory"; +export { ENSMock__factory } from "./ENSMock__factory"; +export { TORNMock__factory } from "./TORNMock__factory"; +export { Timestamp__factory } from "./Timestamp__factory"; +export { VestingMock__factory } from "./VestingMock__factory"; +export { VoucherMock__factory } from "./VoucherMock__factory"; diff --git a/dist/factories/contracts/Governance/Testnet/TestnetAdminProxy__factory.d.ts b/dist/factories/contracts/Governance/Testnet/TestnetAdminProxy__factory.d.ts new file mode 100644 index 0000000..a671835 --- /dev/null +++ b/dist/factories/contracts/Governance/Testnet/TestnetAdminProxy__factory.d.ts @@ -0,0 +1,181 @@ +import { ContractFactory, ContractTransactionResponse } from "ethers"; +import type { Signer, BytesLike, AddressLike, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { PayableOverrides } from "../../../../common"; +import type { TestnetAdminProxy, TestnetAdminProxyInterface } from "../../../../contracts/Governance/Testnet/TestnetAdminProxy"; +type TestnetAdminProxyConstructorParams = [signer?: Signer] | ConstructorParameters; +export declare class TestnetAdminProxy__factory extends ContractFactory { + constructor(...args: TestnetAdminProxyConstructorParams); + getDeployTransaction(_logic: AddressLike, _admin: AddressLike, _data: BytesLike, overrides?: PayableOverrides & { + from?: string; + }): Promise; + deploy(_logic: AddressLike, _admin: AddressLike, _data: BytesLike, overrides?: PayableOverrides & { + from?: string; + }): Promise; + connect(runner: ContractRunner | null): TestnetAdminProxy__factory; + static readonly bytecode = "0x608060405260405162000e6738038062000e67833981810160405260608110156200002957600080fd5b815160208301516040808501805191519395929483019291846401000000008211156200005557600080fd5b9083019060208201858111156200006b57600080fd5b82516401000000008111828201881017156200008657600080fd5b82525081516020918201929091019080838360005b83811015620000b55781810151838201526020016200009b565b50505050905090810190601f168015620000e35780820380516001836020036101000a031916815260200191505b5060405250849150839050828282828281620000ff82620001f6565b805115620001bd576000826001600160a01b0316826040518082805190602001908083835b60208310620001455780518252601f19909201916020918201910162000124565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114620001a7576040519150601f19603f3d011682016040523d82523d6000602084013e620001ac565b606091505b5050905080620001bb57600080fd5b505b50620001c69050565b620001d1826200026d565b505050505050620001ed336200029160201b620008ab1760201c565b50505062000308565b6200020c81620002bd60201b620008d51760201c565b620002495760405162461bcd60e51b815260040180806020018281038252603681526020018062000e316036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b806200029c620002c3565b80546001600160a01b0319166001600160a01b039290921691909117905550565b3b151590565b604080517fb4d03667d60278cc15e9a68fa7679dc39ebe71350c4566a2c23c26580da4e0b3602080830191909152825180830382018152918301909252805191012090565b610b1980620003186000396000f3fe6080604052600436106100955760003560e01c80635c60da1b116100595780635c60da1b146102fe5780638f2839701461032f578063a18a186b14610362578063a6f9dae114610377578063f851a440146103aa576100a4565b806323711ab1146100ac57806323c735f1146101625780632e44e0e0146101955780633659cfe61461024b5780634f1ef2861461027e576100a4565b366100a4576100a26103bf565b005b6100a26103bf565b6100a2600480360360408110156100c257600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100ed57600080fd5b8201836020820111156100ff57600080fd5b8035906020019184600183028401116401000000008311171561012157600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506103d9945050505050565b34801561016e57600080fd5b506100a26004803603602081101561018557600080fd5b50356001600160a01b03166104e7565b6100a2600480360360408110156101ab57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156101d657600080fd5b8201836020820111156101e857600080fd5b8035906020019184600183028401116401000000008311171561020a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610546945050505050565b34801561025757600080fd5b506100a26004803603602081101561026e57600080fd5b50356001600160a01b031661063a565b6100a26004803603604081101561029457600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156102bf57600080fd5b8201836020820111156102d157600080fd5b803590602001918460018302840111640100000000831117156102f357600080fd5b509092509050610671565b34801561030a57600080fd5b5061031361071e565b604080516001600160a01b039092168252519081900360200190f35b34801561033b57600080fd5b506100a26004803603602081101561035257600080fd5b50356001600160a01b031661075b565b34801561036e57600080fd5b50610313610815565b34801561038357600080fd5b506100a26004803603602081101561039a57600080fd5b50356001600160a01b0316610824565b3480156103b657600080fd5b50610313610880565b6103c76103d7565b6103d76103d26108db565b610900565b565b336103e2610924565b6001600160a01b03161461042c576040805162461bcd60e51b815260206004820152600c60248201526b2737ba1030b71037bbb732b960a11b604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b6020831061046a5780518252601f19909201916020918201910161044b565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146104ca576040519150601f19603f3d011682016040523d82523d6000602084013e6104cf565b606091505b5091509150816104e157805181602001fd5b50505050565b336104f0610924565b6001600160a01b03161461053a576040805162461bcd60e51b815260206004820152600c60248201526b2737ba1030b71037bbb732b960a11b604482015290519081900360640190fd5b6105438161093d565b50565b3361054f610924565b6001600160a01b031614610599576040805162461bcd60e51b815260206004820152600c60248201526b2737ba1030b71037bbb732b960a11b604482015290519081900360640190fd5b60006060836001600160a01b031634846040518082805190602001908083835b602083106105d85780518252601f1990920191602091820191016105b9565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146104ca576040519150601f19603f3d011682016040523d82523d6000602084013e6104cf565b61064261097d565b6001600160a01b0316336001600160a01b03161415610669576106648161093d565b610543565b6105436103bf565b61067961097d565b6001600160a01b0316336001600160a01b031614156107115761069b8361093d565b6000836001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d80600081146106f8576040519150601f19603f3d011682016040523d82523d6000602084013e6106fd565b606091505b505090508061070b57600080fd5b50610719565b6107196103bf565b505050565b600061072861097d565b6001600160a01b0316336001600160a01b03161415610750576107496108db565b9050610758565b6107586103bf565b90565b61076361097d565b6001600160a01b0316336001600160a01b03161415610669576001600160a01b0381166107c15760405162461bcd60e51b815260040180806020018281038252603a815260200180610a74603a913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6107ea61097d565b604080516001600160a01b03928316815291841660208301528051918290030190a1610664816109a2565b600061081f610924565b905090565b3361082d610924565b6001600160a01b031614610877576040805162461bcd60e51b815260206004820152600c60248201526b2737ba1030b71037bbb732b960a11b604482015290519081900360640190fd5b610543816108ab565b600061088a61097d565b6001600160a01b0316336001600160a01b031614156107505761074961097d565b806108b46109c6565b80546001600160a01b0319166001600160a01b039290921691909117905550565b3b151590565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e80801561091f573d6000f35b3d6000fd5b600061092e6109c6565b546001600160a01b0316919050565b61094681610a0b565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b604080517fb4d03667d60278cc15e9a68fa7679dc39ebe71350c4566a2c23c26580da4e0b3602080830191909152825180830382018152918301909252805191012090565b610a14816108d5565b610a4f5760405162461bcd60e51b8152600401808060200182810382526036815260200180610aae6036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5556fe5472616e73706172656e745570677261646561626c6550726f78793a206e65772061646d696e20697320746865207a65726f20616464726573735570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374a264697066735822122001f07e10d1eeadbd61da070e50227b529a3ec4b8f2e780a0e6bc1dc6028ba95764736f6c634300060c00335570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374"; + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "_logic"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "_admin"; + readonly type: "address"; + }, { + readonly internalType: "bytes"; + readonly name: "_data"; + readonly type: "bytes"; + }]; + readonly stateMutability: "payable"; + readonly type: "constructor"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: false; + readonly internalType: "address"; + readonly name: "previousAdmin"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "address"; + readonly name: "newAdmin"; + readonly type: "address"; + }]; + readonly name: "AdminChanged"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "implementation"; + readonly type: "address"; + }]; + readonly name: "Upgraded"; + readonly type: "event"; + }, { + readonly stateMutability: "payable"; + readonly type: "fallback"; + }, { + readonly inputs: readonly []; + readonly name: "admin"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "target"; + readonly type: "address"; + }, { + readonly internalType: "bytes"; + readonly name: "data"; + readonly type: "bytes"; + }]; + readonly name: "callToOwner"; + readonly outputs: readonly []; + readonly stateMutability: "payable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "newAdmin"; + readonly type: "address"; + }]; + readonly name: "changeAdmin"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "newOwner"; + readonly type: "address"; + }]; + readonly name: "changeOwner"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "target"; + readonly type: "address"; + }, { + readonly internalType: "bytes"; + readonly name: "data"; + readonly type: "bytes"; + }]; + readonly name: "delegateToOwner"; + readonly outputs: readonly []; + readonly stateMutability: "payable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "getCurrentOwner"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "implementation"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "newImplementation"; + readonly type: "address"; + }]; + readonly name: "upgradeTo"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "newImplementation"; + readonly type: "address"; + }, { + readonly internalType: "bytes"; + readonly name: "data"; + readonly type: "bytes"; + }]; + readonly name: "upgradeToAndCall"; + readonly outputs: readonly []; + readonly stateMutability: "payable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "newImplementation"; + readonly type: "address"; + }]; + readonly name: "upgradeToOwner"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly stateMutability: "payable"; + readonly type: "receive"; + }]; + static createInterface(): TestnetAdminProxyInterface; + static connect(address: string, runner?: ContractRunner | null): TestnetAdminProxy; +} +export {}; diff --git a/dist/factories/contracts/Governance/Testnet/TestnetFeeManager__factory.d.ts b/dist/factories/contracts/Governance/Testnet/TestnetFeeManager__factory.d.ts new file mode 100644 index 0000000..9d92817 --- /dev/null +++ b/dist/factories/contracts/Governance/Testnet/TestnetFeeManager__factory.d.ts @@ -0,0 +1,296 @@ +import { ContractFactory, ContractTransactionResponse } from "ethers"; +import type { Signer, AddressLike, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../common"; +import type { TestnetFeeManager, TestnetFeeManagerInterface } from "../../../../contracts/Governance/Testnet/TestnetFeeManager"; +type TestnetFeeManagerConstructorParams = [signer?: Signer] | ConstructorParameters; +export declare class TestnetFeeManager__factory extends ContractFactory { + constructor(...args: TestnetFeeManagerConstructorParams); + getDeployTransaction(_torn: AddressLike, _governance: AddressLike, _registry: AddressLike, overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + deploy(_torn: AddressLike, _governance: AddressLike, _registry: AddressLike, overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + connect(runner: ContractRunner | null): TestnetFeeManager__factory; + static readonly bytecode = "0x60e06040523480156200001157600080fd5b5060405162001c9d38038062001c9d83398101604081905262000034916200005c565b6001600160601b0319606093841b811660805291831b821660a05290911b1660c052620000c8565b60008060006060848603121562000071578283fd5b83516200007e81620000af565b60208501519093506200009181620000af565b6040850151909250620000a481620000af565b809150509250925092565b6001600160a01b0381168114620000c557600080fd5b50565b60805160601c60a05160601c60c05160601c611b7c6200012160003980610350528061061452806108915280610a42525080610539528061064c528061072d528061082252508061059852806107ad5250611b7c6000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c806380eb7bf0116100ad578063bcc5ee6411610071578063bcc5ee641461024b578063c51c229714610253578063d8718fb114610266578063e1f121561461027b578063f522d6d61461028e5761012c565b806380eb7bf014610202578063a028752014610215578063adf898a414610228578063aeb3077a14610230578063b19a2972146102385761012c565b8063603a54fe116100f4578063603a54fe146101ac57806369574fef146101bf5780637b103999146101d25780637ccd2f48146101da57806380679eb3146101ef5761012c565b806305e34364146101315780632efbf3841461015a578063431f63c91461017a5780634bf0a5421461018f5780635aa6e675146101a4575b600080fd5b61014461013f36600461183e565b610296565b6040516101519190611aaa565b60405180910390f35b61016d61016836600461183e565b6102a8565b60405161015191906118cb565b61018d6101883660046115b1565b610305565b005b61019761034b565b6040516101519190611907565b61016d610537565b61016d6101ba36600461183e565b61055b565b6101446101cd366004611579565b610576565b61016d610612565b6101e2610636565b6040516101519190611a9a565b61018d6101fd36600461188e565b610641565b61018d61021036600461183e565b61069c565b61018d61022336600461185a565b610722565b61016d6107ab565b6101446107cf565b61018d6102463660046115dc565b6107d5565b6101e2610805565b61018d61026136600461185a565b610817565b61026e610874565b6040516101519190611ab3565b61016d61028936600461183e565b610887565b61018d610a3d565b60026020526000908152604090205481565b600080546001600160a01b038316825260026020526040822054600160381b90910462ffffff16429190910311156102e3576102e38261069c565b506001600160a01b03808216600090815260016020526040902054165b919050565b3361030e610ad7565b6001600160a01b03161461033d5760405162461bcd60e51b8152600401610334906119fc565b60405180910390fd5b6103478282610af0565b5050565b6060807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310c13ac36040518163ffffffff1660e01b815260040160006040518083038186803b1580156103a757600080fd5b505afa1580156103bb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103e39190810190611675565b9050805167ffffffffffffffff811180156103fd57600080fd5b5060405190808252806020026020018201604052801561043757816020015b6104246114b2565b81526020019060019003908161041c5790505b50915060005b815181101561053257600061046483838151811061045757fe5b6020026020010151610887565b6001600160a01b03169050600081156104e0576103e8826001600087878151811061048b57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060009054906101000a90046001600160a01b03166103e8026001600160a01b0316816104db57fe5b040390505b60405180604001604052808585815181106104f757fe5b60200260200101516001600160a01b031681526020018281525085848151811061051d57fe5b6020908102919091010152505060010161043d565b505090565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001602052600090815260409020546001600160a01b031681565b600061058183610b19565b610600576040805180820182526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811682528516602080830191909152825180840190935260005462ffffff80821685528616918401919091526105fb929063ffffffff630100000090910416610b44565b610609565b61060983610b19565b90505b92915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60005462ffffff1681565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461067657600080fd5b6000805463ffffffff90921663010000000266ffffffff00000019909216919091179055565b60006106a782610887565b6001600160a01b03838116600081815260016020908152604080832080546001600160a01b03191695871695909517909455600290528290204290559051919250907f6f0eaf2c2f89fb4cfe96a1dee5e764d60b52c7f48aaa590f0850e308aa1b953a906107169084906118cb565b60405180910390a25050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461075757600080fd5b6000805462ffffff191662ffffff83811691909117918290556040517fbfe65cfc2359076c4468c9b895156c309c78f94fb09f6d2fc0463c4ca9a71ac2926107a0921690611a9a565b60405180910390a150565b7f000000000000000000000000000000000000000000000000000000000000000081565b61271081565b60005b8151811015610347576107fd8282815181106107f057fe5b602002602001015161069c565b6001016107d8565b600054600160381b900462ffffff1681565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461084c57600080fd5b6000805462ffffff909216600160381b0269ffffff0000000000000019909216919091179055565b6000546301000000900463ffffffff1681565b60008060008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663032bb443876040518263ffffffff1660e01b81526004016108db91906118cb565b60a06040518083038186803b1580156108f357600080fd5b505afa158015610907573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092b91906117c3565b9450945050935093508063ffffffff1660001415610950576000945050505050610300565b6001600160a01b038316158015610965575083155b61096f5782610985565b73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25b925060006109938484610576565b9050610a32612710610a2c8463ffffffff16610a2685610a2c670de0b6b3a76400008e6001600160a01b0316638bca6d166040518163ffffffff1660e01b815260040160206040518083038186803b1580156109ee57600080fd5b505afa158015610a02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a269190611876565b90610b90565b90610bca565b979650505050505050565b610ad57f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310c13ac36040518163ffffffff1660e01b815260040160006040518083038186803b158015610a9957600080fd5b505afa158015610aad573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102469190810190611675565b565b6000610ae1610c0c565b546001600160a01b0316919050565b6000610afa610c61565b6001600160a01b03909316600090815260209390935250604090912055565b600080610b24610c61565b6001600160a01b0390931660009081526020939093525050604090205490565b60208084015190830151600091610b5b9184610c98565b84518451610b7e91670de0b6b3a764000091610b78919087610c98565b90610cc2565b81610b8557fe5b0490505b9392505050565b600082610b9f5750600061060c565b82820282848281610bac57fe5b04146106095760405162461bcd60e51b815260040161033490611a59565b600061060983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610ce6565b6000807fb4d03667d60278cc15e9a68fa7679dc39ebe71350c4566a2c23c26580da4e0b360001c604051602001610c439190611aaa565b60408051601f19818403018152919052805160209091012092915050565b6000807f6521c13ddfc30471ec629848a30b01f73c36737d417c11843e7a9afa6985e84860001c604051602001610c439190611aaa565b6000610cba8473c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28585610d1d565b949350505050565b6000821580610cdd57505081810281838281610cda57fe5b04145b61060c57600080fd5b60008183610d075760405162461bcd60e51b815260040161033491906119a9565b506000838581610d1357fe5b0495945050505050565b600080846001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610d5957600080fd5b505afa158015610d6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d9191906118aa565b60ff16600a0a90506001600160a01b038681169086161415610dbd576001600160801b03169050610cba565b604051630b4c774160e11b8152610e5e90610e5690731f98431c8ad98523631ae4a59f267346ea31f98490631698ee8290610e00908b908b908b906004016118df565b60206040518083038186803b158015610e1857600080fd5b505afa158015610e2c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e50919061155d565b85610e6f565b828888611004565b915050610cba565b50949350505050565b600063ffffffff8216610e945760405162461bcd60e51b815260040161033490611a22565b60408051600280825260608083018452926020830190803683370190505090508281600081518110610ec257fe5b602002602001019063ffffffff16908163ffffffff1681525050600081600181518110610eeb57fe5b63ffffffff9092166020928302919091019091015260405163883bdbfd60e01b81526060906001600160a01b0386169063883bdbfd90610f2f90859060040161195f565b60006040518083038186803b158015610f4757600080fd5b505afa158015610f5b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f839190810190611701565b509050600081600081518110610f9557fe5b602002602001015182600181518110610faa57fe5b60200260200101510390508463ffffffff168160060b81610fc757fe5b05935060008160060b128015610fee57508463ffffffff168160060b81610fea57fe5b0715155b15610ffb57600019909301925b50505092915050565b600080611010866110ee565b90506001600160801b036001600160a01b0382161161107f576001600160a01b038082168002908481169086161061105f5761105a600160c01b876001600160801b031683611407565b611077565b61107781876001600160801b0316600160c01b611407565b925050610e66565b600061109e6001600160a01b0383168068010000000000000000611407565b9050836001600160a01b0316856001600160a01b0316106110d6576110d1600160801b876001600160801b031683611407565b610a32565b610a3281876001600160801b0316600160801b611407565b60008060008360020b12611105578260020b61110d565b8260020b6000035b9050620d89e88111156111325760405162461bcd60e51b815260040161033490611a3e565b60006001821661114657600160801b611158565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff169050600282161561118c576ffff97272373d413259a46990580e213a0260801c5b60048216156111ab576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b60088216156111ca576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b60108216156111e9576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615611208576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615611227576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615611246576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615611266576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615611286576ff987a7253ac413176f2b074cf7815e540260801c5b6104008216156112a6576ff3392b0822b70005940c7a398e4b70f30260801c5b6108008216156112c6576fe7159475a2c29b7443b29c7fa6e889d90260801c5b6110008216156112e6576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615611306576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615611326576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615611346576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615611367576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b62020000821615611387576e5d6af8dedb81196699c329225ee6040260801c5b620400008216156113a6576d2216e584f5fa1ea926041bedfe980260801c5b620800008216156113c3576b048a170391f7dc42444e8fa20260801c5b60008460020b13156113de5780600019816113da57fe5b0490505b6401000000008106156113f25760016113f5565b60005b60ff16602082901c0192505050919050565b600080806000198587098686029250828110908390030390508061143d576000841161143257600080fd5b508290049050610b89565b80841161144957600080fd5b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b604080518082019091526000808252602082015290565b600082601f8301126114d9578081fd5b81516114ec6114e782611aeb565b611ac4565b81815291506020808301908481018184028601820187101561150d57600080fd5b60005b8481101561153557815161152381611b0b565b84529282019290820190600101611510565b505050505092915050565b805161060c81611b0b565b8051600681900b811461060c57600080fd5b60006020828403121561156e578081fd5b815161060981611b0b565b6000806040838503121561158b578081fd5b823561159681611b0b565b915060208301356115a681611b23565b809150509250929050565b600080604083850312156115c3578182fd5b82356115ce81611b0b565b946020939093013593505050565b600060208083850312156115ee578182fd5b823567ffffffffffffffff811115611604578283fd5b8301601f81018513611614578283fd5b80356116226114e782611aeb565b818152838101908385018584028501860189101561163e578687fd5b8694505b8385101561166957803561165581611b0b565b835260019490940193918501918501611642565b50979650505050505050565b60006020808385031215611687578182fd5b825167ffffffffffffffff81111561169d578283fd5b8301601f810185136116ad578283fd5b80516116bb6114e782611aeb565b81815283810190838501858402850186018910156116d7578687fd5b8694505b83851015611669576116ed8982611540565b8352600194909401939185019185016116db565b60008060408385031215611713578182fd5b825167ffffffffffffffff8082111561172a578384fd5b818501915085601f83011261173d578384fd5b815161174b6114e782611aeb565b80828252602080830192508086018a82838702890101111561176b578889fd5b8896505b84871015611795576117818b8261154b565b84526001969096019592810192810161176f565b5088015190965093505050808211156117ac578283fd5b506117b9858286016114c9565b9150509250929050565b600080600080600060a086880312156117da578081fd5b855180151581146117e9578182fd5b60208701519095506117fa81611b0b565b60408701519094506002811061180e578182fd5b606087015190935061181f81611b23565b608087015190925061183081611b34565b809150509295509295909350565b60006020828403121561184f578081fd5b813561060981611b0b565b60006020828403121561186b578081fd5b813561060981611b23565b600060208284031215611887578081fd5b5051919050565b60006020828403121561189f578081fd5b813561060981611b34565b6000602082840312156118bb578081fd5b815160ff81168114610609578182fd5b6001600160a01b0391909116815260200190565b6001600160a01b03938416815291909216602082015262ffffff909116604082015260600190565b602080825282518282018190526000919060409081850190868401855b8281101561195257815180516001600160a01b03168552860151868501529284019290850190600101611924565b5091979650505050505050565b6020808252825182820181905260009190848201906040850190845b8181101561199d57835163ffffffff168352928401929184019160010161197b565b50909695505050505050565b6000602080835283518082850152825b818110156119d5578581018301518582016040015282016119b9565b818111156119e65783604083870101525b50601f01601f1916929092016040019392505050565b6020808252600c908201526b2737ba1030b71037bbb732b960a11b604082015260600190565b602080825260029082015261042560f41b604082015260600190565b6020808252600190820152601560fa1b604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b62ffffff91909116815260200190565b90815260200190565b63ffffffff91909116815260200190565b60405181810167ffffffffffffffff81118282101715611ae357600080fd5b604052919050565b600067ffffffffffffffff821115611b01578081fd5b5060209081020190565b6001600160a01b0381168114611b2057600080fd5b50565b62ffffff81168114611b2057600080fd5b63ffffffff81168114611b2057600080fdfea2646970667358221220e716ce7751ca9331e897d31f3744c6916e2f742be6df42551b069b566751df4c64736f6c634300060c0033"; + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "_torn"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "_governance"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "_registry"; + readonly type: "address"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "constructor"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "instance"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "newFee"; + readonly type: "uint256"; + }]; + readonly name: "FeeUpdated"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: false; + readonly internalType: "uint24"; + readonly name: "newFee"; + readonly type: "uint24"; + }]; + readonly name: "UniswapTornPoolSwappingFeeChanged"; + readonly type: "event"; + }, { + readonly inputs: readonly []; + readonly name: "PROTOCOL_FEE_DIVIDER"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "contract ITornadoInstance"; + readonly name: "_instance"; + readonly type: "address"; + }]; + readonly name: "calculatePoolFee"; + readonly outputs: readonly [{ + readonly internalType: "uint160"; + readonly name: ""; + readonly type: "uint160"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "feeDeviations"; + readonly outputs: readonly [{ + readonly components: readonly [{ + readonly internalType: "address"; + readonly name: "instance"; + readonly type: "address"; + }, { + readonly internalType: "int256"; + readonly name: "deviation"; + readonly type: "int256"; + }]; + readonly internalType: "struct FeeManager.Deviation[]"; + readonly name: "results"; + readonly type: "tuple[]"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "_token"; + readonly type: "address"; + }, { + readonly internalType: "uint24"; + readonly name: "_uniswapPoolSwappingFee"; + readonly type: "uint24"; + }]; + readonly name: "getTokenPriceRatio"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "governance"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "contract ITornadoInstance"; + readonly name: ""; + readonly type: "address"; + }]; + readonly name: "instanceFee"; + readonly outputs: readonly [{ + readonly internalType: "uint160"; + readonly name: ""; + readonly type: "uint160"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "contract ITornadoInstance"; + readonly name: ""; + readonly type: "address"; + }]; + readonly name: "instanceFeeUpdated"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "contract ITornadoInstance"; + readonly name: "_instance"; + readonly type: "address"; + }]; + readonly name: "instanceFeeWithUpdate"; + readonly outputs: readonly [{ + readonly internalType: "uint160"; + readonly name: ""; + readonly type: "uint160"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "registry"; + readonly outputs: readonly [{ + readonly internalType: "contract InstanceRegistry"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint32"; + readonly name: "newPeriod"; + readonly type: "uint32"; + }]; + readonly name: "setPeriodForTWAPOracle"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "_token"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "_price"; + readonly type: "uint256"; + }]; + readonly name: "setTokenPrice"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint24"; + readonly name: "_uniswapTornPoolSwappingFee"; + readonly type: "uint24"; + }]; + readonly name: "setUniswapTornPoolSwappingFee"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint24"; + readonly name: "newLimit"; + readonly type: "uint24"; + }]; + readonly name: "setUpdateFeeTimeLimit"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "torn"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "uniswapTimePeriod"; + readonly outputs: readonly [{ + readonly internalType: "uint32"; + readonly name: ""; + readonly type: "uint32"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "uniswapTornPoolSwappingFee"; + readonly outputs: readonly [{ + readonly internalType: "uint24"; + readonly name: ""; + readonly type: "uint24"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "updateAllFees"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "contract ITornadoInstance"; + readonly name: "_instance"; + readonly type: "address"; + }]; + readonly name: "updateFee"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "updateFeeTimeLimit"; + readonly outputs: readonly [{ + readonly internalType: "uint24"; + readonly name: ""; + readonly type: "uint24"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "contract ITornadoInstance[]"; + readonly name: "_instances"; + readonly type: "address[]"; + }]; + readonly name: "updateFees"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }]; + static createInterface(): TestnetFeeManagerInterface; + static connect(address: string, runner?: ContractRunner | null): TestnetFeeManager; +} +export {}; diff --git a/dist/factories/contracts/Governance/Testnet/TestnetGovernanceProxy__factory.d.ts b/dist/factories/contracts/Governance/Testnet/TestnetGovernanceProxy__factory.d.ts new file mode 100644 index 0000000..cbf901d --- /dev/null +++ b/dist/factories/contracts/Governance/Testnet/TestnetGovernanceProxy__factory.d.ts @@ -0,0 +1,177 @@ +import { ContractFactory, ContractTransactionResponse } from "ethers"; +import type { Signer, BytesLike, AddressLike, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { PayableOverrides } from "../../../../common"; +import type { TestnetGovernanceProxy, TestnetGovernanceProxyInterface } from "../../../../contracts/Governance/Testnet/TestnetGovernanceProxy"; +type TestnetGovernanceProxyConstructorParams = [signer?: Signer] | ConstructorParameters; +export declare class TestnetGovernanceProxy__factory extends ContractFactory { + constructor(...args: TestnetGovernanceProxyConstructorParams); + getDeployTransaction(_logic: AddressLike, _data: BytesLike, overrides?: PayableOverrides & { + from?: string; + }): Promise; + deploy(_logic: AddressLike, _data: BytesLike, overrides?: PayableOverrides & { + from?: string; + }): Promise; + connect(runner: ContractRunner | null): TestnetGovernanceProxy__factory; + static readonly bytecode = "0x608060405260405162000e6038038062000e60833981810160405260408110156200002957600080fd5b8151602083018051604051929492938301929190846401000000008211156200005157600080fd5b9083019060208201858111156200006757600080fd5b82516401000000008111828201881017156200008257600080fd5b82525081516020918201929091019080838360005b83811015620000b157818101518382015260200162000097565b50505050905090810190601f168015620000df5780820380516001836020036101000a031916815260200191505b50604052508391508290508130828281620000fa82620001ef565b805115620001b8576000826001600160a01b0316826040518082805190602001908083835b60208310620001405780518252601f1990920191602091820191016200011f565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114620001a2576040519150601f19603f3d011682016040523d82523d6000602084013e620001a7565b606091505b5050905080620001b657600080fd5b505b50620001c19050565b620001cc8262000266565b5050505050620001e7336200028a60201b620008ab1760201c565b505062000301565b6200020581620002b660201b620008d51760201c565b620002425760405162461bcd60e51b815260040180806020018281038252603681526020018062000e2a6036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b8062000295620002bc565b80546001600160a01b0319166001600160a01b039290921691909117905550565b3b151590565b604080517fb4d03667d60278cc15e9a68fa7679dc39ebe71350c4566a2c23c26580da4e0b3602080830191909152825180830382018152918301909252805191012090565b610b1980620003116000396000f3fe6080604052600436106100955760003560e01c80635c60da1b116100595780635c60da1b146102fe5780638f2839701461032f578063a18a186b14610362578063a6f9dae114610377578063f851a440146103aa576100a4565b806323711ab1146100ac57806323c735f1146101625780632e44e0e0146101955780633659cfe61461024b5780634f1ef2861461027e576100a4565b366100a4576100a26103bf565b005b6100a26103bf565b6100a2600480360360408110156100c257600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100ed57600080fd5b8201836020820111156100ff57600080fd5b8035906020019184600183028401116401000000008311171561012157600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506103d9945050505050565b34801561016e57600080fd5b506100a26004803603602081101561018557600080fd5b50356001600160a01b03166104e7565b6100a2600480360360408110156101ab57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156101d657600080fd5b8201836020820111156101e857600080fd5b8035906020019184600183028401116401000000008311171561020a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610546945050505050565b34801561025757600080fd5b506100a26004803603602081101561026e57600080fd5b50356001600160a01b031661063a565b6100a26004803603604081101561029457600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156102bf57600080fd5b8201836020820111156102d157600080fd5b803590602001918460018302840111640100000000831117156102f357600080fd5b509092509050610671565b34801561030a57600080fd5b5061031361071e565b604080516001600160a01b039092168252519081900360200190f35b34801561033b57600080fd5b506100a26004803603602081101561035257600080fd5b50356001600160a01b031661075b565b34801561036e57600080fd5b50610313610815565b34801561038357600080fd5b506100a26004803603602081101561039a57600080fd5b50356001600160a01b0316610824565b3480156103b657600080fd5b50610313610880565b6103c76103d7565b6103d76103d26108db565b610900565b565b336103e2610924565b6001600160a01b03161461042c576040805162461bcd60e51b815260206004820152600c60248201526b2737ba1030b71037bbb732b960a11b604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b6020831061046a5780518252601f19909201916020918201910161044b565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146104ca576040519150601f19603f3d011682016040523d82523d6000602084013e6104cf565b606091505b5091509150816104e157805181602001fd5b50505050565b336104f0610924565b6001600160a01b03161461053a576040805162461bcd60e51b815260206004820152600c60248201526b2737ba1030b71037bbb732b960a11b604482015290519081900360640190fd5b6105438161093d565b50565b3361054f610924565b6001600160a01b031614610599576040805162461bcd60e51b815260206004820152600c60248201526b2737ba1030b71037bbb732b960a11b604482015290519081900360640190fd5b60006060836001600160a01b031634846040518082805190602001908083835b602083106105d85780518252601f1990920191602091820191016105b9565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146104ca576040519150601f19603f3d011682016040523d82523d6000602084013e6104cf565b61064261097d565b6001600160a01b0316336001600160a01b03161415610669576106648161093d565b610543565b6105436103bf565b61067961097d565b6001600160a01b0316336001600160a01b031614156107115761069b8361093d565b6000836001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d80600081146106f8576040519150601f19603f3d011682016040523d82523d6000602084013e6106fd565b606091505b505090508061070b57600080fd5b50610719565b6107196103bf565b505050565b600061072861097d565b6001600160a01b0316336001600160a01b03161415610750576107496108db565b9050610758565b6107586103bf565b90565b61076361097d565b6001600160a01b0316336001600160a01b03161415610669576001600160a01b0381166107c15760405162461bcd60e51b815260040180806020018281038252603a815260200180610a74603a913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6107ea61097d565b604080516001600160a01b03928316815291841660208301528051918290030190a1610664816109a2565b600061081f610924565b905090565b3361082d610924565b6001600160a01b031614610877576040805162461bcd60e51b815260206004820152600c60248201526b2737ba1030b71037bbb732b960a11b604482015290519081900360640190fd5b610543816108ab565b600061088a61097d565b6001600160a01b0316336001600160a01b031614156107505761074961097d565b806108b46109c6565b80546001600160a01b0319166001600160a01b039290921691909117905550565b3b151590565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e80801561091f573d6000f35b3d6000fd5b600061092e6109c6565b546001600160a01b0316919050565b61094681610a0b565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b604080517fb4d03667d60278cc15e9a68fa7679dc39ebe71350c4566a2c23c26580da4e0b3602080830191909152825180830382018152918301909252805191012090565b610a14816108d5565b610a4f5760405162461bcd60e51b8152600401808060200182810382526036815260200180610aae6036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5556fe5472616e73706172656e745570677261646561626c6550726f78793a206e65772061646d696e20697320746865207a65726f20616464726573735570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374a2646970667358221220486b8f46c84e133fdcdf09d6e85ae28603a923477471dc965d4d7f5f3634234c64736f6c634300060c00335570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374"; + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "_logic"; + readonly type: "address"; + }, { + readonly internalType: "bytes"; + readonly name: "_data"; + readonly type: "bytes"; + }]; + readonly stateMutability: "payable"; + readonly type: "constructor"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: false; + readonly internalType: "address"; + readonly name: "previousAdmin"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "address"; + readonly name: "newAdmin"; + readonly type: "address"; + }]; + readonly name: "AdminChanged"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "implementation"; + readonly type: "address"; + }]; + readonly name: "Upgraded"; + readonly type: "event"; + }, { + readonly stateMutability: "payable"; + readonly type: "fallback"; + }, { + readonly inputs: readonly []; + readonly name: "admin"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "target"; + readonly type: "address"; + }, { + readonly internalType: "bytes"; + readonly name: "data"; + readonly type: "bytes"; + }]; + readonly name: "callToOwner"; + readonly outputs: readonly []; + readonly stateMutability: "payable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "newAdmin"; + readonly type: "address"; + }]; + readonly name: "changeAdmin"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "newOwner"; + readonly type: "address"; + }]; + readonly name: "changeOwner"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "target"; + readonly type: "address"; + }, { + readonly internalType: "bytes"; + readonly name: "data"; + readonly type: "bytes"; + }]; + readonly name: "delegateToOwner"; + readonly outputs: readonly []; + readonly stateMutability: "payable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "getCurrentOwner"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "implementation"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "newImplementation"; + readonly type: "address"; + }]; + readonly name: "upgradeTo"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "newImplementation"; + readonly type: "address"; + }, { + readonly internalType: "bytes"; + readonly name: "data"; + readonly type: "bytes"; + }]; + readonly name: "upgradeToAndCall"; + readonly outputs: readonly []; + readonly stateMutability: "payable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "newImplementation"; + readonly type: "address"; + }]; + readonly name: "upgradeToOwner"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly stateMutability: "payable"; + readonly type: "receive"; + }]; + static createInterface(): TestnetGovernanceProxyInterface; + static connect(address: string, runner?: ContractRunner | null): TestnetGovernanceProxy; +} +export {}; diff --git a/dist/factories/contracts/Governance/Testnet/index.d.ts b/dist/factories/contracts/Governance/Testnet/index.d.ts new file mode 100644 index 0000000..d20494a --- /dev/null +++ b/dist/factories/contracts/Governance/Testnet/index.d.ts @@ -0,0 +1,3 @@ +export { TestnetAdminProxy__factory } from "./TestnetAdminProxy__factory"; +export { TestnetFeeManager__factory } from "./TestnetFeeManager__factory"; +export { TestnetGovernanceProxy__factory } from "./TestnetGovernanceProxy__factory"; diff --git a/dist/factories/contracts/Governance/TornadoRouter__factory.d.ts b/dist/factories/contracts/Governance/TornadoRouter__factory.d.ts new file mode 100644 index 0000000..535fc8f --- /dev/null +++ b/dist/factories/contracts/Governance/TornadoRouter__factory.d.ts @@ -0,0 +1,185 @@ +import { ContractFactory, ContractTransactionResponse } from "ethers"; +import type { Signer, AddressLike, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../common"; +import type { TornadoRouter, TornadoRouterInterface } from "../../../contracts/Governance/TornadoRouter"; +type TornadoRouterConstructorParams = [signer?: Signer] | ConstructorParameters; +export declare class TornadoRouter__factory extends ContractFactory { + constructor(...args: TornadoRouterConstructorParams); + getDeployTransaction(_governance: AddressLike, _instanceRegistry: AddressLike, _relayerRegistry: AddressLike, overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + deploy(_governance: AddressLike, _instanceRegistry: AddressLike, _relayerRegistry: AddressLike, overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + connect(runner: ContractRunner | null): TornadoRouter__factory; + static readonly bytecode = "0x60e060405234801561001057600080fd5b5060405161128438038061128483398101604081905261002f91610056565b6001600160601b0319606093841b811660805291831b821660a05290911b1660c0526100ba565b60008060006060848603121561006a578283fd5b8351610075816100a2565b6020850151909350610086816100a2565b6040850151909250610097816100a2565b809150509250925092565b6001600160a01b03811681146100b757600080fd5b50565b60805160601c60a05160601c60c05160601c61117c610108600039806103ff528061059e525080610164528061037a52806103a752806104c8525080610423528061068e525061117c6000f3fe60806040526004361061007b5760003560e01c80635aa6e6751161004e5780635aa6e675146100f55780636485ba2a1461010a578063b438689f1461012a578063cea9d26f1461013d5761007b565b806313d98d131461008057806336a3874b146100955780633ef10783146100c057806347ff589d146100e0575b600080fd5b61009361008e366004610c77565b61015d565b005b3480156100a157600080fd5b506100aa610378565b6040516100b79190610dd0565b60405180910390f35b3480156100cc57600080fd5b506100936100db366004610c37565b61039c565b3480156100ec57600080fd5b506100aa6103fd565b34801561010157600080fd5b506100aa610421565b34801561011657600080fd5b50610093610125366004610b26565b610445565b610093610138366004610cd1565b6104ae565b34801561014957600080fd5b50610093610158366004610c37565b610683565b60008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663032bb443886040518263ffffffff1660e01b81526004016101ae9190610dd0565b60a06040518083038186803b1580156101c657600080fd5b505afa1580156101da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101fe9190610bb1565b5092955090935091506000905081600181111561021757fe5b141561023e5760405162461bcd60e51b815260040161023590610f00565b60405180910390fd5b82156102cc576102cc3330896001600160a01b0316638bca6d166040518163ffffffff1660e01b815260040160206040518083038186803b15801561028257600080fd5b505afa158015610296573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102ba9190610d72565b6001600160a01b038616929190610817565b60405163b214faa560e01b81526001600160a01b0388169063b214faa59034906102fa908a90600401610e5e565b6000604051808303818588803b15801561031357600080fd5b505af1158015610327573d6000803e3d6000fd5b5050505050336001600160a01b03167ffa28df43db3553771f7209dcef046f3bdfea15870ab625dcda30ac58b82b40088686604051610367929190610e67565b60405180910390a250505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103e45760405162461bcd60e51b815260040161023590611087565b6103f86001600160a01b0384168383610875565b505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b60005b818110156103f857337ffa28df43db3553771f7209dcef046f3bdfea15870ab625dcda30ac58b82b400884848481811061047e57fe5b905060200281019061049091906110af565b60405161049e929190610e67565b60405180910390a2600101610448565b60405163032bb44360e01b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063032bb443906104fd908d90600401610dd0565b60a06040518083038186803b15801561051557600080fd5b505afa158015610529573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054d9190610bb1565b509093506000925061055d915050565b81600181111561056957fe5b14156105875760405162461bcd60e51b815260040161023590610f00565b604051631168473b60e21b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906345a11cec906105d790339088908f90600401610de4565b600060405180830381600087803b1580156105f157600080fd5b505af1158015610605573d6000803e3d6000fd5b50506040516310d056db60e11b81526001600160a01b038d1692506321a0adb691503490610645908d908d908d908d908d908d908d908d90600401610e7b565b6000604051808303818588803b15801561065e57600080fd5b505af1158015610672573d6000803e3d6000fd5b505050505050505050505050505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106cb5760405162461bcd60e51b815260040161023590611087565b6001600160a01b0382166106f15760405162461bcd60e51b815260040161023590610f6e565b6001600160a01b03831661074d5747600061070c8284610938565b6040519091506001600160a01b0385169082156108fc029083906000818181858888f19350505050158015610745573d6000803e3d6000fd5b5050506103f8565b6040516370a0823160e01b81526000906001600160a01b038516906370a082319061077c903090600401610dd0565b60206040518083038186803b15801561079457600080fd5b505afa1580156107a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107cc9190610d72565b905060006107da8284610938565b9050600081116107fc5760405162461bcd60e51b815260040161023590610ffa565b6108106001600160a01b0386168583610950565b5050505050565b61086f846323b872dd60e01b85858560405160240161083893929190610e21565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261096f565b50505050565b8015806108fd5750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e906108ab9030908690600401610e07565b60206040518083038186803b1580156108c357600080fd5b505afa1580156108d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108fb9190610d72565b155b6109195760405162461bcd60e51b815260040161023590611031565b6103f88363095ea7b360e01b8484604051602401610838929190610e45565b60008183106109475781610949565b825b9392505050565b6103f88363a9059cbb60e01b8484604051602401610838929190610e45565b60606109c4826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166109fe9092919063ffffffff16565b8051909150156103f857808060200190518101906109e29190610b95565b6103f85760405162461bcd60e51b815260040161023590610fb0565b6060610a0d8484600085610a15565b949350505050565b6060610a2085610ad9565b610a3c5760405162461bcd60e51b815260040161023590610f37565b60006060866001600160a01b03168587604051610a599190610db4565b60006040518083038185875af1925050503d8060008114610a96576040519150601f19603f3d011682016040523d82523d6000602084013e610a9b565b606091505b50915091508115610aaf579150610a0d9050565b805115610abf5780518082602001fd5b8360405162461bcd60e51b81526004016102359190610ecd565b3b151590565b60008083601f840112610af0578182fd5b50813567ffffffffffffffff811115610b07578182fd5b602083019150836020828501011115610b1f57600080fd5b9250929050565b60008060208385031215610b38578182fd5b823567ffffffffffffffff80821115610b4f578384fd5b818501915085601f830112610b62578384fd5b813581811115610b70578485fd5b8660208083028501011115610b83578485fd5b60209290920196919550909350505050565b600060208284031215610ba6578081fd5b815161094981611138565b600080600080600060a08688031215610bc8578081fd5b8551610bd381611138565b6020870151909550610be481611120565b604087015190945060028110610bf8578182fd5b606087015190935062ffffff81168114610c10578182fd5b608087015190925063ffffffff81168114610c29578182fd5b809150509295509295909350565b600080600060608486031215610c4b578283fd5b8335610c5681611120565b92506020840135610c6681611120565b929592945050506040919091013590565b60008060008060608587031215610c8c578384fd5b8435610c9781611120565b935060208501359250604085013567ffffffffffffffff811115610cb9578283fd5b610cc587828801610adf565b95989497509550505050565b60008060008060008060008060006101008a8c031215610cef578384fd5b8935610cfa81611120565b985060208a013567ffffffffffffffff811115610d15578485fd5b610d218c828d01610adf565b90995097505060408a0135955060608a0135945060808a0135610d4381611120565b935060a08a0135610d5381611120565b8093505060c08a0135915060e08a013590509295985092959850929598565b600060208284031215610d83578081fd5b5051919050565b60008284528282602086013780602084860101526020601f19601f85011685010190509392505050565b60008251610dc68184602087016110f4565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0393841681529183166020830152909116604082015260600190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03929092168252602082015260400190565b90815260200190565b600060208252610a0d602083018486610d8a565b600060e08252610e8f60e083018a8c610d8a565b60208301989098525060408101959095526001600160a01b03938416606086015291909216608084015260a083019190915260c09091015292915050565b6000602082528251806020840152610eec8160408501602087016110f4565b601f01601f19169190910160400192915050565b6020808252601d908201527f54686520696e7374616e6365206973206e6f7420737570706f72746564000000604082015260600190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b60208082526022908201527f544f524e3a2063616e206e6f742073656e6420746f207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b6020808252601e908201527f544f524e3a20747279696e6720746f2073656e6420302062616c616e63650000604082015260600190565b60208082526036908201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60408201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b606082015260800190565b6020808252600e908201526d139bdd08185d5d1a1bdc9a5e995960921b604082015260600190565b6000808335601e198436030181126110c5578283fd5b83018035915067ffffffffffffffff8211156110df578283fd5b602001915036819003821315610b1f57600080fd5b60005b8381101561110f5781810151838201526020016110f7565b8381111561086f5750506000910152565b6001600160a01b038116811461113557600080fd5b50565b801515811461113557600080fdfea26469706673582212209d7fe04aba36de62ec470c0d6176fa1eec04a15a73bce5d2370ff3ab967e9c2564736f6c634300060c0033"; + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "_governance"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "_instanceRegistry"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "_relayerRegistry"; + readonly type: "address"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "constructor"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "sender"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "bytes"; + readonly name: "encryptedNote"; + readonly type: "bytes"; + }]; + readonly name: "EncryptedNote"; + readonly type: "event"; + }, { + readonly inputs: readonly [{ + readonly internalType: "contract IERC20"; + readonly name: "_token"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "_spender"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "_amount"; + readonly type: "uint256"; + }]; + readonly name: "approveExactToken"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes[]"; + readonly name: "_encryptedNotes"; + readonly type: "bytes[]"; + }]; + readonly name: "backupNotes"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "contract ITornadoInstance"; + readonly name: "_tornado"; + readonly type: "address"; + }, { + readonly internalType: "bytes32"; + readonly name: "_commitment"; + readonly type: "bytes32"; + }, { + readonly internalType: "bytes"; + readonly name: "_encryptedNote"; + readonly type: "bytes"; + }]; + readonly name: "deposit"; + readonly outputs: readonly []; + readonly stateMutability: "payable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "governance"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "instanceRegistry"; + readonly outputs: readonly [{ + readonly internalType: "contract InstanceRegistry"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "relayerRegistry"; + readonly outputs: readonly [{ + readonly internalType: "contract RelayerRegistry"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "contract IERC20"; + readonly name: "_token"; + readonly type: "address"; + }, { + readonly internalType: "address payable"; + readonly name: "_to"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "_amount"; + readonly type: "uint256"; + }]; + readonly name: "rescueTokens"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "contract ITornadoInstance"; + readonly name: "_tornado"; + readonly type: "address"; + }, { + readonly internalType: "bytes"; + readonly name: "_proof"; + readonly type: "bytes"; + }, { + readonly internalType: "bytes32"; + readonly name: "_root"; + readonly type: "bytes32"; + }, { + readonly internalType: "bytes32"; + readonly name: "_nullifierHash"; + readonly type: "bytes32"; + }, { + readonly internalType: "address payable"; + readonly name: "_recipient"; + readonly type: "address"; + }, { + readonly internalType: "address payable"; + readonly name: "_relayer"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "_fee"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "_refund"; + readonly type: "uint256"; + }]; + readonly name: "withdraw"; + readonly outputs: readonly []; + readonly stateMutability: "payable"; + readonly type: "function"; + }]; + static createInterface(): TornadoRouterInterface; + static connect(address: string, runner?: ContractRunner | null): TornadoRouter; +} +export {}; diff --git a/dist/factories/contracts/Governance/TornadoStakingRewards.sol/ITornadoGovernance__factory.d.ts b/dist/factories/contracts/Governance/TornadoStakingRewards.sol/ITornadoGovernance__factory.d.ts new file mode 100644 index 0000000..1b2cef1 --- /dev/null +++ b/dist/factories/contracts/Governance/TornadoStakingRewards.sol/ITornadoGovernance__factory.d.ts @@ -0,0 +1,31 @@ +import { type ContractRunner } from "ethers"; +import type { ITornadoGovernance, ITornadoGovernanceInterface } from "../../../../contracts/Governance/TornadoStakingRewards.sol/ITornadoGovernance"; +export declare class ITornadoGovernance__factory { + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "account"; + readonly type: "address"; + }]; + readonly name: "lockedBalance"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "userVault"; + readonly outputs: readonly [{ + readonly internalType: "contract ITornadoVault"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }]; + static createInterface(): ITornadoGovernanceInterface; + static connect(address: string, runner?: ContractRunner | null): ITornadoGovernance; +} diff --git a/dist/factories/contracts/Governance/TornadoStakingRewards.sol/ITornadoVault__factory.d.ts b/dist/factories/contracts/Governance/TornadoStakingRewards.sol/ITornadoVault__factory.d.ts new file mode 100644 index 0000000..d8d40f9 --- /dev/null +++ b/dist/factories/contracts/Governance/TornadoStakingRewards.sol/ITornadoVault__factory.d.ts @@ -0,0 +1,21 @@ +import { type ContractRunner } from "ethers"; +import type { ITornadoVault, ITornadoVaultInterface } from "../../../../contracts/Governance/TornadoStakingRewards.sol/ITornadoVault"; +export declare class ITornadoVault__factory { + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "recipient"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "withdrawTorn"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }]; + static createInterface(): ITornadoVaultInterface; + static connect(address: string, runner?: ContractRunner | null): ITornadoVault; +} diff --git a/dist/factories/contracts/Governance/TornadoStakingRewards.sol/TornadoStakingRewards__factory.d.ts b/dist/factories/contracts/Governance/TornadoStakingRewards.sol/TornadoStakingRewards__factory.d.ts new file mode 100644 index 0000000..7e65ac4 --- /dev/null +++ b/dist/factories/contracts/Governance/TornadoStakingRewards.sol/TornadoStakingRewards__factory.d.ts @@ -0,0 +1,200 @@ +import { ContractFactory, ContractTransactionResponse } from "ethers"; +import type { Signer, AddressLike, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../common"; +import type { TornadoStakingRewards, TornadoStakingRewardsInterface } from "../../../../contracts/Governance/TornadoStakingRewards.sol/TornadoStakingRewards"; +type TornadoStakingRewardsConstructorParams = [signer?: Signer] | ConstructorParameters; +export declare class TornadoStakingRewards__factory extends ContractFactory { + constructor(...args: TornadoStakingRewardsConstructorParams); + getDeployTransaction(governanceAddress: AddressLike, tornAddress: AddressLike, _relayerRegistry: AddressLike, overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + deploy(governanceAddress: AddressLike, tornAddress: AddressLike, _relayerRegistry: AddressLike, overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + connect(runner: ContractRunner | null): TornadoStakingRewards__factory; + static readonly bytecode = "0x6101006040523480156200001257600080fd5b506040516200114d3803806200114d8339810160408190526200003591620000e0565b6001600160601b0319606084811b821660a05283811b821660c05282901b1660e052604080516318160ddd60e01b815290516001600160a01b038416916318160ddd916004808301926020929190829003018186803b1580156200009857600080fd5b505afa158015620000ad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000d3919062000133565b6080525062000165915050565b600080600060608486031215620000f5578283fd5b835162000102816200014c565b602085015190935062000115816200014c565b604085015190925062000128816200014c565b809150509250925092565b60006020828403121562000145578081fd5b5051919050565b6001600160a01b03811681146200016257600080fd5b50565b60805160a05160601c60c05160601c60e05160601c610f5e620001ef600039806101bd52806104c852508061020c5280610453528061054652806107b0528061084552508061018b528061023b528061037d5280610522528061056d52806106b75280610752528061086752508061033c52806104fe528061063152806109635250610f5e6000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c8063adf898a411610071578063adf898a414610124578063c3c90e641461012c578063d7ada20d1461013f578063e0d3265214610152578063e113335f1461015a578063f58073b11461016d576100b4565b8063338610af146100b95780633d18b912146100ce57806347ff589d146100d657806373f273fc146100f457806380a1204114610114578063945391121461011c575b600080fd5b6100cc6100c7366004610ce6565b610180565b005b6100cc610375565b6100de6104c6565b6040516100eb9190610d32565b60405180910390f35b610107610102366004610c63565b6104ea565b6040516100eb9190610eda565b6101076104fc565b6100de610520565b6100de610544565b61010761013a366004610c63565b610568565b61010761014d366004610c63565b610694565b6101076106a6565b6100cc610168366004610c7f565b6106ac565b6100cc61017b366004610ce6565b610747565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806101df5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6102045760405162461bcd60e51b81526004016101fb90610e33565b60405180910390fd5b61036f6103667f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a082317f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639daafec76040518163ffffffff1660e01b815260040160206040518083038186803b15801561029257600080fd5b505afa1580156102a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102ca9190610cca565b6040518263ffffffff1660e01b81526004016102e69190610d32565b60206040518083038186803b1580156102fe57600080fd5b505afa158015610312573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103369190610cfe565b610360847f000000000000000000000000000000000000000000000000000000000000000061088f565b906108d2565b60015490610914565b60015550565b600061041c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639ae697bf336040518263ffffffff1660e01b81526004016103c79190610d32565b60206040518083038186803b1580156103df57600080fd5b505afa1580156103f3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104179190610cfe565b610939565b3360009081526003602052604090205490915061043a908290610914565b33600081815260036020526040812055909150610482907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690836109f3565b336001600160a01b03167ffc30cddea38e2bf4d6ea7d3f9ed3b6ad7f176419f4963bd81318067a4aee73fe826040516104bb9190610eda565b60405180910390a250565b7f000000000000000000000000000000000000000000000000000000000000000081565b60036020526000908152604090205481565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639ae697bf846040518263ffffffff1660e01b81526004016105b79190610d32565b60206040518083038186803b1580156105cf57600080fd5b505afa1580156105e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106079190610cfe565b90508015610669576001600160a01b038316600090815260026020526040902054600154610666917f00000000000000000000000000000000000000000000000000000000000000009161036091859161066091610a4e565b9061088f565b91505b6001600160a01b03831660009081526003602052604090205461068d908390610914565b9392505050565b60026020526000908152604090205481565b60015481565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106f45760405162461bcd60e51b81526004016101fb90610dc9565b60006107008383610939565b6001600160a01b0384166000908152600360205260409020549091506107269082610914565b6001600160a01b039093166000908152600360205260409020929092555050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461078f5760405162461bcd60e51b81526004016101fb90610dc9565b600019811415610838576040516370a0823160e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a08231906107e5903090600401610d32565b60206040518083038186803b1580156107fd57600080fd5b505afa158015610811573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108359190610cfe565b90505b61088c6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f0000000000000000000000000000000000000000000000000000000000000000836109f3565b50565b60008261089e575060006108cc565b828202828482816108ab57fe5b04146108c95760405162461bcd60e51b81526004016101fb90610df2565b90505b92915050565b60006108c983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610a90565b6000828201838110156108c95760405162461bcd60e51b81526004016101fb90610d92565b60008115610995576001600160a01b038316600090815260026020526040902054600154610992917f00000000000000000000000000000000000000000000000000000000000000009161036091869161066091610a4e565b90505b6001546001600160a01b038416600081815260026020526040908190209290925590517f39fe62076cf7adf3c60e355a2da5a4f17a958ca319e8eba385a6c09a8b649016906109e5908490610eda565b60405180910390a292915050565b610a498363a9059cbb60e01b8484604051602401610a12929190610d46565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610ac7565b505050565b60006108c983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610b56565b60008183610ab15760405162461bcd60e51b81526004016101fb9190610d5f565b506000838581610abd57fe5b0495945050505050565b6060610b1c826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610b829092919063ffffffff16565b805190915015610a495780806020019051810190610b3a9190610caa565b610a495760405162461bcd60e51b81526004016101fb90610e90565b60008184841115610b7a5760405162461bcd60e51b81526004016101fb9190610d5f565b505050900390565b6060610b918484600085610b99565b949350505050565b6060610ba485610c5d565b610bc05760405162461bcd60e51b81526004016101fb90610e59565b60006060866001600160a01b03168587604051610bdd9190610d16565b60006040518083038185875af1925050503d8060008114610c1a576040519150601f19603f3d011682016040523d82523d6000602084013e610c1f565b606091505b50915091508115610c33579150610b919050565b805115610c435780518082602001fd5b8360405162461bcd60e51b81526004016101fb9190610d5f565b3b151590565b600060208284031215610c74578081fd5b81356108c981610f13565b60008060408385031215610c91578081fd5b8235610c9c81610f13565b946020939093013593505050565b600060208284031215610cbb578081fd5b815180151581146108c9578182fd5b600060208284031215610cdb578081fd5b81516108c981610f13565b600060208284031215610cf7578081fd5b5035919050565b600060208284031215610d0f578081fd5b5051919050565b60008251610d28818460208701610ee3565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6000602082528251806020840152610d7e816040850160208701610ee3565b601f01601f19169190910160400192915050565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252600f908201526e6f6e6c7920676f7665726e616e636560881b604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252600c908201526b1d5b985d5d1a1bdc9a5e995960a21b604082015260600190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b90815260200190565b60005b83811015610efe578181015183820152602001610ee6565b83811115610f0d576000848401525b50505050565b6001600160a01b038116811461088c57600080fdfea26469706673582212205243f8df41704c99bb0876cbda927f702de9dce11a8394f252f0e4abd7d2778364736f6c634300060c0033"; + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "governanceAddress"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "tornAddress"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "_relayerRegistry"; + readonly type: "address"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "constructor"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "account"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "rewardsClaimed"; + readonly type: "uint256"; + }]; + readonly name: "RewardsClaimed"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "account"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "rewards"; + readonly type: "uint256"; + }]; + readonly name: "RewardsUpdated"; + readonly type: "event"; + }, { + readonly inputs: readonly []; + readonly name: "Governance"; + readonly outputs: readonly [{ + readonly internalType: "contract ITornadoGovernance"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "accumulatedRewardPerTorn"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly name: "accumulatedRewardRateOnLastUpdate"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly name: "accumulatedRewards"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "addBurnRewards"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "account"; + readonly type: "address"; + }]; + readonly name: "checkReward"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "rewards"; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "getReward"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "ratioConstant"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "relayerRegistry"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "torn"; + readonly outputs: readonly [{ + readonly internalType: "contract IERC20"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "account"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "amountLockedBeforehand"; + readonly type: "uint256"; + }]; + readonly name: "updateRewardsOnLockedBalanceChange"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "withdrawTorn"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }]; + static createInterface(): TornadoStakingRewardsInterface; + static connect(address: string, runner?: ContractRunner | null): TornadoStakingRewards; +} +export {}; diff --git a/dist/factories/contracts/Governance/TornadoStakingRewards.sol/index.d.ts b/dist/factories/contracts/Governance/TornadoStakingRewards.sol/index.d.ts new file mode 100644 index 0000000..9a9b55b --- /dev/null +++ b/dist/factories/contracts/Governance/TornadoStakingRewards.sol/index.d.ts @@ -0,0 +1,3 @@ +export { ITornadoGovernance__factory } from "./ITornadoGovernance__factory"; +export { ITornadoVault__factory } from "./ITornadoVault__factory"; +export { TornadoStakingRewards__factory } from "./TornadoStakingRewards__factory"; diff --git a/dist/factories/contracts/Governance/TornadoVault__factory.d.ts b/dist/factories/contracts/Governance/TornadoVault__factory.d.ts new file mode 100644 index 0000000..3b3731c --- /dev/null +++ b/dist/factories/contracts/Governance/TornadoVault__factory.d.ts @@ -0,0 +1,48 @@ +import { ContractFactory, ContractTransactionResponse } from "ethers"; +import type { Signer, AddressLike, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../common"; +import type { TornadoVault, TornadoVaultInterface } from "../../../contracts/Governance/TornadoVault"; +type TornadoVaultConstructorParams = [signer?: Signer] | ConstructorParameters; +export declare class TornadoVault__factory extends ContractFactory { + constructor(...args: TornadoVaultConstructorParams); + getDeployTransaction(_torn: AddressLike, _governance: AddressLike, overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + deploy(_torn: AddressLike, _governance: AddressLike, overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + connect(runner: ContractRunner | null): TornadoVault__factory; + static readonly bytecode = "0x60c060405234801561001057600080fd5b506040516104aa3803806104aa8339818101604052604081101561003357600080fd5b5080516020909101516001600160601b0319606092831b8116608052911b1660a05260805160601c60a05160601c61042e61007c60003980606952508060d3525061042e6000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c806391fe357314610030575b600080fd5b61005c6004803603604081101561004657600080fd5b506001600160a01b03813516906020013561005e565b005b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146100c6576040805162461bcd60e51b815260206004820152600860248201526737b7363c9033b7bb60c11b604482015290519081900360640190fd5b6100fa6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001683836100fe565b5050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610150908490610155565b505050565b60606101aa826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166102069092919063ffffffff16565b805190915015610150578080602001905160208110156101c957600080fd5b50516101505760405162461bcd60e51b815260040180806020018281038252602a8152602001806103cf602a913960400191505060405180910390fd5b6060610215848460008561021d565b949350505050565b6060610228856103c8565b610279576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106102b85780518252601f199092019160209182019101610299565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d806000811461031a576040519150601f19603f3d011682016040523d82523d6000602084013e61031f565b606091505b509150915081156103335791506102159050565b8051156103435780518082602001fd5b8360405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561038d578181015183820152602001610375565b50505050905090810190601f1680156103ba5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b3b15159056fe5361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a26469706673582212208fc65ae8299d617f6cff836a2822363849c7fb35b0b27a6f0aebfa62084005c764736f6c634300060c0033"; + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "_torn"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "_governance"; + readonly type: "address"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "constructor"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "recipient"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "withdrawTorn"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }]; + static createInterface(): TornadoVaultInterface; + static connect(address: string, runner?: ContractRunner | null): TornadoVault; +} +export {}; diff --git a/dist/factories/contracts/Governance/Uniswap/index.d.ts b/dist/factories/contracts/Governance/Uniswap/index.d.ts new file mode 100644 index 0000000..0225b6d --- /dev/null +++ b/dist/factories/contracts/Governance/Uniswap/index.d.ts @@ -0,0 +1 @@ +export * as v3Core from "./v3-core"; diff --git a/dist/factories/contracts/Governance/Uniswap/v3-core/contracts/index.d.ts b/dist/factories/contracts/Governance/Uniswap/v3-core/contracts/index.d.ts new file mode 100644 index 0000000..b3e225e --- /dev/null +++ b/dist/factories/contracts/Governance/Uniswap/v3-core/contracts/index.d.ts @@ -0,0 +1 @@ +export * as interfaces from "./interfaces"; diff --git a/dist/factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/IUniswapV3Factory__factory.d.ts b/dist/factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/IUniswapV3Factory__factory.d.ts new file mode 100644 index 0000000..43b5be0 --- /dev/null +++ b/dist/factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/IUniswapV3Factory__factory.d.ts @@ -0,0 +1,159 @@ +import { type ContractRunner } from "ethers"; +import type { IUniswapV3Factory, IUniswapV3FactoryInterface } from "../../../../../../../contracts/Governance/Uniswap/v3-core/contracts/interfaces/IUniswapV3Factory"; +export declare class IUniswapV3Factory__factory { + static readonly abi: readonly [{ + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "uint24"; + readonly name: "fee"; + readonly type: "uint24"; + }, { + readonly indexed: true; + readonly internalType: "int24"; + readonly name: "tickSpacing"; + readonly type: "int24"; + }]; + readonly name: "FeeAmountEnabled"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "oldOwner"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "newOwner"; + readonly type: "address"; + }]; + readonly name: "OwnerChanged"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "token0"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "token1"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "uint24"; + readonly name: "fee"; + readonly type: "uint24"; + }, { + readonly indexed: false; + readonly internalType: "int24"; + readonly name: "tickSpacing"; + readonly type: "int24"; + }, { + readonly indexed: false; + readonly internalType: "address"; + readonly name: "pool"; + readonly type: "address"; + }]; + readonly name: "PoolCreated"; + readonly type: "event"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "tokenA"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "tokenB"; + readonly type: "address"; + }, { + readonly internalType: "uint24"; + readonly name: "fee"; + readonly type: "uint24"; + }]; + readonly name: "createPool"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: "pool"; + readonly type: "address"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint24"; + readonly name: "fee"; + readonly type: "uint24"; + }, { + readonly internalType: "int24"; + readonly name: "tickSpacing"; + readonly type: "int24"; + }]; + readonly name: "enableFeeAmount"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint24"; + readonly name: "fee"; + readonly type: "uint24"; + }]; + readonly name: "feeAmountTickSpacing"; + readonly outputs: readonly [{ + readonly internalType: "int24"; + readonly name: ""; + readonly type: "int24"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "tokenA"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "tokenB"; + readonly type: "address"; + }, { + readonly internalType: "uint24"; + readonly name: "fee"; + readonly type: "uint24"; + }]; + readonly name: "getPool"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: "pool"; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "owner"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "_owner"; + readonly type: "address"; + }]; + readonly name: "setOwner"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }]; + static createInterface(): IUniswapV3FactoryInterface; + static connect(address: string, runner?: ContractRunner | null): IUniswapV3Factory; +} diff --git a/dist/factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/IUniswapV3Pool__factory.d.ts b/dist/factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/IUniswapV3Pool__factory.d.ts new file mode 100644 index 0000000..be6df14 --- /dev/null +++ b/dist/factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/IUniswapV3Pool__factory.d.ts @@ -0,0 +1,776 @@ +import { type ContractRunner } from "ethers"; +import type { IUniswapV3Pool, IUniswapV3PoolInterface } from "../../../../../../../contracts/Governance/Uniswap/v3-core/contracts/interfaces/IUniswapV3Pool"; +export declare class IUniswapV3Pool__factory { + static readonly abi: readonly [{ + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "int24"; + readonly name: "tickLower"; + readonly type: "int24"; + }, { + readonly indexed: true; + readonly internalType: "int24"; + readonly name: "tickUpper"; + readonly type: "int24"; + }, { + readonly indexed: false; + readonly internalType: "uint128"; + readonly name: "amount"; + readonly type: "uint128"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "amount0"; + readonly type: "uint256"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "amount1"; + readonly type: "uint256"; + }]; + readonly name: "Burn"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "address"; + readonly name: "recipient"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "int24"; + readonly name: "tickLower"; + readonly type: "int24"; + }, { + readonly indexed: true; + readonly internalType: "int24"; + readonly name: "tickUpper"; + readonly type: "int24"; + }, { + readonly indexed: false; + readonly internalType: "uint128"; + readonly name: "amount0"; + readonly type: "uint128"; + }, { + readonly indexed: false; + readonly internalType: "uint128"; + readonly name: "amount1"; + readonly type: "uint128"; + }]; + readonly name: "Collect"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "sender"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "recipient"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "uint128"; + readonly name: "amount0"; + readonly type: "uint128"; + }, { + readonly indexed: false; + readonly internalType: "uint128"; + readonly name: "amount1"; + readonly type: "uint128"; + }]; + readonly name: "CollectProtocol"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "sender"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "recipient"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "amount0"; + readonly type: "uint256"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "amount1"; + readonly type: "uint256"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "paid0"; + readonly type: "uint256"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "paid1"; + readonly type: "uint256"; + }]; + readonly name: "Flash"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: false; + readonly internalType: "uint16"; + readonly name: "observationCardinalityNextOld"; + readonly type: "uint16"; + }, { + readonly indexed: false; + readonly internalType: "uint16"; + readonly name: "observationCardinalityNextNew"; + readonly type: "uint16"; + }]; + readonly name: "IncreaseObservationCardinalityNext"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: false; + readonly internalType: "uint160"; + readonly name: "sqrtPriceX96"; + readonly type: "uint160"; + }, { + readonly indexed: false; + readonly internalType: "int24"; + readonly name: "tick"; + readonly type: "int24"; + }]; + readonly name: "Initialize"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: false; + readonly internalType: "address"; + readonly name: "sender"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "int24"; + readonly name: "tickLower"; + readonly type: "int24"; + }, { + readonly indexed: true; + readonly internalType: "int24"; + readonly name: "tickUpper"; + readonly type: "int24"; + }, { + readonly indexed: false; + readonly internalType: "uint128"; + readonly name: "amount"; + readonly type: "uint128"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "amount0"; + readonly type: "uint256"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "amount1"; + readonly type: "uint256"; + }]; + readonly name: "Mint"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: false; + readonly internalType: "uint8"; + readonly name: "feeProtocol0Old"; + readonly type: "uint8"; + }, { + readonly indexed: false; + readonly internalType: "uint8"; + readonly name: "feeProtocol1Old"; + readonly type: "uint8"; + }, { + readonly indexed: false; + readonly internalType: "uint8"; + readonly name: "feeProtocol0New"; + readonly type: "uint8"; + }, { + readonly indexed: false; + readonly internalType: "uint8"; + readonly name: "feeProtocol1New"; + readonly type: "uint8"; + }]; + readonly name: "SetFeeProtocol"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "sender"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "recipient"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "int256"; + readonly name: "amount0"; + readonly type: "int256"; + }, { + readonly indexed: false; + readonly internalType: "int256"; + readonly name: "amount1"; + readonly type: "int256"; + }, { + readonly indexed: false; + readonly internalType: "uint160"; + readonly name: "sqrtPriceX96"; + readonly type: "uint160"; + }, { + readonly indexed: false; + readonly internalType: "uint128"; + readonly name: "liquidity"; + readonly type: "uint128"; + }, { + readonly indexed: false; + readonly internalType: "int24"; + readonly name: "tick"; + readonly type: "int24"; + }]; + readonly name: "Swap"; + readonly type: "event"; + }, { + readonly inputs: readonly [{ + readonly internalType: "int24"; + readonly name: "tickLower"; + readonly type: "int24"; + }, { + readonly internalType: "int24"; + readonly name: "tickUpper"; + readonly type: "int24"; + }, { + readonly internalType: "uint128"; + readonly name: "amount"; + readonly type: "uint128"; + }]; + readonly name: "burn"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "amount0"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "amount1"; + readonly type: "uint256"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "recipient"; + readonly type: "address"; + }, { + readonly internalType: "int24"; + readonly name: "tickLower"; + readonly type: "int24"; + }, { + readonly internalType: "int24"; + readonly name: "tickUpper"; + readonly type: "int24"; + }, { + readonly internalType: "uint128"; + readonly name: "amount0Requested"; + readonly type: "uint128"; + }, { + readonly internalType: "uint128"; + readonly name: "amount1Requested"; + readonly type: "uint128"; + }]; + readonly name: "collect"; + readonly outputs: readonly [{ + readonly internalType: "uint128"; + readonly name: "amount0"; + readonly type: "uint128"; + }, { + readonly internalType: "uint128"; + readonly name: "amount1"; + readonly type: "uint128"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "recipient"; + readonly type: "address"; + }, { + readonly internalType: "uint128"; + readonly name: "amount0Requested"; + readonly type: "uint128"; + }, { + readonly internalType: "uint128"; + readonly name: "amount1Requested"; + readonly type: "uint128"; + }]; + readonly name: "collectProtocol"; + readonly outputs: readonly [{ + readonly internalType: "uint128"; + readonly name: "amount0"; + readonly type: "uint128"; + }, { + readonly internalType: "uint128"; + readonly name: "amount1"; + readonly type: "uint128"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "factory"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "fee"; + readonly outputs: readonly [{ + readonly internalType: "uint24"; + readonly name: ""; + readonly type: "uint24"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "feeGrowthGlobal0X128"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "feeGrowthGlobal1X128"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "recipient"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "amount0"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "amount1"; + readonly type: "uint256"; + }, { + readonly internalType: "bytes"; + readonly name: "data"; + readonly type: "bytes"; + }]; + readonly name: "flash"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint16"; + readonly name: "observationCardinalityNext"; + readonly type: "uint16"; + }]; + readonly name: "increaseObservationCardinalityNext"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint160"; + readonly name: "sqrtPriceX96"; + readonly type: "uint160"; + }]; + readonly name: "initialize"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "liquidity"; + readonly outputs: readonly [{ + readonly internalType: "uint128"; + readonly name: ""; + readonly type: "uint128"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "maxLiquidityPerTick"; + readonly outputs: readonly [{ + readonly internalType: "uint128"; + readonly name: ""; + readonly type: "uint128"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "recipient"; + readonly type: "address"; + }, { + readonly internalType: "int24"; + readonly name: "tickLower"; + readonly type: "int24"; + }, { + readonly internalType: "int24"; + readonly name: "tickUpper"; + readonly type: "int24"; + }, { + readonly internalType: "uint128"; + readonly name: "amount"; + readonly type: "uint128"; + }, { + readonly internalType: "bytes"; + readonly name: "data"; + readonly type: "bytes"; + }]; + readonly name: "mint"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "amount0"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "amount1"; + readonly type: "uint256"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "index"; + readonly type: "uint256"; + }]; + readonly name: "observations"; + readonly outputs: readonly [{ + readonly internalType: "uint32"; + readonly name: "blockTimestamp"; + readonly type: "uint32"; + }, { + readonly internalType: "int56"; + readonly name: "tickCumulative"; + readonly type: "int56"; + }, { + readonly internalType: "uint160"; + readonly name: "secondsPerLiquidityCumulativeX128"; + readonly type: "uint160"; + }, { + readonly internalType: "bool"; + readonly name: "initialized"; + readonly type: "bool"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint32[]"; + readonly name: "secondsAgos"; + readonly type: "uint32[]"; + }]; + readonly name: "observe"; + readonly outputs: readonly [{ + readonly internalType: "int56[]"; + readonly name: "tickCumulatives"; + readonly type: "int56[]"; + }, { + readonly internalType: "uint160[]"; + readonly name: "secondsPerLiquidityCumulativeX128s"; + readonly type: "uint160[]"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: "key"; + readonly type: "bytes32"; + }]; + readonly name: "positions"; + readonly outputs: readonly [{ + readonly internalType: "uint128"; + readonly name: "_liquidity"; + readonly type: "uint128"; + }, { + readonly internalType: "uint256"; + readonly name: "feeGrowthInside0LastX128"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "feeGrowthInside1LastX128"; + readonly type: "uint256"; + }, { + readonly internalType: "uint128"; + readonly name: "tokensOwed0"; + readonly type: "uint128"; + }, { + readonly internalType: "uint128"; + readonly name: "tokensOwed1"; + readonly type: "uint128"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "protocolFees"; + readonly outputs: readonly [{ + readonly internalType: "uint128"; + readonly name: "token0"; + readonly type: "uint128"; + }, { + readonly internalType: "uint128"; + readonly name: "token1"; + readonly type: "uint128"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint8"; + readonly name: "feeProtocol0"; + readonly type: "uint8"; + }, { + readonly internalType: "uint8"; + readonly name: "feeProtocol1"; + readonly type: "uint8"; + }]; + readonly name: "setFeeProtocol"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "slot0"; + readonly outputs: readonly [{ + readonly internalType: "uint160"; + readonly name: "sqrtPriceX96"; + readonly type: "uint160"; + }, { + readonly internalType: "int24"; + readonly name: "tick"; + readonly type: "int24"; + }, { + readonly internalType: "uint16"; + readonly name: "observationIndex"; + readonly type: "uint16"; + }, { + readonly internalType: "uint16"; + readonly name: "observationCardinality"; + readonly type: "uint16"; + }, { + readonly internalType: "uint16"; + readonly name: "observationCardinalityNext"; + readonly type: "uint16"; + }, { + readonly internalType: "uint8"; + readonly name: "feeProtocol"; + readonly type: "uint8"; + }, { + readonly internalType: "bool"; + readonly name: "unlocked"; + readonly type: "bool"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "int24"; + readonly name: "tickLower"; + readonly type: "int24"; + }, { + readonly internalType: "int24"; + readonly name: "tickUpper"; + readonly type: "int24"; + }]; + readonly name: "snapshotCumulativesInside"; + readonly outputs: readonly [{ + readonly internalType: "int56"; + readonly name: "tickCumulativeInside"; + readonly type: "int56"; + }, { + readonly internalType: "uint160"; + readonly name: "secondsPerLiquidityInsideX128"; + readonly type: "uint160"; + }, { + readonly internalType: "uint32"; + readonly name: "secondsInside"; + readonly type: "uint32"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "recipient"; + readonly type: "address"; + }, { + readonly internalType: "bool"; + readonly name: "zeroForOne"; + readonly type: "bool"; + }, { + readonly internalType: "int256"; + readonly name: "amountSpecified"; + readonly type: "int256"; + }, { + readonly internalType: "uint160"; + readonly name: "sqrtPriceLimitX96"; + readonly type: "uint160"; + }, { + readonly internalType: "bytes"; + readonly name: "data"; + readonly type: "bytes"; + }]; + readonly name: "swap"; + readonly outputs: readonly [{ + readonly internalType: "int256"; + readonly name: "amount0"; + readonly type: "int256"; + }, { + readonly internalType: "int256"; + readonly name: "amount1"; + readonly type: "int256"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "int16"; + readonly name: "wordPosition"; + readonly type: "int16"; + }]; + readonly name: "tickBitmap"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "tickSpacing"; + readonly outputs: readonly [{ + readonly internalType: "int24"; + readonly name: ""; + readonly type: "int24"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "int24"; + readonly name: "tick"; + readonly type: "int24"; + }]; + readonly name: "ticks"; + readonly outputs: readonly [{ + readonly internalType: "uint128"; + readonly name: "liquidityGross"; + readonly type: "uint128"; + }, { + readonly internalType: "int128"; + readonly name: "liquidityNet"; + readonly type: "int128"; + }, { + readonly internalType: "uint256"; + readonly name: "feeGrowthOutside0X128"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "feeGrowthOutside1X128"; + readonly type: "uint256"; + }, { + readonly internalType: "int56"; + readonly name: "tickCumulativeOutside"; + readonly type: "int56"; + }, { + readonly internalType: "uint160"; + readonly name: "secondsPerLiquidityOutsideX128"; + readonly type: "uint160"; + }, { + readonly internalType: "uint32"; + readonly name: "secondsOutside"; + readonly type: "uint32"; + }, { + readonly internalType: "bool"; + readonly name: "initialized"; + readonly type: "bool"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "token0"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "token1"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }]; + static createInterface(): IUniswapV3PoolInterface; + static connect(address: string, runner?: ContractRunner | null): IUniswapV3Pool; +} diff --git a/dist/factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/index.d.ts b/dist/factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/index.d.ts new file mode 100644 index 0000000..1b2a622 --- /dev/null +++ b/dist/factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/index.d.ts @@ -0,0 +1,3 @@ +export * as pool from "./pool"; +export { IUniswapV3Factory__factory } from "./IUniswapV3Factory__factory"; +export { IUniswapV3Pool__factory } from "./IUniswapV3Pool__factory"; diff --git a/dist/factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions__factory.d.ts b/dist/factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions__factory.d.ts new file mode 100644 index 0000000..4119ab7 --- /dev/null +++ b/dist/factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions__factory.d.ts @@ -0,0 +1,177 @@ +import { type ContractRunner } from "ethers"; +import type { IUniswapV3PoolActions, IUniswapV3PoolActionsInterface } from "../../../../../../../../contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions"; +export declare class IUniswapV3PoolActions__factory { + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "int24"; + readonly name: "tickLower"; + readonly type: "int24"; + }, { + readonly internalType: "int24"; + readonly name: "tickUpper"; + readonly type: "int24"; + }, { + readonly internalType: "uint128"; + readonly name: "amount"; + readonly type: "uint128"; + }]; + readonly name: "burn"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "amount0"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "amount1"; + readonly type: "uint256"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "recipient"; + readonly type: "address"; + }, { + readonly internalType: "int24"; + readonly name: "tickLower"; + readonly type: "int24"; + }, { + readonly internalType: "int24"; + readonly name: "tickUpper"; + readonly type: "int24"; + }, { + readonly internalType: "uint128"; + readonly name: "amount0Requested"; + readonly type: "uint128"; + }, { + readonly internalType: "uint128"; + readonly name: "amount1Requested"; + readonly type: "uint128"; + }]; + readonly name: "collect"; + readonly outputs: readonly [{ + readonly internalType: "uint128"; + readonly name: "amount0"; + readonly type: "uint128"; + }, { + readonly internalType: "uint128"; + readonly name: "amount1"; + readonly type: "uint128"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "recipient"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "amount0"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "amount1"; + readonly type: "uint256"; + }, { + readonly internalType: "bytes"; + readonly name: "data"; + readonly type: "bytes"; + }]; + readonly name: "flash"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint16"; + readonly name: "observationCardinalityNext"; + readonly type: "uint16"; + }]; + readonly name: "increaseObservationCardinalityNext"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint160"; + readonly name: "sqrtPriceX96"; + readonly type: "uint160"; + }]; + readonly name: "initialize"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "recipient"; + readonly type: "address"; + }, { + readonly internalType: "int24"; + readonly name: "tickLower"; + readonly type: "int24"; + }, { + readonly internalType: "int24"; + readonly name: "tickUpper"; + readonly type: "int24"; + }, { + readonly internalType: "uint128"; + readonly name: "amount"; + readonly type: "uint128"; + }, { + readonly internalType: "bytes"; + readonly name: "data"; + readonly type: "bytes"; + }]; + readonly name: "mint"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "amount0"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "amount1"; + readonly type: "uint256"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "recipient"; + readonly type: "address"; + }, { + readonly internalType: "bool"; + readonly name: "zeroForOne"; + readonly type: "bool"; + }, { + readonly internalType: "int256"; + readonly name: "amountSpecified"; + readonly type: "int256"; + }, { + readonly internalType: "uint160"; + readonly name: "sqrtPriceLimitX96"; + readonly type: "uint160"; + }, { + readonly internalType: "bytes"; + readonly name: "data"; + readonly type: "bytes"; + }]; + readonly name: "swap"; + readonly outputs: readonly [{ + readonly internalType: "int256"; + readonly name: "amount0"; + readonly type: "int256"; + }, { + readonly internalType: "int256"; + readonly name: "amount1"; + readonly type: "int256"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }]; + static createInterface(): IUniswapV3PoolActionsInterface; + static connect(address: string, runner?: ContractRunner | null): IUniswapV3PoolActions; +} diff --git a/dist/factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState__factory.d.ts b/dist/factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState__factory.d.ts new file mode 100644 index 0000000..b3aaf66 --- /dev/null +++ b/dist/factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState__factory.d.ts @@ -0,0 +1,51 @@ +import { type ContractRunner } from "ethers"; +import type { IUniswapV3PoolDerivedState, IUniswapV3PoolDerivedStateInterface } from "../../../../../../../../contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState"; +export declare class IUniswapV3PoolDerivedState__factory { + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "uint32[]"; + readonly name: "secondsAgos"; + readonly type: "uint32[]"; + }]; + readonly name: "observe"; + readonly outputs: readonly [{ + readonly internalType: "int56[]"; + readonly name: "tickCumulatives"; + readonly type: "int56[]"; + }, { + readonly internalType: "uint160[]"; + readonly name: "secondsPerLiquidityCumulativeX128s"; + readonly type: "uint160[]"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "int24"; + readonly name: "tickLower"; + readonly type: "int24"; + }, { + readonly internalType: "int24"; + readonly name: "tickUpper"; + readonly type: "int24"; + }]; + readonly name: "snapshotCumulativesInside"; + readonly outputs: readonly [{ + readonly internalType: "int56"; + readonly name: "tickCumulativeInside"; + readonly type: "int56"; + }, { + readonly internalType: "uint160"; + readonly name: "secondsPerLiquidityInsideX128"; + readonly type: "uint160"; + }, { + readonly internalType: "uint32"; + readonly name: "secondsInside"; + readonly type: "uint32"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }]; + static createInterface(): IUniswapV3PoolDerivedStateInterface; + static connect(address: string, runner?: ContractRunner | null): IUniswapV3PoolDerivedState; +} diff --git a/dist/factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents__factory.d.ts b/dist/factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents__factory.d.ts new file mode 100644 index 0000000..a84a8e3 --- /dev/null +++ b/dist/factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents__factory.d.ts @@ -0,0 +1,272 @@ +import { type ContractRunner } from "ethers"; +import type { IUniswapV3PoolEvents, IUniswapV3PoolEventsInterface } from "../../../../../../../../contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents"; +export declare class IUniswapV3PoolEvents__factory { + static readonly abi: readonly [{ + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "int24"; + readonly name: "tickLower"; + readonly type: "int24"; + }, { + readonly indexed: true; + readonly internalType: "int24"; + readonly name: "tickUpper"; + readonly type: "int24"; + }, { + readonly indexed: false; + readonly internalType: "uint128"; + readonly name: "amount"; + readonly type: "uint128"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "amount0"; + readonly type: "uint256"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "amount1"; + readonly type: "uint256"; + }]; + readonly name: "Burn"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "address"; + readonly name: "recipient"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "int24"; + readonly name: "tickLower"; + readonly type: "int24"; + }, { + readonly indexed: true; + readonly internalType: "int24"; + readonly name: "tickUpper"; + readonly type: "int24"; + }, { + readonly indexed: false; + readonly internalType: "uint128"; + readonly name: "amount0"; + readonly type: "uint128"; + }, { + readonly indexed: false; + readonly internalType: "uint128"; + readonly name: "amount1"; + readonly type: "uint128"; + }]; + readonly name: "Collect"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "sender"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "recipient"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "uint128"; + readonly name: "amount0"; + readonly type: "uint128"; + }, { + readonly indexed: false; + readonly internalType: "uint128"; + readonly name: "amount1"; + readonly type: "uint128"; + }]; + readonly name: "CollectProtocol"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "sender"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "recipient"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "amount0"; + readonly type: "uint256"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "amount1"; + readonly type: "uint256"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "paid0"; + readonly type: "uint256"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "paid1"; + readonly type: "uint256"; + }]; + readonly name: "Flash"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: false; + readonly internalType: "uint16"; + readonly name: "observationCardinalityNextOld"; + readonly type: "uint16"; + }, { + readonly indexed: false; + readonly internalType: "uint16"; + readonly name: "observationCardinalityNextNew"; + readonly type: "uint16"; + }]; + readonly name: "IncreaseObservationCardinalityNext"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: false; + readonly internalType: "uint160"; + readonly name: "sqrtPriceX96"; + readonly type: "uint160"; + }, { + readonly indexed: false; + readonly internalType: "int24"; + readonly name: "tick"; + readonly type: "int24"; + }]; + readonly name: "Initialize"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: false; + readonly internalType: "address"; + readonly name: "sender"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "int24"; + readonly name: "tickLower"; + readonly type: "int24"; + }, { + readonly indexed: true; + readonly internalType: "int24"; + readonly name: "tickUpper"; + readonly type: "int24"; + }, { + readonly indexed: false; + readonly internalType: "uint128"; + readonly name: "amount"; + readonly type: "uint128"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "amount0"; + readonly type: "uint256"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "amount1"; + readonly type: "uint256"; + }]; + readonly name: "Mint"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: false; + readonly internalType: "uint8"; + readonly name: "feeProtocol0Old"; + readonly type: "uint8"; + }, { + readonly indexed: false; + readonly internalType: "uint8"; + readonly name: "feeProtocol1Old"; + readonly type: "uint8"; + }, { + readonly indexed: false; + readonly internalType: "uint8"; + readonly name: "feeProtocol0New"; + readonly type: "uint8"; + }, { + readonly indexed: false; + readonly internalType: "uint8"; + readonly name: "feeProtocol1New"; + readonly type: "uint8"; + }]; + readonly name: "SetFeeProtocol"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "sender"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "recipient"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "int256"; + readonly name: "amount0"; + readonly type: "int256"; + }, { + readonly indexed: false; + readonly internalType: "int256"; + readonly name: "amount1"; + readonly type: "int256"; + }, { + readonly indexed: false; + readonly internalType: "uint160"; + readonly name: "sqrtPriceX96"; + readonly type: "uint160"; + }, { + readonly indexed: false; + readonly internalType: "uint128"; + readonly name: "liquidity"; + readonly type: "uint128"; + }, { + readonly indexed: false; + readonly internalType: "int24"; + readonly name: "tick"; + readonly type: "int24"; + }]; + readonly name: "Swap"; + readonly type: "event"; + }]; + static createInterface(): IUniswapV3PoolEventsInterface; + static connect(address: string, runner?: ContractRunner | null): IUniswapV3PoolEvents; +} diff --git a/dist/factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables__factory.d.ts b/dist/factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables__factory.d.ts new file mode 100644 index 0000000..cdd5175 --- /dev/null +++ b/dist/factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables__factory.d.ts @@ -0,0 +1,67 @@ +import { type ContractRunner } from "ethers"; +import type { IUniswapV3PoolImmutables, IUniswapV3PoolImmutablesInterface } from "../../../../../../../../contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables"; +export declare class IUniswapV3PoolImmutables__factory { + static readonly abi: readonly [{ + readonly inputs: readonly []; + readonly name: "factory"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "fee"; + readonly outputs: readonly [{ + readonly internalType: "uint24"; + readonly name: ""; + readonly type: "uint24"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "maxLiquidityPerTick"; + readonly outputs: readonly [{ + readonly internalType: "uint128"; + readonly name: ""; + readonly type: "uint128"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "tickSpacing"; + readonly outputs: readonly [{ + readonly internalType: "int24"; + readonly name: ""; + readonly type: "int24"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "token0"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "token1"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }]; + static createInterface(): IUniswapV3PoolImmutablesInterface; + static connect(address: string, runner?: ContractRunner | null): IUniswapV3PoolImmutables; +} diff --git a/dist/factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions__factory.d.ts b/dist/factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions__factory.d.ts new file mode 100644 index 0000000..d785ae6 --- /dev/null +++ b/dist/factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions__factory.d.ts @@ -0,0 +1,47 @@ +import { type ContractRunner } from "ethers"; +import type { IUniswapV3PoolOwnerActions, IUniswapV3PoolOwnerActionsInterface } from "../../../../../../../../contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions"; +export declare class IUniswapV3PoolOwnerActions__factory { + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "recipient"; + readonly type: "address"; + }, { + readonly internalType: "uint128"; + readonly name: "amount0Requested"; + readonly type: "uint128"; + }, { + readonly internalType: "uint128"; + readonly name: "amount1Requested"; + readonly type: "uint128"; + }]; + readonly name: "collectProtocol"; + readonly outputs: readonly [{ + readonly internalType: "uint128"; + readonly name: "amount0"; + readonly type: "uint128"; + }, { + readonly internalType: "uint128"; + readonly name: "amount1"; + readonly type: "uint128"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint8"; + readonly name: "feeProtocol0"; + readonly type: "uint8"; + }, { + readonly internalType: "uint8"; + readonly name: "feeProtocol1"; + readonly type: "uint8"; + }]; + readonly name: "setFeeProtocol"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }]; + static createInterface(): IUniswapV3PoolOwnerActionsInterface; + static connect(address: string, runner?: ContractRunner | null): IUniswapV3PoolOwnerActions; +} diff --git a/dist/factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolState__factory.d.ts b/dist/factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolState__factory.d.ts new file mode 100644 index 0000000..78c3a8a --- /dev/null +++ b/dist/factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolState__factory.d.ts @@ -0,0 +1,197 @@ +import { type ContractRunner } from "ethers"; +import type { IUniswapV3PoolState, IUniswapV3PoolStateInterface } from "../../../../../../../../contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolState"; +export declare class IUniswapV3PoolState__factory { + static readonly abi: readonly [{ + readonly inputs: readonly []; + readonly name: "feeGrowthGlobal0X128"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "feeGrowthGlobal1X128"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "liquidity"; + readonly outputs: readonly [{ + readonly internalType: "uint128"; + readonly name: ""; + readonly type: "uint128"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "index"; + readonly type: "uint256"; + }]; + readonly name: "observations"; + readonly outputs: readonly [{ + readonly internalType: "uint32"; + readonly name: "blockTimestamp"; + readonly type: "uint32"; + }, { + readonly internalType: "int56"; + readonly name: "tickCumulative"; + readonly type: "int56"; + }, { + readonly internalType: "uint160"; + readonly name: "secondsPerLiquidityCumulativeX128"; + readonly type: "uint160"; + }, { + readonly internalType: "bool"; + readonly name: "initialized"; + readonly type: "bool"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: "key"; + readonly type: "bytes32"; + }]; + readonly name: "positions"; + readonly outputs: readonly [{ + readonly internalType: "uint128"; + readonly name: "_liquidity"; + readonly type: "uint128"; + }, { + readonly internalType: "uint256"; + readonly name: "feeGrowthInside0LastX128"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "feeGrowthInside1LastX128"; + readonly type: "uint256"; + }, { + readonly internalType: "uint128"; + readonly name: "tokensOwed0"; + readonly type: "uint128"; + }, { + readonly internalType: "uint128"; + readonly name: "tokensOwed1"; + readonly type: "uint128"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "protocolFees"; + readonly outputs: readonly [{ + readonly internalType: "uint128"; + readonly name: "token0"; + readonly type: "uint128"; + }, { + readonly internalType: "uint128"; + readonly name: "token1"; + readonly type: "uint128"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "slot0"; + readonly outputs: readonly [{ + readonly internalType: "uint160"; + readonly name: "sqrtPriceX96"; + readonly type: "uint160"; + }, { + readonly internalType: "int24"; + readonly name: "tick"; + readonly type: "int24"; + }, { + readonly internalType: "uint16"; + readonly name: "observationIndex"; + readonly type: "uint16"; + }, { + readonly internalType: "uint16"; + readonly name: "observationCardinality"; + readonly type: "uint16"; + }, { + readonly internalType: "uint16"; + readonly name: "observationCardinalityNext"; + readonly type: "uint16"; + }, { + readonly internalType: "uint8"; + readonly name: "feeProtocol"; + readonly type: "uint8"; + }, { + readonly internalType: "bool"; + readonly name: "unlocked"; + readonly type: "bool"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "int16"; + readonly name: "wordPosition"; + readonly type: "int16"; + }]; + readonly name: "tickBitmap"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "int24"; + readonly name: "tick"; + readonly type: "int24"; + }]; + readonly name: "ticks"; + readonly outputs: readonly [{ + readonly internalType: "uint128"; + readonly name: "liquidityGross"; + readonly type: "uint128"; + }, { + readonly internalType: "int128"; + readonly name: "liquidityNet"; + readonly type: "int128"; + }, { + readonly internalType: "uint256"; + readonly name: "feeGrowthOutside0X128"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "feeGrowthOutside1X128"; + readonly type: "uint256"; + }, { + readonly internalType: "int56"; + readonly name: "tickCumulativeOutside"; + readonly type: "int56"; + }, { + readonly internalType: "uint160"; + readonly name: "secondsPerLiquidityOutsideX128"; + readonly type: "uint160"; + }, { + readonly internalType: "uint32"; + readonly name: "secondsOutside"; + readonly type: "uint32"; + }, { + readonly internalType: "bool"; + readonly name: "initialized"; + readonly type: "bool"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }]; + static createInterface(): IUniswapV3PoolStateInterface; + static connect(address: string, runner?: ContractRunner | null): IUniswapV3PoolState; +} diff --git a/dist/factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/index.d.ts b/dist/factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/index.d.ts new file mode 100644 index 0000000..d34e722 --- /dev/null +++ b/dist/factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/index.d.ts @@ -0,0 +1,6 @@ +export { IUniswapV3PoolActions__factory } from "./IUniswapV3PoolActions__factory"; +export { IUniswapV3PoolDerivedState__factory } from "./IUniswapV3PoolDerivedState__factory"; +export { IUniswapV3PoolEvents__factory } from "./IUniswapV3PoolEvents__factory"; +export { IUniswapV3PoolImmutables__factory } from "./IUniswapV3PoolImmutables__factory"; +export { IUniswapV3PoolOwnerActions__factory } from "./IUniswapV3PoolOwnerActions__factory"; +export { IUniswapV3PoolState__factory } from "./IUniswapV3PoolState__factory"; diff --git a/dist/factories/contracts/Governance/Uniswap/v3-core/index.d.ts b/dist/factories/contracts/Governance/Uniswap/v3-core/index.d.ts new file mode 100644 index 0000000..8d53f91 --- /dev/null +++ b/dist/factories/contracts/Governance/Uniswap/v3-core/index.d.ts @@ -0,0 +1 @@ +export * as contracts from "./contracts"; diff --git a/dist/factories/contracts/Governance/index.d.ts b/dist/factories/contracts/Governance/index.d.ts new file mode 100644 index 0000000..0d7d201 --- /dev/null +++ b/dist/factories/contracts/Governance/index.d.ts @@ -0,0 +1,21 @@ +export * as aggregator from "./Aggregator"; +export * as deployerSol from "./Deployer.sol"; +export * as instanceRegistrySol from "./InstanceRegistry.sol"; +export * as relayerRegistrySol from "./RelayerRegistry.sol"; +export * as torn from "./TORN"; +export * as testnet from "./Testnet"; +export * as tornadoStakingRewardsSol from "./TornadoStakingRewards.sol"; +export * as uniswap from "./Uniswap"; +export * as interfaces from "./interfaces"; +export * as libraries from "./libraries"; +export * as v1 from "./v1"; +export * as v2VaultAndGas from "./v2-vault-and-gas"; +export * as v3RelayerRegistry from "./v3-relayer-registry"; +export * as v4ExploitPatch from "./v4-exploit-patch"; +export * as v5ProposalStatePatch from "./v5-proposal-state-patch"; +export { AdminUpgradeableProxy__factory } from "./AdminUpgradeableProxy__factory"; +export { FeeManager__factory } from "./FeeManager__factory"; +export { GasCompensationVault__factory } from "./GasCompensationVault__factory"; +export { LoopbackProxy__factory } from "./LoopbackProxy__factory"; +export { TornadoRouter__factory } from "./TornadoRouter__factory"; +export { TornadoVault__factory } from "./TornadoVault__factory"; diff --git a/dist/factories/contracts/Governance/interfaces/ITornadoInstance__factory.d.ts b/dist/factories/contracts/Governance/interfaces/ITornadoInstance__factory.d.ts new file mode 100644 index 0000000..09d2553 --- /dev/null +++ b/dist/factories/contracts/Governance/interfaces/ITornadoInstance__factory.d.ts @@ -0,0 +1,71 @@ +import { type ContractRunner } from "ethers"; +import type { ITornadoInstance, ITornadoInstanceInterface } from "../../../../contracts/Governance/interfaces/ITornadoInstance"; +export declare class ITornadoInstance__factory { + static readonly abi: readonly [{ + readonly inputs: readonly []; + readonly name: "denomination"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: "commitment"; + readonly type: "bytes32"; + }]; + readonly name: "deposit"; + readonly outputs: readonly []; + readonly stateMutability: "payable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "token"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes"; + readonly name: "proof"; + readonly type: "bytes"; + }, { + readonly internalType: "bytes32"; + readonly name: "root"; + readonly type: "bytes32"; + }, { + readonly internalType: "bytes32"; + readonly name: "nullifierHash"; + readonly type: "bytes32"; + }, { + readonly internalType: "address payable"; + readonly name: "recipient"; + readonly type: "address"; + }, { + readonly internalType: "address payable"; + readonly name: "relayer"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "fee"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "refund"; + readonly type: "uint256"; + }]; + readonly name: "withdraw"; + readonly outputs: readonly []; + readonly stateMutability: "payable"; + readonly type: "function"; + }]; + static createInterface(): ITornadoInstanceInterface; + static connect(address: string, runner?: ContractRunner | null): ITornadoInstance; +} diff --git a/dist/factories/contracts/Governance/interfaces/index.d.ts b/dist/factories/contracts/Governance/interfaces/index.d.ts new file mode 100644 index 0000000..e62ec02 --- /dev/null +++ b/dist/factories/contracts/Governance/interfaces/index.d.ts @@ -0,0 +1 @@ +export { ITornadoInstance__factory } from "./ITornadoInstance__factory"; diff --git a/dist/factories/contracts/Governance/libraries/UniswapV3OracleHelper.sol/IERC20Decimals__factory.d.ts b/dist/factories/contracts/Governance/libraries/UniswapV3OracleHelper.sol/IERC20Decimals__factory.d.ts new file mode 100644 index 0000000..40b1726 --- /dev/null +++ b/dist/factories/contracts/Governance/libraries/UniswapV3OracleHelper.sol/IERC20Decimals__factory.d.ts @@ -0,0 +1,17 @@ +import { type ContractRunner } from "ethers"; +import type { IERC20Decimals, IERC20DecimalsInterface } from "../../../../../contracts/Governance/libraries/UniswapV3OracleHelper.sol/IERC20Decimals"; +export declare class IERC20Decimals__factory { + static readonly abi: readonly [{ + readonly inputs: readonly []; + readonly name: "decimals"; + readonly outputs: readonly [{ + readonly internalType: "uint8"; + readonly name: ""; + readonly type: "uint8"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }]; + static createInterface(): IERC20DecimalsInterface; + static connect(address: string, runner?: ContractRunner | null): IERC20Decimals; +} diff --git a/dist/factories/contracts/Governance/libraries/UniswapV3OracleHelper.sol/index.d.ts b/dist/factories/contracts/Governance/libraries/UniswapV3OracleHelper.sol/index.d.ts new file mode 100644 index 0000000..9b8ce57 --- /dev/null +++ b/dist/factories/contracts/Governance/libraries/UniswapV3OracleHelper.sol/index.d.ts @@ -0,0 +1 @@ +export { IERC20Decimals__factory } from "./IERC20Decimals__factory"; diff --git a/dist/factories/contracts/Governance/libraries/index.d.ts b/dist/factories/contracts/Governance/libraries/index.d.ts new file mode 100644 index 0000000..7ae88f6 --- /dev/null +++ b/dist/factories/contracts/Governance/libraries/index.d.ts @@ -0,0 +1 @@ +export * as uniswapV3OracleHelperSol from "./UniswapV3OracleHelper.sol"; diff --git a/dist/factories/contracts/Governance/v1/Configuration__factory.d.ts b/dist/factories/contracts/Governance/v1/Configuration__factory.d.ts new file mode 100644 index 0000000..e476698 --- /dev/null +++ b/dist/factories/contracts/Governance/v1/Configuration__factory.d.ts @@ -0,0 +1,182 @@ +import { ContractFactory, ContractTransactionResponse } from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../common"; +import type { Configuration, ConfigurationInterface } from "../../../../contracts/Governance/v1/Configuration"; +type ConfigurationConstructorParams = [signer?: Signer] | ConstructorParameters; +export declare class Configuration__factory extends ContractFactory { + constructor(...args: ConfigurationConstructorParams); + getDeployTransaction(overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + deploy(overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + connect(runner: ContractRunner | null): Configuration__factory; + static readonly bytecode = "0x608060405234801561001057600080fd5b50610563806100206000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c8063a6c2660311610097578063d6159fe511610066578063d6159fe5146101e2578063e4917d9f146101ea578063ea0217cf14610207578063ece40cc11461022457610100565b8063a6c26603146101ad578063b1610d7e146101b5578063c0c0e820146101bd578063ce25d71c146101da57610100565b80636a661755116100d35780636a6617551461014e5780636dc2dc6c1461015657806370b0f660146101735780639a9e3b6e1461019057610100565b806302ec8f9e1461010557806337f135d714610124578063587a6ecb1461013e578063671dd27514610146575b600080fd5b6101226004803603602081101561011b57600080fd5b5035610241565b005b61012c610288565b60408051918252519081900360200190f35b61012c61028e565b61012c610294565b61012c61029a565b6101226004803603602081101561016c57600080fd5b50356102a0565b6101226004803603602081101561018957600080fd5b5035610327565b610122600480360360208110156101a657600080fd5b503561036e565b61012c6103b5565b61012c6103bb565b610122600480360360208110156101d357600080fd5b50356103c1565b61012c610408565b61012c61040e565b6101226004803603602081101561020057600080fd5b5035610414565b6101226004803603602081101561021d57600080fd5b503561045b565b6101226004803603602081101561023a57600080fd5b50356104a2565b333014610283576040805162461bcd60e51b8152602060048201526018602482015260008051602061050e833981519152604482015290519081900360640190fd5b600255565b60005481565b60075481565b60025481565b60015481565b3330146102e2576040805162461bcd60e51b8152602060048201526018602482015260008051602061050e833981519152604482015290519081900360640190fd5b60005481106103225760405162461bcd60e51b81526004018080602001828103825260248152602001806104ea6024913960400191505060405180910390fd5b600755565b333014610369576040805162461bcd60e51b8152602060048201526018602482015260008051602061050e833981519152604482015290519081900360640190fd5b600455565b3330146103b0576040805162461bcd60e51b8152602060048201526018602482015260008051602061050e833981519152604482015290519081900360640190fd5b600155565b60035481565b60055481565b333014610403576040805162461bcd60e51b8152602060048201526018602482015260008051602061050e833981519152604482015290519081900360640190fd5b600655565b60065481565b60045481565b333014610456576040805162461bcd60e51b8152602060048201526018602482015260008051602061050e833981519152604482015290519081900360640190fd5b600055565b33301461049d576040805162461bcd60e51b8152602060048201526018602482015260008051602061050e833981519152604482015290519081900360640190fd5b600555565b3330146104e4576040805162461bcd60e51b8152602060048201526018602482015260008051602061050e833981519152604482015290519081900360640190fd5b60035556fe476f7665726e616e63653a20696e636f727265637420766f7465457874656e6454696d65476f7665726e616e63653a20756e617574686f72697a65640000000000000000a26469706673582212208fff4d62d622acc801ece8b6a7cc281f67f5959bf09e0ca68afde2a0ab0bc83164736f6c634300060c0033"; + static readonly abi: readonly [{ + readonly inputs: readonly []; + readonly name: "CLOSING_PERIOD"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "EXECUTION_DELAY"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "EXECUTION_EXPIRATION"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "PROPOSAL_THRESHOLD"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "QUORUM_VOTES"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "VOTE_EXTEND_TIME"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "VOTING_DELAY"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "VOTING_PERIOD"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "closingPeriod"; + readonly type: "uint256"; + }]; + readonly name: "setClosingPeriod"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "executionDelay"; + readonly type: "uint256"; + }]; + readonly name: "setExecutionDelay"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "executionExpiration"; + readonly type: "uint256"; + }]; + readonly name: "setExecutionExpiration"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "proposalThreshold"; + readonly type: "uint256"; + }]; + readonly name: "setProposalThreshold"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "quorumVotes"; + readonly type: "uint256"; + }]; + readonly name: "setQuorumVotes"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "voteExtendTime"; + readonly type: "uint256"; + }]; + readonly name: "setVoteExtendTime"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "votingDelay"; + readonly type: "uint256"; + }]; + readonly name: "setVotingDelay"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "votingPeriod"; + readonly type: "uint256"; + }]; + readonly name: "setVotingPeriod"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }]; + static createInterface(): ConfigurationInterface; + static connect(address: string, runner?: ContractRunner | null): Configuration; +} +export {}; diff --git a/dist/factories/contracts/Governance/v1/Core__factory.d.ts b/dist/factories/contracts/Governance/v1/Core__factory.d.ts new file mode 100644 index 0000000..d835fb1 --- /dev/null +++ b/dist/factories/contracts/Governance/v1/Core__factory.d.ts @@ -0,0 +1,21 @@ +import { type ContractRunner } from "ethers"; +import type { Core, CoreInterface } from "../../../../contracts/Governance/v1/Core"; +export declare class Core__factory { + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly name: "lockedBalance"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }]; + static createInterface(): CoreInterface; + static connect(address: string, runner?: ContractRunner | null): Core; +} diff --git a/dist/factories/contracts/Governance/v1/Delegation__factory.d.ts b/dist/factories/contracts/Governance/v1/Delegation__factory.d.ts new file mode 100644 index 0000000..cbf63f9 --- /dev/null +++ b/dist/factories/contracts/Governance/v1/Delegation__factory.d.ts @@ -0,0 +1,121 @@ +import { type ContractRunner } from "ethers"; +import type { Delegation, DelegationInterface } from "../../../../contracts/Governance/v1/Delegation"; +export declare class Delegation__factory { + static readonly abi: readonly [{ + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "account"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "to"; + readonly type: "address"; + }]; + readonly name: "Delegated"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "account"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "from"; + readonly type: "address"; + }]; + readonly name: "Undelegated"; + readonly type: "event"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address[]"; + readonly name: "from"; + readonly type: "address[]"; + }, { + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }, { + readonly internalType: "bool"; + readonly name: "support"; + readonly type: "bool"; + }]; + readonly name: "castDelegatedVote"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "to"; + readonly type: "address"; + }]; + readonly name: "delegate"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly name: "delegatedTo"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly name: "lockedBalance"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "from"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "target"; + readonly type: "address"; + }, { + readonly internalType: "string"; + readonly name: "description"; + readonly type: "string"; + }]; + readonly name: "proposeByDelegate"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "undelegate"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }]; + static createInterface(): DelegationInterface; + static connect(address: string, runner?: ContractRunner | null): Delegation; +} diff --git a/dist/factories/contracts/Governance/v1/Governance__factory.d.ts b/dist/factories/contracts/Governance/v1/Governance__factory.d.ts new file mode 100644 index 0000000..dc0ec7d --- /dev/null +++ b/dist/factories/contracts/Governance/v1/Governance__factory.d.ts @@ -0,0 +1,607 @@ +import { ContractFactory, ContractTransactionResponse } from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../common"; +import type { Governance, GovernanceInterface } from "../../../../contracts/Governance/v1/Governance"; +type GovernanceConstructorParams = [signer?: Signer] | ConstructorParameters; +export declare class Governance__factory extends ContractFactory { + constructor(...args: GovernanceConstructorParams); + getDeployTransaction(overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + deploy(overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + connect(runner: ContractRunner | null): Governance__factory; + static readonly bytecode = "0x60806040523480156200001157600080fd5b50600054610100900460ff16806200002e57506200002e620000c9565b806200003d575060005460ff16155b620000655760405162461bcd60e51b81526004016200005c9062000110565b60405180910390fd5b600054610100900460ff1615801562000091576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b03191661dead179055620000af620000cf565b8015620000c2576000805461ff00191690555b506200015e565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b612524806200016e6000396000f3fe60806040526004361061020f5760003560e01c8063a6c2660311610118578063d6159fe5116100a0578063e4917d9f1161006f578063e4917d9f146105ce578063ea0217cf146105ee578063ece40cc11461060e578063f0b768921461062e578063fe0d94c11461064e5761020f565b8063d6159fe514610557578063d6f0948c1461056c578063da35c6641461058c578063e23a9a52146105a15761020f565b8063b54426c8116100e7578063b54426c8146104c2578063b859f11b146104e2578063c0c0e82014610502578063c4d66de814610522578063ce25d71c146105425761020f565b8063a6c2660314610463578063a72edda314610478578063adf898a414610498578063b1610d7e146104ad5761020f565b80636198e3391161019b5780636dc2dc6c1161016a5780636dc2dc6c146103ce57806370b0f660146103ee57806392ab89bb1461040e5780639a9e3b6e146104235780639ae697bf146104435761020f565b80636198e3391461035757806365da126414610377578063671dd275146103a45780636a661755146103b95761020f565b806337f135d7116101e257806337f135d7146102c05780633e4f49e6146102d5578063587a6ecb1461030257806358e9fff0146103175780635c19a95c146103375761020f565b8063013cf08b1461021457806302ec8f9e1461025157806315373e3d1461027357806317977c6114610293575b600080fd5b34801561022057600080fd5b5061023461022f366004611d5c565b610661565b604051610248989796959493929190611e68565b60405180910390f35b34801561025d57600080fd5b5061027161026c366004611d5c565b6106c6565b005b34801561027f57600080fd5b5061027161028e366004611da0565b6106f3565b34801561029f57600080fd5b506102b36102ae366004611b53565b610702565b604051610248919061246b565b3480156102cc57600080fd5b506102b3610714565b3480156102e157600080fd5b506102f56102f0366004611d5c565b61071a565b6040516102489190611f26565b34801561030e57600080fd5b506102b361085d565b34801561032357600080fd5b506102b3610332366004611b6e565b610863565b34801561034357600080fd5b50610271610352366004611b53565b6108b1565b34801561036357600080fd5b50610271610372366004611d5c565b6109d3565b34801561038357600080fd5b50610397610392366004611b53565b610b0a565b6040516102489190611e17565b3480156103b057600080fd5b506102b3610b25565b3480156103c557600080fd5b506102b3610b2b565b3480156103da57600080fd5b506102716103e9366004611d5c565b610b31565b3480156103fa57600080fd5b50610271610409366004611d5c565b610b76565b34801561041a57600080fd5b50610271610b9a565b34801561042f57600080fd5b5061027161043e366004611d5c565b610c21565b34801561044f57600080fd5b506102b361045e366004611b53565b610c45565b34801561046f57600080fd5b506102b3610c57565b34801561048457600080fd5b506102b3610493366004611b53565b610c5d565b3480156104a457600080fd5b50610397610c6f565b3480156104b957600080fd5b506102b3610c7e565b3480156104ce57600080fd5b506102716104dd366004611d5c565b610c84565b3480156104ee57600080fd5b506102716104fd366004611c7b565b610c8e565b34801561050e57600080fd5b5061027161051d366004611d5c565b610d45565b34801561052e57600080fd5b5061027161053d366004611b53565b610d69565b34801561054e57600080fd5b506102b3610fac565b34801561056357600080fd5b506102b3610fb2565b34801561057857600080fd5b506102b3610587366004611bce565b610fb8565b34801561059857600080fd5b506102b3610fce565b3480156105ad57600080fd5b506105c16105bc366004611d74565b610fd8565b6040516102489190612446565b3480156105da57600080fd5b506102716105e9366004611d5c565b61104a565b3480156105fa57600080fd5b50610271610609366004611d5c565b61106e565b34801561061a57600080fd5b50610271610629366004611d5c565b611092565b34801561063a57600080fd5b50610271610649366004611c1c565b6110b6565b61027161065c366004611d5c565b611136565b603d818154811061066e57fe5b600091825260209091206008909102018054600182015460028301546003840154600485015460058601546006909601546001600160a01b039586169750949093169491939092919060ff8082169161010090041688565b3330146106ee5760405162461bcd60e51b81526004016106e590612212565b60405180910390fd5b603555565b6106fe3383836112c8565b5050565b603e6020526000908152604090205481565b60335481565b6000610724610fce565b82111580156107335750600082115b61074f5760405162461bcd60e51b81526004016106e590612348565b6000603d838154811061075e57fe5b90600052602060002090600802019050806002015461077b6114f9565b1161078a576000915050610858565b80600301546107976114f9565b116107a6576001915050610858565b806005015481600401541115806107c857506035548160050154826004015401105b156107d7576002915050610858565b600681015460ff16156107ee576005915050610858565b61081360345461080d60335484600301546114fd90919063ffffffff16565b906114fd565b61081b6114f9565b1061082a576006915050610858565b603354600382015461083b916114fd565b6108436114f9565b10610852576004915050610858565b60039150505b919050565b603a5481565b6001600160a01b038381166000908152603c6020526040812054909116331461089e5760405162461bcd60e51b81526004016106e5906123d8565b6108a9848484611522565b949350505050565b336000818152603c60205260409020546001600160a01b0390811691908316148015906108e757506001600160a01b0382163014155b80156108fb57506001600160a01b03821615155b80156109195750806001600160a01b0316826001600160a01b031614155b6109355760405162461bcd60e51b81526004016106e590612249565b6001600160a01b0381161561097b576040516001600160a01b0382169033907f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7290600090a35b336000818152603c602052604080822080546001600160a01b0319166001600160a01b03871690811790915590519092917f4bc154dd35d6a5cb9206482ecb473cdbf2473006d6bce728b9cc0741bcc59ea291a35050565b336000908152603f60205260409020546109eb6114f9565b11610a085760405162461bcd60e51b81526004016106e590612175565b60408051808201825260208082527f476f7665726e616e63653a20696e73756666696369656e742062616c616e636581830152336000908152603b9091529190912054610a56918390611870565b336000818152603b602052604090819020929092558154915163a9059cbb60e01b81526001600160a01b039092169163a9059cbb91610a99918590600401611e2b565b602060405180830381600087803b158015610ab357600080fd5b505af1158015610ac7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aeb9190611d40565b610b075760405162461bcd60e51b81526004016106e5906121ac565b50565b603c602052600090815260409020546001600160a01b031681565b60355481565b60345481565b333014610b505760405162461bcd60e51b81526004016106e590612212565b6033548110610b715760405162461bcd60e51b81526004016106e590612131565b603a55565b333014610b955760405162461bcd60e51b81526004016106e590612212565b603755565b336000908152603c60205260409020546001600160a01b031680610bd05760405162461bcd60e51b81526004016106e59061238e565b336000818152603c602052604080822080546001600160a01b0319169055516001600160a01b03841692917f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7291a350565b333014610c405760405162461bcd60e51b81526004016106e590612212565b603455565b603b6020526000908152604090205481565b60365481565b603f6020526000908152604090205481565b6040546001600160a01b031681565b60385481565b610b07338261189c565b60005b8351811015610d1f57336001600160a01b0316603c6000868481518110610cb457fe5b6020908102919091018101516001600160a01b03908116835290820192909252604001600020541614610cf95760405162461bcd60e51b81526004016106e5906123d8565b610d17848281518110610d0857fe5b602002602001015184846112c8565b600101610c91565b50336000908152603b602052604090205415610d4057610d403383836112c8565b505050565b333014610d645760405162461bcd60e51b81526004016106e590612212565b603955565b600054610100900460ff1680610d825750610d82611981565b80610d90575060005460ff16155b610dac5760405162461bcd60e51b81526004016106e5906122fa565b600054610100900460ff16158015610dd7576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b038085166001600160a01b03199283161783558251610100818101855230825261dead602083019081526000958301868152606084018781526080850188815260a08601898152600160c0880181815260e089018c8152603d80549384018155909c52975160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b16928c169290921790915594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc4860180549190991699169890981790965590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc5830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc682015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc784015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc8830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990910180549351151590920261ff001991151560ff199094169390931716919091179055610f97611987565b80156106fe576000805461ff00191690555050565b60395481565b60375481565b6000610fc5338484611522565b90505b92915050565b603d546000190190565b610fe0611a4d565b603d8381548110610fed57fe5b600091825260208083206001600160a01b0395909516835260089190910290930160070183526040908190208151606081018352815460ff8082161515835261010090910416151594810194909452600101549083015250919050565b3330146110695760405162461bcd60e51b81526004016106e590612212565b603355565b33301461108d5760405162461bcd60e51b81526004016106e590612212565b603855565b3330146110b15760405162461bcd60e51b81526004016106e590612212565b603655565b60408054905163d505accf60e01b81526001600160a01b039091169063d505accf906110f290899030908a908a908a908a908a90600401611eae565b600060405180830381600087803b15801561110c57600080fd5b505af1158015611120573d6000803e3d6000fd5b5050505061112e868661189c565b505050505050565b60046111418261071a565b600681111561114c57fe5b146111695760405162461bcd60e51b81526004016106e590611f90565b6000603d828154811061117857fe5b600091825260209091206006600890920201908101805460ff191660019081179091558101549091506001600160a01b03166111b3816119c8565b6111cf5760405162461bcd60e51b81526004016106e590611f4d565b60408051600481526024810182526020810180516001600160e01b03166306e60b1760e31b17905290516000916060916001600160a01b0385169161121391611dfb565b600060405180830381855af49150503d806000811461124e576040519150601f19603f3d011682016040523d82523d6000602084013e611253565b606091505b5091509150816112965780511561127e578060405162461bcd60e51b81526004016106e59190611f3a565b60405162461bcd60e51b81526004016106e59061240f565b60405185907f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f90600090a25050505050565b60016112d38361071a565b60068111156112de57fe5b146112fb5760405162461bcd60e51b81526004016106e590612056565b6000603d838154811061130a57fe5b600091825260208083206001600160a01b038816845260076008909302019182018152604080842060058401546004850154603b9094529190942054929450101590806113695760405162461bcd60e51b81526004016106e590612280565b825460ff16156113b8578254610100900460ff161561139f5760018301546004850154611395916119ce565b60048501556113b8565b600183015460058501546113b2916119ce565b60058501555b84156113d75760048401546113cd90826114fd565b60048501556113ec565b60058401546113e690826114fd565b60058501555b6006840154610100900460ff1615801561141c575060395461141a61140f6114f9565b6003870154906119ce565b105b1561146057600584015460048501541115821515811461145e5760068501805461ff001916610100179055603a546003860154611458916114fd565b60038601555b505b8254600160ff19909116811761ff001916610100871515021784558301819055603354603454603a5460038701546114ab938b936114a693919261080d928391906114fd565b611a10565b841515876001600160a01b0316877f7c2de587c00d75474a0c6c6fa96fd3b45dc974cd4e8a75f712bb84c950dce1b5846040516114e8919061246b565b60405180910390a450505050505050565b4290565b600082820183811015610fc55760405162461bcd60e51b81526004016106e5906120fa565b6001600160a01b0383166000908152603b602052604081205460365481101561155d5760405162461bcd60e51b81526004016106e59061209d565b611566846119c8565b6115825760405162461bcd60e51b81526004016106e5906122b7565b6001600160a01b0385166000908152603e602052604090205480156115f45760006115ac8261071a565b905060018160068111156115bc57fe5b141580156115d6575060008160068111156115d357fe5b14155b6115f25760405162461bcd60e51b81526004016106e590611fdb565b505b600061160460375461080d6114f9565b9050600061161d603854836114fd90919063ffffffff16565b9050611627611a6d565b506040805161010080820183526001600160a01b03808c1683528a8116602084019081529383018681526060840186815260006080860181815260a0870182815260c0880183815260e08901848152603d80546001810182559086528a5160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b166001600160a01b03199384161790559b517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc48d01805491909a1691161790975594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc58a015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc6890155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc788015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc887015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990950180549251151590930261ff001995151560ff199093169290921794909416179055906117d9610fce565b82516001600160a01b03166000908152603e60205260409020819055603354603454603a5492935061181b928d926114a692909161080d919082908a906114fd565b896001600160a01b0316817f90ec05050aa23d54ba425e926fe646c318e85825bc400b13a46010abe86eb2f08b87878d60405161185b9493929190611eef565b60405180910390a39998505050505050505050565b600081848411156118945760405162461bcd60e51b81526004016106e59190611f3a565b505050900390565b6040805490516323b872dd60e01b81526001600160a01b03909116906323b872dd906118d090859030908690600401611e44565b602060405180830381600087803b1580156118ea57600080fd5b505af11580156118fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119229190611d40565b61193e5760405162461bcd60e51b81526004016106e5906121db565b6001600160a01b0382166000908152603b602052604090205461196190826114fd565b6001600160a01b039092166000908152603b602052604090209190915550565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b3b151590565b6000610fc583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611870565b6001600160a01b0382166000908152603f60205260409020548111156106fe576001600160a01b03919091166000908152603f6020526040902055565b604080516060810182526000808252602082018190529181019190915290565b60405180610100016040528060006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000151581526020016000151581525090565b80356001600160a01b0381168114610fc857600080fd5b8035610fc8816124e0565b600082601f830112611afa578081fd5b813567ffffffffffffffff811115611b10578182fd5b611b23601f8201601f1916602001612474565b9150808252836020828501011115611b3a57600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215611b64578081fd5b610fc58383611ac8565b600080600060608486031215611b82578182fd5b8335611b8d816124cb565b92506020840135611b9d816124cb565b9150604084013567ffffffffffffffff811115611bb8578182fd5b611bc486828701611aea565b9150509250925092565b60008060408385031215611be0578182fd5b8235611beb816124cb565b9150602083013567ffffffffffffffff811115611c06578182fd5b611c1285828601611aea565b9150509250929050565b60008060008060008060c08789031215611c34578182fd5b611c3e8888611ac8565b95506020870135945060408701359350606087013560ff81168114611c61578283fd5b9598949750929560808101359460a0909101359350915050565b600080600060608486031215611c8f578283fd5b833567ffffffffffffffff80821115611ca6578485fd5b818601915086601f830112611cb9578485fd5b813581811115611cc7578586fd5b60209150818102611cd9838201612474565b8281528381019085850183870186018c1015611cf357898afd5b8996505b84871015611d1d57611d098c82611ac8565b835260019690960195918501918501611cf7565b5097505050508501359250611d3790508560408601611adf565b90509250925092565b600060208284031215611d51578081fd5b8151610fc5816124e0565b600060208284031215611d6d578081fd5b5035919050565b60008060408385031215611d86578182fd5b82359150611d978460208501611ac8565b90509250929050565b60008060408385031215611db2578182fd5b823591506020830135611dc4816124e0565b809150509250929050565b60008151808452611de781602086016020860161249b565b601f01601f19169290920160200192915050565b60008251611e0d81846020870161249b565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03988916815296909716602087015260408601949094526060850192909252608084015260a0830152151560c082015290151560e08201526101000190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b600060018060a01b038616825284602083015283604083015260806060830152611f1c6080830184611dcf565b9695505050505050565b6020810160078310611f3457fe5b91905290565b600060208252610fc56020830184611dcf565b60208082526023908201527f476f7665726e616e63653a3a657865637574653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602b908201527f476f7665726e616e63653a3a657865637574653a20696e76616c69642070726f60408201526a706f73616c20737461746560a81b606082015260800190565b60208082526055908201527f476f7665726e616e63653a3a70726f706f73653a206f6e65206c69766520707260408201527f6f706f73616c207065722070726f706f7365722c20666f756e6420616e20616c6060820152741c9958591e481858dd1a5d99481c1c9bdc1bdcd85b605a1b608082015260a00190565b60208082526027908201527f476f7665726e616e63653a3a5f63617374566f74653a20766f74696e672069736040820152660818db1bdcd95960ca1b606082015260800190565b6020808252603c908201527f476f7665726e616e63653a3a70726f706f73653a2070726f706f73657220766f60408201527f7465732062656c6f772070726f706f73616c207468726573686f6c6400000000606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526024908201527f476f7665726e616e63653a20696e636f727265637420766f7465457874656e6460408201526354696d6560e01b606082015260800190565b6020808252601d908201527f476f7665726e616e63653a20746f6b656e7320617265206c6f636b6564000000604082015260600190565b6020808252601590820152741513d4938e881d1c985b9cd9995c8819985a5b1959605a1b604082015260600190565b60208082526019908201527f544f524e3a207472616e7366657246726f6d206661696c656400000000000000604082015260600190565b60208082526018908201527f476f7665726e616e63653a20756e617574686f72697a65640000000000000000604082015260600190565b6020808252601d908201527f476f7665726e616e63653a20696e76616c69642064656c656761746565000000604082015260600190565b60208082526018908201527f476f7665726e616e63653a2062616c616e636520697320300000000000000000604082015260600190565b60208082526023908201527f476f7665726e616e63653a3a70726f706f73653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b60208082526026908201527f476f7665726e616e63653a3a73746174653a20696e76616c69642070726f706f6040820152651cd85b081a5960d21b606082015260800190565b6020808252602a908201527f476f7665726e616e63653a20746f6b656e732061726520616c726561647920756040820152691b99195b1959d85d195960b21b606082015260800190565b6020808252601a908201527f476f7665726e616e63653a206e6f7420617574686f72697a6564000000000000604082015260600190565b60208082526019908201527f50726f706f73616c20657865637574696f6e206661696c656400000000000000604082015260600190565b8151151581526020808301511515908201526040918201519181019190915260600190565b90815260200190565b60405181810167ffffffffffffffff8111828210171561249357600080fd5b604052919050565b60005b838110156124b657818101518382015260200161249e565b838111156124c5576000848401525b50505050565b6001600160a01b0381168114610b0757600080fd5b8015158114610b0757600080fdfea26469706673582212208c8a57d0dd9da76417112ba79eab1d38dbdf5e0a8bc014651f10bebe82ce8f9b64736f6c634300060c0033"; + static readonly abi: readonly [{ + readonly inputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "constructor"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "account"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "to"; + readonly type: "address"; + }]; + readonly name: "Delegated"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "uint256"; + readonly name: "id"; + readonly type: "uint256"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "proposer"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "address"; + readonly name: "target"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "startTime"; + readonly type: "uint256"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "endTime"; + readonly type: "uint256"; + }, { + readonly indexed: false; + readonly internalType: "string"; + readonly name: "description"; + readonly type: "string"; + }]; + readonly name: "ProposalCreated"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }]; + readonly name: "ProposalExecuted"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "account"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "from"; + readonly type: "address"; + }]; + readonly name: "Undelegated"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "voter"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "bool"; + readonly name: "support"; + readonly type: "bool"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "votes"; + readonly type: "uint256"; + }]; + readonly name: "Voted"; + readonly type: "event"; + }, { + readonly inputs: readonly []; + readonly name: "CLOSING_PERIOD"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "EXECUTION_DELAY"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "EXECUTION_EXPIRATION"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "PROPOSAL_THRESHOLD"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "QUORUM_VOTES"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "VOTE_EXTEND_TIME"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "VOTING_DELAY"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "VOTING_PERIOD"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly name: "canWithdrawAfter"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address[]"; + readonly name: "from"; + readonly type: "address[]"; + }, { + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }, { + readonly internalType: "bool"; + readonly name: "support"; + readonly type: "bool"; + }]; + readonly name: "castDelegatedVote"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }, { + readonly internalType: "bool"; + readonly name: "support"; + readonly type: "bool"; + }]; + readonly name: "castVote"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "to"; + readonly type: "address"; + }]; + readonly name: "delegate"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly name: "delegatedTo"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }]; + readonly name: "execute"; + readonly outputs: readonly []; + readonly stateMutability: "payable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }, { + readonly internalType: "address"; + readonly name: "voter"; + readonly type: "address"; + }]; + readonly name: "getReceipt"; + readonly outputs: readonly [{ + readonly components: readonly [{ + readonly internalType: "bool"; + readonly name: "hasVoted"; + readonly type: "bool"; + }, { + readonly internalType: "bool"; + readonly name: "support"; + readonly type: "bool"; + }, { + readonly internalType: "uint256"; + readonly name: "votes"; + readonly type: "uint256"; + }]; + readonly internalType: "struct Governance.Receipt"; + readonly name: ""; + readonly type: "tuple"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "_torn"; + readonly type: "address"; + }]; + readonly name: "initialize"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly name: "latestProposalIds"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "deadline"; + readonly type: "uint256"; + }, { + readonly internalType: "uint8"; + readonly name: "v"; + readonly type: "uint8"; + }, { + readonly internalType: "bytes32"; + readonly name: "r"; + readonly type: "bytes32"; + }, { + readonly internalType: "bytes32"; + readonly name: "s"; + readonly type: "bytes32"; + }]; + readonly name: "lock"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "lockWithApproval"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly name: "lockedBalance"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "proposalCount"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly name: "proposals"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: "proposer"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "target"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "startTime"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "endTime"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "forVotes"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "againstVotes"; + readonly type: "uint256"; + }, { + readonly internalType: "bool"; + readonly name: "executed"; + readonly type: "bool"; + }, { + readonly internalType: "bool"; + readonly name: "extended"; + readonly type: "bool"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "target"; + readonly type: "address"; + }, { + readonly internalType: "string"; + readonly name: "description"; + readonly type: "string"; + }]; + readonly name: "propose"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "from"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "target"; + readonly type: "address"; + }, { + readonly internalType: "string"; + readonly name: "description"; + readonly type: "string"; + }]; + readonly name: "proposeByDelegate"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "closingPeriod"; + readonly type: "uint256"; + }]; + readonly name: "setClosingPeriod"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "executionDelay"; + readonly type: "uint256"; + }]; + readonly name: "setExecutionDelay"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "executionExpiration"; + readonly type: "uint256"; + }]; + readonly name: "setExecutionExpiration"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "proposalThreshold"; + readonly type: "uint256"; + }]; + readonly name: "setProposalThreshold"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "quorumVotes"; + readonly type: "uint256"; + }]; + readonly name: "setQuorumVotes"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "voteExtendTime"; + readonly type: "uint256"; + }]; + readonly name: "setVoteExtendTime"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "votingDelay"; + readonly type: "uint256"; + }]; + readonly name: "setVotingDelay"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "votingPeriod"; + readonly type: "uint256"; + }]; + readonly name: "setVotingPeriod"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }]; + readonly name: "state"; + readonly outputs: readonly [{ + readonly internalType: "enum Governance.ProposalState"; + readonly name: ""; + readonly type: "uint8"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "torn"; + readonly outputs: readonly [{ + readonly internalType: "contract TORN"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "undelegate"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "unlock"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }]; + static createInterface(): GovernanceInterface; + static connect(address: string, runner?: ContractRunner | null): Governance; +} +export {}; diff --git a/dist/factories/contracts/Governance/v1/Mocks/Dummy.sol/DummySecond__factory.d.ts b/dist/factories/contracts/Governance/v1/Mocks/Dummy.sol/DummySecond__factory.d.ts new file mode 100644 index 0000000..2c31563 --- /dev/null +++ b/dist/factories/contracts/Governance/v1/Mocks/Dummy.sol/DummySecond__factory.d.ts @@ -0,0 +1,48 @@ +import { ContractFactory, ContractTransactionResponse } from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../../../common"; +import type { DummySecond, DummySecondInterface } from "../../../../../../contracts/Governance/v1/Mocks/Dummy.sol/DummySecond"; +type DummySecondConstructorParams = [signer?: Signer] | ConstructorParameters; +export declare class DummySecond__factory extends ContractFactory { + constructor(...args: DummySecondConstructorParams); + getDeployTransaction(overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + deploy(overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + connect(runner: ContractRunner | null): DummySecond__factory; + static readonly bytecode = "0x608060405234801561001057600080fd5b50610278806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80631f1bd692146100465780633fa4f245146100c35780638129fc1c146100dd575b600080fd5b61004e6100e7565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610088578181015183820152602001610070565b50505050905090810190601f1680156100b55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6100cb610174565b60408051918252519081900360200190f35b6100e561017a565b005b60018054604080516020600284861615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561016c5780601f106101415761010080835404028352916020019161016c565b820191906000526020600020905b81548152906001019060200180831161014f57829003601f168201915b505050505081565b60005481565b600260005560408051808201909152600680825265323ab6b6bc9960d11b60209092019182526101ac916001916101af565b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106101f057805160ff191683800117855561021d565b8280016001018555821561021d579182015b8281111561021d578251825591602001919060010190610202565b5061022992915061022d565b5090565b5b80821115610229576000815560010161022e56fea2646970667358221220056d994e19772e421a19f4bcf8cb09061d5645867c4c352106bf6b809fb5de3664736f6c634300060c0033"; + static readonly abi: readonly [{ + readonly inputs: readonly []; + readonly name: "initialize"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "text"; + readonly outputs: readonly [{ + readonly internalType: "string"; + readonly name: ""; + readonly type: "string"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "value"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }]; + static createInterface(): DummySecondInterface; + static connect(address: string, runner?: ContractRunner | null): DummySecond; +} +export {}; diff --git a/dist/factories/contracts/Governance/v1/Mocks/Dummy.sol/Dummy__factory.d.ts b/dist/factories/contracts/Governance/v1/Mocks/Dummy.sol/Dummy__factory.d.ts new file mode 100644 index 0000000..93133a7 --- /dev/null +++ b/dist/factories/contracts/Governance/v1/Mocks/Dummy.sol/Dummy__factory.d.ts @@ -0,0 +1,48 @@ +import { ContractFactory, ContractTransactionResponse } from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../../../common"; +import type { Dummy, DummyInterface } from "../../../../../../contracts/Governance/v1/Mocks/Dummy.sol/Dummy"; +type DummyConstructorParams = [signer?: Signer] | ConstructorParameters; +export declare class Dummy__factory extends ContractFactory { + constructor(...args: DummyConstructorParams); + getDeployTransaction(overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + deploy(overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + connect(runner: ContractRunner | null): Dummy__factory; + static readonly bytecode = "0x608060405234801561001057600080fd5b50610278806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80631f1bd692146100465780633fa4f245146100c35780638129fc1c146100dd575b600080fd5b61004e6100e7565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610088578181015183820152602001610070565b50505050905090810190601f1680156100b55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6100cb610174565b60408051918252519081900360200190f35b6100e561017a565b005b60018054604080516020600284861615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561016c5780601f106101415761010080835404028352916020019161016c565b820191906000526020600020905b81548152906001019060200180831161014f57829003601f168201915b505050505081565b60005481565b600160008190556040805180820190915260058082526464756d6d7960d81b60209092019182526101ac9291906101af565b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106101f057805160ff191683800117855561021d565b8280016001018555821561021d579182015b8281111561021d578251825591602001919060010190610202565b5061022992915061022d565b5090565b5b80821115610229576000815560010161022e56fea26469706673582212204b4d54284aeff9c7c570415da4a9efb9bf7115fe94a322210f9981c1c7ae107a64736f6c634300060c0033"; + static readonly abi: readonly [{ + readonly inputs: readonly []; + readonly name: "initialize"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "text"; + readonly outputs: readonly [{ + readonly internalType: "string"; + readonly name: ""; + readonly type: "string"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "value"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }]; + static createInterface(): DummyInterface; + static connect(address: string, runner?: ContractRunner | null): Dummy; +} +export {}; diff --git a/dist/factories/contracts/Governance/v1/Mocks/Dummy.sol/index.d.ts b/dist/factories/contracts/Governance/v1/Mocks/Dummy.sol/index.d.ts new file mode 100644 index 0000000..d451800 --- /dev/null +++ b/dist/factories/contracts/Governance/v1/Mocks/Dummy.sol/index.d.ts @@ -0,0 +1,2 @@ +export { Dummy__factory } from "./Dummy__factory"; +export { DummySecond__factory } from "./DummySecond__factory"; diff --git a/dist/factories/contracts/Governance/v1/Mocks/MockGovernance__factory.d.ts b/dist/factories/contracts/Governance/v1/Mocks/MockGovernance__factory.d.ts new file mode 100644 index 0000000..0c59a08 --- /dev/null +++ b/dist/factories/contracts/Governance/v1/Mocks/MockGovernance__factory.d.ts @@ -0,0 +1,633 @@ +import { ContractFactory, ContractTransactionResponse } from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../../common"; +import type { MockGovernance, MockGovernanceInterface } from "../../../../../contracts/Governance/v1/Mocks/MockGovernance"; +type MockGovernanceConstructorParams = [signer?: Signer] | ConstructorParameters; +export declare class MockGovernance__factory extends ContractFactory { + constructor(...args: MockGovernanceConstructorParams); + getDeployTransaction(overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + deploy(overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + connect(runner: ContractRunner | null): MockGovernance__factory; + static readonly bytecode = "0x6080604052426041553480156200001557600080fd5b50600054610100900460ff168062000032575062000032620000cd565b8062000041575060005460ff16155b620000695760405162461bcd60e51b8152600401620000609062000114565b60405180910390fd5b600054610100900460ff1615801562000095576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b03191661dead179055620000b3620000d3565b8015620000c6576000805461ff00191690555b5062000162565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b6125c980620001726000396000f3fe6080604052600436106102305760003560e01c8063a0a2b5731161012e578063ce25d71c116100ab578063e4917d9f1161006f578063e4917d9f14610644578063ea0217cf14610664578063ece40cc114610684578063f0b76892146106a4578063fe0d94c1146106c457610230565b8063ce25d71c146105b8578063d6159fe5146105cd578063d6f0948c146105e2578063da35c66414610602578063e23a9a521461061757610230565b8063b54426c8116100f2578063b54426c814610518578063b5f6a74314610538578063b859f11b14610558578063c0c0e82014610578578063c4d66de81461059857610230565b8063a0a2b57314610499578063a6c26603146104b9578063a72edda3146104ce578063adf898a4146104ee578063b1610d7e1461050357610230565b80635c19a95c116101bc5780636dc2dc6c116101805780636dc2dc6c1461040457806370b0f6601461042457806392ab89bb146104445780639a9e3b6e146104595780639ae697bf1461047957610230565b80635c19a95c1461036d5780636198e3391461038d57806365da1264146103ad578063671dd275146103da5780636a661755146103ef57610230565b806317977c611161020357806317977c61146102d657806337f135d7146102f65780633e4f49e61461030b578063587a6ecb1461033857806358e9fff01461034d57610230565b8063013cf08b1461023557806302ec8f9e1461027257806315373e3d1461029457806316ada547146102b4575b600080fd5b34801561024157600080fd5b50610255610250366004611e01565b6106d7565b604051610269989796959493929190611f0d565b60405180910390f35b34801561027e57600080fd5b5061029261028d366004611e01565b61073c565b005b3480156102a057600080fd5b506102926102af366004611e45565b610769565b3480156102c057600080fd5b506102c9610778565b6040516102699190612510565b3480156102e257600080fd5b506102c96102f1366004611bf8565b61077e565b34801561030257600080fd5b506102c9610790565b34801561031757600080fd5b5061032b610326366004611e01565b610796565b6040516102699190611fcb565b34801561034457600080fd5b506102c96108d9565b34801561035957600080fd5b506102c9610368366004611c13565b6108df565b34801561037957600080fd5b50610292610388366004611bf8565b61092d565b34801561039957600080fd5b506102926103a8366004611e01565b610a4f565b3480156103b957600080fd5b506103cd6103c8366004611bf8565b610b86565b6040516102699190611ebc565b3480156103e657600080fd5b506102c9610ba1565b3480156103fb57600080fd5b506102c9610ba7565b34801561041057600080fd5b5061029261041f366004611e01565b610bad565b34801561043057600080fd5b5061029261043f366004611e01565b610bf2565b34801561045057600080fd5b50610292610c16565b34801561046557600080fd5b50610292610474366004611e01565b610c9d565b34801561048557600080fd5b506102c9610494366004611bf8565b610cc1565b3480156104a557600080fd5b506102926104b4366004611e01565b610cd3565b3480156104c557600080fd5b506102c9610cd8565b3480156104da57600080fd5b506102c96104e9366004611bf8565b610cde565b3480156104fa57600080fd5b506103cd610cf0565b34801561050f57600080fd5b506102c9610cff565b34801561052457600080fd5b50610292610533366004611e01565b610d05565b34801561054457600080fd5b50610292610553366004611bf8565b610d0f565b34801561056457600080fd5b50610292610573366004611d20565b610d31565b34801561058457600080fd5b50610292610593366004611e01565b610de8565b3480156105a457600080fd5b506102926105b3366004611bf8565b610e0c565b3480156105c457600080fd5b506102c961104f565b3480156105d957600080fd5b506102c9611055565b3480156105ee57600080fd5b506102c96105fd366004611c73565b61105b565b34801561060e57600080fd5b506102c9611071565b34801561062357600080fd5b50610637610632366004611e19565b61107b565b60405161026991906124eb565b34801561065057600080fd5b5061029261065f366004611e01565b6110ed565b34801561067057600080fd5b5061029261067f366004611e01565b611111565b34801561069057600080fd5b5061029261069f366004611e01565b611135565b3480156106b057600080fd5b506102926106bf366004611cc1565b611159565b6102926106d2366004611e01565b6111d9565b603d81815481106106e457fe5b600091825260209091206008909102018054600182015460028301546003840154600485015460058601546006909601546001600160a01b039586169750949093169491939092919060ff8082169161010090041688565b3330146107645760405162461bcd60e51b815260040161075b906122b7565b60405180910390fd5b603555565b61077433838361136b565b5050565b60415481565b603e6020526000908152604090205481565b60335481565b60006107a0611071565b82111580156107af5750600082115b6107cb5760405162461bcd60e51b815260040161075b906123ed565b6000603d83815481106107da57fe5b9060005260206000209060080201905080600201546107f761159c565b116108065760009150506108d4565b806003015461081361159c565b116108225760019150506108d4565b8060050154816004015411158061084457506035548160050154826004015401105b156108535760029150506108d4565b600681015460ff161561086a5760059150506108d4565b61088f60345461088960335484600301546115a290919063ffffffff16565b906115a2565b61089761159c565b106108a65760069150506108d4565b60335460038201546108b7916115a2565b6108bf61159c565b106108ce5760049150506108d4565b60039150505b919050565b603a5481565b6001600160a01b038381166000908152603c6020526040812054909116331461091a5760405162461bcd60e51b815260040161075b9061247d565b6109258484846115c7565b949350505050565b336000818152603c60205260409020546001600160a01b03908116919083161480159061096357506001600160a01b0382163014155b801561097757506001600160a01b03821615155b80156109955750806001600160a01b0316826001600160a01b031614155b6109b15760405162461bcd60e51b815260040161075b906122ee565b6001600160a01b038116156109f7576040516001600160a01b0382169033907f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7290600090a35b336000818152603c602052604080822080546001600160a01b0319166001600160a01b03871690811790915590519092917f4bc154dd35d6a5cb9206482ecb473cdbf2473006d6bce728b9cc0741bcc59ea291a35050565b336000908152603f6020526040902054610a6761159c565b11610a845760405162461bcd60e51b815260040161075b9061221a565b60408051808201825260208082527f476f7665726e616e63653a20696e73756666696369656e742062616c616e636581830152336000908152603b9091529190912054610ad2918390611915565b336000818152603b602052604090819020929092558154915163a9059cbb60e01b81526001600160a01b039092169163a9059cbb91610b15918590600401611ed0565b602060405180830381600087803b158015610b2f57600080fd5b505af1158015610b43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b679190611de5565b610b835760405162461bcd60e51b815260040161075b90612251565b50565b603c602052600090815260409020546001600160a01b031681565b60355481565b60345481565b333014610bcc5760405162461bcd60e51b815260040161075b906122b7565b6033548110610bed5760405162461bcd60e51b815260040161075b906121d6565b603a55565b333014610c115760405162461bcd60e51b815260040161075b906122b7565b603755565b336000908152603c60205260409020546001600160a01b031680610c4c5760405162461bcd60e51b815260040161075b90612433565b336000818152603c602052604080822080546001600160a01b0319169055516001600160a01b03841692917f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7291a350565b333014610cbc5760405162461bcd60e51b815260040161075b906122b7565b603455565b603b6020526000908152604090205481565b604155565b60365481565b603f6020526000908152604090205481565b6040546001600160a01b031681565b60385481565b610b833382611941565b604080546001600160a01b0319166001600160a01b0392909216919091179055565b60005b8351811015610dc257336001600160a01b0316603c6000868481518110610d5757fe5b6020908102919091018101516001600160a01b03908116835290820192909252604001600020541614610d9c5760405162461bcd60e51b815260040161075b9061247d565b610dba848281518110610dab57fe5b6020026020010151848461136b565b600101610d34565b50336000908152603b602052604090205415610de357610de333838361136b565b505050565b333014610e075760405162461bcd60e51b815260040161075b906122b7565b603955565b600054610100900460ff1680610e255750610e25611a26565b80610e33575060005460ff16155b610e4f5760405162461bcd60e51b815260040161075b9061239f565b600054610100900460ff16158015610e7a576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b038085166001600160a01b03199283161783558251610100818101855230825261dead602083019081526000958301868152606084018781526080850188815260a08601898152600160c0880181815260e089018c8152603d80549384018155909c52975160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b16928c169290921790915594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc4860180549190991699169890981790965590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc5830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc682015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc784015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc8830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990910180549351151590920261ff001991151560ff19909416939093171691909117905561103a611a2c565b8015610774576000805461ff00191690555050565b60395481565b60375481565b60006110683384846115c7565b90505b92915050565b603d546000190190565b611083611af2565b603d838154811061109057fe5b600091825260208083206001600160a01b0395909516835260089190910290930160070183526040908190208151606081018352815460ff8082161515835261010090910416151594810194909452600101549083015250919050565b33301461110c5760405162461bcd60e51b815260040161075b906122b7565b603355565b3330146111305760405162461bcd60e51b815260040161075b906122b7565b603855565b3330146111545760405162461bcd60e51b815260040161075b906122b7565b603655565b60408054905163d505accf60e01b81526001600160a01b039091169063d505accf9061119590899030908a908a908a908a908a90600401611f53565b600060405180830381600087803b1580156111af57600080fd5b505af11580156111c3573d6000803e3d6000fd5b505050506111d18686611941565b505050505050565b60046111e482610796565b60068111156111ef57fe5b1461120c5760405162461bcd60e51b815260040161075b90612035565b6000603d828154811061121b57fe5b600091825260209091206006600890920201908101805460ff191660019081179091558101549091506001600160a01b031661125681611a6d565b6112725760405162461bcd60e51b815260040161075b90611ff2565b60408051600481526024810182526020810180516001600160e01b03166306e60b1760e31b17905290516000916060916001600160a01b038516916112b691611ea0565b600060405180830381855af49150503d80600081146112f1576040519150601f19603f3d011682016040523d82523d6000602084013e6112f6565b606091505b50915091508161133957805115611321578060405162461bcd60e51b815260040161075b9190611fdf565b60405162461bcd60e51b815260040161075b906124b4565b60405185907f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f90600090a25050505050565b600161137683610796565b600681111561138157fe5b1461139e5760405162461bcd60e51b815260040161075b906120fb565b6000603d83815481106113ad57fe5b600091825260208083206001600160a01b038816845260076008909302019182018152604080842060058401546004850154603b90945291909420549294501015908061140c5760405162461bcd60e51b815260040161075b90612325565b825460ff161561145b578254610100900460ff1615611442576001830154600485015461143891611a73565b600485015561145b565b6001830154600585015461145591611a73565b60058501555b841561147a57600484015461147090826115a2565b600485015561148f565b600584015461148990826115a2565b60058501555b6006840154610100900460ff161580156114bf57506039546114bd6114b261159c565b600387015490611a73565b105b156115035760058401546004850154111582151581146115015760068501805461ff001916610100179055603a5460038601546114fb916115a2565b60038601555b505b8254600160ff19909116811761ff001916610100871515021784558301819055603354603454603a54600387015461154e938b93611549939192610889928391906115a2565b611ab5565b841515876001600160a01b0316877f7c2de587c00d75474a0c6c6fa96fd3b45dc974cd4e8a75f712bb84c950dce1b58460405161158b9190612510565b60405180910390a450505050505050565b60415490565b6000828201838110156110685760405162461bcd60e51b815260040161075b9061219f565b6001600160a01b0383166000908152603b60205260408120546036548110156116025760405162461bcd60e51b815260040161075b90612142565b61160b84611a6d565b6116275760405162461bcd60e51b815260040161075b9061235c565b6001600160a01b0385166000908152603e6020526040902054801561169957600061165182610796565b9050600181600681111561166157fe5b1415801561167b5750600081600681111561167857fe5b14155b6116975760405162461bcd60e51b815260040161075b90612080565b505b60006116a960375461088961159c565b905060006116c2603854836115a290919063ffffffff16565b90506116cc611b12565b506040805161010080820183526001600160a01b03808c1683528a8116602084019081529383018681526060840186815260006080860181815260a0870182815260c0880183815260e08901848152603d80546001810182559086528a5160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b166001600160a01b03199384161790559b517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc48d01805491909a1691161790975594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc58a015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc6890155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc788015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc887015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990950180549251151590930261ff001995151560ff1990931692909217949094161790559061187e611071565b82516001600160a01b03166000908152603e60205260409020819055603354603454603a549293506118c0928d92611549929091610889919082908a906115a2565b896001600160a01b0316817f90ec05050aa23d54ba425e926fe646c318e85825bc400b13a46010abe86eb2f08b87878d6040516119009493929190611f94565b60405180910390a39998505050505050505050565b600081848411156119395760405162461bcd60e51b815260040161075b9190611fdf565b505050900390565b6040805490516323b872dd60e01b81526001600160a01b03909116906323b872dd9061197590859030908690600401611ee9565b602060405180830381600087803b15801561198f57600080fd5b505af11580156119a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c79190611de5565b6119e35760405162461bcd60e51b815260040161075b90612280565b6001600160a01b0382166000908152603b6020526040902054611a0690826115a2565b6001600160a01b039092166000908152603b602052604090209190915550565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b3b151590565b600061106883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611915565b6001600160a01b0382166000908152603f6020526040902054811115610774576001600160a01b03919091166000908152603f6020526040902055565b604080516060810182526000808252602082018190529181019190915290565b60405180610100016040528060006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000151581526020016000151581525090565b80356001600160a01b038116811461106b57600080fd5b803561106b81612585565b600082601f830112611b9f578081fd5b813567ffffffffffffffff811115611bb5578182fd5b611bc8601f8201601f1916602001612519565b9150808252836020828501011115611bdf57600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215611c09578081fd5b6110688383611b6d565b600080600060608486031215611c27578182fd5b8335611c3281612570565b92506020840135611c4281612570565b9150604084013567ffffffffffffffff811115611c5d578182fd5b611c6986828701611b8f565b9150509250925092565b60008060408385031215611c85578182fd5b8235611c9081612570565b9150602083013567ffffffffffffffff811115611cab578182fd5b611cb785828601611b8f565b9150509250929050565b60008060008060008060c08789031215611cd9578182fd5b611ce38888611b6d565b95506020870135945060408701359350606087013560ff81168114611d06578283fd5b9598949750929560808101359460a0909101359350915050565b600080600060608486031215611d34578283fd5b833567ffffffffffffffff80821115611d4b578485fd5b818601915086601f830112611d5e578485fd5b813581811115611d6c578586fd5b60209150818102611d7e838201612519565b8281528381019085850183870186018c1015611d9857898afd5b8996505b84871015611dc257611dae8c82611b6d565b835260019690960195918501918501611d9c565b5097505050508501359250611ddc90508560408601611b84565b90509250925092565b600060208284031215611df6578081fd5b815161106881612585565b600060208284031215611e12578081fd5b5035919050565b60008060408385031215611e2b578182fd5b82359150611e3c8460208501611b6d565b90509250929050565b60008060408385031215611e57578182fd5b823591506020830135611e6981612585565b809150509250929050565b60008151808452611e8c816020860160208601612540565b601f01601f19169290920160200192915050565b60008251611eb2818460208701612540565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03988916815296909716602087015260408601949094526060850192909252608084015260a0830152151560c082015290151560e08201526101000190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b600060018060a01b038616825284602083015283604083015260806060830152611fc16080830184611e74565b9695505050505050565b6020810160078310611fd957fe5b91905290565b6000602082526110686020830184611e74565b60208082526023908201527f476f7665726e616e63653a3a657865637574653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602b908201527f476f7665726e616e63653a3a657865637574653a20696e76616c69642070726f60408201526a706f73616c20737461746560a81b606082015260800190565b60208082526055908201527f476f7665726e616e63653a3a70726f706f73653a206f6e65206c69766520707260408201527f6f706f73616c207065722070726f706f7365722c20666f756e6420616e20616c6060820152741c9958591e481858dd1a5d99481c1c9bdc1bdcd85b605a1b608082015260a00190565b60208082526027908201527f476f7665726e616e63653a3a5f63617374566f74653a20766f74696e672069736040820152660818db1bdcd95960ca1b606082015260800190565b6020808252603c908201527f476f7665726e616e63653a3a70726f706f73653a2070726f706f73657220766f60408201527f7465732062656c6f772070726f706f73616c207468726573686f6c6400000000606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526024908201527f476f7665726e616e63653a20696e636f727265637420766f7465457874656e6460408201526354696d6560e01b606082015260800190565b6020808252601d908201527f476f7665726e616e63653a20746f6b656e7320617265206c6f636b6564000000604082015260600190565b6020808252601590820152741513d4938e881d1c985b9cd9995c8819985a5b1959605a1b604082015260600190565b60208082526019908201527f544f524e3a207472616e7366657246726f6d206661696c656400000000000000604082015260600190565b60208082526018908201527f476f7665726e616e63653a20756e617574686f72697a65640000000000000000604082015260600190565b6020808252601d908201527f476f7665726e616e63653a20696e76616c69642064656c656761746565000000604082015260600190565b60208082526018908201527f476f7665726e616e63653a2062616c616e636520697320300000000000000000604082015260600190565b60208082526023908201527f476f7665726e616e63653a3a70726f706f73653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b60208082526026908201527f476f7665726e616e63653a3a73746174653a20696e76616c69642070726f706f6040820152651cd85b081a5960d21b606082015260800190565b6020808252602a908201527f476f7665726e616e63653a20746f6b656e732061726520616c726561647920756040820152691b99195b1959d85d195960b21b606082015260800190565b6020808252601a908201527f476f7665726e616e63653a206e6f7420617574686f72697a6564000000000000604082015260600190565b60208082526019908201527f50726f706f73616c20657865637574696f6e206661696c656400000000000000604082015260600190565b8151151581526020808301511515908201526040918201519181019190915260600190565b90815260200190565b60405181810167ffffffffffffffff8111828210171561253857600080fd5b604052919050565b60005b8381101561255b578181015183820152602001612543565b8381111561256a576000848401525b50505050565b6001600160a01b0381168114610b8357600080fd5b8015158114610b8357600080fdfea264697066735822122079a24ea0dc3d5ef34041a37a137cef69305763e031faa841e2db8f078345f2af64736f6c634300060c0033"; + static readonly abi: readonly [{ + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "account"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "to"; + readonly type: "address"; + }]; + readonly name: "Delegated"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "uint256"; + readonly name: "id"; + readonly type: "uint256"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "proposer"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "address"; + readonly name: "target"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "startTime"; + readonly type: "uint256"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "endTime"; + readonly type: "uint256"; + }, { + readonly indexed: false; + readonly internalType: "string"; + readonly name: "description"; + readonly type: "string"; + }]; + readonly name: "ProposalCreated"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }]; + readonly name: "ProposalExecuted"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "account"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "from"; + readonly type: "address"; + }]; + readonly name: "Undelegated"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "voter"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "bool"; + readonly name: "support"; + readonly type: "bool"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "votes"; + readonly type: "uint256"; + }]; + readonly name: "Voted"; + readonly type: "event"; + }, { + readonly inputs: readonly []; + readonly name: "CLOSING_PERIOD"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "EXECUTION_DELAY"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "EXECUTION_EXPIRATION"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "PROPOSAL_THRESHOLD"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "QUORUM_VOTES"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "VOTE_EXTEND_TIME"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "VOTING_DELAY"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "VOTING_PERIOD"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly name: "canWithdrawAfter"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address[]"; + readonly name: "from"; + readonly type: "address[]"; + }, { + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }, { + readonly internalType: "bool"; + readonly name: "support"; + readonly type: "bool"; + }]; + readonly name: "castDelegatedVote"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }, { + readonly internalType: "bool"; + readonly name: "support"; + readonly type: "bool"; + }]; + readonly name: "castVote"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "to"; + readonly type: "address"; + }]; + readonly name: "delegate"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly name: "delegatedTo"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }]; + readonly name: "execute"; + readonly outputs: readonly []; + readonly stateMutability: "payable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }, { + readonly internalType: "address"; + readonly name: "voter"; + readonly type: "address"; + }]; + readonly name: "getReceipt"; + readonly outputs: readonly [{ + readonly components: readonly [{ + readonly internalType: "bool"; + readonly name: "hasVoted"; + readonly type: "bool"; + }, { + readonly internalType: "bool"; + readonly name: "support"; + readonly type: "bool"; + }, { + readonly internalType: "uint256"; + readonly name: "votes"; + readonly type: "uint256"; + }]; + readonly internalType: "struct Governance.Receipt"; + readonly name: ""; + readonly type: "tuple"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "_torn"; + readonly type: "address"; + }]; + readonly name: "initialize"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly name: "latestProposalIds"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "deadline"; + readonly type: "uint256"; + }, { + readonly internalType: "uint8"; + readonly name: "v"; + readonly type: "uint8"; + }, { + readonly internalType: "bytes32"; + readonly name: "r"; + readonly type: "bytes32"; + }, { + readonly internalType: "bytes32"; + readonly name: "s"; + readonly type: "bytes32"; + }]; + readonly name: "lock"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "lockWithApproval"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly name: "lockedBalance"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "proposalCount"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly name: "proposals"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: "proposer"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "target"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "startTime"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "endTime"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "forVotes"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "againstVotes"; + readonly type: "uint256"; + }, { + readonly internalType: "bool"; + readonly name: "executed"; + readonly type: "bool"; + }, { + readonly internalType: "bool"; + readonly name: "extended"; + readonly type: "bool"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "target"; + readonly type: "address"; + }, { + readonly internalType: "string"; + readonly name: "description"; + readonly type: "string"; + }]; + readonly name: "propose"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "from"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "target"; + readonly type: "address"; + }, { + readonly internalType: "string"; + readonly name: "description"; + readonly type: "string"; + }]; + readonly name: "proposeByDelegate"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "closingPeriod"; + readonly type: "uint256"; + }]; + readonly name: "setClosingPeriod"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "executionDelay"; + readonly type: "uint256"; + }]; + readonly name: "setExecutionDelay"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "executionExpiration"; + readonly type: "uint256"; + }]; + readonly name: "setExecutionExpiration"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "proposalThreshold"; + readonly type: "uint256"; + }]; + readonly name: "setProposalThreshold"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "quorumVotes"; + readonly type: "uint256"; + }]; + readonly name: "setQuorumVotes"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "time_"; + readonly type: "uint256"; + }]; + readonly name: "setTimestamp"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "torna"; + readonly type: "address"; + }]; + readonly name: "setTorn"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "voteExtendTime"; + readonly type: "uint256"; + }]; + readonly name: "setVoteExtendTime"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "votingDelay"; + readonly type: "uint256"; + }]; + readonly name: "setVotingDelay"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "votingPeriod"; + readonly type: "uint256"; + }]; + readonly name: "setVotingPeriod"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }]; + readonly name: "state"; + readonly outputs: readonly [{ + readonly internalType: "enum Governance.ProposalState"; + readonly name: ""; + readonly type: "uint8"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "time"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "torn"; + readonly outputs: readonly [{ + readonly internalType: "contract TORN"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "undelegate"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "unlock"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }]; + static createInterface(): MockGovernanceInterface; + static connect(address: string, runner?: ContractRunner | null): MockGovernance; +} +export {}; diff --git a/dist/factories/contracts/Governance/v1/Mocks/ProposalStateChangeGovernance.sol/IGovernance__factory.d.ts b/dist/factories/contracts/Governance/v1/Mocks/ProposalStateChangeGovernance.sol/IGovernance__factory.d.ts new file mode 100644 index 0000000..eed1081 --- /dev/null +++ b/dist/factories/contracts/Governance/v1/Mocks/ProposalStateChangeGovernance.sol/IGovernance__factory.d.ts @@ -0,0 +1,17 @@ +import { type ContractRunner } from "ethers"; +import type { IGovernance, IGovernanceInterface } from "../../../../../../contracts/Governance/v1/Mocks/ProposalStateChangeGovernance.sol/IGovernance"; +export declare class IGovernance__factory { + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "delay"; + readonly type: "uint256"; + }]; + readonly name: "setExecutionDelay"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }]; + static createInterface(): IGovernanceInterface; + static connect(address: string, runner?: ContractRunner | null): IGovernance; +} diff --git a/dist/factories/contracts/Governance/v1/Mocks/ProposalStateChangeGovernance.sol/ProposalStateChangeGovernance__factory.d.ts b/dist/factories/contracts/Governance/v1/Mocks/ProposalStateChangeGovernance.sol/ProposalStateChangeGovernance__factory.d.ts new file mode 100644 index 0000000..a3b8ce0 --- /dev/null +++ b/dist/factories/contracts/Governance/v1/Mocks/ProposalStateChangeGovernance.sol/ProposalStateChangeGovernance__factory.d.ts @@ -0,0 +1,28 @@ +import { ContractFactory, ContractTransactionResponse } from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../../../common"; +import type { ProposalStateChangeGovernance, ProposalStateChangeGovernanceInterface } from "../../../../../../contracts/Governance/v1/Mocks/ProposalStateChangeGovernance.sol/ProposalStateChangeGovernance"; +type ProposalStateChangeGovernanceConstructorParams = [signer?: Signer] | ConstructorParameters; +export declare class ProposalStateChangeGovernance__factory extends ContractFactory { + constructor(...args: ProposalStateChangeGovernanceConstructorParams); + getDeployTransaction(overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + deploy(overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + connect(runner: ContractRunner | null): ProposalStateChangeGovernance__factory; + static readonly bytecode = "0x608060405234801561001057600080fd5b5060c48061001f6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c8063373058b814602d575b600080fd5b60336035565b005b6040805163e4917d9f60e01b81526203f48060048201529051309163e4917d9f91602480830192600092919082900301818387803b158015607557600080fd5b505af11580156088573d6000803e3d6000fd5b5050505056fea264697066735822122080cc4a797d58ff69ba6d6a0d2a3849574ef67da2d75c41e66a86d3f6e162209d64736f6c634300060c0033"; + static readonly abi: readonly [{ + readonly inputs: readonly []; + readonly name: "executeProposal"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }]; + static createInterface(): ProposalStateChangeGovernanceInterface; + static connect(address: string, runner?: ContractRunner | null): ProposalStateChangeGovernance; +} +export {}; diff --git a/dist/factories/contracts/Governance/v1/Mocks/ProposalStateChangeGovernance.sol/index.d.ts b/dist/factories/contracts/Governance/v1/Mocks/ProposalStateChangeGovernance.sol/index.d.ts new file mode 100644 index 0000000..56838ac --- /dev/null +++ b/dist/factories/contracts/Governance/v1/Mocks/ProposalStateChangeGovernance.sol/index.d.ts @@ -0,0 +1,2 @@ +export { IGovernance__factory } from "./IGovernance__factory"; +export { ProposalStateChangeGovernance__factory } from "./ProposalStateChangeGovernance__factory"; diff --git a/dist/factories/contracts/Governance/v1/Mocks/ProposalUpgrade.sol/IProxy__factory.d.ts b/dist/factories/contracts/Governance/v1/Mocks/ProposalUpgrade.sol/IProxy__factory.d.ts new file mode 100644 index 0000000..d1e790b --- /dev/null +++ b/dist/factories/contracts/Governance/v1/Mocks/ProposalUpgrade.sol/IProxy__factory.d.ts @@ -0,0 +1,17 @@ +import { type ContractRunner } from "ethers"; +import type { IProxy, IProxyInterface } from "../../../../../../contracts/Governance/v1/Mocks/ProposalUpgrade.sol/IProxy"; +export declare class IProxy__factory { + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "newImplementation"; + readonly type: "address"; + }]; + readonly name: "upgradeTo"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }]; + static createInterface(): IProxyInterface; + static connect(address: string, runner?: ContractRunner | null): IProxy; +} diff --git a/dist/factories/contracts/Governance/v1/Mocks/ProposalUpgrade.sol/NewImplementation__factory.d.ts b/dist/factories/contracts/Governance/v1/Mocks/ProposalUpgrade.sol/NewImplementation__factory.d.ts new file mode 100644 index 0000000..cac7c6f --- /dev/null +++ b/dist/factories/contracts/Governance/v1/Mocks/ProposalUpgrade.sol/NewImplementation__factory.d.ts @@ -0,0 +1,653 @@ +import { ContractFactory, ContractTransactionResponse } from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../../../common"; +import type { NewImplementation, NewImplementationInterface } from "../../../../../../contracts/Governance/v1/Mocks/ProposalUpgrade.sol/NewImplementation"; +type NewImplementationConstructorParams = [signer?: Signer] | ConstructorParameters; +export declare class NewImplementation__factory extends ContractFactory { + constructor(...args: NewImplementationConstructorParams); + getDeployTransaction(overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + deploy(overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + connect(runner: ContractRunner | null): NewImplementation__factory; + static readonly bytecode = "0x6080604052426041553480156200001557600080fd5b50600054610100900460ff168062000032575062000032620000cd565b8062000041575060005460ff16155b620000695760405162461bcd60e51b8152600401620000609062000114565b60405180910390fd5b600054610100900460ff1615801562000095576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b03191661dead179055620000b3620000d3565b8015620000c6576000805461ff00191690555b5062000162565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b6123ac80620001726000396000f3fe60806040526004361061023b5760003560e01c8063a0a2b5731161012e578063ce25d71c116100ab578063e4917d9f1161006f578063e4917d9f14610664578063ea0217cf14610684578063ece40cc1146106a4578063f0b76892146106c4578063fe0d94c1146106e45761023b565b8063ce25d71c146105d8578063d6159fe5146105ed578063d6f0948c14610602578063da35c66414610622578063e23a9a52146106375761023b565b8063b54426c8116100f2578063b54426c814610538578063b5f6a74314610558578063b859f11b14610578578063c0c0e82014610598578063c4d66de8146105b85761023b565b8063a0a2b573146104b9578063a6c26603146104d9578063a72edda3146104ee578063adf898a41461050e578063b1610d7e146105235761023b565b80636198e339116101bc57806370b0f6601161018057806370b0f6601461042f5780638d7a72f31461044f57806392ab89bb146104645780639a9e3b6e146104795780639ae697bf146104995761023b565b80636198e3391461039857806365da1264146103b8578063671dd275146103e55780636a661755146103fa5780636dc2dc6c1461040f5761023b565b806337f135d71161020357806337f135d7146103015780633e4f49e614610316578063587a6ecb1461034357806358e9fff0146103585780635c19a95c146103785761023b565b8063013cf08b1461024057806302ec8f9e1461027d57806315373e3d1461029f57806316ada547146102bf57806317977c61146102e1575b600080fd5b34801561024c57600080fd5b5061026061025b366004611cd6565b6106f7565b604051610274989796959493929190611de5565b60405180910390f35b34801561028957600080fd5b5061029d610298366004611cd6565b61075c565b005b3480156102ab57600080fd5b5061029d6102ba366004611d1a565b610789565b3480156102cb57600080fd5b506102d4610798565b6040516102749190612323565b3480156102ed57600080fd5b506102d46102fc366004611acd565b61079e565b34801561030d57600080fd5b506102d46107b0565b34801561032257600080fd5b50610336610331366004611cd6565b6107b6565b6040516102749190611ea3565b34801561034f57600080fd5b506102d46108f9565b34801561036457600080fd5b506102d4610373366004611ae8565b6108ff565b34801561038457600080fd5b5061029d610393366004611acd565b61094d565b3480156103a457600080fd5b5061029d6103b3366004611cd6565b610a6f565b3480156103c457600080fd5b506103d86103d3366004611acd565b610ba6565b6040516102749190611d94565b3480156103f157600080fd5b506102d4610bc1565b34801561040657600080fd5b506102d4610bc7565b34801561041b57600080fd5b5061029d61042a366004611cd6565b610bcd565b34801561043b57600080fd5b5061029d61044a366004611cd6565b610c12565b34801561045b57600080fd5b506102d4610c36565b34801561047057600080fd5b5061029d610c3c565b34801561048557600080fd5b5061029d610494366004611cd6565b610cc3565b3480156104a557600080fd5b506102d46104b4366004611acd565b610ce7565b3480156104c557600080fd5b5061029d6104d4366004611cd6565b610cf9565b3480156104e557600080fd5b506102d4610cfe565b3480156104fa57600080fd5b506102d4610509366004611acd565b610d04565b34801561051a57600080fd5b506103d8610d16565b34801561052f57600080fd5b506102d4610d25565b34801561054457600080fd5b5061029d610553366004611cd6565b610d2b565b34801561056457600080fd5b5061029d610573366004611acd565b610d35565b34801561058457600080fd5b5061029d610593366004611bf5565b610d57565b3480156105a457600080fd5b5061029d6105b3366004611cd6565b610e0e565b3480156105c457600080fd5b5061029d6105d3366004611acd565b610e32565b3480156105e457600080fd5b506102d4611075565b3480156105f957600080fd5b506102d461107b565b34801561060e57600080fd5b506102d461061d366004611b48565b611081565b34801561062e57600080fd5b506102d4611097565b34801561064357600080fd5b50610657610652366004611cee565b6110a1565b60405161027491906122fe565b34801561067057600080fd5b5061029d61067f366004611cd6565b611113565b34801561069057600080fd5b5061029d61069f366004611cd6565b611137565b3480156106b057600080fd5b5061029d6106bf366004611cd6565b61115b565b3480156106d057600080fd5b5061029d6106df366004611b96565b61117f565b61029d6106f2366004611cd6565b6111ff565b603d818154811061070457fe5b600091825260209091206008909102018054600182015460028301546003840154600485015460058601546006909601546001600160a01b039586169750949093169491939092919060ff8082169161010090041688565b3330146107845760405162461bcd60e51b815260040161077b90612101565b60405180910390fd5b603555565b610794338383611240565b5050565b60415481565b603e6020526000908152604090205481565b60335481565b60006107c0611097565b82111580156107cf5750600082115b6107eb5760405162461bcd60e51b815260040161077b90612237565b6000603d83815481106107fa57fe5b906000526020600020906008020190508060020154610817611471565b116108265760009150506108f4565b8060030154610833611471565b116108425760019150506108f4565b8060050154816004015411158061086457506035548160050154826004015401105b156108735760029150506108f4565b600681015460ff161561088a5760059150506108f4565b6108af6034546108a9603354846003015461147790919063ffffffff16565b90611477565b6108b7611471565b106108c65760069150506108f4565b60335460038201546108d791611477565b6108df611471565b106108ee5760049150506108f4565b60039150505b919050565b603a5481565b6001600160a01b038381166000908152603c6020526040812054909116331461093a5760405162461bcd60e51b815260040161077b906122c7565b61094584848461149c565b949350505050565b336000818152603c60205260409020546001600160a01b03908116919083161480159061098357506001600160a01b0382163014155b801561099757506001600160a01b03821615155b80156109b55750806001600160a01b0316826001600160a01b031614155b6109d15760405162461bcd60e51b815260040161077b90612138565b6001600160a01b03811615610a17576040516001600160a01b0382169033907f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7290600090a35b336000818152603c602052604080822080546001600160a01b0319166001600160a01b03871690811790915590519092917f4bc154dd35d6a5cb9206482ecb473cdbf2473006d6bce728b9cc0741bcc59ea291a35050565b336000908152603f6020526040902054610a87611471565b11610aa45760405162461bcd60e51b815260040161077b90612064565b60408051808201825260208082527f476f7665726e616e63653a20696e73756666696369656e742062616c616e636581830152336000908152603b9091529190912054610af29183906117ea565b336000818152603b602052604090819020929092558154915163a9059cbb60e01b81526001600160a01b039092169163a9059cbb91610b35918590600401611da8565b602060405180830381600087803b158015610b4f57600080fd5b505af1158015610b63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b879190611cba565b610ba35760405162461bcd60e51b815260040161077b9061209b565b50565b603c602052600090815260409020546001600160a01b031681565b60355481565b60345481565b333014610bec5760405162461bcd60e51b815260040161077b90612101565b6033548110610c0d5760405162461bcd60e51b815260040161077b90612020565b603a55565b333014610c315760405162461bcd60e51b815260040161077b90612101565b603755565b60425481565b336000908152603c60205260409020546001600160a01b031680610c725760405162461bcd60e51b815260040161077b9061227d565b336000818152603c602052604080822080546001600160a01b0319169055516001600160a01b03841692917f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7291a350565b333014610ce25760405162461bcd60e51b815260040161077b90612101565b603455565b603b6020526000908152604090205481565b604155565b60365481565b603f6020526000908152604090205481565b6040546001600160a01b031681565b60385481565b610ba33382611816565b604080546001600160a01b0319166001600160a01b0392909216919091179055565b60005b8351811015610de857336001600160a01b0316603c6000868481518110610d7d57fe5b6020908102919091018101516001600160a01b03908116835290820192909252604001600020541614610dc25760405162461bcd60e51b815260040161077b906122c7565b610de0848281518110610dd157fe5b60200260200101518484611240565b600101610d5a565b50336000908152603b602052604090205415610e0957610e09338383611240565b505050565b333014610e2d5760405162461bcd60e51b815260040161077b90612101565b603955565b600054610100900460ff1680610e4b5750610e4b6118fb565b80610e59575060005460ff16155b610e755760405162461bcd60e51b815260040161077b906121e9565b600054610100900460ff16158015610ea0576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b038085166001600160a01b03199283161783558251610100818101855230825261dead602083019081526000958301868152606084018781526080850188815260a08601898152600160c0880181815260e089018c8152603d80549384018155909c52975160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b16928c169290921790915594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc4860180549190991699169890981790965590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc5830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc682015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc784015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc8830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990910180549351151590920261ff001991151560ff199094169390931716919091179055611060611901565b8015610794576000805461ff00191690555050565b60395481565b60375481565b600061108e33848461149c565b90505b92915050565b603d546000190190565b6110a96119c7565b603d83815481106110b657fe5b600091825260208083206001600160a01b0395909516835260089190910290930160070183526040908190208151606081018352815460ff8082161515835261010090910416151594810194909452600101549083015250919050565b3330146111325760405162461bcd60e51b815260040161077b90612101565b603355565b3330146111565760405162461bcd60e51b815260040161077b90612101565b603855565b33301461117a5760405162461bcd60e51b815260040161077b90612101565b603655565b60408054905163d505accf60e01b81526001600160a01b039091169063d505accf906111bb90899030908a908a908a908a908a90600401611e2b565b600060405180830381600087803b1580156111d557600080fd5b505af11580156111e9573d6000803e3d6000fd5b505050506111f78686611816565b505050505050565b6103e76042556040517fc22c84ebcf25b30190d2b53474def7b552efd2018ef8acaf6bed1b67e8d2be7c90611235908390612323565b60405180910390a150565b600161124b836107b6565b600681111561125657fe5b146112735760405162461bcd60e51b815260040161077b90611f45565b6000603d838154811061128257fe5b600091825260208083206001600160a01b038816845260076008909302019182018152604080842060058401546004850154603b9094529190942054929450101590806112e15760405162461bcd60e51b815260040161077b9061216f565b825460ff1615611330578254610100900460ff1615611317576001830154600485015461130d91611942565b6004850155611330565b6001830154600585015461132a91611942565b60058501555b841561134f5760048401546113459082611477565b6004850155611364565b600584015461135e9082611477565b60058501555b6006840154610100900460ff161580156113945750603954611392611387611471565b600387015490611942565b105b156113d85760058401546004850154111582151581146113d65760068501805461ff001916610100179055603a5460038601546113d091611477565b60038601555b505b8254600160ff19909116811761ff001916610100871515021784558301819055603354603454603a546003870154611423938b9361141e9391926108a992839190611477565b611984565b841515876001600160a01b0316877f7c2de587c00d75474a0c6c6fa96fd3b45dc974cd4e8a75f712bb84c950dce1b5846040516114609190612323565b60405180910390a450505050505050565b60415490565b60008282018381101561108e5760405162461bcd60e51b815260040161077b90611fe9565b6001600160a01b0383166000908152603b60205260408120546036548110156114d75760405162461bcd60e51b815260040161077b90611f8c565b6114e0846119c1565b6114fc5760405162461bcd60e51b815260040161077b906121a6565b6001600160a01b0385166000908152603e6020526040902054801561156e576000611526826107b6565b9050600181600681111561153657fe5b141580156115505750600081600681111561154d57fe5b14155b61156c5760405162461bcd60e51b815260040161077b90611eca565b505b600061157e6037546108a9611471565b905060006115976038548361147790919063ffffffff16565b90506115a16119e7565b506040805161010080820183526001600160a01b03808c1683528a8116602084019081529383018681526060840186815260006080860181815260a0870182815260c0880183815260e08901848152603d80546001810182559086528a5160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b166001600160a01b03199384161790559b517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc48d01805491909a1691161790975594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc58a015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc6890155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc788015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc887015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990950180549251151590930261ff001995151560ff19909316929092179490941617905590611753611097565b82516001600160a01b03166000908152603e60205260409020819055603354603454603a54929350611795928d9261141e9290916108a9919082908a90611477565b896001600160a01b0316817f90ec05050aa23d54ba425e926fe646c318e85825bc400b13a46010abe86eb2f08b87878d6040516117d59493929190611e6c565b60405180910390a39998505050505050505050565b6000818484111561180e5760405162461bcd60e51b815260040161077b9190611eb7565b505050900390565b6040805490516323b872dd60e01b81526001600160a01b03909116906323b872dd9061184a90859030908690600401611dc1565b602060405180830381600087803b15801561186457600080fd5b505af1158015611878573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061189c9190611cba565b6118b85760405162461bcd60e51b815260040161077b906120ca565b6001600160a01b0382166000908152603b60205260409020546118db9082611477565b6001600160a01b039092166000908152603b602052604090209190915550565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b600061108e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506117ea565b6001600160a01b0382166000908152603f6020526040902054811115610794576001600160a01b03919091166000908152603f6020526040902055565b3b151590565b604080516060810182526000808252602082018190529181019190915290565b60405180610100016040528060006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000151581526020016000151581525090565b80356001600160a01b038116811461109157600080fd5b803561109181612368565b600082601f830112611a74578081fd5b813567ffffffffffffffff811115611a8a578182fd5b611a9d601f8201601f191660200161232c565b9150808252836020828501011115611ab457600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215611ade578081fd5b61108e8383611a42565b600080600060608486031215611afc578182fd5b8335611b0781612353565b92506020840135611b1781612353565b9150604084013567ffffffffffffffff811115611b32578182fd5b611b3e86828701611a64565b9150509250925092565b60008060408385031215611b5a578182fd5b8235611b6581612353565b9150602083013567ffffffffffffffff811115611b80578182fd5b611b8c85828601611a64565b9150509250929050565b60008060008060008060c08789031215611bae578182fd5b611bb88888611a42565b95506020870135945060408701359350606087013560ff81168114611bdb578283fd5b9598949750929560808101359460a0909101359350915050565b600080600060608486031215611c09578283fd5b833567ffffffffffffffff80821115611c20578485fd5b818601915086601f830112611c33578485fd5b813581811115611c41578586fd5b60209150818102611c5383820161232c565b8281528381019085850183870186018c1015611c6d57898afd5b8996505b84871015611c9757611c838c82611a42565b835260019690960195918501918501611c71565b5097505050508501359250611cb190508560408601611a59565b90509250925092565b600060208284031215611ccb578081fd5b815161108e81612368565b600060208284031215611ce7578081fd5b5035919050565b60008060408385031215611d00578182fd5b82359150611d118460208501611a42565b90509250929050565b60008060408385031215611d2c578182fd5b823591506020830135611d3e81612368565b809150509250929050565b60008151808452815b81811015611d6e57602081850181015186830182015201611d52565b81811115611d7f5782602083870101525b50601f01601f19169290920160200192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03988916815296909716602087015260408601949094526060850192909252608084015260a0830152151560c082015290151560e08201526101000190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b600060018060a01b038616825284602083015283604083015260806060830152611e996080830184611d49565b9695505050505050565b6020810160078310611eb157fe5b91905290565b60006020825261108e6020830184611d49565b60208082526055908201527f476f7665726e616e63653a3a70726f706f73653a206f6e65206c69766520707260408201527f6f706f73616c207065722070726f706f7365722c20666f756e6420616e20616c6060820152741c9958591e481858dd1a5d99481c1c9bdc1bdcd85b605a1b608082015260a00190565b60208082526027908201527f476f7665726e616e63653a3a5f63617374566f74653a20766f74696e672069736040820152660818db1bdcd95960ca1b606082015260800190565b6020808252603c908201527f476f7665726e616e63653a3a70726f706f73653a2070726f706f73657220766f60408201527f7465732062656c6f772070726f706f73616c207468726573686f6c6400000000606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526024908201527f476f7665726e616e63653a20696e636f727265637420766f7465457874656e6460408201526354696d6560e01b606082015260800190565b6020808252601d908201527f476f7665726e616e63653a20746f6b656e7320617265206c6f636b6564000000604082015260600190565b6020808252601590820152741513d4938e881d1c985b9cd9995c8819985a5b1959605a1b604082015260600190565b60208082526019908201527f544f524e3a207472616e7366657246726f6d206661696c656400000000000000604082015260600190565b60208082526018908201527f476f7665726e616e63653a20756e617574686f72697a65640000000000000000604082015260600190565b6020808252601d908201527f476f7665726e616e63653a20696e76616c69642064656c656761746565000000604082015260600190565b60208082526018908201527f476f7665726e616e63653a2062616c616e636520697320300000000000000000604082015260600190565b60208082526023908201527f476f7665726e616e63653a3a70726f706f73653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b60208082526026908201527f476f7665726e616e63653a3a73746174653a20696e76616c69642070726f706f6040820152651cd85b081a5960d21b606082015260800190565b6020808252602a908201527f476f7665726e616e63653a20746f6b656e732061726520616c726561647920756040820152691b99195b1959d85d195960b21b606082015260800190565b6020808252601a908201527f476f7665726e616e63653a206e6f7420617574686f72697a6564000000000000604082015260600190565b8151151581526020808301511515908201526040918201519181019190915260600190565b90815260200190565b60405181810167ffffffffffffffff8111828210171561234b57600080fd5b604052919050565b6001600160a01b0381168114610ba357600080fd5b8015158114610ba357600080fdfea264697066735822122077147b2d24ffd383c4a2d0eb254eb72ba4274421278e284354c4848ff7c9df0164736f6c634300060c0033"; + static readonly abi: readonly [{ + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "account"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "to"; + readonly type: "address"; + }]; + readonly name: "Delegated"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "x"; + readonly type: "uint256"; + }]; + readonly name: "Overriden"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "uint256"; + readonly name: "id"; + readonly type: "uint256"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "proposer"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "address"; + readonly name: "target"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "startTime"; + readonly type: "uint256"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "endTime"; + readonly type: "uint256"; + }, { + readonly indexed: false; + readonly internalType: "string"; + readonly name: "description"; + readonly type: "string"; + }]; + readonly name: "ProposalCreated"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }]; + readonly name: "ProposalExecuted"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "account"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "from"; + readonly type: "address"; + }]; + readonly name: "Undelegated"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "voter"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "bool"; + readonly name: "support"; + readonly type: "bool"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "votes"; + readonly type: "uint256"; + }]; + readonly name: "Voted"; + readonly type: "event"; + }, { + readonly inputs: readonly []; + readonly name: "CLOSING_PERIOD"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "EXECUTION_DELAY"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "EXECUTION_EXPIRATION"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "PROPOSAL_THRESHOLD"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "QUORUM_VOTES"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "VOTE_EXTEND_TIME"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "VOTING_DELAY"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "VOTING_PERIOD"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly name: "canWithdrawAfter"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address[]"; + readonly name: "from"; + readonly type: "address[]"; + }, { + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }, { + readonly internalType: "bool"; + readonly name: "support"; + readonly type: "bool"; + }]; + readonly name: "castDelegatedVote"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }, { + readonly internalType: "bool"; + readonly name: "support"; + readonly type: "bool"; + }]; + readonly name: "castVote"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "to"; + readonly type: "address"; + }]; + readonly name: "delegate"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly name: "delegatedTo"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }]; + readonly name: "execute"; + readonly outputs: readonly []; + readonly stateMutability: "payable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }, { + readonly internalType: "address"; + readonly name: "voter"; + readonly type: "address"; + }]; + readonly name: "getReceipt"; + readonly outputs: readonly [{ + readonly components: readonly [{ + readonly internalType: "bool"; + readonly name: "hasVoted"; + readonly type: "bool"; + }, { + readonly internalType: "bool"; + readonly name: "support"; + readonly type: "bool"; + }, { + readonly internalType: "uint256"; + readonly name: "votes"; + readonly type: "uint256"; + }]; + readonly internalType: "struct Governance.Receipt"; + readonly name: ""; + readonly type: "tuple"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "_torn"; + readonly type: "address"; + }]; + readonly name: "initialize"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly name: "latestProposalIds"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "deadline"; + readonly type: "uint256"; + }, { + readonly internalType: "uint8"; + readonly name: "v"; + readonly type: "uint8"; + }, { + readonly internalType: "bytes32"; + readonly name: "r"; + readonly type: "bytes32"; + }, { + readonly internalType: "bytes32"; + readonly name: "s"; + readonly type: "bytes32"; + }]; + readonly name: "lock"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "lockWithApproval"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly name: "lockedBalance"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "newVariable"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "proposalCount"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly name: "proposals"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: "proposer"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "target"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "startTime"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "endTime"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "forVotes"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "againstVotes"; + readonly type: "uint256"; + }, { + readonly internalType: "bool"; + readonly name: "executed"; + readonly type: "bool"; + }, { + readonly internalType: "bool"; + readonly name: "extended"; + readonly type: "bool"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "target"; + readonly type: "address"; + }, { + readonly internalType: "string"; + readonly name: "description"; + readonly type: "string"; + }]; + readonly name: "propose"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "from"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "target"; + readonly type: "address"; + }, { + readonly internalType: "string"; + readonly name: "description"; + readonly type: "string"; + }]; + readonly name: "proposeByDelegate"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "closingPeriod"; + readonly type: "uint256"; + }]; + readonly name: "setClosingPeriod"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "executionDelay"; + readonly type: "uint256"; + }]; + readonly name: "setExecutionDelay"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "executionExpiration"; + readonly type: "uint256"; + }]; + readonly name: "setExecutionExpiration"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "proposalThreshold"; + readonly type: "uint256"; + }]; + readonly name: "setProposalThreshold"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "quorumVotes"; + readonly type: "uint256"; + }]; + readonly name: "setQuorumVotes"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "time_"; + readonly type: "uint256"; + }]; + readonly name: "setTimestamp"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "torna"; + readonly type: "address"; + }]; + readonly name: "setTorn"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "voteExtendTime"; + readonly type: "uint256"; + }]; + readonly name: "setVoteExtendTime"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "votingDelay"; + readonly type: "uint256"; + }]; + readonly name: "setVotingDelay"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "votingPeriod"; + readonly type: "uint256"; + }]; + readonly name: "setVotingPeriod"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }]; + readonly name: "state"; + readonly outputs: readonly [{ + readonly internalType: "enum Governance.ProposalState"; + readonly name: ""; + readonly type: "uint8"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "time"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "torn"; + readonly outputs: readonly [{ + readonly internalType: "contract TORN"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "undelegate"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "unlock"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }]; + static createInterface(): NewImplementationInterface; + static connect(address: string, runner?: ContractRunner | null): NewImplementation; +} +export {}; diff --git a/dist/factories/contracts/Governance/v1/Mocks/ProposalUpgrade.sol/ProposalUpgrade__factory.d.ts b/dist/factories/contracts/Governance/v1/Mocks/ProposalUpgrade.sol/ProposalUpgrade__factory.d.ts new file mode 100644 index 0000000..18c12a5 --- /dev/null +++ b/dist/factories/contracts/Governance/v1/Mocks/ProposalUpgrade.sol/ProposalUpgrade__factory.d.ts @@ -0,0 +1,46 @@ +import { ContractFactory, ContractTransactionResponse } from "ethers"; +import type { Signer, AddressLike, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../../../common"; +import type { ProposalUpgrade, ProposalUpgradeInterface } from "../../../../../../contracts/Governance/v1/Mocks/ProposalUpgrade.sol/ProposalUpgrade"; +type ProposalUpgradeConstructorParams = [signer?: Signer] | ConstructorParameters; +export declare class ProposalUpgrade__factory extends ContractFactory { + constructor(...args: ProposalUpgradeConstructorParams); + getDeployTransaction(_newLogic: AddressLike, overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + deploy(_newLogic: AddressLike, overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + connect(runner: ContractRunner | null): ProposalUpgrade__factory; + static readonly bytecode = "0x60a060405234801561001057600080fd5b506040516101da3803806101da83398101604081905261002f91610044565b60601b6001600160601b031916608052610072565b600060208284031215610055578081fd5b81516001600160a01b038116811461006b578182fd5b9392505050565b60805160601c610148610092600039806065528060a252506101486000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806305ccb23e1461003b578063373058b814610059575b600080fd5b610043610063565b60405161005091906100fe565b60405180910390f35b610061610087565b005b7f000000000000000000000000000000000000000000000000000000000000000081565b604051631b2ce7f360e11b81523090633659cfe6906100ca907f0000000000000000000000000000000000000000000000000000000000000000906004016100fe565b600060405180830381600087803b1580156100e457600080fd5b505af11580156100f8573d6000803e3d6000fd5b50505050565b6001600160a01b039190911681526020019056fea26469706673582212207d2c2c988cd8f64fa7efb7ef33cfeee3b01f81a501e4a71ae8a63d6a5e269eb664736f6c634300060c0033"; + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "_newLogic"; + readonly type: "address"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "constructor"; + }, { + readonly inputs: readonly []; + readonly name: "executeProposal"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "newLogic"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }]; + static createInterface(): ProposalUpgradeInterface; + static connect(address: string, runner?: ContractRunner | null): ProposalUpgrade; +} +export {}; diff --git a/dist/factories/contracts/Governance/v1/Mocks/ProposalUpgrade.sol/index.d.ts b/dist/factories/contracts/Governance/v1/Mocks/ProposalUpgrade.sol/index.d.ts new file mode 100644 index 0000000..a247f41 --- /dev/null +++ b/dist/factories/contracts/Governance/v1/Mocks/ProposalUpgrade.sol/index.d.ts @@ -0,0 +1,3 @@ +export { IProxy__factory } from "./IProxy__factory"; +export { NewImplementation__factory } from "./NewImplementation__factory"; +export { ProposalUpgrade__factory } from "./ProposalUpgrade__factory"; diff --git a/dist/factories/contracts/Governance/v1/Mocks/Proposal__factory.d.ts b/dist/factories/contracts/Governance/v1/Mocks/Proposal__factory.d.ts new file mode 100644 index 0000000..1fcfaea --- /dev/null +++ b/dist/factories/contracts/Governance/v1/Mocks/Proposal__factory.d.ts @@ -0,0 +1,38 @@ +import { ContractFactory, ContractTransactionResponse } from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../../common"; +import type { Proposal, ProposalInterface } from "../../../../../contracts/Governance/v1/Mocks/Proposal"; +type ProposalConstructorParams = [signer?: Signer] | ConstructorParameters; +export declare class Proposal__factory extends ContractFactory { + constructor(...args: ProposalConstructorParams); + getDeployTransaction(overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + deploy(overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + connect(runner: ContractRunner | null): Proposal__factory; + static readonly bytecode = "0x608060405234801561001057600080fd5b506103d5806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063373058b814610030575b600080fd5b61003861003a565b005b6000604051610048906100fa565b604051809103906000f080158015610064573d6000803e3d6000fd5b509050806001600160a01b0316638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156100a257600080fd5b505af11580156100b6573d6000803e3d6000fd5b5050604080516001600160a01b038516815290517f330da4cde831ccab151372275307c2f0cce2bcce846635cd66e6908f10d203639350908190036020019150a150565b610298806101088339019056fe608060405234801561001057600080fd5b50610278806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80631f1bd692146100465780633fa4f245146100c35780638129fc1c146100dd575b600080fd5b61004e6100e7565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610088578181015183820152602001610070565b50505050905090810190601f1680156100b55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6100cb610174565b60408051918252519081900360200190f35b6100e561017a565b005b60018054604080516020600284861615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561016c5780601f106101415761010080835404028352916020019161016c565b820191906000526020600020905b81548152906001019060200180831161014f57829003601f168201915b505050505081565b60005481565b600160008190556040805180820190915260058082526464756d6d7960d81b60209092019182526101ac9291906101af565b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106101f057805160ff191683800117855561021d565b8280016001018555821561021d579182015b8281111561021d578251825591602001919060010190610202565b5061022992915061022d565b5090565b5b80821115610229576000815560010161022e56fea26469706673582212204b4d54284aeff9c7c570415da4a9efb9bf7115fe94a322210f9981c1c7ae107a64736f6c634300060c0033a26469706673582212205967b156db23a5fd2372953049f5c366f68a9f95cfa116f9fbd6d0c8e7bdaa6364736f6c634300060c0033"; + static readonly abi: readonly [{ + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: false; + readonly internalType: "address"; + readonly name: "output"; + readonly type: "address"; + }]; + readonly name: "Debug"; + readonly type: "event"; + }, { + readonly inputs: readonly []; + readonly name: "executeProposal"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }]; + static createInterface(): ProposalInterface; + static connect(address: string, runner?: ContractRunner | null): Proposal; +} +export {}; diff --git a/dist/factories/contracts/Governance/v1/Mocks/index.d.ts b/dist/factories/contracts/Governance/v1/Mocks/index.d.ts new file mode 100644 index 0000000..9aaef97 --- /dev/null +++ b/dist/factories/contracts/Governance/v1/Mocks/index.d.ts @@ -0,0 +1,5 @@ +export * as dummySol from "./Dummy.sol"; +export * as proposalStateChangeGovernanceSol from "./ProposalStateChangeGovernance.sol"; +export * as proposalUpgradeSol from "./ProposalUpgrade.sol"; +export { MockGovernance__factory } from "./MockGovernance__factory"; +export { Proposal__factory } from "./Proposal__factory"; diff --git a/dist/factories/contracts/Governance/v1/index.d.ts b/dist/factories/contracts/Governance/v1/index.d.ts new file mode 100644 index 0000000..dbf30e4 --- /dev/null +++ b/dist/factories/contracts/Governance/v1/index.d.ts @@ -0,0 +1,5 @@ +export * as mocks from "./Mocks"; +export { Configuration__factory } from "./Configuration__factory"; +export { Core__factory } from "./Core__factory"; +export { Delegation__factory } from "./Delegation__factory"; +export { Governance__factory } from "./Governance__factory"; diff --git a/dist/factories/contracts/Governance/v2-vault-and-gas/GasCompensator.sol/GasCompensator__factory.d.ts b/dist/factories/contracts/Governance/v2-vault-and-gas/GasCompensator.sol/GasCompensator__factory.d.ts new file mode 100644 index 0000000..cd2da7c --- /dev/null +++ b/dist/factories/contracts/Governance/v2-vault-and-gas/GasCompensator.sol/GasCompensator__factory.d.ts @@ -0,0 +1,45 @@ +import { type ContractRunner } from "ethers"; +import type { GasCompensator, GasCompensatorInterface } from "../../../../../contracts/Governance/v2-vault-and-gas/GasCompensator.sol/GasCompensator"; +export declare class GasCompensator__factory { + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "_gasCompensationVault"; + readonly type: "address"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "constructor"; + }, { + readonly inputs: readonly []; + readonly name: "gasCompensationVault"; + readonly outputs: readonly [{ + readonly internalType: "contract IGasCompensationVault"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "_gasCompensationsLimit"; + readonly type: "uint256"; + }]; + readonly name: "setGasCompensations"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "withdrawFromHelper"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }]; + static createInterface(): GasCompensatorInterface; + static connect(address: string, runner?: ContractRunner | null): GasCompensator; +} diff --git a/dist/factories/contracts/Governance/v2-vault-and-gas/GasCompensator.sol/IGasCompensationVault__factory.d.ts b/dist/factories/contracts/Governance/v2-vault-and-gas/GasCompensator.sol/IGasCompensationVault__factory.d.ts new file mode 100644 index 0000000..b57b7a8 --- /dev/null +++ b/dist/factories/contracts/Governance/v2-vault-and-gas/GasCompensator.sol/IGasCompensationVault__factory.d.ts @@ -0,0 +1,31 @@ +import { type ContractRunner } from "ethers"; +import type { IGasCompensationVault, IGasCompensationVaultInterface } from "../../../../../contracts/Governance/v2-vault-and-gas/GasCompensator.sol/IGasCompensationVault"; +export declare class IGasCompensationVault__factory { + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "recipient"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "gasAmount"; + readonly type: "uint256"; + }]; + readonly name: "compensateGas"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "withdrawToGovernance"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }]; + static createInterface(): IGasCompensationVaultInterface; + static connect(address: string, runner?: ContractRunner | null): IGasCompensationVault; +} diff --git a/dist/factories/contracts/Governance/v2-vault-and-gas/GasCompensator.sol/index.d.ts b/dist/factories/contracts/Governance/v2-vault-and-gas/GasCompensator.sol/index.d.ts new file mode 100644 index 0000000..66196a8 --- /dev/null +++ b/dist/factories/contracts/Governance/v2-vault-and-gas/GasCompensator.sol/index.d.ts @@ -0,0 +1,2 @@ +export { GasCompensator__factory } from "./GasCompensator__factory"; +export { IGasCompensationVault__factory } from "./IGasCompensationVault__factory"; diff --git a/dist/factories/contracts/Governance/v2-vault-and-gas/GovernanceGasUpgrade__factory.d.ts b/dist/factories/contracts/Governance/v2-vault-and-gas/GovernanceGasUpgrade__factory.d.ts new file mode 100644 index 0000000..d20dacd --- /dev/null +++ b/dist/factories/contracts/Governance/v2-vault-and-gas/GovernanceGasUpgrade__factory.d.ts @@ -0,0 +1,710 @@ +import { ContractFactory, ContractTransactionResponse } from "ethers"; +import type { Signer, AddressLike, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../common"; +import type { GovernanceGasUpgrade, GovernanceGasUpgradeInterface } from "../../../../contracts/Governance/v2-vault-and-gas/GovernanceGasUpgrade"; +type GovernanceGasUpgradeConstructorParams = [signer?: Signer] | ConstructorParameters; +export declare class GovernanceGasUpgrade__factory extends ContractFactory { + constructor(...args: GovernanceGasUpgradeConstructorParams); + getDeployTransaction(_gasCompLogic: AddressLike, _userVault: AddressLike, overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + deploy(_gasCompLogic: AddressLike, _userVault: AddressLike, overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + connect(runner: ContractRunner | null): GovernanceGasUpgrade__factory; + static readonly bytecode = "0x60c06040523480156200001157600080fd5b5060405162002e3138038062002e31833981016040819052620000349162000153565b60005482908290610100900460ff1680620000545750620000546200010c565b8062000063575060005460ff16155b6200008b5760405162461bcd60e51b8152600401620000829062000191565b60405180910390fd5b600054610100900460ff16158015620000b7576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b03191661dead179055620000d562000112565b8015620000e8576000805461ff00191690555b506001600160601b0319606091821b811660805291901b1660a05250620001f89050565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b6000806040838503121562000166578182fd5b82516200017381620001df565b60208401519092506200018681620001df565b809150509250929050565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b6001600160a01b0381168114620001f557600080fd5b50565b60805160601c60a05160601c612bf162000240600039806108c55280610e525280610f4a52806114505280611ee1525080610d545280610fb75280611cf75250612bf16000f3fe60806040526004361061026b5760003560e01c80639ae697bf11610144578063d6159fe5116100b6578063e525aa081161007a578063e525aa08146106ff578063ea0217cf1461071f578063ece40cc11461073f578063ef3f8bb11461075f578063f0b768921461077f578063fe0d94c11461079f57610272565b8063d6159fe514610668578063d6f0948c1461067d578063da35c6641461069d578063e23a9a52146106b2578063e4917d9f146106df57610272565b8063b1610d7e11610108578063b1610d7e146105be578063b54426c8146105d3578063b859f11b146105f3578063c0c0e82014610613578063c4d66de814610633578063ce25d71c1461065357610272565b80639ae697bf1461053f5780639daafec71461055f578063a6c2660314610574578063a72edda314610589578063adf898a4146105a957610272565b80635c19a95c116101dd5780636dc2dc6c116101a15780636dc2dc6c1461049557806370b0f660146104b55780638b34a960146104d557806392ab89bb146104ea578063932d5157146104ff5780639a9e3b6e1461051f57610272565b80635c19a95c1461040b5780636198e3391461042b57806365da12641461044b578063671dd2751461046b5780636a6617551461048057610272565b806332687ec11161022f57806332687ec11461034557806337f135d7146103725780633e4f49e61461038757806354fd4d50146103b4578063587a6ecb146103d657806358e9fff0146103eb57610272565b8063013cf08b1461027757806302ec8f9e146102b457806315373e3d146102d657806317977c61146102f657806324b0435f1461032357610272565b3661027257005b600080fd5b34801561028357600080fd5b506102976102923660046123c5565b6107b2565b6040516102ab9897969594939291906124d1565b60405180910390f35b3480156102c057600080fd5b506102d46102cf3660046123c5565b610817565b005b3480156102e257600080fd5b506102d46102f1366004612409565b610844565b34801561030257600080fd5b506103166103113660046121bc565b610947565b6040516102ab9190612b38565b34801561032f57600080fd5b50610338610959565b6040516102ab9190612480565b34801561035157600080fd5b506103656103603660046123c5565b610971565b6040516102ab919061258f565b34801561037e57600080fd5b506103166109bf565b34801561039357600080fd5b506103a76103a23660046123c5565b6109c5565b6040516102ab919061259a565b3480156103c057600080fd5b506103c9610b01565b6040516102ab91906125ae565b3480156103e257600080fd5b50610316610b38565b3480156103f757600080fd5b506103166104063660046121d7565b610b3e565b34801561041757600080fd5b506102d46104263660046121bc565b610b8c565b34801561043757600080fd5b506102d46104463660046123c5565b610cae565b34801561045757600080fd5b506103386104663660046121bc565b610dc0565b34801561047757600080fd5b50610316610ddb565b34801561048c57600080fd5b50610316610de1565b3480156104a157600080fd5b506102d46104b03660046123c5565b610de7565b3480156104c157600080fd5b506102d46104d03660046123c5565b610e2c565b3480156104e157600080fd5b50610338610e50565b3480156104f657600080fd5b506102d4610e74565b34801561050b57600080fd5b506102d461051a3660046123c5565b610efb565b34801561052b57600080fd5b506102d461053a3660046123c5565b610f7f565b34801561054b57600080fd5b5061031661055a3660046121bc565b610fa3565b34801561056b57600080fd5b50610338610fb5565b34801561058057600080fd5b50610316610fd9565b34801561059557600080fd5b506103166105a43660046121bc565b610fdf565b3480156105b557600080fd5b50610338610ff1565b3480156105ca57600080fd5b50610316611000565b3480156105df57600080fd5b506102d46105ee3660046123c5565b611006565b3480156105ff57600080fd5b506102d461060e3660046122e4565b611013565b34801561061f57600080fd5b506102d461062e3660046123c5565b611061565b34801561063f57600080fd5b506102d461064e3660046121bc565b611085565b34801561065f57600080fd5b506103166112c9565b34801561067457600080fd5b506103166112cf565b34801561068957600080fd5b50610316610698366004612237565b6112d5565b3480156106a957600080fd5b506103166112eb565b3480156106be57600080fd5b506106d26106cd3660046123dd565b6112f5565b6040516102ab9190612b13565b3480156106eb57600080fd5b506102d46106fa3660046123c5565b611367565b34801561070b57600080fd5b5061036561071a3660046123dd565b61138b565b34801561072b57600080fd5b506102d461073a3660046123c5565b6113ce565b34801561074b57600080fd5b506102d461075a3660046123c5565b6113f2565b34801561076b57600080fd5b506102d461077a3660046123c5565b611416565b34801561078b57600080fd5b506102d461079a366004612285565b6114a5565b6102d46107ad3660046123c5565b611525565b603d81815481106107bf57fe5b600091825260209091206008909102018054600182015460028301546003840154600485015460058601546006909601546001600160a01b039586169750949093169491939092919060ff8082169161010090041688565b33301461083f5760405162461bcd60e51b815260040161083690612881565b60405180910390fd5b603555565b3361084f833361138b565b158015610862575061086083610971565b155b333214610870576000610874565b6152085b61ffff1681156109355760005a905061088e3387876116b7565b60006108ab6127106108a5856108a55a87906118e8565b9061192a565b60405163a99ce80760e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a99ce807906108fc9088908590600401612494565b600060405180830381600087803b15801561091657600080fd5b505af115801561092a573d6000803e3d6000fd5b505050505050610940565b6109403386866116b7565b5050505050565b603e6020526000908152604090205481565b73b04e030140b30c27bcdfaafffa98c57d80eda7b490565b6000603554603d838154811061098357fe5b906000526020600020906008020160050154603d84815481106109a257fe5b90600052602060002090600802016004015401101590505b919050565b60335481565b60006109cf6112eb565b82111580156109de5750600082115b6109fa5760405162461bcd60e51b8152600401610836906129de565b6000603d8381548110610a0957fe5b906000526020600020906008020190508060020154610a2661194f565b11610a355760009150506109ba565b8060030154610a4261194f565b11610a515760019150506109ba565b80600501548160040154111580610a7357506035548160050154826004015401105b15610a825760029150506109ba565b600681015460ff1615610a995760059150506109ba565b610ab86034546108a5603354846003015461192a90919063ffffffff16565b610ac061194f565b10610acf5760069150506109ba565b6033546003820154610ae09161192a565b610ae861194f565b10610af75760049150506109ba565b60039150506109ba565b60408051808201909152601981527f322e6c6f74746572792d616e642d6761732d7570677261646500000000000000602082015290565b603a5481565b6001600160a01b038381166000908152603c60205260408120549091163314610b795760405162461bcd60e51b815260040161083690612a6e565b610b84848484611953565b949350505050565b336000818152603c60205260409020546001600160a01b039081169190831614801590610bc257506001600160a01b0382163014155b8015610bd657506001600160a01b03821615155b8015610bf45750806001600160a01b0316826001600160a01b031614155b610c105760405162461bcd60e51b8152600401610836906128b8565b6001600160a01b03811615610c56576040516001600160a01b0382169033907f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7290600090a35b336000818152603c602052604080822080546001600160a01b0319166001600160a01b03871690811790915590519092917f4bc154dd35d6a5cb9206482ecb473cdbf2473006d6bce728b9cc0741bcc59ea291a35050565b336000908152603f6020526040902054610cc661194f565b11610ce35760405162461bcd60e51b8152600401610836906127e9565b60408051808201825260208082527f476f7665726e616e63653a20696e73756666696369656e742062616c616e636581830152336000908152603b9091529190912054610d31918390611ca1565b336000818152603b6020526040908190209290925590516391fe357360e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316916391fe357391610d9291908590600401612494565b600060405180830381600087803b158015610dac57600080fd5b505af1158015610940573d6000803e3d6000fd5b603c602052600090815260409020546001600160a01b031681565b60355481565b60345481565b333014610e065760405162461bcd60e51b815260040161083690612881565b6033548110610e275760405162461bcd60e51b8152600401610836906127a5565b603a55565b333014610e4b5760405162461bcd60e51b815260040161083690612881565b603755565b7f000000000000000000000000000000000000000000000000000000000000000081565b336000908152603c60205260409020546001600160a01b031680610eaa5760405162461bcd60e51b815260040161083690612a24565b336000818152603c602052604080822080546001600160a01b0319169055516001600160a01b03841692917f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7291a350565b610f03610959565b6001600160a01b0316336001600160a01b031614610f335760405162461bcd60e51b8152600401610836906129b7565b604051633a08bde160e21b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e822f78490610d92908490600401612b38565b333014610f9e5760405162461bcd60e51b815260040161083690612881565b603455565b603b6020526000908152604090205481565b7f000000000000000000000000000000000000000000000000000000000000000081565b60365481565b603f6020526000908152604090205481565b6040546001600160a01b031681565b60385481565b6110103382611ccd565b50565b60008351116110345760405162461bcd60e51b815260040161083690612857565b61105c838383611044863361138b565b158015611057575061105586610971565b155b611dd2565b505050565b3330146110805760405162461bcd60e51b815260040161083690612881565b603955565b600054610100900460ff168061109e575061109e612016565b806110ac575060005460ff16155b6110c85760405162461bcd60e51b815260040161083690612969565b600054610100900460ff161580156110f3576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b038085166001600160a01b03199283161783558251610100818101855230825261dead602083019081526000958301868152606084018781526080850188815260a08601898152600160c0880181815260e089018c8152603d80549384018155909c52975160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b16928c169290921790915594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc4860180549190991699169890981790965590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc5830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc682015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc784015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc8830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990910180549351151590920261ff001991151560ff1990941693909317169190911790556112b361201c565b80156112c5576000805461ff00191690555b5050565b60395481565b60375481565b60006112e2338484611953565b90505b92915050565b603d546000190190565b6112fd6120b6565b603d838154811061130a57fe5b600091825260208083206001600160a01b0395909516835260089190910290930160070183526040908190208151606081018352815460ff8082161515835261010090910416151594810194909452600101549083015250919050565b3330146113865760405162461bcd60e51b815260040161083690612881565b603355565b6000603d838154811061139a57fe5b600091825260208083206001600160a01b03861684526007600890930201919091019052604090205460ff16905092915050565b3330146113ed5760405162461bcd60e51b815260040161083690612881565b603855565b3330146114115760405162461bcd60e51b815260040161083690612881565b603655565b61141e610959565b6001600160a01b0316336001600160a01b03161461144e5760405162461bcd60e51b8152600401610836906129b7565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108fc611485834761205d565b6040518115909202916000818181858888f1935050505061101057600080fd5b60408054905163d505accf60e01b81526001600160a01b039091169063d505accf906114e190899030908a908a908a908a908a90600401612517565b600060405180830381600087803b1580156114fb57600080fd5b505af115801561150f573d6000803e3d6000fd5b5050505061151d8686611ccd565b505050505050565b6004611530826109c5565b600681111561153b57fe5b146115585760405162461bcd60e51b815260040161083690612604565b6000603d828154811061156757fe5b600091825260209091206006600890920201908101805460ff191660019081179091558101549091506001600160a01b03166115a281612073565b6115be5760405162461bcd60e51b8152600401610836906125c1565b60408051600481526024810182526020810180516001600160e01b03166306e60b1760e31b17905290516000916060916001600160a01b0385169161160291612464565b600060405180830381855af49150503d806000811461163d576040519150601f19603f3d011682016040523d82523d6000602084013e611642565b606091505b5091509150816116855780511561166d578060405162461bcd60e51b815260040161083691906125ae565b60405162461bcd60e51b815260040161083690612aa5565b60405185907f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f90600090a25050505050565b60016116c2836109c5565b60068111156116cd57fe5b146116ea5760405162461bcd60e51b8152600401610836906126ca565b6000603d83815481106116f957fe5b600091825260208083206001600160a01b038816845260076008909302019182018152604080842060058401546004850154603b9094529190942054929450101590806117585760405162461bcd60e51b8152600401610836906128ef565b825460ff16156117a7578254610100900460ff161561178e5760018301546004850154611784916118e8565b60048501556117a7565b600183015460058501546117a1916118e8565b60058501555b84156117c65760048401546117bc908261192a565b60048501556117db565b60058401546117d5908261192a565b60058501555b6006840154610100900460ff1615801561180b57506039546118096117fe61194f565b6003870154906118e8565b105b1561184f57600584015460048501541115821515811461184d5760068501805461ff001916610100179055603a5460038601546118479161192a565b60038601555b505b8254600160ff19909116811761ff001916610100871515021784558301819055603354603454603a54600387015461189a938b936118959391926108a59283919061192a565b612079565b841515876001600160a01b0316877f7c2de587c00d75474a0c6c6fa96fd3b45dc974cd4e8a75f712bb84c950dce1b5846040516118d79190612b38565b60405180910390a450505050505050565b60006112e283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611ca1565b6000828201838110156112e25760405162461bcd60e51b81526004016108369061276e565b4290565b6001600160a01b0383166000908152603b602052604081205460365481101561198e5760405162461bcd60e51b815260040161083690612711565b61199784612073565b6119b35760405162461bcd60e51b815260040161083690612926565b6001600160a01b0385166000908152603e60205260409020548015611a255760006119dd826109c5565b905060018160068111156119ed57fe5b14158015611a0757506000816006811115611a0457fe5b14155b611a235760405162461bcd60e51b81526004016108369061264f565b505b6000611a356037546108a561194f565b90506000611a4e6038548361192a90919063ffffffff16565b9050611a586120d6565b506040805161010080820183526001600160a01b03808c1683528a8116602084019081529383018681526060840186815260006080860181815260a0870182815260c0880183815260e08901848152603d80546001810182559086528a5160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b166001600160a01b03199384161790559b517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc48d01805491909a1691161790975594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc58a015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc6890155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc788015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc887015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990950180549251151590930261ff001995151560ff19909316929092179490941617905590611c0a6112eb565b82516001600160a01b03166000908152603e60205260409020819055603354603454603a54929350611c4c928d926118959290916108a5919082908a9061192a565b896001600160a01b0316817f90ec05050aa23d54ba425e926fe646c318e85825bc400b13a46010abe86eb2f08b87878d604051611c8c9493929190612558565b60405180910390a39998505050505050505050565b60008184841115611cc55760405162461bcd60e51b815260040161083691906125ae565b505050900390565b6040805490516323b872dd60e01b81526001600160a01b03909116906323b872dd90611d219085907f00000000000000000000000000000000000000000000000000000000000000009086906004016124ad565b602060405180830381600087803b158015611d3b57600080fd5b505af1158015611d4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d7391906123a9565b611d8f5760405162461bcd60e51b815260040161083690612820565b6001600160a01b0382166000908152603b6020526040902054611db2908261192a565b6001600160a01b039092166000908152603b602052604090209190915550565b3381328214611de2576000611de6565b6152085b61ffff168115611f515760005a905060005b8851811015611eaf576000898281518110611e0f57fe5b6020908102919091018101516001600160a01b038082166000908152603c90935260409092205490925016331480611e4f57506001600160a01b03811633145b611e6b5760405162461bcd60e51b815260040161083690612a6e565b861580611e7f5750611e7d898261138b565b155b611e9b5760405162461bcd60e51b815260040161083690612adc565b611ea6818a8a6116b7565b50600101611df8565b506000611ec76127106108a5856108a55a87906118e8565b60405163a99ce80760e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a99ce80790611f189088908590600401612494565b600060405180830381600087803b158015611f3257600080fd5b505af1158015611f46573d6000803e3d6000fd5b50505050505061200d565b60005b875181101561200b576000888281518110611f6b57fe5b6020908102919091018101516001600160a01b038082166000908152603c90935260409092205490925016331480611fab57506001600160a01b03811633145b611fc75760405162461bcd60e51b815260040161083690612a6e565b851580611fdb5750611fd9888261138b565b155b611ff75760405162461bcd60e51b815260040161083690612adc565b6120028189896116b7565b50600101611f54565b505b50505050505050565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b600081831061206c57816112e2565b5090919050565b3b151590565b6001600160a01b0382166000908152603f60205260409020548111156112c5576001600160a01b03919091166000908152603f6020526040902055565b604080516060810182526000808252602082018190529181019190915290565b60405180610100016040528060006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000151581526020016000151581525090565b80356001600160a01b03811681146112e557600080fd5b80356112e581612bad565b600082601f830112612163578081fd5b813567ffffffffffffffff811115612179578182fd5b61218c601f8201601f1916602001612b41565b91508082528360208285010111156121a357600080fd5b8060208401602084013760009082016020015292915050565b6000602082840312156121cd578081fd5b6112e28383612131565b6000806000606084860312156121eb578182fd5b83356121f681612b98565b9250602084013561220681612b98565b9150604084013567ffffffffffffffff811115612221578182fd5b61222d86828701612153565b9150509250925092565b60008060408385031215612249578182fd5b823561225481612b98565b9150602083013567ffffffffffffffff81111561226f578182fd5b61227b85828601612153565b9150509250929050565b60008060008060008060c0878903121561229d578182fd5b6122a78888612131565b95506020870135945060408701359350606087013560ff811681146122ca578283fd5b9598949750929560808101359460a0909101359350915050565b6000806000606084860312156122f8578283fd5b833567ffffffffffffffff8082111561230f578485fd5b818601915086601f830112612322578485fd5b813581811115612330578586fd5b60209150818102612342838201612b41565b8281528381019085850183870186018c101561235c57898afd5b8996505b84871015612386576123728c82612131565b835260019690960195918501918501612360565b50975050505085013592506123a090508560408601612148565b90509250925092565b6000602082840312156123ba578081fd5b81516112e281612bad565b6000602082840312156123d6578081fd5b5035919050565b600080604083850312156123ef578182fd5b823591506124008460208501612131565b90509250929050565b6000806040838503121561241b578182fd5b82359150602083013561242d81612bad565b809150509250929050565b60008151808452612450816020860160208601612b68565b601f01601f19169290920160200192915050565b60008251612476818460208701612b68565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03988916815296909716602087015260408601949094526060850192909252608084015260a0830152151560c082015290151560e08201526101000190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b600060018060a01b0386168252846020830152836040830152608060608301526125856080830184612438565b9695505050505050565b901515815260200190565b60208101600783106125a857fe5b91905290565b6000602082526112e26020830184612438565b60208082526023908201527f476f7665726e616e63653a3a657865637574653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602b908201527f476f7665726e616e63653a3a657865637574653a20696e76616c69642070726f60408201526a706f73616c20737461746560a81b606082015260800190565b60208082526055908201527f476f7665726e616e63653a3a70726f706f73653a206f6e65206c69766520707260408201527f6f706f73616c207065722070726f706f7365722c20666f756e6420616e20616c6060820152741c9958591e481858dd1a5d99481c1c9bdc1bdcd85b605a1b608082015260a00190565b60208082526027908201527f476f7665726e616e63653a3a5f63617374566f74653a20766f74696e672069736040820152660818db1bdcd95960ca1b606082015260800190565b6020808252603c908201527f476f7665726e616e63653a3a70726f706f73653a2070726f706f73657220766f60408201527f7465732062656c6f772070726f706f73616c207468726573686f6c6400000000606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526024908201527f476f7665726e616e63653a20696e636f727265637420766f7465457874656e6460408201526354696d6560e01b606082015260800190565b6020808252601d908201527f476f7665726e616e63653a20746f6b656e7320617265206c6f636b6564000000604082015260600190565b60208082526019908201527f544f524e3a207472616e7366657246726f6d206661696c656400000000000000604082015260600190565b60208082526010908201526f43616e206e6f7420626520656d70747960801b604082015260600190565b60208082526018908201527f476f7665726e616e63653a20756e617574686f72697a65640000000000000000604082015260600190565b6020808252601d908201527f476f7665726e616e63653a20696e76616c69642064656c656761746565000000604082015260600190565b60208082526018908201527f476f7665726e616e63653a2062616c616e636520697320300000000000000000604082015260600190565b60208082526023908201527f476f7665726e616e63653a3a70726f706f73653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252600d908201526c6f6e6c79206d756c746973696760981b604082015260600190565b60208082526026908201527f476f7665726e616e63653a3a73746174653a20696e76616c69642070726f706f6040820152651cd85b081a5960d21b606082015260800190565b6020808252602a908201527f476f7665726e616e63653a20746f6b656e732061726520616c726561647920756040820152691b99195b1959d85d195960b21b606082015260800190565b6020808252601a908201527f476f7665726e616e63653a206e6f7420617574686f72697a6564000000000000604082015260600190565b60208082526019908201527f50726f706f73616c20657865637574696f6e206661696c656400000000000000604082015260600190565b60208082526019908201527f476f7665726e616e63653a20766f74656420616c726561647900000000000000604082015260600190565b8151151581526020808301511515908201526040918201519181019190915260600190565b90815260200190565b60405181810167ffffffffffffffff81118282101715612b6057600080fd5b604052919050565b60005b83811015612b83578181015183820152602001612b6b565b83811115612b92576000848401525b50505050565b6001600160a01b038116811461101057600080fd5b801515811461101057600080fdfea2646970667358221220a9ae24380315e86f1632949f167f44c17322fe48a1385357edbfdf8bc543469764736f6c634300060c0033"; + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "_gasCompLogic"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "_userVault"; + readonly type: "address"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "constructor"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "account"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "to"; + readonly type: "address"; + }]; + readonly name: "Delegated"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "uint256"; + readonly name: "id"; + readonly type: "uint256"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "proposer"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "address"; + readonly name: "target"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "startTime"; + readonly type: "uint256"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "endTime"; + readonly type: "uint256"; + }, { + readonly indexed: false; + readonly internalType: "string"; + readonly name: "description"; + readonly type: "string"; + }]; + readonly name: "ProposalCreated"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }]; + readonly name: "ProposalExecuted"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "account"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "from"; + readonly type: "address"; + }]; + readonly name: "Undelegated"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "voter"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "bool"; + readonly name: "support"; + readonly type: "bool"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "votes"; + readonly type: "uint256"; + }]; + readonly name: "Voted"; + readonly type: "event"; + }, { + readonly inputs: readonly []; + readonly name: "CLOSING_PERIOD"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "EXECUTION_DELAY"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "EXECUTION_EXPIRATION"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "PROPOSAL_THRESHOLD"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "QUORUM_VOTES"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "VOTE_EXTEND_TIME"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "VOTING_DELAY"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "VOTING_PERIOD"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly name: "canWithdrawAfter"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address[]"; + readonly name: "from"; + readonly type: "address[]"; + }, { + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }, { + readonly internalType: "bool"; + readonly name: "support"; + readonly type: "bool"; + }]; + readonly name: "castDelegatedVote"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }, { + readonly internalType: "bool"; + readonly name: "support"; + readonly type: "bool"; + }]; + readonly name: "castVote"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }]; + readonly name: "checkIfQuorumReached"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "to"; + readonly type: "address"; + }]; + readonly name: "delegate"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly name: "delegatedTo"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }]; + readonly name: "execute"; + readonly outputs: readonly []; + readonly stateMutability: "payable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "gasCompensationVault"; + readonly outputs: readonly [{ + readonly internalType: "contract IGasCompensationVault"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }, { + readonly internalType: "address"; + readonly name: "voter"; + readonly type: "address"; + }]; + readonly name: "getReceipt"; + readonly outputs: readonly [{ + readonly components: readonly [{ + readonly internalType: "bool"; + readonly name: "hasVoted"; + readonly type: "bool"; + }, { + readonly internalType: "bool"; + readonly name: "support"; + readonly type: "bool"; + }, { + readonly internalType: "uint256"; + readonly name: "votes"; + readonly type: "uint256"; + }]; + readonly internalType: "struct Governance.Receipt"; + readonly name: ""; + readonly type: "tuple"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }, { + readonly internalType: "address"; + readonly name: "account"; + readonly type: "address"; + }]; + readonly name: "hasAccountVoted"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "_torn"; + readonly type: "address"; + }]; + readonly name: "initialize"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly name: "latestProposalIds"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "deadline"; + readonly type: "uint256"; + }, { + readonly internalType: "uint8"; + readonly name: "v"; + readonly type: "uint8"; + }, { + readonly internalType: "bytes32"; + readonly name: "r"; + readonly type: "bytes32"; + }, { + readonly internalType: "bytes32"; + readonly name: "s"; + readonly type: "bytes32"; + }]; + readonly name: "lock"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "lockWithApproval"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly name: "lockedBalance"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "proposalCount"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly name: "proposals"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: "proposer"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "target"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "startTime"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "endTime"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "forVotes"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "againstVotes"; + readonly type: "uint256"; + }, { + readonly internalType: "bool"; + readonly name: "executed"; + readonly type: "bool"; + }, { + readonly internalType: "bool"; + readonly name: "extended"; + readonly type: "bool"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "target"; + readonly type: "address"; + }, { + readonly internalType: "string"; + readonly name: "description"; + readonly type: "string"; + }]; + readonly name: "propose"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "from"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "target"; + readonly type: "address"; + }, { + readonly internalType: "string"; + readonly name: "description"; + readonly type: "string"; + }]; + readonly name: "proposeByDelegate"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "returnMultisigAddress"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "pure"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "closingPeriod"; + readonly type: "uint256"; + }]; + readonly name: "setClosingPeriod"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "executionDelay"; + readonly type: "uint256"; + }]; + readonly name: "setExecutionDelay"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "executionExpiration"; + readonly type: "uint256"; + }]; + readonly name: "setExecutionExpiration"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "gasCompensationsLimit"; + readonly type: "uint256"; + }]; + readonly name: "setGasCompensations"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "proposalThreshold"; + readonly type: "uint256"; + }]; + readonly name: "setProposalThreshold"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "quorumVotes"; + readonly type: "uint256"; + }]; + readonly name: "setQuorumVotes"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "voteExtendTime"; + readonly type: "uint256"; + }]; + readonly name: "setVoteExtendTime"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "votingDelay"; + readonly type: "uint256"; + }]; + readonly name: "setVotingDelay"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "votingPeriod"; + readonly type: "uint256"; + }]; + readonly name: "setVotingPeriod"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }]; + readonly name: "state"; + readonly outputs: readonly [{ + readonly internalType: "enum Governance.ProposalState"; + readonly name: ""; + readonly type: "uint8"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "torn"; + readonly outputs: readonly [{ + readonly internalType: "contract TORN"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "undelegate"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "unlock"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "userVault"; + readonly outputs: readonly [{ + readonly internalType: "contract ITornadoVault"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "version"; + readonly outputs: readonly [{ + readonly internalType: "string"; + readonly name: ""; + readonly type: "string"; + }]; + readonly stateMutability: "pure"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "withdrawFromHelper"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly stateMutability: "payable"; + readonly type: "receive"; + }]; + static createInterface(): GovernanceGasUpgradeInterface; + static connect(address: string, runner?: ContractRunner | null): GovernanceGasUpgrade; +} +export {}; diff --git a/dist/factories/contracts/Governance/v2-vault-and-gas/GovernanceVaultUpgrade__factory.d.ts b/dist/factories/contracts/Governance/v2-vault-and-gas/GovernanceVaultUpgrade__factory.d.ts new file mode 100644 index 0000000..575c270 --- /dev/null +++ b/dist/factories/contracts/Governance/v2-vault-and-gas/GovernanceVaultUpgrade__factory.d.ts @@ -0,0 +1,631 @@ +import { ContractFactory, ContractTransactionResponse } from "ethers"; +import type { Signer, AddressLike, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../common"; +import type { GovernanceVaultUpgrade, GovernanceVaultUpgradeInterface } from "../../../../contracts/Governance/v2-vault-and-gas/GovernanceVaultUpgrade"; +type GovernanceVaultUpgradeConstructorParams = [signer?: Signer] | ConstructorParameters; +export declare class GovernanceVaultUpgrade__factory extends ContractFactory { + constructor(...args: GovernanceVaultUpgradeConstructorParams); + getDeployTransaction(_userVault: AddressLike, overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + deploy(_userVault: AddressLike, overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + connect(runner: ContractRunner | null): GovernanceVaultUpgrade__factory; + static readonly bytecode = "0x60a06040523480156200001157600080fd5b506040516200277e3803806200277e833981016040819052620000349162000142565b600054610100900460ff168062000050575062000050620000fb565b806200005f575060005460ff16155b620000875760405162461bcd60e51b81526004016200007e9062000172565b60405180910390fd5b600054610100900460ff16158015620000b3576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b03191661dead179055620000d162000101565b8015620000e4576000805461ff00191690555b5060601b6001600160601b031916608052620001c0565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b60006020828403121562000154578081fd5b81516001600160a01b03811681146200016b578182fd5b9392505050565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b60805160601c612596620001e860003980610af15280610cb3528061194752506125966000f3fe6080604052600436106102255760003560e01c80639daafec711610123578063ce25d71c116100ab578063e4917d9f1161006f578063e4917d9f1461061b578063ea0217cf1461063b578063ece40cc11461065b578063f0b768921461067b578063fe0d94c11461069b57610225565b8063ce25d71c1461058f578063d6159fe5146105a4578063d6f0948c146105b9578063da35c664146105d9578063e23a9a52146105ee57610225565b8063b1610d7e116100f2578063b1610d7e146104fa578063b54426c81461050f578063b859f11b1461052f578063c0c0e8201461054f578063c4d66de81461056f57610225565b80639daafec71461049b578063a6c26603146104b0578063a72edda3146104c5578063adf898a4146104e557610225565b80635c19a95c116101b15780636dc2dc6c116101755780636dc2dc6c1461040657806370b0f6601461042657806392ab89bb146104465780639a9e3b6e1461045b5780639ae697bf1461047b57610225565b80635c19a95c1461036f5780636198e3391461038f57806365da1264146103af578063671dd275146103dc5780636a661755146103f157610225565b806337f135d7116101f857806337f135d7146102d65780633e4f49e6146102eb57806354fd4d5014610318578063587a6ecb1461033a57806358e9fff01461034f57610225565b8063013cf08b1461022a57806302ec8f9e1461026757806315373e3d1461028957806317977c61146102a9575b600080fd5b34801561023657600080fd5b5061024a610245366004611dfd565b6106ae565b60405161025e989796959493929190611f09565b60405180910390f35b34801561027357600080fd5b50610287610282366004611dfd565b610713565b005b34801561029557600080fd5b506102876102a4366004611e41565b610740565b3480156102b557600080fd5b506102c96102c4366004611bf4565b61074f565b60405161025e91906124dd565b3480156102e257600080fd5b506102c9610761565b3480156102f757600080fd5b5061030b610306366004611dfd565b610767565b60405161025e9190611fc7565b34801561032457600080fd5b5061032d6108aa565b60405161025e9190611fdb565b34801561034657600080fd5b506102c96108d5565b34801561035b57600080fd5b506102c961036a366004611c0f565b6108db565b34801561037b57600080fd5b5061028761038a366004611bf4565b610929565b34801561039b57600080fd5b506102876103aa366004611dfd565b610a4b565b3480156103bb57600080fd5b506103cf6103ca366004611bf4565b610b64565b60405161025e9190611eb8565b3480156103e857600080fd5b506102c9610b7f565b3480156103fd57600080fd5b506102c9610b85565b34801561041257600080fd5b50610287610421366004611dfd565b610b8b565b34801561043257600080fd5b50610287610441366004611dfd565b610bd0565b34801561045257600080fd5b50610287610bf4565b34801561046757600080fd5b50610287610476366004611dfd565b610c7b565b34801561048757600080fd5b506102c9610496366004611bf4565b610c9f565b3480156104a757600080fd5b506103cf610cb1565b3480156104bc57600080fd5b506102c9610cd5565b3480156104d157600080fd5b506102c96104e0366004611bf4565b610cdb565b3480156104f157600080fd5b506103cf610ced565b34801561050657600080fd5b506102c9610cfc565b34801561051b57600080fd5b5061028761052a366004611dfd565b610d02565b34801561053b57600080fd5b5061028761054a366004611d1c565b610d0f565b34801561055b57600080fd5b5061028761056a366004611dfd565b610dc6565b34801561057b57600080fd5b5061028761058a366004611bf4565b610dea565b34801561059b57600080fd5b506102c961102d565b3480156105b057600080fd5b506102c9611033565b3480156105c557600080fd5b506102c96105d4366004611c6f565b611039565b3480156105e557600080fd5b506102c961104f565b3480156105fa57600080fd5b5061060e610609366004611e15565b611059565b60405161025e91906124b8565b34801561062757600080fd5b50610287610636366004611dfd565b6110cb565b34801561064757600080fd5b50610287610656366004611dfd565b6110ef565b34801561066757600080fd5b50610287610676366004611dfd565b611113565b34801561068757600080fd5b50610287610696366004611cbd565b611137565b6102876106a9366004611dfd565b6111b7565b603d81815481106106bb57fe5b600091825260209091206008909102018054600182015460028301546003840154600485015460058601546006909601546001600160a01b039586169750949093169491939092919060ff8082169161010090041688565b33301461073b5760405162461bcd60e51b815260040161073290612284565b60405180910390fd5b603555565b61074b338383611349565b5050565b603e6020526000908152604090205481565b60335481565b600061077161104f565b82111580156107805750600082115b61079c5760405162461bcd60e51b8152600401610732906123ba565b6000603d83815481106107ab57fe5b9060005260206000209060080201905080600201546107c861157a565b116107d75760009150506108a5565b80600301546107e461157a565b116107f35760019150506108a5565b8060050154816004015411158061081557506035548160050154826004015401105b156108245760029150506108a5565b600681015460ff161561083b5760059150506108a5565b61086060345461085a603354846003015461157e90919063ffffffff16565b9061157e565b61086861157a565b106108775760069150506108a5565b60335460038201546108889161157e565b61089061157a565b1061089f5760049150506108a5565b60039150505b919050565b60408051808201909152601181527019173b30bab63a16b6b4b3b930ba34b7b760791b602082015290565b603a5481565b6001600160a01b038381166000908152603c602052604081205490911633146109165760405162461bcd60e51b81526004016107329061244a565b6109218484846115a3565b949350505050565b336000818152603c60205260409020546001600160a01b03908116919083161480159061095f57506001600160a01b0382163014155b801561097357506001600160a01b03821615155b80156109915750806001600160a01b0316826001600160a01b031614155b6109ad5760405162461bcd60e51b8152600401610732906122bb565b6001600160a01b038116156109f3576040516001600160a01b0382169033907f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7290600090a35b336000818152603c602052604080822080546001600160a01b0319166001600160a01b03871690811790915590519092917f4bc154dd35d6a5cb9206482ecb473cdbf2473006d6bce728b9cc0741bcc59ea291a35050565b336000908152603f6020526040902054610a6361157a565b11610a805760405162461bcd60e51b815260040161073290612216565b60408051808201825260208082527f476f7665726e616e63653a20696e73756666696369656e742062616c616e636581830152336000908152603b9091529190912054610ace9183906118f1565b336000818152603b6020526040908190209290925590516391fe357360e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316916391fe357391610b2f91908590600401611ecc565b600060405180830381600087803b158015610b4957600080fd5b505af1158015610b5d573d6000803e3d6000fd5b5050505050565b603c602052600090815260409020546001600160a01b031681565b60355481565b60345481565b333014610baa5760405162461bcd60e51b815260040161073290612284565b6033548110610bcb5760405162461bcd60e51b8152600401610732906121d2565b603a55565b333014610bef5760405162461bcd60e51b815260040161073290612284565b603755565b336000908152603c60205260409020546001600160a01b031680610c2a5760405162461bcd60e51b815260040161073290612400565b336000818152603c602052604080822080546001600160a01b0319169055516001600160a01b03841692917f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7291a350565b333014610c9a5760405162461bcd60e51b815260040161073290612284565b603455565b603b6020526000908152604090205481565b7f000000000000000000000000000000000000000000000000000000000000000081565b60365481565b603f6020526000908152604090205481565b6040546001600160a01b031681565b60385481565b610d0c338261191d565b50565b60005b8351811015610da057336001600160a01b0316603c6000868481518110610d3557fe5b6020908102919091018101516001600160a01b03908116835290820192909252604001600020541614610d7a5760405162461bcd60e51b81526004016107329061244a565b610d98848281518110610d8957fe5b60200260200101518484611349565b600101610d12565b50336000908152603b602052604090205415610dc157610dc1338383611349565b505050565b333014610de55760405162461bcd60e51b815260040161073290612284565b603955565b600054610100900460ff1680610e035750610e03611a22565b80610e11575060005460ff16155b610e2d5760405162461bcd60e51b81526004016107329061236c565b600054610100900460ff16158015610e58576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b038085166001600160a01b03199283161783558251610100818101855230825261dead602083019081526000958301868152606084018781526080850188815260a08601898152600160c0880181815260e089018c8152603d80549384018155909c52975160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b16928c169290921790915594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc4860180549190991699169890981790965590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc5830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc682015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc784015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc8830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990910180549351151590920261ff001991151560ff199094169390931716919091179055611018611a28565b801561074b576000805461ff00191690555050565b60395481565b60375481565b60006110463384846115a3565b90505b92915050565b603d546000190190565b611061611aee565b603d838154811061106e57fe5b600091825260208083206001600160a01b0395909516835260089190910290930160070183526040908190208151606081018352815460ff8082161515835261010090910416151594810194909452600101549083015250919050565b3330146110ea5760405162461bcd60e51b815260040161073290612284565b603355565b33301461110e5760405162461bcd60e51b815260040161073290612284565b603855565b3330146111325760405162461bcd60e51b815260040161073290612284565b603655565b60408054905163d505accf60e01b81526001600160a01b039091169063d505accf9061117390899030908a908a908a908a908a90600401611f4f565b600060405180830381600087803b15801561118d57600080fd5b505af11580156111a1573d6000803e3d6000fd5b505050506111af868661191d565b505050505050565b60046111c282610767565b60068111156111cd57fe5b146111ea5760405162461bcd60e51b815260040161073290612031565b6000603d82815481106111f957fe5b600091825260209091206006600890920201908101805460ff191660019081179091558101549091506001600160a01b031661123481611a69565b6112505760405162461bcd60e51b815260040161073290611fee565b60408051600481526024810182526020810180516001600160e01b03166306e60b1760e31b17905290516000916060916001600160a01b0385169161129491611e9c565b600060405180830381855af49150503d80600081146112cf576040519150601f19603f3d011682016040523d82523d6000602084013e6112d4565b606091505b509150915081611317578051156112ff578060405162461bcd60e51b81526004016107329190611fdb565b60405162461bcd60e51b815260040161073290612481565b60405185907f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f90600090a25050505050565b600161135483610767565b600681111561135f57fe5b1461137c5760405162461bcd60e51b8152600401610732906120f7565b6000603d838154811061138b57fe5b600091825260208083206001600160a01b038816845260076008909302019182018152604080842060058401546004850154603b9094529190942054929450101590806113ea5760405162461bcd60e51b8152600401610732906122f2565b825460ff1615611439578254610100900460ff1615611420576001830154600485015461141691611a6f565b6004850155611439565b6001830154600585015461143391611a6f565b60058501555b841561145857600484015461144e908261157e565b600485015561146d565b6005840154611467908261157e565b60058501555b6006840154610100900460ff1615801561149d575060395461149b61149061157a565b600387015490611a6f565b105b156114e15760058401546004850154111582151581146114df5760068501805461ff001916610100179055603a5460038601546114d99161157e565b60038601555b505b8254600160ff19909116811761ff001916610100871515021784558301819055603354603454603a54600387015461152c938b9361152793919261085a9283919061157e565b611ab1565b841515876001600160a01b0316877f7c2de587c00d75474a0c6c6fa96fd3b45dc974cd4e8a75f712bb84c950dce1b58460405161156991906124dd565b60405180910390a450505050505050565b4290565b6000828201838110156110465760405162461bcd60e51b81526004016107329061219b565b6001600160a01b0383166000908152603b60205260408120546036548110156115de5760405162461bcd60e51b81526004016107329061213e565b6115e784611a69565b6116035760405162461bcd60e51b815260040161073290612329565b6001600160a01b0385166000908152603e6020526040902054801561167557600061162d82610767565b9050600181600681111561163d57fe5b141580156116575750600081600681111561165457fe5b14155b6116735760405162461bcd60e51b81526004016107329061207c565b505b600061168560375461085a61157a565b9050600061169e6038548361157e90919063ffffffff16565b90506116a8611b0e565b506040805161010080820183526001600160a01b03808c1683528a8116602084019081529383018681526060840186815260006080860181815260a0870182815260c0880183815260e08901848152603d80546001810182559086528a5160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b166001600160a01b03199384161790559b517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc48d01805491909a1691161790975594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc58a015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc6890155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc788015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc887015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990950180549251151590930261ff001995151560ff1990931692909217949094161790559061185a61104f565b82516001600160a01b03166000908152603e60205260409020819055603354603454603a5492935061189c928d9261152792909161085a919082908a9061157e565b896001600160a01b0316817f90ec05050aa23d54ba425e926fe646c318e85825bc400b13a46010abe86eb2f08b87878d6040516118dc9493929190611f90565b60405180910390a39998505050505050505050565b600081848411156119155760405162461bcd60e51b81526004016107329190611fdb565b505050900390565b6040805490516323b872dd60e01b81526001600160a01b03909116906323b872dd906119719085907f0000000000000000000000000000000000000000000000000000000000000000908690600401611ee5565b602060405180830381600087803b15801561198b57600080fd5b505af115801561199f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c39190611de1565b6119df5760405162461bcd60e51b81526004016107329061224d565b6001600160a01b0382166000908152603b6020526040902054611a02908261157e565b6001600160a01b039092166000908152603b602052604090209190915550565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b3b151590565b600061104683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506118f1565b6001600160a01b0382166000908152603f602052604090205481111561074b576001600160a01b03919091166000908152603f6020526040902055565b604080516060810182526000808252602082018190529181019190915290565b60405180610100016040528060006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000151581526020016000151581525090565b80356001600160a01b038116811461104957600080fd5b803561104981612552565b600082601f830112611b9b578081fd5b813567ffffffffffffffff811115611bb1578182fd5b611bc4601f8201601f19166020016124e6565b9150808252836020828501011115611bdb57600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215611c05578081fd5b6110468383611b69565b600080600060608486031215611c23578182fd5b8335611c2e8161253d565b92506020840135611c3e8161253d565b9150604084013567ffffffffffffffff811115611c59578182fd5b611c6586828701611b8b565b9150509250925092565b60008060408385031215611c81578182fd5b8235611c8c8161253d565b9150602083013567ffffffffffffffff811115611ca7578182fd5b611cb385828601611b8b565b9150509250929050565b60008060008060008060c08789031215611cd5578182fd5b611cdf8888611b69565b95506020870135945060408701359350606087013560ff81168114611d02578283fd5b9598949750929560808101359460a0909101359350915050565b600080600060608486031215611d30578283fd5b833567ffffffffffffffff80821115611d47578485fd5b818601915086601f830112611d5a578485fd5b813581811115611d68578586fd5b60209150818102611d7a8382016124e6565b8281528381019085850183870186018c1015611d9457898afd5b8996505b84871015611dbe57611daa8c82611b69565b835260019690960195918501918501611d98565b5097505050508501359250611dd890508560408601611b80565b90509250925092565b600060208284031215611df2578081fd5b815161104681612552565b600060208284031215611e0e578081fd5b5035919050565b60008060408385031215611e27578182fd5b82359150611e388460208501611b69565b90509250929050565b60008060408385031215611e53578182fd5b823591506020830135611e6581612552565b809150509250929050565b60008151808452611e8881602086016020860161250d565b601f01601f19169290920160200192915050565b60008251611eae81846020870161250d565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03988916815296909716602087015260408601949094526060850192909252608084015260a0830152151560c082015290151560e08201526101000190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b600060018060a01b038616825284602083015283604083015260806060830152611fbd6080830184611e70565b9695505050505050565b6020810160078310611fd557fe5b91905290565b6000602082526110466020830184611e70565b60208082526023908201527f476f7665726e616e63653a3a657865637574653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602b908201527f476f7665726e616e63653a3a657865637574653a20696e76616c69642070726f60408201526a706f73616c20737461746560a81b606082015260800190565b60208082526055908201527f476f7665726e616e63653a3a70726f706f73653a206f6e65206c69766520707260408201527f6f706f73616c207065722070726f706f7365722c20666f756e6420616e20616c6060820152741c9958591e481858dd1a5d99481c1c9bdc1bdcd85b605a1b608082015260a00190565b60208082526027908201527f476f7665726e616e63653a3a5f63617374566f74653a20766f74696e672069736040820152660818db1bdcd95960ca1b606082015260800190565b6020808252603c908201527f476f7665726e616e63653a3a70726f706f73653a2070726f706f73657220766f60408201527f7465732062656c6f772070726f706f73616c207468726573686f6c6400000000606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526024908201527f476f7665726e616e63653a20696e636f727265637420766f7465457874656e6460408201526354696d6560e01b606082015260800190565b6020808252601d908201527f476f7665726e616e63653a20746f6b656e7320617265206c6f636b6564000000604082015260600190565b60208082526019908201527f544f524e3a207472616e7366657246726f6d206661696c656400000000000000604082015260600190565b60208082526018908201527f476f7665726e616e63653a20756e617574686f72697a65640000000000000000604082015260600190565b6020808252601d908201527f476f7665726e616e63653a20696e76616c69642064656c656761746565000000604082015260600190565b60208082526018908201527f476f7665726e616e63653a2062616c616e636520697320300000000000000000604082015260600190565b60208082526023908201527f476f7665726e616e63653a3a70726f706f73653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b60208082526026908201527f476f7665726e616e63653a3a73746174653a20696e76616c69642070726f706f6040820152651cd85b081a5960d21b606082015260800190565b6020808252602a908201527f476f7665726e616e63653a20746f6b656e732061726520616c726561647920756040820152691b99195b1959d85d195960b21b606082015260800190565b6020808252601a908201527f476f7665726e616e63653a206e6f7420617574686f72697a6564000000000000604082015260600190565b60208082526019908201527f50726f706f73616c20657865637574696f6e206661696c656400000000000000604082015260600190565b8151151581526020808301511515908201526040918201519181019190915260600190565b90815260200190565b60405181810167ffffffffffffffff8111828210171561250557600080fd5b604052919050565b60005b83811015612528578181015183820152602001612510565b83811115612537576000848401525b50505050565b6001600160a01b0381168114610d0c57600080fd5b8015158114610d0c57600080fdfea26469706673582212204b0042571b6576e17c0708c8f251958898bb0e0a9f340387b1eed439d732af7264736f6c634300060c0033"; + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "_userVault"; + readonly type: "address"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "constructor"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "account"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "to"; + readonly type: "address"; + }]; + readonly name: "Delegated"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "uint256"; + readonly name: "id"; + readonly type: "uint256"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "proposer"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "address"; + readonly name: "target"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "startTime"; + readonly type: "uint256"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "endTime"; + readonly type: "uint256"; + }, { + readonly indexed: false; + readonly internalType: "string"; + readonly name: "description"; + readonly type: "string"; + }]; + readonly name: "ProposalCreated"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }]; + readonly name: "ProposalExecuted"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "account"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "from"; + readonly type: "address"; + }]; + readonly name: "Undelegated"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "voter"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "bool"; + readonly name: "support"; + readonly type: "bool"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "votes"; + readonly type: "uint256"; + }]; + readonly name: "Voted"; + readonly type: "event"; + }, { + readonly inputs: readonly []; + readonly name: "CLOSING_PERIOD"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "EXECUTION_DELAY"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "EXECUTION_EXPIRATION"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "PROPOSAL_THRESHOLD"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "QUORUM_VOTES"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "VOTE_EXTEND_TIME"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "VOTING_DELAY"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "VOTING_PERIOD"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly name: "canWithdrawAfter"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address[]"; + readonly name: "from"; + readonly type: "address[]"; + }, { + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }, { + readonly internalType: "bool"; + readonly name: "support"; + readonly type: "bool"; + }]; + readonly name: "castDelegatedVote"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }, { + readonly internalType: "bool"; + readonly name: "support"; + readonly type: "bool"; + }]; + readonly name: "castVote"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "to"; + readonly type: "address"; + }]; + readonly name: "delegate"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly name: "delegatedTo"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }]; + readonly name: "execute"; + readonly outputs: readonly []; + readonly stateMutability: "payable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }, { + readonly internalType: "address"; + readonly name: "voter"; + readonly type: "address"; + }]; + readonly name: "getReceipt"; + readonly outputs: readonly [{ + readonly components: readonly [{ + readonly internalType: "bool"; + readonly name: "hasVoted"; + readonly type: "bool"; + }, { + readonly internalType: "bool"; + readonly name: "support"; + readonly type: "bool"; + }, { + readonly internalType: "uint256"; + readonly name: "votes"; + readonly type: "uint256"; + }]; + readonly internalType: "struct Governance.Receipt"; + readonly name: ""; + readonly type: "tuple"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "_torn"; + readonly type: "address"; + }]; + readonly name: "initialize"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly name: "latestProposalIds"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "deadline"; + readonly type: "uint256"; + }, { + readonly internalType: "uint8"; + readonly name: "v"; + readonly type: "uint8"; + }, { + readonly internalType: "bytes32"; + readonly name: "r"; + readonly type: "bytes32"; + }, { + readonly internalType: "bytes32"; + readonly name: "s"; + readonly type: "bytes32"; + }]; + readonly name: "lock"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "lockWithApproval"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly name: "lockedBalance"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "proposalCount"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly name: "proposals"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: "proposer"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "target"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "startTime"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "endTime"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "forVotes"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "againstVotes"; + readonly type: "uint256"; + }, { + readonly internalType: "bool"; + readonly name: "executed"; + readonly type: "bool"; + }, { + readonly internalType: "bool"; + readonly name: "extended"; + readonly type: "bool"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "target"; + readonly type: "address"; + }, { + readonly internalType: "string"; + readonly name: "description"; + readonly type: "string"; + }]; + readonly name: "propose"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "from"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "target"; + readonly type: "address"; + }, { + readonly internalType: "string"; + readonly name: "description"; + readonly type: "string"; + }]; + readonly name: "proposeByDelegate"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "closingPeriod"; + readonly type: "uint256"; + }]; + readonly name: "setClosingPeriod"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "executionDelay"; + readonly type: "uint256"; + }]; + readonly name: "setExecutionDelay"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "executionExpiration"; + readonly type: "uint256"; + }]; + readonly name: "setExecutionExpiration"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "proposalThreshold"; + readonly type: "uint256"; + }]; + readonly name: "setProposalThreshold"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "quorumVotes"; + readonly type: "uint256"; + }]; + readonly name: "setQuorumVotes"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "voteExtendTime"; + readonly type: "uint256"; + }]; + readonly name: "setVoteExtendTime"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "votingDelay"; + readonly type: "uint256"; + }]; + readonly name: "setVotingDelay"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "votingPeriod"; + readonly type: "uint256"; + }]; + readonly name: "setVotingPeriod"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }]; + readonly name: "state"; + readonly outputs: readonly [{ + readonly internalType: "enum Governance.ProposalState"; + readonly name: ""; + readonly type: "uint8"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "torn"; + readonly outputs: readonly [{ + readonly internalType: "contract TORN"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "undelegate"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "unlock"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "userVault"; + readonly outputs: readonly [{ + readonly internalType: "contract ITornadoVault"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "version"; + readonly outputs: readonly [{ + readonly internalType: "string"; + readonly name: ""; + readonly type: "string"; + }]; + readonly stateMutability: "pure"; + readonly type: "function"; + }]; + static createInterface(): GovernanceVaultUpgradeInterface; + static connect(address: string, runner?: ContractRunner | null): GovernanceVaultUpgrade; +} +export {}; diff --git a/dist/factories/contracts/Governance/v2-vault-and-gas/index.d.ts b/dist/factories/contracts/Governance/v2-vault-and-gas/index.d.ts new file mode 100644 index 0000000..1ccd377 --- /dev/null +++ b/dist/factories/contracts/Governance/v2-vault-and-gas/index.d.ts @@ -0,0 +1,4 @@ +export * as gasCompensatorSol from "./GasCompensator.sol"; +export * as interfaces from "./interfaces"; +export { GovernanceGasUpgrade__factory } from "./GovernanceGasUpgrade__factory"; +export { GovernanceVaultUpgrade__factory } from "./GovernanceVaultUpgrade__factory"; diff --git a/dist/factories/contracts/Governance/v2-vault-and-gas/interfaces/ITornadoVault__factory.d.ts b/dist/factories/contracts/Governance/v2-vault-and-gas/interfaces/ITornadoVault__factory.d.ts new file mode 100644 index 0000000..b0c4f53 --- /dev/null +++ b/dist/factories/contracts/Governance/v2-vault-and-gas/interfaces/ITornadoVault__factory.d.ts @@ -0,0 +1,21 @@ +import { type ContractRunner } from "ethers"; +import type { ITornadoVault, ITornadoVaultInterface } from "../../../../../contracts/Governance/v2-vault-and-gas/interfaces/ITornadoVault"; +export declare class ITornadoVault__factory { + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "recipient"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "withdrawTorn"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }]; + static createInterface(): ITornadoVaultInterface; + static connect(address: string, runner?: ContractRunner | null): ITornadoVault; +} diff --git a/dist/factories/contracts/Governance/v2-vault-and-gas/interfaces/index.d.ts b/dist/factories/contracts/Governance/v2-vault-and-gas/interfaces/index.d.ts new file mode 100644 index 0000000..9ca1f43 --- /dev/null +++ b/dist/factories/contracts/Governance/v2-vault-and-gas/interfaces/index.d.ts @@ -0,0 +1 @@ +export { ITornadoVault__factory } from "./ITornadoVault__factory"; diff --git a/dist/factories/contracts/Governance/v3-relayer-registry/GovernanceStakingUpgrade__factory.d.ts b/dist/factories/contracts/Governance/v3-relayer-registry/GovernanceStakingUpgrade__factory.d.ts new file mode 100644 index 0000000..ee518fd --- /dev/null +++ b/dist/factories/contracts/Governance/v3-relayer-registry/GovernanceStakingUpgrade__factory.d.ts @@ -0,0 +1,749 @@ +import { ContractFactory, ContractTransactionResponse } from "ethers"; +import type { Signer, AddressLike, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../common"; +import type { GovernanceStakingUpgrade, GovernanceStakingUpgradeInterface } from "../../../../contracts/Governance/v3-relayer-registry/GovernanceStakingUpgrade"; +type GovernanceStakingUpgradeConstructorParams = [signer?: Signer] | ConstructorParameters; +export declare class GovernanceStakingUpgrade__factory extends ContractFactory { + constructor(...args: GovernanceStakingUpgradeConstructorParams); + getDeployTransaction(stakingRewardsAddress: AddressLike, gasCompLogic: AddressLike, userVaultAddress: AddressLike, overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + deploy(stakingRewardsAddress: AddressLike, gasCompLogic: AddressLike, userVaultAddress: AddressLike, overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + connect(runner: ContractRunner | null): GovernanceStakingUpgrade__factory; + static readonly bytecode = "0x60e06040523480156200001157600080fd5b50604051620032a6380380620032a6833981016040819052620000349162000165565b81818181600060019054906101000a900460ff1680620000595750620000596200011e565b8062000068575060005460ff16155b620000905760405162461bcd60e51b81526004016200008790620001b8565b60405180910390fd5b600054610100900460ff16158015620000bc576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b03191661dead179055620000da62000124565b8015620000ed576000805461ff00191690555b506001600160601b0319606091821b811660805291811b821660a0529590951b90941660c052506200021f92505050565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b6000806000606084860312156200017a578283fd5b8351620001878162000206565b60208501519093506200019a8162000206565b6040850151909250620001ad8162000206565b809150509250925092565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b6001600160a01b03811681146200021c57600080fd5b50565b60805160601c60a05160601c60c05160601c6130246200028260003980610cf652806110b7528061169852806117c95250806108e55280610ead5280610fa552806116145280612164525080611040528061200d528061240e52506130246000f3fe6080604052600436106102765760003560e01c80639ae697bf1161014f578063d6159fe5116100c1578063ea0217cf1161007a578063ea0217cf1461072a578063ece40cc11461074a578063ef3f8bb11461076a578063f0b768921461078a578063f57df22e146107aa578063fe0d94c1146107bf5761027d565b8063d6159fe514610673578063d6f0948c14610688578063da35c664146106a8578063e23a9a52146106bd578063e4917d9f146106ea578063e525aa081461070a5761027d565b8063b1610d7e11610113578063b1610d7e146105c9578063b54426c8146105de578063b859f11b146105fe578063c0c0e8201461061e578063c4d66de81461063e578063ce25d71c1461065e5761027d565b80639ae697bf1461054a5780639daafec71461056a578063a6c266031461057f578063a72edda314610594578063adf898a4146105b45761027d565b80635c19a95c116101e85780636dc2dc6c116101ac5780636dc2dc6c146104a057806370b0f660146104c05780638b34a960146104e057806392ab89bb146104f5578063932d51571461050a5780639a9e3b6e1461052a5761027d565b80635c19a95c146104165780636198e3391461043657806365da126414610456578063671dd275146104765780636a6617551461048b5761027d565b806332687ec11161023a57806332687ec11461035057806337f135d71461037d5780633e4f49e61461039257806354fd4d50146103bf578063587a6ecb146103e157806358e9fff0146103f65761027d565b8063013cf08b1461028257806302ec8f9e146102bf57806315373e3d146102e157806317977c611461030157806324b0435f1461032e5761027d565b3661027d57005b600080fd5b34801561028e57600080fd5b506102a261029d3660046127f8565b6107d2565b6040516102b6989796959493929190612904565b60405180910390f35b3480156102cb57600080fd5b506102df6102da3660046127f8565b610837565b005b3480156102ed57600080fd5b506102df6102fc36600461283c565b610864565b34801561030d57600080fd5b5061032161031c3660046125ef565b610967565b6040516102b69190612f6b565b34801561033a57600080fd5b50610343610979565b6040516102b691906128b3565b34801561035c57600080fd5b5061037061036b3660046127f8565b610991565b6040516102b691906129c2565b34801561038957600080fd5b506103216109df565b34801561039e57600080fd5b506103b26103ad3660046127f8565b6109e5565b6040516102b691906129cd565b3480156103cb57600080fd5b506103d4610b21565b6040516102b691906129e1565b3480156103ed57600080fd5b50610321610b58565b34801561040257600080fd5b5061032161041136600461260a565b610b5e565b34801561042257600080fd5b506102df6104313660046125ef565b610bac565b34801561044257600080fd5b506102df6104513660046127f8565b610cce565b34801561046257600080fd5b506103436104713660046125ef565b610e1b565b34801561048257600080fd5b50610321610e36565b34801561049757600080fd5b50610321610e3c565b3480156104ac57600080fd5b506102df6104bb3660046127f8565b610e42565b3480156104cc57600080fd5b506102df6104db3660046127f8565b610e87565b3480156104ec57600080fd5b50610343610eab565b34801561050157600080fd5b506102df610ecf565b34801561051657600080fd5b506102df6105253660046127f8565b610f56565b34801561053657600080fd5b506102df6105453660046127f8565b611008565b34801561055657600080fd5b506103216105653660046125ef565b61102c565b34801561057657600080fd5b5061034361103e565b34801561058b57600080fd5b50610321611062565b3480156105a057600080fd5b506103216105af3660046125ef565b611068565b3480156105c057600080fd5b5061034361107a565b3480156105d557600080fd5b50610321611089565b3480156105ea57600080fd5b506102df6105f93660046127f8565b61108f565b34801561060a57600080fd5b506102df610619366004612717565b6111d8565b34801561062a57600080fd5b506102df6106393660046127f8565b611226565b34801561064a57600080fd5b506102df6106593660046125ef565b61124a565b34801561066a57600080fd5b5061032161148d565b34801561067f57600080fd5b50610321611493565b34801561069457600080fd5b506103216106a336600461266a565b611499565b3480156106b457600080fd5b506103216114af565b3480156106c957600080fd5b506106dd6106d8366004612810565b6114b9565b6040516102b69190612f46565b3480156106f657600080fd5b506102df6107053660046127f8565b61152b565b34801561071657600080fd5b50610370610725366004612810565b61154f565b34801561073657600080fd5b506102df6107453660046127f8565b611592565b34801561075657600080fd5b506102df6107653660046127f8565b6115b6565b34801561077657600080fd5b506102df6107853660046127f8565b6115da565b34801561079657600080fd5b506102df6107a53660046126b8565b61166c565b3480156107b657600080fd5b506103436117c7565b6102df6107cd3660046127f8565b6117eb565b603d81815481106107df57fe5b600091825260209091206008909102018054600182015460028301546003840154600485015460058601546006909601546001600160a01b039586169750949093169491939092919060ff8082169161010090041688565b33301461085f5760405162461bcd60e51b815260040161085690612cb4565b60405180910390fd5b603555565b3361086f833361154f565b158015610882575061088083610991565b155b333214610890576000610894565b6152085b61ffff1681156109555760005a90506108ae33878761197d565b60006108cb6127106108c5856108c55a8790611bae565b90611bf0565b60405163a99ce80760e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a99ce8079061091c90889085906004016128c7565b600060405180830381600087803b15801561093657600080fd5b505af115801561094a573d6000803e3d6000fd5b505050505050610960565b61096033868661197d565b5050505050565b603e6020526000908152604090205481565b73b04e030140b30c27bcdfaafffa98c57d80eda7b490565b6000603554603d83815481106109a357fe5b906000526020600020906008020160050154603d84815481106109c257fe5b90600052602060002090600802016004015401101590505b919050565b60335481565b60006109ef6114af565b82111580156109fe5750600082115b610a1a5760405162461bcd60e51b815260040161085690612e11565b6000603d8381548110610a2957fe5b906000526020600020906008020190508060020154610a46611c15565b11610a555760009150506109da565b8060030154610a62611c15565b11610a715760019150506109da565b80600501548160040154111580610a9357506035548160050154826004015401105b15610aa25760029150506109da565b600681015460ff1615610ab95760059150506109da565b610ad86034546108c56033548460030154611bf090919063ffffffff16565b610ae0611c15565b10610aef5760069150506109da565b6033546003820154610b0091611bf0565b610b08611c15565b10610b175760049150506109da565b60039150506109da565b60408051808201909152601981527f322e6c6f74746572792d616e642d6761732d7570677261646500000000000000602082015290565b603a5481565b6001600160a01b038381166000908152603c60205260408120549091163314610b995760405162461bcd60e51b815260040161085690612ea1565b610ba4848484611c19565b949350505050565b336000818152603c60205260409020546001600160a01b039081169190831614801590610be257506001600160a01b0382163014155b8015610bf657506001600160a01b03821615155b8015610c145750806001600160a01b0316826001600160a01b031614155b610c305760405162461bcd60e51b815260040161085690612ceb565b6001600160a01b03811615610c76576040516001600160a01b0382169033907f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7290600090a35b336000818152603c602052604080822080546001600160a01b0319166001600160a01b03871690811790915590519092917f4bc154dd35d6a5cb9206482ecb473cdbf2473006d6bce728b9cc0741bcc59ea291a35050565b336000818152603b60205260409081902054905163e113335f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163e113335f91610d2b9185916004016128c7565b600060405180830381600087803b158015610d4557600080fd5b505af1925050508015610d56575060015b610dd9573d808015610d84576040519150601f19603f3d011682016040523d82523d6000602084013e610d89565b606091505b5080604051610d989190612897565b604051908190038120906001600160a01b038416907f5a6216e80d86159dc87dcebfe519205477a94005b7d9d6bd313606450a5344f690600090a350610e0e565b6040516001600160a01b038216907f9b227b0c1ae308b34f72d4fdf9a1943fa769ff4814933595e7bc5230a117698b90600090a25b610e1782611f67565b5050565b603c602052600090815260409020546001600160a01b031681565b60355481565b60345481565b333014610e615760405162461bcd60e51b815260040161085690612cb4565b6033548110610e825760405162461bcd60e51b815260040161085690612bd8565b603a55565b333014610ea65760405162461bcd60e51b815260040161085690612cb4565b603755565b7f000000000000000000000000000000000000000000000000000000000000000081565b336000908152603c60205260409020546001600160a01b031680610f055760405162461bcd60e51b815260040161085690612e57565b336000818152603c602052604080822080546001600160a01b0319169055516001600160a01b03841692917f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7291a350565b610f5e610979565b6001600160a01b0316336001600160a01b031614610f8e5760405162461bcd60e51b815260040161085690612dea565b604051633a08bde160e21b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e822f78490610fda908490600401612f6b565b600060405180830381600087803b158015610ff457600080fd5b505af1158015610960573d6000803e3d6000fd5b3330146110275760405162461bcd60e51b815260040161085690612cb4565b603455565b603b6020526000908152604090205481565b7f000000000000000000000000000000000000000000000000000000000000000081565b60365481565b603f6020526000908152604090205481565b6040546001600160a01b031681565b60385481565b336000818152603b60205260409081902054905163e113335f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163e113335f916110ec9185916004016128c7565b600060405180830381600087803b15801561110657600080fd5b505af1925050508015611117575060015b61119a573d808015611145576040519150601f19603f3d011682016040523d82523d6000602084013e61114a565b606091505b50806040516111599190612897565b604051908190038120906001600160a01b038416907f5a6216e80d86159dc87dcebfe519205477a94005b7d9d6bd313606450a5344f690600090a3506111cf565b6040516001600160a01b038216907f9b227b0c1ae308b34f72d4fdf9a1943fa769ff4814933595e7bc5230a117698b90600090a25b610e178261204b565b60008351116111f95760405162461bcd60e51b815260040161085690612c8a565b611221838383611209863361154f565b15801561121c575061121a86610991565b155b612055565b505050565b3330146112455760405162461bcd60e51b815260040161085690612cb4565b603955565b600054610100900460ff16806112635750611263612298565b80611271575060005460ff16155b61128d5760405162461bcd60e51b815260040161085690612d9c565b600054610100900460ff161580156112b8576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b038085166001600160a01b03199283161783558251610100818101855230825261dead602083019081526000958301868152606084018781526080850188815260a08601898152600160c0880181815260e089018c8152603d80549384018155909c52975160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b16928c169290921790915594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc4860180549190991699169890981790965590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc5830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc682015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc784015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc8830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990910180549351151590920261ff001991151560ff19909416939093171691909117905561147861229e565b8015610e17576000805461ff00191690555050565b60395481565b60375481565b60006114a6338484611c19565b90505b92915050565b603d546000190190565b6114c16124e9565b603d83815481106114ce57fe5b600091825260208083206001600160a01b0395909516835260089190910290930160070183526040908190208151606081018352815460ff8082161515835261010090910416151594810194909452600101549083015250919050565b33301461154a5760405162461bcd60e51b815260040161085690612cb4565b603355565b6000603d838154811061155e57fe5b600091825260208083206001600160a01b03861684526007600890930201919091019052604090205460ff16905092915050565b3330146115b15760405162461bcd60e51b815260040161085690612cb4565b603855565b3330146115d55760405162461bcd60e51b815260040161085690612cb4565b603655565b6115e2610979565b6001600160a01b0316336001600160a01b0316146116125760405162461bcd60e51b815260040161085690612dea565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108fc61164983476122df565b6040518115909202916000818181858888f1935050505061166957600080fd5b50565b6001600160a01b038087166000908152603b60205260409081902054905163e113335f60e01b815288927f0000000000000000000000000000000000000000000000000000000000000000169163e113335f916116cd9185916004016128c7565b600060405180830381600087803b1580156116e757600080fd5b505af19250505080156116f8575060015b61177b573d808015611726576040519150601f19603f3d011682016040523d82523d6000602084013e61172b565b606091505b508060405161173a9190612897565b604051908190038120906001600160a01b038416907f5a6216e80d86159dc87dcebfe519205477a94005b7d9d6bd313606450a5344f690600090a3506117b0565b6040516001600160a01b038216907f9b227b0c1ae308b34f72d4fdf9a1943fa769ff4814933595e7bc5230a117698b90600090a25b6117be8787878787876122f5565b50505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60046117f6826109e5565b600681111561180157fe5b1461181e5760405162461bcd60e51b815260040161085690612a37565b6000603d828154811061182d57fe5b600091825260209091206006600890920201908101805460ff191660019081179091558101549091506001600160a01b031661186881612375565b6118845760405162461bcd60e51b8152600401610856906129f4565b60408051600481526024810182526020810180516001600160e01b03166306e60b1760e31b17905290516000916060916001600160a01b038516916118c891612897565b600060405180830381855af49150503d8060008114611903576040519150601f19603f3d011682016040523d82523d6000602084013e611908565b606091505b50915091508161194b57805115611933578060405162461bcd60e51b815260040161085691906129e1565b60405162461bcd60e51b815260040161085690612ed8565b60405185907f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f90600090a25050505050565b6001611988836109e5565b600681111561199357fe5b146119b05760405162461bcd60e51b815260040161085690612afd565b6000603d83815481106119bf57fe5b600091825260208083206001600160a01b038816845260076008909302019182018152604080842060058401546004850154603b909452919094205492945010159080611a1e5760405162461bcd60e51b815260040161085690612d22565b825460ff1615611a6d578254610100900460ff1615611a545760018301546004850154611a4a91611bae565b6004850155611a6d565b60018301546005850154611a6791611bae565b60058501555b8415611a8c576004840154611a829082611bf0565b6004850155611aa1565b6005840154611a9b9082611bf0565b60058501555b6006840154610100900460ff16158015611ad15750603954611acf611ac4611c15565b600387015490611bae565b105b15611b15576005840154600485015411158215158114611b135760068501805461ff001916610100179055603a546003860154611b0d91611bf0565b60038601555b505b8254600160ff19909116811761ff001916610100871515021784558301819055603354603454603a546003870154611b60938b93611b5b9391926108c592839190611bf0565b61237b565b841515876001600160a01b0316877f7c2de587c00d75474a0c6c6fa96fd3b45dc974cd4e8a75f712bb84c950dce1b584604051611b9d9190612f6b565b60405180910390a450505050505050565b60006114a683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506123b8565b6000828201838110156114a65760405162461bcd60e51b815260040161085690612ba1565b4290565b6001600160a01b0383166000908152603b6020526040812054603654811015611c545760405162461bcd60e51b815260040161085690612b44565b611c5d84612375565b611c795760405162461bcd60e51b815260040161085690612d59565b6001600160a01b0385166000908152603e60205260409020548015611ceb576000611ca3826109e5565b90506001816006811115611cb357fe5b14158015611ccd57506000816006811115611cca57fe5b14155b611ce95760405162461bcd60e51b815260040161085690612a82565b505b6000611cfb6037546108c5611c15565b90506000611d1460385483611bf090919063ffffffff16565b9050611d1e612509565b506040805161010080820183526001600160a01b03808c1683528a8116602084019081529383018681526060840186815260006080860181815260a0870182815260c0880183815260e08901848152603d80546001810182559086528a5160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b166001600160a01b03199384161790559b517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc48d01805491909a1691161790975594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc58a015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc6890155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc788015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc887015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990950180549251151590930261ff001995151560ff19909316929092179490941617905590611ed06114af565b82516001600160a01b03166000908152603e60205260409020819055603354603454603a54929350611f12928d92611b5b9290916108c5919082908a90611bf0565b896001600160a01b0316817f90ec05050aa23d54ba425e926fe646c318e85825bc400b13a46010abe86eb2f08b87878d604051611f52949392919061298b565b60405180910390a39998505050505050505050565b336000908152603f6020526040902054611f7f611c15565b11611f9c5760405162461bcd60e51b815260040161085690612c1c565b60408051808201825260208082527f476f7665726e616e63653a20696e73756666696369656e742062616c616e636581830152336000908152603b9091529190912054611fea9183906123b8565b336000818152603b6020526040908190209290925590516391fe357360e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316916391fe357391610fda919085906004016128c7565b61166933826123e4565b3381328214612065576000612069565b6152085b61ffff1681156121d45760005a905060005b885181101561213257600089828151811061209257fe5b6020908102919091018101516001600160a01b038082166000908152603c909352604090922054909250163314806120d257506001600160a01b03811633145b6120ee5760405162461bcd60e51b815260040161085690612ea1565b8615806121025750612100898261154f565b155b61211e5760405162461bcd60e51b815260040161085690612f0f565b612129818a8a61197d565b5060010161207b565b50600061214a6127106108c5856108c55a8790611bae565b60405163a99ce80760e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a99ce8079061219b90889085906004016128c7565b600060405180830381600087803b1580156121b557600080fd5b505af11580156121c9573d6000803e3d6000fd5b5050505050506117be565b60005b875181101561228e5760008882815181106121ee57fe5b6020908102919091018101516001600160a01b038082166000908152603c9093526040909220549092501633148061222e57506001600160a01b03811633145b61224a5760405162461bcd60e51b815260040161085690612ea1565b85158061225e575061225c888261154f565b155b61227a5760405162461bcd60e51b815260040161085690612f0f565b61228581898961197d565b506001016121d7565b5050505050505050565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b60008183106122ee57816114a6565b5090919050565b60408054905163d505accf60e01b81526001600160a01b039091169063d505accf9061233190899030908a908a908a908a908a9060040161294a565b600060405180830381600087803b15801561234b57600080fd5b505af115801561235f573d6000803e3d6000fd5b5050505061236d86866123e4565b505050505050565b3b151590565b6001600160a01b0382166000908152603f6020526040902054811115610e17576001600160a01b03919091166000908152603f6020526040902055565b600081848411156123dc5760405162461bcd60e51b815260040161085691906129e1565b505050900390565b6040805490516323b872dd60e01b81526001600160a01b03909116906323b872dd906124389085907f00000000000000000000000000000000000000000000000000000000000000009086906004016128e0565b602060405180830381600087803b15801561245257600080fd5b505af1158015612466573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061248a91906127dc565b6124a65760405162461bcd60e51b815260040161085690612c53565b6001600160a01b0382166000908152603b60205260409020546124c99082611bf0565b6001600160a01b039092166000908152603b602052604090209190915550565b604080516060810182526000808252602082018190529181019190915290565b60405180610100016040528060006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000151581526020016000151581525090565b80356001600160a01b03811681146114a957600080fd5b80356114a981612fe0565b600082601f830112612596578081fd5b813567ffffffffffffffff8111156125ac578182fd5b6125bf601f8201601f1916602001612f74565b91508082528360208285010111156125d657600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215612600578081fd5b6114a68383612564565b60008060006060848603121561261e578182fd5b833561262981612fcb565b9250602084013561263981612fcb565b9150604084013567ffffffffffffffff811115612654578182fd5b61266086828701612586565b9150509250925092565b6000806040838503121561267c578182fd5b823561268781612fcb565b9150602083013567ffffffffffffffff8111156126a2578182fd5b6126ae85828601612586565b9150509250929050565b60008060008060008060c087890312156126d0578182fd5b6126da8888612564565b95506020870135945060408701359350606087013560ff811681146126fd578283fd5b9598949750929560808101359460a0909101359350915050565b60008060006060848603121561272b578283fd5b833567ffffffffffffffff80821115612742578485fd5b818601915086601f830112612755578485fd5b813581811115612763578586fd5b60209150818102612775838201612f74565b8281528381019085850183870186018c101561278f57898afd5b8996505b848710156127b9576127a58c82612564565b835260019690960195918501918501612793565b50975050505085013592506127d39050856040860161257b565b90509250925092565b6000602082840312156127ed578081fd5b81516114a681612fe0565b600060208284031215612809578081fd5b5035919050565b60008060408385031215612822578182fd5b823591506128338460208501612564565b90509250929050565b6000806040838503121561284e578182fd5b82359150602083013561286081612fe0565b809150509250929050565b60008151808452612883816020860160208601612f9b565b601f01601f19169290920160200192915050565b600082516128a9818460208701612f9b565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03988916815296909716602087015260408601949094526060850192909252608084015260a0830152151560c082015290151560e08201526101000190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b600060018060a01b0386168252846020830152836040830152608060608301526129b8608083018461286b565b9695505050505050565b901515815260200190565b60208101600783106129db57fe5b91905290565b6000602082526114a6602083018461286b565b60208082526023908201527f476f7665726e616e63653a3a657865637574653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602b908201527f476f7665726e616e63653a3a657865637574653a20696e76616c69642070726f60408201526a706f73616c20737461746560a81b606082015260800190565b60208082526055908201527f476f7665726e616e63653a3a70726f706f73653a206f6e65206c69766520707260408201527f6f706f73616c207065722070726f706f7365722c20666f756e6420616e20616c6060820152741c9958591e481858dd1a5d99481c1c9bdc1bdcd85b605a1b608082015260a00190565b60208082526027908201527f476f7665726e616e63653a3a5f63617374566f74653a20766f74696e672069736040820152660818db1bdcd95960ca1b606082015260800190565b6020808252603c908201527f476f7665726e616e63653a3a70726f706f73653a2070726f706f73657220766f60408201527f7465732062656c6f772070726f706f73616c207468726573686f6c6400000000606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526024908201527f476f7665726e616e63653a20696e636f727265637420766f7465457874656e6460408201526354696d6560e01b606082015260800190565b6020808252601d908201527f476f7665726e616e63653a20746f6b656e7320617265206c6f636b6564000000604082015260600190565b60208082526019908201527f544f524e3a207472616e7366657246726f6d206661696c656400000000000000604082015260600190565b60208082526010908201526f43616e206e6f7420626520656d70747960801b604082015260600190565b60208082526018908201527f476f7665726e616e63653a20756e617574686f72697a65640000000000000000604082015260600190565b6020808252601d908201527f476f7665726e616e63653a20696e76616c69642064656c656761746565000000604082015260600190565b60208082526018908201527f476f7665726e616e63653a2062616c616e636520697320300000000000000000604082015260600190565b60208082526023908201527f476f7665726e616e63653a3a70726f706f73653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252600d908201526c6f6e6c79206d756c746973696760981b604082015260600190565b60208082526026908201527f476f7665726e616e63653a3a73746174653a20696e76616c69642070726f706f6040820152651cd85b081a5960d21b606082015260800190565b6020808252602a908201527f476f7665726e616e63653a20746f6b656e732061726520616c726561647920756040820152691b99195b1959d85d195960b21b606082015260800190565b6020808252601a908201527f476f7665726e616e63653a206e6f7420617574686f72697a6564000000000000604082015260600190565b60208082526019908201527f50726f706f73616c20657865637574696f6e206661696c656400000000000000604082015260600190565b60208082526019908201527f476f7665726e616e63653a20766f74656420616c726561647900000000000000604082015260600190565b8151151581526020808301511515908201526040918201519181019190915260600190565b90815260200190565b60405181810167ffffffffffffffff81118282101715612f9357600080fd5b604052919050565b60005b83811015612fb6578181015183820152602001612f9e565b83811115612fc5576000848401525b50505050565b6001600160a01b038116811461166957600080fd5b801515811461166957600080fdfea2646970667358221220e1f35bea256ff1c0e43f98312094903f31941303df43a2edbe8b9bd0fa323c8864736f6c634300060c0033"; + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "stakingRewardsAddress"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "gasCompLogic"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "userVaultAddress"; + readonly type: "address"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "constructor"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "account"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "to"; + readonly type: "address"; + }]; + readonly name: "Delegated"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "uint256"; + readonly name: "id"; + readonly type: "uint256"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "proposer"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "address"; + readonly name: "target"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "startTime"; + readonly type: "uint256"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "endTime"; + readonly type: "uint256"; + }, { + readonly indexed: false; + readonly internalType: "string"; + readonly name: "description"; + readonly type: "string"; + }]; + readonly name: "ProposalCreated"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }]; + readonly name: "ProposalExecuted"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "account"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "bytes"; + readonly name: "errorData"; + readonly type: "bytes"; + }]; + readonly name: "RewardUpdateFailed"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "account"; + readonly type: "address"; + }]; + readonly name: "RewardUpdateSuccessful"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "account"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "from"; + readonly type: "address"; + }]; + readonly name: "Undelegated"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "voter"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "bool"; + readonly name: "support"; + readonly type: "bool"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "votes"; + readonly type: "uint256"; + }]; + readonly name: "Voted"; + readonly type: "event"; + }, { + readonly inputs: readonly []; + readonly name: "CLOSING_PERIOD"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "EXECUTION_DELAY"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "EXECUTION_EXPIRATION"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "PROPOSAL_THRESHOLD"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "QUORUM_VOTES"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "Staking"; + readonly outputs: readonly [{ + readonly internalType: "contract ITornadoStakingRewards"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "VOTE_EXTEND_TIME"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "VOTING_DELAY"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "VOTING_PERIOD"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly name: "canWithdrawAfter"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address[]"; + readonly name: "from"; + readonly type: "address[]"; + }, { + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }, { + readonly internalType: "bool"; + readonly name: "support"; + readonly type: "bool"; + }]; + readonly name: "castDelegatedVote"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }, { + readonly internalType: "bool"; + readonly name: "support"; + readonly type: "bool"; + }]; + readonly name: "castVote"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }]; + readonly name: "checkIfQuorumReached"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "to"; + readonly type: "address"; + }]; + readonly name: "delegate"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly name: "delegatedTo"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }]; + readonly name: "execute"; + readonly outputs: readonly []; + readonly stateMutability: "payable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "gasCompensationVault"; + readonly outputs: readonly [{ + readonly internalType: "contract IGasCompensationVault"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }, { + readonly internalType: "address"; + readonly name: "voter"; + readonly type: "address"; + }]; + readonly name: "getReceipt"; + readonly outputs: readonly [{ + readonly components: readonly [{ + readonly internalType: "bool"; + readonly name: "hasVoted"; + readonly type: "bool"; + }, { + readonly internalType: "bool"; + readonly name: "support"; + readonly type: "bool"; + }, { + readonly internalType: "uint256"; + readonly name: "votes"; + readonly type: "uint256"; + }]; + readonly internalType: "struct Governance.Receipt"; + readonly name: ""; + readonly type: "tuple"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }, { + readonly internalType: "address"; + readonly name: "account"; + readonly type: "address"; + }]; + readonly name: "hasAccountVoted"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "_torn"; + readonly type: "address"; + }]; + readonly name: "initialize"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly name: "latestProposalIds"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "deadline"; + readonly type: "uint256"; + }, { + readonly internalType: "uint8"; + readonly name: "v"; + readonly type: "uint8"; + }, { + readonly internalType: "bytes32"; + readonly name: "r"; + readonly type: "bytes32"; + }, { + readonly internalType: "bytes32"; + readonly name: "s"; + readonly type: "bytes32"; + }]; + readonly name: "lock"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "lockWithApproval"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly name: "lockedBalance"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "proposalCount"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly name: "proposals"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: "proposer"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "target"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "startTime"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "endTime"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "forVotes"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "againstVotes"; + readonly type: "uint256"; + }, { + readonly internalType: "bool"; + readonly name: "executed"; + readonly type: "bool"; + }, { + readonly internalType: "bool"; + readonly name: "extended"; + readonly type: "bool"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "target"; + readonly type: "address"; + }, { + readonly internalType: "string"; + readonly name: "description"; + readonly type: "string"; + }]; + readonly name: "propose"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "from"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "target"; + readonly type: "address"; + }, { + readonly internalType: "string"; + readonly name: "description"; + readonly type: "string"; + }]; + readonly name: "proposeByDelegate"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "returnMultisigAddress"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "pure"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "closingPeriod"; + readonly type: "uint256"; + }]; + readonly name: "setClosingPeriod"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "executionDelay"; + readonly type: "uint256"; + }]; + readonly name: "setExecutionDelay"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "executionExpiration"; + readonly type: "uint256"; + }]; + readonly name: "setExecutionExpiration"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "gasCompensationsLimit"; + readonly type: "uint256"; + }]; + readonly name: "setGasCompensations"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "proposalThreshold"; + readonly type: "uint256"; + }]; + readonly name: "setProposalThreshold"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "quorumVotes"; + readonly type: "uint256"; + }]; + readonly name: "setQuorumVotes"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "voteExtendTime"; + readonly type: "uint256"; + }]; + readonly name: "setVoteExtendTime"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "votingDelay"; + readonly type: "uint256"; + }]; + readonly name: "setVotingDelay"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "votingPeriod"; + readonly type: "uint256"; + }]; + readonly name: "setVotingPeriod"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }]; + readonly name: "state"; + readonly outputs: readonly [{ + readonly internalType: "enum Governance.ProposalState"; + readonly name: ""; + readonly type: "uint8"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "torn"; + readonly outputs: readonly [{ + readonly internalType: "contract TORN"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "undelegate"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "unlock"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "userVault"; + readonly outputs: readonly [{ + readonly internalType: "contract ITornadoVault"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "version"; + readonly outputs: readonly [{ + readonly internalType: "string"; + readonly name: ""; + readonly type: "string"; + }]; + readonly stateMutability: "pure"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "withdrawFromHelper"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly stateMutability: "payable"; + readonly type: "receive"; + }]; + static createInterface(): GovernanceStakingUpgradeInterface; + static connect(address: string, runner?: ContractRunner | null): GovernanceStakingUpgrade; +} +export {}; diff --git a/dist/factories/contracts/Governance/v3-relayer-registry/index.d.ts b/dist/factories/contracts/Governance/v3-relayer-registry/index.d.ts new file mode 100644 index 0000000..cf6b4e8 --- /dev/null +++ b/dist/factories/contracts/Governance/v3-relayer-registry/index.d.ts @@ -0,0 +1,2 @@ +export * as interfaces from "./interfaces"; +export { GovernanceStakingUpgrade__factory } from "./GovernanceStakingUpgrade__factory"; diff --git a/dist/factories/contracts/Governance/v3-relayer-registry/interfaces/ITornadoStakingRewards__factory.d.ts b/dist/factories/contracts/Governance/v3-relayer-registry/interfaces/ITornadoStakingRewards__factory.d.ts new file mode 100644 index 0000000..bebb778 --- /dev/null +++ b/dist/factories/contracts/Governance/v3-relayer-registry/interfaces/ITornadoStakingRewards__factory.d.ts @@ -0,0 +1,21 @@ +import { type ContractRunner } from "ethers"; +import type { ITornadoStakingRewards, ITornadoStakingRewardsInterface } from "../../../../../contracts/Governance/v3-relayer-registry/interfaces/ITornadoStakingRewards"; +export declare class ITornadoStakingRewards__factory { + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "account"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "amountLockedBeforehand"; + readonly type: "uint256"; + }]; + readonly name: "updateRewardsOnLockedBalanceChange"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }]; + static createInterface(): ITornadoStakingRewardsInterface; + static connect(address: string, runner?: ContractRunner | null): ITornadoStakingRewards; +} diff --git a/dist/factories/contracts/Governance/v3-relayer-registry/interfaces/index.d.ts b/dist/factories/contracts/Governance/v3-relayer-registry/interfaces/index.d.ts new file mode 100644 index 0000000..310adf4 --- /dev/null +++ b/dist/factories/contracts/Governance/v3-relayer-registry/interfaces/index.d.ts @@ -0,0 +1 @@ +export { ITornadoStakingRewards__factory } from "./ITornadoStakingRewards__factory"; diff --git a/dist/factories/contracts/Governance/v4-exploit-patch/AdminUpgradeableProxy__factory.d.ts b/dist/factories/contracts/Governance/v4-exploit-patch/AdminUpgradeableProxy__factory.d.ts new file mode 100644 index 0000000..4087f08 --- /dev/null +++ b/dist/factories/contracts/Governance/v4-exploit-patch/AdminUpgradeableProxy__factory.d.ts @@ -0,0 +1,123 @@ +import { ContractFactory, ContractTransactionResponse } from "ethers"; +import type { Signer, BytesLike, AddressLike, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { PayableOverrides } from "../../../../common"; +import type { AdminUpgradeableProxy, AdminUpgradeableProxyInterface } from "../../../../contracts/Governance/v4-exploit-patch/AdminUpgradeableProxy"; +type AdminUpgradeableProxyConstructorParams = [signer?: Signer] | ConstructorParameters; +export declare class AdminUpgradeableProxy__factory extends ContractFactory { + constructor(...args: AdminUpgradeableProxyConstructorParams); + getDeployTransaction(_logic: AddressLike, _admin: AddressLike, _data: BytesLike, overrides?: PayableOverrides & { + from?: string; + }): Promise; + deploy(_logic: AddressLike, _admin: AddressLike, _data: BytesLike, overrides?: PayableOverrides & { + from?: string; + }): Promise; + connect(runner: ContractRunner | null): AdminUpgradeableProxy__factory; + static readonly bytecode = "0x60806040526040516108403803806108408339818101604052606081101561002657600080fd5b8151602083015160408085018051915193959294830192918464010000000082111561005157600080fd5b90830190602082018581111561006657600080fd5b825164010000000081118282018810171561008057600080fd5b82525081516020918201929091019080838360005b838110156100ad578181015183820152602001610095565b50505050905090810190601f1680156100da5780820380516001836020036101000a031916815260200191505b50604052508491508390508282816100f1826101c5565b8051156101a9576000826001600160a01b0316826040518082805190602001908083835b602083106101345780518252601f199092019160209182019101610115565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610194576040519150601f19603f3d011682016040523d82523d6000602084013e610199565b606091505b50509050806101a757600080fd5b505b506101b19050565b6101ba82610237565b505050505050610261565b6101d88161025b60201b6103b41760201c565b6102135760405162461bcd60e51b815260040180806020018281038252603681526020018061080a6036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b3b151590565b61059a806102706000396000f3fe60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100985780635c60da1b146101185780638f28397014610149578063f851a4401461017c5761005d565b3661005d5761005b610191565b005b61005b610191565b34801561007157600080fd5b5061005b6004803603602081101561008857600080fd5b50356001600160a01b03166101ab565b61005b600480360360408110156100ae57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100d957600080fd5b8201836020820111156100eb57600080fd5b8035906020019184600183028401116401000000008311171561010d57600080fd5b5090925090506101e5565b34801561012457600080fd5b5061012d610292565b604080516001600160a01b039092168252519081900360200190f35b34801561015557600080fd5b5061005b6004803603602081101561016c57600080fd5b50356001600160a01b03166102cf565b34801561018857600080fd5b5061012d610389565b6101996101a9565b6101a96101a46103ba565b6103df565b565b6101b3610403565b6001600160a01b0316336001600160a01b031614156101da576101d581610428565b6101e2565b6101e2610191565b50565b6101ed610403565b6001600160a01b0316336001600160a01b031614156102855761020f83610428565b6000836001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d806000811461026c576040519150601f19603f3d011682016040523d82523d6000602084013e610271565b606091505b505090508061027f57600080fd5b5061028d565b61028d610191565b505050565b600061029c610403565b6001600160a01b0316336001600160a01b031614156102c4576102bd6103ba565b90506102cc565b6102cc610191565b90565b6102d7610403565b6001600160a01b0316336001600160a01b031614156101da576001600160a01b0381166103355760405162461bcd60e51b815260040180806020018281038252603a8152602001806104f5603a913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61035e610403565b604080516001600160a01b03928316815291841660208301528051918290030190a16101d581610468565b6000610393610403565b6001600160a01b0316336001600160a01b031614156102c4576102bd610403565b3b151590565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e8080156103fe573d6000f35b3d6000fd5b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b6104318161048c565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b610495816103b4565b6104d05760405162461bcd60e51b815260040180806020018281038252603681526020018061052f6036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5556fe5472616e73706172656e745570677261646561626c6550726f78793a206e65772061646d696e20697320746865207a65726f20616464726573735570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374a26469706673582212203c0c6456361fbff816ff53c5547d39ad0e807130f877d2661772f7bffc95b82764736f6c634300060c00335570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374"; + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "_logic"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "_admin"; + readonly type: "address"; + }, { + readonly internalType: "bytes"; + readonly name: "_data"; + readonly type: "bytes"; + }]; + readonly stateMutability: "payable"; + readonly type: "constructor"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: false; + readonly internalType: "address"; + readonly name: "previousAdmin"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "address"; + readonly name: "newAdmin"; + readonly type: "address"; + }]; + readonly name: "AdminChanged"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "implementation"; + readonly type: "address"; + }]; + readonly name: "Upgraded"; + readonly type: "event"; + }, { + readonly stateMutability: "payable"; + readonly type: "fallback"; + }, { + readonly inputs: readonly []; + readonly name: "admin"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "newAdmin"; + readonly type: "address"; + }]; + readonly name: "changeAdmin"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "implementation"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "newImplementation"; + readonly type: "address"; + }]; + readonly name: "upgradeTo"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "newImplementation"; + readonly type: "address"; + }, { + readonly internalType: "bytes"; + readonly name: "data"; + readonly type: "bytes"; + }]; + readonly name: "upgradeToAndCall"; + readonly outputs: readonly []; + readonly stateMutability: "payable"; + readonly type: "function"; + }, { + readonly stateMutability: "payable"; + readonly type: "receive"; + }]; + static createInterface(): AdminUpgradeableProxyInterface; + static connect(address: string, runner?: ContractRunner | null): AdminUpgradeableProxy; +} +export {}; diff --git a/dist/factories/contracts/Governance/v4-exploit-patch/GovernanceExploitPatchUpgrade__factory.d.ts b/dist/factories/contracts/Governance/v4-exploit-patch/GovernanceExploitPatchUpgrade__factory.d.ts new file mode 100644 index 0000000..f64d3e1 --- /dev/null +++ b/dist/factories/contracts/Governance/v4-exploit-patch/GovernanceExploitPatchUpgrade__factory.d.ts @@ -0,0 +1,763 @@ +import { ContractFactory, ContractTransactionResponse } from "ethers"; +import type { Signer, AddressLike, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../common"; +import type { GovernanceExploitPatchUpgrade, GovernanceExploitPatchUpgradeInterface } from "../../../../contracts/Governance/v4-exploit-patch/GovernanceExploitPatchUpgrade"; +type GovernanceExploitPatchUpgradeConstructorParams = [signer?: Signer] | ConstructorParameters; +export declare class GovernanceExploitPatchUpgrade__factory extends ContractFactory { + constructor(...args: GovernanceExploitPatchUpgradeConstructorParams); + getDeployTransaction(stakingRewardsAddress: AddressLike, gasCompLogic: AddressLike, userVaultAddress: AddressLike, overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + deploy(stakingRewardsAddress: AddressLike, gasCompLogic: AddressLike, userVaultAddress: AddressLike, overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + connect(runner: ContractRunner | null): GovernanceExploitPatchUpgrade__factory; + static readonly bytecode = "0x60e06040523480156200001157600080fd5b50604051620034343803806200343483398101604081905262000034916200016b565b82828281818181600060019054906101000a900460ff16806200005c57506200005c62000124565b806200006b575060005460ff16155b620000935760405162461bcd60e51b81526004016200008a90620001be565b60405180910390fd5b600054610100900460ff16158015620000bf576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b03191661dead179055620000dd6200012a565b8015620000f0576000805461ff00191690555b506001600160601b0319606091821b811660805291811b821660a0529590951b90941660c052506200022595505050505050565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b60008060006060848603121562000180578283fd5b83516200018d816200020c565b6020850151909350620001a0816200020c565b6040850151909250620001b3816200020c565b809150509250925092565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b6001600160a01b03811681146200022257600080fd5b50565b60805160601c60a05160601c60c05160601c6131ac6200028860003980610d1352806110d452806116c752806117f85250806109105280610eca5280610fc252806116435280611d6d52508061105d5280611c1652806124f152506131ac6000f3fe6080604052600436106102815760003560e01c80639daafec71161014f578063d6f0948c116100c1578063ea0217cf1161007a578063ea0217cf14610755578063ece40cc114610775578063ef3f8bb114610795578063f0b76892146107b5578063f57df22e146107d5578063fe0d94c1146107ea57610288565b8063d6f0948c14610693578063da35c664146106b3578063e01f5237146106c8578063e23a9a52146106e8578063e4917d9f14610715578063e525aa081461073557610288565b8063b54426c811610113578063b54426c8146105e9578063b859f11b14610609578063c0c0e82014610629578063c4d66de814610649578063ce25d71c14610669578063d6159fe51461067e57610288565b80639daafec714610575578063a6c266031461058a578063a72edda31461059f578063adf898a4146105bf578063b1610d7e146105d457610288565b80635c19a95c116101f357806370b0f660116101ac57806370b0f660146104cb5780638b34a960146104eb57806392ab89bb14610500578063932d5157146105155780639a9e3b6e146105355780639ae697bf1461055557610288565b80635c19a95c146104215780636198e3391461044157806365da126414610461578063671dd275146104815780636a661755146104965780636dc2dc6c146104ab57610288565b806332687ec11161024557806332687ec11461035b57806337f135d7146103885780633e4f49e61461039d57806354fd4d50146103ca578063587a6ecb146103ec57806358e9fff01461040157610288565b8063013cf08b1461028d57806302ec8f9e146102ca57806315373e3d146102ec57806317977c611461030c57806324b0435f1461033957610288565b3661028857005b600080fd5b34801561029957600080fd5b506102ad6102a83660046128e1565b6107fd565b6040516102c19897969594939291906129ed565b60405180910390f35b3480156102d657600080fd5b506102ea6102e53660046128e1565b610862565b005b3480156102f857600080fd5b506102ea610307366004612925565b61088f565b34801561031857600080fd5b5061032c6103273660046126d8565b610992565b6040516102c19190612ab6565b34801561034557600080fd5b5061034e6109a4565b6040516102c1919061299c565b34801561036757600080fd5b5061037b6103763660046128e1565b6109bc565b6040516102c19190612aab565b34801561039457600080fd5b5061032c610a0a565b3480156103a957600080fd5b506103bd6103b83660046128e1565b610a10565b6040516102c19190612abf565b3480156103d657600080fd5b506103df610b4c565b6040516102c19190612ad3565b3480156103f857600080fd5b5061032c610b75565b34801561040d57600080fd5b5061032c61041c3660046126f3565b610b7b565b34801561042d57600080fd5b506102ea61043c3660046126d8565b610bc9565b34801561044d57600080fd5b506102ea61045c3660046128e1565b610ceb565b34801561046d57600080fd5b5061034e61047c3660046126d8565b610e38565b34801561048d57600080fd5b5061032c610e53565b3480156104a257600080fd5b5061032c610e59565b3480156104b757600080fd5b506102ea6104c63660046128e1565b610e5f565b3480156104d757600080fd5b506102ea6104e63660046128e1565b610ea4565b3480156104f757600080fd5b5061034e610ec8565b34801561050c57600080fd5b506102ea610eec565b34801561052157600080fd5b506102ea6105303660046128e1565b610f73565b34801561054157600080fd5b506102ea6105503660046128e1565b611025565b34801561056157600080fd5b5061032c6105703660046126d8565b611049565b34801561058157600080fd5b5061034e61105b565b34801561059657600080fd5b5061032c61107f565b3480156105ab57600080fd5b5061032c6105ba3660046126d8565b611085565b3480156105cb57600080fd5b5061034e611097565b3480156105e057600080fd5b5061032c6110a6565b3480156105f557600080fd5b506102ea6106043660046128e1565b6110ac565b34801561061557600080fd5b506102ea610624366004612800565b6111f5565b34801561063557600080fd5b506102ea6106443660046128e1565b611243565b34801561065557600080fd5b506102ea6106643660046126d8565b611267565b34801561067557600080fd5b5061032c6114aa565b34801561068a57600080fd5b5061032c6114b0565b34801561069f57600080fd5b5061032c6106ae366004612753565b6114b6565b3480156106bf57600080fd5b5061032c6114cc565b3480156106d457600080fd5b5061032c6106e33660046128e1565b6114d6565b3480156106f457600080fd5b506107086107033660046128f9565b6114e8565b6040516102c191906130db565b34801561072157600080fd5b506102ea6107303660046128e1565b61155a565b34801561074157600080fd5b5061037b6107503660046128f9565b61157e565b34801561076157600080fd5b506102ea6107703660046128e1565b6115c1565b34801561078157600080fd5b506102ea6107903660046128e1565b6115e5565b3480156107a157600080fd5b506102ea6107b03660046128e1565b611609565b3480156107c157600080fd5b506102ea6107d03660046127a1565b61169b565b3480156107e157600080fd5b5061034e6117f6565b6102ea6107f83660046128e1565b61181a565b603d818154811061080a57fe5b600091825260209091206008909102018054600182015460028301546003840154600485015460058601546006909601546001600160a01b039586169750949093169491939092919060ff8082169161010090041688565b33301461088a5760405162461bcd60e51b815260040161088190612e49565b60405180910390fd5b603555565b3361089a833361157e565b1580156108ad57506108ab836109bc565b155b3332146108bb5760006108bf565b6152085b61ffff1681156109805760005a90506108d93387876118ac565b60006108f66127106108f0856108f05a8790611add565b90611b1f565b60405163a99ce80760e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a99ce8079061094790889085906004016129b0565b600060405180830381600087803b15801561096157600080fd5b505af1158015610975573d6000803e3d6000fd5b50505050505061098b565b61098b3386866118ac565b5050505050565b603e6020526000908152604090205481565b73b04e030140b30c27bcdfaafffa98c57d80eda7b490565b6000603554603d83815481106109ce57fe5b906000526020600020906008020160050154603d84815481106109ed57fe5b90600052602060002090600802016004015401101590505b919050565b60335481565b6000610a1a6114cc565b8211158015610a295750600082115b610a455760405162461bcd60e51b815260040161088190612fa6565b6000603d8381548110610a5457fe5b906000526020600020906008020190508060020154610a71611b44565b11610a80576000915050610a05565b8060030154610a8d611b44565b11610a9c576001915050610a05565b80600501548160040154111580610abe57506035548160050154826004015401105b15610acd576002915050610a05565b600681015460ff1615610ae4576005915050610a05565b610b036034546108f06033548460030154611b1f90919063ffffffff16565b610b0b611b44565b10610b1a576006915050610a05565b6033546003820154610b2b91611b1f565b610b33611b44565b10610b42576004915050610a05565b6003915050610a05565b60408051808201909152600f81526e0d0b9c185d18da0b595e1c1b1bda5d608a1b602082015290565b603a5481565b6001600160a01b038381166000908152603c60205260408120549091163314610bb65760405162461bcd60e51b815260040161088190613036565b610bc1848484611b48565b949350505050565b336000818152603c60205260409020546001600160a01b039081169190831614801590610bff57506001600160a01b0382163014155b8015610c1357506001600160a01b03821615155b8015610c315750806001600160a01b0316826001600160a01b031614155b610c4d5760405162461bcd60e51b815260040161088190612e80565b6001600160a01b03811615610c93576040516001600160a01b0382169033907f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7290600090a35b336000818152603c602052604080822080546001600160a01b0319166001600160a01b03871690811790915590519092917f4bc154dd35d6a5cb9206482ecb473cdbf2473006d6bce728b9cc0741bcc59ea291a35050565b336000818152603b60205260409081902054905163e113335f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163e113335f91610d489185916004016129b0565b600060405180830381600087803b158015610d6257600080fd5b505af1925050508015610d73575060015b610df6573d808015610da1576040519150601f19603f3d011682016040523d82523d6000602084013e610da6565b606091505b5080604051610db59190612980565b604051908190038120906001600160a01b038416907f5a6216e80d86159dc87dcebfe519205477a94005b7d9d6bd313606450a5344f690600090a350610e2b565b6040516001600160a01b038216907f9b227b0c1ae308b34f72d4fdf9a1943fa769ff4814933595e7bc5230a117698b90600090a25b610e3482611b70565b5050565b603c602052600090815260409020546001600160a01b031681565b60355481565b60345481565b333014610e7e5760405162461bcd60e51b815260040161088190612e49565b6033548110610e9f5760405162461bcd60e51b815260040161088190612d6d565b603a55565b333014610ec35760405162461bcd60e51b815260040161088190612e49565b603755565b7f000000000000000000000000000000000000000000000000000000000000000081565b336000908152603c60205260409020546001600160a01b031680610f225760405162461bcd60e51b815260040161088190612fec565b336000818152603c602052604080822080546001600160a01b0319169055516001600160a01b03841692917f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7291a350565b610f7b6109a4565b6001600160a01b0316336001600160a01b031614610fab5760405162461bcd60e51b815260040161088190612f7f565b604051633a08bde160e21b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e822f78490610ff7908490600401612ab6565b600060405180830381600087803b15801561101157600080fd5b505af115801561098b573d6000803e3d6000fd5b3330146110445760405162461bcd60e51b815260040161088190612e49565b603455565b603b6020526000908152604090205481565b7f000000000000000000000000000000000000000000000000000000000000000081565b60365481565b603f6020526000908152604090205481565b6040546001600160a01b031681565b60385481565b336000818152603b60205260409081902054905163e113335f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163e113335f916111099185916004016129b0565b600060405180830381600087803b15801561112357600080fd5b505af1925050508015611134575060015b6111b7573d808015611162576040519150601f19603f3d011682016040523d82523d6000602084013e611167565b606091505b50806040516111769190612980565b604051908190038120906001600160a01b038416907f5a6216e80d86159dc87dcebfe519205477a94005b7d9d6bd313606450a5344f690600090a3506111ec565b6040516001600160a01b038216907f9b227b0c1ae308b34f72d4fdf9a1943fa769ff4814933595e7bc5230a117698b90600090a25b610e3482611c54565b60008351116112165760405162461bcd60e51b815260040161088190612e1f565b61123e838383611226863361157e565b1580156112395750611237866109bc565b155b611c5e565b505050565b3330146112625760405162461bcd60e51b815260040161088190612e49565b603955565b600054610100900460ff16806112805750611280611ea1565b8061128e575060005460ff16155b6112aa5760405162461bcd60e51b815260040161088190612f31565b600054610100900460ff161580156112d5576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b038085166001600160a01b03199283161783558251610100818101855230825261dead602083019081526000958301868152606084018781526080850188815260a08601898152600160c0880181815260e089018c8152603d80549384018155909c52975160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b16928c169290921790915594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc4860180549190991699169890981790965590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc5830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc682015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc784015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc8830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990910180549351151590920261ff001991151560ff199094169390931716919091179055611495611ea7565b8015610e34576000805461ff00191690555050565b60395481565b60375481565b60006114c3338484611b48565b90505b92915050565b603d546000190190565b60416020526000908152604090205481565b6114f06125d2565b603d83815481106114fd57fe5b600091825260208083206001600160a01b0395909516835260089190910290930160070183526040908190208151606081018352815460ff8082161515835261010090910416151594810194909452600101549083015250919050565b3330146115795760405162461bcd60e51b815260040161088190612e49565b603355565b6000603d838154811061158d57fe5b600091825260208083206001600160a01b03861684526007600890930201919091019052604090205460ff16905092915050565b3330146115e05760405162461bcd60e51b815260040161088190612e49565b603855565b3330146116045760405162461bcd60e51b815260040161088190612e49565b603655565b6116116109a4565b6001600160a01b0316336001600160a01b0316146116415760405162461bcd60e51b815260040161088190612f7f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108fc6116788347611ee8565b6040518115909202916000818181858888f1935050505061169857600080fd5b50565b6001600160a01b038087166000908152603b60205260409081902054905163e113335f60e01b815288927f0000000000000000000000000000000000000000000000000000000000000000169163e113335f916116fc9185916004016129b0565b600060405180830381600087803b15801561171657600080fd5b505af1925050508015611727575060015b6117aa573d808015611755576040519150601f19603f3d011682016040523d82523d6000602084013e61175a565b606091505b50806040516117699190612980565b604051908190038120906001600160a01b038416907f5a6216e80d86159dc87dcebfe519205477a94005b7d9d6bd313606450a5344f690600090a3506117df565b6040516001600160a01b038216907f9b227b0c1ae308b34f72d4fdf9a1943fa769ff4814933595e7bc5230a117698b90600090a25b6117ed878787878787611efe565b50505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b3330141561183a5760405162461bcd60e51b815260040161088190612c36565b6000603d828154811061184957fe5b6000918252602080832060016008909302019182015485845260419091526040909220549092506001600160a01b0390911690813f90811461189d5760405162461bcd60e51b815260040161088190612d17565b6118a684611f7e565b50505050565b60016118b783610a10565b60068111156118c257fe5b146118df5760405162461bcd60e51b815260040161088190612bef565b6000603d83815481106118ee57fe5b600091825260208083206001600160a01b038816845260076008909302019182018152604080842060058401546004850154603b90945291909420549294501015908061194d5760405162461bcd60e51b815260040161088190612eb7565b825460ff161561199c578254610100900460ff1615611983576001830154600485015461197991611add565b600485015561199c565b6001830154600585015461199691611add565b60058501555b84156119bb5760048401546119b19082611b1f565b60048501556119d0565b60058401546119ca9082611b1f565b60058501555b6006840154610100900460ff16158015611a0057506039546119fe6119f3611b44565b600387015490611add565b105b15611a44576005840154600485015411158215158114611a425760068501805461ff001916610100179055603a546003860154611a3c91611b1f565b60038601555b505b8254600160ff19909116811761ff001916610100871515021784558301819055603354603454603a546003870154611a8f938b93611a8a9391926108f092839190611b1f565b612110565b841515876001600160a01b0316877f7c2de587c00d75474a0c6c6fa96fd3b45dc974cd4e8a75f712bb84c950dce1b584604051611acc9190612ab6565b60405180910390a450505050505050565b60006114c383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061214d565b6000828201838110156114c35760405162461bcd60e51b815260040161088190612ce0565b4290565b6000611b55848484612179565b6000818152604160205260409020933f909355509092915050565b336000908152603f6020526040902054611b88611b44565b11611ba55760405162461bcd60e51b815260040161088190612db1565b60408051808201825260208082527f476f7665726e616e63653a20696e73756666696369656e742062616c616e636581830152336000908152603b9091529190912054611bf391839061214d565b336000818152603b6020526040908190209290925590516391fe357360e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316916391fe357391610ff7919085906004016129b0565b61169833826124c7565b3381328214611c6e576000611c72565b6152085b61ffff168115611ddd5760005a905060005b8851811015611d3b576000898281518110611c9b57fe5b6020908102919091018101516001600160a01b038082166000908152603c90935260409092205490925016331480611cdb57506001600160a01b03811633145b611cf75760405162461bcd60e51b815260040161088190613036565b861580611d0b5750611d09898261157e565b155b611d275760405162461bcd60e51b8152600401610881906130a4565b611d32818a8a6118ac565b50600101611c84565b506000611d536127106108f0856108f05a8790611add565b60405163a99ce80760e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a99ce80790611da490889085906004016129b0565b600060405180830381600087803b158015611dbe57600080fd5b505af1158015611dd2573d6000803e3d6000fd5b5050505050506117ed565b60005b8751811015611e97576000888281518110611df757fe5b6020908102919091018101516001600160a01b038082166000908152603c90935260409092205490925016331480611e3757506001600160a01b03811633145b611e535760405162461bcd60e51b815260040161088190613036565b851580611e675750611e65888261157e565b155b611e835760405162461bcd60e51b8152600401610881906130a4565b611e8e8189896118ac565b50600101611de0565b5050505050505050565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b6000818310611ef757816114c3565b5090919050565b60408054905163d505accf60e01b81526001600160a01b039091169063d505accf90611f3a90899030908a908a908a908a908a90600401612a33565b600060405180830381600087803b158015611f5457600080fd5b505af1158015611f68573d6000803e3d6000fd5b50505050611f7686866124c7565b505050505050565b6004611f8982610a10565b6006811115611f9457fe5b14611fb15760405162461bcd60e51b815260040161088190612b29565b6000603d8281548110611fc057fe5b600091825260209091206006600890920201908101805460ff191660019081179091558101549091506001600160a01b0316611ffb816125cc565b6120175760405162461bcd60e51b815260040161088190612ae6565b60408051600481526024810182526020810180516001600160e01b03166306e60b1760e31b17905290516000916060916001600160a01b0385169161205b91612980565b600060405180830381855af49150503d8060008114612096576040519150601f19603f3d011682016040523d82523d6000602084013e61209b565b606091505b5091509150816120de578051156120c6578060405162461bcd60e51b81526004016108819190612ad3565b60405162461bcd60e51b81526004016108819061306d565b60405185907f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f90600090a25050505050565b6001600160a01b0382166000908152603f6020526040902054811115610e34576001600160a01b03919091166000908152603f6020526040902055565b600081848411156121715760405162461bcd60e51b81526004016108819190612ad3565b505050900390565b6001600160a01b0383166000908152603b60205260408120546036548110156121b45760405162461bcd60e51b815260040161088190612c83565b6121bd846125cc565b6121d95760405162461bcd60e51b815260040161088190612eee565b6001600160a01b0385166000908152603e6020526040902054801561224b57600061220382610a10565b9050600181600681111561221357fe5b1415801561222d5750600081600681111561222a57fe5b14155b6122495760405162461bcd60e51b815260040161088190612b74565b505b600061225b6037546108f0611b44565b9050600061227460385483611b1f90919063ffffffff16565b905061227e6125f2565b506040805161010080820183526001600160a01b03808c1683528a8116602084019081529383018681526060840186815260006080860181815260a0870182815260c0880183815260e08901848152603d80546001810182559086528a5160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b166001600160a01b03199384161790559b517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc48d01805491909a1691161790975594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc58a015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc6890155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc788015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc887015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990950180549251151590930261ff001995151560ff199093169290921794909416179055906124306114cc565b82516001600160a01b03166000908152603e60205260409020819055603354603454603a54929350612472928d92611a8a9290916108f0919082908a90611b1f565b896001600160a01b0316817f90ec05050aa23d54ba425e926fe646c318e85825bc400b13a46010abe86eb2f08b87878d6040516124b29493929190612a74565b60405180910390a39998505050505050505050565b6040805490516323b872dd60e01b81526001600160a01b03909116906323b872dd9061251b9085907f00000000000000000000000000000000000000000000000000000000000000009086906004016129c9565b602060405180830381600087803b15801561253557600080fd5b505af1158015612549573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061256d91906128c5565b6125895760405162461bcd60e51b815260040161088190612de8565b6001600160a01b0382166000908152603b60205260409020546125ac9082611b1f565b6001600160a01b039092166000908152603b602052604090209190915550565b3b151590565b604080516060810182526000808252602082018190529181019190915290565b60405180610100016040528060006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000151581526020016000151581525090565b80356001600160a01b03811681146114c657600080fd5b80356114c681613168565b600082601f83011261267f578081fd5b813567ffffffffffffffff811115612695578182fd5b6126a8601f8201601f1916602001613100565b91508082528360208285010111156126bf57600080fd5b8060208401602084013760009082016020015292915050565b6000602082840312156126e9578081fd5b6114c3838361264d565b600080600060608486031215612707578182fd5b833561271281613153565b9250602084013561272281613153565b9150604084013567ffffffffffffffff81111561273d578182fd5b6127498682870161266f565b9150509250925092565b60008060408385031215612765578182fd5b823561277081613153565b9150602083013567ffffffffffffffff81111561278b578182fd5b6127978582860161266f565b9150509250929050565b60008060008060008060c087890312156127b9578182fd5b6127c3888861264d565b95506020870135945060408701359350606087013560ff811681146127e6578283fd5b9598949750929560808101359460a0909101359350915050565b600080600060608486031215612814578283fd5b833567ffffffffffffffff8082111561282b578485fd5b818601915086601f83011261283e578485fd5b81358181111561284c578586fd5b6020915081810261285e838201613100565b8281528381019085850183870186018c101561287857898afd5b8996505b848710156128a25761288e8c8261264d565b83526001969096019591850191850161287c565b50975050505085013592506128bc90508560408601612664565b90509250925092565b6000602082840312156128d6578081fd5b81516114c381613168565b6000602082840312156128f2578081fd5b5035919050565b6000806040838503121561290b578182fd5b8235915061291c846020850161264d565b90509250929050565b60008060408385031215612937578182fd5b82359150602083013561294981613168565b809150509250929050565b6000815180845261296c816020860160208601613127565b601f01601f19169290920160200192915050565b60008251612992818460208701613127565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03988916815296909716602087015260408601949094526060850192909252608084015260a0830152151560c082015290151560e08201526101000190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b600060018060a01b038616825284602083015283604083015260806060830152612aa16080830184612954565b9695505050505050565b901515815260200190565b90815260200190565b6020810160078310612acd57fe5b91905290565b6000602082526114c36020830184612954565b60208082526023908201527f476f7665726e616e63653a3a657865637574653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602b908201527f476f7665726e616e63653a3a657865637574653a20696e76616c69642070726f60408201526a706f73616c20737461746560a81b606082015260800190565b60208082526055908201527f476f7665726e616e63653a3a70726f706f73653a206f6e65206c69766520707260408201527f6f706f73616c207065722070726f706f7365722c20666f756e6420616e20616c6060820152741c9958591e481858dd1a5d99481c1c9bdc1bdcd85b605a1b608082015260a00190565b60208082526027908201527f476f7665726e616e63653a3a5f63617374566f74653a20766f74696e672069736040820152660818db1bdcd95960ca1b606082015260800190565b6020808252602d908201527f476f7665726e616e63653a3a70726f706f73653a2070736575646f2d6578746560408201526c393730b610333ab731ba34b7b760991b606082015260800190565b6020808252603c908201527f476f7665726e616e63653a3a70726f706f73653a2070726f706f73657220766f60408201527f7465732062656c6f772070726f706f73616c207468726573686f6c6400000000606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526036908201527f476f7665726e616e63653a3a70726f706f73653a206d6574616d6f72706869636040820152750818dbdb9d1c9858dd1cc81b9bdd08185b1b1bddd95960521b606082015260800190565b60208082526024908201527f476f7665726e616e63653a20696e636f727265637420766f7465457874656e6460408201526354696d6560e01b606082015260800190565b6020808252601d908201527f476f7665726e616e63653a20746f6b656e7320617265206c6f636b6564000000604082015260600190565b60208082526019908201527f544f524e3a207472616e7366657246726f6d206661696c656400000000000000604082015260600190565b60208082526010908201526f43616e206e6f7420626520656d70747960801b604082015260600190565b60208082526018908201527f476f7665726e616e63653a20756e617574686f72697a65640000000000000000604082015260600190565b6020808252601d908201527f476f7665726e616e63653a20696e76616c69642064656c656761746565000000604082015260600190565b60208082526018908201527f476f7665726e616e63653a2062616c616e636520697320300000000000000000604082015260600190565b60208082526023908201527f476f7665726e616e63653a3a70726f706f73653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252600d908201526c6f6e6c79206d756c746973696760981b604082015260600190565b60208082526026908201527f476f7665726e616e63653a3a73746174653a20696e76616c69642070726f706f6040820152651cd85b081a5960d21b606082015260800190565b6020808252602a908201527f476f7665726e616e63653a20746f6b656e732061726520616c726561647920756040820152691b99195b1959d85d195960b21b606082015260800190565b6020808252601a908201527f476f7665726e616e63653a206e6f7420617574686f72697a6564000000000000604082015260600190565b60208082526019908201527f50726f706f73616c20657865637574696f6e206661696c656400000000000000604082015260600190565b60208082526019908201527f476f7665726e616e63653a20766f74656420616c726561647900000000000000604082015260600190565b8151151581526020808301511515908201526040918201519181019190915260600190565b60405181810167ffffffffffffffff8111828210171561311f57600080fd5b604052919050565b60005b8381101561314257818101518382015260200161312a565b838111156118a65750506000910152565b6001600160a01b038116811461169857600080fd5b801515811461169857600080fdfea2646970667358221220b75004153b6c8b4905c018daca78cb0fa6d3859298be55252bcf6ba75ea68d0e64736f6c634300060c0033"; + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "stakingRewardsAddress"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "gasCompLogic"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "userVaultAddress"; + readonly type: "address"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "constructor"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "account"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "to"; + readonly type: "address"; + }]; + readonly name: "Delegated"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "uint256"; + readonly name: "id"; + readonly type: "uint256"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "proposer"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "address"; + readonly name: "target"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "startTime"; + readonly type: "uint256"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "endTime"; + readonly type: "uint256"; + }, { + readonly indexed: false; + readonly internalType: "string"; + readonly name: "description"; + readonly type: "string"; + }]; + readonly name: "ProposalCreated"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }]; + readonly name: "ProposalExecuted"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "account"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "bytes"; + readonly name: "errorData"; + readonly type: "bytes"; + }]; + readonly name: "RewardUpdateFailed"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "account"; + readonly type: "address"; + }]; + readonly name: "RewardUpdateSuccessful"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "account"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "from"; + readonly type: "address"; + }]; + readonly name: "Undelegated"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "voter"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "bool"; + readonly name: "support"; + readonly type: "bool"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "votes"; + readonly type: "uint256"; + }]; + readonly name: "Voted"; + readonly type: "event"; + }, { + readonly inputs: readonly []; + readonly name: "CLOSING_PERIOD"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "EXECUTION_DELAY"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "EXECUTION_EXPIRATION"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "PROPOSAL_THRESHOLD"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "QUORUM_VOTES"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "Staking"; + readonly outputs: readonly [{ + readonly internalType: "contract ITornadoStakingRewards"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "VOTE_EXTEND_TIME"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "VOTING_DELAY"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "VOTING_PERIOD"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly name: "canWithdrawAfter"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address[]"; + readonly name: "from"; + readonly type: "address[]"; + }, { + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }, { + readonly internalType: "bool"; + readonly name: "support"; + readonly type: "bool"; + }]; + readonly name: "castDelegatedVote"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }, { + readonly internalType: "bool"; + readonly name: "support"; + readonly type: "bool"; + }]; + readonly name: "castVote"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }]; + readonly name: "checkIfQuorumReached"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "to"; + readonly type: "address"; + }]; + readonly name: "delegate"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly name: "delegatedTo"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }]; + readonly name: "execute"; + readonly outputs: readonly []; + readonly stateMutability: "payable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "gasCompensationVault"; + readonly outputs: readonly [{ + readonly internalType: "contract IGasCompensationVault"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }, { + readonly internalType: "address"; + readonly name: "voter"; + readonly type: "address"; + }]; + readonly name: "getReceipt"; + readonly outputs: readonly [{ + readonly components: readonly [{ + readonly internalType: "bool"; + readonly name: "hasVoted"; + readonly type: "bool"; + }, { + readonly internalType: "bool"; + readonly name: "support"; + readonly type: "bool"; + }, { + readonly internalType: "uint256"; + readonly name: "votes"; + readonly type: "uint256"; + }]; + readonly internalType: "struct Governance.Receipt"; + readonly name: ""; + readonly type: "tuple"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }, { + readonly internalType: "address"; + readonly name: "account"; + readonly type: "address"; + }]; + readonly name: "hasAccountVoted"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "_torn"; + readonly type: "address"; + }]; + readonly name: "initialize"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly name: "latestProposalIds"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "deadline"; + readonly type: "uint256"; + }, { + readonly internalType: "uint8"; + readonly name: "v"; + readonly type: "uint8"; + }, { + readonly internalType: "bytes32"; + readonly name: "r"; + readonly type: "bytes32"; + }, { + readonly internalType: "bytes32"; + readonly name: "s"; + readonly type: "bytes32"; + }]; + readonly name: "lock"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "lockWithApproval"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly name: "lockedBalance"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly name: "proposalCodehashes"; + readonly outputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: ""; + readonly type: "bytes32"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "proposalCount"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly name: "proposals"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: "proposer"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "target"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "startTime"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "endTime"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "forVotes"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "againstVotes"; + readonly type: "uint256"; + }, { + readonly internalType: "bool"; + readonly name: "executed"; + readonly type: "bool"; + }, { + readonly internalType: "bool"; + readonly name: "extended"; + readonly type: "bool"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "target"; + readonly type: "address"; + }, { + readonly internalType: "string"; + readonly name: "description"; + readonly type: "string"; + }]; + readonly name: "propose"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "from"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "target"; + readonly type: "address"; + }, { + readonly internalType: "string"; + readonly name: "description"; + readonly type: "string"; + }]; + readonly name: "proposeByDelegate"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "returnMultisigAddress"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "pure"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "closingPeriod"; + readonly type: "uint256"; + }]; + readonly name: "setClosingPeriod"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "executionDelay"; + readonly type: "uint256"; + }]; + readonly name: "setExecutionDelay"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "executionExpiration"; + readonly type: "uint256"; + }]; + readonly name: "setExecutionExpiration"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "gasCompensationsLimit"; + readonly type: "uint256"; + }]; + readonly name: "setGasCompensations"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "proposalThreshold"; + readonly type: "uint256"; + }]; + readonly name: "setProposalThreshold"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "quorumVotes"; + readonly type: "uint256"; + }]; + readonly name: "setQuorumVotes"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "voteExtendTime"; + readonly type: "uint256"; + }]; + readonly name: "setVoteExtendTime"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "votingDelay"; + readonly type: "uint256"; + }]; + readonly name: "setVotingDelay"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "votingPeriod"; + readonly type: "uint256"; + }]; + readonly name: "setVotingPeriod"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }]; + readonly name: "state"; + readonly outputs: readonly [{ + readonly internalType: "enum Governance.ProposalState"; + readonly name: ""; + readonly type: "uint8"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "torn"; + readonly outputs: readonly [{ + readonly internalType: "contract TORN"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "undelegate"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "unlock"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "userVault"; + readonly outputs: readonly [{ + readonly internalType: "contract ITornadoVault"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "version"; + readonly outputs: readonly [{ + readonly internalType: "string"; + readonly name: ""; + readonly type: "string"; + }]; + readonly stateMutability: "pure"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "withdrawFromHelper"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly stateMutability: "payable"; + readonly type: "receive"; + }]; + static createInterface(): GovernanceExploitPatchUpgradeInterface; + static connect(address: string, runner?: ContractRunner | null): GovernanceExploitPatchUpgrade; +} +export {}; diff --git a/dist/factories/contracts/Governance/v4-exploit-patch/PatchProposal__factory.d.ts b/dist/factories/contracts/Governance/v4-exploit-patch/PatchProposal__factory.d.ts new file mode 100644 index 0000000..d8b36e8 --- /dev/null +++ b/dist/factories/contracts/Governance/v4-exploit-patch/PatchProposal__factory.d.ts @@ -0,0 +1,120 @@ +import { ContractFactory, ContractTransactionResponse } from "ethers"; +import type { Signer, AddressLike, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../common"; +import type { PatchProposal, PatchProposalInterface } from "../../../../contracts/Governance/v4-exploit-patch/PatchProposal"; +type PatchProposalConstructorParams = [signer?: Signer] | ConstructorParameters; +export declare class PatchProposal__factory extends ContractFactory { + constructor(...args: PatchProposalConstructorParams); + getDeployTransaction(_deployedStakingProxyContractAddress: AddressLike, _deployedRelayerRegistryImplementationAddress: AddressLike, overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + deploy(_deployedStakingProxyContractAddress: AddressLike, _deployedRelayerRegistryImplementationAddress: AddressLike, overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + connect(runner: ContractRunner | null): PatchProposal__factory; + static readonly bytecode = "0x60c060405234801561001057600080fd5b50604051613adb380380613adb83398101604081905261002f9161004d565b6001600160601b0319606092831b8116608052911b1660a05261009e565b6000806040838503121561005f578182fd5b825161006a81610086565b602084015190925061007b81610086565b809150509250929050565b6001600160a01b038116811461009b57600080fd5b50565b60805160601c60a05160601c613a056100d66000398061027a52806104985250806102f952806103f452806104bc5250613a056000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c8063373058b811610066578063373058b8146100ce5780634655478f146100d857806361697d64146100e05780636fc6091d146100e85780639b49989a146100f057610093565b80630cc784761461009857806313f32237146100b657806324044543146100be57806332bf1039146100c6575b600080fd5b6100a06100f8565b6040516100ad9190610542565b60405180910390f35b6100a0610110565b6100a0610128565b6100a0610140565b6100d6610158565b005b6100a061047e565b6100a0610496565b6100a06104ba565b6100a06104de565b7358e8dcc13be9780fc42e8723d8ead4cf46943df281565b732fc93484614a34f26f7970cbb94615ba109bb4bf81565b73fa4c1f3f7d5dd7c12a9adb82cd7dda542e3d59ef81565b7377777feddddffc19ff86db637967013e6c6a116c81565b6040516370a0823160e01b8152732fc93484614a34f26f7970cbb94615ba109bb4bf90819063f58073b1907377777feddddffc19ff86db637967013e6c6a116c906370a08231906101ad908590600401610542565b60206040518083038186803b1580156101c557600080fd5b505afa1580156101d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101fd919061052a565b6040518263ffffffff1660e01b81526004016102199190610592565b600060405180830381600087803b15801561023357600080fd5b505af1158015610247573d6000803e3d6000fd5b5050604051631b2ce7f360e11b81527358e8dcc13be9780fc42e8723d8ead4cf46943df29250633659cfe691506102a2907f000000000000000000000000000000000000000000000000000000000000000090600401610542565b600060405180830381600087803b1580156102bc57600080fd5b505af11580156102d0573d6000803e3d6000fd5b50505050735efda50f22d34f262c29268506c5fa42cb56a1ce6001600160a01b0316633659cfe67f000000000000000000000000000000000000000000000000000000000000000073fa4c1f3f7d5dd7c12a9adb82cd7dda542e3d59ef732f50508a8a3d323b91336fa3ea6ae50e55f3218560405161034e906104f6565b61035a93929190610556565b604051809103906000f080158015610376573d6000803e3d6000fd5b506040518263ffffffff1660e01b81526004016103939190610542565b600060405180830381600087803b1580156103ad57600080fd5b505af11580156103c1573d6000803e3d6000fd5b505060405163a9059cbb60e01b81527377777feddddffc19ff86db637967013e6c6a116c925063a9059cbb9150610428907f0000000000000000000000000000000000000000000000000000000000000000906913ecbccf7737e6b0000090600401610579565b602060405180830381600087803b15801561044257600080fd5b505af1158015610456573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061047a9190610503565b5050565b735efda50f22d34f262c29268506c5fa42cb56a1ce81565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b732f50508a8a3d323b91336fa3ea6ae50e55f3218581565b6134348061059c83390190565b600060208284031215610514578081fd5b81518015158114610523578182fd5b9392505050565b60006020828403121561053b578081fd5b5051919050565b6001600160a01b0391909116815260200190565b6001600160a01b0393841681529183166020830152909116604082015260600190565b6001600160a01b03929092168252602082015260400190565b9081526020019056fe60e06040523480156200001157600080fd5b50604051620034343803806200343483398101604081905262000034916200016b565b82828281818181600060019054906101000a900460ff16806200005c57506200005c62000124565b806200006b575060005460ff16155b620000935760405162461bcd60e51b81526004016200008a90620001be565b60405180910390fd5b600054610100900460ff16158015620000bf576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b03191661dead179055620000dd6200012a565b8015620000f0576000805461ff00191690555b506001600160601b0319606091821b811660805291811b821660a0529590951b90941660c052506200022595505050505050565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b60008060006060848603121562000180578283fd5b83516200018d816200020c565b6020850151909350620001a0816200020c565b6040850151909250620001b3816200020c565b809150509250925092565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b6001600160a01b03811681146200022257600080fd5b50565b60805160601c60a05160601c60c05160601c6131ac6200028860003980610d1352806110d452806116c752806117f85250806109105280610eca5280610fc252806116435280611d6d52508061105d5280611c1652806124f152506131ac6000f3fe6080604052600436106102815760003560e01c80639daafec71161014f578063d6f0948c116100c1578063ea0217cf1161007a578063ea0217cf14610755578063ece40cc114610775578063ef3f8bb114610795578063f0b76892146107b5578063f57df22e146107d5578063fe0d94c1146107ea57610288565b8063d6f0948c14610693578063da35c664146106b3578063e01f5237146106c8578063e23a9a52146106e8578063e4917d9f14610715578063e525aa081461073557610288565b8063b54426c811610113578063b54426c8146105e9578063b859f11b14610609578063c0c0e82014610629578063c4d66de814610649578063ce25d71c14610669578063d6159fe51461067e57610288565b80639daafec714610575578063a6c266031461058a578063a72edda31461059f578063adf898a4146105bf578063b1610d7e146105d457610288565b80635c19a95c116101f357806370b0f660116101ac57806370b0f660146104cb5780638b34a960146104eb57806392ab89bb14610500578063932d5157146105155780639a9e3b6e146105355780639ae697bf1461055557610288565b80635c19a95c146104215780636198e3391461044157806365da126414610461578063671dd275146104815780636a661755146104965780636dc2dc6c146104ab57610288565b806332687ec11161024557806332687ec11461035b57806337f135d7146103885780633e4f49e61461039d57806354fd4d50146103ca578063587a6ecb146103ec57806358e9fff01461040157610288565b8063013cf08b1461028d57806302ec8f9e146102ca57806315373e3d146102ec57806317977c611461030c57806324b0435f1461033957610288565b3661028857005b600080fd5b34801561029957600080fd5b506102ad6102a83660046128e1565b6107fd565b6040516102c19897969594939291906129ed565b60405180910390f35b3480156102d657600080fd5b506102ea6102e53660046128e1565b610862565b005b3480156102f857600080fd5b506102ea610307366004612925565b61088f565b34801561031857600080fd5b5061032c6103273660046126d8565b610992565b6040516102c19190612ab6565b34801561034557600080fd5b5061034e6109a4565b6040516102c1919061299c565b34801561036757600080fd5b5061037b6103763660046128e1565b6109bc565b6040516102c19190612aab565b34801561039457600080fd5b5061032c610a0a565b3480156103a957600080fd5b506103bd6103b83660046128e1565b610a10565b6040516102c19190612abf565b3480156103d657600080fd5b506103df610b4c565b6040516102c19190612ad3565b3480156103f857600080fd5b5061032c610b75565b34801561040d57600080fd5b5061032c61041c3660046126f3565b610b7b565b34801561042d57600080fd5b506102ea61043c3660046126d8565b610bc9565b34801561044d57600080fd5b506102ea61045c3660046128e1565b610ceb565b34801561046d57600080fd5b5061034e61047c3660046126d8565b610e38565b34801561048d57600080fd5b5061032c610e53565b3480156104a257600080fd5b5061032c610e59565b3480156104b757600080fd5b506102ea6104c63660046128e1565b610e5f565b3480156104d757600080fd5b506102ea6104e63660046128e1565b610ea4565b3480156104f757600080fd5b5061034e610ec8565b34801561050c57600080fd5b506102ea610eec565b34801561052157600080fd5b506102ea6105303660046128e1565b610f73565b34801561054157600080fd5b506102ea6105503660046128e1565b611025565b34801561056157600080fd5b5061032c6105703660046126d8565b611049565b34801561058157600080fd5b5061034e61105b565b34801561059657600080fd5b5061032c61107f565b3480156105ab57600080fd5b5061032c6105ba3660046126d8565b611085565b3480156105cb57600080fd5b5061034e611097565b3480156105e057600080fd5b5061032c6110a6565b3480156105f557600080fd5b506102ea6106043660046128e1565b6110ac565b34801561061557600080fd5b506102ea610624366004612800565b6111f5565b34801561063557600080fd5b506102ea6106443660046128e1565b611243565b34801561065557600080fd5b506102ea6106643660046126d8565b611267565b34801561067557600080fd5b5061032c6114aa565b34801561068a57600080fd5b5061032c6114b0565b34801561069f57600080fd5b5061032c6106ae366004612753565b6114b6565b3480156106bf57600080fd5b5061032c6114cc565b3480156106d457600080fd5b5061032c6106e33660046128e1565b6114d6565b3480156106f457600080fd5b506107086107033660046128f9565b6114e8565b6040516102c191906130db565b34801561072157600080fd5b506102ea6107303660046128e1565b61155a565b34801561074157600080fd5b5061037b6107503660046128f9565b61157e565b34801561076157600080fd5b506102ea6107703660046128e1565b6115c1565b34801561078157600080fd5b506102ea6107903660046128e1565b6115e5565b3480156107a157600080fd5b506102ea6107b03660046128e1565b611609565b3480156107c157600080fd5b506102ea6107d03660046127a1565b61169b565b3480156107e157600080fd5b5061034e6117f6565b6102ea6107f83660046128e1565b61181a565b603d818154811061080a57fe5b600091825260209091206008909102018054600182015460028301546003840154600485015460058601546006909601546001600160a01b039586169750949093169491939092919060ff8082169161010090041688565b33301461088a5760405162461bcd60e51b815260040161088190612e49565b60405180910390fd5b603555565b3361089a833361157e565b1580156108ad57506108ab836109bc565b155b3332146108bb5760006108bf565b6152085b61ffff1681156109805760005a90506108d93387876118ac565b60006108f66127106108f0856108f05a8790611add565b90611b1f565b60405163a99ce80760e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a99ce8079061094790889085906004016129b0565b600060405180830381600087803b15801561096157600080fd5b505af1158015610975573d6000803e3d6000fd5b50505050505061098b565b61098b3386866118ac565b5050505050565b603e6020526000908152604090205481565b73b04e030140b30c27bcdfaafffa98c57d80eda7b490565b6000603554603d83815481106109ce57fe5b906000526020600020906008020160050154603d84815481106109ed57fe5b90600052602060002090600802016004015401101590505b919050565b60335481565b6000610a1a6114cc565b8211158015610a295750600082115b610a455760405162461bcd60e51b815260040161088190612fa6565b6000603d8381548110610a5457fe5b906000526020600020906008020190508060020154610a71611b44565b11610a80576000915050610a05565b8060030154610a8d611b44565b11610a9c576001915050610a05565b80600501548160040154111580610abe57506035548160050154826004015401105b15610acd576002915050610a05565b600681015460ff1615610ae4576005915050610a05565b610b036034546108f06033548460030154611b1f90919063ffffffff16565b610b0b611b44565b10610b1a576006915050610a05565b6033546003820154610b2b91611b1f565b610b33611b44565b10610b42576004915050610a05565b6003915050610a05565b60408051808201909152600f81526e0d0b9c185d18da0b595e1c1b1bda5d608a1b602082015290565b603a5481565b6001600160a01b038381166000908152603c60205260408120549091163314610bb65760405162461bcd60e51b815260040161088190613036565b610bc1848484611b48565b949350505050565b336000818152603c60205260409020546001600160a01b039081169190831614801590610bff57506001600160a01b0382163014155b8015610c1357506001600160a01b03821615155b8015610c315750806001600160a01b0316826001600160a01b031614155b610c4d5760405162461bcd60e51b815260040161088190612e80565b6001600160a01b03811615610c93576040516001600160a01b0382169033907f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7290600090a35b336000818152603c602052604080822080546001600160a01b0319166001600160a01b03871690811790915590519092917f4bc154dd35d6a5cb9206482ecb473cdbf2473006d6bce728b9cc0741bcc59ea291a35050565b336000818152603b60205260409081902054905163e113335f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163e113335f91610d489185916004016129b0565b600060405180830381600087803b158015610d6257600080fd5b505af1925050508015610d73575060015b610df6573d808015610da1576040519150601f19603f3d011682016040523d82523d6000602084013e610da6565b606091505b5080604051610db59190612980565b604051908190038120906001600160a01b038416907f5a6216e80d86159dc87dcebfe519205477a94005b7d9d6bd313606450a5344f690600090a350610e2b565b6040516001600160a01b038216907f9b227b0c1ae308b34f72d4fdf9a1943fa769ff4814933595e7bc5230a117698b90600090a25b610e3482611b70565b5050565b603c602052600090815260409020546001600160a01b031681565b60355481565b60345481565b333014610e7e5760405162461bcd60e51b815260040161088190612e49565b6033548110610e9f5760405162461bcd60e51b815260040161088190612d6d565b603a55565b333014610ec35760405162461bcd60e51b815260040161088190612e49565b603755565b7f000000000000000000000000000000000000000000000000000000000000000081565b336000908152603c60205260409020546001600160a01b031680610f225760405162461bcd60e51b815260040161088190612fec565b336000818152603c602052604080822080546001600160a01b0319169055516001600160a01b03841692917f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7291a350565b610f7b6109a4565b6001600160a01b0316336001600160a01b031614610fab5760405162461bcd60e51b815260040161088190612f7f565b604051633a08bde160e21b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e822f78490610ff7908490600401612ab6565b600060405180830381600087803b15801561101157600080fd5b505af115801561098b573d6000803e3d6000fd5b3330146110445760405162461bcd60e51b815260040161088190612e49565b603455565b603b6020526000908152604090205481565b7f000000000000000000000000000000000000000000000000000000000000000081565b60365481565b603f6020526000908152604090205481565b6040546001600160a01b031681565b60385481565b336000818152603b60205260409081902054905163e113335f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163e113335f916111099185916004016129b0565b600060405180830381600087803b15801561112357600080fd5b505af1925050508015611134575060015b6111b7573d808015611162576040519150601f19603f3d011682016040523d82523d6000602084013e611167565b606091505b50806040516111769190612980565b604051908190038120906001600160a01b038416907f5a6216e80d86159dc87dcebfe519205477a94005b7d9d6bd313606450a5344f690600090a3506111ec565b6040516001600160a01b038216907f9b227b0c1ae308b34f72d4fdf9a1943fa769ff4814933595e7bc5230a117698b90600090a25b610e3482611c54565b60008351116112165760405162461bcd60e51b815260040161088190612e1f565b61123e838383611226863361157e565b1580156112395750611237866109bc565b155b611c5e565b505050565b3330146112625760405162461bcd60e51b815260040161088190612e49565b603955565b600054610100900460ff16806112805750611280611ea1565b8061128e575060005460ff16155b6112aa5760405162461bcd60e51b815260040161088190612f31565b600054610100900460ff161580156112d5576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b038085166001600160a01b03199283161783558251610100818101855230825261dead602083019081526000958301868152606084018781526080850188815260a08601898152600160c0880181815260e089018c8152603d80549384018155909c52975160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b16928c169290921790915594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc4860180549190991699169890981790965590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc5830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc682015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc784015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc8830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990910180549351151590920261ff001991151560ff199094169390931716919091179055611495611ea7565b8015610e34576000805461ff00191690555050565b60395481565b60375481565b60006114c3338484611b48565b90505b92915050565b603d546000190190565b60416020526000908152604090205481565b6114f06125d2565b603d83815481106114fd57fe5b600091825260208083206001600160a01b0395909516835260089190910290930160070183526040908190208151606081018352815460ff8082161515835261010090910416151594810194909452600101549083015250919050565b3330146115795760405162461bcd60e51b815260040161088190612e49565b603355565b6000603d838154811061158d57fe5b600091825260208083206001600160a01b03861684526007600890930201919091019052604090205460ff16905092915050565b3330146115e05760405162461bcd60e51b815260040161088190612e49565b603855565b3330146116045760405162461bcd60e51b815260040161088190612e49565b603655565b6116116109a4565b6001600160a01b0316336001600160a01b0316146116415760405162461bcd60e51b815260040161088190612f7f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108fc6116788347611ee8565b6040518115909202916000818181858888f1935050505061169857600080fd5b50565b6001600160a01b038087166000908152603b60205260409081902054905163e113335f60e01b815288927f0000000000000000000000000000000000000000000000000000000000000000169163e113335f916116fc9185916004016129b0565b600060405180830381600087803b15801561171657600080fd5b505af1925050508015611727575060015b6117aa573d808015611755576040519150601f19603f3d011682016040523d82523d6000602084013e61175a565b606091505b50806040516117699190612980565b604051908190038120906001600160a01b038416907f5a6216e80d86159dc87dcebfe519205477a94005b7d9d6bd313606450a5344f690600090a3506117df565b6040516001600160a01b038216907f9b227b0c1ae308b34f72d4fdf9a1943fa769ff4814933595e7bc5230a117698b90600090a25b6117ed878787878787611efe565b50505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b3330141561183a5760405162461bcd60e51b815260040161088190612c36565b6000603d828154811061184957fe5b6000918252602080832060016008909302019182015485845260419091526040909220549092506001600160a01b0390911690813f90811461189d5760405162461bcd60e51b815260040161088190612d17565b6118a684611f7e565b50505050565b60016118b783610a10565b60068111156118c257fe5b146118df5760405162461bcd60e51b815260040161088190612bef565b6000603d83815481106118ee57fe5b600091825260208083206001600160a01b038816845260076008909302019182018152604080842060058401546004850154603b90945291909420549294501015908061194d5760405162461bcd60e51b815260040161088190612eb7565b825460ff161561199c578254610100900460ff1615611983576001830154600485015461197991611add565b600485015561199c565b6001830154600585015461199691611add565b60058501555b84156119bb5760048401546119b19082611b1f565b60048501556119d0565b60058401546119ca9082611b1f565b60058501555b6006840154610100900460ff16158015611a0057506039546119fe6119f3611b44565b600387015490611add565b105b15611a44576005840154600485015411158215158114611a425760068501805461ff001916610100179055603a546003860154611a3c91611b1f565b60038601555b505b8254600160ff19909116811761ff001916610100871515021784558301819055603354603454603a546003870154611a8f938b93611a8a9391926108f092839190611b1f565b612110565b841515876001600160a01b0316877f7c2de587c00d75474a0c6c6fa96fd3b45dc974cd4e8a75f712bb84c950dce1b584604051611acc9190612ab6565b60405180910390a450505050505050565b60006114c383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061214d565b6000828201838110156114c35760405162461bcd60e51b815260040161088190612ce0565b4290565b6000611b55848484612179565b6000818152604160205260409020933f909355509092915050565b336000908152603f6020526040902054611b88611b44565b11611ba55760405162461bcd60e51b815260040161088190612db1565b60408051808201825260208082527f476f7665726e616e63653a20696e73756666696369656e742062616c616e636581830152336000908152603b9091529190912054611bf391839061214d565b336000818152603b6020526040908190209290925590516391fe357360e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316916391fe357391610ff7919085906004016129b0565b61169833826124c7565b3381328214611c6e576000611c72565b6152085b61ffff168115611ddd5760005a905060005b8851811015611d3b576000898281518110611c9b57fe5b6020908102919091018101516001600160a01b038082166000908152603c90935260409092205490925016331480611cdb57506001600160a01b03811633145b611cf75760405162461bcd60e51b815260040161088190613036565b861580611d0b5750611d09898261157e565b155b611d275760405162461bcd60e51b8152600401610881906130a4565b611d32818a8a6118ac565b50600101611c84565b506000611d536127106108f0856108f05a8790611add565b60405163a99ce80760e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a99ce80790611da490889085906004016129b0565b600060405180830381600087803b158015611dbe57600080fd5b505af1158015611dd2573d6000803e3d6000fd5b5050505050506117ed565b60005b8751811015611e97576000888281518110611df757fe5b6020908102919091018101516001600160a01b038082166000908152603c90935260409092205490925016331480611e3757506001600160a01b03811633145b611e535760405162461bcd60e51b815260040161088190613036565b851580611e675750611e65888261157e565b155b611e835760405162461bcd60e51b8152600401610881906130a4565b611e8e8189896118ac565b50600101611de0565b5050505050505050565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b6000818310611ef757816114c3565b5090919050565b60408054905163d505accf60e01b81526001600160a01b039091169063d505accf90611f3a90899030908a908a908a908a908a90600401612a33565b600060405180830381600087803b158015611f5457600080fd5b505af1158015611f68573d6000803e3d6000fd5b50505050611f7686866124c7565b505050505050565b6004611f8982610a10565b6006811115611f9457fe5b14611fb15760405162461bcd60e51b815260040161088190612b29565b6000603d8281548110611fc057fe5b600091825260209091206006600890920201908101805460ff191660019081179091558101549091506001600160a01b0316611ffb816125cc565b6120175760405162461bcd60e51b815260040161088190612ae6565b60408051600481526024810182526020810180516001600160e01b03166306e60b1760e31b17905290516000916060916001600160a01b0385169161205b91612980565b600060405180830381855af49150503d8060008114612096576040519150601f19603f3d011682016040523d82523d6000602084013e61209b565b606091505b5091509150816120de578051156120c6578060405162461bcd60e51b81526004016108819190612ad3565b60405162461bcd60e51b81526004016108819061306d565b60405185907f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f90600090a25050505050565b6001600160a01b0382166000908152603f6020526040902054811115610e34576001600160a01b03919091166000908152603f6020526040902055565b600081848411156121715760405162461bcd60e51b81526004016108819190612ad3565b505050900390565b6001600160a01b0383166000908152603b60205260408120546036548110156121b45760405162461bcd60e51b815260040161088190612c83565b6121bd846125cc565b6121d95760405162461bcd60e51b815260040161088190612eee565b6001600160a01b0385166000908152603e6020526040902054801561224b57600061220382610a10565b9050600181600681111561221357fe5b1415801561222d5750600081600681111561222a57fe5b14155b6122495760405162461bcd60e51b815260040161088190612b74565b505b600061225b6037546108f0611b44565b9050600061227460385483611b1f90919063ffffffff16565b905061227e6125f2565b506040805161010080820183526001600160a01b03808c1683528a8116602084019081529383018681526060840186815260006080860181815260a0870182815260c0880183815260e08901848152603d80546001810182559086528a5160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b166001600160a01b03199384161790559b517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc48d01805491909a1691161790975594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc58a015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc6890155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc788015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc887015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990950180549251151590930261ff001995151560ff199093169290921794909416179055906124306114cc565b82516001600160a01b03166000908152603e60205260409020819055603354603454603a54929350612472928d92611a8a9290916108f0919082908a90611b1f565b896001600160a01b0316817f90ec05050aa23d54ba425e926fe646c318e85825bc400b13a46010abe86eb2f08b87878d6040516124b29493929190612a74565b60405180910390a39998505050505050505050565b6040805490516323b872dd60e01b81526001600160a01b03909116906323b872dd9061251b9085907f00000000000000000000000000000000000000000000000000000000000000009086906004016129c9565b602060405180830381600087803b15801561253557600080fd5b505af1158015612549573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061256d91906128c5565b6125895760405162461bcd60e51b815260040161088190612de8565b6001600160a01b0382166000908152603b60205260409020546125ac9082611b1f565b6001600160a01b039092166000908152603b602052604090209190915550565b3b151590565b604080516060810182526000808252602082018190529181019190915290565b60405180610100016040528060006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000151581526020016000151581525090565b80356001600160a01b03811681146114c657600080fd5b80356114c681613168565b600082601f83011261267f578081fd5b813567ffffffffffffffff811115612695578182fd5b6126a8601f8201601f1916602001613100565b91508082528360208285010111156126bf57600080fd5b8060208401602084013760009082016020015292915050565b6000602082840312156126e9578081fd5b6114c3838361264d565b600080600060608486031215612707578182fd5b833561271281613153565b9250602084013561272281613153565b9150604084013567ffffffffffffffff81111561273d578182fd5b6127498682870161266f565b9150509250925092565b60008060408385031215612765578182fd5b823561277081613153565b9150602083013567ffffffffffffffff81111561278b578182fd5b6127978582860161266f565b9150509250929050565b60008060008060008060c087890312156127b9578182fd5b6127c3888861264d565b95506020870135945060408701359350606087013560ff811681146127e6578283fd5b9598949750929560808101359460a0909101359350915050565b600080600060608486031215612814578283fd5b833567ffffffffffffffff8082111561282b578485fd5b818601915086601f83011261283e578485fd5b81358181111561284c578586fd5b6020915081810261285e838201613100565b8281528381019085850183870186018c101561287857898afd5b8996505b848710156128a25761288e8c8261264d565b83526001969096019591850191850161287c565b50975050505085013592506128bc90508560408601612664565b90509250925092565b6000602082840312156128d6578081fd5b81516114c381613168565b6000602082840312156128f2578081fd5b5035919050565b6000806040838503121561290b578182fd5b8235915061291c846020850161264d565b90509250929050565b60008060408385031215612937578182fd5b82359150602083013561294981613168565b809150509250929050565b6000815180845261296c816020860160208601613127565b601f01601f19169290920160200192915050565b60008251612992818460208701613127565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03988916815296909716602087015260408601949094526060850192909252608084015260a0830152151560c082015290151560e08201526101000190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b600060018060a01b038616825284602083015283604083015260806060830152612aa16080830184612954565b9695505050505050565b901515815260200190565b90815260200190565b6020810160078310612acd57fe5b91905290565b6000602082526114c36020830184612954565b60208082526023908201527f476f7665726e616e63653a3a657865637574653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602b908201527f476f7665726e616e63653a3a657865637574653a20696e76616c69642070726f60408201526a706f73616c20737461746560a81b606082015260800190565b60208082526055908201527f476f7665726e616e63653a3a70726f706f73653a206f6e65206c69766520707260408201527f6f706f73616c207065722070726f706f7365722c20666f756e6420616e20616c6060820152741c9958591e481858dd1a5d99481c1c9bdc1bdcd85b605a1b608082015260a00190565b60208082526027908201527f476f7665726e616e63653a3a5f63617374566f74653a20766f74696e672069736040820152660818db1bdcd95960ca1b606082015260800190565b6020808252602d908201527f476f7665726e616e63653a3a70726f706f73653a2070736575646f2d6578746560408201526c393730b610333ab731ba34b7b760991b606082015260800190565b6020808252603c908201527f476f7665726e616e63653a3a70726f706f73653a2070726f706f73657220766f60408201527f7465732062656c6f772070726f706f73616c207468726573686f6c6400000000606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526036908201527f476f7665726e616e63653a3a70726f706f73653a206d6574616d6f72706869636040820152750818dbdb9d1c9858dd1cc81b9bdd08185b1b1bddd95960521b606082015260800190565b60208082526024908201527f476f7665726e616e63653a20696e636f727265637420766f7465457874656e6460408201526354696d6560e01b606082015260800190565b6020808252601d908201527f476f7665726e616e63653a20746f6b656e7320617265206c6f636b6564000000604082015260600190565b60208082526019908201527f544f524e3a207472616e7366657246726f6d206661696c656400000000000000604082015260600190565b60208082526010908201526f43616e206e6f7420626520656d70747960801b604082015260600190565b60208082526018908201527f476f7665726e616e63653a20756e617574686f72697a65640000000000000000604082015260600190565b6020808252601d908201527f476f7665726e616e63653a20696e76616c69642064656c656761746565000000604082015260600190565b60208082526018908201527f476f7665726e616e63653a2062616c616e636520697320300000000000000000604082015260600190565b60208082526023908201527f476f7665726e616e63653a3a70726f706f73653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252600d908201526c6f6e6c79206d756c746973696760981b604082015260600190565b60208082526026908201527f476f7665726e616e63653a3a73746174653a20696e76616c69642070726f706f6040820152651cd85b081a5960d21b606082015260800190565b6020808252602a908201527f476f7665726e616e63653a20746f6b656e732061726520616c726561647920756040820152691b99195b1959d85d195960b21b606082015260800190565b6020808252601a908201527f476f7665726e616e63653a206e6f7420617574686f72697a6564000000000000604082015260600190565b60208082526019908201527f50726f706f73616c20657865637574696f6e206661696c656400000000000000604082015260600190565b60208082526019908201527f476f7665726e616e63653a20766f74656420616c726561647900000000000000604082015260600190565b8151151581526020808301511515908201526040918201519181019190915260600190565b60405181810167ffffffffffffffff8111828210171561311f57600080fd5b604052919050565b60005b8381101561314257818101518382015260200161312a565b838111156118a65750506000910152565b6001600160a01b038116811461169857600080fd5b801515811461169857600080fdfea2646970667358221220b75004153b6c8b4905c018daca78cb0fa6d3859298be55252bcf6ba75ea68d0e64736f6c634300060c0033a26469706673582212204ba1758b9bff1354ea4f43c5374c01c2f89472a8eda340e802e2a467b5710b3764736f6c634300060c0033"; + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "_deployedStakingProxyContractAddress"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "_deployedRelayerRegistryImplementationAddress"; + readonly type: "address"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "constructor"; + }, { + readonly inputs: readonly []; + readonly name: "TORN"; + readonly outputs: readonly [{ + readonly internalType: "contract IERC20"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "deployedRelayerRegistryImplementationAddress"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "deployedStakingProxyContractAddress"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "executeProposal"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "gasCompensationVaultAddress"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "governanceProxyAddress"; + readonly outputs: readonly [{ + readonly internalType: "address payable"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "oldStakingProxyAddress"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "registryProxyAddress"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "userVaultAddress"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }]; + static createInterface(): PatchProposalInterface; + static connect(address: string, runner?: ContractRunner | null): PatchProposal; +} +export {}; diff --git a/dist/factories/contracts/Governance/v4-exploit-patch/index.d.ts b/dist/factories/contracts/Governance/v4-exploit-patch/index.d.ts new file mode 100644 index 0000000..a6465d1 --- /dev/null +++ b/dist/factories/contracts/Governance/v4-exploit-patch/index.d.ts @@ -0,0 +1,5 @@ +export * as metamorphic from "./metamorphic"; +export * as mock from "./mock"; +export { AdminUpgradeableProxy__factory } from "./AdminUpgradeableProxy__factory"; +export { GovernanceExploitPatchUpgrade__factory } from "./GovernanceExploitPatchUpgrade__factory"; +export { PatchProposal__factory } from "./PatchProposal__factory"; diff --git a/dist/factories/contracts/Governance/v4-exploit-patch/metamorphic/IMetamorphicContractFactory__factory.d.ts b/dist/factories/contracts/Governance/v4-exploit-patch/metamorphic/IMetamorphicContractFactory__factory.d.ts new file mode 100644 index 0000000..04f1663 --- /dev/null +++ b/dist/factories/contracts/Governance/v4-exploit-patch/metamorphic/IMetamorphicContractFactory__factory.d.ts @@ -0,0 +1,43 @@ +import { type ContractRunner } from "ethers"; +import type { IMetamorphicContractFactory, IMetamorphicContractFactoryInterface } from "../../../../../contracts/Governance/v4-exploit-patch/metamorphic/IMetamorphicContractFactory"; +export declare class IMetamorphicContractFactory__factory { + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: "salt"; + readonly type: "bytes32"; + }, { + readonly internalType: "address"; + readonly name: "implementationContract"; + readonly type: "address"; + }, { + readonly internalType: "bytes"; + readonly name: "metamorphicContractInitializationCalldata"; + readonly type: "bytes"; + }]; + readonly name: "deployMetamorphicContractFromExistingImplementation"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: "metamorphicContractAddress"; + readonly type: "address"; + }]; + readonly stateMutability: "payable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: "salt"; + readonly type: "bytes32"; + }]; + readonly name: "findMetamorphicContractAddress"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: "metamorphicContractAddress"; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }]; + static createInterface(): IMetamorphicContractFactoryInterface; + static connect(address: string, runner?: ContractRunner | null): IMetamorphicContractFactory; +} diff --git a/dist/factories/contracts/Governance/v4-exploit-patch/metamorphic/index.d.ts b/dist/factories/contracts/Governance/v4-exploit-patch/metamorphic/index.d.ts new file mode 100644 index 0000000..0fe6c11 --- /dev/null +++ b/dist/factories/contracts/Governance/v4-exploit-patch/metamorphic/index.d.ts @@ -0,0 +1 @@ +export { IMetamorphicContractFactory__factory } from "./IMetamorphicContractFactory__factory"; diff --git a/dist/factories/contracts/Governance/v4-exploit-patch/mock/MockProposals.sol/InitialProposal__factory.d.ts b/dist/factories/contracts/Governance/v4-exploit-patch/mock/MockProposals.sol/InitialProposal__factory.d.ts new file mode 100644 index 0000000..3c29571 --- /dev/null +++ b/dist/factories/contracts/Governance/v4-exploit-patch/mock/MockProposals.sol/InitialProposal__factory.d.ts @@ -0,0 +1,44 @@ +import { ContractFactory, ContractTransactionResponse } from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../../../common"; +import type { InitialProposal, InitialProposalInterface } from "../../../../../../contracts/Governance/v4-exploit-patch/mock/MockProposals.sol/InitialProposal"; +type InitialProposalConstructorParams = [signer?: Signer] | ConstructorParameters; +export declare class InitialProposal__factory extends ContractFactory { + constructor(...args: InitialProposalConstructorParams); + getDeployTransaction(overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + deploy(overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + connect(runner: ContractRunner | null): InitialProposal__factory; + static readonly bytecode = "0x608060405234801561001057600080fd5b5060c08061001f6000396000f3fe6080604052348015600f57600080fd5b506004361060325760003560e01c8063373058b814603757806363a599a414603f575b600080fd5b603d6045565b005b603d607d565b7f2ff532ec74fd1130db9b7b6800e0992b2363095b00331a891a27edfab97c45406001604051607391906081565b60405180910390a1565b6000ff5b9081526020019056fea264697066735822122018779fa63005d6573862657b4a5cd55f75b705b28a7ff69222461665b78f408a64736f6c634300060c0033"; + static readonly abi: readonly [{ + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "num"; + readonly type: "uint256"; + }]; + readonly name: "MockExecuted"; + readonly type: "event"; + }, { + readonly inputs: readonly []; + readonly name: "emergencyStop"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "executeProposal"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }]; + static createInterface(): InitialProposalInterface; + static connect(address: string, runner?: ContractRunner | null): InitialProposal; +} +export {}; diff --git a/dist/factories/contracts/Governance/v4-exploit-patch/mock/MockProposals.sol/MaliciousProposal__factory.d.ts b/dist/factories/contracts/Governance/v4-exploit-patch/mock/MockProposals.sol/MaliciousProposal__factory.d.ts new file mode 100644 index 0000000..59fcad8 --- /dev/null +++ b/dist/factories/contracts/Governance/v4-exploit-patch/mock/MockProposals.sol/MaliciousProposal__factory.d.ts @@ -0,0 +1,58 @@ +import { ContractFactory, ContractTransactionResponse } from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../../../common"; +import type { MaliciousProposal, MaliciousProposalInterface } from "../../../../../../contracts/Governance/v4-exploit-patch/mock/MockProposals.sol/MaliciousProposal"; +type MaliciousProposalConstructorParams = [signer?: Signer] | ConstructorParameters; +export declare class MaliciousProposal__factory extends ContractFactory { + constructor(...args: MaliciousProposalConstructorParams); + getDeployTransaction(overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + deploy(overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + connect(runner: ContractRunner | null): MaliciousProposal__factory; + static readonly bytecode = "0x60a060405234801561001057600080fd5b5033606081901b6080526102746100366000398061012952806101b052506102746000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063373058b81461004657806363a599a414610050578063d5f3948814610058575b600080fd5b61004e610076565b005b61004e6101aa565b6100606101ae565b60405161006d9190610211565b60405180910390f35b6040516370a0823160e01b81527377777feddddffc19ff86db637967013e6c6a116c9060009082906370a08231906100b2903090600401610211565b60206040518083038186803b1580156100ca57600080fd5b505afa1580156100de573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061010291906101f9565b60405163a9059cbb60e01b81529091506001600160a01b0383169063a9059cbb90610153907f0000000000000000000000000000000000000000000000000000000000000000908590600401610225565b602060405180830381600087803b15801561016d57600080fd5b505af1158015610181573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101a591906101d2565b505050565b6000ff5b7f000000000000000000000000000000000000000000000000000000000000000081565b6000602082840312156101e3578081fd5b815180151581146101f2578182fd5b9392505050565b60006020828403121561020a578081fd5b5051919050565b6001600160a01b0391909116815260200190565b6001600160a01b0392909216825260208201526040019056fea2646970667358221220c120adf2a3856eb39e4d2305abf19175fb5f11d87cd96e5c70ce2a9f702ba53664736f6c634300060c0033"; + static readonly abi: readonly [{ + readonly inputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "constructor"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "num"; + readonly type: "uint256"; + }]; + readonly name: "MockExecuted"; + readonly type: "event"; + }, { + readonly inputs: readonly []; + readonly name: "deployer"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "emergencyStop"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "executeProposal"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }]; + static createInterface(): MaliciousProposalInterface; + static connect(address: string, runner?: ContractRunner | null): MaliciousProposal; +} +export {}; diff --git a/dist/factories/contracts/Governance/v4-exploit-patch/mock/MockProposals.sol/index.d.ts b/dist/factories/contracts/Governance/v4-exploit-patch/mock/MockProposals.sol/index.d.ts new file mode 100644 index 0000000..811d455 --- /dev/null +++ b/dist/factories/contracts/Governance/v4-exploit-patch/mock/MockProposals.sol/index.d.ts @@ -0,0 +1,2 @@ +export { InitialProposal__factory } from "./InitialProposal__factory"; +export { MaliciousProposal__factory } from "./MaliciousProposal__factory"; diff --git a/dist/factories/contracts/Governance/v4-exploit-patch/mock/index.d.ts b/dist/factories/contracts/Governance/v4-exploit-patch/mock/index.d.ts new file mode 100644 index 0000000..47657d7 --- /dev/null +++ b/dist/factories/contracts/Governance/v4-exploit-patch/mock/index.d.ts @@ -0,0 +1 @@ +export * as mockProposalsSol from "./MockProposals.sol"; diff --git a/dist/factories/contracts/Governance/v5-proposal-state-patch/GovernanceProposalStateUpgrade__factory.d.ts b/dist/factories/contracts/Governance/v5-proposal-state-patch/GovernanceProposalStateUpgrade__factory.d.ts new file mode 100644 index 0000000..acbfd1b --- /dev/null +++ b/dist/factories/contracts/Governance/v5-proposal-state-patch/GovernanceProposalStateUpgrade__factory.d.ts @@ -0,0 +1,763 @@ +import { ContractFactory, ContractTransactionResponse } from "ethers"; +import type { Signer, AddressLike, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../common"; +import type { GovernanceProposalStateUpgrade, GovernanceProposalStateUpgradeInterface } from "../../../../contracts/Governance/v5-proposal-state-patch/GovernanceProposalStateUpgrade"; +type GovernanceProposalStateUpgradeConstructorParams = [signer?: Signer] | ConstructorParameters; +export declare class GovernanceProposalStateUpgrade__factory extends ContractFactory { + constructor(...args: GovernanceProposalStateUpgradeConstructorParams); + getDeployTransaction(stakingRewardsAddress: AddressLike, gasCompLogic: AddressLike, userVaultAddress: AddressLike, overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + deploy(stakingRewardsAddress: AddressLike, gasCompLogic: AddressLike, userVaultAddress: AddressLike, overrides?: NonPayableOverrides & { + from?: string; + }): Promise; + connect(runner: ContractRunner | null): GovernanceProposalStateUpgrade__factory; + static readonly bytecode = "0x60e06040523480156200001157600080fd5b506040516200344138038062003441833981016040819052620000349162000171565b82828282828281818181600060019054906101000a900460ff16806200005f57506200005f6200012a565b806200006e575060005460ff16155b620000965760405162461bcd60e51b81526004016200008d90620001c4565b60405180910390fd5b600054610100900460ff16158015620000c2576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b03191661dead179055620000e062000130565b8015620000f3576000805461ff00191690555b506001600160601b0319606091821b811660805291811b821660a0529590951b90941660c052506200022b98505050505050505050565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b60008060006060848603121562000186578283fd5b8351620001938162000212565b6020850151909350620001a68162000212565b6040850151909250620001b98162000212565b809150509250925092565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b6001600160a01b03811681146200022857600080fd5b50565b60805160601c60a05160601c60c05160601c6131b36200028e60003980610d1a52806110db52806116ce52806117ff5250806109105280610ed15280610fc9528061164a5280611d745250806110645280611c1d52806124f852506131b36000f3fe6080604052600436106102815760003560e01c80639daafec71161014f578063d6f0948c116100c1578063ea0217cf1161007a578063ea0217cf14610755578063ece40cc114610775578063ef3f8bb114610795578063f0b76892146107b5578063f57df22e146107d5578063fe0d94c1146107ea57610288565b8063d6f0948c14610693578063da35c664146106b3578063e01f5237146106c8578063e23a9a52146106e8578063e4917d9f14610715578063e525aa081461073557610288565b8063b54426c811610113578063b54426c8146105e9578063b859f11b14610609578063c0c0e82014610629578063c4d66de814610649578063ce25d71c14610669578063d6159fe51461067e57610288565b80639daafec714610575578063a6c266031461058a578063a72edda31461059f578063adf898a4146105bf578063b1610d7e146105d457610288565b80635c19a95c116101f357806370b0f660116101ac57806370b0f660146104cb5780638b34a960146104eb57806392ab89bb14610500578063932d5157146105155780639a9e3b6e146105355780639ae697bf1461055557610288565b80635c19a95c146104215780636198e3391461044157806365da126414610461578063671dd275146104815780636a661755146104965780636dc2dc6c146104ab57610288565b806332687ec11161024557806332687ec11461035b57806337f135d7146103885780633e4f49e61461039d57806354fd4d50146103ca578063587a6ecb146103ec57806358e9fff01461040157610288565b8063013cf08b1461028d57806302ec8f9e146102ca57806315373e3d146102ec57806317977c611461030c57806324b0435f1461033957610288565b3661028857005b600080fd5b34801561029957600080fd5b506102ad6102a83660046128e8565b6107fd565b6040516102c19897969594939291906129f4565b60405180910390f35b3480156102d657600080fd5b506102ea6102e53660046128e8565b610862565b005b3480156102f857600080fd5b506102ea61030736600461292c565b61088f565b34801561031857600080fd5b5061032c6103273660046126df565b610992565b6040516102c19190612abd565b34801561034557600080fd5b5061034e6109a4565b6040516102c191906129a3565b34801561036757600080fd5b5061037b6103763660046128e8565b6109bc565b6040516102c19190612ab2565b34801561039457600080fd5b5061032c610a0a565b3480156103a957600080fd5b506103bd6103b83660046128e8565b610a10565b6040516102c19190612ac6565b3480156103d657600080fd5b506103df610b4c565b6040516102c19190612ada565b3480156103f857600080fd5b5061032c610b7c565b34801561040d57600080fd5b5061032c61041c3660046126fa565b610b82565b34801561042d57600080fd5b506102ea61043c3660046126df565b610bd0565b34801561044d57600080fd5b506102ea61045c3660046128e8565b610cf2565b34801561046d57600080fd5b5061034e61047c3660046126df565b610e3f565b34801561048d57600080fd5b5061032c610e5a565b3480156104a257600080fd5b5061032c610e60565b3480156104b757600080fd5b506102ea6104c63660046128e8565b610e66565b3480156104d757600080fd5b506102ea6104e63660046128e8565b610eab565b3480156104f757600080fd5b5061034e610ecf565b34801561050c57600080fd5b506102ea610ef3565b34801561052157600080fd5b506102ea6105303660046128e8565b610f7a565b34801561054157600080fd5b506102ea6105503660046128e8565b61102c565b34801561056157600080fd5b5061032c6105703660046126df565b611050565b34801561058157600080fd5b5061034e611062565b34801561059657600080fd5b5061032c611086565b3480156105ab57600080fd5b5061032c6105ba3660046126df565b61108c565b3480156105cb57600080fd5b5061034e61109e565b3480156105e057600080fd5b5061032c6110ad565b3480156105f557600080fd5b506102ea6106043660046128e8565b6110b3565b34801561061557600080fd5b506102ea610624366004612807565b6111fc565b34801561063557600080fd5b506102ea6106443660046128e8565b61124a565b34801561065557600080fd5b506102ea6106643660046126df565b61126e565b34801561067557600080fd5b5061032c6114b1565b34801561068a57600080fd5b5061032c6114b7565b34801561069f57600080fd5b5061032c6106ae36600461275a565b6114bd565b3480156106bf57600080fd5b5061032c6114d3565b3480156106d457600080fd5b5061032c6106e33660046128e8565b6114dd565b3480156106f457600080fd5b50610708610703366004612900565b6114ef565b6040516102c191906130e2565b34801561072157600080fd5b506102ea6107303660046128e8565b611561565b34801561074157600080fd5b5061037b610750366004612900565b611585565b34801561076157600080fd5b506102ea6107703660046128e8565b6115c8565b34801561078157600080fd5b506102ea6107903660046128e8565b6115ec565b3480156107a157600080fd5b506102ea6107b03660046128e8565b611610565b3480156107c157600080fd5b506102ea6107d03660046127a8565b6116a2565b3480156107e157600080fd5b5061034e6117fd565b6102ea6107f83660046128e8565b611821565b603d818154811061080a57fe5b600091825260209091206008909102018054600182015460028301546003840154600485015460058601546006909601546001600160a01b039586169750949093169491939092919060ff8082169161010090041688565b33301461088a5760405162461bcd60e51b815260040161088190612e50565b60405180910390fd5b603555565b3361089a8333611585565b1580156108ad57506108ab836109bc565b155b3332146108bb5760006108bf565b6152085b61ffff1681156109805760005a90506108d93387876118b3565b60006108f66127106108f0856108f05a8790611ae4565b90611b26565b60405163a99ce80760e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a99ce8079061094790889085906004016129b7565b600060405180830381600087803b15801561096157600080fd5b505af1158015610975573d6000803e3d6000fd5b50505050505061098b565b61098b3386866118b3565b5050505050565b603e6020526000908152604090205481565b73b04e030140b30c27bcdfaafffa98c57d80eda7b490565b6000603554603d83815481106109ce57fe5b906000526020600020906008020160050154603d84815481106109ed57fe5b90600052602060002090600802016004015401101590505b919050565b60335481565b6000610a1a6114d3565b8211158015610a295750600082115b610a455760405162461bcd60e51b815260040161088190612fad565b6000603d8381548110610a5457fe5b906000526020600020906008020190508060020154610a71611b4b565b11610a80576000915050610a05565b8060030154610a8d611b4b565b11610a9c576001915050610a05565b600681015460ff1615610ab3576005915050610a05565b80600501548160040154111580610ad557506035548160050154826004015401105b15610ae4576002915050610a05565b610b036034546108f06033548460030154611b2690919063ffffffff16565b610b0b611b4b565b10610b1a576006915050610a05565b6033546003820154610b2b91611b26565b610b33611b4b565b10610b42576004915050610a05565b6003915050610a05565b60408051808201909152601681527506a5ce0e4dee0dee6c2d85ae6e8c2e8ca5ae0c2e8c6d60531b602082015290565b603a5481565b6001600160a01b038381166000908152603c60205260408120549091163314610bbd5760405162461bcd60e51b81526004016108819061303d565b610bc8848484611b4f565b949350505050565b336000818152603c60205260409020546001600160a01b039081169190831614801590610c0657506001600160a01b0382163014155b8015610c1a57506001600160a01b03821615155b8015610c385750806001600160a01b0316826001600160a01b031614155b610c545760405162461bcd60e51b815260040161088190612e87565b6001600160a01b03811615610c9a576040516001600160a01b0382169033907f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7290600090a35b336000818152603c602052604080822080546001600160a01b0319166001600160a01b03871690811790915590519092917f4bc154dd35d6a5cb9206482ecb473cdbf2473006d6bce728b9cc0741bcc59ea291a35050565b336000818152603b60205260409081902054905163e113335f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163e113335f91610d4f9185916004016129b7565b600060405180830381600087803b158015610d6957600080fd5b505af1925050508015610d7a575060015b610dfd573d808015610da8576040519150601f19603f3d011682016040523d82523d6000602084013e610dad565b606091505b5080604051610dbc9190612987565b604051908190038120906001600160a01b038416907f5a6216e80d86159dc87dcebfe519205477a94005b7d9d6bd313606450a5344f690600090a350610e32565b6040516001600160a01b038216907f9b227b0c1ae308b34f72d4fdf9a1943fa769ff4814933595e7bc5230a117698b90600090a25b610e3b82611b77565b5050565b603c602052600090815260409020546001600160a01b031681565b60355481565b60345481565b333014610e855760405162461bcd60e51b815260040161088190612e50565b6033548110610ea65760405162461bcd60e51b815260040161088190612d74565b603a55565b333014610eca5760405162461bcd60e51b815260040161088190612e50565b603755565b7f000000000000000000000000000000000000000000000000000000000000000081565b336000908152603c60205260409020546001600160a01b031680610f295760405162461bcd60e51b815260040161088190612ff3565b336000818152603c602052604080822080546001600160a01b0319169055516001600160a01b03841692917f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7291a350565b610f826109a4565b6001600160a01b0316336001600160a01b031614610fb25760405162461bcd60e51b815260040161088190612f86565b604051633a08bde160e21b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e822f78490610ffe908490600401612abd565b600060405180830381600087803b15801561101857600080fd5b505af115801561098b573d6000803e3d6000fd5b33301461104b5760405162461bcd60e51b815260040161088190612e50565b603455565b603b6020526000908152604090205481565b7f000000000000000000000000000000000000000000000000000000000000000081565b60365481565b603f6020526000908152604090205481565b6040546001600160a01b031681565b60385481565b336000818152603b60205260409081902054905163e113335f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163e113335f916111109185916004016129b7565b600060405180830381600087803b15801561112a57600080fd5b505af192505050801561113b575060015b6111be573d808015611169576040519150601f19603f3d011682016040523d82523d6000602084013e61116e565b606091505b508060405161117d9190612987565b604051908190038120906001600160a01b038416907f5a6216e80d86159dc87dcebfe519205477a94005b7d9d6bd313606450a5344f690600090a3506111f3565b6040516001600160a01b038216907f9b227b0c1ae308b34f72d4fdf9a1943fa769ff4814933595e7bc5230a117698b90600090a25b610e3b82611c5b565b600083511161121d5760405162461bcd60e51b815260040161088190612e26565b61124583838361122d8633611585565b158015611240575061123e866109bc565b155b611c65565b505050565b3330146112695760405162461bcd60e51b815260040161088190612e50565b603955565b600054610100900460ff16806112875750611287611ea8565b80611295575060005460ff16155b6112b15760405162461bcd60e51b815260040161088190612f38565b600054610100900460ff161580156112dc576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b038085166001600160a01b03199283161783558251610100818101855230825261dead602083019081526000958301868152606084018781526080850188815260a08601898152600160c0880181815260e089018c8152603d80549384018155909c52975160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b16928c169290921790915594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc4860180549190991699169890981790965590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc5830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc682015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc784015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc8830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990910180549351151590920261ff001991151560ff19909416939093171691909117905561149c611eae565b8015610e3b576000805461ff00191690555050565b60395481565b60375481565b60006114ca338484611b4f565b90505b92915050565b603d546000190190565b60416020526000908152604090205481565b6114f76125d9565b603d838154811061150457fe5b600091825260208083206001600160a01b0395909516835260089190910290930160070183526040908190208151606081018352815460ff8082161515835261010090910416151594810194909452600101549083015250919050565b3330146115805760405162461bcd60e51b815260040161088190612e50565b603355565b6000603d838154811061159457fe5b600091825260208083206001600160a01b03861684526007600890930201919091019052604090205460ff16905092915050565b3330146115e75760405162461bcd60e51b815260040161088190612e50565b603855565b33301461160b5760405162461bcd60e51b815260040161088190612e50565b603655565b6116186109a4565b6001600160a01b0316336001600160a01b0316146116485760405162461bcd60e51b815260040161088190612f86565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108fc61167f8347611eef565b6040518115909202916000818181858888f1935050505061169f57600080fd5b50565b6001600160a01b038087166000908152603b60205260409081902054905163e113335f60e01b815288927f0000000000000000000000000000000000000000000000000000000000000000169163e113335f916117039185916004016129b7565b600060405180830381600087803b15801561171d57600080fd5b505af192505050801561172e575060015b6117b1573d80801561175c576040519150601f19603f3d011682016040523d82523d6000602084013e611761565b606091505b50806040516117709190612987565b604051908190038120906001600160a01b038416907f5a6216e80d86159dc87dcebfe519205477a94005b7d9d6bd313606450a5344f690600090a3506117e6565b6040516001600160a01b038216907f9b227b0c1ae308b34f72d4fdf9a1943fa769ff4814933595e7bc5230a117698b90600090a25b6117f4878787878787611f05565b50505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b333014156118415760405162461bcd60e51b815260040161088190612c3d565b6000603d828154811061185057fe5b6000918252602080832060016008909302019182015485845260419091526040909220549092506001600160a01b0390911690813f9081146118a45760405162461bcd60e51b815260040161088190612d1e565b6118ad84611f85565b50505050565b60016118be83610a10565b60068111156118c957fe5b146118e65760405162461bcd60e51b815260040161088190612bf6565b6000603d83815481106118f557fe5b600091825260208083206001600160a01b038816845260076008909302019182018152604080842060058401546004850154603b9094529190942054929450101590806119545760405162461bcd60e51b815260040161088190612ebe565b825460ff16156119a3578254610100900460ff161561198a576001830154600485015461198091611ae4565b60048501556119a3565b6001830154600585015461199d91611ae4565b60058501555b84156119c25760048401546119b89082611b26565b60048501556119d7565b60058401546119d19082611b26565b60058501555b6006840154610100900460ff16158015611a075750603954611a056119fa611b4b565b600387015490611ae4565b105b15611a4b576005840154600485015411158215158114611a495760068501805461ff001916610100179055603a546003860154611a4391611b26565b60038601555b505b8254600160ff19909116811761ff001916610100871515021784558301819055603354603454603a546003870154611a96938b93611a919391926108f092839190611b26565b612117565b841515876001600160a01b0316877f7c2de587c00d75474a0c6c6fa96fd3b45dc974cd4e8a75f712bb84c950dce1b584604051611ad39190612abd565b60405180910390a450505050505050565b60006114ca83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612154565b6000828201838110156114ca5760405162461bcd60e51b815260040161088190612ce7565b4290565b6000611b5c848484612180565b6000818152604160205260409020933f909355509092915050565b336000908152603f6020526040902054611b8f611b4b565b11611bac5760405162461bcd60e51b815260040161088190612db8565b60408051808201825260208082527f476f7665726e616e63653a20696e73756666696369656e742062616c616e636581830152336000908152603b9091529190912054611bfa918390612154565b336000818152603b6020526040908190209290925590516391fe357360e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316916391fe357391610ffe919085906004016129b7565b61169f33826124ce565b3381328214611c75576000611c79565b6152085b61ffff168115611de45760005a905060005b8851811015611d42576000898281518110611ca257fe5b6020908102919091018101516001600160a01b038082166000908152603c90935260409092205490925016331480611ce257506001600160a01b03811633145b611cfe5760405162461bcd60e51b81526004016108819061303d565b861580611d125750611d108982611585565b155b611d2e5760405162461bcd60e51b8152600401610881906130ab565b611d39818a8a6118b3565b50600101611c8b565b506000611d5a6127106108f0856108f05a8790611ae4565b60405163a99ce80760e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a99ce80790611dab90889085906004016129b7565b600060405180830381600087803b158015611dc557600080fd5b505af1158015611dd9573d6000803e3d6000fd5b5050505050506117f4565b60005b8751811015611e9e576000888281518110611dfe57fe5b6020908102919091018101516001600160a01b038082166000908152603c90935260409092205490925016331480611e3e57506001600160a01b03811633145b611e5a5760405162461bcd60e51b81526004016108819061303d565b851580611e6e5750611e6c8882611585565b155b611e8a5760405162461bcd60e51b8152600401610881906130ab565b611e958189896118b3565b50600101611de7565b5050505050505050565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b6000818310611efe57816114ca565b5090919050565b60408054905163d505accf60e01b81526001600160a01b039091169063d505accf90611f4190899030908a908a908a908a908a90600401612a3a565b600060405180830381600087803b158015611f5b57600080fd5b505af1158015611f6f573d6000803e3d6000fd5b50505050611f7d86866124ce565b505050505050565b6004611f9082610a10565b6006811115611f9b57fe5b14611fb85760405162461bcd60e51b815260040161088190612b30565b6000603d8281548110611fc757fe5b600091825260209091206006600890920201908101805460ff191660019081179091558101549091506001600160a01b0316612002816125d3565b61201e5760405162461bcd60e51b815260040161088190612aed565b60408051600481526024810182526020810180516001600160e01b03166306e60b1760e31b17905290516000916060916001600160a01b0385169161206291612987565b600060405180830381855af49150503d806000811461209d576040519150601f19603f3d011682016040523d82523d6000602084013e6120a2565b606091505b5091509150816120e5578051156120cd578060405162461bcd60e51b81526004016108819190612ada565b60405162461bcd60e51b815260040161088190613074565b60405185907f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f90600090a25050505050565b6001600160a01b0382166000908152603f6020526040902054811115610e3b576001600160a01b03919091166000908152603f6020526040902055565b600081848411156121785760405162461bcd60e51b81526004016108819190612ada565b505050900390565b6001600160a01b0383166000908152603b60205260408120546036548110156121bb5760405162461bcd60e51b815260040161088190612c8a565b6121c4846125d3565b6121e05760405162461bcd60e51b815260040161088190612ef5565b6001600160a01b0385166000908152603e6020526040902054801561225257600061220a82610a10565b9050600181600681111561221a57fe5b141580156122345750600081600681111561223157fe5b14155b6122505760405162461bcd60e51b815260040161088190612b7b565b505b60006122626037546108f0611b4b565b9050600061227b60385483611b2690919063ffffffff16565b90506122856125f9565b506040805161010080820183526001600160a01b03808c1683528a8116602084019081529383018681526060840186815260006080860181815260a0870182815260c0880183815260e08901848152603d80546001810182559086528a5160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b166001600160a01b03199384161790559b517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc48d01805491909a1691161790975594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc58a015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc6890155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc788015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc887015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990950180549251151590930261ff001995151560ff199093169290921794909416179055906124376114d3565b82516001600160a01b03166000908152603e60205260409020819055603354603454603a54929350612479928d92611a919290916108f0919082908a90611b26565b896001600160a01b0316817f90ec05050aa23d54ba425e926fe646c318e85825bc400b13a46010abe86eb2f08b87878d6040516124b99493929190612a7b565b60405180910390a39998505050505050505050565b6040805490516323b872dd60e01b81526001600160a01b03909116906323b872dd906125229085907f00000000000000000000000000000000000000000000000000000000000000009086906004016129d0565b602060405180830381600087803b15801561253c57600080fd5b505af1158015612550573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061257491906128cc565b6125905760405162461bcd60e51b815260040161088190612def565b6001600160a01b0382166000908152603b60205260409020546125b39082611b26565b6001600160a01b039092166000908152603b602052604090209190915550565b3b151590565b604080516060810182526000808252602082018190529181019190915290565b60405180610100016040528060006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000151581526020016000151581525090565b80356001600160a01b03811681146114cd57600080fd5b80356114cd8161316f565b600082601f830112612686578081fd5b813567ffffffffffffffff81111561269c578182fd5b6126af601f8201601f1916602001613107565b91508082528360208285010111156126c657600080fd5b8060208401602084013760009082016020015292915050565b6000602082840312156126f0578081fd5b6114ca8383612654565b60008060006060848603121561270e578182fd5b83356127198161315a565b925060208401356127298161315a565b9150604084013567ffffffffffffffff811115612744578182fd5b61275086828701612676565b9150509250925092565b6000806040838503121561276c578182fd5b82356127778161315a565b9150602083013567ffffffffffffffff811115612792578182fd5b61279e85828601612676565b9150509250929050565b60008060008060008060c087890312156127c0578182fd5b6127ca8888612654565b95506020870135945060408701359350606087013560ff811681146127ed578283fd5b9598949750929560808101359460a0909101359350915050565b60008060006060848603121561281b578283fd5b833567ffffffffffffffff80821115612832578485fd5b818601915086601f830112612845578485fd5b813581811115612853578586fd5b60209150818102612865838201613107565b8281528381019085850183870186018c101561287f57898afd5b8996505b848710156128a9576128958c82612654565b835260019690960195918501918501612883565b50975050505085013592506128c39050856040860161266b565b90509250925092565b6000602082840312156128dd578081fd5b81516114ca8161316f565b6000602082840312156128f9578081fd5b5035919050565b60008060408385031215612912578182fd5b823591506129238460208501612654565b90509250929050565b6000806040838503121561293e578182fd5b8235915060208301356129508161316f565b809150509250929050565b6000815180845261297381602086016020860161312e565b601f01601f19169290920160200192915050565b6000825161299981846020870161312e565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03988916815296909716602087015260408601949094526060850192909252608084015260a0830152151560c082015290151560e08201526101000190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b600060018060a01b038616825284602083015283604083015260806060830152612aa8608083018461295b565b9695505050505050565b901515815260200190565b90815260200190565b6020810160078310612ad457fe5b91905290565b6000602082526114ca602083018461295b565b60208082526023908201527f476f7665726e616e63653a3a657865637574653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602b908201527f476f7665726e616e63653a3a657865637574653a20696e76616c69642070726f60408201526a706f73616c20737461746560a81b606082015260800190565b60208082526055908201527f476f7665726e616e63653a3a70726f706f73653a206f6e65206c69766520707260408201527f6f706f73616c207065722070726f706f7365722c20666f756e6420616e20616c6060820152741c9958591e481858dd1a5d99481c1c9bdc1bdcd85b605a1b608082015260a00190565b60208082526027908201527f476f7665726e616e63653a3a5f63617374566f74653a20766f74696e672069736040820152660818db1bdcd95960ca1b606082015260800190565b6020808252602d908201527f476f7665726e616e63653a3a70726f706f73653a2070736575646f2d6578746560408201526c393730b610333ab731ba34b7b760991b606082015260800190565b6020808252603c908201527f476f7665726e616e63653a3a70726f706f73653a2070726f706f73657220766f60408201527f7465732062656c6f772070726f706f73616c207468726573686f6c6400000000606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526036908201527f476f7665726e616e63653a3a70726f706f73653a206d6574616d6f72706869636040820152750818dbdb9d1c9858dd1cc81b9bdd08185b1b1bddd95960521b606082015260800190565b60208082526024908201527f476f7665726e616e63653a20696e636f727265637420766f7465457874656e6460408201526354696d6560e01b606082015260800190565b6020808252601d908201527f476f7665726e616e63653a20746f6b656e7320617265206c6f636b6564000000604082015260600190565b60208082526019908201527f544f524e3a207472616e7366657246726f6d206661696c656400000000000000604082015260600190565b60208082526010908201526f43616e206e6f7420626520656d70747960801b604082015260600190565b60208082526018908201527f476f7665726e616e63653a20756e617574686f72697a65640000000000000000604082015260600190565b6020808252601d908201527f476f7665726e616e63653a20696e76616c69642064656c656761746565000000604082015260600190565b60208082526018908201527f476f7665726e616e63653a2062616c616e636520697320300000000000000000604082015260600190565b60208082526023908201527f476f7665726e616e63653a3a70726f706f73653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252600d908201526c6f6e6c79206d756c746973696760981b604082015260600190565b60208082526026908201527f476f7665726e616e63653a3a73746174653a20696e76616c69642070726f706f6040820152651cd85b081a5960d21b606082015260800190565b6020808252602a908201527f476f7665726e616e63653a20746f6b656e732061726520616c726561647920756040820152691b99195b1959d85d195960b21b606082015260800190565b6020808252601a908201527f476f7665726e616e63653a206e6f7420617574686f72697a6564000000000000604082015260600190565b60208082526019908201527f50726f706f73616c20657865637574696f6e206661696c656400000000000000604082015260600190565b60208082526019908201527f476f7665726e616e63653a20766f74656420616c726561647900000000000000604082015260600190565b8151151581526020808301511515908201526040918201519181019190915260600190565b60405181810167ffffffffffffffff8111828210171561312657600080fd5b604052919050565b60005b83811015613149578181015183820152602001613131565b838111156118ad5750506000910152565b6001600160a01b038116811461169f57600080fd5b801515811461169f57600080fdfea26469706673582212209ae80078297b488112cf4c0eaef3af85f34156332aa7d60065ce1ebb90ab93c264736f6c634300060c0033"; + static readonly abi: readonly [{ + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "stakingRewardsAddress"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "gasCompLogic"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "userVaultAddress"; + readonly type: "address"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "constructor"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "account"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "to"; + readonly type: "address"; + }]; + readonly name: "Delegated"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "uint256"; + readonly name: "id"; + readonly type: "uint256"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "proposer"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "address"; + readonly name: "target"; + readonly type: "address"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "startTime"; + readonly type: "uint256"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "endTime"; + readonly type: "uint256"; + }, { + readonly indexed: false; + readonly internalType: "string"; + readonly name: "description"; + readonly type: "string"; + }]; + readonly name: "ProposalCreated"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }]; + readonly name: "ProposalExecuted"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "account"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "bytes"; + readonly name: "errorData"; + readonly type: "bytes"; + }]; + readonly name: "RewardUpdateFailed"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "account"; + readonly type: "address"; + }]; + readonly name: "RewardUpdateSuccessful"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "address"; + readonly name: "account"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "from"; + readonly type: "address"; + }]; + readonly name: "Undelegated"; + readonly type: "event"; + }, { + readonly anonymous: false; + readonly inputs: readonly [{ + readonly indexed: true; + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }, { + readonly indexed: true; + readonly internalType: "address"; + readonly name: "voter"; + readonly type: "address"; + }, { + readonly indexed: true; + readonly internalType: "bool"; + readonly name: "support"; + readonly type: "bool"; + }, { + readonly indexed: false; + readonly internalType: "uint256"; + readonly name: "votes"; + readonly type: "uint256"; + }]; + readonly name: "Voted"; + readonly type: "event"; + }, { + readonly inputs: readonly []; + readonly name: "CLOSING_PERIOD"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "EXECUTION_DELAY"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "EXECUTION_EXPIRATION"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "PROPOSAL_THRESHOLD"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "QUORUM_VOTES"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "Staking"; + readonly outputs: readonly [{ + readonly internalType: "contract ITornadoStakingRewards"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "VOTE_EXTEND_TIME"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "VOTING_DELAY"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "VOTING_PERIOD"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly name: "canWithdrawAfter"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address[]"; + readonly name: "from"; + readonly type: "address[]"; + }, { + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }, { + readonly internalType: "bool"; + readonly name: "support"; + readonly type: "bool"; + }]; + readonly name: "castDelegatedVote"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }, { + readonly internalType: "bool"; + readonly name: "support"; + readonly type: "bool"; + }]; + readonly name: "castVote"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }]; + readonly name: "checkIfQuorumReached"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "to"; + readonly type: "address"; + }]; + readonly name: "delegate"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly name: "delegatedTo"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }]; + readonly name: "execute"; + readonly outputs: readonly []; + readonly stateMutability: "payable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "gasCompensationVault"; + readonly outputs: readonly [{ + readonly internalType: "contract IGasCompensationVault"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }, { + readonly internalType: "address"; + readonly name: "voter"; + readonly type: "address"; + }]; + readonly name: "getReceipt"; + readonly outputs: readonly [{ + readonly components: readonly [{ + readonly internalType: "bool"; + readonly name: "hasVoted"; + readonly type: "bool"; + }, { + readonly internalType: "bool"; + readonly name: "support"; + readonly type: "bool"; + }, { + readonly internalType: "uint256"; + readonly name: "votes"; + readonly type: "uint256"; + }]; + readonly internalType: "struct Governance.Receipt"; + readonly name: ""; + readonly type: "tuple"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }, { + readonly internalType: "address"; + readonly name: "account"; + readonly type: "address"; + }]; + readonly name: "hasAccountVoted"; + readonly outputs: readonly [{ + readonly internalType: "bool"; + readonly name: ""; + readonly type: "bool"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "_torn"; + readonly type: "address"; + }]; + readonly name: "initialize"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly name: "latestProposalIds"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "owner"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "deadline"; + readonly type: "uint256"; + }, { + readonly internalType: "uint8"; + readonly name: "v"; + readonly type: "uint8"; + }, { + readonly internalType: "bytes32"; + readonly name: "r"; + readonly type: "bytes32"; + }, { + readonly internalType: "bytes32"; + readonly name: "s"; + readonly type: "bytes32"; + }]; + readonly name: "lock"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "lockWithApproval"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly name: "lockedBalance"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly name: "proposalCodehashes"; + readonly outputs: readonly [{ + readonly internalType: "bytes32"; + readonly name: ""; + readonly type: "bytes32"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "proposalCount"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly name: "proposals"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: "proposer"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "target"; + readonly type: "address"; + }, { + readonly internalType: "uint256"; + readonly name: "startTime"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "endTime"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "forVotes"; + readonly type: "uint256"; + }, { + readonly internalType: "uint256"; + readonly name: "againstVotes"; + readonly type: "uint256"; + }, { + readonly internalType: "bool"; + readonly name: "executed"; + readonly type: "bool"; + }, { + readonly internalType: "bool"; + readonly name: "extended"; + readonly type: "bool"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "target"; + readonly type: "address"; + }, { + readonly internalType: "string"; + readonly name: "description"; + readonly type: "string"; + }]; + readonly name: "propose"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "address"; + readonly name: "from"; + readonly type: "address"; + }, { + readonly internalType: "address"; + readonly name: "target"; + readonly type: "address"; + }, { + readonly internalType: "string"; + readonly name: "description"; + readonly type: "string"; + }]; + readonly name: "proposeByDelegate"; + readonly outputs: readonly [{ + readonly internalType: "uint256"; + readonly name: ""; + readonly type: "uint256"; + }]; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "returnMultisigAddress"; + readonly outputs: readonly [{ + readonly internalType: "address"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "pure"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "closingPeriod"; + readonly type: "uint256"; + }]; + readonly name: "setClosingPeriod"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "executionDelay"; + readonly type: "uint256"; + }]; + readonly name: "setExecutionDelay"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "executionExpiration"; + readonly type: "uint256"; + }]; + readonly name: "setExecutionExpiration"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "gasCompensationsLimit"; + readonly type: "uint256"; + }]; + readonly name: "setGasCompensations"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "proposalThreshold"; + readonly type: "uint256"; + }]; + readonly name: "setProposalThreshold"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "quorumVotes"; + readonly type: "uint256"; + }]; + readonly name: "setQuorumVotes"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "voteExtendTime"; + readonly type: "uint256"; + }]; + readonly name: "setVoteExtendTime"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "votingDelay"; + readonly type: "uint256"; + }]; + readonly name: "setVotingDelay"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "votingPeriod"; + readonly type: "uint256"; + }]; + readonly name: "setVotingPeriod"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "proposalId"; + readonly type: "uint256"; + }]; + readonly name: "state"; + readonly outputs: readonly [{ + readonly internalType: "enum Governance.ProposalState"; + readonly name: ""; + readonly type: "uint8"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "torn"; + readonly outputs: readonly [{ + readonly internalType: "contract TORN"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "undelegate"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "unlock"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "userVault"; + readonly outputs: readonly [{ + readonly internalType: "contract ITornadoVault"; + readonly name: ""; + readonly type: "address"; + }]; + readonly stateMutability: "view"; + readonly type: "function"; + }, { + readonly inputs: readonly []; + readonly name: "version"; + readonly outputs: readonly [{ + readonly internalType: "string"; + readonly name: ""; + readonly type: "string"; + }]; + readonly stateMutability: "pure"; + readonly type: "function"; + }, { + readonly inputs: readonly [{ + readonly internalType: "uint256"; + readonly name: "amount"; + readonly type: "uint256"; + }]; + readonly name: "withdrawFromHelper"; + readonly outputs: readonly []; + readonly stateMutability: "nonpayable"; + readonly type: "function"; + }, { + readonly stateMutability: "payable"; + readonly type: "receive"; + }]; + static createInterface(): GovernanceProposalStateUpgradeInterface; + static connect(address: string, runner?: ContractRunner | null): GovernanceProposalStateUpgrade; +} +export {}; diff --git a/dist/factories/contracts/Governance/v5-proposal-state-patch/index.d.ts b/dist/factories/contracts/Governance/v5-proposal-state-patch/index.d.ts new file mode 100644 index 0000000..fc5fd3f --- /dev/null +++ b/dist/factories/contracts/Governance/v5-proposal-state-patch/index.d.ts @@ -0,0 +1 @@ +export { GovernanceProposalStateUpgrade__factory } from "./GovernanceProposalStateUpgrade__factory"; diff --git a/dist/factories/contracts/index.d.ts b/dist/factories/contracts/index.d.ts new file mode 100644 index 0000000..51c3dc9 --- /dev/null +++ b/dist/factories/contracts/index.d.ts @@ -0,0 +1,2 @@ +export * as classic from "./Classic"; +export * as governance from "./Governance"; diff --git a/dist/factories/index.d.ts b/dist/factories/index.d.ts new file mode 100644 index 0000000..1805c85 --- /dev/null +++ b/dist/factories/index.d.ts @@ -0,0 +1,2 @@ +export * as openzeppelin from "./@openzeppelin"; +export * as contracts from "./contracts"; diff --git a/dist/index.d.ts b/dist/index.d.ts new file mode 100644 index 0000000..7ea67e9 --- /dev/null +++ b/dist/index.d.ts @@ -0,0 +1,207 @@ +import type * as openzeppelin from "./@openzeppelin"; +export type { openzeppelin }; +import type * as contracts from "./contracts"; +export type { contracts }; +export * as factories from "./factories"; +export type { Ownable } from "./@openzeppelin/contracts-v3/access/Ownable"; +export { Ownable__factory } from "./factories/@openzeppelin/contracts-v3/access/Ownable__factory"; +export type { Proxy } from "./@openzeppelin/contracts-v3/proxy/Proxy"; +export { Proxy__factory } from "./factories/@openzeppelin/contracts-v3/proxy/Proxy__factory"; +export type { TransparentUpgradeableProxy } from "./@openzeppelin/contracts-v3/proxy/TransparentUpgradeableProxy"; +export { TransparentUpgradeableProxy__factory } from "./factories/@openzeppelin/contracts-v3/proxy/TransparentUpgradeableProxy__factory"; +export type { UpgradeableProxy } from "./@openzeppelin/contracts-v3/proxy/UpgradeableProxy"; +export { UpgradeableProxy__factory } from "./factories/@openzeppelin/contracts-v3/proxy/UpgradeableProxy__factory"; +export type { ERC20 } from "./@openzeppelin/contracts-v3/token/ERC20/ERC20"; +export { ERC20__factory } from "./factories/@openzeppelin/contracts-v3/token/ERC20/ERC20__factory"; +export type { ERC20Burnable } from "./@openzeppelin/contracts-v3/token/ERC20/ERC20Burnable"; +export { ERC20Burnable__factory } from "./factories/@openzeppelin/contracts-v3/token/ERC20/ERC20Burnable__factory"; +export type { IERC20 } from "./@openzeppelin/contracts-v3/token/ERC20/IERC20"; +export { IERC20__factory } from "./factories/@openzeppelin/contracts-v3/token/ERC20/IERC20__factory"; +export type { Pausable } from "./@openzeppelin/contracts-v3/utils/Pausable"; +export { Pausable__factory } from "./factories/@openzeppelin/contracts-v3/utils/Pausable__factory"; +export type { IERC1155Errors } from "./@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors"; +export { IERC1155Errors__factory } from "./factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors__factory"; +export type { IERC20Errors } from "./@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC20Errors"; +export { IERC20Errors__factory } from "./factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC20Errors__factory"; +export type { IERC721Errors } from "./@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC721Errors"; +export { IERC721Errors__factory } from "./factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC721Errors__factory"; +export type { IERC20Metadata } from "./@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata"; +export { IERC20Metadata__factory } from "./factories/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata__factory"; +export type { CTornado } from "./contracts/Classic/CTornado"; +export { CTornado__factory } from "./factories/contracts/Classic/CTornado__factory"; +export type { Echoer } from "./contracts/Classic/Echoer"; +export { Echoer__factory } from "./factories/contracts/Classic/Echoer__factory"; +export type { ERC20Tornado } from "./contracts/Classic/ERC20Tornado"; +export { ERC20Tornado__factory } from "./factories/contracts/Classic/ERC20Tornado__factory"; +export type { ETHTornado } from "./contracts/Classic/ETHTornado"; +export { ETHTornado__factory } from "./factories/contracts/Classic/ETHTornado__factory"; +export type { IHasher } from "./contracts/Classic/MerkleTreeWithHistory.sol/IHasher"; +export { IHasher__factory } from "./factories/contracts/Classic/MerkleTreeWithHistory.sol/IHasher__factory"; +export type { MerkleTreeWithHistory } from "./contracts/Classic/MerkleTreeWithHistory.sol/MerkleTreeWithHistory"; +export { MerkleTreeWithHistory__factory } from "./factories/contracts/Classic/MerkleTreeWithHistory.sol/MerkleTreeWithHistory__factory"; +export type { BadRecipient } from "./contracts/Classic/Mocks/BadRecipient"; +export { BadRecipient__factory } from "./factories/contracts/Classic/Mocks/BadRecipient__factory"; +export type { ERC20Mock } from "./contracts/Classic/Mocks/ERC20Mock"; +export { ERC20Mock__factory } from "./factories/contracts/Classic/Mocks/ERC20Mock__factory"; +export type { IDeployer } from "./contracts/Classic/Mocks/IDeployer"; +export { IDeployer__factory } from "./factories/contracts/Classic/Mocks/IDeployer__factory"; +export type { ERC20Basic } from "./contracts/Classic/Mocks/IUSDT.sol/ERC20Basic"; +export { ERC20Basic__factory } from "./factories/contracts/Classic/Mocks/IUSDT.sol/ERC20Basic__factory"; +export type { IUSDT } from "./contracts/Classic/Mocks/IUSDT.sol/IUSDT"; +export { IUSDT__factory } from "./factories/contracts/Classic/Mocks/IUSDT.sol/IUSDT__factory"; +export type { MerkleTreeWithHistoryMock } from "./contracts/Classic/Mocks/MerkleTreeWithHistoryMock"; +export { MerkleTreeWithHistoryMock__factory } from "./factories/contracts/Classic/Mocks/MerkleTreeWithHistoryMock__factory"; +export type { IVerifier } from "./contracts/Classic/Tornado.sol/IVerifier"; +export { IVerifier__factory } from "./factories/contracts/Classic/Tornado.sol/IVerifier__factory"; +export type { Tornado } from "./contracts/Classic/Tornado.sol/Tornado"; +export { Tornado__factory } from "./factories/contracts/Classic/Tornado.sol/Tornado__factory"; +export type { ITornadoInstance } from "./contracts/Classic/TornadoProxyLight.sol/ITornadoInstance"; +export { ITornadoInstance__factory } from "./factories/contracts/Classic/TornadoProxyLight.sol/ITornadoInstance__factory"; +export type { TornadoProxyLight } from "./contracts/Classic/TornadoProxyLight.sol/TornadoProxyLight"; +export { TornadoProxyLight__factory } from "./factories/contracts/Classic/TornadoProxyLight.sol/TornadoProxyLight__factory"; +export type { Verifier } from "./contracts/Classic/Verifier"; +export { Verifier__factory } from "./factories/contracts/Classic/Verifier__factory"; +export type { AdminUpgradeableProxy } from "./contracts/Governance/AdminUpgradeableProxy"; +export { AdminUpgradeableProxy__factory } from "./factories/contracts/Governance/AdminUpgradeableProxy__factory"; +export type { Aggregator } from "./contracts/Governance/Aggregator/Aggregator"; +export { Aggregator__factory } from "./factories/contracts/Governance/Aggregator/Aggregator__factory"; +export type { GovernanceAggregator } from "./contracts/Governance/Aggregator/GovernanceAggregator"; +export { GovernanceAggregator__factory } from "./factories/contracts/Governance/Aggregator/GovernanceAggregator__factory"; +export type { IENSRegistry } from "./contracts/Governance/Aggregator/RelayerAggregator.sol/IENSRegistry"; +export { IENSRegistry__factory } from "./factories/contracts/Governance/Aggregator/RelayerAggregator.sol/IENSRegistry__factory"; +export type { IENSResolver } from "./contracts/Governance/Aggregator/RelayerAggregator.sol/IENSResolver"; +export { IENSResolver__factory } from "./factories/contracts/Governance/Aggregator/RelayerAggregator.sol/IENSResolver__factory"; +export type { IRelayerRegistry } from "./contracts/Governance/Aggregator/RelayerAggregator.sol/IRelayerRegistry"; +export { IRelayerRegistry__factory } from "./factories/contracts/Governance/Aggregator/RelayerAggregator.sol/IRelayerRegistry__factory"; +export type { RelayerAggregator } from "./contracts/Governance/Aggregator/RelayerAggregator.sol/RelayerAggregator"; +export { RelayerAggregator__factory } from "./factories/contracts/Governance/Aggregator/RelayerAggregator.sol/RelayerAggregator__factory"; +export type { Deployer } from "./contracts/Governance/Deployer.sol/Deployer"; +export { Deployer__factory } from "./factories/contracts/Governance/Deployer.sol/Deployer__factory"; +export type { FeeManager } from "./contracts/Governance/FeeManager"; +export { FeeManager__factory } from "./factories/contracts/Governance/FeeManager__factory"; +export type { GasCompensationVault } from "./contracts/Governance/GasCompensationVault"; +export { GasCompensationVault__factory } from "./factories/contracts/Governance/GasCompensationVault__factory"; +export type { InstanceRegistry } from "./contracts/Governance/InstanceRegistry.sol/InstanceRegistry"; +export { InstanceRegistry__factory } from "./factories/contracts/Governance/InstanceRegistry.sol/InstanceRegistry__factory"; +export type { ITornadoRouter } from "./contracts/Governance/InstanceRegistry.sol/ITornadoRouter"; +export { ITornadoRouter__factory } from "./factories/contracts/Governance/InstanceRegistry.sol/ITornadoRouter__factory"; +export type { IERC20Decimals } from "./contracts/Governance/libraries/UniswapV3OracleHelper.sol/IERC20Decimals"; +export { IERC20Decimals__factory } from "./factories/contracts/Governance/libraries/UniswapV3OracleHelper.sol/IERC20Decimals__factory"; +export type { LoopbackProxy } from "./contracts/Governance/LoopbackProxy"; +export { LoopbackProxy__factory } from "./factories/contracts/Governance/LoopbackProxy__factory"; +export type { IENS } from "./contracts/Governance/RelayerRegistry.sol/IENS"; +export { IENS__factory } from "./factories/contracts/Governance/RelayerRegistry.sol/IENS__factory"; +export type { IFeeManager } from "./contracts/Governance/RelayerRegistry.sol/IFeeManager"; +export { IFeeManager__factory } from "./factories/contracts/Governance/RelayerRegistry.sol/IFeeManager__factory"; +export type { RelayerRegistry } from "./contracts/Governance/RelayerRegistry.sol/RelayerRegistry"; +export { RelayerRegistry__factory } from "./factories/contracts/Governance/RelayerRegistry.sol/RelayerRegistry__factory"; +export type { TestnetAdminProxy } from "./contracts/Governance/Testnet/TestnetAdminProxy"; +export { TestnetAdminProxy__factory } from "./factories/contracts/Governance/Testnet/TestnetAdminProxy__factory"; +export type { TestnetFeeManager } from "./contracts/Governance/Testnet/TestnetFeeManager"; +export { TestnetFeeManager__factory } from "./factories/contracts/Governance/Testnet/TestnetFeeManager__factory"; +export type { TestnetGovernanceProxy } from "./contracts/Governance/Testnet/TestnetGovernanceProxy"; +export { TestnetGovernanceProxy__factory } from "./factories/contracts/Governance/Testnet/TestnetGovernanceProxy__factory"; +export type { Airdrop } from "./contracts/Governance/TORN/Airdrop"; +export { Airdrop__factory } from "./factories/contracts/Governance/TORN/Airdrop__factory"; +export type { ENS } from "./contracts/Governance/TORN/ENS.sol/ENS"; +export { ENS__factory } from "./factories/contracts/Governance/TORN/ENS.sol/ENS__factory"; +export type { EnsResolve } from "./contracts/Governance/TORN/ENS.sol/EnsResolve"; +export { EnsResolve__factory } from "./factories/contracts/Governance/TORN/ENS.sol/EnsResolve__factory"; +export type { Resolver } from "./contracts/Governance/TORN/ENS.sol/Resolver"; +export { Resolver__factory } from "./factories/contracts/Governance/TORN/ENS.sol/Resolver__factory"; +export type { ERC20Permit } from "./contracts/Governance/TORN/ERC20Permit"; +export { ERC20Permit__factory } from "./factories/contracts/Governance/TORN/ERC20Permit__factory"; +export type { AirdropMock } from "./contracts/Governance/TORN/mocks/AirdropMock"; +export { AirdropMock__factory } from "./factories/contracts/Governance/TORN/mocks/AirdropMock__factory"; +export type { ENSMock } from "./contracts/Governance/TORN/mocks/ENSMock"; +export { ENSMock__factory } from "./factories/contracts/Governance/TORN/mocks/ENSMock__factory"; +export type { Timestamp } from "./contracts/Governance/TORN/mocks/Timestamp"; +export { Timestamp__factory } from "./factories/contracts/Governance/TORN/mocks/Timestamp__factory"; +export type { TORNMock } from "./contracts/Governance/TORN/mocks/TORNMock"; +export { TORNMock__factory } from "./factories/contracts/Governance/TORN/mocks/TORNMock__factory"; +export type { VestingMock } from "./contracts/Governance/TORN/mocks/VestingMock"; +export { VestingMock__factory } from "./factories/contracts/Governance/TORN/mocks/VestingMock__factory"; +export type { VoucherMock } from "./contracts/Governance/TORN/mocks/VoucherMock"; +export { VoucherMock__factory } from "./factories/contracts/Governance/TORN/mocks/VoucherMock__factory"; +export type { TORN } from "./contracts/Governance/TORN/TORN"; +export { TORN__factory } from "./factories/contracts/Governance/TORN/TORN__factory"; +export type { Vesting } from "./contracts/Governance/TORN/Vesting"; +export { Vesting__factory } from "./factories/contracts/Governance/TORN/Vesting__factory"; +export type { Voucher } from "./contracts/Governance/TORN/Voucher"; +export { Voucher__factory } from "./factories/contracts/Governance/TORN/Voucher__factory"; +export type { TornadoRouter } from "./contracts/Governance/TornadoRouter"; +export { TornadoRouter__factory } from "./factories/contracts/Governance/TornadoRouter__factory"; +export type { ITornadoGovernance } from "./contracts/Governance/TornadoStakingRewards.sol/ITornadoGovernance"; +export { ITornadoGovernance__factory } from "./factories/contracts/Governance/TornadoStakingRewards.sol/ITornadoGovernance__factory"; +export type { ITornadoVault } from "./contracts/Governance/TornadoStakingRewards.sol/ITornadoVault"; +export { ITornadoVault__factory } from "./factories/contracts/Governance/TornadoStakingRewards.sol/ITornadoVault__factory"; +export type { TornadoStakingRewards } from "./contracts/Governance/TornadoStakingRewards.sol/TornadoStakingRewards"; +export { TornadoStakingRewards__factory } from "./factories/contracts/Governance/TornadoStakingRewards.sol/TornadoStakingRewards__factory"; +export type { TornadoVault } from "./contracts/Governance/TornadoVault"; +export { TornadoVault__factory } from "./factories/contracts/Governance/TornadoVault__factory"; +export type { IUniswapV3Factory } from "./contracts/Governance/Uniswap/v3-core/contracts/interfaces/IUniswapV3Factory"; +export { IUniswapV3Factory__factory } from "./factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/IUniswapV3Factory__factory"; +export type { IUniswapV3Pool } from "./contracts/Governance/Uniswap/v3-core/contracts/interfaces/IUniswapV3Pool"; +export { IUniswapV3Pool__factory } from "./factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/IUniswapV3Pool__factory"; +export type { IUniswapV3PoolActions } from "./contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions"; +export { IUniswapV3PoolActions__factory } from "./factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions__factory"; +export type { IUniswapV3PoolDerivedState } from "./contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState"; +export { IUniswapV3PoolDerivedState__factory } from "./factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState__factory"; +export type { IUniswapV3PoolEvents } from "./contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents"; +export { IUniswapV3PoolEvents__factory } from "./factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents__factory"; +export type { IUniswapV3PoolImmutables } from "./contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables"; +export { IUniswapV3PoolImmutables__factory } from "./factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables__factory"; +export type { IUniswapV3PoolOwnerActions } from "./contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions"; +export { IUniswapV3PoolOwnerActions__factory } from "./factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions__factory"; +export type { IUniswapV3PoolState } from "./contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolState"; +export { IUniswapV3PoolState__factory } from "./factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolState__factory"; +export type { Configuration } from "./contracts/Governance/v1/Configuration"; +export { Configuration__factory } from "./factories/contracts/Governance/v1/Configuration__factory"; +export type { Core } from "./contracts/Governance/v1/Core"; +export { Core__factory } from "./factories/contracts/Governance/v1/Core__factory"; +export type { Delegation } from "./contracts/Governance/v1/Delegation"; +export { Delegation__factory } from "./factories/contracts/Governance/v1/Delegation__factory"; +export type { Governance } from "./contracts/Governance/v1/Governance"; +export { Governance__factory } from "./factories/contracts/Governance/v1/Governance__factory"; +export type { Dummy } from "./contracts/Governance/v1/Mocks/Dummy.sol/Dummy"; +export { Dummy__factory } from "./factories/contracts/Governance/v1/Mocks/Dummy.sol/Dummy__factory"; +export type { DummySecond } from "./contracts/Governance/v1/Mocks/Dummy.sol/DummySecond"; +export { DummySecond__factory } from "./factories/contracts/Governance/v1/Mocks/Dummy.sol/DummySecond__factory"; +export type { MockGovernance } from "./contracts/Governance/v1/Mocks/MockGovernance"; +export { MockGovernance__factory } from "./factories/contracts/Governance/v1/Mocks/MockGovernance__factory"; +export type { Proposal } from "./contracts/Governance/v1/Mocks/Proposal"; +export { Proposal__factory } from "./factories/contracts/Governance/v1/Mocks/Proposal__factory"; +export type { IGovernance } from "./contracts/Governance/v1/Mocks/ProposalStateChangeGovernance.sol/IGovernance"; +export { IGovernance__factory } from "./factories/contracts/Governance/v1/Mocks/ProposalStateChangeGovernance.sol/IGovernance__factory"; +export type { ProposalStateChangeGovernance } from "./contracts/Governance/v1/Mocks/ProposalStateChangeGovernance.sol/ProposalStateChangeGovernance"; +export { ProposalStateChangeGovernance__factory } from "./factories/contracts/Governance/v1/Mocks/ProposalStateChangeGovernance.sol/ProposalStateChangeGovernance__factory"; +export type { IProxy } from "./contracts/Governance/v1/Mocks/ProposalUpgrade.sol/IProxy"; +export { IProxy__factory } from "./factories/contracts/Governance/v1/Mocks/ProposalUpgrade.sol/IProxy__factory"; +export type { NewImplementation } from "./contracts/Governance/v1/Mocks/ProposalUpgrade.sol/NewImplementation"; +export { NewImplementation__factory } from "./factories/contracts/Governance/v1/Mocks/ProposalUpgrade.sol/NewImplementation__factory"; +export type { ProposalUpgrade } from "./contracts/Governance/v1/Mocks/ProposalUpgrade.sol/ProposalUpgrade"; +export { ProposalUpgrade__factory } from "./factories/contracts/Governance/v1/Mocks/ProposalUpgrade.sol/ProposalUpgrade__factory"; +export type { GasCompensator } from "./contracts/Governance/v2-vault-and-gas/GasCompensator.sol/GasCompensator"; +export { GasCompensator__factory } from "./factories/contracts/Governance/v2-vault-and-gas/GasCompensator.sol/GasCompensator__factory"; +export type { IGasCompensationVault } from "./contracts/Governance/v2-vault-and-gas/GasCompensator.sol/IGasCompensationVault"; +export { IGasCompensationVault__factory } from "./factories/contracts/Governance/v2-vault-and-gas/GasCompensator.sol/IGasCompensationVault__factory"; +export type { GovernanceGasUpgrade } from "./contracts/Governance/v2-vault-and-gas/GovernanceGasUpgrade"; +export { GovernanceGasUpgrade__factory } from "./factories/contracts/Governance/v2-vault-and-gas/GovernanceGasUpgrade__factory"; +export type { GovernanceVaultUpgrade } from "./contracts/Governance/v2-vault-and-gas/GovernanceVaultUpgrade"; +export { GovernanceVaultUpgrade__factory } from "./factories/contracts/Governance/v2-vault-and-gas/GovernanceVaultUpgrade__factory"; +export type { GovernanceStakingUpgrade } from "./contracts/Governance/v3-relayer-registry/GovernanceStakingUpgrade"; +export { GovernanceStakingUpgrade__factory } from "./factories/contracts/Governance/v3-relayer-registry/GovernanceStakingUpgrade__factory"; +export type { ITornadoStakingRewards } from "./contracts/Governance/v3-relayer-registry/interfaces/ITornadoStakingRewards"; +export { ITornadoStakingRewards__factory } from "./factories/contracts/Governance/v3-relayer-registry/interfaces/ITornadoStakingRewards__factory"; +export type { GovernanceExploitPatchUpgrade } from "./contracts/Governance/v4-exploit-patch/GovernanceExploitPatchUpgrade"; +export { GovernanceExploitPatchUpgrade__factory } from "./factories/contracts/Governance/v4-exploit-patch/GovernanceExploitPatchUpgrade__factory"; +export type { IMetamorphicContractFactory } from "./contracts/Governance/v4-exploit-patch/metamorphic/IMetamorphicContractFactory"; +export { IMetamorphicContractFactory__factory } from "./factories/contracts/Governance/v4-exploit-patch/metamorphic/IMetamorphicContractFactory__factory"; +export type { InitialProposal } from "./contracts/Governance/v4-exploit-patch/mock/MockProposals.sol/InitialProposal"; +export { InitialProposal__factory } from "./factories/contracts/Governance/v4-exploit-patch/mock/MockProposals.sol/InitialProposal__factory"; +export type { MaliciousProposal } from "./contracts/Governance/v4-exploit-patch/mock/MockProposals.sol/MaliciousProposal"; +export { MaliciousProposal__factory } from "./factories/contracts/Governance/v4-exploit-patch/mock/MockProposals.sol/MaliciousProposal__factory"; +export type { PatchProposal } from "./contracts/Governance/v4-exploit-patch/PatchProposal"; +export { PatchProposal__factory } from "./factories/contracts/Governance/v4-exploit-patch/PatchProposal__factory"; +export type { GovernanceProposalStateUpgrade } from "./contracts/Governance/v5-proposal-state-patch/GovernanceProposalStateUpgrade"; +export { GovernanceProposalStateUpgrade__factory } from "./factories/contracts/Governance/v5-proposal-state-patch/GovernanceProposalStateUpgrade__factory"; diff --git a/dist/index.js b/dist/index.js new file mode 100644 index 0000000..4c69b32 --- /dev/null +++ b/dist/index.js @@ -0,0 +1,26037 @@ +'use strict'; + +var ethers = require('ethers'); + +const _abi$1H = [ + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "uint256", + name: "balance", + type: "uint256" + }, + { + internalType: "uint256", + name: "needed", + type: "uint256" + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256" + } + ], + name: "ERC1155InsufficientBalance", + type: "error" + }, + { + inputs: [ + { + internalType: "address", + name: "approver", + type: "address" + } + ], + name: "ERC1155InvalidApprover", + type: "error" + }, + { + inputs: [ + { + internalType: "uint256", + name: "idsLength", + type: "uint256" + }, + { + internalType: "uint256", + name: "valuesLength", + type: "uint256" + } + ], + name: "ERC1155InvalidArrayLength", + type: "error" + }, + { + inputs: [ + { + internalType: "address", + name: "operator", + type: "address" + } + ], + name: "ERC1155InvalidOperator", + type: "error" + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address" + } + ], + name: "ERC1155InvalidReceiver", + type: "error" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + } + ], + name: "ERC1155InvalidSender", + type: "error" + }, + { + inputs: [ + { + internalType: "address", + name: "operator", + type: "address" + }, + { + internalType: "address", + name: "owner", + type: "address" + } + ], + name: "ERC1155MissingApprovalForAll", + type: "error" + } +]; +class IERC1155Errors__factory { + static createInterface() { + return new ethers.Interface(_abi$1H); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$1H, runner); + } +} +IERC1155Errors__factory.abi = _abi$1H; + +const _abi$1G = [ + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "allowance", + type: "uint256" + }, + { + internalType: "uint256", + name: "needed", + type: "uint256" + } + ], + name: "ERC20InsufficientAllowance", + type: "error" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "uint256", + name: "balance", + type: "uint256" + }, + { + internalType: "uint256", + name: "needed", + type: "uint256" + } + ], + name: "ERC20InsufficientBalance", + type: "error" + }, + { + inputs: [ + { + internalType: "address", + name: "approver", + type: "address" + } + ], + name: "ERC20InvalidApprover", + type: "error" + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address" + } + ], + name: "ERC20InvalidReceiver", + type: "error" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + } + ], + name: "ERC20InvalidSender", + type: "error" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "ERC20InvalidSpender", + type: "error" + } +]; +class IERC20Errors__factory { + static createInterface() { + return new ethers.Interface(_abi$1G); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$1G, runner); + } +} +IERC20Errors__factory.abi = _abi$1G; + +const _abi$1F = [ + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256" + }, + { + internalType: "address", + name: "owner", + type: "address" + } + ], + name: "ERC721IncorrectOwner", + type: "error" + }, + { + inputs: [ + { + internalType: "address", + name: "operator", + type: "address" + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256" + } + ], + name: "ERC721InsufficientApproval", + type: "error" + }, + { + inputs: [ + { + internalType: "address", + name: "approver", + type: "address" + } + ], + name: "ERC721InvalidApprover", + type: "error" + }, + { + inputs: [ + { + internalType: "address", + name: "operator", + type: "address" + } + ], + name: "ERC721InvalidOperator", + type: "error" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + } + ], + name: "ERC721InvalidOwner", + type: "error" + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address" + } + ], + name: "ERC721InvalidReceiver", + type: "error" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + } + ], + name: "ERC721InvalidSender", + type: "error" + }, + { + inputs: [ + { + internalType: "uint256", + name: "tokenId", + type: "uint256" + } + ], + name: "ERC721NonexistentToken", + type: "error" + } +]; +class IERC721Errors__factory { + static createInterface() { + return new ethers.Interface(_abi$1F); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$1F, runner); + } +} +IERC721Errors__factory.abi = _abi$1F; + +var index$T = /*#__PURE__*/Object.freeze({ + __proto__: null, + IERC1155Errors__factory: IERC1155Errors__factory, + IERC20Errors__factory: IERC20Errors__factory, + IERC721Errors__factory: IERC721Errors__factory +}); + +var index$S = /*#__PURE__*/Object.freeze({ + __proto__: null, + draftIerc6093Sol: index$T +}); + +const _abi$1E = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Approval", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Transfer", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address" + }, + { + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address" + }, + { + internalType: "address", + name: "to", + type: "address" + }, + { + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; +class IERC20Metadata__factory { + static createInterface() { + return new ethers.Interface(_abi$1E); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$1E, runner); + } +} +IERC20Metadata__factory.abi = _abi$1E; + +var index$R = /*#__PURE__*/Object.freeze({ + __proto__: null, + IERC20Metadata__factory: IERC20Metadata__factory +}); + +const _abi$1D = [ + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "allowance", + type: "uint256" + }, + { + internalType: "uint256", + name: "needed", + type: "uint256" + } + ], + name: "ERC20InsufficientAllowance", + type: "error" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "uint256", + name: "balance", + type: "uint256" + }, + { + internalType: "uint256", + name: "needed", + type: "uint256" + } + ], + name: "ERC20InsufficientBalance", + type: "error" + }, + { + inputs: [ + { + internalType: "address", + name: "approver", + type: "address" + } + ], + name: "ERC20InvalidApprover", + type: "error" + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address" + } + ], + name: "ERC20InvalidReceiver", + type: "error" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + } + ], + name: "ERC20InvalidSender", + type: "error" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "ERC20InvalidSpender", + type: "error" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Approval", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Transfer", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address" + }, + { + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address" + }, + { + internalType: "address", + name: "to", + type: "address" + }, + { + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; +let ERC20__factory$1 = class ERC20__factory { + static createInterface() { + return new ethers.Interface(_abi$1D); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$1D, runner); + } +}; +ERC20__factory$1.abi = _abi$1D; + +const _abi$1C = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Approval", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Transfer", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address" + }, + { + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address" + }, + { + internalType: "address", + name: "to", + type: "address" + }, + { + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; +let IERC20__factory$2 = class IERC20__factory { + static createInterface() { + return new ethers.Interface(_abi$1C); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$1C, runner); + } +}; +IERC20__factory$2.abi = _abi$1C; + +var index$Q = /*#__PURE__*/Object.freeze({ + __proto__: null, + ERC20__factory: ERC20__factory$1, + IERC20__factory: IERC20__factory$2, + extensions: index$R +}); + +var index$P = /*#__PURE__*/Object.freeze({ + __proto__: null, + erc20: index$Q +}); + +var index$O = /*#__PURE__*/Object.freeze({ + __proto__: null, + interfaces: index$S, + token: index$P +}); + +const _abi$1B = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "previousOwner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "newOwner", + type: "address" + } + ], + name: "OwnershipTransferred", + type: "event" + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "renounceOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "newOwner", + type: "address" + } + ], + name: "transferOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; +class Ownable__factory { + static createInterface() { + return new ethers.Interface(_abi$1B); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$1B, runner); + } +} +Ownable__factory.abi = _abi$1B; + +var index$N = /*#__PURE__*/Object.freeze({ + __proto__: null, + Ownable__factory: Ownable__factory +}); + +const _abi$1A = [ + { + stateMutability: "payable", + type: "fallback" + }, + { + stateMutability: "payable", + type: "receive" + } +]; +class Proxy__factory { + static createInterface() { + return new ethers.Interface(_abi$1A); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$1A, runner); + } +} +Proxy__factory.abi = _abi$1A; + +const _abi$1z = [ + { + inputs: [ + { + internalType: "address", + name: "_logic", + type: "address" + }, + { + internalType: "address", + name: "_admin", + type: "address" + }, + { + internalType: "bytes", + name: "_data", + type: "bytes" + } + ], + stateMutability: "payable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "previousAdmin", + type: "address" + }, + { + indexed: false, + internalType: "address", + name: "newAdmin", + type: "address" + } + ], + name: "AdminChanged", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "implementation", + type: "address" + } + ], + name: "Upgraded", + type: "event" + }, + { + stateMutability: "payable", + type: "fallback" + }, + { + inputs: [], + name: "admin", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "newAdmin", + type: "address" + } + ], + name: "changeAdmin", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "implementation", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "newImplementation", + type: "address" + } + ], + name: "upgradeTo", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "newImplementation", + type: "address" + }, + { + internalType: "bytes", + name: "data", + type: "bytes" + } + ], + name: "upgradeToAndCall", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + stateMutability: "payable", + type: "receive" + } +]; +const _bytecode$V = "0x60806040526040516108dc3803806108dc8339818101604052606081101561002657600080fd5b8151602083015160408085018051915193959294830192918464010000000082111561005157600080fd5b90830190602082018581111561006657600080fd5b825164010000000081118282018810171561008057600080fd5b82525081516020918201929091019080838360005b838110156100ad578181015183820152602001610095565b50505050905090810190601f1680156100da5780820380516001836020036101000a031916815260200191505b50604052508491508290506100ee826101bf565b8051156101a6576000826001600160a01b0316826040518082805190602001908083835b602083106101315780518252601f199092019160209182019101610112565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610191576040519150601f19603f3d011682016040523d82523d6000602084013e610196565b606091505b50509050806101a457600080fd5b505b506101ae9050565b6101b782610231565b50505061025b565b6101d28161025560201b6103b41760201c565b61020d5760405162461bcd60e51b81526004018080602001828103825260368152602001806108a66036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b3b151590565b61063c8061026a6000396000f3fe60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100985780635c60da1b146101185780638f28397014610149578063f851a4401461017c5761005d565b3661005d5761005b610191565b005b61005b610191565b34801561007157600080fd5b5061005b6004803603602081101561008857600080fd5b50356001600160a01b03166101ab565b61005b600480360360408110156100ae57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100d957600080fd5b8201836020820111156100eb57600080fd5b8035906020019184600183028401116401000000008311171561010d57600080fd5b5090925090506101e5565b34801561012457600080fd5b5061012d610292565b604080516001600160a01b039092168252519081900360200190f35b34801561015557600080fd5b5061005b6004803603602081101561016c57600080fd5b50356001600160a01b03166102cf565b34801561018857600080fd5b5061012d610389565b6101996103ba565b6101a96101a461041a565b61043f565b565b6101b3610463565b6001600160a01b0316336001600160a01b031614156101da576101d581610488565b6101e2565b6101e2610191565b50565b6101ed610463565b6001600160a01b0316336001600160a01b031614156102855761020f83610488565b6000836001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d806000811461026c576040519150601f19603f3d011682016040523d82523d6000602084013e610271565b606091505b505090508061027f57600080fd5b5061028d565b61028d610191565b505050565b600061029c610463565b6001600160a01b0316336001600160a01b031614156102c4576102bd61041a565b90506102cc565b6102cc610191565b90565b6102d7610463565b6001600160a01b0316336001600160a01b031614156101da576001600160a01b0381166103355760405162461bcd60e51b815260040180806020018281038252603a815260200180610555603a913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61035e610463565b604080516001600160a01b03928316815291841660208301528051918290030190a16101d5816104c8565b6000610393610463565b6001600160a01b0316336001600160a01b031614156102c4576102bd610463565b3b151590565b6103c2610463565b6001600160a01b0316336001600160a01b031614156104125760405162461bcd60e51b81526004018080602001828103825260428152602001806105c56042913960600191505060405180910390fd5b6101a96101a9565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e80801561045e573d6000f35b3d6000fd5b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b610491816104ec565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b6104f5816103b4565b6105305760405162461bcd60e51b815260040180806020018281038252603681526020018061058f6036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5556fe5472616e73706172656e745570677261646561626c6550726f78793a206e65772061646d696e20697320746865207a65726f20616464726573735570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e74726163745472616e73706172656e745570677261646561626c6550726f78793a2061646d696e2063616e6e6f742066616c6c6261636b20746f2070726f787920746172676574a26469706673582212200bf5c74f32000c92994fb0de053047d19f9c526eb1b1953df8bcb7d7e0df8d2864736f6c634300060c00335570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374"; +const isSuperArgs$V = (xs) => xs.length > 1; +class TransparentUpgradeableProxy__factory extends ethers.ContractFactory { + constructor(...args) { + if (isSuperArgs$V(args)) { + super(...args); + } else { + super(_abi$1z, _bytecode$V, args[0]); + } + } + getDeployTransaction(_logic, _admin, _data, overrides) { + return super.getDeployTransaction(_logic, _admin, _data, overrides || {}); + } + deploy(_logic, _admin, _data, overrides) { + return super.deploy(_logic, _admin, _data, overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new ethers.Interface(_abi$1z); + } + static connect(address, runner) { + return new ethers.Contract( + address, + _abi$1z, + runner + ); + } +} +TransparentUpgradeableProxy__factory.bytecode = _bytecode$V; +TransparentUpgradeableProxy__factory.abi = _abi$1z; + +const _abi$1y = [ + { + inputs: [ + { + internalType: "address", + name: "_logic", + type: "address" + }, + { + internalType: "bytes", + name: "_data", + type: "bytes" + } + ], + stateMutability: "payable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "implementation", + type: "address" + } + ], + name: "Upgraded", + type: "event" + }, + { + stateMutability: "payable", + type: "fallback" + }, + { + stateMutability: "payable", + type: "receive" + } +]; +const _bytecode$U = "0x60806040526040516103123803806103128339818101604052604081101561002657600080fd5b81516020830180516040519294929383019291908464010000000082111561004d57600080fd5b90830190602082018581111561006257600080fd5b825164010000000081118282018810171561007c57600080fd5b82525081516020918201929091019080838360005b838110156100a9578181015183820152602001610091565b50505050905090810190601f1680156100d65780820380516001836020036101000a031916815260200191505b50604052506100e3915050565b6100ec826101ab565b8051156101a4576000826001600160a01b0316826040518082805190602001908083835b6020831061012f5780518252601f199092019160209182019101610110565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d806000811461018f576040519150601f19603f3d011682016040523d82523d6000602084013e610194565b606091505b50509050806101a257600080fd5b505b5050610223565b6101be8161021d60201b6100271760201c565b6101f95760405162461bcd60e51b81526004018080602001828103825260368152602001806102dc6036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b3b151590565b60ab806102316000396000f3fe608060405236601057600e6013565b005b600e5b60196025565b60256021602d565b6052565b565b3b151590565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e8080156070573d6000f35b3d6000fdfea2646970667358221220621b7042bfb847b4073a3c58bdbea5295ce2e761b4e2307ca010caaac996d80c64736f6c634300060c00335570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374"; +const isSuperArgs$U = (xs) => xs.length > 1; +class UpgradeableProxy__factory extends ethers.ContractFactory { + constructor(...args) { + if (isSuperArgs$U(args)) { + super(...args); + } else { + super(_abi$1y, _bytecode$U, args[0]); + } + } + getDeployTransaction(_logic, _data, overrides) { + return super.getDeployTransaction(_logic, _data, overrides || {}); + } + deploy(_logic, _data, overrides) { + return super.deploy(_logic, _data, overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new ethers.Interface(_abi$1y); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$1y, runner); + } +} +UpgradeableProxy__factory.bytecode = _bytecode$U; +UpgradeableProxy__factory.abi = _abi$1y; + +var index$M = /*#__PURE__*/Object.freeze({ + __proto__: null, + Proxy__factory: Proxy__factory, + TransparentUpgradeableProxy__factory: TransparentUpgradeableProxy__factory, + UpgradeableProxy__factory: UpgradeableProxy__factory +}); + +const _abi$1x = [ + { + inputs: [ + { + internalType: "string", + name: "name", + type: "string" + }, + { + internalType: "string", + name: "symbol", + type: "string" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Approval", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Transfer", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "subtractedValue", + type: "uint256" + } + ], + name: "decreaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256" + } + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; +const _bytecode$T = "0x608060405234801561001057600080fd5b5060405162000c6238038062000c628339818101604052604081101561003557600080fd5b810190808051604051939291908464010000000082111561005557600080fd5b90830190602082018581111561006a57600080fd5b825164010000000081118282018810171561008457600080fd5b82525081516020918201929091019080838360005b838110156100b1578181015183820152602001610099565b50505050905090810190601f1680156100de5780820380516001836020036101000a031916815260200191505b506040526020018051604051939291908464010000000082111561010157600080fd5b90830190602082018581111561011657600080fd5b825164010000000081118282018810171561013057600080fd5b82525081516020918201929091019080838360005b8381101561015d578181015183820152602001610145565b50505050905090810190601f16801561018a5780820380516001836020036101000a031916815260200191505b50604052505082516101a4915060039060208501906101cd565b5080516101b89060049060208401906101cd565b50506005805460ff1916601217905550610260565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061020e57805160ff191683800117855561023b565b8280016001018555821561023b579182015b8281111561023b578251825591602001919060010190610220565b5061024792915061024b565b5090565b5b80821115610247576000815560010161024c565b6109f280620002706000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c8063395093511161007157806339509351146101d957806370a082311461020557806395d89b411461022b578063a457c2d714610233578063a9059cbb1461025f578063dd62ed3e1461028b576100a9565b806306fdde03146100ae578063095ea7b31461012b57806318160ddd1461016b57806323b872dd14610185578063313ce567146101bb575b600080fd5b6100b66102b9565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100f05781810151838201526020016100d8565b50505050905090810190601f16801561011d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101576004803603604081101561014157600080fd5b506001600160a01b03813516906020013561034f565b604080519115158252519081900360200190f35b61017361036c565b60408051918252519081900360200190f35b6101576004803603606081101561019b57600080fd5b506001600160a01b03813581169160208101359091169060400135610372565b6101c36103f9565b6040805160ff9092168252519081900360200190f35b610157600480360360408110156101ef57600080fd5b506001600160a01b038135169060200135610402565b6101736004803603602081101561021b57600080fd5b50356001600160a01b0316610450565b6100b661046b565b6101576004803603604081101561024957600080fd5b506001600160a01b0381351690602001356104cc565b6101576004803603604081101561027557600080fd5b506001600160a01b038135169060200135610534565b610173600480360360408110156102a157600080fd5b506001600160a01b0381358116916020013516610548565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103455780601f1061031a57610100808354040283529160200191610345565b820191906000526020600020905b81548152906001019060200180831161032857829003601f168201915b5050505050905090565b600061036361035c610573565b8484610577565b50600192915050565b60025490565b600061037f848484610663565b6103ef8461038b610573565b6103ea85604051806060016040528060288152602001610927602891396001600160a01b038a166000908152600160205260408120906103c9610573565b6001600160a01b0316815260208101919091526040016000205491906107be565b610577565b5060019392505050565b60055460ff1690565b600061036361040f610573565b846103ea8560016000610420610573565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610855565b6001600160a01b031660009081526020819052604090205490565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103455780601f1061031a57610100808354040283529160200191610345565b60006103636104d9610573565b846103ea856040518060600160405280602581526020016109986025913960016000610503610573565b6001600160a01b03908116825260208083019390935260409182016000908120918d168152925290205491906107be565b6000610363610541610573565b8484610663565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3390565b6001600160a01b0383166105bc5760405162461bcd60e51b81526004018080602001828103825260248152602001806109746024913960400191505060405180910390fd5b6001600160a01b0382166106015760405162461bcd60e51b81526004018080602001828103825260228152602001806108df6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166106a85760405162461bcd60e51b815260040180806020018281038252602581526020018061094f6025913960400191505060405180910390fd5b6001600160a01b0382166106ed5760405162461bcd60e51b81526004018080602001828103825260238152602001806108bc6023913960400191505060405180910390fd5b6106f88383836108b6565b61073581604051806060016040528060268152602001610901602691396001600160a01b03861660009081526020819052604090205491906107be565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546107649082610855565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000818484111561084d5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156108125781810151838201526020016107fa565b50505050905090810190601f16801561083f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000828201838110156108af576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220347718b9db0288208ab5957df73278c6f781963df0e13918151971217fc2827964736f6c634300060c0033"; +const isSuperArgs$T = (xs) => xs.length > 1; +class ERC20__factory extends ethers.ContractFactory { + constructor(...args) { + if (isSuperArgs$T(args)) { + super(...args); + } else { + super(_abi$1x, _bytecode$T, args[0]); + } + } + getDeployTransaction(name, symbol, overrides) { + return super.getDeployTransaction(name, symbol, overrides || {}); + } + deploy(name, symbol, overrides) { + return super.deploy(name, symbol, overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new ethers.Interface(_abi$1x); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$1x, runner); + } +} +ERC20__factory.bytecode = _bytecode$T; +ERC20__factory.abi = _abi$1x; + +const _abi$1w = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Approval", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Transfer", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "burn", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "burnFrom", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "subtractedValue", + type: "uint256" + } + ], + name: "decreaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256" + } + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; +class ERC20Burnable__factory { + static createInterface() { + return new ethers.Interface(_abi$1w); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$1w, runner); + } +} +ERC20Burnable__factory.abi = _abi$1w; + +const _abi$1v = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Approval", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Transfer", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; +let IERC20__factory$1 = class IERC20__factory { + static createInterface() { + return new ethers.Interface(_abi$1v); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$1v, runner); + } +}; +IERC20__factory$1.abi = _abi$1v; + +var index$L = /*#__PURE__*/Object.freeze({ + __proto__: null, + ERC20Burnable__factory: ERC20Burnable__factory, + ERC20__factory: ERC20__factory, + IERC20__factory: IERC20__factory$1 +}); + +var index$K = /*#__PURE__*/Object.freeze({ + __proto__: null, + erc20: index$L +}); + +const _abi$1u = [ + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "account", + type: "address" + } + ], + name: "Paused", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "account", + type: "address" + } + ], + name: "Unpaused", + type: "event" + }, + { + inputs: [], + name: "paused", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + } +]; +class Pausable__factory { + static createInterface() { + return new ethers.Interface(_abi$1u); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$1u, runner); + } +} +Pausable__factory.abi = _abi$1u; + +var index$J = /*#__PURE__*/Object.freeze({ + __proto__: null, + Pausable__factory: Pausable__factory +}); + +var index$I = /*#__PURE__*/Object.freeze({ + __proto__: null, + access: index$N, + proxy: index$M, + token: index$K, + utils: index$J +}); + +var index$H = /*#__PURE__*/Object.freeze({ + __proto__: null, + contracts: index$O, + contractsV3: index$I +}); + +const _abi$1t = [ + { + inputs: [ + { + internalType: "uint256", + name: "in_xL", + type: "uint256" + }, + { + internalType: "uint256", + name: "in_xR", + type: "uint256" + } + ], + name: "MiMCSponge", + outputs: [ + { + internalType: "uint256", + name: "xL", + type: "uint256" + }, + { + internalType: "uint256", + name: "xR", + type: "uint256" + } + ], + stateMutability: "pure", + type: "function" + } +]; +class IHasher__factory { + static createInterface() { + return new ethers.Interface(_abi$1t); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$1t, runner); + } +} +IHasher__factory.abi = _abi$1t; + +const _abi$1s = [ + { + inputs: [ + { + internalType: "uint32", + name: "_levels", + type: "uint32" + }, + { + internalType: "contract IHasher", + name: "_hasher", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + inputs: [], + name: "FIELD_SIZE", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "ROOT_HISTORY_SIZE", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "ZERO_VALUE", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "currentRootIndex", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + name: "filledSubtrees", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "getLastRoot", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract IHasher", + name: "_hasher", + type: "address" + }, + { + internalType: "bytes32", + name: "_left", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "_right", + type: "bytes32" + } + ], + name: "hashLeftRight", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "pure", + type: "function" + }, + { + inputs: [], + name: "hasher", + outputs: [ + { + internalType: "contract IHasher", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_root", + type: "bytes32" + } + ], + name: "isKnownRoot", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "levels", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "nextIndex", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + name: "roots", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + name: "zeros", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "view", + type: "function" + } +]; +const _bytecode$S = "0x60c0604052600380546001600160401b031916905534801561002057600080fd5b50604051610a10380380610a1083398101604081905261003f91610385565b60008263ffffffff16116100a65760405162461bcd60e51b815260206004820152602360248201527f5f6c6576656c732073686f756c642062652067726561746572207468616e207a60448201526265726f60e81b60648201526084015b60405180910390fd5b60208263ffffffff16106100fc5760405162461bcd60e51b815260206004820152601e60248201527f5f6c6576656c732073686f756c64206265206c657373207468616e2033320000604482015260640161009d565b63ffffffff821660a0526001600160a01b0381166080527f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c60005b8363ffffffff168163ffffffff1610156101845763ffffffff8116600090815260016020908152604080832085905590829052902082905561017a8383806101b8565b9150600101610137565b506000805260026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b55506103f89050565b60006000805160206109f083398151915283106102175760405162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c64604482015260640161009d565b6000805160206109f0833981519152821061027e5760405162461bcd60e51b815260206004820152602160248201527f5f72696768742073686f756c6420626520696e7369646520746865206669656c6044820152601960fa1b606482015260840161009d565b60405163f47d33b560e01b81526004810184905260006024820181905284916001600160a01b0387169063f47d33b5906044016040805180830381865afa1580156102cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f191906103d4565b90925090506000805160206109f083398151915284830860405163f47d33b560e01b815260048101829052602481018390529092506001600160a01b0387169063f47d33b5906044016040805180830381865afa158015610356573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061037a91906103d4565b509695505050505050565b6000806040838503121561039857600080fd5b825163ffffffff811681146103ac57600080fd5b60208401519092506001600160a01b03811681146103c957600080fd5b809150509250929050565b600080604083850312156103e757600080fd5b505080516020909101519092909150565b60805160a0516105d361041d60003960006101010152600061020f01526105d36000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063c2b40ae41161008c578063ec73295911610066578063ec732959146101e3578063ed33639f1461020a578063f178e47c14610249578063fc7e9c6f1461026957600080fd5b8063c2b40ae41461019b578063cd87a3b4146101bb578063e8295588146101c357600080fd5b8063414a37ba146100d45780634ecf518b146100fc5780636d9833e3146101385780638ea3099e1461015b57806390eeb02b1461016e578063ba70f7571461017e575b600080fd5b6100e960008051602061057e83398151915281565b6040519081526020015b60405180910390f35b6101237f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016100f3565b61014b6101463660046104d1565b610281565b60405190151581526020016100f3565b6100e96101693660046104ea565b6102ff565b6003546101239063ffffffff1681565b60035463ffffffff166000908152600260205260409020546100e9565b6100e96101a93660046104d1565b60026020526000908152604090205481565b610123601e81565b6100e96101d13660046104d1565b60016020526000908152604090205481565b6100e97f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c81565b6102317f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100f3565b6100e96102573660046104d1565b60006020819052908152604090205481565b60035461012390640100000000900463ffffffff1681565b600081810361029257506000919050565b60035463ffffffff16805b63ffffffff811660009081526002602052604090205484036102c3575060019392505050565b8063ffffffff166000036102d55750601e5b806102df8161052b565b9150508163ffffffff168163ffffffff160361029d575060009392505050565b600060008051602061057e83398151915283106103635760405162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c6460448201526064015b60405180910390fd5b60008051602061057e83398151915282106103ca5760405162461bcd60e51b815260206004820152602160248201527f5f72696768742073686f756c6420626520696e7369646520746865206669656c6044820152601960fa1b606482015260840161035a565b60405163f47d33b560e01b81526004810184905260006024820181905284916001600160a01b0387169063f47d33b5906044016040805180830381865afa158015610419573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061043d9190610559565b909250905060008051602061057e83398151915284830860405163f47d33b560e01b815260048101829052602481018390529092506001600160a01b0387169063f47d33b5906044016040805180830381865afa1580156104a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104c69190610559565b509695505050505050565b6000602082840312156104e357600080fd5b5035919050565b6000806000606084860312156104ff57600080fd5b83356001600160a01b038116811461051657600080fd5b95602085013595506040909401359392505050565b600063ffffffff82168061054f57634e487b7160e01b600052601160045260246000fd5b6000190192915050565b6000806040838503121561056c57600080fd5b50508051602090910151909290915056fe30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001a2646970667358221220073b750aae4dba8655a2e525b0e8b02446e762412e24ec1684e134ada3303bda64736f6c6343000819003330644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001"; +const isSuperArgs$S = (xs) => xs.length > 1; +class MerkleTreeWithHistory__factory extends ethers.ContractFactory { + constructor(...args) { + if (isSuperArgs$S(args)) { + super(...args); + } else { + super(_abi$1s, _bytecode$S, args[0]); + } + } + getDeployTransaction(_levels, _hasher, overrides) { + return super.getDeployTransaction(_levels, _hasher, overrides || {}); + } + deploy(_levels, _hasher, overrides) { + return super.deploy(_levels, _hasher, overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new ethers.Interface(_abi$1s); + } + static connect(address, runner) { + return new ethers.Contract( + address, + _abi$1s, + runner + ); + } +} +MerkleTreeWithHistory__factory.bytecode = _bytecode$S; +MerkleTreeWithHistory__factory.abi = _abi$1s; + +var index$G = /*#__PURE__*/Object.freeze({ + __proto__: null, + IHasher__factory: IHasher__factory, + MerkleTreeWithHistory__factory: MerkleTreeWithHistory__factory +}); + +const _abi$1r = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Transfer", + type: "event" + }, + { + inputs: [], + name: "_totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "who", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address" + }, + { + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "transfer", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; +class ERC20Basic__factory { + static createInterface() { + return new ethers.Interface(_abi$1r); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$1r, runner); + } +} +ERC20Basic__factory.abi = _abi$1r; + +const _abi$1q = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Approval", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Transfer", + type: "event" + }, + { + inputs: [], + name: "_totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "approve", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "who", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address" + }, + { + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "transfer", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address" + }, + { + internalType: "address", + name: "to", + type: "address" + }, + { + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "transferFrom", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; +class IUSDT__factory { + static createInterface() { + return new ethers.Interface(_abi$1q); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$1q, runner); + } +} +IUSDT__factory.abi = _abi$1q; + +var index$F = /*#__PURE__*/Object.freeze({ + __proto__: null, + ERC20Basic__factory: ERC20Basic__factory, + IUSDT__factory: IUSDT__factory +}); + +const _abi$1p = [ + { + stateMutability: "nonpayable", + type: "fallback" + } +]; +const _bytecode$R = "0x6080604052348015600f57600080fd5b50609c80601d6000396000f3fe6080604052348015600f57600080fd5b5060405162461bcd60e51b815260206004820152602160248201527f7468697320636f6e747261637420646f6573206e6f74206163636570742045546044820152600960fb1b606482015260840160405180910390fdfea264697066735822122034c2432feedadd0f30a6f66555381c20922b6ab7c9b3ede4c27896b23e802a8264736f6c63430008190033"; +const isSuperArgs$R = (xs) => xs.length > 1; +class BadRecipient__factory extends ethers.ContractFactory { + constructor(...args) { + if (isSuperArgs$R(args)) { + super(...args); + } else { + super(_abi$1p, _bytecode$R, args[0]); + } + } + getDeployTransaction(overrides) { + return super.getDeployTransaction(overrides || {}); + } + deploy(overrides) { + return super.deploy(overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new ethers.Interface(_abi$1p); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$1p, runner); + } +} +BadRecipient__factory.bytecode = _bytecode$R; +BadRecipient__factory.abi = _abi$1p; + +const _abi$1o = [ + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "allowance", + type: "uint256" + }, + { + internalType: "uint256", + name: "needed", + type: "uint256" + } + ], + name: "ERC20InsufficientAllowance", + type: "error" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "uint256", + name: "balance", + type: "uint256" + }, + { + internalType: "uint256", + name: "needed", + type: "uint256" + } + ], + name: "ERC20InsufficientBalance", + type: "error" + }, + { + inputs: [ + { + internalType: "address", + name: "approver", + type: "address" + } + ], + name: "ERC20InvalidApprover", + type: "error" + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address" + } + ], + name: "ERC20InvalidReceiver", + type: "error" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + } + ], + name: "ERC20InvalidSender", + type: "error" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "ERC20InvalidSpender", + type: "error" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Approval", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Transfer", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "mint", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address" + }, + { + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address" + }, + { + internalType: "address", + name: "to", + type: "address" + }, + { + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; +const _bytecode$Q = "0x608060405234801561001057600080fd5b50604051806040016040528060078152602001664441494d6f636b60c81b815250604051806040016040528060048152602001634441494d60e01b815250816003908161005d9190610113565b50600461006a8282610113565b5050506101d2565b634e487b7160e01b600052604160045260246000fd5b600181811c9082168061009c57607f821691505b6020821081036100bc57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561010e576000816000526020600020601f850160051c810160208610156100eb5750805b601f850160051c820191505b8181101561010a578281556001016100f7565b5050505b505050565b81516001600160401b0381111561012c5761012c610072565b6101408161013a8454610088565b846100c2565b602080601f831160018114610175576000841561015d5750858301515b600019600386901b1c1916600185901b17855561010a565b600085815260208120601f198616915b828110156101a457888601518255948401946001909101908401610185565b50858210156101c25787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610785806101e16000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c806340c10f191161006657806340c10f191461011857806370a082311461012d57806395d89b4114610156578063a9059cbb1461015e578063dd62ed3e1461017157600080fd5b806306fdde03146100a3578063095ea7b3146100c157806318160ddd146100e457806323b872dd146100f6578063313ce56714610109575b600080fd5b6100ab6101aa565b6040516100b891906105ce565b60405180910390f35b6100d46100cf366004610639565b61023c565b60405190151581526020016100b8565b6002545b6040519081526020016100b8565b6100d4610104366004610663565b610256565b604051601281526020016100b8565b61012b610126366004610639565b61027a565b005b6100e861013b36600461069f565b6001600160a01b031660009081526020819052604090205490565b6100ab610288565b6100d461016c366004610639565b610297565b6100e861017f3660046106c1565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6060600380546101b9906106f4565b80601f01602080910402602001604051908101604052809291908181526020018280546101e5906106f4565b80156102325780601f1061020757610100808354040283529160200191610232565b820191906000526020600020905b81548152906001019060200180831161021557829003601f168201915b5050505050905090565b60003361024a8185856102a5565b60019150505b92915050565b6000336102648582856102b7565b61026f85858561033a565b506001949350505050565b6102848282610399565b5050565b6060600480546101b9906106f4565b60003361024a81858561033a565b6102b283838360016103cf565b505050565b6001600160a01b038381166000908152600160209081526040808320938616835292905220546000198114610334578181101561032557604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064015b60405180910390fd5b610334848484840360006103cf565b50505050565b6001600160a01b03831661036457604051634b637e8f60e11b81526000600482015260240161031c565b6001600160a01b03821661038e5760405163ec442f0560e01b81526000600482015260240161031c565b6102b28383836104a4565b6001600160a01b0382166103c35760405163ec442f0560e01b81526000600482015260240161031c565b610284600083836104a4565b6001600160a01b0384166103f95760405163e602df0560e01b81526000600482015260240161031c565b6001600160a01b03831661042357604051634a1406b160e11b81526000600482015260240161031c565b6001600160a01b038085166000908152600160209081526040808320938716835292905220829055801561033457826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161049691815260200190565b60405180910390a350505050565b6001600160a01b0383166104cf5780600260008282546104c4919061072e565b909155506105419050565b6001600160a01b038316600090815260208190526040902054818110156105225760405163391434e360e21b81526001600160a01b0385166004820152602481018290526044810183905260640161031c565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b03821661055d5760028054829003905561057c565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516105c191815260200190565b60405180910390a3505050565b60006020808352835180602085015260005b818110156105fc578581018301518582016040015282016105e0565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461063457600080fd5b919050565b6000806040838503121561064c57600080fd5b6106558361061d565b946020939093013593505050565b60008060006060848603121561067857600080fd5b6106818461061d565b925061068f6020850161061d565b9150604084013590509250925092565b6000602082840312156106b157600080fd5b6106ba8261061d565b9392505050565b600080604083850312156106d457600080fd5b6106dd8361061d565b91506106eb6020840161061d565b90509250929050565b600181811c9082168061070857607f821691505b60208210810361072857634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561025057634e487b7160e01b600052601160045260246000fdfea264697066735822122058942fcc650d3670455590fabbf6c5726b3ae7df7b57e75bc02cb2c66259d45b64736f6c63430008190033"; +const isSuperArgs$Q = (xs) => xs.length > 1; +class ERC20Mock__factory extends ethers.ContractFactory { + constructor(...args) { + if (isSuperArgs$Q(args)) { + super(...args); + } else { + super(_abi$1o, _bytecode$Q, args[0]); + } + } + getDeployTransaction(overrides) { + return super.getDeployTransaction(overrides || {}); + } + deploy(overrides) { + return super.deploy(overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new ethers.Interface(_abi$1o); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$1o, runner); + } +} +ERC20Mock__factory.bytecode = _bytecode$Q; +ERC20Mock__factory.abi = _abi$1o; + +const _abi$1n = [ + { + inputs: [ + { + internalType: "bytes", + name: "_initCode", + type: "bytes" + }, + { + internalType: "bytes32", + name: "_salt", + type: "bytes32" + } + ], + name: "deploy", + outputs: [ + { + internalType: "address payable", + name: "createdContract", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; +let IDeployer__factory$1 = class IDeployer__factory { + static createInterface() { + return new ethers.Interface(_abi$1n); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$1n, runner); + } +}; +IDeployer__factory$1.abi = _abi$1n; + +const _abi$1m = [ + { + inputs: [ + { + internalType: "uint32", + name: "_treeLevels", + type: "uint32" + }, + { + internalType: "contract IHasher", + name: "_hasher", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + inputs: [], + name: "FIELD_SIZE", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "ROOT_HISTORY_SIZE", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "ZERO_VALUE", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "currentRootIndex", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + name: "filledSubtrees", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "getLastRoot", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract IHasher", + name: "_hasher", + type: "address" + }, + { + internalType: "bytes32", + name: "_left", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "_right", + type: "bytes32" + } + ], + name: "hashLeftRight", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "pure", + type: "function" + }, + { + inputs: [], + name: "hasher", + outputs: [ + { + internalType: "contract IHasher", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_leaf", + type: "bytes32" + } + ], + name: "insert", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_root", + type: "bytes32" + } + ], + name: "isKnownRoot", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "levels", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "nextIndex", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + name: "roots", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + name: "zeros", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "view", + type: "function" + } +]; +const _bytecode$P = "0x60c0604052600380546001600160401b031916905534801561002057600080fd5b50604051610e3c380380610e3c83398101604081905261003f91610389565b818160008263ffffffff16116100a85760405162461bcd60e51b815260206004820152602360248201527f5f6c6576656c732073686f756c642062652067726561746572207468616e207a60448201526265726f60e81b60648201526084015b60405180910390fd5b60208263ffffffff16106100fe5760405162461bcd60e51b815260206004820152601e60248201527f5f6c6576656c732073686f756c64206265206c657373207468616e2033320000604482015260640161009f565b63ffffffff821660a0526001600160a01b0381166080527f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c60005b8363ffffffff168163ffffffff1610156101865763ffffffff8116600090815260016020908152604080832085905590829052902082905561017c8383806101bc565b9150600101610139565b506000805260026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b55506103fc92505050565b6000600080516020610e1c833981519152831061021b5760405162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c64604482015260640161009f565b600080516020610e1c83398151915282106102825760405162461bcd60e51b815260206004820152602160248201527f5f72696768742073686f756c6420626520696e7369646520746865206669656c6044820152601960fa1b606482015260840161009f565b60405163f47d33b560e01b81526004810184905260006024820181905284916001600160a01b0387169063f47d33b5906044016040805180830381865afa1580156102d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f591906103d8565b9092509050600080516020610e1c83398151915284830860405163f47d33b560e01b815260048101829052602481018390529092506001600160a01b0387169063f47d33b5906044016040805180830381865afa15801561035a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061037e91906103d8565b509695505050505050565b6000806040838503121561039c57600080fd5b825163ffffffff811681146103b057600080fd5b60208401519092506001600160a01b03811681146103cd57600080fd5b809150509250929050565b600080604083850312156103eb57600080fd5b505080516020909101519092909150565b60805160a0516109e6610436600039600081816101310152818161052701526105c901526000818161023f015261066101526109e66000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063c2b40ae41161008c578063ec73295911610066578063ec73295914610213578063ed33639f1461023a578063f178e47c14610279578063fc7e9c6f1461029957600080fd5b8063c2b40ae4146101cb578063cd87a3b4146101eb578063e8295588146101f357600080fd5b80636d9833e3116100c85780636d9833e3146101685780638ea3099e1461018b57806390eeb02b1461019e578063ba70f757146101ae57600080fd5b80632d287e43146100ef578063414a37ba146101045780634ecf518b1461012c575b600080fd5b6101026100fd36600461072c565b6102b1565b005b61011960008051602061099183398151915281565b6040519081526020015b60405180910390f35b6101537f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff9091168152602001610123565b61017b61017636600461072c565b6102be565b6040519015158152602001610123565b610119610199366004610745565b61033c565b6003546101539063ffffffff1681565b60035463ffffffff16600090815260026020526040902054610119565b6101196101d936600461072c565b60026020526000908152604090205481565b610153601e81565b61011961020136600461072c565b60016020526000908152604090205481565b6101197f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c81565b6102617f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610123565b61011961028736600461072c565b60006020819052908152604090205481565b60035461015390640100000000900463ffffffff1681565b6102ba8161050e565b5050565b60008181036102cf57506000919050565b60035463ffffffff16805b63ffffffff81166000908152600260205260409020548403610300575060019392505050565b8063ffffffff166000036103125750601e5b8061031c8161079c565b9150508163ffffffff168163ffffffff16036102da575060009392505050565b600060008051602061099183398151915283106103a05760405162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c6460448201526064015b60405180910390fd5b60008051602061099183398151915282106104075760405162461bcd60e51b815260206004820152602160248201527f5f72696768742073686f756c6420626520696e7369646520746865206669656c6044820152601960fa1b6064820152608401610397565b60405163f47d33b560e01b81526004810184905260006024820181905284916001600160a01b0387169063f47d33b5906044016040805180830381865afa158015610456573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061047a91906107bc565b909250905060008051602061099183398151915284830860405163f47d33b560e01b815260048101829052602481018390529092506001600160a01b0387169063f47d33b5906044016040805180830381865afa1580156104df573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061050391906107bc565b509695505050505050565b600354600090640100000000900463ffffffff1661054d7f00000000000000000000000000000000000000000000000000000000000000006002610909565b63ffffffff168163ffffffff16036105c05760405162461bcd60e51b815260206004820152603060248201527f4d65726b6c6520747265652069732066756c6c2e204e6f206d6f7265206c656160448201526f1d995cc818d85b88189948185919195960821b6064820152608401610397565b8083600080805b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff168163ffffffff16101561069e57610606600286610926565b63ffffffff166000036106405763ffffffff811660009081526001602090815260408083205491839052909120859055849350915061065c565b63ffffffff811660009081526020819052604090205492508391505b6106877f0000000000000000000000000000000000000000000000000000000000000000848461033c565b9350610694600286610949565b94506001016105c7565b50600354600090601e906106b99063ffffffff16600161096c565b6106c39190610926565b6003805463ffffffff191663ffffffff8316908117909155600090815260026020526040902085905590506106f986600161096c565b6003805463ffffffff929092166401000000000267ffffffff000000001990921691909117905550939695505050505050565b60006020828403121561073e57600080fd5b5035919050565b60008060006060848603121561075a57600080fd5b83356001600160a01b038116811461077157600080fd5b95602085013595506040909401359392505050565b634e487b7160e01b600052601160045260246000fd5b600063ffffffff8216806107b2576107b2610786565b6000190192915050565b600080604083850312156107cf57600080fd5b505080516020909101519092909150565b634e487b7160e01b600052601260045260246000fd5b600181815b80851115610833578163ffffffff0482111561081957610819610786565b8085161561082657918102915b93841c93908002906107fb565b509250929050565b60008261084a57506001610903565b8161085757506000610903565b816001811461086d5760028114610877576108a8565b6001915050610903565b60ff84111561088857610888610786565b6001841b915063ffffffff8211156108a2576108a2610786565b50610903565b5060208310610133831016604e8410600b84101617156108df575081810a63ffffffff8111156108da576108da610786565b610903565b6108e983836107f6565b8063ffffffff048211156108ff576108ff610786565b0290505b92915050565b600063ffffffff61091e81851682851661083b565b949350505050565b600063ffffffff8084168061093d5761093d6107e0565b92169190910692915050565b600063ffffffff80841680610960576109606107e0565b92169190910492915050565b63ffffffff81811683821601908082111561098957610989610786565b509291505056fe30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001a26469706673582212202d7e980def4626c357f1bcdaac465eacf4317fbdecbf5d0a96b796c5d828cb7464736f6c6343000819003330644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001"; +const isSuperArgs$P = (xs) => xs.length > 1; +class MerkleTreeWithHistoryMock__factory extends ethers.ContractFactory { + constructor(...args) { + if (isSuperArgs$P(args)) { + super(...args); + } else { + super(_abi$1m, _bytecode$P, args[0]); + } + } + getDeployTransaction(_treeLevels, _hasher, overrides) { + return super.getDeployTransaction(_treeLevels, _hasher, overrides || {}); + } + deploy(_treeLevels, _hasher, overrides) { + return super.deploy(_treeLevels, _hasher, overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new ethers.Interface(_abi$1m); + } + static connect(address, runner) { + return new ethers.Contract( + address, + _abi$1m, + runner + ); + } +} +MerkleTreeWithHistoryMock__factory.bytecode = _bytecode$P; +MerkleTreeWithHistoryMock__factory.abi = _abi$1m; + +var index$E = /*#__PURE__*/Object.freeze({ + __proto__: null, + BadRecipient__factory: BadRecipient__factory, + ERC20Mock__factory: ERC20Mock__factory, + IDeployer__factory: IDeployer__factory$1, + MerkleTreeWithHistoryMock__factory: MerkleTreeWithHistoryMock__factory, + iusdtSol: index$F +}); + +const _abi$1l = [ + { + inputs: [ + { + internalType: "bytes", + name: "_proof", + type: "bytes" + }, + { + internalType: "uint256[6]", + name: "_input", + type: "uint256[6]" + } + ], + name: "verifyProof", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; +class IVerifier__factory { + static createInterface() { + return new ethers.Interface(_abi$1l); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$1l, runner); + } +} +IVerifier__factory.abi = _abi$1l; + +const _abi$1k = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "commitment", + type: "bytes32" + }, + { + indexed: false, + internalType: "uint32", + name: "leafIndex", + type: "uint32" + }, + { + indexed: false, + internalType: "uint256", + name: "timestamp", + type: "uint256" + } + ], + name: "Deposit", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "bytes32", + name: "nullifierHash", + type: "bytes32" + }, + { + indexed: true, + internalType: "address", + name: "relayer", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "fee", + type: "uint256" + } + ], + name: "Withdrawal", + type: "event" + }, + { + inputs: [], + name: "FIELD_SIZE", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "ROOT_HISTORY_SIZE", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "ZERO_VALUE", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + name: "commitments", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "currentRootIndex", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "denomination", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_commitment", + type: "bytes32" + } + ], + name: "deposit", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + name: "filledSubtrees", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "getLastRoot", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract IHasher", + name: "_hasher", + type: "address" + }, + { + internalType: "bytes32", + name: "_left", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "_right", + type: "bytes32" + } + ], + name: "hashLeftRight", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "pure", + type: "function" + }, + { + inputs: [], + name: "hasher", + outputs: [ + { + internalType: "contract IHasher", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_root", + type: "bytes32" + } + ], + name: "isKnownRoot", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_nullifierHash", + type: "bytes32" + } + ], + name: "isSpent", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32[]", + name: "_nullifierHashes", + type: "bytes32[]" + } + ], + name: "isSpentArray", + outputs: [ + { + internalType: "bool[]", + name: "spent", + type: "bool[]" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "levels", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "nextIndex", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + name: "nullifierHashes", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + name: "roots", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "verifier", + outputs: [ + { + internalType: "contract IVerifier", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes", + name: "_proof", + type: "bytes" + }, + { + internalType: "bytes32", + name: "_root", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "_nullifierHash", + type: "bytes32" + }, + { + internalType: "address payable", + name: "_recipient", + type: "address" + }, + { + internalType: "address payable", + name: "_relayer", + type: "address" + }, + { + internalType: "uint256", + name: "_fee", + type: "uint256" + }, + { + internalType: "uint256", + name: "_refund", + type: "uint256" + } + ], + name: "withdraw", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + name: "zeros", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "view", + type: "function" + } +]; +class Tornado__factory { + static createInterface() { + return new ethers.Interface(_abi$1k); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$1k, runner); + } +} +Tornado__factory.abi = _abi$1k; + +var index$D = /*#__PURE__*/Object.freeze({ + __proto__: null, + IVerifier__factory: IVerifier__factory, + Tornado__factory: Tornado__factory +}); + +const _abi$1j = [ + { + inputs: [], + name: "denomination", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "commitment", + type: "bytes32" + } + ], + name: "deposit", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [], + name: "token", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes", + name: "proof", + type: "bytes" + }, + { + internalType: "bytes32", + name: "root", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "nullifierHash", + type: "bytes32" + }, + { + internalType: "address payable", + name: "recipient", + type: "address" + }, + { + internalType: "address payable", + name: "relayer", + type: "address" + }, + { + internalType: "uint256", + name: "fee", + type: "uint256" + }, + { + internalType: "uint256", + name: "refund", + type: "uint256" + } + ], + name: "withdraw", + outputs: [], + stateMutability: "payable", + type: "function" + } +]; +let ITornadoInstance__factory$1 = class ITornadoInstance__factory { + static createInterface() { + return new ethers.Interface(_abi$1j); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$1j, runner); + } +}; +ITornadoInstance__factory$1.abi = _abi$1j; + +const _abi$1i = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address" + }, + { + indexed: false, + internalType: "bytes", + name: "encryptedNote", + type: "bytes" + } + ], + name: "EncryptedNote", + type: "event" + }, + { + inputs: [ + { + internalType: "bytes[]", + name: "_encryptedNotes", + type: "bytes[]" + } + ], + name: "backupNotes", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "contract ITornadoInstance", + name: "_tornado", + type: "address" + }, + { + internalType: "bytes32", + name: "_commitment", + type: "bytes32" + }, + { + internalType: "bytes", + name: "_encryptedNote", + type: "bytes" + } + ], + name: "deposit", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [ + { + internalType: "contract ITornadoInstance", + name: "_tornado", + type: "address" + }, + { + internalType: "bytes", + name: "_proof", + type: "bytes" + }, + { + internalType: "bytes32", + name: "_root", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "_nullifierHash", + type: "bytes32" + }, + { + internalType: "address payable", + name: "_recipient", + type: "address" + }, + { + internalType: "address payable", + name: "_relayer", + type: "address" + }, + { + internalType: "uint256", + name: "_fee", + type: "uint256" + }, + { + internalType: "uint256", + name: "_refund", + type: "uint256" + } + ], + name: "withdraw", + outputs: [], + stateMutability: "payable", + type: "function" + } +]; +const _bytecode$O = "0x608060405234801561001057600080fd5b506104f6806100206000396000f3fe6080604052600436106100345760003560e01c806313d98d13146100395780636485ba2a1461004e578063b438689f1461006e575b600080fd5b61004c6100473660046102c7565b610081565b005b34801561005a57600080fd5b5061004c610069366004610258565b61012a565b61004c61007c366004610321565b610198565b60405163b214faa560e01b81526001600160a01b0385169063b214faa59034906100af9087906004016103ec565b6000604051808303818588803b1580156100c857600080fd5b505af11580156100dc573d6000803e3d6000fd5b5050505050336001600160a01b03167ffa28df43db3553771f7209dcef046f3bdfea15870ab625dcda30ac58b82b4008838360405161011c9291906103f5565b60405180910390a250505050565b60005b8181101561019357337ffa28df43db3553771f7209dcef046f3bdfea15870ab625dcda30ac58b82b400884848481811061016357fe5b90506020028101906101759190610463565b6040516101839291906103f5565b60405180910390a260010161012d565b505050565b6040516310d056db60e11b81526001600160a01b038a16906321a0adb69034906101d4908c908c908c908c908c908c908c908c90600401610411565b6000604051808303818588803b1580156101ed57600080fd5b505af1158015610201573d6000803e3d6000fd5b5050505050505050505050505050565b60008083601f840112610222578182fd5b50813567ffffffffffffffff811115610239578182fd5b60208301915083602082850101111561025157600080fd5b9250929050565b6000806020838503121561026a578182fd5b823567ffffffffffffffff80821115610281578384fd5b818501915085601f830112610294578384fd5b8135818111156102a2578485fd5b86602080830285010111156102b5578485fd5b60209290920196919550909350505050565b600080600080606085870312156102dc578182fd5b84356102e7816104a8565b935060208501359250604085013567ffffffffffffffff811115610309578283fd5b61031587828801610211565b95989497509550505050565b60008060008060008060008060006101008a8c03121561033f578485fd5b893561034a816104a8565b985060208a013567ffffffffffffffff811115610365578586fd5b6103718c828d01610211565b90995097505060408a0135955060608a0135945060808a0135610393816104a8565b935060a08a01356103a3816104a8565b8093505060c08a0135915060e08a013590509295985092959850929598565b60008284528282602086013780602084860101526020601f19601f85011685010190509392505050565b90815260200190565b6000602082526104096020830184866103c2565b949350505050565b600060e0825261042560e083018a8c6103c2565b60208301989098525060408101959095526001600160a01b03938416606086015291909216608084015260a083019190915260c09091015292915050565b6000808335601e19843603018112610479578283fd5b83018035915067ffffffffffffffff821115610493578283fd5b60200191503681900382131561025157600080fd5b6001600160a01b03811681146104bd57600080fd5b5056fea26469706673582212209e714d6385e2c86cc03186c5204b41573676ba810258f1b09d9b7e267ca73d2f64736f6c634300060c0033"; +const isSuperArgs$O = (xs) => xs.length > 1; +class TornadoProxyLight__factory extends ethers.ContractFactory { + constructor(...args) { + if (isSuperArgs$O(args)) { + super(...args); + } else { + super(_abi$1i, _bytecode$O, args[0]); + } + } + getDeployTransaction(overrides) { + return super.getDeployTransaction(overrides || {}); + } + deploy(overrides) { + return super.deploy(overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new ethers.Interface(_abi$1i); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$1i, runner); + } +} +TornadoProxyLight__factory.bytecode = _bytecode$O; +TornadoProxyLight__factory.abi = _abi$1i; + +var index$C = /*#__PURE__*/Object.freeze({ + __proto__: null, + ITornadoInstance__factory: ITornadoInstance__factory$1, + TornadoProxyLight__factory: TornadoProxyLight__factory +}); + +const _abi$1h = [ + { + inputs: [], + name: "DOMAIN_SEPARATOR", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + } + ], + name: "nonces", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "value", + type: "uint256" + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256" + }, + { + internalType: "uint8", + name: "v", + type: "uint8" + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32" + } + ], + name: "permit", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; +class IERC20__factory { + static createInterface() { + return new ethers.Interface(_abi$1h); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$1h, runner); + } +} +IERC20__factory.abi = _abi$1h; + +var index$B = /*#__PURE__*/Object.freeze({ + __proto__: null, + IERC20__factory: IERC20__factory +}); + +const _abi$1g = [ + { + inputs: [ + { + internalType: "contract IVerifier", + name: "_verifier", + type: "address" + }, + { + internalType: "contract IHasher", + name: "_hasher", + type: "address" + }, + { + internalType: "uint256", + name: "_denomination", + type: "uint256" + }, + { + internalType: "uint32", + name: "_merkleTreeHeight", + type: "uint32" + }, + { + internalType: "contract IERC20", + name: "_token", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "commitment", + type: "bytes32" + }, + { + indexed: false, + internalType: "uint32", + name: "leafIndex", + type: "uint32" + }, + { + indexed: false, + internalType: "uint256", + name: "timestamp", + type: "uint256" + } + ], + name: "Deposit", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "bytes32", + name: "nullifierHash", + type: "bytes32" + }, + { + indexed: true, + internalType: "address", + name: "relayer", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "fee", + type: "uint256" + } + ], + name: "Withdrawal", + type: "event" + }, + { + inputs: [], + name: "FIELD_SIZE", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "ROOT_HISTORY_SIZE", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "ZERO_VALUE", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + name: "commitments", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "currentRootIndex", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "denomination", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_commitment", + type: "bytes32" + } + ], + name: "deposit", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + name: "filledSubtrees", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "getLastRoot", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract IHasher", + name: "_hasher", + type: "address" + }, + { + internalType: "bytes32", + name: "_left", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "_right", + type: "bytes32" + } + ], + name: "hashLeftRight", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "pure", + type: "function" + }, + { + inputs: [], + name: "hasher", + outputs: [ + { + internalType: "contract IHasher", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_root", + type: "bytes32" + } + ], + name: "isKnownRoot", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_nullifierHash", + type: "bytes32" + } + ], + name: "isSpent", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32[]", + name: "_nullifierHashes", + type: "bytes32[]" + } + ], + name: "isSpentArray", + outputs: [ + { + internalType: "bool[]", + name: "spent", + type: "bool[]" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "levels", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "nextIndex", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + name: "nullifierHashes", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + name: "roots", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "token", + outputs: [ + { + internalType: "contract IERC20", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "verifier", + outputs: [ + { + internalType: "contract IVerifier", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes", + name: "_proof", + type: "bytes" + }, + { + internalType: "bytes32", + name: "_root", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "_nullifierHash", + type: "bytes32" + }, + { + internalType: "address payable", + name: "_recipient", + type: "address" + }, + { + internalType: "address payable", + name: "_relayer", + type: "address" + }, + { + internalType: "uint256", + name: "_fee", + type: "uint256" + }, + { + internalType: "uint256", + name: "_refund", + type: "uint256" + } + ], + name: "withdraw", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + name: "zeros", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "view", + type: "function" + } +]; +const _bytecode$N = "0x610120604052600380546001600160401b031916905534801561002157600080fd5b50604051611db8380380611db883398101604081905261004091610420565b84848484808360008263ffffffff16116100ad5760405162461bcd60e51b815260206004820152602360248201527f5f6c6576656c732073686f756c642062652067726561746572207468616e207a60448201526265726f60e81b60648201526084015b60405180910390fd5b60208263ffffffff16106101035760405162461bcd60e51b815260206004820152601e60248201527f5f6c6576656c732073686f756c64206265206c657373207468616e203332000060448201526064016100a4565b63ffffffff821660a0526001600160a01b0381166080527f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c60005b8363ffffffff168163ffffffff16101561018b5763ffffffff8116600090815260016020908152604080832085905590829052902082905561018183838061023b565b915060010161013e565b506000805260026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5550506001600455816102195760405162461bcd60e51b815260206004820152602560248201527f64656e6f6d696e6174696f6e2073686f756c6420626520677265617465722074604482015264068616e20360dc1b60648201526084016100a4565b506001600160a01b0392831660c05260e052501661010052506104b892505050565b6000600080516020611d98833981519152831061029a5760405162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c6460448201526064016100a4565b600080516020611d9883398151915282106103015760405162461bcd60e51b815260206004820152602160248201527f5f72696768742073686f756c6420626520696e7369646520746865206669656c6044820152601960fa1b60648201526084016100a4565b60405163f47d33b560e01b81526004810184905260006024820181905284916001600160a01b0387169063f47d33b5906044016040805180830381865afa158015610350573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103749190610494565b9092509050600080516020611d9883398151915284830860405163f47d33b560e01b815260048101829052602481018390529092506001600160a01b0387169063f47d33b5906044016040805180830381865afa1580156103d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103fd9190610494565b509695505050505050565b6001600160a01b038116811461041d57600080fd5b50565b600080600080600060a0868803121561043857600080fd5b855161044381610408565b602087015190955061045481610408565b60408701516060880151919550935063ffffffff8116811461047557600080fd5b608087015190925061048681610408565b809150509295509295909350565b600080604083850312156104a757600080fd5b505080516020909101519092909150565b60805160a05160c05160e05161010051611856610542600039600081816104ca01528181610cfa01528181610d34015261108e0152600081816102bb0152818161056f01528181610ccc01526110b20152600081816101a601526106d801526000818161022201528181610e150152610eb70152600081816104690152610f4f01526118566000f3fe6080604052600436106101355760003560e01c8063b214faa5116100ab578063e82955881161006f578063e8295588146103f6578063ec73295914610423578063ed33639f14610457578063f178e47c1461048b578063fc0c546a146104b8578063fc7e9c6f146104ec57600080fd5b8063b214faa514610347578063ba70f7571461035a578063c2b40ae414610384578063cd87a3b4146103b1578063e5285dcc146103c657600080fd5b80636d9833e3116100fd5780636d9833e314610259578063839df945146102795780638bca6d16146102a95780638ea3099e146102dd57806390eeb02b146102fd5780639fa12d0b1461031a57600080fd5b806317cc915c1461013a57806321a0adb61461017f5780632b7ac3f314610194578063414a37ba146101e05780634ecf518b14610210575b600080fd5b34801561014657600080fd5b5061016a61015536600461131d565b60056020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b61019261018d36600461135e565b610511565b005b3480156101a057600080fd5b506101c87f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610176565b3480156101ec57600080fd5b5061020260008051602061180183398151915281565b604051908152602001610176565b34801561021c57600080fd5b506102447f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff9091168152602001610176565b34801561026557600080fd5b5061016a61027436600461131d565b61081c565b34801561028557600080fd5b5061016a61029436600461131d565b60066020526000908152604090205460ff1681565b3480156102b557600080fd5b506102027f000000000000000000000000000000000000000000000000000000000000000081565b3480156102e957600080fd5b506102026102f8366004611414565b61089a565b34801561030957600080fd5b506003546102449063ffffffff1681565b34801561032657600080fd5b5061033a610335366004611449565b610a67565b60405161017691906114be565b61019261035536600461131d565b610b23565b34801561036657600080fd5b5060035463ffffffff16600090815260026020526040902054610202565b34801561039057600080fd5b5061020261039f36600461131d565b60026020526000908152604090205481565b3480156103bd57600080fd5b50610244601e81565b3480156103d257600080fd5b5061016a6103e136600461131d565b60009081526005602052604090205460ff1690565b34801561040257600080fd5b5061020261041136600461131d565b60016020526000908152604090205481565b34801561042f57600080fd5b506102027f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c81565b34801561046357600080fd5b506101c87f000000000000000000000000000000000000000000000000000000000000000081565b34801561049757600080fd5b506102026104a636600461131d565b60006020819052908152604090205481565b3480156104c457600080fd5b506101c87f000000000000000000000000000000000000000000000000000000000000000081565b3480156104f857600080fd5b5060035461024490640100000000900463ffffffff1681565b6002600454036105685760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b60026004557f00000000000000000000000000000000000000000000000000000000000000008211156105dd5760405162461bcd60e51b815260206004820152601a60248201527f4665652065786365656473207472616e736665722076616c7565000000000000604482015260640161055f565b60008581526005602052604090205460ff161561063c5760405162461bcd60e51b815260206004820152601f60248201527f546865206e6f746520686173206265656e20616c7265616479207370656e7400604482015260640161055f565b6106458661081c565b6106915760405162461bcd60e51b815260206004820152601c60248201527f43616e6e6f742066696e6420796f7572206d65726b6c6520726f6f7400000000604482015260640161055f565b6040805160c081018252878152602081018790526001600160a01b038681168284015285811660608301526080820185905260a08201849052915163695ef6f960e01b81527f00000000000000000000000000000000000000000000000000000000000000009092169163695ef6f991610711918c918c91600401611504565b6020604051808303816000875af1158015610730573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107549190611562565b6107995760405162461bcd60e51b815260206004820152601660248201527524b73b30b634b2103bb4ba34323930bb90383937b7b360511b604482015260640161055f565b6000858152600560205260409020805460ff191660011790556107be84848484610c5a565b604080516001600160a01b03868116825260208201889052918101849052908416907fe9e508bad6d4c3227e881ca19068f099da81b5164dd6d62b2eaf1e8bc6c349319060600160405180910390a250506001600455505050505050565b600081810361082d57506000919050565b60035463ffffffff16805b63ffffffff8116600090815260026020526040902054840361085e575060019392505050565b8063ffffffff166000036108705750601e5b8061087a816115a1565b9150508163ffffffff168163ffffffff1603610838575060009392505050565b600060008051602061180183398151915283106108f95760405162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c64604482015260640161055f565b60008051602061180183398151915282106109605760405162461bcd60e51b815260206004820152602160248201527f5f72696768742073686f756c6420626520696e7369646520746865206669656c6044820152601960fa1b606482015260840161055f565b60405163f47d33b560e01b81526004810184905260006024820181905284916001600160a01b0387169063f47d33b5906044016040805180830381865afa1580156109af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d391906115c1565b909250905060008051602061180183398151915284830860405163f47d33b560e01b815260048101829052602481018390529092506001600160a01b0387169063f47d33b5906044016040805180830381865afa158015610a38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a5c91906115c1565b509695505050505050565b60608167ffffffffffffffff811115610a8257610a826115fb565b604051908082528060200260200182016040528015610aab578160200160208202803683370190505b50905060005b82811015610b1c57610aea848483818110610ace57610ace611611565b9050602002013560009081526005602052604090205460ff1690565b15610b14576001828281518110610b0357610b03611611565b911515602092830291909101909101525b600101610ab1565b5092915050565b600260045403610b755760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161055f565b600260045560008181526006602052604090205460ff1615610be35760405162461bcd60e51b815260206004820152602160248201527f54686520636f6d6d69746d656e7420686173206265656e207375626d697474656044820152601960fa1b606482015260840161055f565b6000610bee82610dfc565b6000838152600660205260409020805460ff191660011790559050610c1161101a565b6040805163ffffffff8316815242602082015283917fa945e51eec50ab98c161376f0db4cf2aeba3ec92755fe2fcd388bdbbb80ff196910160405180910390a250506001600455565b803414610cc25760405162461bcd60e51b815260206004820152603060248201527f496e636f727265637420726566756e6420616d6f756e7420726563656976656460448201526f08189e481d1a194818dbdb9d1c9858dd60821b606482015260840161055f565b610d2184610cf0847f0000000000000000000000000000000000000000000000000000000000000000611627565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691906110d8565b8115610d5b57610d5b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001684846110d8565b8015610df6576000846001600160a01b03168260405160006040518083038185875af1925050503d8060008114610dae576040519150601f19603f3d011682016040523d82523d6000602084013e610db3565b606091505b5050905080610df4576040516001600160a01b0385169083156108fc029084906000818181858888f19350505050158015610df2573d6000803e3d6000fd5b505b505b50505050565b600354600090640100000000900463ffffffff16610e3b7f00000000000000000000000000000000000000000000000000000000000000006002611751565b63ffffffff168163ffffffff1603610eae5760405162461bcd60e51b815260206004820152603060248201527f4d65726b6c6520747265652069732066756c6c2e204e6f206d6f7265206c656160448201526f1d995cc818d85b88189948185919195960821b606482015260840161055f565b8083600080805b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff168163ffffffff161015610f8c57610ef460028661176e565b63ffffffff16600003610f2e5763ffffffff8116600090815260016020908152604080832054918390529091208590558493509150610f4a565b63ffffffff811660009081526020819052604090205492508391505b610f757f0000000000000000000000000000000000000000000000000000000000000000848461089a565b9350610f82600286611791565b9450600101610eb5565b50600354600090601e90610fa79063ffffffff1660016117b4565b610fb1919061176e565b6003805463ffffffff191663ffffffff831690811790915560009081526002602052604090208590559050610fe78660016117b4565b6003805463ffffffff929092166401000000000267ffffffff000000001990921691909117905550939695505050505050565b34156110815760405162461bcd60e51b815260206004820152603060248201527f4554482076616c756520697320737570706f73656420746f206265203020666f60448201526f7220455243323020696e7374616e636560801b606482015260840161055f565b6110d66001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633307f00000000000000000000000000000000000000000000000000000000000000006111f1565b565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b179052915160009283929087169161113491906117d1565b6000604051808303816000865af19150503d8060008114611171576040519150601f19603f3d011682016040523d82523d6000602084013e611176565b606091505b50915091508161118857805181602001fd5b805115806111a55750808060200190518101906111a59190611562565b610df45760405162461bcd60e51b815260206004820152601e60248201527f5361666545524332303a20736166655472616e73666572206661696c65640000604482015260640161055f565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b179052915160009283929088169161125591906117d1565b6000604051808303816000865af19150503d8060008114611292576040519150601f19603f3d011682016040523d82523d6000602084013e611297565b606091505b5091509150816112a957805181602001fd5b805115806112c65750808060200190518101906112c69190611562565b610df25760405162461bcd60e51b815260206004820152602260248201527f5361666545524332303a20736166655472616e7366657246726f6d206661696c604482015261195960f21b606482015260840161055f565b60006020828403121561132f57600080fd5b5035919050565b6001600160a01b038116811461134b57600080fd5b50565b803561135981611336565b919050565b60008060008060008060008060e0898b03121561137a57600080fd5b883567ffffffffffffffff8082111561139257600080fd5b818b0191508b601f8301126113a657600080fd5b8135818111156113b557600080fd5b8c60208285010111156113c757600080fd5b60209283019a509850508901359550604089013594506113e960608a0161134e565b93506113f760808a0161134e565b925060a0890135915060c089013590509295985092959890939650565b60008060006060848603121561142957600080fd5b833561143481611336565b95602085013595506040909401359392505050565b6000806020838503121561145c57600080fd5b823567ffffffffffffffff8082111561147457600080fd5b818501915085601f83011261148857600080fd5b81358181111561149757600080fd5b8660208260051b85010111156114ac57600080fd5b60209290920196919550909350505050565b6020808252825182820181905260009190848201906040850190845b818110156114f85783511515835292840192918401916001016114da565b50909695505050505050565b60e081528260e08201526000610100848682850137600081868501015280601f19601f87011684010191505060208083018460005b600681101561155657815183529183019190830190600101611539565b50505050949350505050565b60006020828403121561157457600080fd5b8151801515811461158457600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b600063ffffffff8216806115b7576115b761158b565b6000190192915050565b600080604083850312156115d457600080fd5b505080516020909101519092909150565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b8181038181111561163a5761163a61158b565b92915050565b600181815b8085111561167d578163ffffffff048211156116635761166361158b565b8085161561167057918102915b93841c9390800290611645565b509250929050565b6000826116945750600161163a565b816116a15750600061163a565b81600181146116b757600281146116c1576116f2565b600191505061163a565b60ff8411156116d2576116d261158b565b6001841b915063ffffffff8211156116ec576116ec61158b565b5061163a565b5060208310610133831016604e8410600b8410161715611729575081810a63ffffffff8111156117245761172461158b565b61163a565b6117338383611640565b8063ffffffff048211156117495761174961158b565b029392505050565b600063ffffffff611766818516828516611685565b949350505050565b600063ffffffff80841680611785576117856115e5565b92169190910692915050565b600063ffffffff808416806117a8576117a86115e5565b92169190910492915050565b63ffffffff818116838216019080821115610b1c57610b1c61158b565b6000825160005b818110156117f257602081860181015185830152016117d8565b50600092019182525091905056fe30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001a264697066735822122090d9706fb3f8afcde53068158f22289b2796e92f9b67b63271c1f6de497a540f64736f6c6343000819003330644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001"; +const isSuperArgs$N = (xs) => xs.length > 1; +class ERC20Tornado__factory extends ethers.ContractFactory { + constructor(...args) { + if (isSuperArgs$N(args)) { + super(...args); + } else { + super(_abi$1g, _bytecode$N, args[0]); + } + } + getDeployTransaction(_verifier, _hasher, _denomination, _merkleTreeHeight, _token, overrides) { + return super.getDeployTransaction( + _verifier, + _hasher, + _denomination, + _merkleTreeHeight, + _token, + overrides || {} + ); + } + deploy(_verifier, _hasher, _denomination, _merkleTreeHeight, _token, overrides) { + return super.deploy( + _verifier, + _hasher, + _denomination, + _merkleTreeHeight, + _token, + overrides || {} + ); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new ethers.Interface(_abi$1g); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$1g, runner); + } +} +ERC20Tornado__factory.bytecode = _bytecode$N; +ERC20Tornado__factory.abi = _abi$1g; + +const _abi$1f = [ + { + inputs: [ + { + internalType: "contract IVerifier", + name: "_verifier", + type: "address" + }, + { + internalType: "contract IHasher", + name: "_hasher", + type: "address" + }, + { + internalType: "uint256", + name: "_denomination", + type: "uint256" + }, + { + internalType: "uint32", + name: "_merkleTreeHeight", + type: "uint32" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "commitment", + type: "bytes32" + }, + { + indexed: false, + internalType: "uint32", + name: "leafIndex", + type: "uint32" + }, + { + indexed: false, + internalType: "uint256", + name: "timestamp", + type: "uint256" + } + ], + name: "Deposit", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "bytes32", + name: "nullifierHash", + type: "bytes32" + }, + { + indexed: true, + internalType: "address", + name: "relayer", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "fee", + type: "uint256" + } + ], + name: "Withdrawal", + type: "event" + }, + { + inputs: [], + name: "FIELD_SIZE", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "ROOT_HISTORY_SIZE", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "ZERO_VALUE", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + name: "commitments", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "currentRootIndex", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "denomination", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_commitment", + type: "bytes32" + } + ], + name: "deposit", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + name: "filledSubtrees", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "getLastRoot", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract IHasher", + name: "_hasher", + type: "address" + }, + { + internalType: "bytes32", + name: "_left", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "_right", + type: "bytes32" + } + ], + name: "hashLeftRight", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "pure", + type: "function" + }, + { + inputs: [], + name: "hasher", + outputs: [ + { + internalType: "contract IHasher", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_root", + type: "bytes32" + } + ], + name: "isKnownRoot", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_nullifierHash", + type: "bytes32" + } + ], + name: "isSpent", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32[]", + name: "_nullifierHashes", + type: "bytes32[]" + } + ], + name: "isSpentArray", + outputs: [ + { + internalType: "bool[]", + name: "spent", + type: "bool[]" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "levels", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "nextIndex", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + name: "nullifierHashes", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + name: "roots", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "verifier", + outputs: [ + { + internalType: "contract IVerifier", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes", + name: "_proof", + type: "bytes" + }, + { + internalType: "bytes32", + name: "_root", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "_nullifierHash", + type: "bytes32" + }, + { + internalType: "address payable", + name: "_recipient", + type: "address" + }, + { + internalType: "address payable", + name: "_relayer", + type: "address" + }, + { + internalType: "uint256", + name: "_fee", + type: "uint256" + }, + { + internalType: "uint256", + name: "_refund", + type: "uint256" + } + ], + name: "withdraw", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + name: "zeros", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "view", + type: "function" + } +]; +const _bytecode$M = "0x610100604052600380546001600160401b031916905534801561002157600080fd5b50604051611b68380380611b688339810160408190526100409161041b565b83838383808360008263ffffffff16116100ad5760405162461bcd60e51b815260206004820152602360248201527f5f6c6576656c732073686f756c642062652067726561746572207468616e207a60448201526265726f60e81b60648201526084015b60405180910390fd5b60208263ffffffff16106101035760405162461bcd60e51b815260206004820152601e60248201527f5f6c6576656c732073686f756c64206265206c657373207468616e203332000060448201526064016100a4565b63ffffffff821660a0526001600160a01b0381166080527f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c60005b8363ffffffff168163ffffffff16101561018b5763ffffffff81166000908152600160209081526040808320859055908290529020829055610181838380610236565b915060010161013e565b506000805260026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5550506001600455816102195760405162461bcd60e51b815260206004820152602560248201527f64656e6f6d696e6174696f6e2073686f756c6420626520677265617465722074604482015264068616e20360dc1b60648201526084016100a4565b506001600160a01b0390921660c0525060e0525061049d92505050565b6000600080516020611b4883398151915283106102955760405162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c6460448201526064016100a4565b600080516020611b4883398151915282106102fc5760405162461bcd60e51b815260206004820152602160248201527f5f72696768742073686f756c6420626520696e7369646520746865206669656c6044820152601960fa1b60648201526084016100a4565b60405163f47d33b560e01b81526004810184905260006024820181905284916001600160a01b0387169063f47d33b5906044016040805180830381865afa15801561034b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061036f9190610479565b9092509050600080516020611b4883398151915284830860405163f47d33b560e01b815260048101829052602481018390529092506001600160a01b0387169063f47d33b5906044016040805180830381865afa1580156103d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103f89190610479565b509695505050505050565b6001600160a01b038116811461041857600080fd5b50565b6000806000806080858703121561043157600080fd5b845161043c81610403565b602086015190945061044d81610403565b60408601516060870151919450925063ffffffff8116811461046e57600080fd5b939692955090935050565b6000806040838503121561048c57600080fd5b505080516020909101519092909150565b60805160a05160c05160e051611641610507600039600081816102b00152818161053001528181610d0401526110a201526000818161019b015261069901526000818161021701528181610e9b0152610f3d01526000818161045e0152610fd501526116416000f3fe60806040526004361061012a5760003560e01c80639fa12d0b116100ab578063e5285dcc1161006f578063e5285dcc146103bb578063e8295588146103eb578063ec73295914610418578063ed33639f1461044c578063f178e47c14610480578063fc7e9c6f146104ad57600080fd5b80639fa12d0b1461030f578063b214faa51461033c578063ba70f7571461034f578063c2b40ae414610379578063cd87a3b4146103a657600080fd5b80636d9833e3116100f25780636d9833e31461024e578063839df9451461026e5780638bca6d161461029e5780638ea3099e146102d257806390eeb02b146102f257600080fd5b806317cc915c1461012f57806321a0adb6146101745780632b7ac3f314610189578063414a37ba146101d55780634ecf518b14610205575b600080fd5b34801561013b57600080fd5b5061015f61014a366004611137565b60056020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b610187610182366004611178565b6104d2565b005b34801561019557600080fd5b506101bd7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161016b565b3480156101e157600080fd5b506101f76000805160206115ec83398151915281565b60405190815260200161016b565b34801561021157600080fd5b506102397f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff909116815260200161016b565b34801561025a57600080fd5b5061015f610269366004611137565b6107dd565b34801561027a57600080fd5b5061015f610289366004611137565b60066020526000908152604090205460ff1681565b3480156102aa57600080fd5b506101f77f000000000000000000000000000000000000000000000000000000000000000081565b3480156102de57600080fd5b506101f76102ed36600461122e565b61085b565b3480156102fe57600080fd5b506003546102399063ffffffff1681565b34801561031b57600080fd5b5061032f61032a366004611263565b610a28565b60405161016b91906112d8565b61018761034a366004611137565b610ae4565b34801561035b57600080fd5b5060035463ffffffff166000908152600260205260409020546101f7565b34801561038557600080fd5b506101f7610394366004611137565b60026020526000908152604090205481565b3480156103b257600080fd5b50610239601e81565b3480156103c757600080fd5b5061015f6103d6366004611137565b60009081526005602052604090205460ff1690565b3480156103f757600080fd5b506101f7610406366004611137565b60016020526000908152604090205481565b34801561042457600080fd5b506101f77f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c81565b34801561045857600080fd5b506101bd7f000000000000000000000000000000000000000000000000000000000000000081565b34801561048c57600080fd5b506101f761049b366004611137565b60006020819052908152604090205481565b3480156104b957600080fd5b5060035461023990640100000000900463ffffffff1681565b6002600454036105295760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b60026004557f000000000000000000000000000000000000000000000000000000000000000082111561059e5760405162461bcd60e51b815260206004820152601a60248201527f4665652065786365656473207472616e736665722076616c75650000000000006044820152606401610520565b60008581526005602052604090205460ff16156105fd5760405162461bcd60e51b815260206004820152601f60248201527f546865206e6f746520686173206265656e20616c7265616479207370656e74006044820152606401610520565b610606866107dd565b6106525760405162461bcd60e51b815260206004820152601c60248201527f43616e6e6f742066696e6420796f7572206d65726b6c6520726f6f74000000006044820152606401610520565b6040805160c081018252878152602081018790526001600160a01b038681168284015285811660608301526080820185905260a08201849052915163695ef6f960e01b81527f00000000000000000000000000000000000000000000000000000000000000009092169163695ef6f9916106d2918c918c9160040161131e565b6020604051808303816000875af11580156106f1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610715919061137c565b61075a5760405162461bcd60e51b815260206004820152601660248201527524b73b30b634b2103bb4ba34323930bb90383937b7b360511b6044820152606401610520565b6000858152600560205260409020805460ff1916600117905561077f84848484610c1b565b604080516001600160a01b03868116825260208201889052918101849052908416907fe9e508bad6d4c3227e881ca19068f099da81b5164dd6d62b2eaf1e8bc6c349319060600160405180910390a250506001600455505050505050565b60008181036107ee57506000919050565b60035463ffffffff16805b63ffffffff8116600090815260026020526040902054840361081f575060019392505050565b8063ffffffff166000036108315750601e5b8061083b816113bb565b9150508163ffffffff168163ffffffff16036107f9575060009392505050565b60006000805160206115ec83398151915283106108ba5760405162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c646044820152606401610520565b6000805160206115ec83398151915282106109215760405162461bcd60e51b815260206004820152602160248201527f5f72696768742073686f756c6420626520696e7369646520746865206669656c6044820152601960fa1b6064820152608401610520565b60405163f47d33b560e01b81526004810184905260006024820181905284916001600160a01b0387169063f47d33b5906044016040805180830381865afa158015610970573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099491906113db565b90925090506000805160206115ec83398151915284830860405163f47d33b560e01b815260048101829052602481018390529092506001600160a01b0387169063f47d33b5906044016040805180830381865afa1580156109f9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1d91906113db565b509695505050505050565b60608167ffffffffffffffff811115610a4357610a43611415565b604051908082528060200260200182016040528015610a6c578160200160208202803683370190505b50905060005b82811015610add57610aab848483818110610a8f57610a8f61142b565b9050602002013560009081526005602052604090205460ff1690565b15610ad5576001828281518110610ac457610ac461142b565b911515602092830291909101909101525b600101610a72565b5092915050565b600260045403610b365760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610520565b600260045560008181526006602052604090205460ff1615610ba45760405162461bcd60e51b815260206004820152602160248201527f54686520636f6d6d69746d656e7420686173206265656e207375626d697474656044820152601960fa1b6064820152608401610520565b6000610baf82610e82565b6000838152600660205260409020805460ff191660011790559050610bd26110a0565b6040805163ffffffff8316815242602082015283917fa945e51eec50ab98c161376f0db4cf2aeba3ec92755fe2fcd388bdbbb80ff196910160405180910390a250506001600455565b3415610c875760405162461bcd60e51b815260206004820152603560248201527f4d6573736167652076616c756520697320737570706f73656420746f206265206044820152747a65726f20666f722045544820696e7374616e636560581b6064820152608401610520565b8015610cf25760405162461bcd60e51b815260206004820152603460248201527f526566756e642076616c756520697320737570706f73656420746f206265207a60448201527365726f20666f722045544820696e7374616e636560601b6064820152608401610520565b60006001600160a01b038516610d28847f0000000000000000000000000000000000000000000000000000000000000000611441565b604051600081818185875af1925050503d8060008114610d64576040519150601f19603f3d011682016040523d82523d6000602084013e610d69565b606091505b5050905080610dc85760405162461bcd60e51b815260206004820152602560248201527f7061796d656e7420746f205f726563697069656e7420646964206e6f7420676f604482015264207468727560d81b6064820152608401610520565b8215610e7b576040516001600160a01b038516908490600081818185875af1925050503d8060008114610e17576040519150601f19603f3d011682016040523d82523d6000602084013e610e1c565b606091505b50508091505080610e7b5760405162461bcd60e51b815260206004820152602360248201527f7061796d656e7420746f205f72656c6179657220646964206e6f7420676f207460448201526268727560e81b6064820152608401610520565b5050505050565b600354600090640100000000900463ffffffff16610ec17f0000000000000000000000000000000000000000000000000000000000000000600261156b565b63ffffffff168163ffffffff1603610f345760405162461bcd60e51b815260206004820152603060248201527f4d65726b6c6520747265652069732066756c6c2e204e6f206d6f7265206c656160448201526f1d995cc818d85b88189948185919195960821b6064820152608401610520565b8083600080805b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff168163ffffffff16101561101257610f7a600286611588565b63ffffffff16600003610fb45763ffffffff8116600090815260016020908152604080832054918390529091208590558493509150610fd0565b63ffffffff811660009081526020819052604090205492508391505b610ffb7f0000000000000000000000000000000000000000000000000000000000000000848461085b565b93506110086002866115ab565b9450600101610f3b565b50600354600090601e9061102d9063ffffffff1660016115ce565b6110379190611588565b6003805463ffffffff191663ffffffff83169081179091556000908152600260205260409020859055905061106d8660016115ce565b6003805463ffffffff929092166401000000000267ffffffff000000001990921691909117905550939695505050505050565b7f000000000000000000000000000000000000000000000000000000000000000034146111355760405162461bcd60e51b815260206004820152603860248201527f506c656173652073656e6420606d697844656e6f6d696e6174696f6e6020455460448201527f4820616c6f6e672077697468207472616e73616374696f6e00000000000000006064820152608401610520565b565b60006020828403121561114957600080fd5b5035919050565b6001600160a01b038116811461116557600080fd5b50565b803561117381611150565b919050565b60008060008060008060008060e0898b03121561119457600080fd5b883567ffffffffffffffff808211156111ac57600080fd5b818b0191508b601f8301126111c057600080fd5b8135818111156111cf57600080fd5b8c60208285010111156111e157600080fd5b60209283019a5098505089013595506040890135945061120360608a01611168565b935061121160808a01611168565b925060a0890135915060c089013590509295985092959890939650565b60008060006060848603121561124357600080fd5b833561124e81611150565b95602085013595506040909401359392505050565b6000806020838503121561127657600080fd5b823567ffffffffffffffff8082111561128e57600080fd5b818501915085601f8301126112a257600080fd5b8135818111156112b157600080fd5b8660208260051b85010111156112c657600080fd5b60209290920196919550909350505050565b6020808252825182820181905260009190848201906040850190845b818110156113125783511515835292840192918401916001016112f4565b50909695505050505050565b60e081528260e08201526000610100848682850137600081868501015280601f19601f87011684010191505060208083018460005b600681101561137057815183529183019190830190600101611353565b50505050949350505050565b60006020828403121561138e57600080fd5b8151801515811461139e57600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b600063ffffffff8216806113d1576113d16113a5565b6000190192915050565b600080604083850312156113ee57600080fd5b505080516020909101519092909150565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b81810381811115611454576114546113a5565b92915050565b600181815b80851115611497578163ffffffff0482111561147d5761147d6113a5565b8085161561148a57918102915b93841c939080029061145f565b509250929050565b6000826114ae57506001611454565b816114bb57506000611454565b81600181146114d157600281146114db5761150c565b6001915050611454565b60ff8411156114ec576114ec6113a5565b6001841b915063ffffffff821115611506576115066113a5565b50611454565b5060208310610133831016604e8410600b8410161715611543575081810a63ffffffff81111561153e5761153e6113a5565b611454565b61154d838361145a565b8063ffffffff04821115611563576115636113a5565b029392505050565b600063ffffffff61158081851682851661149f565b949350505050565b600063ffffffff8084168061159f5761159f6113ff565b92169190910692915050565b600063ffffffff808416806115c2576115c26113ff565b92169190910492915050565b63ffffffff818116838216019080821115610add57610add6113a556fe30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001a2646970667358221220267f40202364f981d5a2318bca43d1a8beff64b8785905fc2621de01f8449b3964736f6c6343000819003330644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001"; +const isSuperArgs$M = (xs) => xs.length > 1; +class ETHTornado__factory extends ethers.ContractFactory { + constructor(...args) { + if (isSuperArgs$M(args)) { + super(...args); + } else { + super(_abi$1f, _bytecode$M, args[0]); + } + } + getDeployTransaction(_verifier, _hasher, _denomination, _merkleTreeHeight, overrides) { + return super.getDeployTransaction( + _verifier, + _hasher, + _denomination, + _merkleTreeHeight, + overrides || {} + ); + } + deploy(_verifier, _hasher, _denomination, _merkleTreeHeight, overrides) { + return super.deploy( + _verifier, + _hasher, + _denomination, + _merkleTreeHeight, + overrides || {} + ); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new ethers.Interface(_abi$1f); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$1f, runner); + } +} +ETHTornado__factory.bytecode = _bytecode$M; +ETHTornado__factory.abi = _abi$1f; + +const _abi$1e = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "who", + type: "address" + }, + { + indexed: false, + internalType: "bytes", + name: "data", + type: "bytes" + } + ], + name: "Echo", + type: "event" + }, + { + inputs: [ + { + internalType: "bytes", + name: "_data", + type: "bytes" + } + ], + name: "echo", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; +const _bytecode$L = "0x6080604052348015600f57600080fd5b506101638061001f6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063624fbfdc14610030575b600080fd5b61004361003e36600461008c565b610045565b005b336001600160a01b03167f50d6f3fc915efd1695d8a4cb50da185984f50d256834b9cb308295eb3c872c9c83836040516100809291906100fe565b60405180910390a25050565b6000806020838503121561009f57600080fd5b823567ffffffffffffffff808211156100b757600080fd5b818501915085601f8301126100cb57600080fd5b8135818111156100da57600080fd5b8660208285010111156100ec57600080fd5b60209290920196919550909350505050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f1916010191905056fea2646970667358221220cadc2288aafcfeb373ae536503c025419ca51a0b1642ad003ff215a6bff8658464736f6c63430008190033"; +const isSuperArgs$L = (xs) => xs.length > 1; +class Echoer__factory extends ethers.ContractFactory { + constructor(...args) { + if (isSuperArgs$L(args)) { + super(...args); + } else { + super(_abi$1e, _bytecode$L, args[0]); + } + } + getDeployTransaction(overrides) { + return super.getDeployTransaction(overrides || {}); + } + deploy(overrides) { + return super.deploy(overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new ethers.Interface(_abi$1e); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$1e, runner); + } +} +Echoer__factory.bytecode = _bytecode$L; +Echoer__factory.abi = _abi$1e; + +const _abi$1d = [ + { + inputs: [ + { + internalType: "bytes", + name: "proof", + type: "bytes" + }, + { + internalType: "uint256[6]", + name: "input", + type: "uint256[6]" + } + ], + name: "verifyProof", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + } +]; +const _bytecode$K = "0x6080604052348015600f57600080fd5b506110d08061001f6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063695ef6f914610030575b600080fd5b61004361003e366004610eca565b610057565b604051901515815260200160405180910390f35b6000808380602001905181019061006e9190610f71565b905060005b60088160ff161015610129577f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47828260ff16600881106100b5576100b5610ff0565b6020020151106101175760405162461bcd60e51b815260206004820152602260248201527f76657269666965722d70726f6f662d656c656d656e742d6774652d7072696d656044820152612d7160f01b60648201526084015b60405180910390fd5b806101218161101c565b915050610073565b50610132610ca2565b6040805180820182528351815260208085015181830152908352815160808082018452858401518285019081526060808801519084015282528351808501855290860151815260a08601518184015281830152838201528151808301835260c0850151815260e0850151918101919091529082015260006101b1610321565b90506000604051806040016040528060008152602001600081525090506101f38183608001516000600781106101e9576101e9610ff0565b60200201516107ec565b905060005b60068110156102df577f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000187826006811061023457610234610ff0565b6020020151106102865760405162461bcd60e51b815260206004820152601f60248201527f76657269666965722d6774652d736e61726b2d7363616c61722d6669656c6400604482015260640161010e565b6102d5826102d0856080015184600161029f919061103b565b600781106102af576102af610ff0565b60200201518a85600681106102c6576102c6610ff0565b602002015161088d565b6107ec565b91506001016101f8565b506103146102f0846000015161091b565b846020015184600001518560200151858760400151896040015189606001516109d5565b9450505050505b92915050565b610329610cf3565b6040805180820182527f2dbfc3ec62a3eee5a3b4b464bcf1f8527bbca12adea0f1f12033cd4f61b0e09181527f19e55bd0b72c126da18665039556776642ff82e2f347f24fcea2475f4db087df6020808301919091529083528151608080820184527f1ae724ab134e5a7c6bd8a116fa5505b259522c0f164a5e8126e3ec7d34465f6e8285019081527e9f1bcdc853f8e3531756bb625b0d1dc014f4ab57c3f79f4f4e2e7ef7e0ead6606080850191909152908352845180860186527f23a8ca5760457e726365b92fd0ceb486665797cd68c35dcffd8e4ae8066691e981527f13ec7182c9fd68331a10f8be0fe885d730de5c7f89aa7d0b7bafaa009bbc9e3e818601528385015285840192909252835180820185527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c28186019081527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed828501528152845180860186527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b81527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa818601528185015285850152835180820185527f2f0c63d0c53b3dfbca27b6b43ae7fbf55a38d78a21470996485b03128accc2088186019081527e556502356e37ed150db2e36531b0f275fd6835c0fc1945922e270b48c48a86828501528152845180860186527f02644c27b5dbd793592a70b735e22c798a5e309fa17a992a7dc2a050e01b298f81527f194776b6a53439d7336f389d2a8f6651e40885f5ca2538b0dc9cb534fb23f7fa818601528185015282860152835180850185527f23df1bc9165e9c1c9b2bc036d8ebdd10e7aeae7e5e8019fde68aec7c818bb23e81527f0b6c92080d37c5fb2ddf30892a33665e5478432ef3f71ac8768ecbbe62c7789281850152818601805191909152845180860186527f1c7b2adf45e046caea000956b2ecb2d8617e710d2a7bb201a95ea276f92307b481527f2b15f07536f45948cf4abe6596637d902ffabb18c8c2f5c151544c294ce4a672818601528151850152845180860186527f1cecfe92882a8c835a47bf01bfa655cf628cbba7f81cf4042179fd13edcd6a3981527f0154bfbb2cb786ca247d4b69183d1751f267bbc7656be8d0f0e7a5a47e2c1101818601528151860152845180860186527f1584616a7423efcc72f69ea84fa0b2bc01433677297f4e8351bebfc15bcd0cda81527f0623755b1488526daa9fecf0e11b110dd6df12c461579d792e1db65af523c8be81860152815190930192909252835180850185527f12fbb5bfca9d61357ba2d641604cf4852e21ef54faa180fe539c18994dc1da5a81527f2f09dd9972a1af5f7bcfccf3d7ab600c9d898ea6d6933150ba0ae228ece17e5f81850152825190910152825180840184527f0adb513796fdf2103022c64151ce05f7c7a6d9200e8d819fa59e654fc4bfe83c81527f2d64f72ef4eddf9ca032058ed2bf691758387e913a77cf99d6a3cfb37c8ba7ee81840152815160a0015282518084019093527f21e7c9bffda74bfd2c4393b6803d775545de6fa89145f4a23476241d9881b66183527f0bbe41e52237ac13eb7b01f3cb999b7394d08734e71b1c3ada62713e17eb560c918301919091525160c0015290565b6040805180820190915260008082526020820152610808610d44565b8351815260208085015181830152835160408301528301516060808301919091526000908360c08460066107d05a03fa9050808061084257fe5b50806108855760405162461bcd60e51b81526020600482015260126024820152711c185a5c9a5b99cb5859190b59985a5b195960721b604482015260640161010e565b505092915050565b60408051808201909152600080825260208201526108a9610d62565b835181526020808501519082015260408101839052600060608360808460076107d05a03fa905080806108d857fe5b50806108855760405162461bcd60e51b81526020600482015260126024820152711c185a5c9a5b99cb5b5d5b0b59985a5b195960721b604482015260640161010e565b6040805180820190915260008082526020820152815115801561094057506020820151155b1561095e575050604080518082019091526000808252602082015290565b6040518060400160405280836000015181526020017f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4784602001516109a3919061104e565b6109cd907f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47611070565b905292915050565b60408051608080820183528a825260208083018a90528284018890526060808401879052845192830185528b83528282018a9052828501889052820185905283516018808252610320820190955260009491859190839082016103008036833701905050905060005b6004811015610c1f576000610a54826006611083565b9050858260048110610a6857610a68610ff0565b60200201515183610a7a83600061103b565b81518110610a8a57610a8a610ff0565b602002602001018181525050858260048110610aa857610aa8610ff0565b60200201516020015183826001610abf919061103b565b81518110610acf57610acf610ff0565b602002602001018181525050848260048110610aed57610aed610ff0565b6020020151515183610b0083600261103b565b81518110610b1057610b10610ff0565b602002602001018181525050848260048110610b2e57610b2e610ff0565b6020020151516001602002015183610b4783600361103b565b81518110610b5757610b57610ff0565b602002602001018181525050848260048110610b7557610b75610ff0565b602002015160200151600060028110610b9057610b90610ff0565b602002015183610ba183600461103b565b81518110610bb157610bb1610ff0565b602002602001018181525050848260048110610bcf57610bcf610ff0565b602002015160200151600160028110610bea57610bea610ff0565b602002015183610bfb83600561103b565b81518110610c0b57610c0b610ff0565b602090810291909101015250600101610a3e565b50610c28610d80565b6000602082602086026020860160086107d05a03fa90508080610c4757fe5b5080610c8d5760405162461bcd60e51b81526020600482015260156024820152741c185a5c9a5b99cb5bdc18dbd9194b59985a5b1959605a1b604482015260640161010e565b505115159d9c50505050505050505050505050565b6040805160a081019091526000606082018181526080830191909152815260208101610ccc610d9e565b8152602001610cee604051806040016040528060008152602001600081525090565b905290565b6040805160e08101909152600060a0820181815260c0830191909152815260208101610d1d610d9e565b8152602001610d2a610d9e565b8152602001610d37610d9e565b8152602001610cee610dbe565b60405180608001604052806004906020820280368337509192915050565b60405180606001604052806003906020820280368337509192915050565b60405180602001604052806001906020820280368337509192915050565b6040518060400160405280610db1610df7565b8152602001610cee610df7565b6040518060e001604052806007905b6040805180820190915260008082526020820152815260200190600190039081610dcd5790505090565b60405180604001604052806002906020820280368337509192915050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610e5457610e54610e15565b604052919050565b600082601f830112610e6d57600080fd5b60405160c0810181811067ffffffffffffffff82111715610e9057610e90610e15565b6040528060c0840185811115610ea557600080fd5b845b81811015610ebf578035835260209283019201610ea7565b509195945050505050565b60008060e08385031215610edd57600080fd5b823567ffffffffffffffff80821115610ef557600080fd5b818501915085601f830112610f0957600080fd5b8135602082821115610f1d57610f1d610e15565b610f2f601f8301601f19168201610e2b565b92508183528781838601011115610f4557600080fd5b81818501828501376000818385010152829550610f6488828901610e5c565b9450505050509250929050565b6000610100808385031215610f8557600080fd5b83601f840112610f9457600080fd5b60405181810181811067ffffffffffffffff82111715610fb657610fb6610e15565b604052908301908085831115610fcb57600080fd5b845b83811015610fe5578051825260209182019101610fcd565b509095945050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff810361103257611032611006565b60010192915050565b8082018082111561031b5761031b611006565b60008261106b57634e487b7160e01b600052601260045260246000fd5b500690565b8181038181111561031b5761031b611006565b808202811582820484141761031b5761031b61100656fea2646970667358221220563d0fbee4e0552a525beba0066d9fa4a4a5e087a3b9c480756c9e2adf284bce64736f6c63430008190033"; +const isSuperArgs$K = (xs) => xs.length > 1; +class Verifier__factory extends ethers.ContractFactory { + constructor(...args) { + if (isSuperArgs$K(args)) { + super(...args); + } else { + super(_abi$1d, _bytecode$K, args[0]); + } + } + getDeployTransaction(overrides) { + return super.getDeployTransaction(overrides || {}); + } + deploy(overrides) { + return super.deploy(overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new ethers.Interface(_abi$1d); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$1d, runner); + } +} +Verifier__factory.bytecode = _bytecode$K; +Verifier__factory.abi = _abi$1d; + +const _abi$1c = [ + { + inputs: [ + { + internalType: "address", + name: "_governance", + type: "address" + }, + { + internalType: "contract IERC20", + name: "_comp", + type: "address" + }, + { + internalType: "contract IVerifier", + name: "_verifier", + type: "address" + }, + { + internalType: "contract IHasher", + name: "_hasher", + type: "address" + }, + { + internalType: "uint256", + name: "_denomination", + type: "uint256" + }, + { + internalType: "uint32", + name: "_merkleTreeHeight", + type: "uint32" + }, + { + internalType: "contract IERC20", + name: "_token", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "commitment", + type: "bytes32" + }, + { + indexed: false, + internalType: "uint32", + name: "leafIndex", + type: "uint32" + }, + { + indexed: false, + internalType: "uint256", + name: "timestamp", + type: "uint256" + } + ], + name: "Deposit", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "bytes32", + name: "nullifierHash", + type: "bytes32" + }, + { + indexed: true, + internalType: "address", + name: "relayer", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "fee", + type: "uint256" + } + ], + name: "Withdrawal", + type: "event" + }, + { + inputs: [], + name: "FIELD_SIZE", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "ROOT_HISTORY_SIZE", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "ZERO_VALUE", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "claimComp", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + name: "commitments", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "comp", + outputs: [ + { + internalType: "contract IERC20", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "currentRootIndex", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "denomination", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_commitment", + type: "bytes32" + } + ], + name: "deposit", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + name: "filledSubtrees", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "getLastRoot", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "governance", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract IHasher", + name: "_hasher", + type: "address" + }, + { + internalType: "bytes32", + name: "_left", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "_right", + type: "bytes32" + } + ], + name: "hashLeftRight", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "pure", + type: "function" + }, + { + inputs: [], + name: "hasher", + outputs: [ + { + internalType: "contract IHasher", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_root", + type: "bytes32" + } + ], + name: "isKnownRoot", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_nullifierHash", + type: "bytes32" + } + ], + name: "isSpent", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32[]", + name: "_nullifierHashes", + type: "bytes32[]" + } + ], + name: "isSpentArray", + outputs: [ + { + internalType: "bool[]", + name: "spent", + type: "bool[]" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "levels", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "nextIndex", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + name: "nullifierHashes", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + name: "roots", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "token", + outputs: [ + { + internalType: "contract IERC20", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "verifier", + outputs: [ + { + internalType: "contract IVerifier", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes", + name: "_proof", + type: "bytes" + }, + { + internalType: "bytes32", + name: "_root", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "_nullifierHash", + type: "bytes32" + }, + { + internalType: "address payable", + name: "_recipient", + type: "address" + }, + { + internalType: "address payable", + name: "_relayer", + type: "address" + }, + { + internalType: "uint256", + name: "_fee", + type: "uint256" + }, + { + internalType: "uint256", + name: "_refund", + type: "uint256" + } + ], + name: "withdraw", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + name: "zeros", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "view", + type: "function" + } +]; +const _bytecode$J = "0x610160604052600380546001600160401b031916905534801561002157600080fd5b5060405161205a38038061205a8339810160408190526100409161048f565b848484848484848484808360008263ffffffff16116100b25760405162461bcd60e51b815260206004820152602360248201527f5f6c6576656c732073686f756c642062652067726561746572207468616e207a60448201526265726f60e81b60648201526084015b60405180910390fd5b60208263ffffffff16106101085760405162461bcd60e51b815260206004820152601e60248201527f5f6c6576656c732073686f756c64206265206c657373207468616e203332000060448201526064016100a9565b63ffffffff821660a0526001600160a01b0381166080527f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c60005b8363ffffffff168163ffffffff1610156101905763ffffffff811660009081526001602090815260408083208590559082905290208290556101868383806102aa565b9150600101610143565b506000805260026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b55505060016004558161021e5760405162461bcd60e51b815260206004820152602560248201527f64656e6f6d696e6174696f6e2073686f756c6420626520677265617465722074604482015264068616e20360dc1b60648201526084016100a9565b506001600160a01b0392831660c05260e05250908116610100528a16935061028c925050505760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420434f4d5020746f6b656e206164647265737300000000000060448201526064016100a9565b5050506001600160a01b03938416610120525050166101405261054e565b600060008051602061203a83398151915283106103095760405162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c6460448201526064016100a9565b60008051602061203a83398151915282106103705760405162461bcd60e51b815260206004820152602160248201527f5f72696768742073686f756c6420626520696e7369646520746865206669656c6044820152601960fa1b60648201526084016100a9565b60405163f47d33b560e01b81526004810184905260006024820181905284916001600160a01b0387169063f47d33b5906044016040805180830381865afa1580156103bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103e3919061052a565b909250905060008051602061203a83398151915284830860405163f47d33b560e01b815260048101829052602481018390529092506001600160a01b0387169063f47d33b5906044016040805180830381865afa158015610448573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061046c919061052a565b509695505050505050565b6001600160a01b038116811461048c57600080fd5b50565b600080600080600080600060e0888a0312156104aa57600080fd5b87516104b581610477565b60208901519097506104c681610477565b60408901519096506104d781610477565b60608901519095506104e881610477565b608089015160a08a0151919550935063ffffffff8116811461050957600080fd5b60c089015190925061051a81610477565b8091505092959891949750929550565b6000806040838503121561053d57600080fd5b505080516020909101519092909150565b60805160a05160c05160e051610100516101205161014051611a3e6105fc6000396000818161017d01526105d40152600081816102e5015261060501526000818161057801528181610ecc01528181610f0601526112600152600081816103690152818161074101528181610e9e015261128401526000818161023801526108aa01526000818161029c01528181610fe7015261108901526000818161051701526111210152611a3e6000f3fe6080604052600436106101665760003560e01c806390eeb02b116100d1578063e5285dcc1161008a578063ed33639f11610064578063ed33639f14610505578063f178e47c14610539578063fc0c546a14610566578063fc7e9c6f1461059a57600080fd5b8063e5285dcc14610474578063e8295588146104a4578063ec732959146104d157600080fd5b806390eeb02b146103ab5780639fa12d0b146103c8578063b214faa5146103f5578063ba70f75714610408578063c2b40ae414610432578063cd87a3b41461045f57600080fd5b80634ecf518b116101235780634ecf518b1461028a5780635aa6e675146102d35780636d9833e314610307578063839df945146103275780638bca6d16146103575780638ea3099e1461038b57600080fd5b8063109d0af81461016b57806317cc915c146101bc5780631bd85bdb146101fc57806321a0adb6146102135780632b7ac3f314610226578063414a37ba1461025a575b600080fd5b34801561017757600080fd5b5061019f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156101c857600080fd5b506101ec6101d73660046114ef565b60056020526000908152604090205460ff1681565b60405190151581526020016101b3565b34801561020857600080fd5b506102116105bf565b005b61021161022136600461152d565b6106e3565b34801561023257600080fd5b5061019f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561026657600080fd5b5061027c6000805160206119e983398151915281565b6040519081526020016101b3565b34801561029657600080fd5b506102be7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016101b3565b3480156102df57600080fd5b5061019f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561031357600080fd5b506101ec6103223660046114ef565b6109ee565b34801561033357600080fd5b506101ec6103423660046114ef565b60066020526000908152604090205460ff1681565b34801561036357600080fd5b5061027c7f000000000000000000000000000000000000000000000000000000000000000081565b34801561039757600080fd5b5061027c6103a63660046115e3565b610a6c565b3480156103b757600080fd5b506003546102be9063ffffffff1681565b3480156103d457600080fd5b506103e86103e3366004611618565b610c39565b6040516101b3919061168d565b6102116104033660046114ef565b610cf5565b34801561041457600080fd5b5060035463ffffffff1660009081526002602052604090205461027c565b34801561043e57600080fd5b5061027c61044d3660046114ef565b60026020526000908152604090205481565b34801561046b57600080fd5b506102be601e81565b34801561048057600080fd5b506101ec61048f3660046114ef565b60009081526005602052604090205460ff1690565b3480156104b057600080fd5b5061027c6104bf3660046114ef565b60016020526000908152604090205481565b3480156104dd57600080fd5b5061027c7f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c81565b34801561051157600080fd5b5061019f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561054557600080fd5b5061027c6105543660046114ef565b60006020819052908152604090205481565b34801561057257600080fd5b5061019f7f000000000000000000000000000000000000000000000000000000000000000081565b3480156105a657600080fd5b506003546102be90640100000000900463ffffffff1681565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a9059cbb907f00000000000000000000000000000000000000000000000000000000000000009083906370a0823190602401602060405180830381865afa15801561064d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061067191906116d3565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156106bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e091906116ec565b50565b60026004540361073a5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b60026004557f00000000000000000000000000000000000000000000000000000000000000008211156107af5760405162461bcd60e51b815260206004820152601a60248201527f4665652065786365656473207472616e736665722076616c75650000000000006044820152606401610731565b60008581526005602052604090205460ff161561080e5760405162461bcd60e51b815260206004820152601f60248201527f546865206e6f746520686173206265656e20616c7265616479207370656e74006044820152606401610731565b610817866109ee565b6108635760405162461bcd60e51b815260206004820152601c60248201527f43616e6e6f742066696e6420796f7572206d65726b6c6520726f6f74000000006044820152606401610731565b6040805160c081018252878152602081018790526001600160a01b038681168284015285811660608301526080820185905260a08201849052915163695ef6f960e01b81527f00000000000000000000000000000000000000000000000000000000000000009092169163695ef6f9916108e3918c918c91600401611715565b6020604051808303816000875af1158015610902573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092691906116ec565b61096b5760405162461bcd60e51b815260206004820152601660248201527524b73b30b634b2103bb4ba34323930bb90383937b7b360511b6044820152606401610731565b6000858152600560205260409020805460ff1916600117905561099084848484610e2c565b604080516001600160a01b03868116825260208201889052918101849052908416907fe9e508bad6d4c3227e881ca19068f099da81b5164dd6d62b2eaf1e8bc6c349319060600160405180910390a250506001600455505050505050565b60008181036109ff57506000919050565b60035463ffffffff16805b63ffffffff81166000908152600260205260409020548403610a30575060019392505050565b8063ffffffff16600003610a425750601e5b80610a4c81611789565b9150508163ffffffff168163ffffffff1603610a0a575060009392505050565b60006000805160206119e98339815191528310610acb5760405162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c646044820152606401610731565b6000805160206119e98339815191528210610b325760405162461bcd60e51b815260206004820152602160248201527f5f72696768742073686f756c6420626520696e7369646520746865206669656c6044820152601960fa1b6064820152608401610731565b60405163f47d33b560e01b81526004810184905260006024820181905284916001600160a01b0387169063f47d33b5906044016040805180830381865afa158015610b81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ba591906117a9565b90925090506000805160206119e983398151915284830860405163f47d33b560e01b815260048101829052602481018390529092506001600160a01b0387169063f47d33b5906044016040805180830381865afa158015610c0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c2e91906117a9565b509695505050505050565b60608167ffffffffffffffff811115610c5457610c546117e3565b604051908082528060200260200182016040528015610c7d578160200160208202803683370190505b50905060005b82811015610cee57610cbc848483818110610ca057610ca06117f9565b9050602002013560009081526005602052604090205460ff1690565b15610ce6576001828281518110610cd557610cd56117f9565b911515602092830291909101909101525b600101610c83565b5092915050565b600260045403610d475760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610731565b600260045560008181526006602052604090205460ff1615610db55760405162461bcd60e51b815260206004820152602160248201527f54686520636f6d6d69746d656e7420686173206265656e207375626d697474656044820152601960fa1b6064820152608401610731565b6000610dc082610fce565b6000838152600660205260409020805460ff191660011790559050610de36111ec565b6040805163ffffffff8316815242602082015283917fa945e51eec50ab98c161376f0db4cf2aeba3ec92755fe2fcd388bdbbb80ff196910160405180910390a250506001600455565b803414610e945760405162461bcd60e51b815260206004820152603060248201527f496e636f727265637420726566756e6420616d6f756e7420726563656976656460448201526f08189e481d1a194818dbdb9d1c9858dd60821b6064820152608401610731565b610ef384610ec2847f000000000000000000000000000000000000000000000000000000000000000061180f565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691906112aa565b8115610f2d57610f2d6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001684846112aa565b8015610fc8576000846001600160a01b03168260405160006040518083038185875af1925050503d8060008114610f80576040519150601f19603f3d011682016040523d82523d6000602084013e610f85565b606091505b5050905080610fc6576040516001600160a01b0385169083156108fc029084906000818181858888f19350505050158015610fc4573d6000803e3d6000fd5b505b505b50505050565b600354600090640100000000900463ffffffff1661100d7f00000000000000000000000000000000000000000000000000000000000000006002611939565b63ffffffff168163ffffffff16036110805760405162461bcd60e51b815260206004820152603060248201527f4d65726b6c6520747265652069732066756c6c2e204e6f206d6f7265206c656160448201526f1d995cc818d85b88189948185919195960821b6064820152608401610731565b8083600080805b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff168163ffffffff16101561115e576110c6600286611956565b63ffffffff166000036111005763ffffffff811660009081526001602090815260408083205491839052909120859055849350915061111c565b63ffffffff811660009081526020819052604090205492508391505b6111477f00000000000000000000000000000000000000000000000000000000000000008484610a6c565b9350611154600286611979565b9450600101611087565b50600354600090601e906111799063ffffffff16600161199c565b6111839190611956565b6003805463ffffffff191663ffffffff8316908117909155600090815260026020526040902085905590506111b986600161199c565b6003805463ffffffff929092166401000000000267ffffffff000000001990921691909117905550939695505050505050565b34156112535760405162461bcd60e51b815260206004820152603060248201527f4554482076616c756520697320737570706f73656420746f206265203020666f60448201526f7220455243323020696e7374616e636560801b6064820152608401610731565b6112a86001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633307f00000000000000000000000000000000000000000000000000000000000000006113c3565b565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b179052915160009283929087169161130691906119b9565b6000604051808303816000865af19150503d8060008114611343576040519150601f19603f3d011682016040523d82523d6000602084013e611348565b606091505b50915091508161135a57805181602001fd5b8051158061137757508080602001905181019061137791906116ec565b610fc65760405162461bcd60e51b815260206004820152601e60248201527f5361666545524332303a20736166655472616e73666572206661696c656400006044820152606401610731565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b179052915160009283929088169161142791906119b9565b6000604051808303816000865af19150503d8060008114611464576040519150601f19603f3d011682016040523d82523d6000602084013e611469565b606091505b50915091508161147b57805181602001fd5b8051158061149857508080602001905181019061149891906116ec565b610fc45760405162461bcd60e51b815260206004820152602260248201527f5361666545524332303a20736166655472616e7366657246726f6d206661696c604482015261195960f21b6064820152608401610731565b60006020828403121561150157600080fd5b5035919050565b6001600160a01b03811681146106e057600080fd5b803561152881611508565b919050565b60008060008060008060008060e0898b03121561154957600080fd5b883567ffffffffffffffff8082111561156157600080fd5b818b0191508b601f83011261157557600080fd5b81358181111561158457600080fd5b8c602082850101111561159657600080fd5b60209283019a509850508901359550604089013594506115b860608a0161151d565b93506115c660808a0161151d565b925060a0890135915060c089013590509295985092959890939650565b6000806000606084860312156115f857600080fd5b833561160381611508565b95602085013595506040909401359392505050565b6000806020838503121561162b57600080fd5b823567ffffffffffffffff8082111561164357600080fd5b818501915085601f83011261165757600080fd5b81358181111561166657600080fd5b8660208260051b850101111561167b57600080fd5b60209290920196919550909350505050565b6020808252825182820181905260009190848201906040850190845b818110156116c75783511515835292840192918401916001016116a9565b50909695505050505050565b6000602082840312156116e557600080fd5b5051919050565b6000602082840312156116fe57600080fd5b8151801515811461170e57600080fd5b9392505050565b60e081528260e08201526000610100848682850137600081868501015280601f19601f87011684010191505060208083018460005b60068110156117675781518352918301919083019060010161174a565b50505050949350505050565b634e487b7160e01b600052601160045260246000fd5b600063ffffffff82168061179f5761179f611773565b6000190192915050565b600080604083850312156117bc57600080fd5b505080516020909101519092909150565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b8181038181111561182257611822611773565b92915050565b600181815b80851115611865578163ffffffff0482111561184b5761184b611773565b8085161561185857918102915b93841c939080029061182d565b509250929050565b60008261187c57506001611822565b8161188957506000611822565b816001811461189f57600281146118a9576118da565b6001915050611822565b60ff8411156118ba576118ba611773565b6001841b915063ffffffff8211156118d4576118d4611773565b50611822565b5060208310610133831016604e8410600b8410161715611911575081810a63ffffffff81111561190c5761190c611773565b611822565b61191b8383611828565b8063ffffffff0482111561193157611931611773565b029392505050565b600063ffffffff61194e81851682851661186d565b949350505050565b600063ffffffff8084168061196d5761196d6117cd565b92169190910692915050565b600063ffffffff80841680611990576119906117cd565b92169190910492915050565b63ffffffff818116838216019080821115610cee57610cee611773565b6000825160005b818110156119da57602081860181015185830152016119c0565b50600092019182525091905056fe30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001a26469706673582212202fd93128e9fd6b3843a3df70f2fb8c1a7a326556fae702731ec0c55aa4921a8364736f6c6343000819003330644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001"; +const isSuperArgs$J = (xs) => xs.length > 1; +class CTornado__factory extends ethers.ContractFactory { + constructor(...args) { + if (isSuperArgs$J(args)) { + super(...args); + } else { + super(_abi$1c, _bytecode$J, args[0]); + } + } + getDeployTransaction(_governance, _comp, _verifier, _hasher, _denomination, _merkleTreeHeight, _token, overrides) { + return super.getDeployTransaction( + _governance, + _comp, + _verifier, + _hasher, + _denomination, + _merkleTreeHeight, + _token, + overrides || {} + ); + } + deploy(_governance, _comp, _verifier, _hasher, _denomination, _merkleTreeHeight, _token, overrides) { + return super.deploy( + _governance, + _comp, + _verifier, + _hasher, + _denomination, + _merkleTreeHeight, + _token, + overrides || {} + ); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new ethers.Interface(_abi$1c); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$1c, runner); + } +} +CTornado__factory.bytecode = _bytecode$J; +CTornado__factory.abi = _abi$1c; + +var index$A = /*#__PURE__*/Object.freeze({ + __proto__: null, + CTornado__factory: CTornado__factory, + ERC20Tornado__factory: ERC20Tornado__factory, + ETHTornado__factory: ETHTornado__factory, + Echoer__factory: Echoer__factory, + Verifier__factory: Verifier__factory, + interfaces: index$B, + merkleTreeWithHistorySol: index$G, + mocks: index$E, + tornadoProxyLightSol: index$C, + tornadoSol: index$D +}); + +const _abi$1b = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "operator", + type: "address" + }, + { + indexed: false, + internalType: "bool", + name: "approved", + type: "bool" + } + ], + name: "ApprovalForAll", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "node", + type: "bytes32" + }, + { + indexed: true, + internalType: "bytes32", + name: "label", + type: "bytes32" + }, + { + indexed: false, + internalType: "address", + name: "owner", + type: "address" + } + ], + name: "NewOwner", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "node", + type: "bytes32" + }, + { + indexed: false, + internalType: "address", + name: "resolver", + type: "address" + } + ], + name: "NewResolver", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "node", + type: "bytes32" + }, + { + indexed: false, + internalType: "uint64", + name: "ttl", + type: "uint64" + } + ], + name: "NewTTL", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "node", + type: "bytes32" + }, + { + indexed: false, + internalType: "address", + name: "owner", + type: "address" + } + ], + name: "Transfer", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "operator", + type: "address" + } + ], + name: "isApprovedForAll", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "node", + type: "bytes32" + } + ], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "node", + type: "bytes32" + } + ], + name: "recordExists", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "node", + type: "bytes32" + } + ], + name: "resolver", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "operator", + type: "address" + }, + { + internalType: "bool", + name: "approved", + type: "bool" + } + ], + name: "setApprovalForAll", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "node", + type: "bytes32" + }, + { + internalType: "address", + name: "owner", + type: "address" + } + ], + name: "setOwner", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "node", + type: "bytes32" + }, + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "resolver", + type: "address" + }, + { + internalType: "uint64", + name: "ttl", + type: "uint64" + } + ], + name: "setRecord", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "node", + type: "bytes32" + }, + { + internalType: "address", + name: "resolver", + type: "address" + } + ], + name: "setResolver", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "node", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "label", + type: "bytes32" + }, + { + internalType: "address", + name: "owner", + type: "address" + } + ], + name: "setSubnodeOwner", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "node", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "label", + type: "bytes32" + }, + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "resolver", + type: "address" + }, + { + internalType: "uint64", + name: "ttl", + type: "uint64" + } + ], + name: "setSubnodeRecord", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "node", + type: "bytes32" + }, + { + internalType: "uint64", + name: "ttl", + type: "uint64" + } + ], + name: "setTTL", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "node", + type: "bytes32" + } + ], + name: "ttl", + outputs: [ + { + internalType: "uint64", + name: "", + type: "uint64" + } + ], + stateMutability: "view", + type: "function" + } +]; +class IENSRegistry__factory { + static createInterface() { + return new ethers.Interface(_abi$1b); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$1b, runner); + } +} +IENSRegistry__factory.abi = _abi$1b; + +const _abi$1a = [ + { + inputs: [ + { + internalType: "bytes32", + name: "node", + type: "bytes32" + } + ], + name: "addr", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "node", + type: "bytes32" + }, + { + internalType: "string", + name: "key", + type: "string" + } + ], + name: "text", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + } +]; +class IENSResolver__factory { + static createInterface() { + return new ethers.Interface(_abi$1a); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$1a, runner); + } +} +IENSResolver__factory.abi = _abi$1a; + +const _abi$19 = [ + { + inputs: [ + { + internalType: "address", + name: "relayer", + type: "address" + } + ], + name: "getRelayerBalance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "relayer", + type: "address" + }, + { + internalType: "address", + name: "toResolve", + type: "address" + } + ], + name: "isRelayerRegistered", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + } +]; +class IRelayerRegistry__factory { + static createInterface() { + return new ethers.Interface(_abi$19); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$19, runner); + } +} +IRelayerRegistry__factory.abi = _abi$19; + +const _abi$18 = [ + { + inputs: [ + { + internalType: "address", + name: "_IENSRegistry", + type: "address" + }, + { + internalType: "address", + name: "_IRelayerRegistry", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + inputs: [], + name: "ENSRegistry", + outputs: [ + { + internalType: "contract IENSRegistry", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "RelayerRegistry", + outputs: [ + { + internalType: "contract IRelayerRegistry", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32[]", + name: "_relayers", + type: "bytes32[]" + }, + { + internalType: "string[]", + name: "_subdomains", + type: "string[]" + } + ], + name: "relayersData", + outputs: [ + { + components: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "uint256", + name: "balance", + type: "uint256" + }, + { + internalType: "bool", + name: "isRegistered", + type: "bool" + }, + { + internalType: "string[20]", + name: "records", + type: "string[20]" + } + ], + internalType: "struct Relayer[]", + name: "", + type: "tuple[]" + } + ], + stateMutability: "view", + type: "function" + } +]; +const _bytecode$I = "0x60c060405234801561001057600080fd5b50604051610b74380380610b7483398101604081905261002f9161004d565b6001600160601b0319606092831b8116608052911b1660a05261009e565b6000806040838503121561005f578182fd5b825161006a81610086565b602084015190925061007b81610086565b809150509250929050565b6001600160a01b038116811461009b57600080fd5b50565b60805160601c60a05160601c610a9b6100d96000398060b2528061040352806104f1525080608e528061013a528061021b5250610a9b6000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80631cb120d61461004657806339c16356146100645780634d47d7751461006c575b600080fd5b61004e61008c565b60405161005b9190610891565b60405180910390f35b61004e6100b0565b61007f61007a366004610702565b6100d4565b60405161005b91906108bf565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b606080835167ffffffffffffffff811180156100ef57600080fd5b5060405190808252806020026020018201604052801561012957816020015b6101166105cd565b81526020019060019003908161010e5790505b50905060005b84518110156105c5577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166302571be386838151811061017357fe5b60200260200101516040518263ffffffff1660e01b8152600401610197919061099d565b60206040518083038186803b1580156101af57600080fd5b505afa1580156101c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101e791906106d4565b8282815181106101f357fe5b6020026020010151600001906001600160a01b031690816001600160a01b03168152505060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630178b8bf87848151811061025457fe5b60200260200101516040518263ffffffff1660e01b8152600401610278919061099d565b60206040518083038186803b15801561029057600080fd5b505afa1580156102a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c891906106d4565b905060005b85518110156104005760008784815181106102e457fe5b60200260200101518783815181106102f857fe5b60200260200101516040516020016103109190610875565b60405160208183030381529060405280519060200120604051602001610337929190610867565b60408051601f19818403018152908290528051602090910120631674750f60e21b825291506001600160a01b038416906359d1d43c9061037b9084906004016109a6565b60006040518083038186803b15801561039357600080fd5b505afa1580156103a7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103cf91908101906107dc565b8585815181106103db57fe5b60200260200101516060015183601481106103f257fe5b6020020152506001016102cd565b507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b69fd4ab84848151811061043c57fe5b60200260200101516000015185858151811061045457fe5b6020026020010151600001516040518363ffffffff1660e01b815260040161047d9291906108a5565b60206040518083038186803b15801561049557600080fd5b505afa1580156104a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104cd91906107bc565b8383815181106104d957fe5b602002602001015160400190151590811515815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b971a6bf84848151811061052a57fe5b6020026020010151600001516040518263ffffffff1660e01b81526004016105529190610891565b60206040518083038186803b15801561056a57600080fd5b505afa15801561057e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a2919061084f565b8383815181106105ae57fe5b60209081029190910181015101525060010161012f565b509392505050565b604051806080016040528060006001600160a01b0316815260200160008152602001600015158152602001610600610605565b905290565b6040518061028001604052806014905b60608152602001906001900390816106155790505090565b600082601f83011261063d578081fd5b813561065061064b826109f1565b6109ca565b818152915060208083019084810160005b848110156106c9578135870188603f82011261067c57600080fd5b8381013561068c61064b82610a11565b81815260408b818486010111156106a257600080fd5b82818501888401375060009181018601919091528552509282019290820190600101610661565b505050505092915050565b6000602082840312156106e5578081fd5b81516001600160a01b03811681146106fb578182fd5b9392505050565b60008060408385031215610714578081fd5b823567ffffffffffffffff8082111561072b578283fd5b818501915085601f83011261073e578283fd5b813561074c61064b826109f1565b80828252602080830192508086018a82838702890101111561076c578788fd5b8796505b8487101561078e578035845260019690960195928101928101610770565b5090965087013593505050808211156107a5578283fd5b506107b28582860161062d565b9150509250929050565b6000602082840312156107cd578081fd5b815180151581146106fb578182fd5b6000602082840312156107ed578081fd5b815167ffffffffffffffff811115610803578182fd5b8201601f81018413610813578182fd5b805161082161064b82610a11565b818152856020838501011115610835578384fd5b610846826020830160208601610a35565b95945050505050565b600060208284031215610860578081fd5b5051919050565b918252602082015260400190565b60008251610887818460208701610a35565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6000602080830181845280855180835260408601915060408482028701019250838701855b8281101561099057878503603f19018452815180516001600160a01b03168652868101518787015260408082015115159087015260609081015160809187018290529086016103008701895b601481101561097b57888203607f1901835283518051610950818561099d565b61095d82828f8601610a35565b958c0195948c0194601f91909101601f191601925050600101610930565b509650505092850192908501906001016108e4565b5092979650505050505050565b90815260200190565b908152604060208201819052600390820152621d5c9b60ea1b606082015260800190565b60405181810167ffffffffffffffff811182821017156109e957600080fd5b604052919050565b600067ffffffffffffffff821115610a07578081fd5b5060209081020190565b600067ffffffffffffffff821115610a27578081fd5b50601f01601f191660200190565b60005b83811015610a50578181015183820152602001610a38565b83811115610a5f576000848401525b5050505056fea2646970667358221220628a366714cdda82fe91d785ad928e44e4b9f7976ed987e5fef72d207582dbaf64736f6c634300060c0033"; +const isSuperArgs$I = (xs) => xs.length > 1; +class RelayerAggregator__factory extends ethers.ContractFactory { + constructor(...args) { + if (isSuperArgs$I(args)) { + super(...args); + } else { + super(_abi$18, _bytecode$I, args[0]); + } + } + getDeployTransaction(_IENSRegistry, _IRelayerRegistry, overrides) { + return super.getDeployTransaction( + _IENSRegistry, + _IRelayerRegistry, + overrides || {} + ); + } + deploy(_IENSRegistry, _IRelayerRegistry, overrides) { + return super.deploy( + _IENSRegistry, + _IRelayerRegistry, + overrides || {} + ); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new ethers.Interface(_abi$18); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$18, runner); + } +} +RelayerAggregator__factory.bytecode = _bytecode$I; +RelayerAggregator__factory.abi = _abi$18; + +var index$z = /*#__PURE__*/Object.freeze({ + __proto__: null, + IENSRegistry__factory: IENSRegistry__factory, + IENSResolver__factory: IENSResolver__factory, + IRelayerRegistry__factory: IRelayerRegistry__factory, + RelayerAggregator__factory: RelayerAggregator__factory +}); + +const _abi$17 = [ + { + inputs: [ + { + internalType: "address", + name: "_ensRegistry", + type: "address" + }, + { + internalType: "address", + name: "_relayerRegistry", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + inputs: [], + name: "ENSRegistry", + outputs: [ + { + internalType: "contract IENSRegistry", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "RelayerRegistry", + outputs: [ + { + internalType: "contract IRelayerRegistry", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract Governance", + name: "governance", + type: "address" + } + ], + name: "getAllProposals", + outputs: [ + { + components: [ + { + internalType: "address", + name: "proposer", + type: "address" + }, + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "uint256", + name: "startTime", + type: "uint256" + }, + { + internalType: "uint256", + name: "endTime", + type: "uint256" + }, + { + internalType: "uint256", + name: "forVotes", + type: "uint256" + }, + { + internalType: "uint256", + name: "againstVotes", + type: "uint256" + }, + { + internalType: "bool", + name: "executed", + type: "bool" + }, + { + internalType: "bool", + name: "extended", + type: "bool" + }, + { + internalType: "enum Governance.ProposalState", + name: "state", + type: "uint8" + } + ], + internalType: "struct GovernanceAggregator.Proposal[]", + name: "proposals", + type: "tuple[]" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract Governance", + name: "governance", + type: "address" + }, + { + internalType: "address[]", + name: "accs", + type: "address[]" + } + ], + name: "getGovernanceBalances", + outputs: [ + { + internalType: "uint256[]", + name: "amounts", + type: "uint256[]" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract Governance", + name: "governance", + type: "address" + }, + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "getUserData", + outputs: [ + { + internalType: "uint256", + name: "balance", + type: "uint256" + }, + { + internalType: "uint256", + name: "latestProposalId", + type: "uint256" + }, + { + internalType: "uint256", + name: "latestProposalIdState", + type: "uint256" + }, + { + internalType: "uint256", + name: "timelock", + type: "uint256" + }, + { + internalType: "address", + name: "delegatee", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32[]", + name: "_relayers", + type: "bytes32[]" + }, + { + internalType: "string[]", + name: "_subdomains", + type: "string[]" + } + ], + name: "relayersData", + outputs: [ + { + components: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "uint256", + name: "balance", + type: "uint256" + }, + { + internalType: "bool", + name: "isRegistered", + type: "bool" + }, + { + internalType: "string[20]", + name: "records", + type: "string[20]" + } + ], + internalType: "struct Relayer[]", + name: "", + type: "tuple[]" + } + ], + stateMutability: "view", + type: "function" + } +]; +const _bytecode$H = "0x60c060405234801561001057600080fd5b5060405161155d38038061155d83398101604081905261002f9161004d565b6001600160601b0319606092831b8116608052911b1660a05261009e565b6000806040838503121561005f578182fd5b825161006a81610086565b602084015190925061007b81610086565b809150509250929050565b6001600160a01b038116811461009b57600080fd5b50565b60805160601c60a05160601c6114826100db6000398061024b528061059c528061068a52508061022752806102d352806103b452506114826000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c8063029fcae7146100675780631cb120d61461009057806339c16356146100a55780634d47d775146100ad5780639853d922146100cd578063f4eeefe9146100ed575b600080fd5b61007a610075366004610fa1565b610111565b60405161008791906112ee565b60405180910390f35b610098610225565b6040516100879190611118565b610098610249565b6100c06100bb366004610e93565b61026d565b6040516100879190611210565b6100e06100db366004610dcc565b61075e565b6040516100879190611146565b6101006100fb366004610f69565b6109dd565b60405161008795949392919061135f565b60608167ffffffffffffffff8111801561012a57600080fd5b50604051908082528060200260200182016040528015610154578160200160208202803683370190505b50905060005b8281101561021d57846001600160a01b0316639ae697bf85858481811061017d57fe5b90506020020160208101906101929190610dcc565b6040518263ffffffff1660e01b81526004016101ae9190611118565b60206040518083038186803b1580156101c657600080fd5b505afa1580156101da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101fe91906110b5565b82828151811061020a57fe5b602090810291909101015260010161015a565b509392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b606080835167ffffffffffffffff8111801561028857600080fd5b506040519080825280602002602001820160405280156102c257816020015b6102af610c79565b8152602001906001900390816102a75790505b50905060005b845181101561021d577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166302571be386838151811061030c57fe5b60200260200101516040518263ffffffff1660e01b81526004016103309190611332565b60206040518083038186803b15801561034857600080fd5b505afa15801561035c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103809190610def565b82828151811061038c57fe5b6020026020010151600001906001600160a01b031690816001600160a01b03168152505060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630178b8bf8784815181106103ed57fe5b60200260200101516040518263ffffffff1660e01b81526004016104119190611332565b60206040518083038186803b15801561042957600080fd5b505afa15801561043d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104619190610def565b905060005b855181101561059957600087848151811061047d57fe5b602002602001015187838151811061049157fe5b60200260200101516040516020016104a991906110fc565b604051602081830303815290604052805190602001206040516020016104d09291906110ee565b60408051601f19818403018152908290528051602090910120631674750f60e21b825291506001600160a01b038416906359d1d43c9061051490849060040161133b565b60006040518083038186803b15801561052c57600080fd5b505afa158015610540573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105689190810190611042565b85858151811061057457fe5b602002602001015160600151836014811061058b57fe5b602002015250600101610466565b507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b69fd4ab8484815181106105d557fe5b6020026020010151600001518585815181106105ed57fe5b6020026020010151600001516040518363ffffffff1660e01b815260040161061692919061112c565b60206040518083038186803b15801561062e57600080fd5b505afa158015610642573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106669190610f4d565b83838151811061067257fe5b602002602001015160400190151590811515815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b971a6bf8484815181106106c357fe5b6020026020010151600001516040518263ffffffff1660e01b81526004016106eb9190611118565b60206040518083038186803b15801561070357600080fd5b505afa158015610717573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073b91906110b5565b83838151811061074757fe5b6020908102919091018101510152506001016102c8565b6060816001600160a01b031663da35c6646040518163ffffffff1660e01b815260040160206040518083038186803b15801561079957600080fd5b505afa1580156107ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d191906110b5565b67ffffffffffffffff811180156107e757600080fd5b5060405190808252806020026020018201604052801561082157816020015b61080e610cb1565b8152602001906001900390816108065790505b50905060005b81518110156109d7576000806000806000806000808a6001600160a01b031663013cf08b8a6001016040518263ffffffff1660e01b815260040161086b9190611332565b6101006040518083038186803b15801561088457600080fd5b505afa158015610898573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108bc9190610e0b565b97509750975097509750975097509750604051806101200160405280896001600160a01b03168152602001886001600160a01b03168152602001878152602001868152602001858152602001848152602001831515815260200182151581526020018c6001600160a01b0316633e4f49e68c6001016040518263ffffffff1660e01b815260040161094d9190611332565b60206040518083038186803b15801561096557600080fd5b505afa158015610979573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099d9190611023565b60068111156109a857fe5b8152508a8a815181106109b757fe5b602002602001018190525050505050505050508080600101915050610827565b50919050565b6000806000806000866001600160a01b0316639ae697bf876040518263ffffffff1660e01b8152600401610a119190611118565b60206040518083038186803b158015610a2957600080fd5b505afa158015610a3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6191906110b5565b6040516317977c6160e01b81529095506001600160a01b038816906317977c6190610a90908990600401611118565b60206040518083038186803b158015610aa857600080fd5b505afa158015610abc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ae091906110b5565b93508315610b7257604051631f27a4f360e11b81526001600160a01b03881690633e4f49e690610b14908790600401611332565b60206040518083038186803b158015610b2c57600080fd5b505afa158015610b40573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b649190611023565b6006811115610b6f57fe5b92505b60405163a72edda360e01b81526001600160a01b0388169063a72edda390610b9e908990600401611118565b60206040518083038186803b158015610bb657600080fd5b505afa158015610bca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bee91906110b5565b604051631976849960e21b81529092506001600160a01b038816906365da126490610c1d908990600401611118565b60206040518083038186803b158015610c3557600080fd5b505afa158015610c49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c6d9190610def565b90509295509295909350565b604051806080016040528060006001600160a01b0316815260200160008152602001600015158152602001610cac610cfd565b905290565b6040805161012081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e0810182905290610100820190610cac565b6040518061028001604052806014905b6060815260200190600190039081610d0d5790505090565b600082601f830112610d35578081fd5b8135610d48610d43826113b2565b61138b565b818152915060208083019084810160005b84811015610dc1578135870188603f820112610d7457600080fd5b83810135610d84610d43826113d2565b81815260408b81848601011115610d9a57600080fd5b82818501888401375060009181018601919091528552509282019290820190600101610d59565b505050505092915050565b600060208284031215610ddd578081fd5b8135610de881611426565b9392505050565b600060208284031215610e00578081fd5b8151610de881611426565b600080600080600080600080610100898b031215610e27578384fd5b8851610e3281611426565b60208a0151909850610e4381611426565b8097505060408901519550606089015194506080890151935060a0890151925060c0890151610e718161143e565b60e08a0151909250610e828161143e565b809150509295985092959890939650565b60008060408385031215610ea5578182fd5b823567ffffffffffffffff80821115610ebc578384fd5b818501915085601f830112610ecf578384fd5b8135610edd610d43826113b2565b80828252602080830192508086018a828387028901011115610efd578889fd5b8896505b84871015610f1f578035845260019690960195928101928101610f01565b509096508701359350505080821115610f36578283fd5b50610f4385828601610d25565b9150509250929050565b600060208284031215610f5e578081fd5b8151610de88161143e565b60008060408385031215610f7b578182fd5b8235610f8681611426565b91506020830135610f9681611426565b809150509250929050565b600080600060408486031215610fb5578283fd5b8335610fc081611426565b9250602084013567ffffffffffffffff80821115610fdc578384fd5b818601915086601f830112610fef578384fd5b813581811115610ffd578485fd5b8760208083028501011115611010578485fd5b6020830194508093505050509250925092565b600060208284031215611034578081fd5b815160078110610de8578182fd5b600060208284031215611053578081fd5b815167ffffffffffffffff811115611069578182fd5b8201601f81018413611079578182fd5b8051611087610d43826113d2565b81815285602083850101111561109b578384fd5b6110ac8260208301602086016113f6565b95945050505050565b6000602082840312156110c6578081fd5b5051919050565b6001600160a01b03169052565b15159052565b600781106110ea57fe5b9052565b918252602082015260400190565b6000825161110e8184602087016113f6565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b602080825282518282018190526000919060409081850190868401855b8281101561120357815180516001600160a01b031685528681015161118a888701826110cd565b508086015185870152606080820151908601526080808201519086015260a0808201519086015260c0808201516111c3828801826110da565b505060e0808201516111d7828801826110da565b505061010090810151906111ed868201836110e0565b5050610120939093019290850190600101611163565b5091979650505050505050565b6000602080830181845280855180835260408601915060408482028701019250838701855b828110156112e157878503603f19018452815180516001600160a01b03168652868101518787015260408082015115159087015260609081015160809187018290529086016103008701895b60148110156112cc57888203607f19018352835180516112a18185611332565b6112ae82828f86016113f6565b958c0195948c0194601f91909101601f191601925050600101611281565b50965050509285019290850190600101611235565b5092979650505050505050565b6020808252825182820181905260009190848201906040850190845b818110156113265783518352928401929184019160010161130a565b50909695505050505050565b90815260200190565b908152604060208201819052600390820152621d5c9b60ea1b606082015260800190565b9485526020850193909352604084019190915260608301526001600160a01b0316608082015260a00190565b60405181810167ffffffffffffffff811182821017156113aa57600080fd5b604052919050565b600067ffffffffffffffff8211156113c8578081fd5b5060209081020190565b600067ffffffffffffffff8211156113e8578081fd5b50601f01601f191660200190565b60005b838110156114115781810151838201526020016113f9565b83811115611420576000848401525b50505050565b6001600160a01b038116811461143b57600080fd5b50565b801515811461143b57600080fdfea26469706673582212209edead2cf5d16a9f09d7d75c5aa042cb00130c9febd0bf0e908fbf9c3f34f1a164736f6c634300060c0033"; +const isSuperArgs$H = (xs) => xs.length > 1; +class Aggregator__factory extends ethers.ContractFactory { + constructor(...args) { + if (isSuperArgs$H(args)) { + super(...args); + } else { + super(_abi$17, _bytecode$H, args[0]); + } + } + getDeployTransaction(_ensRegistry, _relayerRegistry, overrides) { + return super.getDeployTransaction( + _ensRegistry, + _relayerRegistry, + overrides || {} + ); + } + deploy(_ensRegistry, _relayerRegistry, overrides) { + return super.deploy( + _ensRegistry, + _relayerRegistry, + overrides || {} + ); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new ethers.Interface(_abi$17); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$17, runner); + } +} +Aggregator__factory.bytecode = _bytecode$H; +Aggregator__factory.abi = _abi$17; + +const _abi$16 = [ + { + inputs: [ + { + internalType: "contract Governance", + name: "governance", + type: "address" + } + ], + name: "getAllProposals", + outputs: [ + { + components: [ + { + internalType: "address", + name: "proposer", + type: "address" + }, + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "uint256", + name: "startTime", + type: "uint256" + }, + { + internalType: "uint256", + name: "endTime", + type: "uint256" + }, + { + internalType: "uint256", + name: "forVotes", + type: "uint256" + }, + { + internalType: "uint256", + name: "againstVotes", + type: "uint256" + }, + { + internalType: "bool", + name: "executed", + type: "bool" + }, + { + internalType: "bool", + name: "extended", + type: "bool" + }, + { + internalType: "enum Governance.ProposalState", + name: "state", + type: "uint8" + } + ], + internalType: "struct GovernanceAggregator.Proposal[]", + name: "proposals", + type: "tuple[]" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract Governance", + name: "governance", + type: "address" + }, + { + internalType: "address[]", + name: "accs", + type: "address[]" + } + ], + name: "getGovernanceBalances", + outputs: [ + { + internalType: "uint256[]", + name: "amounts", + type: "uint256[]" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract Governance", + name: "governance", + type: "address" + }, + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "getUserData", + outputs: [ + { + internalType: "uint256", + name: "balance", + type: "uint256" + }, + { + internalType: "uint256", + name: "latestProposalId", + type: "uint256" + }, + { + internalType: "uint256", + name: "latestProposalIdState", + type: "uint256" + }, + { + internalType: "uint256", + name: "timelock", + type: "uint256" + }, + { + internalType: "address", + name: "delegatee", + type: "address" + } + ], + stateMutability: "view", + type: "function" + } +]; +const _bytecode$G = "0x608060405234801561001057600080fd5b50610ab8806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063029fcae7146100465780639853d9221461006f578063f4eeefe91461008f575b600080fd5b61005961005436600461082b565b6100b3565b60405161006691906109e3565b60405180910390f35b61008261007d36600461072c565b6101c7565b6040516100669190610919565b6100a261009d3660046107f3565b610446565b604051610066959493929190610a30565b60608167ffffffffffffffff811180156100cc57600080fd5b506040519080825280602002602001820160405280156100f6578160200160208202803683370190505b50905060005b828110156101bf57846001600160a01b0316639ae697bf85858481811061011f57fe5b9050602002016020810190610134919061072c565b6040518263ffffffff1660e01b81526004016101509190610905565b60206040518083038186803b15801561016857600080fd5b505afa15801561017c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101a091906108cc565b8282815181106101ac57fe5b60209081029190910101526001016100fc565b509392505050565b6060816001600160a01b031663da35c6646040518163ffffffff1660e01b815260040160206040518083038186803b15801561020257600080fd5b505afa158015610216573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061023a91906108cc565b67ffffffffffffffff8111801561025057600080fd5b5060405190808252806020026020018201604052801561028a57816020015b6102776106e2565b81526020019060019003908161026f5790505b50905060005b8151811015610440576000806000806000806000808a6001600160a01b031663013cf08b8a6001016040518263ffffffff1660e01b81526004016102d49190610a27565b6101006040518083038186803b1580156102ed57600080fd5b505afa158015610301573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610325919061076b565b97509750975097509750975097509750604051806101200160405280896001600160a01b03168152602001886001600160a01b03168152602001878152602001868152602001858152602001848152602001831515815260200182151581526020018c6001600160a01b0316633e4f49e68c6001016040518263ffffffff1660e01b81526004016103b69190610a27565b60206040518083038186803b1580156103ce57600080fd5b505afa1580156103e2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061040691906108ad565b600681111561041157fe5b8152508a8a8151811061042057fe5b602002602001018190525050505050505050508080600101915050610290565b50919050565b6000806000806000866001600160a01b0316639ae697bf876040518263ffffffff1660e01b815260040161047a9190610905565b60206040518083038186803b15801561049257600080fd5b505afa1580156104a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ca91906108cc565b6040516317977c6160e01b81529095506001600160a01b038816906317977c61906104f9908990600401610905565b60206040518083038186803b15801561051157600080fd5b505afa158015610525573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054991906108cc565b935083156105db57604051631f27a4f360e11b81526001600160a01b03881690633e4f49e69061057d908790600401610a27565b60206040518083038186803b15801561059557600080fd5b505afa1580156105a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105cd91906108ad565b60068111156105d857fe5b92505b60405163a72edda360e01b81526001600160a01b0388169063a72edda390610607908990600401610905565b60206040518083038186803b15801561061f57600080fd5b505afa158015610633573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065791906108cc565b604051631976849960e21b81529092506001600160a01b038816906365da126490610686908990600401610905565b60206040518083038186803b15801561069e57600080fd5b505afa1580156106b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d6919061074f565b90509295509295909350565b6040805161012081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290529061010082015290565b60006020828403121561073d578081fd5b813561074881610a5c565b9392505050565b600060208284031215610760578081fd5b815161074881610a5c565b600080600080600080600080610100898b031215610787578384fd5b885161079281610a5c565b60208a01519098506107a381610a5c565b8097505060408901519550606089015194506080890151935060a0890151925060c08901516107d181610a74565b60e08a01519092506107e281610a74565b809150509295985092959890939650565b60008060408385031215610805578182fd5b823561081081610a5c565b9150602083013561082081610a5c565b809150509250929050565b60008060006040848603121561083f578283fd5b833561084a81610a5c565b9250602084013567ffffffffffffffff80821115610866578384fd5b818601915086601f830112610879578384fd5b813581811115610887578485fd5b876020808302850101111561089a578485fd5b6020830194508093505050509250925092565b6000602082840312156108be578081fd5b815160078110610748578182fd5b6000602082840312156108dd578081fd5b5051919050565b6001600160a01b03169052565b15159052565b6007811061090157fe5b9052565b6001600160a01b0391909116815260200190565b602080825282518282018190526000919060409081850190868401855b828110156109d657815180516001600160a01b031685528681015161095d888701826108e4565b508086015185870152606080820151908601526080808201519086015260a0808201519086015260c080820151610996828801826108f1565b505060e0808201516109aa828801826108f1565b505061010090810151906109c0868201836108f7565b5050610120939093019290850190600101610936565b5091979650505050505050565b6020808252825182820181905260009190848201906040850190845b81811015610a1b578351835292840192918401916001016109ff565b50909695505050505050565b90815260200190565b9485526020850193909352604084019190915260608301526001600160a01b0316608082015260a00190565b6001600160a01b0381168114610a7157600080fd5b50565b8015158114610a7157600080fdfea2646970667358221220c68e065ff95a2c91c1e5904ff4ba8c709291d5227b10049b437e89d35c33af4d64736f6c634300060c0033"; +const isSuperArgs$G = (xs) => xs.length > 1; +class GovernanceAggregator__factory extends ethers.ContractFactory { + constructor(...args) { + if (isSuperArgs$G(args)) { + super(...args); + } else { + super(_abi$16, _bytecode$G, args[0]); + } + } + getDeployTransaction(overrides) { + return super.getDeployTransaction(overrides || {}); + } + deploy(overrides) { + return super.deploy(overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new ethers.Interface(_abi$16); + } + static connect(address, runner) { + return new ethers.Contract( + address, + _abi$16, + runner + ); + } +} +GovernanceAggregator__factory.bytecode = _bytecode$G; +GovernanceAggregator__factory.abi = _abi$16; + +var index$y = /*#__PURE__*/Object.freeze({ + __proto__: null, + Aggregator__factory: Aggregator__factory, + GovernanceAggregator__factory: GovernanceAggregator__factory, + relayerAggregatorSol: index$z +}); + +const _abi$15 = [ + { + inputs: [ + { + internalType: "contract IDeployer", + name: "_deployer", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "addr", + type: "address" + } + ], + name: "Deployed", + type: "event" + }, + { + inputs: [ + { + internalType: "bytes", + name: "_initCode", + type: "bytes" + }, + { + internalType: "bytes32", + name: "_salt", + type: "bytes32" + } + ], + name: "deploy", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "deployer", + outputs: [ + { + internalType: "contract IDeployer", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + } +]; +const _bytecode$F = "0x60a060405234801561001057600080fd5b506040516103a93803806103a98339818101604052602081101561003357600080fd5b50516001600160a01b0381161561004a5780610060565b73ce0042b868300000d44a59004da54a005ffdcf9f5b60601b6001600160601b031916608052604051309032907f09e48df7857bd0c1e0d31bb8a85d42cf1874817895f171c917f6ee2cea73ec2090600090a35060805160601c6102e96100c06000398061010d528061029152506102e96000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80634af63f021461003b578063d5f39488146100e5575b600080fd5b6100e36004803603604081101561005157600080fd5b81019060208101813564010000000081111561006c57600080fd5b82018360208201111561007e57600080fd5b803590602001918460018302840111640100000000831117156100a057600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250610109915050565b005b6100ed61028f565b604080516001600160a01b039092168252519081900360200190f35b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634af63f0284846040518363ffffffff1660e01b81526004018080602001838152602001828103825284818151815260200191508051906020019080838360005b8381101561018e578181015183820152602001610176565b50505050905090810190601f1680156101bb5780820380516001836020036101000a031916815260200191505b509350505050602060405180830381600087803b1580156101db57600080fd5b505af11580156101ef573d6000803e3d6000fd5b505050506040513d602081101561020557600080fd5b505190506001600160a01b038116610254576040805162461bcd60e51b815260206004820152600d60248201526c11195c1b1bde4819985a5b1959609a1b604482015290519081900360640190fd5b6040516001600160a01b0382169033907f09e48df7857bd0c1e0d31bb8a85d42cf1874817895f171c917f6ee2cea73ec2090600090a3505050565b7f00000000000000000000000000000000000000000000000000000000000000008156fea26469706673582212209824ac82969e56106968b899123a2ecac48f942b4ed3dcae2ced58022879d32364736f6c634300060c0033"; +const isSuperArgs$F = (xs) => xs.length > 1; +class Deployer__factory extends ethers.ContractFactory { + constructor(...args) { + if (isSuperArgs$F(args)) { + super(...args); + } else { + super(_abi$15, _bytecode$F, args[0]); + } + } + getDeployTransaction(_deployer, overrides) { + return super.getDeployTransaction(_deployer, overrides || {}); + } + deploy(_deployer, overrides) { + return super.deploy(_deployer, overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new ethers.Interface(_abi$15); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$15, runner); + } +} +Deployer__factory.bytecode = _bytecode$F; +Deployer__factory.abi = _abi$15; + +const _abi$14 = [ + { + inputs: [ + { + internalType: "bytes", + name: "_initCode", + type: "bytes" + }, + { + internalType: "bytes32", + name: "_salt", + type: "bytes32" + } + ], + name: "deploy", + outputs: [ + { + internalType: "address payable", + name: "createdContract", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; +class IDeployer__factory { + static createInterface() { + return new ethers.Interface(_abi$14); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$14, runner); + } +} +IDeployer__factory.abi = _abi$14; + +var index$x = /*#__PURE__*/Object.freeze({ + __proto__: null, + Deployer__factory: Deployer__factory, + IDeployer__factory: IDeployer__factory +}); + +const _abi$13 = [ + { + inputs: [ + { + internalType: "contract IERC20", + name: "_token", + type: "address" + }, + { + internalType: "address", + name: "_spender", + type: "address" + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256" + } + ], + name: "approveExactToken", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; +class ITornadoRouter__factory { + static createInterface() { + return new ethers.Interface(_abi$13); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$13, runner); + } +} +ITornadoRouter__factory.abi = _abi$13; + +const _abi$12 = [ + { + inputs: [ + { + internalType: "address", + name: "_governance", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "contract ITornadoInstance", + name: "instance", + type: "address" + }, + { + indexed: false, + internalType: "enum InstanceRegistry.InstanceState", + name: "state", + type: "uint8" + } + ], + name: "InstanceStateUpdated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "tornadoRouter", + type: "address" + } + ], + name: "RouterRegistered", + type: "event" + }, + { + inputs: [], + name: "getAllInstanceAddresses", + outputs: [ + { + internalType: "contract ITornadoInstance[]", + name: "result", + type: "address[]" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "getAllInstances", + outputs: [ + { + components: [ + { + internalType: "contract ITornadoInstance", + name: "addr", + type: "address" + }, + { + components: [ + { + internalType: "bool", + name: "isERC20", + type: "bool" + }, + { + internalType: "contract IERC20", + name: "token", + type: "address" + }, + { + internalType: "enum InstanceRegistry.InstanceState", + name: "state", + type: "uint8" + }, + { + internalType: "uint24", + name: "uniswapPoolSwappingFee", + type: "uint24" + }, + { + internalType: "uint32", + name: "protocolFeePercentage", + type: "uint32" + } + ], + internalType: "struct InstanceRegistry.Instance", + name: "instance", + type: "tuple" + } + ], + internalType: "struct InstanceRegistry.Tornado[]", + name: "result", + type: "tuple[]" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract ITornadoInstance", + name: "instance", + type: "address" + } + ], + name: "getPoolToken", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "governance", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + components: [ + { + internalType: "contract ITornadoInstance", + name: "addr", + type: "address" + }, + { + components: [ + { + internalType: "bool", + name: "isERC20", + type: "bool" + }, + { + internalType: "contract IERC20", + name: "token", + type: "address" + }, + { + internalType: "enum InstanceRegistry.InstanceState", + name: "state", + type: "uint8" + }, + { + internalType: "uint24", + name: "uniswapPoolSwappingFee", + type: "uint24" + }, + { + internalType: "uint32", + name: "protocolFeePercentage", + type: "uint32" + } + ], + internalType: "struct InstanceRegistry.Instance", + name: "instance", + type: "tuple" + } + ], + internalType: "struct InstanceRegistry.Tornado[]", + name: "_instances", + type: "tuple[]" + }, + { + internalType: "address", + name: "_router", + type: "address" + } + ], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + name: "instanceIds", + outputs: [ + { + internalType: "contract ITornadoInstance", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract ITornadoInstance", + name: "", + type: "address" + } + ], + name: "instances", + outputs: [ + { + internalType: "bool", + name: "isERC20", + type: "bool" + }, + { + internalType: "contract IERC20", + name: "token", + type: "address" + }, + { + internalType: "enum InstanceRegistry.InstanceState", + name: "state", + type: "uint8" + }, + { + internalType: "uint24", + name: "uniswapPoolSwappingFee", + type: "uint24" + }, + { + internalType: "uint32", + name: "protocolFeePercentage", + type: "uint32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "_instanceId", + type: "uint256" + } + ], + name: "removeInstance", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "router", + outputs: [ + { + internalType: "contract ITornadoRouter", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract ITornadoInstance", + name: "instance", + type: "address" + }, + { + internalType: "uint32", + name: "newFee", + type: "uint32" + } + ], + name: "setProtocolFee", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "routerAddress", + type: "address" + } + ], + name: "setTornadoRouter", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + components: [ + { + internalType: "contract ITornadoInstance", + name: "addr", + type: "address" + }, + { + components: [ + { + internalType: "bool", + name: "isERC20", + type: "bool" + }, + { + internalType: "contract IERC20", + name: "token", + type: "address" + }, + { + internalType: "enum InstanceRegistry.InstanceState", + name: "state", + type: "uint8" + }, + { + internalType: "uint24", + name: "uniswapPoolSwappingFee", + type: "uint24" + }, + { + internalType: "uint32", + name: "protocolFeePercentage", + type: "uint32" + } + ], + internalType: "struct InstanceRegistry.Instance", + name: "instance", + type: "tuple" + } + ], + internalType: "struct InstanceRegistry.Tornado", + name: "_tornado", + type: "tuple" + } + ], + name: "updateInstance", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; +const _bytecode$E = "0x60a060405234801561001057600080fd5b5060405161146f38038061146f83398101604081905261002f91610044565b60601b6001600160601b031916608052610072565b600060208284031215610055578081fd5b81516001600160a01b038116811461006b578182fd5b9392505050565b60805160601c6113cc6100a3600039806103e552806105c052806105ed528061073a52806107e652506113cc6000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80636c9be937116100715780636c9be9371461014d578063908e3b371461016057806392b65a4114610173578063b5b899b714610186578063cf552c8914610199578063f887ea40146101ac576100b4565b8063032bb443146100b957806310c13ac3146100e65780631ad058a9146100fb5780634ba16d9d1461011057806352c228e3146101235780635aa6e67514610138575b600080fd5b6100cc6100c7366004610e89565b6101b4565b6040516100dd95949392919061119c565b60405180910390f35b6100ee6101fe565b6040516100dd919061109f565b61010e610109366004610ec8565b6102af565b005b61010e61011e366004610e89565b6103da565b61012b61047f565b6040516100dd91906110ec565b6101406105be565b6040516100dd9190611071565b61010e61015b366004610fdb565b6105e2565b61014061016e366004610e89565b610709565b61010e610181366004610f80565b61072f565b61014061019436600461100d565b6107b4565b61010e6101a736600461100d565b6107db565b610140610a77565b60016020526000908152604090205460ff8082169161010081046001600160a01b031691600160a81b82041690600160b01b810462ffffff1690600160c81b900463ffffffff1685565b60025460609067ffffffffffffffff8111801561021a57600080fd5b50604051908082528060200260200182016040528015610244578160200160208202803683370190505b50905060005b6002548110156102ab576002818154811061026157fe5b9060005260206000200160009054906101000a90046001600160a01b031682828151811061028b57fe5b6001600160a01b039092166020928302919091019091015260010161024a565b5090565b600054610100900460ff16806102c857506102c8610a8c565b806102d6575060005460ff16155b6102fb5760405162461bcd60e51b81526004016102f29061121c565b60405180910390fd5b600054610100900460ff16158015610326576000805460ff1961ff0019909116610100171660011790555b6000805462010000600160b01b031916620100006001600160a01b038516021781555b83518110156103c25761036e84828151811061036157fe5b6020026020010151610a92565b600284828151811061037c57fe5b6020908102919091018101515182546001808201855560009485529290932090920180546001600160a01b0319166001600160a01b039093169290921790915501610349565b5080156103d5576000805461ff00191690555b505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104225760405162461bcd60e51b81526004016102f2906112ca565b6000805462010000600160b01b031916620100006001600160a01b038416021790556040517f94df8c3a8087dce110e5fbc5acf380c83c94bbd31b2c8ed4c08e1396a696e1a890610474908390611071565b60405180910390a150565b60025460609067ffffffffffffffff8111801561049b57600080fd5b506040519080825280602002602001820160405280156104d557816020015b6104c2610d64565b8152602001906001900390816104ba5790505b50905060005b6002548110156102ab576000600282815481106104f457fe5b60009182526020808320909101546040805180820182526001600160a01b03928316808252808652600180865295839020835160a081018552815460ff8082161515835261010082049097168289015292985092969587019592949093850192600160a81b909204169081111561056757fe5b600181111561057257fe5b81529054600160b01b810462ffffff166020830152600160c81b900463ffffffff16604090910152905283518490849081106105aa57fe5b6020908102919091010152506001016104db565b7f000000000000000000000000000000000000000000000000000000000000000081565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461062a5760405162461bcd60e51b81526004016102f2906112ca565b600061063c6080830160608401610fc0565b600181111561064757fe5b14156106655760405162461bcd60e51b81526004016102f290611293565b6000600160006106786020850185610e89565b6001600160a01b03168152602081019190915260400160002054600160a81b900460ff1660018111156106a757fe5b14156106ef5760026106bc6020830183610e89565b81546001810183556000928352602090922090910180546001600160a01b0319166001600160a01b039092169190911790555b61070661070136839003830183610ff2565b610a92565b50565b6001600160a01b038082166000908152600160205260409020546101009004165b919050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107775760405162461bcd60e51b81526004016102f2906112ca565b6001600160a01b039091166000908152600160205260409020805463ffffffff909216600160c81b0263ffffffff60c81b19909216919091179055565b600281815481106107c157fe5b6000918252602090912001546001600160a01b0316905081565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108235760405162461bcd60e51b81526004016102f2906112ca565b60006002828154811061083257fe5b60009182526020808320909101546001600160a01b03908116808452600190925260409092205490925060ff8116916101009091041681156109705760008054604051636eb1769f60e11b81526001600160a01b038085169263dd62ed3e926108aa9262010000909204909116908890600401611085565b60206040518083038186803b1580156108c257600080fd5b505afa1580156108d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108fa9190611025565b9050801561096e5760008054604051633ef1078360e01b8152620100009091046001600160a01b031691633ef107839161093b9186918991906004016111e3565b600060405180830381600087803b15801561095557600080fd5b505af1158015610969573d6000803e3d6000fd5b505050505b505b6001600160a01b038316600090815260016020526040902080546001600160e81b03191690556002805460001981019081106109a857fe5b600091825260209091200154600280546001600160a01b0390921691869081106109ce57fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506002805480610a0757fe5b6001900381819060005260206000200160006101000a8154906001600160a01b0302191690559055826001600160a01b03167f02826f62d88a4d9f1978eb9c06f8663f642d032908e65a915d5898f3585421c06000604051610a699190611207565b60405180910390a250505050565b6000546201000090046001600160a01b031681565b303b1590565b60208181015182516001600160a01b0390811660009081526001808552604091829020845181549686015160ff1990971690151517610100600160a81b0319166101009690941695909502929092178085559083015192939291839160ff60a81b191690600160a81b908490811115610b0757fe5b02179055506060820151815460809093015163ffffffff16600160c81b0263ffffffff60c81b1962ffffff909216600160b01b0262ffffff60b01b19909416939093171691909117905560208101515115610d1457600081600001516001600160a01b031663fc0c546a6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b9b57600080fd5b505afa158015610baf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bd39190610eac565b90508160200151602001516001600160a01b0316816001600160a01b031614610c0e5760405162461bcd60e51b81526004016102f29061126a565b600080548351604051636eb1769f60e11b81526001600160a01b038086169363dd62ed3e93610c4b93620100009092049092169190600401611085565b60206040518083038186803b158015610c6357600080fd5b505afa158015610c77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9b9190611025565b905080610d11576000548351604051633ef1078360e01b8152620100009092046001600160a01b031691633ef1078391610cde91869190600019906004016111e3565b600060405180830381600087803b158015610cf857600080fd5b505af1158015610d0c573d6000803e3d6000fd5b505050505b50505b80600001516001600160a01b03167f02826f62d88a4d9f1978eb9c06f8663f642d032908e65a915d5898f3585421c0826020015160400151604051610d599190611207565b60405180910390a250565b604051806040016040528060006001600160a01b03168152602001610d87610d8c565b905290565b6040805160a0810182526000808252602082018190529091820190815260006020820181905260409091015290565b8035610dc681611350565b92915050565b803560028110610dc657600080fd5b600081830360c0811215610ded578182fd5b610df760406112f2565b91508235610e0481611350565b825260a0601f1982011215610e1857600080fd5b50610e2360a06112f2565b6020830135610e3181611365565b81526040830135610e4181611350565b6020820152610e538460608501610dcc565b60408201526080830135610e6681611373565b606082015260a0830135610e7981611384565b6080820152602082015292915050565b600060208284031215610e9a578081fd5b8135610ea581611350565b9392505050565b600060208284031215610ebd578081fd5b8151610ea581611350565b60008060408385031215610eda578081fd5b823567ffffffffffffffff811115610ef0578182fd5b8301601f81018513610f00578182fd5b8035610f13610f0e82611319565b6112f2565b808282526020808301925080850160c08a838288028901011115610f35578788fd5b8796505b85871015610f6157610f4b8b83610ddb565b8552600196909601959382019390810190610f39565b5050819650610f7289828a01610dbb565b955050505050509250929050565b60008060408385031215610f92578182fd5b8235610f9d81611350565b9150602083013563ffffffff81168114610fb5578182fd5b809150509250929050565b600060208284031215610fd1578081fd5b610ea58383610dcc565b600060c08284031215610fec578081fd5b50919050565b600060c08284031215611003578081fd5b610ea58383610ddb565b60006020828403121561101e578081fd5b5035919050565b600060208284031215611036578081fd5b5051919050565b15159052565b6001600160a01b03169052565b6002811061105a57fe5b9052565b62ffffff169052565b63ffffffff169052565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6020808252825182820181905260009190848201906040850190845b818110156110e05783516001600160a01b0316835292840192918401916001016110bb565b50909695505050505050565b602080825282518282018190526000919060409081850190868401855b8281101561118f57815161111d8151611339565b85528601518051611131908887019061103d565b8681015161114187870182611043565b5085810151606061115481880183611050565b820151905060806111678782018361105e565b9190910151905061117b60a0860182611067565b5060c0939093019290850190600101611109565b5091979650505050505050565b85151581526001600160a01b038516602082015260a081016111bd85611345565b604083015262ffffff8416606083015263ffffffff831660808301529695505050505050565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6020810161121483611345565b825292915050565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252600f908201526e24b731b7b93932b1ba103a37b5b2b760891b604082015260600190565b6020808252601f908201527f5573652072656d6f7665496e7374616e6365282920666f722072656d6f766500604082015260600190565b6020808252600e908201526d139bdd08185d5d1a1bdc9a5e995960921b604082015260600190565b60405181810167ffffffffffffffff8111828210171561131157600080fd5b604052919050565b600067ffffffffffffffff82111561132f578081fd5b5060209081020190565b6001600160a01b031690565b806002811061072a57fe5b6001600160a01b038116811461070657600080fd5b801515811461070657600080fd5b62ffffff8116811461070657600080fd5b63ffffffff8116811461070657600080fdfea26469706673582212207c46c875176b62100d16a46c273e615cd9eb5336dbcd238b33b227f39ff9106564736f6c634300060c0033"; +const isSuperArgs$E = (xs) => xs.length > 1; +class InstanceRegistry__factory extends ethers.ContractFactory { + constructor(...args) { + if (isSuperArgs$E(args)) { + super(...args); + } else { + super(_abi$12, _bytecode$E, args[0]); + } + } + getDeployTransaction(_governance, overrides) { + return super.getDeployTransaction(_governance, overrides || {}); + } + deploy(_governance, overrides) { + return super.deploy(_governance, overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new ethers.Interface(_abi$12); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$12, runner); + } +} +InstanceRegistry__factory.bytecode = _bytecode$E; +InstanceRegistry__factory.abi = _abi$12; + +var index$w = /*#__PURE__*/Object.freeze({ + __proto__: null, + ITornadoRouter__factory: ITornadoRouter__factory, + InstanceRegistry__factory: InstanceRegistry__factory +}); + +const _abi$11 = [ + { + inputs: [ + { + internalType: "bytes32", + name: "node", + type: "bytes32" + } + ], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + } +]; +class IENS__factory { + static createInterface() { + return new ethers.Interface(_abi$11); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$11, runner); + } +} +IENS__factory.abi = _abi$11; + +const _abi$10 = [ + { + inputs: [ + { + internalType: "contract ITornadoInstance", + name: "_instance", + type: "address" + } + ], + name: "instanceFeeWithUpdate", + outputs: [ + { + internalType: "uint160", + name: "", + type: "uint160" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; +class IFeeManager__factory { + static createInterface() { + return new ethers.Interface(_abi$10); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$10, runner); + } +} +IFeeManager__factory.abi = _abi$10; + +const _abi$$ = [ + { + inputs: [ + { + internalType: "address", + name: "_torn", + type: "address" + }, + { + internalType: "address", + name: "_governance", + type: "address" + }, + { + internalType: "address", + name: "_ens", + type: "address" + }, + { + internalType: "address", + name: "_staking", + type: "address" + }, + { + internalType: "address", + name: "_feeManager", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "minStakeAmount", + type: "uint256" + } + ], + name: "MinimumStakeAmount", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "relayer", + type: "address" + } + ], + name: "RelayerBalanceNullified", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "bytes32", + name: "relayer", + type: "bytes32" + }, + { + indexed: false, + internalType: "string", + name: "ensName", + type: "string" + }, + { + indexed: false, + internalType: "address", + name: "relayerAddress", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "stakedAmount", + type: "uint256" + } + ], + name: "RelayerRegistered", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "tornadoRouter", + type: "address" + } + ], + name: "RouterRegistered", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "relayer", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "amountStakeAdded", + type: "uint256" + } + ], + name: "StakeAddedToRelayer", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "relayer", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "amountBurned", + type: "uint256" + } + ], + name: "StakeBurned", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "relayer", + type: "address" + }, + { + indexed: false, + internalType: "address", + name: "worker", + type: "address" + } + ], + name: "WorkerRegistered", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "relayer", + type: "address" + }, + { + indexed: false, + internalType: "address", + name: "worker", + type: "address" + } + ], + name: "WorkerUnregistered", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "address", + name: "relayer", + type: "address" + }, + { + internalType: "contract ITornadoInstance", + name: "pool", + type: "address" + } + ], + name: "burn", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "ens", + outputs: [ + { + internalType: "contract IENS", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "feeManager", + outputs: [ + { + internalType: "contract IFeeManager", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "relayer", + type: "address" + } + ], + name: "getRelayerBalance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "relayer", + type: "address" + } + ], + name: "getRelayerEnsHash", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "governance", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_tornadoRouter", + type: "address" + } + ], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "toResolve", + type: "address" + } + ], + name: "isRelayer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "relayer", + type: "address" + }, + { + internalType: "address", + name: "toResolve", + type: "address" + } + ], + name: "isRelayerRegistered", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "minStakeAmount", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "relayer", + type: "address" + } + ], + name: "nullifyBalance", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "string", + name: "ensName", + type: "string" + }, + { + internalType: "uint256", + name: "stake", + type: "uint256" + }, + { + internalType: "address[]", + name: "workersToRegister", + type: "address[]" + } + ], + name: "register", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "string", + name: "ensName", + type: "string" + }, + { + internalType: "uint256", + name: "stake", + type: "uint256" + }, + { + internalType: "address[]", + name: "workersToRegister", + type: "address[]" + }, + { + internalType: "address", + name: "relayer", + type: "address" + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256" + }, + { + internalType: "uint8", + name: "v", + type: "uint8" + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32" + } + ], + name: "registerPermit", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "relayer", + type: "address" + }, + { + internalType: "address", + name: "worker", + type: "address" + } + ], + name: "registerWorker", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "relayers", + outputs: [ + { + internalType: "uint256", + name: "balance", + type: "uint256" + }, + { + internalType: "bytes32", + name: "ensHash", + type: "bytes32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "minAmount", + type: "uint256" + } + ], + name: "setMinStakeAmount", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "tornadoRouterAddress", + type: "address" + } + ], + name: "setTornadoRouter", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "relayer", + type: "address" + }, + { + internalType: "uint256", + name: "stake", + type: "uint256" + } + ], + name: "stakeToRelayer", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "relayer", + type: "address" + }, + { + internalType: "uint256", + name: "stake", + type: "uint256" + }, + { + internalType: "address", + name: "staker", + type: "address" + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256" + }, + { + internalType: "uint8", + name: "v", + type: "uint8" + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32" + } + ], + name: "stakeToRelayerPermit", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "staking", + outputs: [ + { + internalType: "contract TornadoStakingRewards", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "torn", + outputs: [ + { + internalType: "contract TORN", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "tornadoRouter", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "worker", + type: "address" + } + ], + name: "unregisterWorker", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "workers", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + } +]; +const _bytecode$D = "0x6101206040523480156200001257600080fd5b5060405162001e3c38038062001e3c83398101604081905262000035916200006d565b6001600160601b0319606095861b811660805293851b841660a05291841b831660c052831b821660e05290911b166101005262000105565b600080600080600060a0868803121562000085578081fd5b85516200009281620000ec565b6020870151909550620000a581620000ec565b6040870151909450620000b881620000ec565b6060870151909350620000cb81620000ec565b6080870151909250620000de81620000ec565b809150509295509295909350565b6001600160a01b03811681146200010257600080fd5b50565b60805160601c60a05160601c60c05160601c60e05160601c6101005160601c611cac62000190600039806105855280610b0b52508061066152806107c75280610dc0528061103e52508061046f5280610ec552508061071652806107f452806108ff5280610bfc52508061093852806109c15280610b4f5280610d9d528061101b5250611cac6000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c806385a29683116100c3578063d0fb02031161007c578063d0fb0203146102bc578063d990231d146102c4578063e37e8bcc146102d7578063e43fdb3c146102ea578063eb4af045146102fd578063f18876841461031057610158565b806385a2968314610248578063adf898a41461025b578063ae53941c14610263578063b69fd4ab14610283578063b971a6bf14610296578063c4d66de8146102a957610158565b80634cb16c2e116101155780634cb16c2e146101dc5780634cf088d9146101e45780634d4efd04146101ec5780635300f841146101ff578063541d5548146102205780635aa6e6751461024057610158565b80632e6506491461015d5780633523dc85146101725780633f15457f146101855780634048a257146101a357806345a11cec146101b65780634ba16d9d146101c9575b600080fd5b61017061016b36600461151e565b610318565b005b6101706101803660046114e6565b61036d565b61018d61046d565b60405161019a91906117c9565b60405180910390f35b61018d6101b13660046114e6565b610491565b6101706101c4366004611556565b6104ac565b6101706101d73660046114e6565b61070b565b61018d6107b0565b61018d6107c5565b6101706101fa3660046114e6565b6107e9565b61021261020d3660046114e6565b6108c4565b60405161019a92919061179f565b61023361022e3660046114e6565b6108dd565b60405161019a9190611875565b61018d6108fd565b6101706102563660046115cb565b610921565b61018d6109bf565b6102766102713660046114e6565b6109e3565b60405161019a9190611880565b61023361029136600461151e565b610a11565b6102766102a43660046114e6565b610a38565b6101706102b73660046114e6565b610a63565b61018d610b09565b6101706102d23660046115a0565b610b2d565b6101706102e53660046116d0565b610b38565b6101706102f8366004611659565b610bdc565b61017061030b366004611787565b610bf1565b610276610c6e565b3360008181526003602052604090205483906001600160a01b0380831691161461035d5760405162461bcd60e51b815260040161035490611b20565b60405180910390fd5b6103678484610c74565b50505050565b6001600160a01b03811633146103b6576001600160a01b038181166000908152600360205260409020541633146103b65760405162461bcd60e51b815260040161035490611b46565b6001600160a01b0380821660008181526003602052604090205490911614156103f15760405162461bcd60e51b815260040161035490611a5f565b6001600160a01b03808216600090815260036020526040908190205490517fb2a8e18b9e887f502d65c1683e60b723fa582a6903ea4e8eb23907a19c1ce8a09261043e92169084906117dd565b60405180910390a16001600160a01b0316600090815260036020526040902080546001600160a01b0319169055565b7f000000000000000000000000000000000000000000000000000000000000000081565b6003602052600090815260409020546001600160a01b031681565b6000546201000090046001600160a01b031633146104dc5760405162461bcd60e51b815260040161035490611938565b6001600160a01b03808416600090815260036020526040902054168061053a576001600160a01b0383811660009081526003602052604090205416156105345760405162461bcd60e51b815260040161035490611abc565b50610706565b826001600160a01b0316816001600160a01b03161461056b5760405162461bcd60e51b815260040161035490611b20565b604051630bbefce160e21b81526000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632efbf384906105ba9086906004016117c9565b602060405180830381600087803b1580156105d457600080fd5b505af11580156105e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061060c9190611502565b6001600160a01b03858116600090815260026020526040902054911691506106349082610d0d565b6001600160a01b038086166000908152600260205260409081902092909255905163338610af60e01b81527f00000000000000000000000000000000000000000000000000000000000000009091169063338610af90610698908490600401611880565b600060405180830381600087803b1580156106b257600080fd5b505af11580156106c6573d6000803e3d6000fd5b505050507f659f33fc6677bebf3a9bf3101092792e31f35766d0358e54577bdd91a655f6a084826040516106fb92919061185c565b60405180910390a150505b505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107535760405162461bcd60e51b8152600401610354906119b8565b6000805462010000600160b01b031916620100006001600160a01b038416021790556040517f94df8c3a8087dce110e5fbc5acf380c83c94bbd31b2c8ed4c08e1396a696e1a8906107a59083906117c9565b60405180910390a150565b6000546201000090046001600160a01b031681565b7f000000000000000000000000000000000000000000000000000000000000000081565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108315760405162461bcd60e51b8152600401610354906119b8565b6001600160a01b0380821660008181526003602052604090205490911690811461086d5760405162461bcd60e51b815260040161035490611c0a565b6001600160a01b03811660009081526002602052604080822091909155517fafa759fb3c68e89eaaba359f0930ab40c24875b73cc9e2f6a38b0180019eb8f3906108b89084906117c9565b60405180910390a15050565b6002602052600090815260409020805460019091015482565b6001600160a01b0390811660009081526003602052604090205416151590565b7f000000000000000000000000000000000000000000000000000000000000000081565b60405163d505accf60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d505accf9061097990889030908b908a908a908a908a9060040161181b565b600060405180830381600087803b15801561099357600080fd5b505af11580156109a7573d6000803e3d6000fd5b505050506109b6858888610d56565b50505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001600160a01b03908116600090815260036020908152604080832054909316825260029052206001015490565b6001600160a01b038181166000908152600360205260409020548116908316145b92915050565b6001600160a01b03908116600090815260036020908152604080832054909316825260029052205490565b600054610100900460ff1680610a7c5750610a7c610e64565b80610a8a575060005460ff16155b610aa65760405162461bcd60e51b815260040161035490611a11565b600054610100900460ff16158015610ad1576000805460ff1961ff0019909116610100171660011790555b6000805462010000600160b01b031916620100006001600160a01b038516021790558015610b05576000805461ff00191690555b5050565b7f000000000000000000000000000000000000000000000000000000000000000081565b610b05338383610d56565b60405163d505accf60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d505accf90610b9090889030908d908a908a908a908a9060040161181b565b600060405180830381600087803b158015610baa57600080fd5b505af1158015610bbe573d6000803e3d6000fd5b50505050610bd0858b8b8b8b8b610e6a565b50505050505050505050565b610bea338686868686610e6a565b5050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c395760405162461bcd60e51b8152600401610354906119b8565b60018190556040517f404663163d528ec45288abc4389b81bd96fabf858ff57577ebd4ee7f15d7b0a6906107a5908390611880565b60015481565b6001600160a01b038181166000908152600360205260409020541615610cac5760405162461bcd60e51b8152600401610354906119e1565b6001600160a01b038181166000908152600360205260409081902080546001600160a01b03191692851692909217909155517fcde75bd02c5f739608c891bcd9aa6809e6c4a7035ac7b9f3fd5fea756db74724906108b890849084906117dd565b6000610d4f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061115b565b9392505050565b6001600160a01b0380831660008181526003602052604090205490911614610d905760405162461bcd60e51b815260040161035490611993565b610de56001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016847f000000000000000000000000000000000000000000000000000000000000000084611187565b6001600160a01b038216600090815260026020526040902054610e099082906111df565b6001600160a01b0383166000908152600260205260409081902091909155517f1275dbe2a271b2b822e60f1d44894fa5fb337e7e2dc6a200205b1a5b17c07d6490610e57908490849061185c565b60405180910390a1505050565b303b1590565b6000610eab86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061120492505050565b6040516302571be360e01b81529091506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906302571be390610efa908490600401611880565b60206040518083038186803b158015610f1257600080fd5b505afa158015610f26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4a9190611502565b6001600160a01b0316876001600160a01b031614610f7a5760405162461bcd60e51b815260040161035490611be2565b6001600160a01b038781166000908152600360205260409020541615610fb25760405162461bcd60e51b815260040161035490611a8f565b6001600160a01b0387166000908152600260205260409020600181015415610fec5760405162461bcd60e51b81526004016103549061190c565b60015485101561100e5760405162461bcd60e51b815260040161035490611bbe565b6110636001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016897f000000000000000000000000000000000000000000000000000000000000000088611187565b7f1275dbe2a271b2b822e60f1d44894fa5fb337e7e2dc6a200205b1a5b17c07d64888660405161109492919061185c565b60405180910390a1848155600181018290556001600160a01b038816600081815260036020526040812080546001600160a01b0319169092179091555b838110156111115760008585838181106110e757fe5b90506020020160208101906110fc91906114e6565b90506111088a82610c74565b506001016110d1565b507f9ca7c9c762eff27b021608f232b4c4b8f9b8bf9a3d322297e47cc4209a67d5e28288888b89604051611149959493929190611889565b60405180910390a15050505050505050565b6000818484111561117f5760405162461bcd60e51b815260040161035491906118d9565b505050900390565b610367846323b872dd60e01b8585856040516024016111a8939291906117f7565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611211565b600082820183811015610d4f5760405162461bcd60e51b81526004016103549061195c565b6000610a328260006112a0565b6060611266826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661130a9092919063ffffffff16565b80519091501561070657808060200190518101906112849190611639565b6107065760405162461bcd60e51b815260040161035490611b74565b6000818351116112b257506000610a32565b60006112be8484611321565b90506112cf848285016001016112a0565b6112da858584611366565b6040516020016112eb92919061179f565b6040516020818303038152906040528051906020012091505092915050565b60606113198484600085611382565b949350505050565b6000805b8351818401141580156113595750838184018151811061134157fe5b6020910101516001600160f81b031916601760f91b14155b15610d4f57600101611325565b60008351828401111561137857600080fd5b5091016020012090565b606061138d85611446565b6113a95760405162461bcd60e51b815260040161035490611ae9565b60006060866001600160a01b031685876040516113c691906117ad565b60006040518083038185875af1925050503d8060008114611403576040519150601f19603f3d011682016040523d82523d6000602084013e611408565b606091505b5091509150811561141c5791506113199050565b80511561142c5780518082602001fd5b8360405162461bcd60e51b815260040161035491906118d9565b3b151590565b60008083601f84011261145d578182fd5b50813567ffffffffffffffff811115611474578182fd5b602083019150836020808302850101111561148e57600080fd5b9250929050565b60008083601f8401126114a6578182fd5b50813567ffffffffffffffff8111156114bd578182fd5b60208301915083602082850101111561148e57600080fd5b803560ff81168114610a3257600080fd5b6000602082840312156114f7578081fd5b8135610d4f81611c5e565b600060208284031215611513578081fd5b8151610d4f81611c5e565b60008060408385031215611530578081fd5b823561153b81611c5e565b9150602083013561154b81611c5e565b809150509250929050565b60008060006060848603121561156a578081fd5b833561157581611c5e565b9250602084013561158581611c5e565b9150604084013561159581611c5e565b809150509250925092565b600080604083850312156115b2578182fd5b82356115bd81611c5e565b946020939093013593505050565b600080600080600080600060e0888a0312156115e5578283fd5b87356115f081611c5e565b965060208801359550604088013561160781611c5e565b94506060880135935061161d8960808a016114d5565b925060a0880135915060c0880135905092959891949750929550565b60006020828403121561164a578081fd5b81518015158114610d4f578182fd5b600080600080600060608688031215611670578081fd5b853567ffffffffffffffff80821115611687578283fd5b61169389838a01611495565b90975095506020880135945060408801359150808211156116b2578283fd5b506116bf8882890161144c565b969995985093965092949392505050565b6000806000806000806000806000806101008b8d0312156116ef578283fd5b8a3567ffffffffffffffff80821115611706578485fd5b6117128e838f01611495565b909c509a5060208d0135995060408d0135915080821115611731578485fd5b5061173e8d828e0161144c565b90985096505060608b013561175281611c5e565b945060808b013593506117688c60a08d016114d5565b925060c08b0135915060e08b013590509295989b9194979a5092959850565b600060208284031215611798578081fd5b5035919050565b918252602082015260400190565b600082516117bf818460208701611c32565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b90815260200190565b600086825260806020830152846080830152848660a084013760a08583018101919091526001600160a01b039390931660408201526060810191909152601f909201601f19169091010192915050565b60006020825282518060208401526118f8816040850160208701611c32565b601f01601f19169190910160400192915050565b6020808252601290820152717265676973746572656420616c726561647960701b604082015260600190565b6020808252600a90820152696f6e6c792070726f787960b01b604082015260600190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252600b908201526a085c9959da5cdd195c995960aa1b604082015260600190565b6020808252600f908201526e6f6e6c7920676f7665726e616e636560881b604082015260600190565b60208082526016908201527563616e277420737465616c20616e206164647265737360501b604082015260600190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b60208082526016908201527531b0b73a103ab73932b3b4b9ba32b91036b0b9ba32b960511b604082015260600190565b60208082526013908201527231b0b73a103932b3b4b9ba32b91030b3b0b4b760691b604082015260600190565b60208082526013908201527227b7363c9031bab9ba37b6903932b630bcb2b960691b604082015260600190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b6020808252600c908201526b37b7363c903932b630bcb2b960a11b604082015260600190565b60208082526014908201527337b7363c9037bbb732b91037b3103bb7b935b2b960611b604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b6020808252600a9082015269216d696e5f7374616b6560b01b604082015260600190565b6020808252600e908201526d37b7363c9032b7399037bbb732b960911b604082015260600190565b6020808252600e908201526d36bab9ba1031329036b0b9ba32b960911b604082015260600190565b60005b83811015611c4d578181015183820152602001611c35565b838111156103675750506000910152565b6001600160a01b0381168114611c7357600080fd5b5056fea2646970667358221220af9b060307b803c3e85be3c7887780626ba06e3ccb6888222cb230fd87c11d5664736f6c634300060c0033"; +const isSuperArgs$D = (xs) => xs.length > 1; +class RelayerRegistry__factory extends ethers.ContractFactory { + constructor(...args) { + if (isSuperArgs$D(args)) { + super(...args); + } else { + super(_abi$$, _bytecode$D, args[0]); + } + } + getDeployTransaction(_torn, _governance, _ens, _staking, _feeManager, overrides) { + return super.getDeployTransaction( + _torn, + _governance, + _ens, + _staking, + _feeManager, + overrides || {} + ); + } + deploy(_torn, _governance, _ens, _staking, _feeManager, overrides) { + return super.deploy( + _torn, + _governance, + _ens, + _staking, + _feeManager, + overrides || {} + ); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new ethers.Interface(_abi$$); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$$, runner); + } +} +RelayerRegistry__factory.bytecode = _bytecode$D; +RelayerRegistry__factory.abi = _abi$$; + +var index$v = /*#__PURE__*/Object.freeze({ + __proto__: null, + IENS__factory: IENS__factory, + IFeeManager__factory: IFeeManager__factory, + RelayerRegistry__factory: RelayerRegistry__factory +}); + +const _abi$_ = [ + { + inputs: [ + { + internalType: "bytes32", + name: "node", + type: "bytes32" + } + ], + name: "resolver", + outputs: [ + { + internalType: "contract Resolver", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + } +]; +class ENS__factory { + static createInterface() { + return new ethers.Interface(_abi$_); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$_, runner); + } +} +ENS__factory.abi = _abi$_; + +const _abi$Z = [ + { + inputs: [ + { + internalType: "bytes32[]", + name: "domains", + type: "bytes32[]" + } + ], + name: "bulkResolve", + outputs: [ + { + internalType: "address[]", + name: "result", + type: "address[]" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "node", + type: "bytes32" + } + ], + name: "resolve", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + } +]; +const _bytecode$C = "0x608060405234801561001057600080fd5b5061036d806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80635c23bdf51461003b578063f9e5423414610074575b600080fd5b6100586004803603602081101561005157600080fd5b5035610167565b604080516001600160a01b039092168252519081900360200190f35b6101176004803603602081101561008a57600080fd5b8101906020810181356401000000008111156100a557600080fd5b8201836020820111156100b757600080fd5b803590602001918460208302840111640100000000831117156100d957600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610292945050505050565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561015357818101518382015260200161013b565b505050509050019250505060405180910390f35b600080610172610333565b60011461019357738595bfb0d940dfedc98943fa8a907091203f25ee6101a4565b6e0c2e074ec69a0dfb2997ba6c7d2e1e5b9050806001600160a01b0316630178b8bf846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156101ea57600080fd5b505afa1580156101fe573d6000803e3d6000fd5b505050506040513d602081101561021457600080fd5b505160408051631d9dabef60e11b81526004810186905290516001600160a01b0390921691633b3b57de91602480820192602092909190829003018186803b15801561025f57600080fd5b505afa158015610273573d6000803e3d6000fd5b505050506040513d602081101561028957600080fd5b50519392505050565b6060815167ffffffffffffffff811180156102ac57600080fd5b506040519080825280602002602001820160405280156102d6578160200160208202803683370190505b50905060005b825181101561032d576103018382815181106102f457fe5b6020026020010151610167565b82828151811061030d57fe5b6001600160a01b03909216602092830291909101909101526001016102dc565b50919050565b469056fea26469706673582212201849a5e31df8347ec61f3d54e8cef603101becea24443df7d4e43cc42ff12a7564736f6c634300060c0033"; +const isSuperArgs$C = (xs) => xs.length > 1; +class EnsResolve__factory extends ethers.ContractFactory { + constructor(...args) { + if (isSuperArgs$C(args)) { + super(...args); + } else { + super(_abi$Z, _bytecode$C, args[0]); + } + } + getDeployTransaction(overrides) { + return super.getDeployTransaction(overrides || {}); + } + deploy(overrides) { + return super.deploy(overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new ethers.Interface(_abi$Z); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$Z, runner); + } +} +EnsResolve__factory.bytecode = _bytecode$C; +EnsResolve__factory.abi = _abi$Z; + +const _abi$Y = [ + { + inputs: [ + { + internalType: "bytes32", + name: "node", + type: "bytes32" + } + ], + name: "addr", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + } +]; +class Resolver__factory { + static createInterface() { + return new ethers.Interface(_abi$Y); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$Y, runner); + } +} +Resolver__factory.abi = _abi$Y; + +var index$u = /*#__PURE__*/Object.freeze({ + __proto__: null, + ENS__factory: ENS__factory, + EnsResolve__factory: EnsResolve__factory, + Resolver__factory: Resolver__factory +}); + +const _abi$X = [ + { + inputs: [ + { + internalType: "bytes32", + name: "tokenAddress", + type: "bytes32" + }, + { + components: [ + { + internalType: "address", + name: "to", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + internalType: "struct Airdrop.Recipient[]", + name: "targets", + type: "tuple[]" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + inputs: [ + { + internalType: "bytes32[]", + name: "domains", + type: "bytes32[]" + } + ], + name: "bulkResolve", + outputs: [ + { + internalType: "address[]", + name: "result", + type: "address[]" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "addr", + type: "bytes32" + } + ], + name: "resolve", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + } +]; +const _bytecode$B = "0x608060405234801561001057600080fd5b5060405161039938038061039983398101604081905261002f91610220565b8181600061003c836101aa565b90506000816001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161006c91906102e4565b60206040518083038186803b15801561008457600080fd5b505afa158015610098573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100bc91906102cc565b116100e25760405162461bcd60e51b81526004016100d990610311565b60405180910390fd5b60005b82518110156101a557816001600160a01b031663a9059cbb84838151811061010957fe5b60200260200101516000015185848151811061012157fe5b6020026020010151602001516040518363ffffffff1660e01b815260040161014a9291906102f8565b602060405180830381600087803b15801561016457600080fd5b505af1158015610178573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061019c91906101f9565b506001016100e5565b506000ff5b60601c90565b6000604082840312156101c1578081fd5b6101cb6040610353565b82519091506001600160a01b03811681146101e557600080fd5b808252506020820151602082015292915050565b60006020828403121561020a578081fd5b81518015158114610219578182fd5b9392505050565b6000806040808486031215610233578182fd5b8351602080860151919450906001600160401b03811115610252578384fd5b8501601f81018713610262578384fd5b805161027561027082610379565b610353565b81815283810190838501868402850186018b1015610291578788fd5b8794505b838510156102bb576102a78b826101b0565b835260019490940193918501918601610295565b508096505050505050509250929050565b6000602082840312156102dd578081fd5b5051919050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b60208082526022908201527f42616c616e636520697320302c2061697264726f7020616c726561647920646f6040820152616e6560f01b606082015260800190565b6040518181016001600160401b038111828210171561037157600080fd5b604052919050565b60006001600160401b0382111561038e578081fd5b506020908102019056fe"; +const isSuperArgs$B = (xs) => xs.length > 1; +class AirdropMock__factory extends ethers.ContractFactory { + constructor(...args) { + if (isSuperArgs$B(args)) { + super(...args); + } else { + super(_abi$X, _bytecode$B, args[0]); + } + } + getDeployTransaction(tokenAddress, targets, overrides) { + return super.getDeployTransaction(tokenAddress, targets, overrides || {}); + } + deploy(tokenAddress, targets, overrides) { + return super.deploy(tokenAddress, targets, overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new ethers.Interface(_abi$X); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$X, runner); + } +} +AirdropMock__factory.bytecode = _bytecode$B; +AirdropMock__factory.abi = _abi$X; + +const _abi$W = [ + { + inputs: [ + { + internalType: "bytes32", + name: "_node", + type: "bytes32" + } + ], + name: "addr", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes[]", + name: "data", + type: "bytes[]" + } + ], + name: "multicall", + outputs: [ + { + internalType: "bytes[]", + name: "results", + type: "bytes[]" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + name: "registry", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + name: "resolver", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_node", + type: "bytes32" + }, + { + internalType: "address", + name: "_addr", + type: "address" + } + ], + name: "setAddr", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; +const _bytecode$A = "0x608060405234801561001057600080fd5b5061044b806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80630178b8bf1461005c5780633b3b57de146100855780637ef5029814610098578063ac9650d8146100ab578063d5fa2b00146100cb575b600080fd5b61006f61006a3660046102bc565b6100e0565b60405161007c919061031e565b60405180910390f35b61006f6100933660046102bc565b6100e5565b61006f6100a63660046102bc565b610100565b6100be6100b936600461024d565b61011b565b60405161007c9190610332565b6100de6100d93660046102d4565b61021f565b005b503090565b6000908152602081905260409020546001600160a01b031690565b6000602081905290815260409020546001600160a01b031681565b60608167ffffffffffffffff8111801561013457600080fd5b5060405190808252806020026020018201604052801561016857816020015b60608152602001906001900390816101535790505b50905060005b8281101561021857600060603086868581811061018757fe5b905060200281019061019991906103c9565b6040516101a792919061030e565b600060405180830381855af49150503d80600081146101e2576040519150601f19603f3d011682016040523d82523d6000602084013e6101e7565b606091505b5091509150816101f657600080fd5b8084848151811061020357fe5b6020908102919091010152505060010161016e565b5092915050565b60009182526020829052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b6000806020838503121561025f578182fd5b823567ffffffffffffffff80821115610276578384fd5b818501915085601f830112610289578384fd5b813581811115610297578485fd5b86602080830285010111156102aa578485fd5b60209290920196919550909350505050565b6000602082840312156102cd578081fd5b5035919050565b600080604083850312156102e6578182fd5b8235915060208301356001600160a01b0381168114610303578182fd5b809150509250929050565b6000828483379101908152919050565b6001600160a01b0391909116815260200190565b6000602080830181845280855180835260408601915060408482028701019250838701855b828110156103bc57878503603f1901845281518051808752885b8181101561038c578281018901518882018a01528801610371565b8181111561039c578989838a0101525b50601f01601f191695909501860194509285019290850190600101610357565b5092979650505050505050565b6000808335601e198436030181126103df578283fd5b83018035915067ffffffffffffffff8211156103f9578283fd5b60200191503681900382131561040e57600080fd5b925092905056fea26469706673582212202e44de42b72aec6265acc191876b290bc887c846ffca216ac5d28a16fd49092564736f6c634300060c0033"; +const isSuperArgs$A = (xs) => xs.length > 1; +class ENSMock__factory extends ethers.ContractFactory { + constructor(...args) { + if (isSuperArgs$A(args)) { + super(...args); + } else { + super(_abi$W, _bytecode$A, args[0]); + } + } + getDeployTransaction(overrides) { + return super.getDeployTransaction(overrides || {}); + } + deploy(overrides) { + return super.deploy(overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new ethers.Interface(_abi$W); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$W, runner); + } +} +ENSMock__factory.bytecode = _bytecode$A; +ENSMock__factory.abi = _abi$W; + +const _abi$V = [ + { + inputs: [ + { + internalType: "address", + name: "_governance", + type: "address" + }, + { + internalType: "uint256", + name: "_pausePeriod", + type: "uint256" + }, + { + components: [ + { + internalType: "address", + name: "to", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + internalType: "struct TORN.Recipient[]", + name: "_vesting", + type: "tuple[]" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "target", + type: "address" + } + ], + name: "Allowed", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Approval", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "target", + type: "address" + } + ], + name: "Disallowed", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "account", + type: "address" + } + ], + name: "Paused", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Transfer", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "account", + type: "address" + } + ], + name: "Unpaused", + type: "event" + }, + { + inputs: [ + { + internalType: "address[]", + name: "target", + type: "address[]" + } + ], + name: "addToAllowedList", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "allowedTransferee", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "blockTimestamp", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "burn", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "burnFrom", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "canUnpauseAfter", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "chainID", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "chainId", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bool", + name: "decision", + type: "bool" + } + ], + name: "changeTransferability", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "subtractedValue", + type: "uint256" + } + ], + name: "decreaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "fakeTimestamp", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "governance", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256" + } + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + } + ], + name: "nonces", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "paused", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256" + }, + { + internalType: "uint8", + name: "v", + type: "uint8" + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32" + } + ], + name: "permit", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address[]", + name: "target", + type: "address[]" + } + ], + name: "removeFromAllowedList", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "contract IERC20", + name: "_token", + type: "address" + }, + { + internalType: "address payable", + name: "_to", + type: "address" + }, + { + internalType: "uint256", + name: "_balance", + type: "uint256" + } + ], + name: "rescueTokens", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "_chainId", + type: "uint256" + } + ], + name: "setChainId", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "_fakeTimestamp", + type: "uint256" + } + ], + name: "setFakeTimestamp", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; +const _bytecode$z = "0x60c06040523480156200001157600080fd5b506040516200298e3803806200298e8339810160408190526200003491620006d6565b604080518082018252600b81526a0a8dee4dcc2c8de86c2e6d60ab1b6020808301918252835180850190945260048452632a27a92760e11b90840152815186938693869390926200008891600391620005e4565b5080516200009e906004906020840190620005e4565b50506005805460ff1916601217905550620000b8620001f8565b506008805460ff199081169091556001600160601b0319606085901b1660a0526001600160a01b0384166000908152600960205260408120805490921660011790915583905b82518110156200017b5760008382815181106200011757fe5b60200260200101516000015190506200014f818584815181106200013757fe5b602002602001015160200151620002b460201b60201c565b6001600160a01b03166000908152600960205260409020805460ff1916600190811790915501620000fe565b506200019f836200018b62000397565b620003b360201b62000d721790919060201c565b608052620001ac620003e4565b620001b66200045b565b6a084595161401484a00000014620001eb5760405162461bcd60e51b8152600401620001e290620008a8565b60405180910390fd5b5050505050505062000946565b6000806200020562000461565b905060007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6200023462000467565b805160209182012060408051808201825260018152603160f81b90840152516200028693927fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6918791309101620007be565b60408051601f1981840301815291815281516020928301206000948552600790925290922082905550905090565b6001600160a01b038216620002dd5760405162461bcd60e51b8152600401620001e290620008df565b620002eb6000838362000501565b6200030781600254620003b360201b62000d721790919060201c565b6002556001600160a01b038216600090815260208181526040909120546200033a91839062000d72620003b3821b17901c565b6001600160a01b0383166000818152602081905260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906200038b90859062000916565b60405180910390a35050565b6000620003ae620005bc60201b62000d9e1760201c565b905090565b600082820183811015620003db5760405162461bcd60e51b8152600401620001e290620007ea565b90505b92915050565b60085460ff16156200040a5760405162461bcd60e51b8152600401620001e2906200087e565b6008805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25862000442620005d7565b604051620004519190620007aa565b60405180910390a1565b60025490565b600b5490565b60038054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015620004f75780601f10620004cb57610100808354040283529160200191620004f7565b820191906000526020600020905b815481529060010190602001808311620004d957829003601f168201915b5050505050905090565b62000519838383620005b760201b620007421760201c565b62000523620005db565b15806200054857506001600160a01b03831660009081526009602052604090205460ff165b806200056c57506001600160a01b03821660009081526009602052604090205460ff165b6200058b5760405162461bcd60e51b8152600401620001e29062000858565b6001600160a01b038216301415620005b75760405162461bcd60e51b8152600401620001e29062000821565b505050565b6000600a54600014620005d257600a54620003ae565b504290565b3390565b60085460ff1690565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200062757805160ff191683800117855562000657565b8280016001018555821562000657579182015b82811115620006575782518255916020019190600101906200063a565b506200066592915062000669565b5090565b5b808211156200066557600081556001016200066a565b80516001600160a01b0381168114620003de57600080fd5b600060408284031215620006aa578081fd5b620006b660406200091f565b9050620006c4838362000680565b81526020820151602082015292915050565b600080600060608486031215620006eb578283fd5b620006f7858562000680565b9250602080850151925060408086015160018060401b03808211156200071b578485fd5b818801915088601f8301126200072f578485fd5b8151818111156200073e578586fd5b6200074d85868302016200091f565b8181528581019250838601858302850187018c10156200076b578788fd5b8794505b828510156200079957620007848c8262000698565b8452600194909401939286019285016200076f565b508096505050505050509250925092565b6001600160a01b0391909116815260200190565b9485526020850193909352604084019190915260608301526001600160a01b0316608082015260a00190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526017908201527f544f524e3a20696e76616c696420726563697069656e74000000000000000000604082015260600190565b6020808252600c908201526b1513d4938e881c185d5cd95960a21b604082015260600190565b60208082526010908201526f14185d5cd8589b194e881c185d5cd95960821b604082015260600190565b6020808252601c908201527f544f524e3a20696e636f727265637420646973747269627574696f6e00000000604082015260600190565b6020808252601f908201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b90815260200190565b6040518181016001600160401b03811182821017156200093e57600080fd5b604052919050565b60805160a05160601c612008620009866000398061056f52806106975280610764528061081d5280610a215250806107bc5280610d2052506120086000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c80637ecebe0011610104578063adb61832116100a2578063d505accf11610071578063d505accf1461038d578063dc0f0d12146103a0578063dd62ed3e146103a8578063ef0e2ff4146103bb576101cf565b8063adb6183214610357578063adc879e91461035f578063c565882714610367578063cea9d26f1461037a576101cf565b806395d89b41116100de57806395d89b41146103215780639a8a059214610329578063a457c2d714610331578063a9059cbb14610344576101cf565b80637ecebe00146102e857806381893c7c146102fb578063885ad0cf1461030e576101cf565b80633c8d76d1116101715780635c975abb1161014b5780635c975abb146102a75780635d4545a0146102af57806370a08231146102c257806379cc6790146102d5576101cf565b80633c8d76d11461026a57806342966c681461027f5780635aa6e67514610292576101cf565b806318160ddd116101ad57806318160ddd1461022757806323b872dd1461022f578063313ce567146102425780633950935114610257576101cf565b806301ec0fab146101d457806306fdde03146101f2578063095ea7b314610207575b600080fd5b6101dc6103ce565b6040516101e99190611e68565b60405180910390f35b6101fa6103d4565b6040516101e99190611943565b61021a610215366004611708565b61046b565b6040516101e991906118ba565b6101dc610489565b61021a61023d366004611653565b61048f565b61024a610516565b6040516101e99190611e71565b61021a610265366004611708565b61051f565b61027d610278366004611733565b61056d565b005b61027d61028d36600461181c565b610681565b61029a610695565b6040516101e9919061188d565b61021a6106b9565b61021a6102bd3660046115ff565b6106c2565b6101dc6102d03660046115ff565b6106d7565b61027d6102e3366004611708565b6106f2565b6101dc6102f63660046115ff565b610747565b61027d6103093660046117d0565b610762565b61027d61031c366004611733565b61081b565b6101fa610922565b6101dc610983565b61021a61033f366004611708565b610989565b61021a610352366004611708565b6109f1565b6101dc610a05565b6101dc610a14565b61027d61037536600461181c565b610a1a565b61027d610388366004611808565b610a1f565b61027d61039b366004611693565b610bdd565b6101dc610d1e565b6101dc6103b636600461161b565b610d42565b61027d6103c936600461181c565b610d6d565b600a5481565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104605780601f1061043557610100808354040283529160200191610460565b820191906000526020600020905b81548152906001019060200180831161044357829003601f168201915b505050505090505b90565b600061047f610478610db7565b8484610dbb565b5060015b92915050565b60025490565b600061049c848484610e6f565b61050c846104a8610db7565b61050785604051806060016040528060288152602001611f62602891396001600160a01b038a166000908152600160205260408120906104e6610db7565b6001600160a01b031681526020810191909152604001600020549190610f84565b610dbb565b5060019392505050565b60055460ff1690565b600061047f61052c610db7565b84610507856001600061053d610db7565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610d72565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661059f610db7565b6001600160a01b0316146105ce5760405162461bcd60e51b81526004016105c590611de4565b60405180910390fd5b60005b815181101561067d576000600960008484815181106105ec57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055507f9ef90a89b00db1a1891a357dc96b2a273add9d883e378c350d22bad87a9d7d3082828151811061065857fe5b602002602001015160405161066d919061188d565b60405180910390a16001016105d1565b5050565b61069261068c610db7565b82610fb0565b50565b7f000000000000000000000000000000000000000000000000000000000000000081565b60085460ff1690565b60096020526000908152604090205460ff1681565b6001600160a01b031660009081526020819052604090205490565b600061072482604051806060016040528060248152602001611f8a6024913961071d866103b6610db7565b9190610f84565b905061073883610732610db7565b83610dbb565b6107428383610fb0565b505050565b6001600160a01b031660009081526006602052604090205490565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610794610db7565b6001600160a01b0316146107ba5760405162461bcd60e51b81526004016105c590611de4565b7f00000000000000000000000000000000000000000000000000000000000000006107e3610a05565b116108005760405162461bcd60e51b81526004016105c590611bd9565b80156108135761080e611092565b610692565b6106926110fe565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661084d610db7565b6001600160a01b0316146108735760405162461bcd60e51b81526004016105c590611de4565b60005b815181101561067d5760016009600084848151811061089157fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055507f77a7dbc6ad97703ad411a8d5edfcd1df382fb34b076a90898b11884f7ebdcc058282815181106108fd57fe5b6020026020010151604051610912919061188d565b60405180910390a1600101610876565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104605780601f1061043557610100808354040283529160200191610460565b600b5481565b600061047f610996610db7565b8461050785604051806060016040528060258152602001611fae60259139600160006109c0610db7565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190610f84565b600061047f6109fe610db7565b8484610e6f565b6000610a0f610d9e565b905090565b600b5490565b600a55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610a51610db7565b6001600160a01b031614610a775760405162461bcd60e51b81526004016105c590611de4565b6001600160a01b038216610a9d5760405162461bcd60e51b81526004016105c590611d58565b6001600160a01b038316610b06574760008215610ac357610abe8284611157565b610ac5565b815b6040519091506001600160a01b0385169082156108fc029083906000818181858888f19350505050158015610afe573d6000803e3d6000fd5b505050610742565b6040516370a0823160e01b81526000906001600160a01b038516906370a0823190610b3590309060040161188d565b60206040518083038186803b158015610b4d57600080fd5b505afa158015610b61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b859190611834565b905060008215610b9e57610b998284611157565b610ba0565b815b905060008111610bc25760405162461bcd60e51b81526004016105c590611e31565b610bd66001600160a01b038616858361116d565b5050505050565b83610be6610a05565b1115610c045760405162461bcd60e51b81526004016105c590611ace565b6001600160a01b0387166000908152600660209081526040808320549051610c57927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9928c928c928c92918c91016118c5565b6040516020818303038152906040528051906020012090506000611901610c7c6111c3565b83604051602001610c8f93929190611868565b6040516020818303038152906040528051906020012090506000610cb582878787611202565b9050896001600160a01b0316816001600160a01b031614610ce85760405162461bcd60e51b81526004016105c590611c20565b6001600160a01b038a16600090815260066020526040902080546001019055610d128a8a8a610dbb565b50505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b600b55565b600082820183811015610d975760405162461bcd60e51b81526004016105c590611a60565b9392505050565b6000600a54600014610db257600a54610a0f565b504290565b3390565b6001600160a01b038316610de15760405162461bcd60e51b81526004016105c590611cdd565b6001600160a01b038216610e075760405162461bcd60e51b81526004016105c590611a1e565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610e62908590611e68565b60405180910390a3505050565b6001600160a01b038316610e955760405162461bcd60e51b81526004016105c590611c98565b6001600160a01b038216610ebb5760405162461bcd60e51b81526004016105c5906119ad565b610ec68383836112fa565b610f0381604051806060016040528060268152602001611f3c602691396001600160a01b0386166000908152602081905260409020549190610f84565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610f329082610d72565b6001600160a01b0380841660008181526020819052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e62908590611e68565b60008184841115610fa85760405162461bcd60e51b81526004016105c59190611943565b505050900390565b6001600160a01b038216610fd65760405162461bcd60e51b81526004016105c590611c57565b610fe2826000836112fa565b61101f81604051806060016040528060228152602001611f1a602291396001600160a01b0385166000908152602081905260409020549190610f84565b6001600160a01b0383166000908152602081905260409020556002546110459082611399565b6002556040516000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611086908590611e68565b60405180910390a35050565b60085460ff166110b45760405162461bcd60e51b81526004016105c5906119f0565b6008805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6110e7610db7565b6040516110f4919061188d565b60405180910390a1565b60085460ff16156111215760405162461bcd60e51b81526004016105c590611b6d565b6008805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586110e7610db7565b60008183106111665781610d97565b5090919050565b6107428363a9059cbb60e01b848460405160240161118c9291906118a1565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526113db565b600080600760006111d2610a14565b8152602081019190915260400160002054905080156111f2579050610468565b6111fa61146a565b915050610468565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08211156112445760405162461bcd60e51b81526004016105c590611b2b565b8360ff16601b148061125957508360ff16601c145b6112755760405162461bcd60e51b81526004016105c590611b97565b60006001868686866040516000815260200160405260405161129a9493929190611925565b6020604051602081039080840390855afa1580156112bc573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166112ef5760405162461bcd60e51b81526004016105c590611976565b90505b949350505050565b611305838383610742565b61130d6106b9565b158061133157506001600160a01b03831660009081526009602052604090205460ff165b8061135457506001600160a01b03821660009081526009602052604090205460ff165b6113705760405162461bcd60e51b81526004016105c590611b05565b6001600160a01b0382163014156107425760405162461bcd60e51b81526004016105c590611a97565b6000610d9783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f84565b6060611430826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166115209092919063ffffffff16565b805190915015610742578080602001905181019061144e91906117ec565b6107425760405162461bcd60e51b81526004016105c590611d9a565b600080611475610a14565b905060007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6114a26103d4565b805160209182012060408051808201825260018152603160f81b90840152516114f293927fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc69187913091016118f9565b60408051601f1981840301815291815281516020928301206000948552600790925290922082905550905090565b60606112f284846000856060611535856115ee565b6115515760405162461bcd60e51b81526004016105c590611d21565b60006060866001600160a01b0316858760405161156e919061184c565b60006040518083038185875af1925050503d80600081146115ab576040519150601f19603f3d011682016040523d82523d6000602084013e6115b0565b606091505b509150915081156115c45791506112f29050565b8051156115d45780518082602001fd5b8360405162461bcd60e51b81526004016105c59190611943565b3b151590565b803561048381611ef6565b600060208284031215611610578081fd5b8135610d9781611ef6565b6000806040838503121561162d578081fd5b823561163881611ef6565b9150602083013561164881611ef6565b809150509250929050565b600080600060608486031215611667578081fd5b833561167281611ef6565b9250602084013561168281611ef6565b929592945050506040919091013590565b600080600080600080600060e0888a0312156116ad578283fd5b87356116b881611ef6565b965060208801356116c881611ef6565b95506040880135945060608801359350608088013560ff811681146116eb578384fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561171a578182fd5b823561172581611ef6565b946020939093013593505050565b60006020808385031215611745578182fd5b823567ffffffffffffffff81111561175b578283fd5b8301601f8101851361176b578283fd5b803561177e61177982611ea6565b611e7f565b818152838101908385018584028501860189101561179a578687fd5b8694505b838510156117c4576117b089826115f4565b83526001949094019391850191850161179e565b50979650505050505050565b6000602082840312156117e1578081fd5b8135610d9781611f0b565b6000602082840312156117fd578081fd5b8151610d9781611f0b565b600080600060608486031215611667578283fd5b60006020828403121561182d578081fd5b5035919050565b600060208284031215611845578081fd5b5051919050565b6000825161185e818460208701611ec6565b9190910192915050565b60f09390931b6001600160f01b03191683526002830191909152602282015260420190565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b9586526001600160a01b0394851660208701529290931660408501526060840152608083019190915260a082015260c00190565b9485526020850193909352604084019190915260608301526001600160a01b0316608082015260a00190565b93845260ff9290921660208401526040830152606082015260800190565b6000602082528251806020840152611962816040850160208701611ec6565b601f01601f19169190910160400192915050565b60208082526018908201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604082015260600190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526014908201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604082015260600190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526017908201527f544f524e3a20696e76616c696420726563697069656e74000000000000000000604082015260600190565b6020808252601d908201527f45524332305065726d69743a206578706972656420646561646c696e65000000604082015260600190565b6020808252600c908201526b1513d4938e881c185d5cd95960a21b604082015260600190565b60208082526022908201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604082015261756560f01b606082015260800190565b60208082526010908201526f14185d5cd8589b194e881c185d5cd95960821b604082015260600190565b60208082526022908201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604082015261756560f01b606082015260800190565b60208082526027908201527f544f524e3a2063616e6e6f74206368616e6765207472616e736665726162696c6040820152661a5d1e481e595d60ca1b606082015260800190565b6020808252601e908201527f45524332305065726d69743a20696e76616c6964207369676e61747572650000604082015260600190565b60208082526021908201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736040820152607360f81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b60208082526022908201527f544f524e3a2063616e206e6f742073656e6420746f207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b6020808252602d908201527f544f524e3a206f6e6c7920676f7665726e616e63652063616e20706572666f7260408201526c36903a3434b99030b1ba34b7b760991b606082015260800190565b6020808252601e908201527f544f524e3a20747279696e6720746f2073656e6420302062616c616e63650000604082015260600190565b90815260200190565b60ff91909116815260200190565b60405181810167ffffffffffffffff81118282101715611e9e57600080fd5b604052919050565b600067ffffffffffffffff821115611ebc578081fd5b5060209081020190565b60005b83811015611ee1578181015183820152602001611ec9565b83811115611ef0576000848401525b50505050565b6001600160a01b038116811461069257600080fd5b801515811461069257600080fdfe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220c25cb2cef98080abbebec9b5719a4f46d638fbe559a3ab7a9de64272855c3c1064736f6c634300060c0033"; +const isSuperArgs$z = (xs) => xs.length > 1; +class TORNMock__factory extends ethers.ContractFactory { + constructor(...args) { + if (isSuperArgs$z(args)) { + super(...args); + } else { + super(_abi$V, _bytecode$z, args[0]); + } + } + getDeployTransaction(_governance, _pausePeriod, _vesting, overrides) { + return super.getDeployTransaction( + _governance, + _pausePeriod, + _vesting, + overrides || {} + ); + } + deploy(_governance, _pausePeriod, _vesting, overrides) { + return super.deploy( + _governance, + _pausePeriod, + _vesting, + overrides || {} + ); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new ethers.Interface(_abi$V); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$V, runner); + } +} +TORNMock__factory.bytecode = _bytecode$z; +TORNMock__factory.abi = _abi$V; + +const _abi$U = [ + { + inputs: [], + name: "blockTimestamp", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "fakeTimestamp", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "_fakeTimestamp", + type: "uint256" + } + ], + name: "setFakeTimestamp", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; +const _bytecode$y = "0x608060405234801561001057600080fd5b5060d28061001f6000396000f3fe6080604052348015600f57600080fd5b5060043610603c5760003560e01c806301ec0fab146041578063adb61832146059578063c565882714605f575b600080fd5b6047607b565b60408051918252519081900360200190f35b60476081565b607960048036036020811015607357600080fd5b50356097565b005b60005481565b60008054156090576000546092565b425b905090565b60005556fea2646970667358221220b2410460a5b24aec9983bcf8349aa3b589a0dff9120af5b704feae536a65813064736f6c634300060c0033"; +const isSuperArgs$y = (xs) => xs.length > 1; +class Timestamp__factory extends ethers.ContractFactory { + constructor(...args) { + if (isSuperArgs$y(args)) { + super(...args); + } else { + super(_abi$U, _bytecode$y, args[0]); + } + } + getDeployTransaction(overrides) { + return super.getDeployTransaction(overrides || {}); + } + deploy(overrides) { + return super.deploy(overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new ethers.Interface(_abi$U); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$U, runner); + } +} +Timestamp__factory.bytecode = _bytecode$y; +Timestamp__factory.abi = _abi$U; + +const _abi$T = [ + { + inputs: [ + { + internalType: "address", + name: "_token", + type: "address" + }, + { + internalType: "address", + name: "_beneficiary", + type: "address" + }, + { + internalType: "uint256", + name: "_startTimestamp", + type: "uint256" + }, + { + internalType: "uint256", + name: "_cliffInMonths", + type: "uint256" + }, + { + internalType: "uint256", + name: "_durationInMonths", + type: "uint256" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "Released", + type: "event" + }, + { + inputs: [], + name: "SECONDS_PER_MONTH", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "beneficiary", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "blockTimestamp", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "cliffInMonths", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "durationInMonths", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "fakeTimestamp", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "release", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "released", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "_fakeTimestamp", + type: "uint256" + } + ], + name: "setFakeTimestamp", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "startTimestamp", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "token", + outputs: [ + { + internalType: "contract IERC20", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "vestedAmount", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + } +]; +const _bytecode$x = "0x61012060405234801561001157600080fd5b50604051610d2e380380610d2e833981810160405260a081101561003457600080fd5b5080516020820151604083015160608401516080909401519293919290919084848484846001600160a01b0384166100b3576040805162461bcd60e51b815260206004820152601b60248201527f42656e65666963696172792063616e6e6f7420626520656d7074790000000000604482015290519081900360640190fd5b80821115610108576040805162461bcd60e51b815260206004820152601e60248201527f436c6966662069732067726561746572207468616e206475726174696f6e0000604482015290519081900360640190fd5b6001600160601b0319606086811b821660a05285901b1660805261010081905260c082905282156101395782610141565b610141610154565b60e0525061018698505050505050505050565b600061016861016d60201b6105b81760201c565b905090565b600060015460001461018157600154610168565b504290565b60805160601c60a05160601c60c05160e05161010051610b366101f86000398061024452806103bc528061041e52508061019352806101cf52806105725250806102115280610534525080610289528061030952806104b5528061059652508061016d52806104d75250610b366000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c8063928d89ae11610071578063928d89ae146101195780639613252114610121578063adb6183214610129578063c565882714610131578063e6fd48bc1461014e578063fc0c546a14610156576100b4565b806301ec0fab146100b957806310786deb146100d357806338af3eed146100db57806344b1231f146100ff57806367097a4b1461010757806386d1a69f1461010f575b600080fd5b6100c161015e565b60408051918252519081900360200190f35b6100c1610164565b6100e361016b565b604080516001600160a01b039092168252519081900360200190f35b6100c161018f565b6100c161041c565b610117610440565b005b6100c1610532565b6100c1610556565b6100c161055c565b6101176004803603602081101561014757600080fd5b503561056b565b6100c1610570565b6100e3610594565b60015481565b62278d0081565b7f000000000000000000000000000000000000000000000000000000000000000081565b60007f00000000000000000000000000000000000000000000000000000000000000006101ba61055c565b10156101c857506000610419565b60006101fc7f00000000000000000000000000000000000000000000000000000000000000006101f661055c565b906105d1565b9050600061020d8262278d0061061c565b90507f000000000000000000000000000000000000000000000000000000000000000081101561024257600092505050610419565b7f0000000000000000000000000000000000000000000000000000000000000000811061030557604080516370a0823160e01b815230600482015290516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916370a08231916024808301926020929190829003018186803b1580156102cf57600080fd5b505afa1580156102e3573d6000803e3d6000fd5b505050506040513d60208110156102f957600080fd5b50519250610419915050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561037457600080fd5b505afa158015610388573d6000803e3d6000fd5b505050506040513d602081101561039e57600080fd5b505160008054919250906103b390839061065e565b905060006103eb7f00000000000000000000000000000000000000000000000000000000000000006103e584876106b8565b9061061c565b90506000610404600054836105d190919063ffffffff16565b90506104108482610711565b96505050505050505b90565b7f000000000000000000000000000000000000000000000000000000000000000081565b600061044a61018f565b905060008111610498576040805162461bcd60e51b81526020600482015260146024820152734e6f20746f6b656e7320746f2072656c6561736560601b604482015290519081900360640190fd5b6000546104a5908261065e565b6000556104fc6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f000000000000000000000000000000000000000000000000000000000000000083610727565b6040805182815290517ffb81f9b30d73d830c3544b34d827c08142579ee75710b490bab0b3995468c5659181900360200190a150565b7f000000000000000000000000000000000000000000000000000000000000000081565b60005481565b60006105666105b8565b905090565b600155565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b60006001546000146105cc57600154610566565b504290565b600061061383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061077e565b90505b92915050565b600061061383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610815565b600082820183811015610613576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000826106c757506000610616565b828202828482816106d457fe5b04146106135760405162461bcd60e51b8152600401808060200182810382526021815260200180610ab66021913960400191505060405180910390fd5b60008183106107205781610613565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261077990849061087a565b505050565b6000818484111561080d5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156107d25781810151838201526020016107ba565b50505050905090810190601f1680156107ff5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836108645760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156107d25781810151838201526020016107ba565b50600083858161087057fe5b0495945050505050565b60606108cf826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661092b9092919063ffffffff16565b805190915015610779578080602001905160208110156108ee57600080fd5b50516107795760405162461bcd60e51b815260040180806020018281038252602a815260200180610ad7602a913960400191505060405180910390fd5b606061093a8484600085610942565b949350505050565b606061094d85610aaf565b61099e576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106109dd5780518252601f1990920191602091820191016109be565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114610a3f576040519150601f19603f3d011682016040523d82523d6000602084013e610a44565b606091505b50915091508115610a5857915061093a9050565b805115610a685780518082602001fd5b60405162461bcd60e51b81526020600482018181528651602484015286518793919283926044019190850190808383600083156107d25781810151838201526020016107ba565b3b15159056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a2646970667358221220852e02606e74d747094138d7e10fc9f005278a953559d85ca961b67f95c9fa8f64736f6c634300060c0033"; +const isSuperArgs$x = (xs) => xs.length > 1; +class VestingMock__factory extends ethers.ContractFactory { + constructor(...args) { + if (isSuperArgs$x(args)) { + super(...args); + } else { + super(_abi$T, _bytecode$x, args[0]); + } + } + getDeployTransaction(_token, _beneficiary, _startTimestamp, _cliffInMonths, _durationInMonths, overrides) { + return super.getDeployTransaction( + _token, + _beneficiary, + _startTimestamp, + _cliffInMonths, + _durationInMonths, + overrides || {} + ); + } + deploy(_token, _beneficiary, _startTimestamp, _cliffInMonths, _durationInMonths, overrides) { + return super.deploy( + _token, + _beneficiary, + _startTimestamp, + _cliffInMonths, + _durationInMonths, + overrides || {} + ); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new ethers.Interface(_abi$T); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$T, runner); + } +} +VestingMock__factory.bytecode = _bytecode$x; +VestingMock__factory.abi = _abi$T; + +const _abi$S = [ + { + inputs: [ + { + internalType: "bytes32", + name: "_torn", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "_governance", + type: "bytes32" + }, + { + internalType: "uint256", + name: "_duration", + type: "uint256" + }, + { + components: [ + { + internalType: "address", + name: "to", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + internalType: "struct Voucher.Recipient[]", + name: "_airdrops", + type: "tuple[]" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Approval", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Transfer", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "allowedTransferee", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "blockTimestamp", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32[]", + name: "domains", + type: "bytes32[]" + } + ], + name: "bulkResolve", + outputs: [ + { + internalType: "address[]", + name: "result", + type: "address[]" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "subtractedValue", + type: "uint256" + } + ], + name: "decreaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "expiresAt", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "fakeTimestamp", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "governance", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256" + } + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "redeem", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "rescueExpiredTokens", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "addr", + type: "bytes32" + } + ], + name: "resolve", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "_fakeTimestamp", + type: "uint256" + } + ], + name: "setFakeTimestamp", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "torn", + outputs: [ + { + internalType: "contract IERC20", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; +const _bytecode$w = "0x60e06040523480156200001157600080fd5b5060405162001b7838038062001b78833981016040819052620000349162000476565b8383838360405180606001604052806026815260200162001b5260269139604051806040016040528060058152602001643b2a27a92760d91b8152508160039080519060200190620000889291906200038d565b5080516200009e9060049060208401906200038d565b50506005805460ff1916601217905550620000b984620001b7565b60601b6001600160601b031916608052620000d483620001b7565b60601b6001600160601b03191660c0526200010782620000f3620001bd565b620001d960201b6200089d1790919060201c565b60a05260005b8151811015620001a857620001598282815181106200012857fe5b6020026020010151600001518383815181106200014157fe5b6020026020010151602001516200021160201b60201c565b6001600660008484815181106200016c57fe5b602090810291909101810151516001600160a01b03168252810191909152604001600020805460ff19169115159190911790556001016200010d565b5050505050505050506200061d565b60601c90565b6000620001d4620002f460201b620008c91760201c565b905090565b6000828201838110156200020a5760405162461bcd60e51b8152600401620002019062000548565b60405180910390fd5b9392505050565b6001600160a01b0382166200023a5760405162461bcd60e51b81526004016200020190620005b6565b62000248600083836200030f565b6200026481600254620001d960201b6200089d1790919060201c565b6002556001600160a01b03821660009081526020818152604090912054620002979183906200089d620001d9821b17901c565b6001600160a01b0383166000818152602081905260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90620002e8908590620005ed565b60405180910390a35050565b60006007546000146200030a57600754620001d4565b504290565b620003278383836200038860201b620008e21760201c565b6001600160a01b03821615806200034557506001600160a01b038316155b806200036957506001600160a01b03831660009081526006602052604090205460ff165b620003885760405162461bcd60e51b815260040162000201906200057f565b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620003d057805160ff191683800117855562000400565b8280016001018555821562000400579182015b8281111562000400578251825591602001919060010190620003e3565b506200040e92915062000412565b5090565b5b808211156200040e576000815560010162000413565b6000604082840312156200043b578081fd5b620004476040620005f6565b82519091506001600160a01b03811681146200046257600080fd5b808252506020820151602082015292915050565b600080600080608085870312156200048c578384fd5b8451935060208086015193506040808701519350606087015160018060401b0380821115620004b9578485fd5b818901915089601f830112620004cd578485fd5b815181811115620004dc578586fd5b620004eb8586830201620005f6565b8181528581019250838601858302850187018d101562000509578788fd5b8794505b828510156200053757620005228d8262000429565b8452600194909401939286019285016200050d565b50989b979a50959850505050505050565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252601e908201527f45524332303a207472616e73666572206973206e6f7420616c6c6f7765640000604082015260600190565b6020808252601f908201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b90815260200190565b6040518181016001600160401b03811182821017156200061557600080fd5b604052919050565b60805160601c60a05160c05160601c6114e46200066e6000398061046952806106de5250806104c352806105f752806106945250806105d3528061066852806106ff52806107a352506114e46000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c80638622a689116100b8578063adf898a41161007c578063adf898a414610269578063be040fb014610271578063c39ef8551461027b578063c565882714610283578063dd62ed3e14610296578063f9e54234146102a957610142565b80638622a6891461022b57806395d89b4114610233578063a457c2d71461023b578063a9059cbb1461024e578063adb618321461026157610142565b8063313ce5671161010a578063313ce567146101b557806339509351146101ca5780635aa6e675146101dd5780635c23bdf5146101f25780635d4545a01461020557806370a082311461021857610142565b806301ec0fab1461014757806306fdde0314610165578063095ea7b31461017a57806318160ddd1461019a57806323b872dd146101a2575b600080fd5b61014f6102c9565b60405161015c9190611376565b60405180910390f35b61016d6102cf565b60405161015c9190611087565b61018d610188366004610ed7565b610365565b60405161015c919061107c565b61014f610383565b61018d6101b0366004610e97565b610389565b6101bd610410565b60405161015c919061137f565b61018d6101d8366004610ed7565b610419565b6101e5610467565b60405161015c9190611002565b6101e5610200366004610fb6565b61048b565b61018d610213366004610e48565b610491565b61014f610226366004610e48565b6104a6565b61014f6104c1565b61016d6104e5565b61018d610249366004610ed7565b610546565b61018d61025c366004610ed7565b6105ae565b61014f6105c2565b6101e56105d1565b6102796105f5565b005b610279610692565b610279610291366004610fb6565b6107cc565b61014f6102a4366004610e63565b6107d1565b6102bc6102b7366004610f01565b6107fc565b60405161015c919061102f565b60075481565b60038054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561035b5780601f106103305761010080835404028352916020019161035b565b820191906000526020600020905b81548152906001019060200180831161033e57829003601f168201915b5050505050905090565b60006103796103726108e7565b84846108eb565b5060015b92915050565b60025490565b600061039684848461099f565b610406846103a26108e7565b61040185604051806060016040528060288152602001611462602891396001600160a01b038a166000908152600160205260408120906103e06108e7565b6001600160a01b031681526020810191909152604001600020549190610ab4565b6108eb565b5060019392505050565b60055460ff1690565b60006103796104266108e7565b8461040185600160006104376108e7565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549061089d565b7f000000000000000000000000000000000000000000000000000000000000000081565b60601c90565b60066020526000908152604090205460ff1681565b6001600160a01b031660009081526020819052604090205490565b7f000000000000000000000000000000000000000000000000000000000000000081565b60048054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561035b5780601f106103305761010080835404028352916020019161035b565b60006103796105536108e7565b846104018560405180606001604052806025815260200161148a602591396001600061057d6108e7565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190610ab4565b60006103796105bb6108e7565b848461099f565b60006105cc6108c9565b905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000061061e6105c2565b106106445760405162461bcd60e51b815260040161063b90611176565b60405180910390fd5b600061064f336104a6565b905061065b3382610ae0565b61068f6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163383610bc2565b50565b7f00000000000000000000000000000000000000000000000000000000000000006106bb6105c2565b10156106d95760405162461bcd60e51b815260040161063b906111ad565b6107ca7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016107499190611002565b60206040518083038186803b15801561076157600080fd5b505afa158015610775573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107999190610fce565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190610bc2565b565b600755565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6060815167ffffffffffffffff8111801561081657600080fd5b50604051908082528060200260200182016040528015610840578160200160208202803683370190505b50905060005b82518110156108975761086b83828151811061085e57fe5b602002602001015161048b565b82828151811061087757fe5b6001600160a01b0390921660209283029190910190910152600101610846565b50919050565b6000828201838110156108c25760405162461bcd60e51b815260040161063b9061113f565b9392505050565b60006007546000146108dd576007546105cc565b504290565b505050565b3390565b6001600160a01b0383166109115760405162461bcd60e51b815260040161063b906112b1565b6001600160a01b0382166109375760405162461bcd60e51b815260040161063b906110fd565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610992908590611376565b60405180910390a3505050565b6001600160a01b0383166109c55760405162461bcd60e51b815260040161063b9061126c565b6001600160a01b0382166109eb5760405162461bcd60e51b815260040161063b906110ba565b6109f6838383610c18565b610a338160405180606001604052806026815260200161143c602691396001600160a01b0386166000908152602081905260409020549190610ab4565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610a62908261089d565b6001600160a01b0380841660008181526020819052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610992908590611376565b60008184841115610ad85760405162461bcd60e51b815260040161063b9190611087565b505050900390565b6001600160a01b038216610b065760405162461bcd60e51b815260040161063b9061122b565b610b1282600083610c18565b610b4f8160405180606001604052806022815260200161141a602291396001600160a01b0385166000908152602081905260409020549190610ab4565b6001600160a01b038316600090815260208190526040902055600254610b759082610c7f565b6002556040516000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610bb6908590611376565b60405180910390a35050565b6108e28363a9059cbb60e01b8484604051602401610be1929190611016565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610cc1565b610c238383836108e2565b6001600160a01b0382161580610c4057506001600160a01b038316155b80610c6357506001600160a01b03831660009081526006602052604090205460ff165b6108e25760405162461bcd60e51b815260040161063b906111f4565b60006108c283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ab4565b6060610d16826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610d509092919063ffffffff16565b8051909150156108e25780806020019051810190610d349190610f96565b6108e25760405162461bcd60e51b815260040161063b9061132c565b6060610d5f8484600085610d67565b949350505050565b6060610d7285610e2b565b610d8e5760405162461bcd60e51b815260040161063b906112f5565b60006060866001600160a01b03168587604051610dab9190610fe6565b60006040518083038185875af1925050503d8060008114610de8576040519150601f19603f3d011682016040523d82523d6000602084013e610ded565b606091505b50915091508115610e01579150610d5f9050565b805115610e115780518082602001fd5b8360405162461bcd60e51b815260040161063b9190611087565b3b151590565b80356001600160a01b038116811461037d57600080fd5b600060208284031215610e59578081fd5b6108c28383610e31565b60008060408385031215610e75578081fd5b610e7f8484610e31565b9150610e8e8460208501610e31565b90509250929050565b600080600060608486031215610eab578081fd5b8335610eb681611404565b92506020840135610ec681611404565b929592945050506040919091013590565b60008060408385031215610ee9578182fd5b610ef38484610e31565b946020939093013593505050565b60006020808385031215610f13578182fd5b823567ffffffffffffffff811115610f29578283fd5b8301601f81018513610f39578283fd5b8035610f4c610f47826113b4565b61138d565b8181528381019083850185840285018601891015610f68578687fd5b8694505b83851015610f8a578035835260019490940193918501918501610f6c565b50979650505050505050565b600060208284031215610fa7578081fd5b815180151581146108c2578182fd5b600060208284031215610fc7578081fd5b5035919050565b600060208284031215610fdf578081fd5b5051919050565b60008251610ff88184602087016113d4565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6020808252825182820181905260009190848201906040850190845b818110156110705783516001600160a01b03168352928401929184019160010161104b565b50909695505050505050565b901515815260200190565b60006020825282518060208401526110a68160408501602087016113d4565b601f01601f19169190910160400192915050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252601f908201527f41697264726f702072656465656d20706572696f642068617320656e64656400604082015260600190565b60208082526027908201527f41697264726f702072656465656d20706572696f6420686173206e6f7420656e604082015266191959081e595d60ca1b606082015260800190565b6020808252601e908201527f45524332303a207472616e73666572206973206e6f7420616c6c6f7765640000604082015260600190565b60208082526021908201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736040820152607360f81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b90815260200190565b60ff91909116815260200190565b60405181810167ffffffffffffffff811182821017156113ac57600080fd5b604052919050565b600067ffffffffffffffff8211156113ca578081fd5b5060209081020190565b60005b838110156113ef5781810151838201526020016113d7565b838111156113fe576000848401525b50505050565b6001600160a01b038116811461068f57600080fdfe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220794126baf4ea3c44b9afb84b4d8a20535aca899e75471e5d9bb4c8e671aabde664736f6c634300060c0033546f726e61646f4361736820766f756368657220666f72206561726c792061646f7074657273"; +const isSuperArgs$w = (xs) => xs.length > 1; +class VoucherMock__factory extends ethers.ContractFactory { + constructor(...args) { + if (isSuperArgs$w(args)) { + super(...args); + } else { + super(_abi$S, _bytecode$w, args[0]); + } + } + getDeployTransaction(_torn, _governance, _duration, _airdrops, overrides) { + return super.getDeployTransaction( + _torn, + _governance, + _duration, + _airdrops, + overrides || {} + ); + } + deploy(_torn, _governance, _duration, _airdrops, overrides) { + return super.deploy( + _torn, + _governance, + _duration, + _airdrops, + overrides || {} + ); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new ethers.Interface(_abi$S); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$S, runner); + } +} +VoucherMock__factory.bytecode = _bytecode$w; +VoucherMock__factory.abi = _abi$S; + +var index$t = /*#__PURE__*/Object.freeze({ + __proto__: null, + AirdropMock__factory: AirdropMock__factory, + ENSMock__factory: ENSMock__factory, + TORNMock__factory: TORNMock__factory, + Timestamp__factory: Timestamp__factory, + VestingMock__factory: VestingMock__factory, + VoucherMock__factory: VoucherMock__factory +}); + +const _abi$R = [ + { + inputs: [ + { + internalType: "bytes32", + name: "tokenAddress", + type: "bytes32" + }, + { + components: [ + { + internalType: "address", + name: "to", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + internalType: "struct Airdrop.Recipient[]", + name: "targets", + type: "tuple[]" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + inputs: [ + { + internalType: "bytes32[]", + name: "domains", + type: "bytes32[]" + } + ], + name: "bulkResolve", + outputs: [ + { + internalType: "address[]", + name: "result", + type: "address[]" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "node", + type: "bytes32" + } + ], + name: "resolve", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + } +]; +const _bytecode$v = "0x60806040523480156200001157600080fd5b506040516200054038038062000540833981016040819052620000349162000396565b60006200004183620001c2565b90506000816001600160a01b03166370a08231306040518263ffffffff1660e01b815260040162000073919062000467565b60206040518083038186803b1580156200008c57600080fd5b505afa158015620000a1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000c791906200044e565b11620000f05760405162461bcd60e51b8152600401620000e7906200049d565b60405180910390fd5b60005b8251811015620001bd57816001600160a01b031663a9059cbb8483815181106200011957fe5b6020026020010151600001518584815181106200013257fe5b6020026020010151602001516040518363ffffffff1660e01b81526004016200015d9291906200047b565b602060405180830381600087803b1580156200017857600080fd5b505af11580156200018d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b3919062000374565b50600101620000f3565b506000ff5b600080620001cf62000310565b600114620001f257738595bfb0d940dfedc98943fa8a907091203f25ee62000203565b6e0c2e074ec69a0dfb2997ba6c7d2e1e5b604051630178b8bf60e01b81529091506001600160a01b03821690630178b8bf906200023490869060040162000494565b60206040518083038186803b1580156200024d57600080fd5b505afa15801562000262573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000288919062000355565b6001600160a01b0316633b3b57de846040518263ffffffff1660e01b8152600401620002b5919062000494565b60206040518083038186803b158015620002ce57600080fd5b505afa158015620002e3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000309919062000355565b9392505050565b4690565b60006040828403121562000326578081fd5b620003326040620004df565b90508151620003418162000526565b808252506020820151602082015292915050565b60006020828403121562000367578081fd5b8151620003098162000526565b60006020828403121562000386578081fd5b8151801515811462000309578182fd5b6000806040808486031215620003aa578182fd5b8351602080860151919450906001600160401b03811115620003ca578384fd5b8501601f81018713620003db578384fd5b8051620003f2620003ec8262000506565b620004df565b81815283810190838501868402850186018b10156200040f578788fd5b8794505b838510156200043d57620004288b8262000314565b83526001949094019391850191860162000413565b508096505050505050509250929050565b60006020828403121562000460578081fd5b5051919050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b90815260200190565b60208082526022908201527f42616c616e636520697320302c2061697264726f7020616c726561647920646f6040820152616e6560f01b606082015260800190565b6040518181016001600160401b0381118282101715620004fe57600080fd5b604052919050565b60006001600160401b038211156200051c578081fd5b5060209081020190565b6001600160a01b03811681146200053c57600080fd5b5056fe"; +const isSuperArgs$v = (xs) => xs.length > 1; +class Airdrop__factory extends ethers.ContractFactory { + constructor(...args) { + if (isSuperArgs$v(args)) { + super(...args); + } else { + super(_abi$R, _bytecode$v, args[0]); + } + } + getDeployTransaction(tokenAddress, targets, overrides) { + return super.getDeployTransaction(tokenAddress, targets, overrides || {}); + } + deploy(tokenAddress, targets, overrides) { + return super.deploy(tokenAddress, targets, overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new ethers.Interface(_abi$R); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$R, runner); + } +} +Airdrop__factory.bytecode = _bytecode$v; +Airdrop__factory.abi = _abi$R; + +const _abi$Q = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Approval", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Transfer", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "blockTimestamp", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "chainID", + outputs: [ + { + internalType: "uint256", + name: "_chainID", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "subtractedValue", + type: "uint256" + } + ], + name: "decreaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256" + } + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + } + ], + name: "nonces", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256" + }, + { + internalType: "uint8", + name: "v", + type: "uint8" + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32" + } + ], + name: "permit", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; +class ERC20Permit__factory { + static createInterface() { + return new ethers.Interface(_abi$Q); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$Q, runner); + } +} +ERC20Permit__factory.abi = _abi$Q; + +const _abi$P = [ + { + inputs: [ + { + internalType: "address", + name: "_governance", + type: "address" + }, + { + internalType: "uint256", + name: "_pausePeriod", + type: "uint256" + }, + { + components: [ + { + internalType: "address", + name: "to", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + internalType: "struct TORN.Recipient[]", + name: "_vestings", + type: "tuple[]" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "target", + type: "address" + } + ], + name: "Allowed", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Approval", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "target", + type: "address" + } + ], + name: "Disallowed", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "account", + type: "address" + } + ], + name: "Paused", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Transfer", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "account", + type: "address" + } + ], + name: "Unpaused", + type: "event" + }, + { + inputs: [ + { + internalType: "address[]", + name: "target", + type: "address[]" + } + ], + name: "addToAllowedList", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "allowedTransferee", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "blockTimestamp", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "burn", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "burnFrom", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "canUnpauseAfter", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "chainID", + outputs: [ + { + internalType: "uint256", + name: "_chainID", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bool", + name: "decision", + type: "bool" + } + ], + name: "changeTransferability", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "subtractedValue", + type: "uint256" + } + ], + name: "decreaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "governance", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256" + } + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + } + ], + name: "nonces", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "paused", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256" + }, + { + internalType: "uint8", + name: "v", + type: "uint8" + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32" + } + ], + name: "permit", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address[]", + name: "target", + type: "address[]" + } + ], + name: "removeFromAllowedList", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "contract IERC20", + name: "_token", + type: "address" + }, + { + internalType: "address payable", + name: "_to", + type: "address" + }, + { + internalType: "uint256", + name: "_balance", + type: "uint256" + } + ], + name: "rescueTokens", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; +const _bytecode$u = "0x60c06040523480156200001157600080fd5b506040516200288338038062002883833981016040819052620000349162000699565b604080518082018252600b81526a0a8dee4dcc2c8de86c2e6d60ab1b6020808301918252835180850190945260048452632a27a92760e11b9084015281519192916200008391600391620005a7565b50805162000099906004906020840190620005a7565b50506005805460ff1916601217905550620000b3620001f0565b506008805460ff199081169091556001600160601b0319606085901b1660a0526001600160a01b0384166000908152600960205260408120805490921660011790915583905b8251811015620001765760008382815181106200011257fe5b60200260200101516000015190506200014a818584815181106200013257fe5b602002602001015160200151620002ac60201b60201c565b6001600160a01b03166000908152600960205260409020805460ff1916600190811790915501620000f9565b506200019a83620001866200038f565b6200039360201b62000cbd1790919060201c565b608052620001a7620003c4565b620001b16200043b565b6a084595161401484a00000014620001e65760405162461bcd60e51b8152600401620001dd906200086b565b60405180910390fd5b5050505062000909565b600080620001fd62000441565b905060007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6200022c62000445565b805160209182012060408051808201825260018152603160f81b90840152516200027e93927fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc691879130910162000781565b60408051601f1981840301815291815281516020928301206000948552600790925290922082905550905090565b6001600160a01b038216620002d55760405162461bcd60e51b8152600401620001dd90620008a2565b620002e360008383620004df565b620002ff816002546200039360201b62000cbd1790919060201c565b6002556001600160a01b038216600090815260208181526040909120546200033291839062000cbd62000393821b17901c565b6001600160a01b0383166000818152602081905260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9062000383908590620008d9565b60405180910390a35050565b4290565b600082820183811015620003bb5760405162461bcd60e51b8152600401620001dd90620007ad565b90505b92915050565b60085460ff1615620003ea5760405162461bcd60e51b8152600401620001dd9062000841565b6008805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258620004226200059a565b6040516200043191906200076d565b60405180910390a1565b60025490565b4690565b60038054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015620004d55780601f10620004a957610100808354040283529160200191620004d5565b820191906000526020600020905b815481529060010190602001808311620004b757829003601f168201915b5050505050905090565b620004f78383836200059560201b620006aa1760201c565b620005016200059e565b15806200052657506001600160a01b03831660009081526009602052604090205460ff165b806200054a57506001600160a01b03821660009081526009602052604090205460ff165b620005695760405162461bcd60e51b8152600401620001dd906200081b565b6001600160a01b038216301415620005955760405162461bcd60e51b8152600401620001dd90620007e4565b505050565b3390565b60085460ff1690565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620005ea57805160ff19168380011785556200061a565b828001600101855582156200061a579182015b828111156200061a578251825591602001919060010190620005fd565b50620006289291506200062c565b5090565b5b808211156200062857600081556001016200062d565b80516001600160a01b0381168114620003be57600080fd5b6000604082840312156200066d578081fd5b620006796040620008e2565b905062000687838362000643565b81526020820151602082015292915050565b600080600060608486031215620006ae578283fd5b620006ba858562000643565b9250602080850151925060408086015160018060401b0380821115620006de578485fd5b818801915088601f830112620006f2578485fd5b81518181111562000701578586fd5b620007108586830201620008e2565b8181528581019250838601858302850187018c10156200072e578788fd5b8794505b828510156200075c57620007478c826200065b565b84526001949094019392860192850162000732565b508096505050505050509250925092565b6001600160a01b0391909116815260200190565b9485526020850193909352604084019190915260608301526001600160a01b0316608082015260a00190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526017908201527f544f524e3a20696e76616c696420726563697069656e74000000000000000000604082015260600190565b6020808252600c908201526b1513d4938e881c185d5cd95960a21b604082015260600190565b60208082526010908201526f14185d5cd8589b194e881c185d5cd95960821b604082015260600190565b6020808252601c908201527f544f524e3a20696e636f727265637420646973747269627574696f6e00000000604082015260600190565b6020808252601f908201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b90815260200190565b6040518181016001600160401b03811182821017156200090157600080fd5b604052919050565b60805160a05160601c611f3a62000949600039806104d752806105ff52806106cc528061078552806109715250806107245280610c705250611f3a6000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c806379cc6790116100de578063a9059cbb11610097578063cea9d26f11610071578063cea9d26f146102fb578063d505accf1461030e578063dc0f0d1214610321578063dd62ed3e1461032957610173565b8063a9059cbb146102d8578063adb61832146102eb578063adc879e9146102f357610173565b806379cc6790146102715780637ecebe001461028457806381893c7c14610297578063885ad0cf146102aa57806395d89b41146102bd578063a457c2d7146102c557610173565b80633c8d76d1116101305780633c8d76d11461020657806342966c681461021b5780635aa6e6751461022e5780635c975abb146102435780635d4545a01461024b57806370a082311461025e57610173565b806306fdde0314610178578063095ea7b31461019657806318160ddd146101b657806323b872dd146101cb578063313ce567146101de57806339509351146101f3575b600080fd5b61018061033c565b60405161018d9190611875565b60405180910390f35b6101a96101a436600461163a565b6103d3565b60405161018d91906117ec565b6101be6103f1565b60405161018d9190611d9a565b6101a96101d9366004611585565b6103f7565b6101e661047e565b60405161018d9190611da3565b6101a961020136600461163a565b610487565b610219610214366004611665565b6104d5565b005b61021961022936600461174e565b6105e9565b6102366105fd565b60405161018d91906117bf565b6101a9610621565b6101a9610259366004611531565b61062a565b6101be61026c366004611531565b61063f565b61021961027f36600461163a565b61065a565b6101be610292366004611531565b6106af565b6102196102a5366004611702565b6106ca565b6102196102b8366004611665565b610783565b61018061088a565b6101a96102d336600461163a565b6108eb565b6101a96102e636600461163a565b610953565b6101be610967565b6101be61096b565b61021961030936600461173a565b61096f565b61021961031c3660046115c5565b610b2d565b6101be610c6e565b6101be61033736600461154d565b610c92565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103c85780601f1061039d576101008083540402835291602001916103c8565b820191906000526020600020905b8154815290600101906020018083116103ab57829003601f168201915b505050505090505b90565b60006103e76103e0610ce9565b8484610ced565b5060015b92915050565b60025490565b6000610404848484610da1565b61047484610410610ce9565b61046f85604051806060016040528060288152602001611e94602891396001600160a01b038a1660009081526001602052604081209061044e610ce9565b6001600160a01b031681526020810191909152604001600020549190610eb6565b610ced565b5060019392505050565b60055460ff1690565b60006103e7610494610ce9565b8461046f85600160006104a5610ce9565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610cbd565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610507610ce9565b6001600160a01b0316146105365760405162461bcd60e51b815260040161052d90611d16565b60405180910390fd5b60005b81518110156105e55760006009600084848151811061055457fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055507f9ef90a89b00db1a1891a357dc96b2a273add9d883e378c350d22bad87a9d7d308282815181106105c057fe5b60200260200101516040516105d591906117bf565b60405180910390a1600101610539565b5050565b6105fa6105f4610ce9565b82610ee2565b50565b7f000000000000000000000000000000000000000000000000000000000000000081565b60085460ff1690565b60096020526000908152604090205460ff1681565b6001600160a01b031660009081526020819052604090205490565b600061068c82604051806060016040528060248152602001611ebc6024913961068586610337610ce9565b9190610eb6565b90506106a08361069a610ce9565b83610ced565b6106aa8383610ee2565b505050565b6001600160a01b031660009081526006602052604090205490565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166106fc610ce9565b6001600160a01b0316146107225760405162461bcd60e51b815260040161052d90611d16565b7f000000000000000000000000000000000000000000000000000000000000000061074b610967565b116107685760405162461bcd60e51b815260040161052d90611b0b565b801561077b57610776610fc4565b6105fa565b6105fa611030565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166107b5610ce9565b6001600160a01b0316146107db5760405162461bcd60e51b815260040161052d90611d16565b60005b81518110156105e5576001600960008484815181106107f957fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055507f77a7dbc6ad97703ad411a8d5edfcd1df382fb34b076a90898b11884f7ebdcc0582828151811061086557fe5b602002602001015160405161087a91906117bf565b60405180910390a16001016107de565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103c85780601f1061039d576101008083540402835291602001916103c8565b60006103e76108f8610ce9565b8461046f85604051806060016040528060258152602001611ee06025913960016000610922610ce9565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190610eb6565b60006103e7610960610ce9565b8484610da1565b4290565b4690565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166109a1610ce9565b6001600160a01b0316146109c75760405162461bcd60e51b815260040161052d90611d16565b6001600160a01b0382166109ed5760405162461bcd60e51b815260040161052d90611c8a565b6001600160a01b038316610a56574760008215610a1357610a0e8284611089565b610a15565b815b6040519091506001600160a01b0385169082156108fc029083906000818181858888f19350505050158015610a4e573d6000803e3d6000fd5b5050506106aa565b6040516370a0823160e01b81526000906001600160a01b038516906370a0823190610a859030906004016117bf565b60206040518083038186803b158015610a9d57600080fd5b505afa158015610ab1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad59190611766565b905060008215610aee57610ae98284611089565b610af0565b815b905060008111610b125760405162461bcd60e51b815260040161052d90611d63565b610b266001600160a01b038616858361109f565b5050505050565b83610b36610967565b1115610b545760405162461bcd60e51b815260040161052d90611a00565b6001600160a01b0387166000908152600660209081526040808320549051610ba7927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9928c928c928c92918c91016117f7565b6040516020818303038152906040528051906020012090506000611901610bcc6110f5565b83604051602001610bdf9392919061179a565b6040516020818303038152906040528051906020012090506000610c0582878787611134565b9050896001600160a01b0316816001600160a01b031614610c385760405162461bcd60e51b815260040161052d90611b52565b6001600160a01b038a16600090815260066020526040902080546001019055610c628a8a8a610ced565b50505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b600082820183811015610ce25760405162461bcd60e51b815260040161052d90611992565b9392505050565b3390565b6001600160a01b038316610d135760405162461bcd60e51b815260040161052d90611c0f565b6001600160a01b038216610d395760405162461bcd60e51b815260040161052d90611950565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610d94908590611d9a565b60405180910390a3505050565b6001600160a01b038316610dc75760405162461bcd60e51b815260040161052d90611bca565b6001600160a01b038216610ded5760405162461bcd60e51b815260040161052d906118df565b610df883838361122c565b610e3581604051806060016040528060268152602001611e6e602691396001600160a01b0386166000908152602081905260409020549190610eb6565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610e649082610cbd565b6001600160a01b0380841660008181526020819052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d94908590611d9a565b60008184841115610eda5760405162461bcd60e51b815260040161052d9190611875565b505050900390565b6001600160a01b038216610f085760405162461bcd60e51b815260040161052d90611b89565b610f148260008361122c565b610f5181604051806060016040528060228152602001611e4c602291396001600160a01b0385166000908152602081905260409020549190610eb6565b6001600160a01b038316600090815260208190526040902055600254610f7790826112cb565b6002556040516000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610fb8908590611d9a565b60405180910390a35050565b60085460ff16610fe65760405162461bcd60e51b815260040161052d90611922565b6008805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa611019610ce9565b60405161102691906117bf565b60405180910390a1565b60085460ff16156110535760405162461bcd60e51b815260040161052d90611a9f565b6008805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611019610ce9565b60008183106110985781610ce2565b5090919050565b6106aa8363a9059cbb60e01b84846040516024016110be9291906117d3565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261130d565b6000806007600061110461096b565b8152602081019190915260400160002054905080156111245790506103d0565b61112c61139c565b9150506103d0565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08211156111765760405162461bcd60e51b815260040161052d90611a5d565b8360ff16601b148061118b57508360ff16601c145b6111a75760405162461bcd60e51b815260040161052d90611ac9565b6000600186868686604051600081526020016040526040516111cc9493929190611857565b6020604051602081039080840390855afa1580156111ee573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166112215760405162461bcd60e51b815260040161052d906118a8565b90505b949350505050565b6112378383836106aa565b61123f610621565b158061126357506001600160a01b03831660009081526009602052604090205460ff165b8061128657506001600160a01b03821660009081526009602052604090205460ff165b6112a25760405162461bcd60e51b815260040161052d90611a37565b6001600160a01b0382163014156106aa5760405162461bcd60e51b815260040161052d906119c9565b6000610ce283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610eb6565b6060611362826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166114529092919063ffffffff16565b8051909150156106aa5780806020019051810190611380919061171e565b6106aa5760405162461bcd60e51b815260040161052d90611ccc565b6000806113a761096b565b905060007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6113d461033c565b805160209182012060408051808201825260018152603160f81b908401525161142493927fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc691879130910161182b565b60408051601f1981840301815291815281516020928301206000948552600790925290922082905550905090565b60606112248484600085606061146785611520565b6114835760405162461bcd60e51b815260040161052d90611c53565b60006060866001600160a01b031685876040516114a0919061177e565b60006040518083038185875af1925050503d80600081146114dd576040519150601f19603f3d011682016040523d82523d6000602084013e6114e2565b606091505b509150915081156114f65791506112249050565b8051156115065780518082602001fd5b8360405162461bcd60e51b815260040161052d9190611875565b3b151590565b80356103eb81611e28565b600060208284031215611542578081fd5b8135610ce281611e28565b6000806040838503121561155f578081fd5b823561156a81611e28565b9150602083013561157a81611e28565b809150509250929050565b600080600060608486031215611599578081fd5b83356115a481611e28565b925060208401356115b481611e28565b929592945050506040919091013590565b600080600080600080600060e0888a0312156115df578283fd5b87356115ea81611e28565b965060208801356115fa81611e28565b95506040880135945060608801359350608088013560ff8116811461161d578384fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561164c578182fd5b823561165781611e28565b946020939093013593505050565b60006020808385031215611677578182fd5b823567ffffffffffffffff81111561168d578283fd5b8301601f8101851361169d578283fd5b80356116b06116ab82611dd8565b611db1565b81815283810190838501858402850186018910156116cc578687fd5b8694505b838510156116f6576116e28982611526565b8352600194909401939185019185016116d0565b50979650505050505050565b600060208284031215611713578081fd5b8135610ce281611e3d565b60006020828403121561172f578081fd5b8151610ce281611e3d565b600080600060608486031215611599578283fd5b60006020828403121561175f578081fd5b5035919050565b600060208284031215611777578081fd5b5051919050565b60008251611790818460208701611df8565b9190910192915050565b60f09390931b6001600160f01b03191683526002830191909152602282015260420190565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b9586526001600160a01b0394851660208701529290931660408501526060840152608083019190915260a082015260c00190565b9485526020850193909352604084019190915260608301526001600160a01b0316608082015260a00190565b93845260ff9290921660208401526040830152606082015260800190565b6000602082528251806020840152611894816040850160208701611df8565b601f01601f19169190910160400192915050565b60208082526018908201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604082015260600190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526014908201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604082015260600190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526017908201527f544f524e3a20696e76616c696420726563697069656e74000000000000000000604082015260600190565b6020808252601d908201527f45524332305065726d69743a206578706972656420646561646c696e65000000604082015260600190565b6020808252600c908201526b1513d4938e881c185d5cd95960a21b604082015260600190565b60208082526022908201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604082015261756560f01b606082015260800190565b60208082526010908201526f14185d5cd8589b194e881c185d5cd95960821b604082015260600190565b60208082526022908201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604082015261756560f01b606082015260800190565b60208082526027908201527f544f524e3a2063616e6e6f74206368616e6765207472616e736665726162696c6040820152661a5d1e481e595d60ca1b606082015260800190565b6020808252601e908201527f45524332305065726d69743a20696e76616c6964207369676e61747572650000604082015260600190565b60208082526021908201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736040820152607360f81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b60208082526022908201527f544f524e3a2063616e206e6f742073656e6420746f207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b6020808252602d908201527f544f524e3a206f6e6c7920676f7665726e616e63652063616e20706572666f7260408201526c36903a3434b99030b1ba34b7b760991b606082015260800190565b6020808252601e908201527f544f524e3a20747279696e6720746f2073656e6420302062616c616e63650000604082015260600190565b90815260200190565b60ff91909116815260200190565b60405181810167ffffffffffffffff81118282101715611dd057600080fd5b604052919050565b600067ffffffffffffffff821115611dee578081fd5b5060209081020190565b60005b83811015611e13578181015183820152602001611dfb565b83811115611e22576000848401525b50505050565b6001600160a01b03811681146105fa57600080fd5b80151581146105fa57600080fdfe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220fd515804eca384cb14c99861e60dc5364ae65ba9ddfdfe00d195788ee631d01064736f6c634300060c0033"; +const isSuperArgs$u = (xs) => xs.length > 1; +class TORN__factory extends ethers.ContractFactory { + constructor(...args) { + if (isSuperArgs$u(args)) { + super(...args); + } else { + super(_abi$P, _bytecode$u, args[0]); + } + } + getDeployTransaction(_governance, _pausePeriod, _vestings, overrides) { + return super.getDeployTransaction( + _governance, + _pausePeriod, + _vestings, + overrides || {} + ); + } + deploy(_governance, _pausePeriod, _vestings, overrides) { + return super.deploy( + _governance, + _pausePeriod, + _vestings, + overrides || {} + ); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new ethers.Interface(_abi$P); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$P, runner); + } +} +TORN__factory.bytecode = _bytecode$u; +TORN__factory.abi = _abi$P; + +const _abi$O = [ + { + inputs: [ + { + internalType: "address", + name: "_token", + type: "address" + }, + { + internalType: "address", + name: "_beneficiary", + type: "address" + }, + { + internalType: "uint256", + name: "_startTimestamp", + type: "uint256" + }, + { + internalType: "uint256", + name: "_cliffInMonths", + type: "uint256" + }, + { + internalType: "uint256", + name: "_durationInMonths", + type: "uint256" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "Released", + type: "event" + }, + { + inputs: [], + name: "SECONDS_PER_MONTH", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "beneficiary", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "blockTimestamp", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "cliffInMonths", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "durationInMonths", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "release", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "released", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "startTimestamp", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "token", + outputs: [ + { + internalType: "contract IERC20", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "vestedAmount", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + } +]; +const _bytecode$t = "0x61012060405234801561001157600080fd5b50604051610c8c380380610c8c833981810160405260a081101561003457600080fd5b508051602082015160408301516060840151608090940151929391929091906001600160a01b0384166100ae576040805162461bcd60e51b815260206004820152601b60248201527f42656e65666963696172792063616e6e6f7420626520656d7074790000000000604482015290519081900360640190fd5b80821115610103576040805162461bcd60e51b815260206004820152601e60248201527f436c6966662069732067726561746572207468616e206475726174696f6e0000604482015290519081900360640190fd5b6001600160601b0319606086811b821660a05285901b1660805261010081905260c08290528215610134578261013c565b61013c61014a565b60e0525061014e9350505050565b4290565b60805160601c60a05160601c60c05160e05161010051610acc6101c060003980610203528061037b52806103dd525080610152528061018e52806105215250806101d052806104f352508061024852806102c85280610474528061054552508061012c52806104965250610acc6000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063928d89ae11610066578063928d89ae146100fb5780639613252114610103578063adb618321461010b578063e6fd48bc14610113578063fc0c546a1461011b5761009e565b806310786deb146100a357806338af3eed146100bd57806344b1231f146100e157806367097a4b146100e957806386d1a69f146100f1575b600080fd5b6100ab610123565b60408051918252519081900360200190f35b6100c561012a565b604080516001600160a01b039092168252519081900360200190f35b6100ab61014e565b6100ab6103db565b6100f96103ff565b005b6100ab6104f1565b6100ab610515565b6100ab61051b565b6100ab61051f565b6100c5610543565b62278d0081565b7f000000000000000000000000000000000000000000000000000000000000000081565b60007f000000000000000000000000000000000000000000000000000000000000000061017961051b565b1015610187575060006103d8565b60006101bb7f00000000000000000000000000000000000000000000000000000000000000006101b561051b565b90610567565b905060006101cc8262278d006105b2565b90507f0000000000000000000000000000000000000000000000000000000000000000811015610201576000925050506103d8565b7f000000000000000000000000000000000000000000000000000000000000000081106102c457604080516370a0823160e01b815230600482015290516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916370a08231916024808301926020929190829003018186803b15801561028e57600080fd5b505afa1580156102a2573d6000803e3d6000fd5b505050506040513d60208110156102b857600080fd5b505192506103d8915050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561033357600080fd5b505afa158015610347573d6000803e3d6000fd5b505050506040513d602081101561035d57600080fd5b505160008054919250906103729083906105f4565b905060006103aa7f00000000000000000000000000000000000000000000000000000000000000006103a4848761064e565b906105b2565b905060006103c36000548361056790919063ffffffff16565b90506103cf84826106a7565b96505050505050505b90565b7f000000000000000000000000000000000000000000000000000000000000000081565b600061040961014e565b905060008111610457576040805162461bcd60e51b81526020600482015260146024820152734e6f20746f6b656e7320746f2072656c6561736560601b604482015290519081900360640190fd5b60005461046490826105f4565b6000556104bb6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f0000000000000000000000000000000000000000000000000000000000000000836106bd565b6040805182815290517ffb81f9b30d73d830c3544b34d827c08142579ee75710b490bab0b3995468c5659181900360200190a150565b7f000000000000000000000000000000000000000000000000000000000000000081565b60005481565b4290565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b60006105a983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610714565b90505b92915050565b60006105a983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506107ab565b6000828201838110156105a9576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008261065d575060006105ac565b8282028284828161066a57fe5b04146105a95760405162461bcd60e51b8152600401808060200182810382526021815260200180610a4c6021913960400191505060405180910390fd5b60008183106106b657816105a9565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261070f908490610810565b505050565b600081848411156107a35760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610768578181015183820152602001610750565b50505050905090810190601f1680156107955780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836107fa5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610768578181015183820152602001610750565b50600083858161080657fe5b0495945050505050565b6060610865826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166108c19092919063ffffffff16565b80519091501561070f5780806020019051602081101561088457600080fd5b505161070f5760405162461bcd60e51b815260040180806020018281038252602a815260200180610a6d602a913960400191505060405180910390fd5b60606108d084846000856108d8565b949350505050565b60606108e385610a45565b610934576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106109735780518252601f199092019160209182019101610954565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146109d5576040519150601f19603f3d011682016040523d82523d6000602084013e6109da565b606091505b509150915081156109ee5791506108d09050565b8051156109fe5780518082602001fd5b60405162461bcd60e51b8152602060048201818152865160248401528651879391928392604401919085019080838360008315610768578181015183820152602001610750565b3b15159056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a26469706673582212203b3e8370e345374172efb9e3693b20807c318ecfcc569df94f28df8a94f2727a64736f6c634300060c0033"; +const isSuperArgs$t = (xs) => xs.length > 1; +class Vesting__factory extends ethers.ContractFactory { + constructor(...args) { + if (isSuperArgs$t(args)) { + super(...args); + } else { + super(_abi$O, _bytecode$t, args[0]); + } + } + getDeployTransaction(_token, _beneficiary, _startTimestamp, _cliffInMonths, _durationInMonths, overrides) { + return super.getDeployTransaction( + _token, + _beneficiary, + _startTimestamp, + _cliffInMonths, + _durationInMonths, + overrides || {} + ); + } + deploy(_token, _beneficiary, _startTimestamp, _cliffInMonths, _durationInMonths, overrides) { + return super.deploy( + _token, + _beneficiary, + _startTimestamp, + _cliffInMonths, + _durationInMonths, + overrides || {} + ); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new ethers.Interface(_abi$O); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$O, runner); + } +} +Vesting__factory.bytecode = _bytecode$t; +Vesting__factory.abi = _abi$O; + +const _abi$N = [ + { + inputs: [ + { + internalType: "bytes32", + name: "_torn", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "_governance", + type: "bytes32" + }, + { + internalType: "uint256", + name: "_duration", + type: "uint256" + }, + { + components: [ + { + internalType: "address", + name: "to", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + internalType: "struct Voucher.Recipient[]", + name: "_airdrops", + type: "tuple[]" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Approval", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Transfer", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "allowedTransferee", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "blockTimestamp", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32[]", + name: "domains", + type: "bytes32[]" + } + ], + name: "bulkResolve", + outputs: [ + { + internalType: "address[]", + name: "result", + type: "address[]" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "subtractedValue", + type: "uint256" + } + ], + name: "decreaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "expiresAt", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "governance", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256" + } + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "redeem", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "rescueExpiredTokens", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "node", + type: "bytes32" + } + ], + name: "resolve", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "torn", + outputs: [ + { + internalType: "contract IERC20", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; +const _bytecode$s = "0x60e06040523480156200001157600080fd5b5060405162001d8d38038062001d8d833981016040819052620000349162000593565b60405180606001604052806026815260200162001d6760269139604051806040016040528060058152602001643b2a27a92760d91b81525081600390805190602001906200008492919062000497565b5080516200009a90600490602084019062000497565b50506005805460ff1916601217905550620000b584620001af565b60601b6001600160601b031916608052620000d083620001af565b60601b6001600160601b03191660c0526200010382620000ef620002fd565b6200030160201b6200098d1790919060201c565b60a05260005b8151811015620001a457620001558282815181106200012457fe5b6020026020010151600001518383815181106200013d57fe5b6020026020010151602001516200033260201b60201c565b6001600660008484815181106200016857fe5b602090810291909101810151516001600160a01b03168252810191909152604001600020805460ff191691151591909117905560010162000109565b505050505062000753565b600080620001bc62000415565b600114620001df57738595bfb0d940dfedc98943fa8a907091203f25ee620001f0565b6e0c2e074ec69a0dfb2997ba6c7d2e1e5b604051630178b8bf60e01b81529091506001600160a01b03821690630178b8bf906200022190869060040162000665565b60206040518083038186803b1580156200023a57600080fd5b505afa1580156200024f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000275919062000574565b6001600160a01b0316633b3b57de846040518263ffffffff1660e01b8152600401620002a2919062000665565b60206040518083038186803b158015620002bb57600080fd5b505afa158015620002d0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002f6919062000574565b9392505050565b4290565b600082820183811015620002f65760405162461bcd60e51b815260040162000329906200066e565b60405180910390fd5b6001600160a01b0382166200035b5760405162461bcd60e51b81526004016200032990620006dc565b620003696000838362000419565b62000385816002546200030160201b6200098d1790919060201c565b6002556001600160a01b03821660009081526020818152604090912054620003b89183906200098d62000301821b17901c565b6001600160a01b0383166000818152602081905260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906200040990859062000665565b60405180910390a35050565b4690565b620004318383836200049260201b620009b21760201c565b6001600160a01b03821615806200044f57506001600160a01b038316155b806200047357506001600160a01b03831660009081526006602052604090205460ff165b620004925760405162461bcd60e51b81526004016200032990620006a5565b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620004da57805160ff19168380011785556200050a565b828001600101855582156200050a579182015b828111156200050a578251825591602001919060010190620004ed565b50620005189291506200051c565b5090565b5b808211156200051857600081556001016200051d565b60006040828403121562000545578081fd5b62000551604062000713565b9050815162000560816200073a565b808252506020820151602082015292915050565b60006020828403121562000586578081fd5b8151620002f6816200073a565b60008060008060808587031215620005a9578283fd5b8451935060208086015193506040808701519350606087015160018060401b0380821115620005d6578485fd5b818901915089601f830112620005ea578485fd5b815181811115620005f9578586fd5b62000608858683020162000713565b8181528581019250838601858302850187018d101562000626578788fd5b8794505b8285101562000654576200063f8d8262000533565b8452600194909401939286019285016200062a565b50989b979a50959850505050505050565b90815260200190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252601e908201527f45524332303a207472616e73666572206973206e6f7420616c6c6f7765640000604082015260600190565b6020808252601f908201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b6040518181016001600160401b03811182821017156200073257600080fd5b604052919050565b6001600160a01b03811681146200075057600080fd5b50565b60805160601c60a05160c05160601c6115c3620007a46000398061043152806107d35250806105c352806106ec52806107895250806106c8528061075d52806107f4528061089852506115c36000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c80638622a689116100ad578063adf898a411610071578063adf898a41461024b578063be040fb014610253578063c39ef8551461025d578063dd62ed3e14610265578063f9e54234146102785761012c565b80638622a6891461020d57806395d89b4114610215578063a457c2d71461021d578063a9059cbb14610230578063adb61832146102435761012c565b806339509351116100f457806339509351146101ac5780635aa6e675146101bf5780635c23bdf5146101d45780635d4545a0146101e757806370a08231146101fa5761012c565b806306fdde0314610131578063095ea7b31461014f57806318160ddd1461016f57806323b872dd14610184578063313ce56714610197575b600080fd5b610139610298565b604051610146919061116f565b60405180910390f35b61016261015d366004610fb5565b61032e565b604051610146919061115b565b61017761034b565b6040516101469190611166565b610162610192366004610f75565b610351565b61019f6103d8565b604051610146919061145e565b6101626101ba366004610fb5565b6103e1565b6101c761042f565b60405161014691906110e1565b6101c76101e2366004611095565b610453565b6101626101f5366004610f05565b610591565b610177610208366004610f05565b6105a6565b6101776105c1565b6101396105e5565b61016261022b366004610fb5565b610646565b61016261023e366004610fb5565b6106ae565b6101776106c2565b6101c76106c6565b61025b6106ea565b005b61025b610787565b610177610273366004610f3d565b6108c1565b61028b610286366004610fe0565b6108ec565b604051610146919061110e565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103245780601f106102f957610100808354040283529160200191610324565b820191906000526020600020905b81548152906001019060200180831161030757829003601f168201915b5050505050905090565b600061034261033b6109b7565b84846109bb565b50600192915050565b60025490565b600061035e848484610a6f565b6103ce8461036a6109b7565b6103c985604051806060016040528060288152602001611541602891396001600160a01b038a166000908152600160205260408120906103a86109b7565b6001600160a01b031681526020810191909152604001600020549190610b84565b6109bb565b5060019392505050565b60055460ff1690565b60006103426103ee6109b7565b846103c985600160006103ff6109b7565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549061098d565b7f000000000000000000000000000000000000000000000000000000000000000081565b60008061045e610bb0565b60011461047f57738595bfb0d940dfedc98943fa8a907091203f25ee610490565b6e0c2e074ec69a0dfb2997ba6c7d2e1e5b604051630178b8bf60e01b81529091506001600160a01b03821690630178b8bf906104bf908690600401611166565b60206040518083038186803b1580156104d757600080fd5b505afa1580156104eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061050f9190610f21565b6001600160a01b0316633b3b57de846040518263ffffffff1660e01b815260040161053a9190611166565b60206040518083038186803b15801561055257600080fd5b505afa158015610566573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058a9190610f21565b9392505050565b60066020526000908152604090205460ff1681565b6001600160a01b031660009081526020819052604090205490565b7f000000000000000000000000000000000000000000000000000000000000000081565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103245780601f106102f957610100808354040283529160200191610324565b60006103426106536109b7565b846103c985604051806060016040528060258152602001611569602591396001600061067d6109b7565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190610b84565b60006103426106bb6109b7565b8484610a6f565b4290565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f00000000000000000000000000000000000000000000000000000000000000006107136106c2565b106107395760405162461bcd60e51b81526004016107309061125e565b60405180910390fd5b6000610744336105a6565b90506107503382610bb4565b6107846001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163383610c96565b50565b7f00000000000000000000000000000000000000000000000000000000000000006107b06106c2565b10156107ce5760405162461bcd60e51b815260040161073090611295565b6108bf7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161083e91906110e1565b60206040518083038186803b15801561085657600080fd5b505afa15801561086a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088e91906110ad565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190610c96565b565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6060815167ffffffffffffffff8111801561090657600080fd5b50604051908082528060200260200182016040528015610930578160200160208202803683370190505b50905060005b82518110156109875761095b83828151811061094e57fe5b6020026020010151610453565b82828151811061096757fe5b6001600160a01b0390921660209283029190910190910152600101610936565b50919050565b60008282018381101561058a5760405162461bcd60e51b815260040161073090611227565b505050565b3390565b6001600160a01b0383166109e15760405162461bcd60e51b815260040161073090611399565b6001600160a01b038216610a075760405162461bcd60e51b8152600401610730906111e5565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610a62908590611166565b60405180910390a3505050565b6001600160a01b038316610a955760405162461bcd60e51b815260040161073090611354565b6001600160a01b038216610abb5760405162461bcd60e51b8152600401610730906111a2565b610ac6838383610cec565b610b038160405180606001604052806026815260200161151b602691396001600160a01b0386166000908152602081905260409020549190610b84565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610b32908261098d565b6001600160a01b0380841660008181526020819052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a62908590611166565b60008184841115610ba85760405162461bcd60e51b8152600401610730919061116f565b505050900390565b4690565b6001600160a01b038216610bda5760405162461bcd60e51b815260040161073090611313565b610be682600083610cec565b610c23816040518060600160405280602281526020016114f9602291396001600160a01b0385166000908152602081905260409020549190610b84565b6001600160a01b038316600090815260208190526040902055600254610c499082610d53565b6002556040516000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c8a908590611166565b60405180910390a35050565b6109b28363a9059cbb60e01b8484604051602401610cb59291906110f5565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610d95565b610cf78383836109b2565b6001600160a01b0382161580610d1457506001600160a01b038316155b80610d3757506001600160a01b03831660009081526006602052604090205460ff165b6109b25760405162461bcd60e51b8152600401610730906112dc565b600061058a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610b84565b6060610dea826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610e249092919063ffffffff16565b8051909150156109b25780806020019051810190610e089190611075565b6109b25760405162461bcd60e51b815260040161073090611414565b6060610e338484600085610e3b565b949350505050565b6060610e4685610eff565b610e625760405162461bcd60e51b8152600401610730906113dd565b60006060866001600160a01b03168587604051610e7f91906110c5565b60006040518083038185875af1925050503d8060008114610ebc576040519150601f19603f3d011682016040523d82523d6000602084013e610ec1565b606091505b50915091508115610ed5579150610e339050565b805115610ee55780518082602001fd5b8360405162461bcd60e51b8152600401610730919061116f565b3b151590565b600060208284031215610f16578081fd5b813561058a816114e3565b600060208284031215610f32578081fd5b815161058a816114e3565b60008060408385031215610f4f578081fd5b8235610f5a816114e3565b91506020830135610f6a816114e3565b809150509250929050565b600080600060608486031215610f89578081fd5b8335610f94816114e3565b92506020840135610fa4816114e3565b929592945050506040919091013590565b60008060408385031215610fc7578182fd5b8235610fd2816114e3565b946020939093013593505050565b60006020808385031215610ff2578182fd5b823567ffffffffffffffff811115611008578283fd5b8301601f81018513611018578283fd5b803561102b61102682611493565b61146c565b8181528381019083850185840285018601891015611047578687fd5b8694505b8385101561106957803583526001949094019391850191850161104b565b50979650505050505050565b600060208284031215611086578081fd5b8151801515811461058a578182fd5b6000602082840312156110a6578081fd5b5035919050565b6000602082840312156110be578081fd5b5051919050565b600082516110d78184602087016114b3565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6020808252825182820181905260009190848201906040850190845b8181101561114f5783516001600160a01b03168352928401929184019160010161112a565b50909695505050505050565b901515815260200190565b90815260200190565b600060208252825180602084015261118e8160408501602087016114b3565b601f01601f19169190910160400192915050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252601f908201527f41697264726f702072656465656d20706572696f642068617320656e64656400604082015260600190565b60208082526027908201527f41697264726f702072656465656d20706572696f6420686173206e6f7420656e604082015266191959081e595d60ca1b606082015260800190565b6020808252601e908201527f45524332303a207472616e73666572206973206e6f7420616c6c6f7765640000604082015260600190565b60208082526021908201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736040820152607360f81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b60ff91909116815260200190565b60405181810167ffffffffffffffff8111828210171561148b57600080fd5b604052919050565b600067ffffffffffffffff8211156114a9578081fd5b5060209081020190565b60005b838110156114ce5781810151838201526020016114b6565b838111156114dd576000848401525b50505050565b6001600160a01b038116811461078457600080fdfe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212209b2d6f14167bc062b61418b8fca6b7946d243420e3df874c9632acb30079c69b64736f6c634300060c0033546f726e61646f4361736820766f756368657220666f72206561726c792061646f7074657273"; +const isSuperArgs$s = (xs) => xs.length > 1; +class Voucher__factory extends ethers.ContractFactory { + constructor(...args) { + if (isSuperArgs$s(args)) { + super(...args); + } else { + super(_abi$N, _bytecode$s, args[0]); + } + } + getDeployTransaction(_torn, _governance, _duration, _airdrops, overrides) { + return super.getDeployTransaction( + _torn, + _governance, + _duration, + _airdrops, + overrides || {} + ); + } + deploy(_torn, _governance, _duration, _airdrops, overrides) { + return super.deploy( + _torn, + _governance, + _duration, + _airdrops, + overrides || {} + ); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new ethers.Interface(_abi$N); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$N, runner); + } +} +Voucher__factory.bytecode = _bytecode$s; +Voucher__factory.abi = _abi$N; + +var index$s = /*#__PURE__*/Object.freeze({ + __proto__: null, + Airdrop__factory: Airdrop__factory, + ERC20Permit__factory: ERC20Permit__factory, + TORN__factory: TORN__factory, + Vesting__factory: Vesting__factory, + Voucher__factory: Voucher__factory, + ensSol: index$u, + mocks: index$t +}); + +const _abi$M = [ + { + inputs: [ + { + internalType: "address", + name: "_logic", + type: "address" + }, + { + internalType: "address", + name: "_admin", + type: "address" + }, + { + internalType: "bytes", + name: "_data", + type: "bytes" + } + ], + stateMutability: "payable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "previousAdmin", + type: "address" + }, + { + indexed: false, + internalType: "address", + name: "newAdmin", + type: "address" + } + ], + name: "AdminChanged", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "implementation", + type: "address" + } + ], + name: "Upgraded", + type: "event" + }, + { + stateMutability: "payable", + type: "fallback" + }, + { + inputs: [], + name: "admin", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "bytes", + name: "data", + type: "bytes" + } + ], + name: "callToOwner", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "newAdmin", + type: "address" + } + ], + name: "changeAdmin", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "newOwner", + type: "address" + } + ], + name: "changeOwner", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "bytes", + name: "data", + type: "bytes" + } + ], + name: "delegateToOwner", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [], + name: "getCurrentOwner", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "implementation", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "newImplementation", + type: "address" + } + ], + name: "upgradeTo", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "newImplementation", + type: "address" + }, + { + internalType: "bytes", + name: "data", + type: "bytes" + } + ], + name: "upgradeToAndCall", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "newImplementation", + type: "address" + } + ], + name: "upgradeToOwner", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + stateMutability: "payable", + type: "receive" + } +]; +const _bytecode$r = "0x608060405260405162000e6738038062000e67833981810160405260608110156200002957600080fd5b815160208301516040808501805191519395929483019291846401000000008211156200005557600080fd5b9083019060208201858111156200006b57600080fd5b82516401000000008111828201881017156200008657600080fd5b82525081516020918201929091019080838360005b83811015620000b55781810151838201526020016200009b565b50505050905090810190601f168015620000e35780820380516001836020036101000a031916815260200191505b5060405250849150839050828282828281620000ff82620001f6565b805115620001bd576000826001600160a01b0316826040518082805190602001908083835b60208310620001455780518252601f19909201916020918201910162000124565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114620001a7576040519150601f19603f3d011682016040523d82523d6000602084013e620001ac565b606091505b5050905080620001bb57600080fd5b505b50620001c69050565b620001d1826200026d565b505050505050620001ed336200029160201b620008ab1760201c565b50505062000308565b6200020c81620002bd60201b620008d51760201c565b620002495760405162461bcd60e51b815260040180806020018281038252603681526020018062000e316036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b806200029c620002c3565b80546001600160a01b0319166001600160a01b039290921691909117905550565b3b151590565b604080517fb4d03667d60278cc15e9a68fa7679dc39ebe71350c4566a2c23c26580da4e0b3602080830191909152825180830382018152918301909252805191012090565b610b1980620003186000396000f3fe6080604052600436106100955760003560e01c80635c60da1b116100595780635c60da1b146102fe5780638f2839701461032f578063a18a186b14610362578063a6f9dae114610377578063f851a440146103aa576100a4565b806323711ab1146100ac57806323c735f1146101625780632e44e0e0146101955780633659cfe61461024b5780634f1ef2861461027e576100a4565b366100a4576100a26103bf565b005b6100a26103bf565b6100a2600480360360408110156100c257600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100ed57600080fd5b8201836020820111156100ff57600080fd5b8035906020019184600183028401116401000000008311171561012157600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506103d9945050505050565b34801561016e57600080fd5b506100a26004803603602081101561018557600080fd5b50356001600160a01b03166104e7565b6100a2600480360360408110156101ab57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156101d657600080fd5b8201836020820111156101e857600080fd5b8035906020019184600183028401116401000000008311171561020a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610546945050505050565b34801561025757600080fd5b506100a26004803603602081101561026e57600080fd5b50356001600160a01b031661063a565b6100a26004803603604081101561029457600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156102bf57600080fd5b8201836020820111156102d157600080fd5b803590602001918460018302840111640100000000831117156102f357600080fd5b509092509050610671565b34801561030a57600080fd5b5061031361071e565b604080516001600160a01b039092168252519081900360200190f35b34801561033b57600080fd5b506100a26004803603602081101561035257600080fd5b50356001600160a01b031661075b565b34801561036e57600080fd5b50610313610815565b34801561038357600080fd5b506100a26004803603602081101561039a57600080fd5b50356001600160a01b0316610824565b3480156103b657600080fd5b50610313610880565b6103c76103d7565b6103d76103d26108db565b610900565b565b336103e2610924565b6001600160a01b03161461042c576040805162461bcd60e51b815260206004820152600c60248201526b2737ba1030b71037bbb732b960a11b604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b6020831061046a5780518252601f19909201916020918201910161044b565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146104ca576040519150601f19603f3d011682016040523d82523d6000602084013e6104cf565b606091505b5091509150816104e157805181602001fd5b50505050565b336104f0610924565b6001600160a01b03161461053a576040805162461bcd60e51b815260206004820152600c60248201526b2737ba1030b71037bbb732b960a11b604482015290519081900360640190fd5b6105438161093d565b50565b3361054f610924565b6001600160a01b031614610599576040805162461bcd60e51b815260206004820152600c60248201526b2737ba1030b71037bbb732b960a11b604482015290519081900360640190fd5b60006060836001600160a01b031634846040518082805190602001908083835b602083106105d85780518252601f1990920191602091820191016105b9565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146104ca576040519150601f19603f3d011682016040523d82523d6000602084013e6104cf565b61064261097d565b6001600160a01b0316336001600160a01b03161415610669576106648161093d565b610543565b6105436103bf565b61067961097d565b6001600160a01b0316336001600160a01b031614156107115761069b8361093d565b6000836001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d80600081146106f8576040519150601f19603f3d011682016040523d82523d6000602084013e6106fd565b606091505b505090508061070b57600080fd5b50610719565b6107196103bf565b505050565b600061072861097d565b6001600160a01b0316336001600160a01b03161415610750576107496108db565b9050610758565b6107586103bf565b90565b61076361097d565b6001600160a01b0316336001600160a01b03161415610669576001600160a01b0381166107c15760405162461bcd60e51b815260040180806020018281038252603a815260200180610a74603a913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6107ea61097d565b604080516001600160a01b03928316815291841660208301528051918290030190a1610664816109a2565b600061081f610924565b905090565b3361082d610924565b6001600160a01b031614610877576040805162461bcd60e51b815260206004820152600c60248201526b2737ba1030b71037bbb732b960a11b604482015290519081900360640190fd5b610543816108ab565b600061088a61097d565b6001600160a01b0316336001600160a01b031614156107505761074961097d565b806108b46109c6565b80546001600160a01b0319166001600160a01b039290921691909117905550565b3b151590565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e80801561091f573d6000f35b3d6000fd5b600061092e6109c6565b546001600160a01b0316919050565b61094681610a0b565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b604080517fb4d03667d60278cc15e9a68fa7679dc39ebe71350c4566a2c23c26580da4e0b3602080830191909152825180830382018152918301909252805191012090565b610a14816108d5565b610a4f5760405162461bcd60e51b8152600401808060200182810382526036815260200180610aae6036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5556fe5472616e73706172656e745570677261646561626c6550726f78793a206e65772061646d696e20697320746865207a65726f20616464726573735570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374a264697066735822122001f07e10d1eeadbd61da070e50227b529a3ec4b8f2e780a0e6bc1dc6028ba95764736f6c634300060c00335570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374"; +const isSuperArgs$r = (xs) => xs.length > 1; +class TestnetAdminProxy__factory extends ethers.ContractFactory { + constructor(...args) { + if (isSuperArgs$r(args)) { + super(...args); + } else { + super(_abi$M, _bytecode$r, args[0]); + } + } + getDeployTransaction(_logic, _admin, _data, overrides) { + return super.getDeployTransaction(_logic, _admin, _data, overrides || {}); + } + deploy(_logic, _admin, _data, overrides) { + return super.deploy(_logic, _admin, _data, overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new ethers.Interface(_abi$M); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$M, runner); + } +} +TestnetAdminProxy__factory.bytecode = _bytecode$r; +TestnetAdminProxy__factory.abi = _abi$M; + +const _abi$L = [ + { + inputs: [ + { + internalType: "address", + name: "_torn", + type: "address" + }, + { + internalType: "address", + name: "_governance", + type: "address" + }, + { + internalType: "address", + name: "_registry", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "instance", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "newFee", + type: "uint256" + } + ], + name: "FeeUpdated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint24", + name: "newFee", + type: "uint24" + } + ], + name: "UniswapTornPoolSwappingFeeChanged", + type: "event" + }, + { + inputs: [], + name: "PROTOCOL_FEE_DIVIDER", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract ITornadoInstance", + name: "_instance", + type: "address" + } + ], + name: "calculatePoolFee", + outputs: [ + { + internalType: "uint160", + name: "", + type: "uint160" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "feeDeviations", + outputs: [ + { + components: [ + { + internalType: "address", + name: "instance", + type: "address" + }, + { + internalType: "int256", + name: "deviation", + type: "int256" + } + ], + internalType: "struct FeeManager.Deviation[]", + name: "results", + type: "tuple[]" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_token", + type: "address" + }, + { + internalType: "uint24", + name: "_uniswapPoolSwappingFee", + type: "uint24" + } + ], + name: "getTokenPriceRatio", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "governance", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract ITornadoInstance", + name: "", + type: "address" + } + ], + name: "instanceFee", + outputs: [ + { + internalType: "uint160", + name: "", + type: "uint160" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract ITornadoInstance", + name: "", + type: "address" + } + ], + name: "instanceFeeUpdated", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract ITornadoInstance", + name: "_instance", + type: "address" + } + ], + name: "instanceFeeWithUpdate", + outputs: [ + { + internalType: "uint160", + name: "", + type: "uint160" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "registry", + outputs: [ + { + internalType: "contract InstanceRegistry", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint32", + name: "newPeriod", + type: "uint32" + } + ], + name: "setPeriodForTWAPOracle", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_token", + type: "address" + }, + { + internalType: "uint256", + name: "_price", + type: "uint256" + } + ], + name: "setTokenPrice", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint24", + name: "_uniswapTornPoolSwappingFee", + type: "uint24" + } + ], + name: "setUniswapTornPoolSwappingFee", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint24", + name: "newLimit", + type: "uint24" + } + ], + name: "setUpdateFeeTimeLimit", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "torn", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "uniswapTimePeriod", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "uniswapTornPoolSwappingFee", + outputs: [ + { + internalType: "uint24", + name: "", + type: "uint24" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "updateAllFees", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "contract ITornadoInstance", + name: "_instance", + type: "address" + } + ], + name: "updateFee", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "updateFeeTimeLimit", + outputs: [ + { + internalType: "uint24", + name: "", + type: "uint24" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract ITornadoInstance[]", + name: "_instances", + type: "address[]" + } + ], + name: "updateFees", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; +const _bytecode$q = "0x60e06040523480156200001157600080fd5b5060405162001c9d38038062001c9d83398101604081905262000034916200005c565b6001600160601b0319606093841b811660805291831b821660a05290911b1660c052620000c8565b60008060006060848603121562000071578283fd5b83516200007e81620000af565b60208501519093506200009181620000af565b6040850151909250620000a481620000af565b809150509250925092565b6001600160a01b0381168114620000c557600080fd5b50565b60805160601c60a05160601c60c05160601c611b7c6200012160003980610350528061061452806108915280610a42525080610539528061064c528061072d528061082252508061059852806107ad5250611b7c6000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c806380eb7bf0116100ad578063bcc5ee6411610071578063bcc5ee641461024b578063c51c229714610253578063d8718fb114610266578063e1f121561461027b578063f522d6d61461028e5761012c565b806380eb7bf014610202578063a028752014610215578063adf898a414610228578063aeb3077a14610230578063b19a2972146102385761012c565b8063603a54fe116100f4578063603a54fe146101ac57806369574fef146101bf5780637b103999146101d25780637ccd2f48146101da57806380679eb3146101ef5761012c565b806305e34364146101315780632efbf3841461015a578063431f63c91461017a5780634bf0a5421461018f5780635aa6e675146101a4575b600080fd5b61014461013f36600461183e565b610296565b6040516101519190611aaa565b60405180910390f35b61016d61016836600461183e565b6102a8565b60405161015191906118cb565b61018d6101883660046115b1565b610305565b005b61019761034b565b6040516101519190611907565b61016d610537565b61016d6101ba36600461183e565b61055b565b6101446101cd366004611579565b610576565b61016d610612565b6101e2610636565b6040516101519190611a9a565b61018d6101fd36600461188e565b610641565b61018d61021036600461183e565b61069c565b61018d61022336600461185a565b610722565b61016d6107ab565b6101446107cf565b61018d6102463660046115dc565b6107d5565b6101e2610805565b61018d61026136600461185a565b610817565b61026e610874565b6040516101519190611ab3565b61016d61028936600461183e565b610887565b61018d610a3d565b60026020526000908152604090205481565b600080546001600160a01b038316825260026020526040822054600160381b90910462ffffff16429190910311156102e3576102e38261069c565b506001600160a01b03808216600090815260016020526040902054165b919050565b3361030e610ad7565b6001600160a01b03161461033d5760405162461bcd60e51b8152600401610334906119fc565b60405180910390fd5b6103478282610af0565b5050565b6060807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310c13ac36040518163ffffffff1660e01b815260040160006040518083038186803b1580156103a757600080fd5b505afa1580156103bb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103e39190810190611675565b9050805167ffffffffffffffff811180156103fd57600080fd5b5060405190808252806020026020018201604052801561043757816020015b6104246114b2565b81526020019060019003908161041c5790505b50915060005b815181101561053257600061046483838151811061045757fe5b6020026020010151610887565b6001600160a01b03169050600081156104e0576103e8826001600087878151811061048b57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060009054906101000a90046001600160a01b03166103e8026001600160a01b0316816104db57fe5b040390505b60405180604001604052808585815181106104f757fe5b60200260200101516001600160a01b031681526020018281525085848151811061051d57fe5b6020908102919091010152505060010161043d565b505090565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001602052600090815260409020546001600160a01b031681565b600061058183610b19565b610600576040805180820182526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811682528516602080830191909152825180840190935260005462ffffff80821685528616918401919091526105fb929063ffffffff630100000090910416610b44565b610609565b61060983610b19565b90505b92915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60005462ffffff1681565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461067657600080fd5b6000805463ffffffff90921663010000000266ffffffff00000019909216919091179055565b60006106a782610887565b6001600160a01b03838116600081815260016020908152604080832080546001600160a01b03191695871695909517909455600290528290204290559051919250907f6f0eaf2c2f89fb4cfe96a1dee5e764d60b52c7f48aaa590f0850e308aa1b953a906107169084906118cb565b60405180910390a25050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461075757600080fd5b6000805462ffffff191662ffffff83811691909117918290556040517fbfe65cfc2359076c4468c9b895156c309c78f94fb09f6d2fc0463c4ca9a71ac2926107a0921690611a9a565b60405180910390a150565b7f000000000000000000000000000000000000000000000000000000000000000081565b61271081565b60005b8151811015610347576107fd8282815181106107f057fe5b602002602001015161069c565b6001016107d8565b600054600160381b900462ffffff1681565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461084c57600080fd5b6000805462ffffff909216600160381b0269ffffff0000000000000019909216919091179055565b6000546301000000900463ffffffff1681565b60008060008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663032bb443876040518263ffffffff1660e01b81526004016108db91906118cb565b60a06040518083038186803b1580156108f357600080fd5b505afa158015610907573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092b91906117c3565b9450945050935093508063ffffffff1660001415610950576000945050505050610300565b6001600160a01b038316158015610965575083155b61096f5782610985565b73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25b925060006109938484610576565b9050610a32612710610a2c8463ffffffff16610a2685610a2c670de0b6b3a76400008e6001600160a01b0316638bca6d166040518163ffffffff1660e01b815260040160206040518083038186803b1580156109ee57600080fd5b505afa158015610a02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a269190611876565b90610b90565b90610bca565b979650505050505050565b610ad57f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310c13ac36040518163ffffffff1660e01b815260040160006040518083038186803b158015610a9957600080fd5b505afa158015610aad573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102469190810190611675565b565b6000610ae1610c0c565b546001600160a01b0316919050565b6000610afa610c61565b6001600160a01b03909316600090815260209390935250604090912055565b600080610b24610c61565b6001600160a01b0390931660009081526020939093525050604090205490565b60208084015190830151600091610b5b9184610c98565b84518451610b7e91670de0b6b3a764000091610b78919087610c98565b90610cc2565b81610b8557fe5b0490505b9392505050565b600082610b9f5750600061060c565b82820282848281610bac57fe5b04146106095760405162461bcd60e51b815260040161033490611a59565b600061060983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610ce6565b6000807fb4d03667d60278cc15e9a68fa7679dc39ebe71350c4566a2c23c26580da4e0b360001c604051602001610c439190611aaa565b60408051601f19818403018152919052805160209091012092915050565b6000807f6521c13ddfc30471ec629848a30b01f73c36737d417c11843e7a9afa6985e84860001c604051602001610c439190611aaa565b6000610cba8473c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28585610d1d565b949350505050565b6000821580610cdd57505081810281838281610cda57fe5b04145b61060c57600080fd5b60008183610d075760405162461bcd60e51b815260040161033491906119a9565b506000838581610d1357fe5b0495945050505050565b600080846001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610d5957600080fd5b505afa158015610d6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d9191906118aa565b60ff16600a0a90506001600160a01b038681169086161415610dbd576001600160801b03169050610cba565b604051630b4c774160e11b8152610e5e90610e5690731f98431c8ad98523631ae4a59f267346ea31f98490631698ee8290610e00908b908b908b906004016118df565b60206040518083038186803b158015610e1857600080fd5b505afa158015610e2c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e50919061155d565b85610e6f565b828888611004565b915050610cba565b50949350505050565b600063ffffffff8216610e945760405162461bcd60e51b815260040161033490611a22565b60408051600280825260608083018452926020830190803683370190505090508281600081518110610ec257fe5b602002602001019063ffffffff16908163ffffffff1681525050600081600181518110610eeb57fe5b63ffffffff9092166020928302919091019091015260405163883bdbfd60e01b81526060906001600160a01b0386169063883bdbfd90610f2f90859060040161195f565b60006040518083038186803b158015610f4757600080fd5b505afa158015610f5b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f839190810190611701565b509050600081600081518110610f9557fe5b602002602001015182600181518110610faa57fe5b60200260200101510390508463ffffffff168160060b81610fc757fe5b05935060008160060b128015610fee57508463ffffffff168160060b81610fea57fe5b0715155b15610ffb57600019909301925b50505092915050565b600080611010866110ee565b90506001600160801b036001600160a01b0382161161107f576001600160a01b038082168002908481169086161061105f5761105a600160c01b876001600160801b031683611407565b611077565b61107781876001600160801b0316600160c01b611407565b925050610e66565b600061109e6001600160a01b0383168068010000000000000000611407565b9050836001600160a01b0316856001600160a01b0316106110d6576110d1600160801b876001600160801b031683611407565b610a32565b610a3281876001600160801b0316600160801b611407565b60008060008360020b12611105578260020b61110d565b8260020b6000035b9050620d89e88111156111325760405162461bcd60e51b815260040161033490611a3e565b60006001821661114657600160801b611158565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff169050600282161561118c576ffff97272373d413259a46990580e213a0260801c5b60048216156111ab576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b60088216156111ca576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b60108216156111e9576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615611208576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615611227576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615611246576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615611266576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615611286576ff987a7253ac413176f2b074cf7815e540260801c5b6104008216156112a6576ff3392b0822b70005940c7a398e4b70f30260801c5b6108008216156112c6576fe7159475a2c29b7443b29c7fa6e889d90260801c5b6110008216156112e6576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615611306576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615611326576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615611346576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615611367576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b62020000821615611387576e5d6af8dedb81196699c329225ee6040260801c5b620400008216156113a6576d2216e584f5fa1ea926041bedfe980260801c5b620800008216156113c3576b048a170391f7dc42444e8fa20260801c5b60008460020b13156113de5780600019816113da57fe5b0490505b6401000000008106156113f25760016113f5565b60005b60ff16602082901c0192505050919050565b600080806000198587098686029250828110908390030390508061143d576000841161143257600080fd5b508290049050610b89565b80841161144957600080fd5b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b604080518082019091526000808252602082015290565b600082601f8301126114d9578081fd5b81516114ec6114e782611aeb565b611ac4565b81815291506020808301908481018184028601820187101561150d57600080fd5b60005b8481101561153557815161152381611b0b565b84529282019290820190600101611510565b505050505092915050565b805161060c81611b0b565b8051600681900b811461060c57600080fd5b60006020828403121561156e578081fd5b815161060981611b0b565b6000806040838503121561158b578081fd5b823561159681611b0b565b915060208301356115a681611b23565b809150509250929050565b600080604083850312156115c3578182fd5b82356115ce81611b0b565b946020939093013593505050565b600060208083850312156115ee578182fd5b823567ffffffffffffffff811115611604578283fd5b8301601f81018513611614578283fd5b80356116226114e782611aeb565b818152838101908385018584028501860189101561163e578687fd5b8694505b8385101561166957803561165581611b0b565b835260019490940193918501918501611642565b50979650505050505050565b60006020808385031215611687578182fd5b825167ffffffffffffffff81111561169d578283fd5b8301601f810185136116ad578283fd5b80516116bb6114e782611aeb565b81815283810190838501858402850186018910156116d7578687fd5b8694505b83851015611669576116ed8982611540565b8352600194909401939185019185016116db565b60008060408385031215611713578182fd5b825167ffffffffffffffff8082111561172a578384fd5b818501915085601f83011261173d578384fd5b815161174b6114e782611aeb565b80828252602080830192508086018a82838702890101111561176b578889fd5b8896505b84871015611795576117818b8261154b565b84526001969096019592810192810161176f565b5088015190965093505050808211156117ac578283fd5b506117b9858286016114c9565b9150509250929050565b600080600080600060a086880312156117da578081fd5b855180151581146117e9578182fd5b60208701519095506117fa81611b0b565b60408701519094506002811061180e578182fd5b606087015190935061181f81611b23565b608087015190925061183081611b34565b809150509295509295909350565b60006020828403121561184f578081fd5b813561060981611b0b565b60006020828403121561186b578081fd5b813561060981611b23565b600060208284031215611887578081fd5b5051919050565b60006020828403121561189f578081fd5b813561060981611b34565b6000602082840312156118bb578081fd5b815160ff81168114610609578182fd5b6001600160a01b0391909116815260200190565b6001600160a01b03938416815291909216602082015262ffffff909116604082015260600190565b602080825282518282018190526000919060409081850190868401855b8281101561195257815180516001600160a01b03168552860151868501529284019290850190600101611924565b5091979650505050505050565b6020808252825182820181905260009190848201906040850190845b8181101561199d57835163ffffffff168352928401929184019160010161197b565b50909695505050505050565b6000602080835283518082850152825b818110156119d5578581018301518582016040015282016119b9565b818111156119e65783604083870101525b50601f01601f1916929092016040019392505050565b6020808252600c908201526b2737ba1030b71037bbb732b960a11b604082015260600190565b602080825260029082015261042560f41b604082015260600190565b6020808252600190820152601560fa1b604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b62ffffff91909116815260200190565b90815260200190565b63ffffffff91909116815260200190565b60405181810167ffffffffffffffff81118282101715611ae357600080fd5b604052919050565b600067ffffffffffffffff821115611b01578081fd5b5060209081020190565b6001600160a01b0381168114611b2057600080fd5b50565b62ffffff81168114611b2057600080fd5b63ffffffff81168114611b2057600080fdfea2646970667358221220e716ce7751ca9331e897d31f3744c6916e2f742be6df42551b069b566751df4c64736f6c634300060c0033"; +const isSuperArgs$q = (xs) => xs.length > 1; +class TestnetFeeManager__factory extends ethers.ContractFactory { + constructor(...args) { + if (isSuperArgs$q(args)) { + super(...args); + } else { + super(_abi$L, _bytecode$q, args[0]); + } + } + getDeployTransaction(_torn, _governance, _registry, overrides) { + return super.getDeployTransaction( + _torn, + _governance, + _registry, + overrides || {} + ); + } + deploy(_torn, _governance, _registry, overrides) { + return super.deploy( + _torn, + _governance, + _registry, + overrides || {} + ); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new ethers.Interface(_abi$L); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$L, runner); + } +} +TestnetFeeManager__factory.bytecode = _bytecode$q; +TestnetFeeManager__factory.abi = _abi$L; + +const _abi$K = [ + { + inputs: [ + { + internalType: "address", + name: "_logic", + type: "address" + }, + { + internalType: "bytes", + name: "_data", + type: "bytes" + } + ], + stateMutability: "payable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "previousAdmin", + type: "address" + }, + { + indexed: false, + internalType: "address", + name: "newAdmin", + type: "address" + } + ], + name: "AdminChanged", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "implementation", + type: "address" + } + ], + name: "Upgraded", + type: "event" + }, + { + stateMutability: "payable", + type: "fallback" + }, + { + inputs: [], + name: "admin", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "bytes", + name: "data", + type: "bytes" + } + ], + name: "callToOwner", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "newAdmin", + type: "address" + } + ], + name: "changeAdmin", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "newOwner", + type: "address" + } + ], + name: "changeOwner", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "bytes", + name: "data", + type: "bytes" + } + ], + name: "delegateToOwner", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [], + name: "getCurrentOwner", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "implementation", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "newImplementation", + type: "address" + } + ], + name: "upgradeTo", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "newImplementation", + type: "address" + }, + { + internalType: "bytes", + name: "data", + type: "bytes" + } + ], + name: "upgradeToAndCall", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "newImplementation", + type: "address" + } + ], + name: "upgradeToOwner", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + stateMutability: "payable", + type: "receive" + } +]; +const _bytecode$p = "0x608060405260405162000e6038038062000e60833981810160405260408110156200002957600080fd5b8151602083018051604051929492938301929190846401000000008211156200005157600080fd5b9083019060208201858111156200006757600080fd5b82516401000000008111828201881017156200008257600080fd5b82525081516020918201929091019080838360005b83811015620000b157818101518382015260200162000097565b50505050905090810190601f168015620000df5780820380516001836020036101000a031916815260200191505b50604052508391508290508130828281620000fa82620001ef565b805115620001b8576000826001600160a01b0316826040518082805190602001908083835b60208310620001405780518252601f1990920191602091820191016200011f565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114620001a2576040519150601f19603f3d011682016040523d82523d6000602084013e620001a7565b606091505b5050905080620001b657600080fd5b505b50620001c19050565b620001cc8262000266565b5050505050620001e7336200028a60201b620008ab1760201c565b505062000301565b6200020581620002b660201b620008d51760201c565b620002425760405162461bcd60e51b815260040180806020018281038252603681526020018062000e2a6036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b8062000295620002bc565b80546001600160a01b0319166001600160a01b039290921691909117905550565b3b151590565b604080517fb4d03667d60278cc15e9a68fa7679dc39ebe71350c4566a2c23c26580da4e0b3602080830191909152825180830382018152918301909252805191012090565b610b1980620003116000396000f3fe6080604052600436106100955760003560e01c80635c60da1b116100595780635c60da1b146102fe5780638f2839701461032f578063a18a186b14610362578063a6f9dae114610377578063f851a440146103aa576100a4565b806323711ab1146100ac57806323c735f1146101625780632e44e0e0146101955780633659cfe61461024b5780634f1ef2861461027e576100a4565b366100a4576100a26103bf565b005b6100a26103bf565b6100a2600480360360408110156100c257600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100ed57600080fd5b8201836020820111156100ff57600080fd5b8035906020019184600183028401116401000000008311171561012157600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506103d9945050505050565b34801561016e57600080fd5b506100a26004803603602081101561018557600080fd5b50356001600160a01b03166104e7565b6100a2600480360360408110156101ab57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156101d657600080fd5b8201836020820111156101e857600080fd5b8035906020019184600183028401116401000000008311171561020a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610546945050505050565b34801561025757600080fd5b506100a26004803603602081101561026e57600080fd5b50356001600160a01b031661063a565b6100a26004803603604081101561029457600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156102bf57600080fd5b8201836020820111156102d157600080fd5b803590602001918460018302840111640100000000831117156102f357600080fd5b509092509050610671565b34801561030a57600080fd5b5061031361071e565b604080516001600160a01b039092168252519081900360200190f35b34801561033b57600080fd5b506100a26004803603602081101561035257600080fd5b50356001600160a01b031661075b565b34801561036e57600080fd5b50610313610815565b34801561038357600080fd5b506100a26004803603602081101561039a57600080fd5b50356001600160a01b0316610824565b3480156103b657600080fd5b50610313610880565b6103c76103d7565b6103d76103d26108db565b610900565b565b336103e2610924565b6001600160a01b03161461042c576040805162461bcd60e51b815260206004820152600c60248201526b2737ba1030b71037bbb732b960a11b604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b6020831061046a5780518252601f19909201916020918201910161044b565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146104ca576040519150601f19603f3d011682016040523d82523d6000602084013e6104cf565b606091505b5091509150816104e157805181602001fd5b50505050565b336104f0610924565b6001600160a01b03161461053a576040805162461bcd60e51b815260206004820152600c60248201526b2737ba1030b71037bbb732b960a11b604482015290519081900360640190fd5b6105438161093d565b50565b3361054f610924565b6001600160a01b031614610599576040805162461bcd60e51b815260206004820152600c60248201526b2737ba1030b71037bbb732b960a11b604482015290519081900360640190fd5b60006060836001600160a01b031634846040518082805190602001908083835b602083106105d85780518252601f1990920191602091820191016105b9565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146104ca576040519150601f19603f3d011682016040523d82523d6000602084013e6104cf565b61064261097d565b6001600160a01b0316336001600160a01b03161415610669576106648161093d565b610543565b6105436103bf565b61067961097d565b6001600160a01b0316336001600160a01b031614156107115761069b8361093d565b6000836001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d80600081146106f8576040519150601f19603f3d011682016040523d82523d6000602084013e6106fd565b606091505b505090508061070b57600080fd5b50610719565b6107196103bf565b505050565b600061072861097d565b6001600160a01b0316336001600160a01b03161415610750576107496108db565b9050610758565b6107586103bf565b90565b61076361097d565b6001600160a01b0316336001600160a01b03161415610669576001600160a01b0381166107c15760405162461bcd60e51b815260040180806020018281038252603a815260200180610a74603a913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6107ea61097d565b604080516001600160a01b03928316815291841660208301528051918290030190a1610664816109a2565b600061081f610924565b905090565b3361082d610924565b6001600160a01b031614610877576040805162461bcd60e51b815260206004820152600c60248201526b2737ba1030b71037bbb732b960a11b604482015290519081900360640190fd5b610543816108ab565b600061088a61097d565b6001600160a01b0316336001600160a01b031614156107505761074961097d565b806108b46109c6565b80546001600160a01b0319166001600160a01b039290921691909117905550565b3b151590565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e80801561091f573d6000f35b3d6000fd5b600061092e6109c6565b546001600160a01b0316919050565b61094681610a0b565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b604080517fb4d03667d60278cc15e9a68fa7679dc39ebe71350c4566a2c23c26580da4e0b3602080830191909152825180830382018152918301909252805191012090565b610a14816108d5565b610a4f5760405162461bcd60e51b8152600401808060200182810382526036815260200180610aae6036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5556fe5472616e73706172656e745570677261646561626c6550726f78793a206e65772061646d696e20697320746865207a65726f20616464726573735570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374a2646970667358221220486b8f46c84e133fdcdf09d6e85ae28603a923477471dc965d4d7f5f3634234c64736f6c634300060c00335570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374"; +const isSuperArgs$p = (xs) => xs.length > 1; +class TestnetGovernanceProxy__factory extends ethers.ContractFactory { + constructor(...args) { + if (isSuperArgs$p(args)) { + super(...args); + } else { + super(_abi$K, _bytecode$p, args[0]); + } + } + getDeployTransaction(_logic, _data, overrides) { + return super.getDeployTransaction(_logic, _data, overrides || {}); + } + deploy(_logic, _data, overrides) { + return super.deploy(_logic, _data, overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new ethers.Interface(_abi$K); + } + static connect(address, runner) { + return new ethers.Contract( + address, + _abi$K, + runner + ); + } +} +TestnetGovernanceProxy__factory.bytecode = _bytecode$p; +TestnetGovernanceProxy__factory.abi = _abi$K; + +var index$r = /*#__PURE__*/Object.freeze({ + __proto__: null, + TestnetAdminProxy__factory: TestnetAdminProxy__factory, + TestnetFeeManager__factory: TestnetFeeManager__factory, + TestnetGovernanceProxy__factory: TestnetGovernanceProxy__factory +}); + +const _abi$J = [ + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "lockedBalance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "userVault", + outputs: [ + { + internalType: "contract ITornadoVault", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + } +]; +class ITornadoGovernance__factory { + static createInterface() { + return new ethers.Interface(_abi$J); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$J, runner); + } +} +ITornadoGovernance__factory.abi = _abi$J; + +const _abi$I = [ + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "withdrawTorn", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; +let ITornadoVault__factory$1 = class ITornadoVault__factory { + static createInterface() { + return new ethers.Interface(_abi$I); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$I, runner); + } +}; +ITornadoVault__factory$1.abi = _abi$I; + +const _abi$H = [ + { + inputs: [ + { + internalType: "address", + name: "governanceAddress", + type: "address" + }, + { + internalType: "address", + name: "tornAddress", + type: "address" + }, + { + internalType: "address", + name: "_relayerRegistry", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "rewardsClaimed", + type: "uint256" + } + ], + name: "RewardsClaimed", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "rewards", + type: "uint256" + } + ], + name: "RewardsUpdated", + type: "event" + }, + { + inputs: [], + name: "Governance", + outputs: [ + { + internalType: "contract ITornadoGovernance", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "accumulatedRewardPerTorn", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "accumulatedRewardRateOnLastUpdate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "accumulatedRewards", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "addBurnRewards", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "checkReward", + outputs: [ + { + internalType: "uint256", + name: "rewards", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "getReward", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "ratioConstant", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "relayerRegistry", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "torn", + outputs: [ + { + internalType: "contract IERC20", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + }, + { + internalType: "uint256", + name: "amountLockedBeforehand", + type: "uint256" + } + ], + name: "updateRewardsOnLockedBalanceChange", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "withdrawTorn", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; +const _bytecode$o = "0x6101006040523480156200001257600080fd5b506040516200114d3803806200114d8339810160408190526200003591620000e0565b6001600160601b0319606084811b821660a05283811b821660c05282901b1660e052604080516318160ddd60e01b815290516001600160a01b038416916318160ddd916004808301926020929190829003018186803b1580156200009857600080fd5b505afa158015620000ad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000d3919062000133565b6080525062000165915050565b600080600060608486031215620000f5578283fd5b835162000102816200014c565b602085015190935062000115816200014c565b604085015190925062000128816200014c565b809150509250925092565b60006020828403121562000145578081fd5b5051919050565b6001600160a01b03811681146200016257600080fd5b50565b60805160a05160601c60c05160601c60e05160601c610f5e620001ef600039806101bd52806104c852508061020c5280610453528061054652806107b0528061084552508061018b528061023b528061037d5280610522528061056d52806106b75280610752528061086752508061033c52806104fe528061063152806109635250610f5e6000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c8063adf898a411610071578063adf898a414610124578063c3c90e641461012c578063d7ada20d1461013f578063e0d3265214610152578063e113335f1461015a578063f58073b11461016d576100b4565b8063338610af146100b95780633d18b912146100ce57806347ff589d146100d657806373f273fc146100f457806380a1204114610114578063945391121461011c575b600080fd5b6100cc6100c7366004610ce6565b610180565b005b6100cc610375565b6100de6104c6565b6040516100eb9190610d32565b60405180910390f35b610107610102366004610c63565b6104ea565b6040516100eb9190610eda565b6101076104fc565b6100de610520565b6100de610544565b61010761013a366004610c63565b610568565b61010761014d366004610c63565b610694565b6101076106a6565b6100cc610168366004610c7f565b6106ac565b6100cc61017b366004610ce6565b610747565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806101df5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6102045760405162461bcd60e51b81526004016101fb90610e33565b60405180910390fd5b61036f6103667f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a082317f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639daafec76040518163ffffffff1660e01b815260040160206040518083038186803b15801561029257600080fd5b505afa1580156102a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102ca9190610cca565b6040518263ffffffff1660e01b81526004016102e69190610d32565b60206040518083038186803b1580156102fe57600080fd5b505afa158015610312573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103369190610cfe565b610360847f000000000000000000000000000000000000000000000000000000000000000061088f565b906108d2565b60015490610914565b60015550565b600061041c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639ae697bf336040518263ffffffff1660e01b81526004016103c79190610d32565b60206040518083038186803b1580156103df57600080fd5b505afa1580156103f3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104179190610cfe565b610939565b3360009081526003602052604090205490915061043a908290610914565b33600081815260036020526040812055909150610482907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690836109f3565b336001600160a01b03167ffc30cddea38e2bf4d6ea7d3f9ed3b6ad7f176419f4963bd81318067a4aee73fe826040516104bb9190610eda565b60405180910390a250565b7f000000000000000000000000000000000000000000000000000000000000000081565b60036020526000908152604090205481565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639ae697bf846040518263ffffffff1660e01b81526004016105b79190610d32565b60206040518083038186803b1580156105cf57600080fd5b505afa1580156105e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106079190610cfe565b90508015610669576001600160a01b038316600090815260026020526040902054600154610666917f00000000000000000000000000000000000000000000000000000000000000009161036091859161066091610a4e565b9061088f565b91505b6001600160a01b03831660009081526003602052604090205461068d908390610914565b9392505050565b60026020526000908152604090205481565b60015481565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106f45760405162461bcd60e51b81526004016101fb90610dc9565b60006107008383610939565b6001600160a01b0384166000908152600360205260409020549091506107269082610914565b6001600160a01b039093166000908152600360205260409020929092555050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461078f5760405162461bcd60e51b81526004016101fb90610dc9565b600019811415610838576040516370a0823160e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a08231906107e5903090600401610d32565b60206040518083038186803b1580156107fd57600080fd5b505afa158015610811573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108359190610cfe565b90505b61088c6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f0000000000000000000000000000000000000000000000000000000000000000836109f3565b50565b60008261089e575060006108cc565b828202828482816108ab57fe5b04146108c95760405162461bcd60e51b81526004016101fb90610df2565b90505b92915050565b60006108c983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610a90565b6000828201838110156108c95760405162461bcd60e51b81526004016101fb90610d92565b60008115610995576001600160a01b038316600090815260026020526040902054600154610992917f00000000000000000000000000000000000000000000000000000000000000009161036091869161066091610a4e565b90505b6001546001600160a01b038416600081815260026020526040908190209290925590517f39fe62076cf7adf3c60e355a2da5a4f17a958ca319e8eba385a6c09a8b649016906109e5908490610eda565b60405180910390a292915050565b610a498363a9059cbb60e01b8484604051602401610a12929190610d46565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610ac7565b505050565b60006108c983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610b56565b60008183610ab15760405162461bcd60e51b81526004016101fb9190610d5f565b506000838581610abd57fe5b0495945050505050565b6060610b1c826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610b829092919063ffffffff16565b805190915015610a495780806020019051810190610b3a9190610caa565b610a495760405162461bcd60e51b81526004016101fb90610e90565b60008184841115610b7a5760405162461bcd60e51b81526004016101fb9190610d5f565b505050900390565b6060610b918484600085610b99565b949350505050565b6060610ba485610c5d565b610bc05760405162461bcd60e51b81526004016101fb90610e59565b60006060866001600160a01b03168587604051610bdd9190610d16565b60006040518083038185875af1925050503d8060008114610c1a576040519150601f19603f3d011682016040523d82523d6000602084013e610c1f565b606091505b50915091508115610c33579150610b919050565b805115610c435780518082602001fd5b8360405162461bcd60e51b81526004016101fb9190610d5f565b3b151590565b600060208284031215610c74578081fd5b81356108c981610f13565b60008060408385031215610c91578081fd5b8235610c9c81610f13565b946020939093013593505050565b600060208284031215610cbb578081fd5b815180151581146108c9578182fd5b600060208284031215610cdb578081fd5b81516108c981610f13565b600060208284031215610cf7578081fd5b5035919050565b600060208284031215610d0f578081fd5b5051919050565b60008251610d28818460208701610ee3565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6000602082528251806020840152610d7e816040850160208701610ee3565b601f01601f19169190910160400192915050565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252600f908201526e6f6e6c7920676f7665726e616e636560881b604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252600c908201526b1d5b985d5d1a1bdc9a5e995960a21b604082015260600190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b90815260200190565b60005b83811015610efe578181015183820152602001610ee6565b83811115610f0d576000848401525b50505050565b6001600160a01b038116811461088c57600080fdfea26469706673582212205243f8df41704c99bb0876cbda927f702de9dce11a8394f252f0e4abd7d2778364736f6c634300060c0033"; +const isSuperArgs$o = (xs) => xs.length > 1; +class TornadoStakingRewards__factory extends ethers.ContractFactory { + constructor(...args) { + if (isSuperArgs$o(args)) { + super(...args); + } else { + super(_abi$H, _bytecode$o, args[0]); + } + } + getDeployTransaction(governanceAddress, tornAddress, _relayerRegistry, overrides) { + return super.getDeployTransaction( + governanceAddress, + tornAddress, + _relayerRegistry, + overrides || {} + ); + } + deploy(governanceAddress, tornAddress, _relayerRegistry, overrides) { + return super.deploy( + governanceAddress, + tornAddress, + _relayerRegistry, + overrides || {} + ); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new ethers.Interface(_abi$H); + } + static connect(address, runner) { + return new ethers.Contract( + address, + _abi$H, + runner + ); + } +} +TornadoStakingRewards__factory.bytecode = _bytecode$o; +TornadoStakingRewards__factory.abi = _abi$H; + +var index$q = /*#__PURE__*/Object.freeze({ + __proto__: null, + ITornadoGovernance__factory: ITornadoGovernance__factory, + ITornadoVault__factory: ITornadoVault__factory$1, + TornadoStakingRewards__factory: TornadoStakingRewards__factory +}); + +const _abi$G = [ + { + inputs: [ + { + internalType: "int24", + name: "tickLower", + type: "int24" + }, + { + internalType: "int24", + name: "tickUpper", + type: "int24" + }, + { + internalType: "uint128", + name: "amount", + type: "uint128" + } + ], + name: "burn", + outputs: [ + { + internalType: "uint256", + name: "amount0", + type: "uint256" + }, + { + internalType: "uint256", + name: "amount1", + type: "uint256" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "int24", + name: "tickLower", + type: "int24" + }, + { + internalType: "int24", + name: "tickUpper", + type: "int24" + }, + { + internalType: "uint128", + name: "amount0Requested", + type: "uint128" + }, + { + internalType: "uint128", + name: "amount1Requested", + type: "uint128" + } + ], + name: "collect", + outputs: [ + { + internalType: "uint128", + name: "amount0", + type: "uint128" + }, + { + internalType: "uint128", + name: "amount1", + type: "uint128" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount0", + type: "uint256" + }, + { + internalType: "uint256", + name: "amount1", + type: "uint256" + }, + { + internalType: "bytes", + name: "data", + type: "bytes" + } + ], + name: "flash", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint16", + name: "observationCardinalityNext", + type: "uint16" + } + ], + name: "increaseObservationCardinalityNext", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint160", + name: "sqrtPriceX96", + type: "uint160" + } + ], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "int24", + name: "tickLower", + type: "int24" + }, + { + internalType: "int24", + name: "tickUpper", + type: "int24" + }, + { + internalType: "uint128", + name: "amount", + type: "uint128" + }, + { + internalType: "bytes", + name: "data", + type: "bytes" + } + ], + name: "mint", + outputs: [ + { + internalType: "uint256", + name: "amount0", + type: "uint256" + }, + { + internalType: "uint256", + name: "amount1", + type: "uint256" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "bool", + name: "zeroForOne", + type: "bool" + }, + { + internalType: "int256", + name: "amountSpecified", + type: "int256" + }, + { + internalType: "uint160", + name: "sqrtPriceLimitX96", + type: "uint160" + }, + { + internalType: "bytes", + name: "data", + type: "bytes" + } + ], + name: "swap", + outputs: [ + { + internalType: "int256", + name: "amount0", + type: "int256" + }, + { + internalType: "int256", + name: "amount1", + type: "int256" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; +class IUniswapV3PoolActions__factory { + static createInterface() { + return new ethers.Interface(_abi$G); + } + static connect(address, runner) { + return new ethers.Contract( + address, + _abi$G, + runner + ); + } +} +IUniswapV3PoolActions__factory.abi = _abi$G; + +const _abi$F = [ + { + inputs: [ + { + internalType: "uint32[]", + name: "secondsAgos", + type: "uint32[]" + } + ], + name: "observe", + outputs: [ + { + internalType: "int56[]", + name: "tickCumulatives", + type: "int56[]" + }, + { + internalType: "uint160[]", + name: "secondsPerLiquidityCumulativeX128s", + type: "uint160[]" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "int24", + name: "tickLower", + type: "int24" + }, + { + internalType: "int24", + name: "tickUpper", + type: "int24" + } + ], + name: "snapshotCumulativesInside", + outputs: [ + { + internalType: "int56", + name: "tickCumulativeInside", + type: "int56" + }, + { + internalType: "uint160", + name: "secondsPerLiquidityInsideX128", + type: "uint160" + }, + { + internalType: "uint32", + name: "secondsInside", + type: "uint32" + } + ], + stateMutability: "view", + type: "function" + } +]; +class IUniswapV3PoolDerivedState__factory { + static createInterface() { + return new ethers.Interface(_abi$F); + } + static connect(address, runner) { + return new ethers.Contract( + address, + _abi$F, + runner + ); + } +} +IUniswapV3PoolDerivedState__factory.abi = _abi$F; + +const _abi$E = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "int24", + name: "tickLower", + type: "int24" + }, + { + indexed: true, + internalType: "int24", + name: "tickUpper", + type: "int24" + }, + { + indexed: false, + internalType: "uint128", + name: "amount", + type: "uint128" + }, + { + indexed: false, + internalType: "uint256", + name: "amount0", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "amount1", + type: "uint256" + } + ], + name: "Burn", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: false, + internalType: "address", + name: "recipient", + type: "address" + }, + { + indexed: true, + internalType: "int24", + name: "tickLower", + type: "int24" + }, + { + indexed: true, + internalType: "int24", + name: "tickUpper", + type: "int24" + }, + { + indexed: false, + internalType: "uint128", + name: "amount0", + type: "uint128" + }, + { + indexed: false, + internalType: "uint128", + name: "amount1", + type: "uint128" + } + ], + name: "Collect", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "recipient", + type: "address" + }, + { + indexed: false, + internalType: "uint128", + name: "amount0", + type: "uint128" + }, + { + indexed: false, + internalType: "uint128", + name: "amount1", + type: "uint128" + } + ], + name: "CollectProtocol", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "recipient", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "amount0", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "amount1", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "paid0", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "paid1", + type: "uint256" + } + ], + name: "Flash", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint16", + name: "observationCardinalityNextOld", + type: "uint16" + }, + { + indexed: false, + internalType: "uint16", + name: "observationCardinalityNextNew", + type: "uint16" + } + ], + name: "IncreaseObservationCardinalityNext", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint160", + name: "sqrtPriceX96", + type: "uint160" + }, + { + indexed: false, + internalType: "int24", + name: "tick", + type: "int24" + } + ], + name: "Initialize", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "sender", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "int24", + name: "tickLower", + type: "int24" + }, + { + indexed: true, + internalType: "int24", + name: "tickUpper", + type: "int24" + }, + { + indexed: false, + internalType: "uint128", + name: "amount", + type: "uint128" + }, + { + indexed: false, + internalType: "uint256", + name: "amount0", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "amount1", + type: "uint256" + } + ], + name: "Mint", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint8", + name: "feeProtocol0Old", + type: "uint8" + }, + { + indexed: false, + internalType: "uint8", + name: "feeProtocol1Old", + type: "uint8" + }, + { + indexed: false, + internalType: "uint8", + name: "feeProtocol0New", + type: "uint8" + }, + { + indexed: false, + internalType: "uint8", + name: "feeProtocol1New", + type: "uint8" + } + ], + name: "SetFeeProtocol", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "recipient", + type: "address" + }, + { + indexed: false, + internalType: "int256", + name: "amount0", + type: "int256" + }, + { + indexed: false, + internalType: "int256", + name: "amount1", + type: "int256" + }, + { + indexed: false, + internalType: "uint160", + name: "sqrtPriceX96", + type: "uint160" + }, + { + indexed: false, + internalType: "uint128", + name: "liquidity", + type: "uint128" + }, + { + indexed: false, + internalType: "int24", + name: "tick", + type: "int24" + } + ], + name: "Swap", + type: "event" + } +]; +class IUniswapV3PoolEvents__factory { + static createInterface() { + return new ethers.Interface(_abi$E); + } + static connect(address, runner) { + return new ethers.Contract( + address, + _abi$E, + runner + ); + } +} +IUniswapV3PoolEvents__factory.abi = _abi$E; + +const _abi$D = [ + { + inputs: [], + name: "factory", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "fee", + outputs: [ + { + internalType: "uint24", + name: "", + type: "uint24" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "maxLiquidityPerTick", + outputs: [ + { + internalType: "uint128", + name: "", + type: "uint128" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "tickSpacing", + outputs: [ + { + internalType: "int24", + name: "", + type: "int24" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "token0", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "token1", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + } +]; +class IUniswapV3PoolImmutables__factory { + static createInterface() { + return new ethers.Interface(_abi$D); + } + static connect(address, runner) { + return new ethers.Contract( + address, + _abi$D, + runner + ); + } +} +IUniswapV3PoolImmutables__factory.abi = _abi$D; + +const _abi$C = [ + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint128", + name: "amount0Requested", + type: "uint128" + }, + { + internalType: "uint128", + name: "amount1Requested", + type: "uint128" + } + ], + name: "collectProtocol", + outputs: [ + { + internalType: "uint128", + name: "amount0", + type: "uint128" + }, + { + internalType: "uint128", + name: "amount1", + type: "uint128" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint8", + name: "feeProtocol0", + type: "uint8" + }, + { + internalType: "uint8", + name: "feeProtocol1", + type: "uint8" + } + ], + name: "setFeeProtocol", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; +class IUniswapV3PoolOwnerActions__factory { + static createInterface() { + return new ethers.Interface(_abi$C); + } + static connect(address, runner) { + return new ethers.Contract( + address, + _abi$C, + runner + ); + } +} +IUniswapV3PoolOwnerActions__factory.abi = _abi$C; + +const _abi$B = [ + { + inputs: [], + name: "feeGrowthGlobal0X128", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "feeGrowthGlobal1X128", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "liquidity", + outputs: [ + { + internalType: "uint128", + name: "", + type: "uint128" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "index", + type: "uint256" + } + ], + name: "observations", + outputs: [ + { + internalType: "uint32", + name: "blockTimestamp", + type: "uint32" + }, + { + internalType: "int56", + name: "tickCumulative", + type: "int56" + }, + { + internalType: "uint160", + name: "secondsPerLiquidityCumulativeX128", + type: "uint160" + }, + { + internalType: "bool", + name: "initialized", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "key", + type: "bytes32" + } + ], + name: "positions", + outputs: [ + { + internalType: "uint128", + name: "_liquidity", + type: "uint128" + }, + { + internalType: "uint256", + name: "feeGrowthInside0LastX128", + type: "uint256" + }, + { + internalType: "uint256", + name: "feeGrowthInside1LastX128", + type: "uint256" + }, + { + internalType: "uint128", + name: "tokensOwed0", + type: "uint128" + }, + { + internalType: "uint128", + name: "tokensOwed1", + type: "uint128" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "protocolFees", + outputs: [ + { + internalType: "uint128", + name: "token0", + type: "uint128" + }, + { + internalType: "uint128", + name: "token1", + type: "uint128" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "slot0", + outputs: [ + { + internalType: "uint160", + name: "sqrtPriceX96", + type: "uint160" + }, + { + internalType: "int24", + name: "tick", + type: "int24" + }, + { + internalType: "uint16", + name: "observationIndex", + type: "uint16" + }, + { + internalType: "uint16", + name: "observationCardinality", + type: "uint16" + }, + { + internalType: "uint16", + name: "observationCardinalityNext", + type: "uint16" + }, + { + internalType: "uint8", + name: "feeProtocol", + type: "uint8" + }, + { + internalType: "bool", + name: "unlocked", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "int16", + name: "wordPosition", + type: "int16" + } + ], + name: "tickBitmap", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "int24", + name: "tick", + type: "int24" + } + ], + name: "ticks", + outputs: [ + { + internalType: "uint128", + name: "liquidityGross", + type: "uint128" + }, + { + internalType: "int128", + name: "liquidityNet", + type: "int128" + }, + { + internalType: "uint256", + name: "feeGrowthOutside0X128", + type: "uint256" + }, + { + internalType: "uint256", + name: "feeGrowthOutside1X128", + type: "uint256" + }, + { + internalType: "int56", + name: "tickCumulativeOutside", + type: "int56" + }, + { + internalType: "uint160", + name: "secondsPerLiquidityOutsideX128", + type: "uint160" + }, + { + internalType: "uint32", + name: "secondsOutside", + type: "uint32" + }, + { + internalType: "bool", + name: "initialized", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + } +]; +class IUniswapV3PoolState__factory { + static createInterface() { + return new ethers.Interface(_abi$B); + } + static connect(address, runner) { + return new ethers.Contract( + address, + _abi$B, + runner + ); + } +} +IUniswapV3PoolState__factory.abi = _abi$B; + +var index$p = /*#__PURE__*/Object.freeze({ + __proto__: null, + IUniswapV3PoolActions__factory: IUniswapV3PoolActions__factory, + IUniswapV3PoolDerivedState__factory: IUniswapV3PoolDerivedState__factory, + IUniswapV3PoolEvents__factory: IUniswapV3PoolEvents__factory, + IUniswapV3PoolImmutables__factory: IUniswapV3PoolImmutables__factory, + IUniswapV3PoolOwnerActions__factory: IUniswapV3PoolOwnerActions__factory, + IUniswapV3PoolState__factory: IUniswapV3PoolState__factory +}); + +const _abi$A = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint24", + name: "fee", + type: "uint24" + }, + { + indexed: true, + internalType: "int24", + name: "tickSpacing", + type: "int24" + } + ], + name: "FeeAmountEnabled", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "oldOwner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "newOwner", + type: "address" + } + ], + name: "OwnerChanged", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "token0", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "token1", + type: "address" + }, + { + indexed: true, + internalType: "uint24", + name: "fee", + type: "uint24" + }, + { + indexed: false, + internalType: "int24", + name: "tickSpacing", + type: "int24" + }, + { + indexed: false, + internalType: "address", + name: "pool", + type: "address" + } + ], + name: "PoolCreated", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "tokenA", + type: "address" + }, + { + internalType: "address", + name: "tokenB", + type: "address" + }, + { + internalType: "uint24", + name: "fee", + type: "uint24" + } + ], + name: "createPool", + outputs: [ + { + internalType: "address", + name: "pool", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint24", + name: "fee", + type: "uint24" + }, + { + internalType: "int24", + name: "tickSpacing", + type: "int24" + } + ], + name: "enableFeeAmount", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint24", + name: "fee", + type: "uint24" + } + ], + name: "feeAmountTickSpacing", + outputs: [ + { + internalType: "int24", + name: "", + type: "int24" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "tokenA", + type: "address" + }, + { + internalType: "address", + name: "tokenB", + type: "address" + }, + { + internalType: "uint24", + name: "fee", + type: "uint24" + } + ], + name: "getPool", + outputs: [ + { + internalType: "address", + name: "pool", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_owner", + type: "address" + } + ], + name: "setOwner", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; +class IUniswapV3Factory__factory { + static createInterface() { + return new ethers.Interface(_abi$A); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$A, runner); + } +} +IUniswapV3Factory__factory.abi = _abi$A; + +const _abi$z = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "int24", + name: "tickLower", + type: "int24" + }, + { + indexed: true, + internalType: "int24", + name: "tickUpper", + type: "int24" + }, + { + indexed: false, + internalType: "uint128", + name: "amount", + type: "uint128" + }, + { + indexed: false, + internalType: "uint256", + name: "amount0", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "amount1", + type: "uint256" + } + ], + name: "Burn", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: false, + internalType: "address", + name: "recipient", + type: "address" + }, + { + indexed: true, + internalType: "int24", + name: "tickLower", + type: "int24" + }, + { + indexed: true, + internalType: "int24", + name: "tickUpper", + type: "int24" + }, + { + indexed: false, + internalType: "uint128", + name: "amount0", + type: "uint128" + }, + { + indexed: false, + internalType: "uint128", + name: "amount1", + type: "uint128" + } + ], + name: "Collect", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "recipient", + type: "address" + }, + { + indexed: false, + internalType: "uint128", + name: "amount0", + type: "uint128" + }, + { + indexed: false, + internalType: "uint128", + name: "amount1", + type: "uint128" + } + ], + name: "CollectProtocol", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "recipient", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "amount0", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "amount1", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "paid0", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "paid1", + type: "uint256" + } + ], + name: "Flash", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint16", + name: "observationCardinalityNextOld", + type: "uint16" + }, + { + indexed: false, + internalType: "uint16", + name: "observationCardinalityNextNew", + type: "uint16" + } + ], + name: "IncreaseObservationCardinalityNext", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint160", + name: "sqrtPriceX96", + type: "uint160" + }, + { + indexed: false, + internalType: "int24", + name: "tick", + type: "int24" + } + ], + name: "Initialize", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "sender", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "int24", + name: "tickLower", + type: "int24" + }, + { + indexed: true, + internalType: "int24", + name: "tickUpper", + type: "int24" + }, + { + indexed: false, + internalType: "uint128", + name: "amount", + type: "uint128" + }, + { + indexed: false, + internalType: "uint256", + name: "amount0", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "amount1", + type: "uint256" + } + ], + name: "Mint", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint8", + name: "feeProtocol0Old", + type: "uint8" + }, + { + indexed: false, + internalType: "uint8", + name: "feeProtocol1Old", + type: "uint8" + }, + { + indexed: false, + internalType: "uint8", + name: "feeProtocol0New", + type: "uint8" + }, + { + indexed: false, + internalType: "uint8", + name: "feeProtocol1New", + type: "uint8" + } + ], + name: "SetFeeProtocol", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "recipient", + type: "address" + }, + { + indexed: false, + internalType: "int256", + name: "amount0", + type: "int256" + }, + { + indexed: false, + internalType: "int256", + name: "amount1", + type: "int256" + }, + { + indexed: false, + internalType: "uint160", + name: "sqrtPriceX96", + type: "uint160" + }, + { + indexed: false, + internalType: "uint128", + name: "liquidity", + type: "uint128" + }, + { + indexed: false, + internalType: "int24", + name: "tick", + type: "int24" + } + ], + name: "Swap", + type: "event" + }, + { + inputs: [ + { + internalType: "int24", + name: "tickLower", + type: "int24" + }, + { + internalType: "int24", + name: "tickUpper", + type: "int24" + }, + { + internalType: "uint128", + name: "amount", + type: "uint128" + } + ], + name: "burn", + outputs: [ + { + internalType: "uint256", + name: "amount0", + type: "uint256" + }, + { + internalType: "uint256", + name: "amount1", + type: "uint256" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "int24", + name: "tickLower", + type: "int24" + }, + { + internalType: "int24", + name: "tickUpper", + type: "int24" + }, + { + internalType: "uint128", + name: "amount0Requested", + type: "uint128" + }, + { + internalType: "uint128", + name: "amount1Requested", + type: "uint128" + } + ], + name: "collect", + outputs: [ + { + internalType: "uint128", + name: "amount0", + type: "uint128" + }, + { + internalType: "uint128", + name: "amount1", + type: "uint128" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint128", + name: "amount0Requested", + type: "uint128" + }, + { + internalType: "uint128", + name: "amount1Requested", + type: "uint128" + } + ], + name: "collectProtocol", + outputs: [ + { + internalType: "uint128", + name: "amount0", + type: "uint128" + }, + { + internalType: "uint128", + name: "amount1", + type: "uint128" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "factory", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "fee", + outputs: [ + { + internalType: "uint24", + name: "", + type: "uint24" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "feeGrowthGlobal0X128", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "feeGrowthGlobal1X128", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount0", + type: "uint256" + }, + { + internalType: "uint256", + name: "amount1", + type: "uint256" + }, + { + internalType: "bytes", + name: "data", + type: "bytes" + } + ], + name: "flash", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint16", + name: "observationCardinalityNext", + type: "uint16" + } + ], + name: "increaseObservationCardinalityNext", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint160", + name: "sqrtPriceX96", + type: "uint160" + } + ], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "liquidity", + outputs: [ + { + internalType: "uint128", + name: "", + type: "uint128" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "maxLiquidityPerTick", + outputs: [ + { + internalType: "uint128", + name: "", + type: "uint128" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "int24", + name: "tickLower", + type: "int24" + }, + { + internalType: "int24", + name: "tickUpper", + type: "int24" + }, + { + internalType: "uint128", + name: "amount", + type: "uint128" + }, + { + internalType: "bytes", + name: "data", + type: "bytes" + } + ], + name: "mint", + outputs: [ + { + internalType: "uint256", + name: "amount0", + type: "uint256" + }, + { + internalType: "uint256", + name: "amount1", + type: "uint256" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "index", + type: "uint256" + } + ], + name: "observations", + outputs: [ + { + internalType: "uint32", + name: "blockTimestamp", + type: "uint32" + }, + { + internalType: "int56", + name: "tickCumulative", + type: "int56" + }, + { + internalType: "uint160", + name: "secondsPerLiquidityCumulativeX128", + type: "uint160" + }, + { + internalType: "bool", + name: "initialized", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint32[]", + name: "secondsAgos", + type: "uint32[]" + } + ], + name: "observe", + outputs: [ + { + internalType: "int56[]", + name: "tickCumulatives", + type: "int56[]" + }, + { + internalType: "uint160[]", + name: "secondsPerLiquidityCumulativeX128s", + type: "uint160[]" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "key", + type: "bytes32" + } + ], + name: "positions", + outputs: [ + { + internalType: "uint128", + name: "_liquidity", + type: "uint128" + }, + { + internalType: "uint256", + name: "feeGrowthInside0LastX128", + type: "uint256" + }, + { + internalType: "uint256", + name: "feeGrowthInside1LastX128", + type: "uint256" + }, + { + internalType: "uint128", + name: "tokensOwed0", + type: "uint128" + }, + { + internalType: "uint128", + name: "tokensOwed1", + type: "uint128" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "protocolFees", + outputs: [ + { + internalType: "uint128", + name: "token0", + type: "uint128" + }, + { + internalType: "uint128", + name: "token1", + type: "uint128" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint8", + name: "feeProtocol0", + type: "uint8" + }, + { + internalType: "uint8", + name: "feeProtocol1", + type: "uint8" + } + ], + name: "setFeeProtocol", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "slot0", + outputs: [ + { + internalType: "uint160", + name: "sqrtPriceX96", + type: "uint160" + }, + { + internalType: "int24", + name: "tick", + type: "int24" + }, + { + internalType: "uint16", + name: "observationIndex", + type: "uint16" + }, + { + internalType: "uint16", + name: "observationCardinality", + type: "uint16" + }, + { + internalType: "uint16", + name: "observationCardinalityNext", + type: "uint16" + }, + { + internalType: "uint8", + name: "feeProtocol", + type: "uint8" + }, + { + internalType: "bool", + name: "unlocked", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "int24", + name: "tickLower", + type: "int24" + }, + { + internalType: "int24", + name: "tickUpper", + type: "int24" + } + ], + name: "snapshotCumulativesInside", + outputs: [ + { + internalType: "int56", + name: "tickCumulativeInside", + type: "int56" + }, + { + internalType: "uint160", + name: "secondsPerLiquidityInsideX128", + type: "uint160" + }, + { + internalType: "uint32", + name: "secondsInside", + type: "uint32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "bool", + name: "zeroForOne", + type: "bool" + }, + { + internalType: "int256", + name: "amountSpecified", + type: "int256" + }, + { + internalType: "uint160", + name: "sqrtPriceLimitX96", + type: "uint160" + }, + { + internalType: "bytes", + name: "data", + type: "bytes" + } + ], + name: "swap", + outputs: [ + { + internalType: "int256", + name: "amount0", + type: "int256" + }, + { + internalType: "int256", + name: "amount1", + type: "int256" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "int16", + name: "wordPosition", + type: "int16" + } + ], + name: "tickBitmap", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "tickSpacing", + outputs: [ + { + internalType: "int24", + name: "", + type: "int24" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "int24", + name: "tick", + type: "int24" + } + ], + name: "ticks", + outputs: [ + { + internalType: "uint128", + name: "liquidityGross", + type: "uint128" + }, + { + internalType: "int128", + name: "liquidityNet", + type: "int128" + }, + { + internalType: "uint256", + name: "feeGrowthOutside0X128", + type: "uint256" + }, + { + internalType: "uint256", + name: "feeGrowthOutside1X128", + type: "uint256" + }, + { + internalType: "int56", + name: "tickCumulativeOutside", + type: "int56" + }, + { + internalType: "uint160", + name: "secondsPerLiquidityOutsideX128", + type: "uint160" + }, + { + internalType: "uint32", + name: "secondsOutside", + type: "uint32" + }, + { + internalType: "bool", + name: "initialized", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "token0", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "token1", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + } +]; +class IUniswapV3Pool__factory { + static createInterface() { + return new ethers.Interface(_abi$z); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$z, runner); + } +} +IUniswapV3Pool__factory.abi = _abi$z; + +var index$o = /*#__PURE__*/Object.freeze({ + __proto__: null, + IUniswapV3Factory__factory: IUniswapV3Factory__factory, + IUniswapV3Pool__factory: IUniswapV3Pool__factory, + pool: index$p +}); + +var index$n = /*#__PURE__*/Object.freeze({ + __proto__: null, + interfaces: index$o +}); + +var index$m = /*#__PURE__*/Object.freeze({ + __proto__: null, + contracts: index$n +}); + +var index$l = /*#__PURE__*/Object.freeze({ + __proto__: null, + v3Core: index$m +}); + +const _abi$y = [ + { + inputs: [], + name: "denomination", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "commitment", + type: "bytes32" + } + ], + name: "deposit", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [], + name: "token", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes", + name: "proof", + type: "bytes" + }, + { + internalType: "bytes32", + name: "root", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "nullifierHash", + type: "bytes32" + }, + { + internalType: "address payable", + name: "recipient", + type: "address" + }, + { + internalType: "address payable", + name: "relayer", + type: "address" + }, + { + internalType: "uint256", + name: "fee", + type: "uint256" + }, + { + internalType: "uint256", + name: "refund", + type: "uint256" + } + ], + name: "withdraw", + outputs: [], + stateMutability: "payable", + type: "function" + } +]; +class ITornadoInstance__factory { + static createInterface() { + return new ethers.Interface(_abi$y); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$y, runner); + } +} +ITornadoInstance__factory.abi = _abi$y; + +var index$k = /*#__PURE__*/Object.freeze({ + __proto__: null, + ITornadoInstance__factory: ITornadoInstance__factory +}); + +const _abi$x = [ + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + } +]; +class IERC20Decimals__factory { + static createInterface() { + return new ethers.Interface(_abi$x); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$x, runner); + } +} +IERC20Decimals__factory.abi = _abi$x; + +var index$j = /*#__PURE__*/Object.freeze({ + __proto__: null, + IERC20Decimals__factory: IERC20Decimals__factory +}); + +var index$i = /*#__PURE__*/Object.freeze({ + __proto__: null, + uniswapV3OracleHelperSol: index$j +}); + +const _abi$w = [ + { + inputs: [], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "text", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "value", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + } +]; +const _bytecode$n = "0x608060405234801561001057600080fd5b50610278806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80631f1bd692146100465780633fa4f245146100c35780638129fc1c146100dd575b600080fd5b61004e6100e7565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610088578181015183820152602001610070565b50505050905090810190601f1680156100b55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6100cb610174565b60408051918252519081900360200190f35b6100e561017a565b005b60018054604080516020600284861615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561016c5780601f106101415761010080835404028352916020019161016c565b820191906000526020600020905b81548152906001019060200180831161014f57829003601f168201915b505050505081565b60005481565b600160008190556040805180820190915260058082526464756d6d7960d81b60209092019182526101ac9291906101af565b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106101f057805160ff191683800117855561021d565b8280016001018555821561021d579182015b8281111561021d578251825591602001919060010190610202565b5061022992915061022d565b5090565b5b80821115610229576000815560010161022e56fea26469706673582212204b4d54284aeff9c7c570415da4a9efb9bf7115fe94a322210f9981c1c7ae107a64736f6c634300060c0033"; +const isSuperArgs$n = (xs) => xs.length > 1; +class Dummy__factory extends ethers.ContractFactory { + constructor(...args) { + if (isSuperArgs$n(args)) { + super(...args); + } else { + super(_abi$w, _bytecode$n, args[0]); + } + } + getDeployTransaction(overrides) { + return super.getDeployTransaction(overrides || {}); + } + deploy(overrides) { + return super.deploy(overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new ethers.Interface(_abi$w); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$w, runner); + } +} +Dummy__factory.bytecode = _bytecode$n; +Dummy__factory.abi = _abi$w; + +const _abi$v = [ + { + inputs: [], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "text", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "value", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + } +]; +const _bytecode$m = "0x608060405234801561001057600080fd5b50610278806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80631f1bd692146100465780633fa4f245146100c35780638129fc1c146100dd575b600080fd5b61004e6100e7565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610088578181015183820152602001610070565b50505050905090810190601f1680156100b55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6100cb610174565b60408051918252519081900360200190f35b6100e561017a565b005b60018054604080516020600284861615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561016c5780601f106101415761010080835404028352916020019161016c565b820191906000526020600020905b81548152906001019060200180831161014f57829003601f168201915b505050505081565b60005481565b600260005560408051808201909152600680825265323ab6b6bc9960d11b60209092019182526101ac916001916101af565b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106101f057805160ff191683800117855561021d565b8280016001018555821561021d579182015b8281111561021d578251825591602001919060010190610202565b5061022992915061022d565b5090565b5b80821115610229576000815560010161022e56fea2646970667358221220056d994e19772e421a19f4bcf8cb09061d5645867c4c352106bf6b809fb5de3664736f6c634300060c0033"; +const isSuperArgs$m = (xs) => xs.length > 1; +class DummySecond__factory extends ethers.ContractFactory { + constructor(...args) { + if (isSuperArgs$m(args)) { + super(...args); + } else { + super(_abi$v, _bytecode$m, args[0]); + } + } + getDeployTransaction(overrides) { + return super.getDeployTransaction(overrides || {}); + } + deploy(overrides) { + return super.deploy(overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new ethers.Interface(_abi$v); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$v, runner); + } +} +DummySecond__factory.bytecode = _bytecode$m; +DummySecond__factory.abi = _abi$v; + +var index$h = /*#__PURE__*/Object.freeze({ + __proto__: null, + DummySecond__factory: DummySecond__factory, + Dummy__factory: Dummy__factory +}); + +const _abi$u = [ + { + inputs: [ + { + internalType: "uint256", + name: "delay", + type: "uint256" + } + ], + name: "setExecutionDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; +class IGovernance__factory { + static createInterface() { + return new ethers.Interface(_abi$u); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$u, runner); + } +} +IGovernance__factory.abi = _abi$u; + +const _abi$t = [ + { + inputs: [], + name: "executeProposal", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; +const _bytecode$l = "0x608060405234801561001057600080fd5b5060c48061001f6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c8063373058b814602d575b600080fd5b60336035565b005b6040805163e4917d9f60e01b81526203f48060048201529051309163e4917d9f91602480830192600092919082900301818387803b158015607557600080fd5b505af11580156088573d6000803e3d6000fd5b5050505056fea264697066735822122080cc4a797d58ff69ba6d6a0d2a3849574ef67da2d75c41e66a86d3f6e162209d64736f6c634300060c0033"; +const isSuperArgs$l = (xs) => xs.length > 1; +class ProposalStateChangeGovernance__factory extends ethers.ContractFactory { + constructor(...args) { + if (isSuperArgs$l(args)) { + super(...args); + } else { + super(_abi$t, _bytecode$l, args[0]); + } + } + getDeployTransaction(overrides) { + return super.getDeployTransaction(overrides || {}); + } + deploy(overrides) { + return super.deploy(overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new ethers.Interface(_abi$t); + } + static connect(address, runner) { + return new ethers.Contract( + address, + _abi$t, + runner + ); + } +} +ProposalStateChangeGovernance__factory.bytecode = _bytecode$l; +ProposalStateChangeGovernance__factory.abi = _abi$t; + +var index$g = /*#__PURE__*/Object.freeze({ + __proto__: null, + IGovernance__factory: IGovernance__factory, + ProposalStateChangeGovernance__factory: ProposalStateChangeGovernance__factory +}); + +const _abi$s = [ + { + inputs: [ + { + internalType: "address", + name: "newImplementation", + type: "address" + } + ], + name: "upgradeTo", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; +class IProxy__factory { + static createInterface() { + return new ethers.Interface(_abi$s); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$s, runner); + } +} +IProxy__factory.abi = _abi$s; + +const _abi$r = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + } + ], + name: "Delegated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "x", + type: "uint256" + } + ], + name: "Overriden", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "id", + type: "uint256" + }, + { + indexed: true, + internalType: "address", + name: "proposer", + type: "address" + }, + { + indexed: false, + internalType: "address", + name: "target", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "startTime", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "endTime", + type: "uint256" + }, + { + indexed: false, + internalType: "string", + name: "description", + type: "string" + } + ], + name: "ProposalCreated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "proposalId", + type: "uint256" + } + ], + name: "ProposalExecuted", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + } + ], + name: "Undelegated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + indexed: true, + internalType: "address", + name: "voter", + type: "address" + }, + { + indexed: true, + internalType: "bool", + name: "support", + type: "bool" + }, + { + indexed: false, + internalType: "uint256", + name: "votes", + type: "uint256" + } + ], + name: "Voted", + type: "event" + }, + { + inputs: [], + name: "CLOSING_PERIOD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "EXECUTION_DELAY", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "EXECUTION_EXPIRATION", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "PROPOSAL_THRESHOLD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "QUORUM_VOTES", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "VOTE_EXTEND_TIME", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "VOTING_DELAY", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "VOTING_PERIOD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "canWithdrawAfter", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address[]", + name: "from", + type: "address[]" + }, + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + internalType: "bool", + name: "support", + type: "bool" + } + ], + name: "castDelegatedVote", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + internalType: "bool", + name: "support", + type: "bool" + } + ], + name: "castVote", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address" + } + ], + name: "delegate", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "delegatedTo", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + } + ], + name: "execute", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + internalType: "address", + name: "voter", + type: "address" + } + ], + name: "getReceipt", + outputs: [ + { + components: [ + { + internalType: "bool", + name: "hasVoted", + type: "bool" + }, + { + internalType: "bool", + name: "support", + type: "bool" + }, + { + internalType: "uint256", + name: "votes", + type: "uint256" + } + ], + internalType: "struct Governance.Receipt", + name: "", + type: "tuple" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_torn", + type: "address" + } + ], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "latestProposalIds", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256" + }, + { + internalType: "uint8", + name: "v", + type: "uint8" + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32" + } + ], + name: "lock", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "lockWithApproval", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "lockedBalance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "newVariable", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "proposalCount", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + name: "proposals", + outputs: [ + { + internalType: "address", + name: "proposer", + type: "address" + }, + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "uint256", + name: "startTime", + type: "uint256" + }, + { + internalType: "uint256", + name: "endTime", + type: "uint256" + }, + { + internalType: "uint256", + name: "forVotes", + type: "uint256" + }, + { + internalType: "uint256", + name: "againstVotes", + type: "uint256" + }, + { + internalType: "bool", + name: "executed", + type: "bool" + }, + { + internalType: "bool", + name: "extended", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "string", + name: "description", + type: "string" + } + ], + name: "propose", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address" + }, + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "string", + name: "description", + type: "string" + } + ], + name: "proposeByDelegate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "closingPeriod", + type: "uint256" + } + ], + name: "setClosingPeriod", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "executionDelay", + type: "uint256" + } + ], + name: "setExecutionDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "executionExpiration", + type: "uint256" + } + ], + name: "setExecutionExpiration", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalThreshold", + type: "uint256" + } + ], + name: "setProposalThreshold", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "quorumVotes", + type: "uint256" + } + ], + name: "setQuorumVotes", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "time_", + type: "uint256" + } + ], + name: "setTimestamp", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "torna", + type: "address" + } + ], + name: "setTorn", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "voteExtendTime", + type: "uint256" + } + ], + name: "setVoteExtendTime", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "votingDelay", + type: "uint256" + } + ], + name: "setVotingDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "votingPeriod", + type: "uint256" + } + ], + name: "setVotingPeriod", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + } + ], + name: "state", + outputs: [ + { + internalType: "enum Governance.ProposalState", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "time", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "torn", + outputs: [ + { + internalType: "contract TORN", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "undelegate", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "unlock", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; +const _bytecode$k = "0x6080604052426041553480156200001557600080fd5b50600054610100900460ff168062000032575062000032620000cd565b8062000041575060005460ff16155b620000695760405162461bcd60e51b8152600401620000609062000114565b60405180910390fd5b600054610100900460ff1615801562000095576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b03191661dead179055620000b3620000d3565b8015620000c6576000805461ff00191690555b5062000162565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b6123ac80620001726000396000f3fe60806040526004361061023b5760003560e01c8063a0a2b5731161012e578063ce25d71c116100ab578063e4917d9f1161006f578063e4917d9f14610664578063ea0217cf14610684578063ece40cc1146106a4578063f0b76892146106c4578063fe0d94c1146106e45761023b565b8063ce25d71c146105d8578063d6159fe5146105ed578063d6f0948c14610602578063da35c66414610622578063e23a9a52146106375761023b565b8063b54426c8116100f2578063b54426c814610538578063b5f6a74314610558578063b859f11b14610578578063c0c0e82014610598578063c4d66de8146105b85761023b565b8063a0a2b573146104b9578063a6c26603146104d9578063a72edda3146104ee578063adf898a41461050e578063b1610d7e146105235761023b565b80636198e339116101bc57806370b0f6601161018057806370b0f6601461042f5780638d7a72f31461044f57806392ab89bb146104645780639a9e3b6e146104795780639ae697bf146104995761023b565b80636198e3391461039857806365da1264146103b8578063671dd275146103e55780636a661755146103fa5780636dc2dc6c1461040f5761023b565b806337f135d71161020357806337f135d7146103015780633e4f49e614610316578063587a6ecb1461034357806358e9fff0146103585780635c19a95c146103785761023b565b8063013cf08b1461024057806302ec8f9e1461027d57806315373e3d1461029f57806316ada547146102bf57806317977c61146102e1575b600080fd5b34801561024c57600080fd5b5061026061025b366004611cd6565b6106f7565b604051610274989796959493929190611de5565b60405180910390f35b34801561028957600080fd5b5061029d610298366004611cd6565b61075c565b005b3480156102ab57600080fd5b5061029d6102ba366004611d1a565b610789565b3480156102cb57600080fd5b506102d4610798565b6040516102749190612323565b3480156102ed57600080fd5b506102d46102fc366004611acd565b61079e565b34801561030d57600080fd5b506102d46107b0565b34801561032257600080fd5b50610336610331366004611cd6565b6107b6565b6040516102749190611ea3565b34801561034f57600080fd5b506102d46108f9565b34801561036457600080fd5b506102d4610373366004611ae8565b6108ff565b34801561038457600080fd5b5061029d610393366004611acd565b61094d565b3480156103a457600080fd5b5061029d6103b3366004611cd6565b610a6f565b3480156103c457600080fd5b506103d86103d3366004611acd565b610ba6565b6040516102749190611d94565b3480156103f157600080fd5b506102d4610bc1565b34801561040657600080fd5b506102d4610bc7565b34801561041b57600080fd5b5061029d61042a366004611cd6565b610bcd565b34801561043b57600080fd5b5061029d61044a366004611cd6565b610c12565b34801561045b57600080fd5b506102d4610c36565b34801561047057600080fd5b5061029d610c3c565b34801561048557600080fd5b5061029d610494366004611cd6565b610cc3565b3480156104a557600080fd5b506102d46104b4366004611acd565b610ce7565b3480156104c557600080fd5b5061029d6104d4366004611cd6565b610cf9565b3480156104e557600080fd5b506102d4610cfe565b3480156104fa57600080fd5b506102d4610509366004611acd565b610d04565b34801561051a57600080fd5b506103d8610d16565b34801561052f57600080fd5b506102d4610d25565b34801561054457600080fd5b5061029d610553366004611cd6565b610d2b565b34801561056457600080fd5b5061029d610573366004611acd565b610d35565b34801561058457600080fd5b5061029d610593366004611bf5565b610d57565b3480156105a457600080fd5b5061029d6105b3366004611cd6565b610e0e565b3480156105c457600080fd5b5061029d6105d3366004611acd565b610e32565b3480156105e457600080fd5b506102d4611075565b3480156105f957600080fd5b506102d461107b565b34801561060e57600080fd5b506102d461061d366004611b48565b611081565b34801561062e57600080fd5b506102d4611097565b34801561064357600080fd5b50610657610652366004611cee565b6110a1565b60405161027491906122fe565b34801561067057600080fd5b5061029d61067f366004611cd6565b611113565b34801561069057600080fd5b5061029d61069f366004611cd6565b611137565b3480156106b057600080fd5b5061029d6106bf366004611cd6565b61115b565b3480156106d057600080fd5b5061029d6106df366004611b96565b61117f565b61029d6106f2366004611cd6565b6111ff565b603d818154811061070457fe5b600091825260209091206008909102018054600182015460028301546003840154600485015460058601546006909601546001600160a01b039586169750949093169491939092919060ff8082169161010090041688565b3330146107845760405162461bcd60e51b815260040161077b90612101565b60405180910390fd5b603555565b610794338383611240565b5050565b60415481565b603e6020526000908152604090205481565b60335481565b60006107c0611097565b82111580156107cf5750600082115b6107eb5760405162461bcd60e51b815260040161077b90612237565b6000603d83815481106107fa57fe5b906000526020600020906008020190508060020154610817611471565b116108265760009150506108f4565b8060030154610833611471565b116108425760019150506108f4565b8060050154816004015411158061086457506035548160050154826004015401105b156108735760029150506108f4565b600681015460ff161561088a5760059150506108f4565b6108af6034546108a9603354846003015461147790919063ffffffff16565b90611477565b6108b7611471565b106108c65760069150506108f4565b60335460038201546108d791611477565b6108df611471565b106108ee5760049150506108f4565b60039150505b919050565b603a5481565b6001600160a01b038381166000908152603c6020526040812054909116331461093a5760405162461bcd60e51b815260040161077b906122c7565b61094584848461149c565b949350505050565b336000818152603c60205260409020546001600160a01b03908116919083161480159061098357506001600160a01b0382163014155b801561099757506001600160a01b03821615155b80156109b55750806001600160a01b0316826001600160a01b031614155b6109d15760405162461bcd60e51b815260040161077b90612138565b6001600160a01b03811615610a17576040516001600160a01b0382169033907f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7290600090a35b336000818152603c602052604080822080546001600160a01b0319166001600160a01b03871690811790915590519092917f4bc154dd35d6a5cb9206482ecb473cdbf2473006d6bce728b9cc0741bcc59ea291a35050565b336000908152603f6020526040902054610a87611471565b11610aa45760405162461bcd60e51b815260040161077b90612064565b60408051808201825260208082527f476f7665726e616e63653a20696e73756666696369656e742062616c616e636581830152336000908152603b9091529190912054610af29183906117ea565b336000818152603b602052604090819020929092558154915163a9059cbb60e01b81526001600160a01b039092169163a9059cbb91610b35918590600401611da8565b602060405180830381600087803b158015610b4f57600080fd5b505af1158015610b63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b879190611cba565b610ba35760405162461bcd60e51b815260040161077b9061209b565b50565b603c602052600090815260409020546001600160a01b031681565b60355481565b60345481565b333014610bec5760405162461bcd60e51b815260040161077b90612101565b6033548110610c0d5760405162461bcd60e51b815260040161077b90612020565b603a55565b333014610c315760405162461bcd60e51b815260040161077b90612101565b603755565b60425481565b336000908152603c60205260409020546001600160a01b031680610c725760405162461bcd60e51b815260040161077b9061227d565b336000818152603c602052604080822080546001600160a01b0319169055516001600160a01b03841692917f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7291a350565b333014610ce25760405162461bcd60e51b815260040161077b90612101565b603455565b603b6020526000908152604090205481565b604155565b60365481565b603f6020526000908152604090205481565b6040546001600160a01b031681565b60385481565b610ba33382611816565b604080546001600160a01b0319166001600160a01b0392909216919091179055565b60005b8351811015610de857336001600160a01b0316603c6000868481518110610d7d57fe5b6020908102919091018101516001600160a01b03908116835290820192909252604001600020541614610dc25760405162461bcd60e51b815260040161077b906122c7565b610de0848281518110610dd157fe5b60200260200101518484611240565b600101610d5a565b50336000908152603b602052604090205415610e0957610e09338383611240565b505050565b333014610e2d5760405162461bcd60e51b815260040161077b90612101565b603955565b600054610100900460ff1680610e4b5750610e4b6118fb565b80610e59575060005460ff16155b610e755760405162461bcd60e51b815260040161077b906121e9565b600054610100900460ff16158015610ea0576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b038085166001600160a01b03199283161783558251610100818101855230825261dead602083019081526000958301868152606084018781526080850188815260a08601898152600160c0880181815260e089018c8152603d80549384018155909c52975160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b16928c169290921790915594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc4860180549190991699169890981790965590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc5830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc682015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc784015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc8830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990910180549351151590920261ff001991151560ff199094169390931716919091179055611060611901565b8015610794576000805461ff00191690555050565b60395481565b60375481565b600061108e33848461149c565b90505b92915050565b603d546000190190565b6110a96119c7565b603d83815481106110b657fe5b600091825260208083206001600160a01b0395909516835260089190910290930160070183526040908190208151606081018352815460ff8082161515835261010090910416151594810194909452600101549083015250919050565b3330146111325760405162461bcd60e51b815260040161077b90612101565b603355565b3330146111565760405162461bcd60e51b815260040161077b90612101565b603855565b33301461117a5760405162461bcd60e51b815260040161077b90612101565b603655565b60408054905163d505accf60e01b81526001600160a01b039091169063d505accf906111bb90899030908a908a908a908a908a90600401611e2b565b600060405180830381600087803b1580156111d557600080fd5b505af11580156111e9573d6000803e3d6000fd5b505050506111f78686611816565b505050505050565b6103e76042556040517fc22c84ebcf25b30190d2b53474def7b552efd2018ef8acaf6bed1b67e8d2be7c90611235908390612323565b60405180910390a150565b600161124b836107b6565b600681111561125657fe5b146112735760405162461bcd60e51b815260040161077b90611f45565b6000603d838154811061128257fe5b600091825260208083206001600160a01b038816845260076008909302019182018152604080842060058401546004850154603b9094529190942054929450101590806112e15760405162461bcd60e51b815260040161077b9061216f565b825460ff1615611330578254610100900460ff1615611317576001830154600485015461130d91611942565b6004850155611330565b6001830154600585015461132a91611942565b60058501555b841561134f5760048401546113459082611477565b6004850155611364565b600584015461135e9082611477565b60058501555b6006840154610100900460ff161580156113945750603954611392611387611471565b600387015490611942565b105b156113d85760058401546004850154111582151581146113d65760068501805461ff001916610100179055603a5460038601546113d091611477565b60038601555b505b8254600160ff19909116811761ff001916610100871515021784558301819055603354603454603a546003870154611423938b9361141e9391926108a992839190611477565b611984565b841515876001600160a01b0316877f7c2de587c00d75474a0c6c6fa96fd3b45dc974cd4e8a75f712bb84c950dce1b5846040516114609190612323565b60405180910390a450505050505050565b60415490565b60008282018381101561108e5760405162461bcd60e51b815260040161077b90611fe9565b6001600160a01b0383166000908152603b60205260408120546036548110156114d75760405162461bcd60e51b815260040161077b90611f8c565b6114e0846119c1565b6114fc5760405162461bcd60e51b815260040161077b906121a6565b6001600160a01b0385166000908152603e6020526040902054801561156e576000611526826107b6565b9050600181600681111561153657fe5b141580156115505750600081600681111561154d57fe5b14155b61156c5760405162461bcd60e51b815260040161077b90611eca565b505b600061157e6037546108a9611471565b905060006115976038548361147790919063ffffffff16565b90506115a16119e7565b506040805161010080820183526001600160a01b03808c1683528a8116602084019081529383018681526060840186815260006080860181815260a0870182815260c0880183815260e08901848152603d80546001810182559086528a5160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b166001600160a01b03199384161790559b517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc48d01805491909a1691161790975594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc58a015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc6890155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc788015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc887015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990950180549251151590930261ff001995151560ff19909316929092179490941617905590611753611097565b82516001600160a01b03166000908152603e60205260409020819055603354603454603a54929350611795928d9261141e9290916108a9919082908a90611477565b896001600160a01b0316817f90ec05050aa23d54ba425e926fe646c318e85825bc400b13a46010abe86eb2f08b87878d6040516117d59493929190611e6c565b60405180910390a39998505050505050505050565b6000818484111561180e5760405162461bcd60e51b815260040161077b9190611eb7565b505050900390565b6040805490516323b872dd60e01b81526001600160a01b03909116906323b872dd9061184a90859030908690600401611dc1565b602060405180830381600087803b15801561186457600080fd5b505af1158015611878573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061189c9190611cba565b6118b85760405162461bcd60e51b815260040161077b906120ca565b6001600160a01b0382166000908152603b60205260409020546118db9082611477565b6001600160a01b039092166000908152603b602052604090209190915550565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b600061108e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506117ea565b6001600160a01b0382166000908152603f6020526040902054811115610794576001600160a01b03919091166000908152603f6020526040902055565b3b151590565b604080516060810182526000808252602082018190529181019190915290565b60405180610100016040528060006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000151581526020016000151581525090565b80356001600160a01b038116811461109157600080fd5b803561109181612368565b600082601f830112611a74578081fd5b813567ffffffffffffffff811115611a8a578182fd5b611a9d601f8201601f191660200161232c565b9150808252836020828501011115611ab457600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215611ade578081fd5b61108e8383611a42565b600080600060608486031215611afc578182fd5b8335611b0781612353565b92506020840135611b1781612353565b9150604084013567ffffffffffffffff811115611b32578182fd5b611b3e86828701611a64565b9150509250925092565b60008060408385031215611b5a578182fd5b8235611b6581612353565b9150602083013567ffffffffffffffff811115611b80578182fd5b611b8c85828601611a64565b9150509250929050565b60008060008060008060c08789031215611bae578182fd5b611bb88888611a42565b95506020870135945060408701359350606087013560ff81168114611bdb578283fd5b9598949750929560808101359460a0909101359350915050565b600080600060608486031215611c09578283fd5b833567ffffffffffffffff80821115611c20578485fd5b818601915086601f830112611c33578485fd5b813581811115611c41578586fd5b60209150818102611c5383820161232c565b8281528381019085850183870186018c1015611c6d57898afd5b8996505b84871015611c9757611c838c82611a42565b835260019690960195918501918501611c71565b5097505050508501359250611cb190508560408601611a59565b90509250925092565b600060208284031215611ccb578081fd5b815161108e81612368565b600060208284031215611ce7578081fd5b5035919050565b60008060408385031215611d00578182fd5b82359150611d118460208501611a42565b90509250929050565b60008060408385031215611d2c578182fd5b823591506020830135611d3e81612368565b809150509250929050565b60008151808452815b81811015611d6e57602081850181015186830182015201611d52565b81811115611d7f5782602083870101525b50601f01601f19169290920160200192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03988916815296909716602087015260408601949094526060850192909252608084015260a0830152151560c082015290151560e08201526101000190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b600060018060a01b038616825284602083015283604083015260806060830152611e996080830184611d49565b9695505050505050565b6020810160078310611eb157fe5b91905290565b60006020825261108e6020830184611d49565b60208082526055908201527f476f7665726e616e63653a3a70726f706f73653a206f6e65206c69766520707260408201527f6f706f73616c207065722070726f706f7365722c20666f756e6420616e20616c6060820152741c9958591e481858dd1a5d99481c1c9bdc1bdcd85b605a1b608082015260a00190565b60208082526027908201527f476f7665726e616e63653a3a5f63617374566f74653a20766f74696e672069736040820152660818db1bdcd95960ca1b606082015260800190565b6020808252603c908201527f476f7665726e616e63653a3a70726f706f73653a2070726f706f73657220766f60408201527f7465732062656c6f772070726f706f73616c207468726573686f6c6400000000606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526024908201527f476f7665726e616e63653a20696e636f727265637420766f7465457874656e6460408201526354696d6560e01b606082015260800190565b6020808252601d908201527f476f7665726e616e63653a20746f6b656e7320617265206c6f636b6564000000604082015260600190565b6020808252601590820152741513d4938e881d1c985b9cd9995c8819985a5b1959605a1b604082015260600190565b60208082526019908201527f544f524e3a207472616e7366657246726f6d206661696c656400000000000000604082015260600190565b60208082526018908201527f476f7665726e616e63653a20756e617574686f72697a65640000000000000000604082015260600190565b6020808252601d908201527f476f7665726e616e63653a20696e76616c69642064656c656761746565000000604082015260600190565b60208082526018908201527f476f7665726e616e63653a2062616c616e636520697320300000000000000000604082015260600190565b60208082526023908201527f476f7665726e616e63653a3a70726f706f73653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b60208082526026908201527f476f7665726e616e63653a3a73746174653a20696e76616c69642070726f706f6040820152651cd85b081a5960d21b606082015260800190565b6020808252602a908201527f476f7665726e616e63653a20746f6b656e732061726520616c726561647920756040820152691b99195b1959d85d195960b21b606082015260800190565b6020808252601a908201527f476f7665726e616e63653a206e6f7420617574686f72697a6564000000000000604082015260600190565b8151151581526020808301511515908201526040918201519181019190915260600190565b90815260200190565b60405181810167ffffffffffffffff8111828210171561234b57600080fd5b604052919050565b6001600160a01b0381168114610ba357600080fd5b8015158114610ba357600080fdfea264697066735822122077147b2d24ffd383c4a2d0eb254eb72ba4274421278e284354c4848ff7c9df0164736f6c634300060c0033"; +const isSuperArgs$k = (xs) => xs.length > 1; +class NewImplementation__factory extends ethers.ContractFactory { + constructor(...args) { + if (isSuperArgs$k(args)) { + super(...args); + } else { + super(_abi$r, _bytecode$k, args[0]); + } + } + getDeployTransaction(overrides) { + return super.getDeployTransaction(overrides || {}); + } + deploy(overrides) { + return super.deploy(overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new ethers.Interface(_abi$r); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$r, runner); + } +} +NewImplementation__factory.bytecode = _bytecode$k; +NewImplementation__factory.abi = _abi$r; + +const _abi$q = [ + { + inputs: [ + { + internalType: "address", + name: "_newLogic", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + inputs: [], + name: "executeProposal", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "newLogic", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + } +]; +const _bytecode$j = "0x60a060405234801561001057600080fd5b506040516101da3803806101da83398101604081905261002f91610044565b60601b6001600160601b031916608052610072565b600060208284031215610055578081fd5b81516001600160a01b038116811461006b578182fd5b9392505050565b60805160601c610148610092600039806065528060a252506101486000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806305ccb23e1461003b578063373058b814610059575b600080fd5b610043610063565b60405161005091906100fe565b60405180910390f35b610061610087565b005b7f000000000000000000000000000000000000000000000000000000000000000081565b604051631b2ce7f360e11b81523090633659cfe6906100ca907f0000000000000000000000000000000000000000000000000000000000000000906004016100fe565b600060405180830381600087803b1580156100e457600080fd5b505af11580156100f8573d6000803e3d6000fd5b50505050565b6001600160a01b039190911681526020019056fea26469706673582212207d2c2c988cd8f64fa7efb7ef33cfeee3b01f81a501e4a71ae8a63d6a5e269eb664736f6c634300060c0033"; +const isSuperArgs$j = (xs) => xs.length > 1; +class ProposalUpgrade__factory extends ethers.ContractFactory { + constructor(...args) { + if (isSuperArgs$j(args)) { + super(...args); + } else { + super(_abi$q, _bytecode$j, args[0]); + } + } + getDeployTransaction(_newLogic, overrides) { + return super.getDeployTransaction(_newLogic, overrides || {}); + } + deploy(_newLogic, overrides) { + return super.deploy(_newLogic, overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new ethers.Interface(_abi$q); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$q, runner); + } +} +ProposalUpgrade__factory.bytecode = _bytecode$j; +ProposalUpgrade__factory.abi = _abi$q; + +var index$f = /*#__PURE__*/Object.freeze({ + __proto__: null, + IProxy__factory: IProxy__factory, + NewImplementation__factory: NewImplementation__factory, + ProposalUpgrade__factory: ProposalUpgrade__factory +}); + +const _abi$p = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + } + ], + name: "Delegated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "id", + type: "uint256" + }, + { + indexed: true, + internalType: "address", + name: "proposer", + type: "address" + }, + { + indexed: false, + internalType: "address", + name: "target", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "startTime", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "endTime", + type: "uint256" + }, + { + indexed: false, + internalType: "string", + name: "description", + type: "string" + } + ], + name: "ProposalCreated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "proposalId", + type: "uint256" + } + ], + name: "ProposalExecuted", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + } + ], + name: "Undelegated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + indexed: true, + internalType: "address", + name: "voter", + type: "address" + }, + { + indexed: true, + internalType: "bool", + name: "support", + type: "bool" + }, + { + indexed: false, + internalType: "uint256", + name: "votes", + type: "uint256" + } + ], + name: "Voted", + type: "event" + }, + { + inputs: [], + name: "CLOSING_PERIOD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "EXECUTION_DELAY", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "EXECUTION_EXPIRATION", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "PROPOSAL_THRESHOLD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "QUORUM_VOTES", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "VOTE_EXTEND_TIME", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "VOTING_DELAY", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "VOTING_PERIOD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "canWithdrawAfter", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address[]", + name: "from", + type: "address[]" + }, + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + internalType: "bool", + name: "support", + type: "bool" + } + ], + name: "castDelegatedVote", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + internalType: "bool", + name: "support", + type: "bool" + } + ], + name: "castVote", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address" + } + ], + name: "delegate", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "delegatedTo", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + } + ], + name: "execute", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + internalType: "address", + name: "voter", + type: "address" + } + ], + name: "getReceipt", + outputs: [ + { + components: [ + { + internalType: "bool", + name: "hasVoted", + type: "bool" + }, + { + internalType: "bool", + name: "support", + type: "bool" + }, + { + internalType: "uint256", + name: "votes", + type: "uint256" + } + ], + internalType: "struct Governance.Receipt", + name: "", + type: "tuple" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_torn", + type: "address" + } + ], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "latestProposalIds", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256" + }, + { + internalType: "uint8", + name: "v", + type: "uint8" + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32" + } + ], + name: "lock", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "lockWithApproval", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "lockedBalance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "proposalCount", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + name: "proposals", + outputs: [ + { + internalType: "address", + name: "proposer", + type: "address" + }, + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "uint256", + name: "startTime", + type: "uint256" + }, + { + internalType: "uint256", + name: "endTime", + type: "uint256" + }, + { + internalType: "uint256", + name: "forVotes", + type: "uint256" + }, + { + internalType: "uint256", + name: "againstVotes", + type: "uint256" + }, + { + internalType: "bool", + name: "executed", + type: "bool" + }, + { + internalType: "bool", + name: "extended", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "string", + name: "description", + type: "string" + } + ], + name: "propose", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address" + }, + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "string", + name: "description", + type: "string" + } + ], + name: "proposeByDelegate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "closingPeriod", + type: "uint256" + } + ], + name: "setClosingPeriod", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "executionDelay", + type: "uint256" + } + ], + name: "setExecutionDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "executionExpiration", + type: "uint256" + } + ], + name: "setExecutionExpiration", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalThreshold", + type: "uint256" + } + ], + name: "setProposalThreshold", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "quorumVotes", + type: "uint256" + } + ], + name: "setQuorumVotes", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "time_", + type: "uint256" + } + ], + name: "setTimestamp", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "torna", + type: "address" + } + ], + name: "setTorn", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "voteExtendTime", + type: "uint256" + } + ], + name: "setVoteExtendTime", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "votingDelay", + type: "uint256" + } + ], + name: "setVotingDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "votingPeriod", + type: "uint256" + } + ], + name: "setVotingPeriod", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + } + ], + name: "state", + outputs: [ + { + internalType: "enum Governance.ProposalState", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "time", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "torn", + outputs: [ + { + internalType: "contract TORN", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "undelegate", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "unlock", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; +const _bytecode$i = "0x6080604052426041553480156200001557600080fd5b50600054610100900460ff168062000032575062000032620000cd565b8062000041575060005460ff16155b620000695760405162461bcd60e51b8152600401620000609062000114565b60405180910390fd5b600054610100900460ff1615801562000095576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b03191661dead179055620000b3620000d3565b8015620000c6576000805461ff00191690555b5062000162565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b6125c980620001726000396000f3fe6080604052600436106102305760003560e01c8063a0a2b5731161012e578063ce25d71c116100ab578063e4917d9f1161006f578063e4917d9f14610644578063ea0217cf14610664578063ece40cc114610684578063f0b76892146106a4578063fe0d94c1146106c457610230565b8063ce25d71c146105b8578063d6159fe5146105cd578063d6f0948c146105e2578063da35c66414610602578063e23a9a521461061757610230565b8063b54426c8116100f2578063b54426c814610518578063b5f6a74314610538578063b859f11b14610558578063c0c0e82014610578578063c4d66de81461059857610230565b8063a0a2b57314610499578063a6c26603146104b9578063a72edda3146104ce578063adf898a4146104ee578063b1610d7e1461050357610230565b80635c19a95c116101bc5780636dc2dc6c116101805780636dc2dc6c1461040457806370b0f6601461042457806392ab89bb146104445780639a9e3b6e146104595780639ae697bf1461047957610230565b80635c19a95c1461036d5780636198e3391461038d57806365da1264146103ad578063671dd275146103da5780636a661755146103ef57610230565b806317977c611161020357806317977c61146102d657806337f135d7146102f65780633e4f49e61461030b578063587a6ecb1461033857806358e9fff01461034d57610230565b8063013cf08b1461023557806302ec8f9e1461027257806315373e3d1461029457806316ada547146102b4575b600080fd5b34801561024157600080fd5b50610255610250366004611e01565b6106d7565b604051610269989796959493929190611f0d565b60405180910390f35b34801561027e57600080fd5b5061029261028d366004611e01565b61073c565b005b3480156102a057600080fd5b506102926102af366004611e45565b610769565b3480156102c057600080fd5b506102c9610778565b6040516102699190612510565b3480156102e257600080fd5b506102c96102f1366004611bf8565b61077e565b34801561030257600080fd5b506102c9610790565b34801561031757600080fd5b5061032b610326366004611e01565b610796565b6040516102699190611fcb565b34801561034457600080fd5b506102c96108d9565b34801561035957600080fd5b506102c9610368366004611c13565b6108df565b34801561037957600080fd5b50610292610388366004611bf8565b61092d565b34801561039957600080fd5b506102926103a8366004611e01565b610a4f565b3480156103b957600080fd5b506103cd6103c8366004611bf8565b610b86565b6040516102699190611ebc565b3480156103e657600080fd5b506102c9610ba1565b3480156103fb57600080fd5b506102c9610ba7565b34801561041057600080fd5b5061029261041f366004611e01565b610bad565b34801561043057600080fd5b5061029261043f366004611e01565b610bf2565b34801561045057600080fd5b50610292610c16565b34801561046557600080fd5b50610292610474366004611e01565b610c9d565b34801561048557600080fd5b506102c9610494366004611bf8565b610cc1565b3480156104a557600080fd5b506102926104b4366004611e01565b610cd3565b3480156104c557600080fd5b506102c9610cd8565b3480156104da57600080fd5b506102c96104e9366004611bf8565b610cde565b3480156104fa57600080fd5b506103cd610cf0565b34801561050f57600080fd5b506102c9610cff565b34801561052457600080fd5b50610292610533366004611e01565b610d05565b34801561054457600080fd5b50610292610553366004611bf8565b610d0f565b34801561056457600080fd5b50610292610573366004611d20565b610d31565b34801561058457600080fd5b50610292610593366004611e01565b610de8565b3480156105a457600080fd5b506102926105b3366004611bf8565b610e0c565b3480156105c457600080fd5b506102c961104f565b3480156105d957600080fd5b506102c9611055565b3480156105ee57600080fd5b506102c96105fd366004611c73565b61105b565b34801561060e57600080fd5b506102c9611071565b34801561062357600080fd5b50610637610632366004611e19565b61107b565b60405161026991906124eb565b34801561065057600080fd5b5061029261065f366004611e01565b6110ed565b34801561067057600080fd5b5061029261067f366004611e01565b611111565b34801561069057600080fd5b5061029261069f366004611e01565b611135565b3480156106b057600080fd5b506102926106bf366004611cc1565b611159565b6102926106d2366004611e01565b6111d9565b603d81815481106106e457fe5b600091825260209091206008909102018054600182015460028301546003840154600485015460058601546006909601546001600160a01b039586169750949093169491939092919060ff8082169161010090041688565b3330146107645760405162461bcd60e51b815260040161075b906122b7565b60405180910390fd5b603555565b61077433838361136b565b5050565b60415481565b603e6020526000908152604090205481565b60335481565b60006107a0611071565b82111580156107af5750600082115b6107cb5760405162461bcd60e51b815260040161075b906123ed565b6000603d83815481106107da57fe5b9060005260206000209060080201905080600201546107f761159c565b116108065760009150506108d4565b806003015461081361159c565b116108225760019150506108d4565b8060050154816004015411158061084457506035548160050154826004015401105b156108535760029150506108d4565b600681015460ff161561086a5760059150506108d4565b61088f60345461088960335484600301546115a290919063ffffffff16565b906115a2565b61089761159c565b106108a65760069150506108d4565b60335460038201546108b7916115a2565b6108bf61159c565b106108ce5760049150506108d4565b60039150505b919050565b603a5481565b6001600160a01b038381166000908152603c6020526040812054909116331461091a5760405162461bcd60e51b815260040161075b9061247d565b6109258484846115c7565b949350505050565b336000818152603c60205260409020546001600160a01b03908116919083161480159061096357506001600160a01b0382163014155b801561097757506001600160a01b03821615155b80156109955750806001600160a01b0316826001600160a01b031614155b6109b15760405162461bcd60e51b815260040161075b906122ee565b6001600160a01b038116156109f7576040516001600160a01b0382169033907f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7290600090a35b336000818152603c602052604080822080546001600160a01b0319166001600160a01b03871690811790915590519092917f4bc154dd35d6a5cb9206482ecb473cdbf2473006d6bce728b9cc0741bcc59ea291a35050565b336000908152603f6020526040902054610a6761159c565b11610a845760405162461bcd60e51b815260040161075b9061221a565b60408051808201825260208082527f476f7665726e616e63653a20696e73756666696369656e742062616c616e636581830152336000908152603b9091529190912054610ad2918390611915565b336000818152603b602052604090819020929092558154915163a9059cbb60e01b81526001600160a01b039092169163a9059cbb91610b15918590600401611ed0565b602060405180830381600087803b158015610b2f57600080fd5b505af1158015610b43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b679190611de5565b610b835760405162461bcd60e51b815260040161075b90612251565b50565b603c602052600090815260409020546001600160a01b031681565b60355481565b60345481565b333014610bcc5760405162461bcd60e51b815260040161075b906122b7565b6033548110610bed5760405162461bcd60e51b815260040161075b906121d6565b603a55565b333014610c115760405162461bcd60e51b815260040161075b906122b7565b603755565b336000908152603c60205260409020546001600160a01b031680610c4c5760405162461bcd60e51b815260040161075b90612433565b336000818152603c602052604080822080546001600160a01b0319169055516001600160a01b03841692917f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7291a350565b333014610cbc5760405162461bcd60e51b815260040161075b906122b7565b603455565b603b6020526000908152604090205481565b604155565b60365481565b603f6020526000908152604090205481565b6040546001600160a01b031681565b60385481565b610b833382611941565b604080546001600160a01b0319166001600160a01b0392909216919091179055565b60005b8351811015610dc257336001600160a01b0316603c6000868481518110610d5757fe5b6020908102919091018101516001600160a01b03908116835290820192909252604001600020541614610d9c5760405162461bcd60e51b815260040161075b9061247d565b610dba848281518110610dab57fe5b6020026020010151848461136b565b600101610d34565b50336000908152603b602052604090205415610de357610de333838361136b565b505050565b333014610e075760405162461bcd60e51b815260040161075b906122b7565b603955565b600054610100900460ff1680610e255750610e25611a26565b80610e33575060005460ff16155b610e4f5760405162461bcd60e51b815260040161075b9061239f565b600054610100900460ff16158015610e7a576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b038085166001600160a01b03199283161783558251610100818101855230825261dead602083019081526000958301868152606084018781526080850188815260a08601898152600160c0880181815260e089018c8152603d80549384018155909c52975160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b16928c169290921790915594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc4860180549190991699169890981790965590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc5830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc682015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc784015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc8830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990910180549351151590920261ff001991151560ff19909416939093171691909117905561103a611a2c565b8015610774576000805461ff00191690555050565b60395481565b60375481565b60006110683384846115c7565b90505b92915050565b603d546000190190565b611083611af2565b603d838154811061109057fe5b600091825260208083206001600160a01b0395909516835260089190910290930160070183526040908190208151606081018352815460ff8082161515835261010090910416151594810194909452600101549083015250919050565b33301461110c5760405162461bcd60e51b815260040161075b906122b7565b603355565b3330146111305760405162461bcd60e51b815260040161075b906122b7565b603855565b3330146111545760405162461bcd60e51b815260040161075b906122b7565b603655565b60408054905163d505accf60e01b81526001600160a01b039091169063d505accf9061119590899030908a908a908a908a908a90600401611f53565b600060405180830381600087803b1580156111af57600080fd5b505af11580156111c3573d6000803e3d6000fd5b505050506111d18686611941565b505050505050565b60046111e482610796565b60068111156111ef57fe5b1461120c5760405162461bcd60e51b815260040161075b90612035565b6000603d828154811061121b57fe5b600091825260209091206006600890920201908101805460ff191660019081179091558101549091506001600160a01b031661125681611a6d565b6112725760405162461bcd60e51b815260040161075b90611ff2565b60408051600481526024810182526020810180516001600160e01b03166306e60b1760e31b17905290516000916060916001600160a01b038516916112b691611ea0565b600060405180830381855af49150503d80600081146112f1576040519150601f19603f3d011682016040523d82523d6000602084013e6112f6565b606091505b50915091508161133957805115611321578060405162461bcd60e51b815260040161075b9190611fdf565b60405162461bcd60e51b815260040161075b906124b4565b60405185907f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f90600090a25050505050565b600161137683610796565b600681111561138157fe5b1461139e5760405162461bcd60e51b815260040161075b906120fb565b6000603d83815481106113ad57fe5b600091825260208083206001600160a01b038816845260076008909302019182018152604080842060058401546004850154603b90945291909420549294501015908061140c5760405162461bcd60e51b815260040161075b90612325565b825460ff161561145b578254610100900460ff1615611442576001830154600485015461143891611a73565b600485015561145b565b6001830154600585015461145591611a73565b60058501555b841561147a57600484015461147090826115a2565b600485015561148f565b600584015461148990826115a2565b60058501555b6006840154610100900460ff161580156114bf57506039546114bd6114b261159c565b600387015490611a73565b105b156115035760058401546004850154111582151581146115015760068501805461ff001916610100179055603a5460038601546114fb916115a2565b60038601555b505b8254600160ff19909116811761ff001916610100871515021784558301819055603354603454603a54600387015461154e938b93611549939192610889928391906115a2565b611ab5565b841515876001600160a01b0316877f7c2de587c00d75474a0c6c6fa96fd3b45dc974cd4e8a75f712bb84c950dce1b58460405161158b9190612510565b60405180910390a450505050505050565b60415490565b6000828201838110156110685760405162461bcd60e51b815260040161075b9061219f565b6001600160a01b0383166000908152603b60205260408120546036548110156116025760405162461bcd60e51b815260040161075b90612142565b61160b84611a6d565b6116275760405162461bcd60e51b815260040161075b9061235c565b6001600160a01b0385166000908152603e6020526040902054801561169957600061165182610796565b9050600181600681111561166157fe5b1415801561167b5750600081600681111561167857fe5b14155b6116975760405162461bcd60e51b815260040161075b90612080565b505b60006116a960375461088961159c565b905060006116c2603854836115a290919063ffffffff16565b90506116cc611b12565b506040805161010080820183526001600160a01b03808c1683528a8116602084019081529383018681526060840186815260006080860181815260a0870182815260c0880183815260e08901848152603d80546001810182559086528a5160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b166001600160a01b03199384161790559b517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc48d01805491909a1691161790975594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc58a015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc6890155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc788015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc887015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990950180549251151590930261ff001995151560ff1990931692909217949094161790559061187e611071565b82516001600160a01b03166000908152603e60205260409020819055603354603454603a549293506118c0928d92611549929091610889919082908a906115a2565b896001600160a01b0316817f90ec05050aa23d54ba425e926fe646c318e85825bc400b13a46010abe86eb2f08b87878d6040516119009493929190611f94565b60405180910390a39998505050505050505050565b600081848411156119395760405162461bcd60e51b815260040161075b9190611fdf565b505050900390565b6040805490516323b872dd60e01b81526001600160a01b03909116906323b872dd9061197590859030908690600401611ee9565b602060405180830381600087803b15801561198f57600080fd5b505af11580156119a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c79190611de5565b6119e35760405162461bcd60e51b815260040161075b90612280565b6001600160a01b0382166000908152603b6020526040902054611a0690826115a2565b6001600160a01b039092166000908152603b602052604090209190915550565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b3b151590565b600061106883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611915565b6001600160a01b0382166000908152603f6020526040902054811115610774576001600160a01b03919091166000908152603f6020526040902055565b604080516060810182526000808252602082018190529181019190915290565b60405180610100016040528060006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000151581526020016000151581525090565b80356001600160a01b038116811461106b57600080fd5b803561106b81612585565b600082601f830112611b9f578081fd5b813567ffffffffffffffff811115611bb5578182fd5b611bc8601f8201601f1916602001612519565b9150808252836020828501011115611bdf57600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215611c09578081fd5b6110688383611b6d565b600080600060608486031215611c27578182fd5b8335611c3281612570565b92506020840135611c4281612570565b9150604084013567ffffffffffffffff811115611c5d578182fd5b611c6986828701611b8f565b9150509250925092565b60008060408385031215611c85578182fd5b8235611c9081612570565b9150602083013567ffffffffffffffff811115611cab578182fd5b611cb785828601611b8f565b9150509250929050565b60008060008060008060c08789031215611cd9578182fd5b611ce38888611b6d565b95506020870135945060408701359350606087013560ff81168114611d06578283fd5b9598949750929560808101359460a0909101359350915050565b600080600060608486031215611d34578283fd5b833567ffffffffffffffff80821115611d4b578485fd5b818601915086601f830112611d5e578485fd5b813581811115611d6c578586fd5b60209150818102611d7e838201612519565b8281528381019085850183870186018c1015611d9857898afd5b8996505b84871015611dc257611dae8c82611b6d565b835260019690960195918501918501611d9c565b5097505050508501359250611ddc90508560408601611b84565b90509250925092565b600060208284031215611df6578081fd5b815161106881612585565b600060208284031215611e12578081fd5b5035919050565b60008060408385031215611e2b578182fd5b82359150611e3c8460208501611b6d565b90509250929050565b60008060408385031215611e57578182fd5b823591506020830135611e6981612585565b809150509250929050565b60008151808452611e8c816020860160208601612540565b601f01601f19169290920160200192915050565b60008251611eb2818460208701612540565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03988916815296909716602087015260408601949094526060850192909252608084015260a0830152151560c082015290151560e08201526101000190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b600060018060a01b038616825284602083015283604083015260806060830152611fc16080830184611e74565b9695505050505050565b6020810160078310611fd957fe5b91905290565b6000602082526110686020830184611e74565b60208082526023908201527f476f7665726e616e63653a3a657865637574653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602b908201527f476f7665726e616e63653a3a657865637574653a20696e76616c69642070726f60408201526a706f73616c20737461746560a81b606082015260800190565b60208082526055908201527f476f7665726e616e63653a3a70726f706f73653a206f6e65206c69766520707260408201527f6f706f73616c207065722070726f706f7365722c20666f756e6420616e20616c6060820152741c9958591e481858dd1a5d99481c1c9bdc1bdcd85b605a1b608082015260a00190565b60208082526027908201527f476f7665726e616e63653a3a5f63617374566f74653a20766f74696e672069736040820152660818db1bdcd95960ca1b606082015260800190565b6020808252603c908201527f476f7665726e616e63653a3a70726f706f73653a2070726f706f73657220766f60408201527f7465732062656c6f772070726f706f73616c207468726573686f6c6400000000606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526024908201527f476f7665726e616e63653a20696e636f727265637420766f7465457874656e6460408201526354696d6560e01b606082015260800190565b6020808252601d908201527f476f7665726e616e63653a20746f6b656e7320617265206c6f636b6564000000604082015260600190565b6020808252601590820152741513d4938e881d1c985b9cd9995c8819985a5b1959605a1b604082015260600190565b60208082526019908201527f544f524e3a207472616e7366657246726f6d206661696c656400000000000000604082015260600190565b60208082526018908201527f476f7665726e616e63653a20756e617574686f72697a65640000000000000000604082015260600190565b6020808252601d908201527f476f7665726e616e63653a20696e76616c69642064656c656761746565000000604082015260600190565b60208082526018908201527f476f7665726e616e63653a2062616c616e636520697320300000000000000000604082015260600190565b60208082526023908201527f476f7665726e616e63653a3a70726f706f73653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b60208082526026908201527f476f7665726e616e63653a3a73746174653a20696e76616c69642070726f706f6040820152651cd85b081a5960d21b606082015260800190565b6020808252602a908201527f476f7665726e616e63653a20746f6b656e732061726520616c726561647920756040820152691b99195b1959d85d195960b21b606082015260800190565b6020808252601a908201527f476f7665726e616e63653a206e6f7420617574686f72697a6564000000000000604082015260600190565b60208082526019908201527f50726f706f73616c20657865637574696f6e206661696c656400000000000000604082015260600190565b8151151581526020808301511515908201526040918201519181019190915260600190565b90815260200190565b60405181810167ffffffffffffffff8111828210171561253857600080fd5b604052919050565b60005b8381101561255b578181015183820152602001612543565b8381111561256a576000848401525b50505050565b6001600160a01b0381168114610b8357600080fd5b8015158114610b8357600080fdfea264697066735822122079a24ea0dc3d5ef34041a37a137cef69305763e031faa841e2db8f078345f2af64736f6c634300060c0033"; +const isSuperArgs$i = (xs) => xs.length > 1; +class MockGovernance__factory extends ethers.ContractFactory { + constructor(...args) { + if (isSuperArgs$i(args)) { + super(...args); + } else { + super(_abi$p, _bytecode$i, args[0]); + } + } + getDeployTransaction(overrides) { + return super.getDeployTransaction(overrides || {}); + } + deploy(overrides) { + return super.deploy(overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new ethers.Interface(_abi$p); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$p, runner); + } +} +MockGovernance__factory.bytecode = _bytecode$i; +MockGovernance__factory.abi = _abi$p; + +const _abi$o = [ + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "output", + type: "address" + } + ], + name: "Debug", + type: "event" + }, + { + inputs: [], + name: "executeProposal", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; +const _bytecode$h = "0x608060405234801561001057600080fd5b506103d5806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063373058b814610030575b600080fd5b61003861003a565b005b6000604051610048906100fa565b604051809103906000f080158015610064573d6000803e3d6000fd5b509050806001600160a01b0316638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156100a257600080fd5b505af11580156100b6573d6000803e3d6000fd5b5050604080516001600160a01b038516815290517f330da4cde831ccab151372275307c2f0cce2bcce846635cd66e6908f10d203639350908190036020019150a150565b610298806101088339019056fe608060405234801561001057600080fd5b50610278806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80631f1bd692146100465780633fa4f245146100c35780638129fc1c146100dd575b600080fd5b61004e6100e7565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610088578181015183820152602001610070565b50505050905090810190601f1680156100b55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6100cb610174565b60408051918252519081900360200190f35b6100e561017a565b005b60018054604080516020600284861615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561016c5780601f106101415761010080835404028352916020019161016c565b820191906000526020600020905b81548152906001019060200180831161014f57829003601f168201915b505050505081565b60005481565b600160008190556040805180820190915260058082526464756d6d7960d81b60209092019182526101ac9291906101af565b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106101f057805160ff191683800117855561021d565b8280016001018555821561021d579182015b8281111561021d578251825591602001919060010190610202565b5061022992915061022d565b5090565b5b80821115610229576000815560010161022e56fea26469706673582212204b4d54284aeff9c7c570415da4a9efb9bf7115fe94a322210f9981c1c7ae107a64736f6c634300060c0033a26469706673582212205967b156db23a5fd2372953049f5c366f68a9f95cfa116f9fbd6d0c8e7bdaa6364736f6c634300060c0033"; +const isSuperArgs$h = (xs) => xs.length > 1; +class Proposal__factory extends ethers.ContractFactory { + constructor(...args) { + if (isSuperArgs$h(args)) { + super(...args); + } else { + super(_abi$o, _bytecode$h, args[0]); + } + } + getDeployTransaction(overrides) { + return super.getDeployTransaction(overrides || {}); + } + deploy(overrides) { + return super.deploy(overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new ethers.Interface(_abi$o); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$o, runner); + } +} +Proposal__factory.bytecode = _bytecode$h; +Proposal__factory.abi = _abi$o; + +var index$e = /*#__PURE__*/Object.freeze({ + __proto__: null, + MockGovernance__factory: MockGovernance__factory, + Proposal__factory: Proposal__factory, + dummySol: index$h, + proposalStateChangeGovernanceSol: index$g, + proposalUpgradeSol: index$f +}); + +const _abi$n = [ + { + inputs: [], + name: "CLOSING_PERIOD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "EXECUTION_DELAY", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "EXECUTION_EXPIRATION", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "PROPOSAL_THRESHOLD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "QUORUM_VOTES", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "VOTE_EXTEND_TIME", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "VOTING_DELAY", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "VOTING_PERIOD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "closingPeriod", + type: "uint256" + } + ], + name: "setClosingPeriod", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "executionDelay", + type: "uint256" + } + ], + name: "setExecutionDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "executionExpiration", + type: "uint256" + } + ], + name: "setExecutionExpiration", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalThreshold", + type: "uint256" + } + ], + name: "setProposalThreshold", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "quorumVotes", + type: "uint256" + } + ], + name: "setQuorumVotes", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "voteExtendTime", + type: "uint256" + } + ], + name: "setVoteExtendTime", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "votingDelay", + type: "uint256" + } + ], + name: "setVotingDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "votingPeriod", + type: "uint256" + } + ], + name: "setVotingPeriod", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; +const _bytecode$g = "0x608060405234801561001057600080fd5b50610563806100206000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c8063a6c2660311610097578063d6159fe511610066578063d6159fe5146101e2578063e4917d9f146101ea578063ea0217cf14610207578063ece40cc11461022457610100565b8063a6c26603146101ad578063b1610d7e146101b5578063c0c0e820146101bd578063ce25d71c146101da57610100565b80636a661755116100d35780636a6617551461014e5780636dc2dc6c1461015657806370b0f660146101735780639a9e3b6e1461019057610100565b806302ec8f9e1461010557806337f135d714610124578063587a6ecb1461013e578063671dd27514610146575b600080fd5b6101226004803603602081101561011b57600080fd5b5035610241565b005b61012c610288565b60408051918252519081900360200190f35b61012c61028e565b61012c610294565b61012c61029a565b6101226004803603602081101561016c57600080fd5b50356102a0565b6101226004803603602081101561018957600080fd5b5035610327565b610122600480360360208110156101a657600080fd5b503561036e565b61012c6103b5565b61012c6103bb565b610122600480360360208110156101d357600080fd5b50356103c1565b61012c610408565b61012c61040e565b6101226004803603602081101561020057600080fd5b5035610414565b6101226004803603602081101561021d57600080fd5b503561045b565b6101226004803603602081101561023a57600080fd5b50356104a2565b333014610283576040805162461bcd60e51b8152602060048201526018602482015260008051602061050e833981519152604482015290519081900360640190fd5b600255565b60005481565b60075481565b60025481565b60015481565b3330146102e2576040805162461bcd60e51b8152602060048201526018602482015260008051602061050e833981519152604482015290519081900360640190fd5b60005481106103225760405162461bcd60e51b81526004018080602001828103825260248152602001806104ea6024913960400191505060405180910390fd5b600755565b333014610369576040805162461bcd60e51b8152602060048201526018602482015260008051602061050e833981519152604482015290519081900360640190fd5b600455565b3330146103b0576040805162461bcd60e51b8152602060048201526018602482015260008051602061050e833981519152604482015290519081900360640190fd5b600155565b60035481565b60055481565b333014610403576040805162461bcd60e51b8152602060048201526018602482015260008051602061050e833981519152604482015290519081900360640190fd5b600655565b60065481565b60045481565b333014610456576040805162461bcd60e51b8152602060048201526018602482015260008051602061050e833981519152604482015290519081900360640190fd5b600055565b33301461049d576040805162461bcd60e51b8152602060048201526018602482015260008051602061050e833981519152604482015290519081900360640190fd5b600555565b3330146104e4576040805162461bcd60e51b8152602060048201526018602482015260008051602061050e833981519152604482015290519081900360640190fd5b60035556fe476f7665726e616e63653a20696e636f727265637420766f7465457874656e6454696d65476f7665726e616e63653a20756e617574686f72697a65640000000000000000a26469706673582212208fff4d62d622acc801ece8b6a7cc281f67f5959bf09e0ca68afde2a0ab0bc83164736f6c634300060c0033"; +const isSuperArgs$g = (xs) => xs.length > 1; +class Configuration__factory extends ethers.ContractFactory { + constructor(...args) { + if (isSuperArgs$g(args)) { + super(...args); + } else { + super(_abi$n, _bytecode$g, args[0]); + } + } + getDeployTransaction(overrides) { + return super.getDeployTransaction(overrides || {}); + } + deploy(overrides) { + return super.deploy(overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new ethers.Interface(_abi$n); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$n, runner); + } +} +Configuration__factory.bytecode = _bytecode$g; +Configuration__factory.abi = _abi$n; + +const _abi$m = [ + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "lockedBalance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + } +]; +class Core__factory { + static createInterface() { + return new ethers.Interface(_abi$m); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$m, runner); + } +} +Core__factory.abi = _abi$m; + +const _abi$l = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + } + ], + name: "Delegated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + } + ], + name: "Undelegated", + type: "event" + }, + { + inputs: [ + { + internalType: "address[]", + name: "from", + type: "address[]" + }, + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + internalType: "bool", + name: "support", + type: "bool" + } + ], + name: "castDelegatedVote", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address" + } + ], + name: "delegate", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "delegatedTo", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "lockedBalance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address" + }, + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "string", + name: "description", + type: "string" + } + ], + name: "proposeByDelegate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "undelegate", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; +class Delegation__factory { + static createInterface() { + return new ethers.Interface(_abi$l); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$l, runner); + } +} +Delegation__factory.abi = _abi$l; + +const _abi$k = [ + { + inputs: [], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + } + ], + name: "Delegated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "id", + type: "uint256" + }, + { + indexed: true, + internalType: "address", + name: "proposer", + type: "address" + }, + { + indexed: false, + internalType: "address", + name: "target", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "startTime", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "endTime", + type: "uint256" + }, + { + indexed: false, + internalType: "string", + name: "description", + type: "string" + } + ], + name: "ProposalCreated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "proposalId", + type: "uint256" + } + ], + name: "ProposalExecuted", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + } + ], + name: "Undelegated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + indexed: true, + internalType: "address", + name: "voter", + type: "address" + }, + { + indexed: true, + internalType: "bool", + name: "support", + type: "bool" + }, + { + indexed: false, + internalType: "uint256", + name: "votes", + type: "uint256" + } + ], + name: "Voted", + type: "event" + }, + { + inputs: [], + name: "CLOSING_PERIOD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "EXECUTION_DELAY", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "EXECUTION_EXPIRATION", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "PROPOSAL_THRESHOLD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "QUORUM_VOTES", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "VOTE_EXTEND_TIME", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "VOTING_DELAY", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "VOTING_PERIOD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "canWithdrawAfter", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address[]", + name: "from", + type: "address[]" + }, + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + internalType: "bool", + name: "support", + type: "bool" + } + ], + name: "castDelegatedVote", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + internalType: "bool", + name: "support", + type: "bool" + } + ], + name: "castVote", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address" + } + ], + name: "delegate", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "delegatedTo", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + } + ], + name: "execute", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + internalType: "address", + name: "voter", + type: "address" + } + ], + name: "getReceipt", + outputs: [ + { + components: [ + { + internalType: "bool", + name: "hasVoted", + type: "bool" + }, + { + internalType: "bool", + name: "support", + type: "bool" + }, + { + internalType: "uint256", + name: "votes", + type: "uint256" + } + ], + internalType: "struct Governance.Receipt", + name: "", + type: "tuple" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_torn", + type: "address" + } + ], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "latestProposalIds", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256" + }, + { + internalType: "uint8", + name: "v", + type: "uint8" + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32" + } + ], + name: "lock", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "lockWithApproval", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "lockedBalance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "proposalCount", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + name: "proposals", + outputs: [ + { + internalType: "address", + name: "proposer", + type: "address" + }, + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "uint256", + name: "startTime", + type: "uint256" + }, + { + internalType: "uint256", + name: "endTime", + type: "uint256" + }, + { + internalType: "uint256", + name: "forVotes", + type: "uint256" + }, + { + internalType: "uint256", + name: "againstVotes", + type: "uint256" + }, + { + internalType: "bool", + name: "executed", + type: "bool" + }, + { + internalType: "bool", + name: "extended", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "string", + name: "description", + type: "string" + } + ], + name: "propose", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address" + }, + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "string", + name: "description", + type: "string" + } + ], + name: "proposeByDelegate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "closingPeriod", + type: "uint256" + } + ], + name: "setClosingPeriod", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "executionDelay", + type: "uint256" + } + ], + name: "setExecutionDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "executionExpiration", + type: "uint256" + } + ], + name: "setExecutionExpiration", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalThreshold", + type: "uint256" + } + ], + name: "setProposalThreshold", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "quorumVotes", + type: "uint256" + } + ], + name: "setQuorumVotes", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "voteExtendTime", + type: "uint256" + } + ], + name: "setVoteExtendTime", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "votingDelay", + type: "uint256" + } + ], + name: "setVotingDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "votingPeriod", + type: "uint256" + } + ], + name: "setVotingPeriod", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + } + ], + name: "state", + outputs: [ + { + internalType: "enum Governance.ProposalState", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "torn", + outputs: [ + { + internalType: "contract TORN", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "undelegate", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "unlock", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; +const _bytecode$f = "0x60806040523480156200001157600080fd5b50600054610100900460ff16806200002e57506200002e620000c9565b806200003d575060005460ff16155b620000655760405162461bcd60e51b81526004016200005c9062000110565b60405180910390fd5b600054610100900460ff1615801562000091576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b03191661dead179055620000af620000cf565b8015620000c2576000805461ff00191690555b506200015e565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b612524806200016e6000396000f3fe60806040526004361061020f5760003560e01c8063a6c2660311610118578063d6159fe5116100a0578063e4917d9f1161006f578063e4917d9f146105ce578063ea0217cf146105ee578063ece40cc11461060e578063f0b768921461062e578063fe0d94c11461064e5761020f565b8063d6159fe514610557578063d6f0948c1461056c578063da35c6641461058c578063e23a9a52146105a15761020f565b8063b54426c8116100e7578063b54426c8146104c2578063b859f11b146104e2578063c0c0e82014610502578063c4d66de814610522578063ce25d71c146105425761020f565b8063a6c2660314610463578063a72edda314610478578063adf898a414610498578063b1610d7e146104ad5761020f565b80636198e3391161019b5780636dc2dc6c1161016a5780636dc2dc6c146103ce57806370b0f660146103ee57806392ab89bb1461040e5780639a9e3b6e146104235780639ae697bf146104435761020f565b80636198e3391461035757806365da126414610377578063671dd275146103a45780636a661755146103b95761020f565b806337f135d7116101e257806337f135d7146102c05780633e4f49e6146102d5578063587a6ecb1461030257806358e9fff0146103175780635c19a95c146103375761020f565b8063013cf08b1461021457806302ec8f9e1461025157806315373e3d1461027357806317977c6114610293575b600080fd5b34801561022057600080fd5b5061023461022f366004611d5c565b610661565b604051610248989796959493929190611e68565b60405180910390f35b34801561025d57600080fd5b5061027161026c366004611d5c565b6106c6565b005b34801561027f57600080fd5b5061027161028e366004611da0565b6106f3565b34801561029f57600080fd5b506102b36102ae366004611b53565b610702565b604051610248919061246b565b3480156102cc57600080fd5b506102b3610714565b3480156102e157600080fd5b506102f56102f0366004611d5c565b61071a565b6040516102489190611f26565b34801561030e57600080fd5b506102b361085d565b34801561032357600080fd5b506102b3610332366004611b6e565b610863565b34801561034357600080fd5b50610271610352366004611b53565b6108b1565b34801561036357600080fd5b50610271610372366004611d5c565b6109d3565b34801561038357600080fd5b50610397610392366004611b53565b610b0a565b6040516102489190611e17565b3480156103b057600080fd5b506102b3610b25565b3480156103c557600080fd5b506102b3610b2b565b3480156103da57600080fd5b506102716103e9366004611d5c565b610b31565b3480156103fa57600080fd5b50610271610409366004611d5c565b610b76565b34801561041a57600080fd5b50610271610b9a565b34801561042f57600080fd5b5061027161043e366004611d5c565b610c21565b34801561044f57600080fd5b506102b361045e366004611b53565b610c45565b34801561046f57600080fd5b506102b3610c57565b34801561048457600080fd5b506102b3610493366004611b53565b610c5d565b3480156104a457600080fd5b50610397610c6f565b3480156104b957600080fd5b506102b3610c7e565b3480156104ce57600080fd5b506102716104dd366004611d5c565b610c84565b3480156104ee57600080fd5b506102716104fd366004611c7b565b610c8e565b34801561050e57600080fd5b5061027161051d366004611d5c565b610d45565b34801561052e57600080fd5b5061027161053d366004611b53565b610d69565b34801561054e57600080fd5b506102b3610fac565b34801561056357600080fd5b506102b3610fb2565b34801561057857600080fd5b506102b3610587366004611bce565b610fb8565b34801561059857600080fd5b506102b3610fce565b3480156105ad57600080fd5b506105c16105bc366004611d74565b610fd8565b6040516102489190612446565b3480156105da57600080fd5b506102716105e9366004611d5c565b61104a565b3480156105fa57600080fd5b50610271610609366004611d5c565b61106e565b34801561061a57600080fd5b50610271610629366004611d5c565b611092565b34801561063a57600080fd5b50610271610649366004611c1c565b6110b6565b61027161065c366004611d5c565b611136565b603d818154811061066e57fe5b600091825260209091206008909102018054600182015460028301546003840154600485015460058601546006909601546001600160a01b039586169750949093169491939092919060ff8082169161010090041688565b3330146106ee5760405162461bcd60e51b81526004016106e590612212565b60405180910390fd5b603555565b6106fe3383836112c8565b5050565b603e6020526000908152604090205481565b60335481565b6000610724610fce565b82111580156107335750600082115b61074f5760405162461bcd60e51b81526004016106e590612348565b6000603d838154811061075e57fe5b90600052602060002090600802019050806002015461077b6114f9565b1161078a576000915050610858565b80600301546107976114f9565b116107a6576001915050610858565b806005015481600401541115806107c857506035548160050154826004015401105b156107d7576002915050610858565b600681015460ff16156107ee576005915050610858565b61081360345461080d60335484600301546114fd90919063ffffffff16565b906114fd565b61081b6114f9565b1061082a576006915050610858565b603354600382015461083b916114fd565b6108436114f9565b10610852576004915050610858565b60039150505b919050565b603a5481565b6001600160a01b038381166000908152603c6020526040812054909116331461089e5760405162461bcd60e51b81526004016106e5906123d8565b6108a9848484611522565b949350505050565b336000818152603c60205260409020546001600160a01b0390811691908316148015906108e757506001600160a01b0382163014155b80156108fb57506001600160a01b03821615155b80156109195750806001600160a01b0316826001600160a01b031614155b6109355760405162461bcd60e51b81526004016106e590612249565b6001600160a01b0381161561097b576040516001600160a01b0382169033907f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7290600090a35b336000818152603c602052604080822080546001600160a01b0319166001600160a01b03871690811790915590519092917f4bc154dd35d6a5cb9206482ecb473cdbf2473006d6bce728b9cc0741bcc59ea291a35050565b336000908152603f60205260409020546109eb6114f9565b11610a085760405162461bcd60e51b81526004016106e590612175565b60408051808201825260208082527f476f7665726e616e63653a20696e73756666696369656e742062616c616e636581830152336000908152603b9091529190912054610a56918390611870565b336000818152603b602052604090819020929092558154915163a9059cbb60e01b81526001600160a01b039092169163a9059cbb91610a99918590600401611e2b565b602060405180830381600087803b158015610ab357600080fd5b505af1158015610ac7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aeb9190611d40565b610b075760405162461bcd60e51b81526004016106e5906121ac565b50565b603c602052600090815260409020546001600160a01b031681565b60355481565b60345481565b333014610b505760405162461bcd60e51b81526004016106e590612212565b6033548110610b715760405162461bcd60e51b81526004016106e590612131565b603a55565b333014610b955760405162461bcd60e51b81526004016106e590612212565b603755565b336000908152603c60205260409020546001600160a01b031680610bd05760405162461bcd60e51b81526004016106e59061238e565b336000818152603c602052604080822080546001600160a01b0319169055516001600160a01b03841692917f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7291a350565b333014610c405760405162461bcd60e51b81526004016106e590612212565b603455565b603b6020526000908152604090205481565b60365481565b603f6020526000908152604090205481565b6040546001600160a01b031681565b60385481565b610b07338261189c565b60005b8351811015610d1f57336001600160a01b0316603c6000868481518110610cb457fe5b6020908102919091018101516001600160a01b03908116835290820192909252604001600020541614610cf95760405162461bcd60e51b81526004016106e5906123d8565b610d17848281518110610d0857fe5b602002602001015184846112c8565b600101610c91565b50336000908152603b602052604090205415610d4057610d403383836112c8565b505050565b333014610d645760405162461bcd60e51b81526004016106e590612212565b603955565b600054610100900460ff1680610d825750610d82611981565b80610d90575060005460ff16155b610dac5760405162461bcd60e51b81526004016106e5906122fa565b600054610100900460ff16158015610dd7576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b038085166001600160a01b03199283161783558251610100818101855230825261dead602083019081526000958301868152606084018781526080850188815260a08601898152600160c0880181815260e089018c8152603d80549384018155909c52975160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b16928c169290921790915594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc4860180549190991699169890981790965590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc5830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc682015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc784015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc8830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990910180549351151590920261ff001991151560ff199094169390931716919091179055610f97611987565b80156106fe576000805461ff00191690555050565b60395481565b60375481565b6000610fc5338484611522565b90505b92915050565b603d546000190190565b610fe0611a4d565b603d8381548110610fed57fe5b600091825260208083206001600160a01b0395909516835260089190910290930160070183526040908190208151606081018352815460ff8082161515835261010090910416151594810194909452600101549083015250919050565b3330146110695760405162461bcd60e51b81526004016106e590612212565b603355565b33301461108d5760405162461bcd60e51b81526004016106e590612212565b603855565b3330146110b15760405162461bcd60e51b81526004016106e590612212565b603655565b60408054905163d505accf60e01b81526001600160a01b039091169063d505accf906110f290899030908a908a908a908a908a90600401611eae565b600060405180830381600087803b15801561110c57600080fd5b505af1158015611120573d6000803e3d6000fd5b5050505061112e868661189c565b505050505050565b60046111418261071a565b600681111561114c57fe5b146111695760405162461bcd60e51b81526004016106e590611f90565b6000603d828154811061117857fe5b600091825260209091206006600890920201908101805460ff191660019081179091558101549091506001600160a01b03166111b3816119c8565b6111cf5760405162461bcd60e51b81526004016106e590611f4d565b60408051600481526024810182526020810180516001600160e01b03166306e60b1760e31b17905290516000916060916001600160a01b0385169161121391611dfb565b600060405180830381855af49150503d806000811461124e576040519150601f19603f3d011682016040523d82523d6000602084013e611253565b606091505b5091509150816112965780511561127e578060405162461bcd60e51b81526004016106e59190611f3a565b60405162461bcd60e51b81526004016106e59061240f565b60405185907f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f90600090a25050505050565b60016112d38361071a565b60068111156112de57fe5b146112fb5760405162461bcd60e51b81526004016106e590612056565b6000603d838154811061130a57fe5b600091825260208083206001600160a01b038816845260076008909302019182018152604080842060058401546004850154603b9094529190942054929450101590806113695760405162461bcd60e51b81526004016106e590612280565b825460ff16156113b8578254610100900460ff161561139f5760018301546004850154611395916119ce565b60048501556113b8565b600183015460058501546113b2916119ce565b60058501555b84156113d75760048401546113cd90826114fd565b60048501556113ec565b60058401546113e690826114fd565b60058501555b6006840154610100900460ff1615801561141c575060395461141a61140f6114f9565b6003870154906119ce565b105b1561146057600584015460048501541115821515811461145e5760068501805461ff001916610100179055603a546003860154611458916114fd565b60038601555b505b8254600160ff19909116811761ff001916610100871515021784558301819055603354603454603a5460038701546114ab938b936114a693919261080d928391906114fd565b611a10565b841515876001600160a01b0316877f7c2de587c00d75474a0c6c6fa96fd3b45dc974cd4e8a75f712bb84c950dce1b5846040516114e8919061246b565b60405180910390a450505050505050565b4290565b600082820183811015610fc55760405162461bcd60e51b81526004016106e5906120fa565b6001600160a01b0383166000908152603b602052604081205460365481101561155d5760405162461bcd60e51b81526004016106e59061209d565b611566846119c8565b6115825760405162461bcd60e51b81526004016106e5906122b7565b6001600160a01b0385166000908152603e602052604090205480156115f45760006115ac8261071a565b905060018160068111156115bc57fe5b141580156115d6575060008160068111156115d357fe5b14155b6115f25760405162461bcd60e51b81526004016106e590611fdb565b505b600061160460375461080d6114f9565b9050600061161d603854836114fd90919063ffffffff16565b9050611627611a6d565b506040805161010080820183526001600160a01b03808c1683528a8116602084019081529383018681526060840186815260006080860181815260a0870182815260c0880183815260e08901848152603d80546001810182559086528a5160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b166001600160a01b03199384161790559b517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc48d01805491909a1691161790975594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc58a015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc6890155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc788015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc887015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990950180549251151590930261ff001995151560ff199093169290921794909416179055906117d9610fce565b82516001600160a01b03166000908152603e60205260409020819055603354603454603a5492935061181b928d926114a692909161080d919082908a906114fd565b896001600160a01b0316817f90ec05050aa23d54ba425e926fe646c318e85825bc400b13a46010abe86eb2f08b87878d60405161185b9493929190611eef565b60405180910390a39998505050505050505050565b600081848411156118945760405162461bcd60e51b81526004016106e59190611f3a565b505050900390565b6040805490516323b872dd60e01b81526001600160a01b03909116906323b872dd906118d090859030908690600401611e44565b602060405180830381600087803b1580156118ea57600080fd5b505af11580156118fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119229190611d40565b61193e5760405162461bcd60e51b81526004016106e5906121db565b6001600160a01b0382166000908152603b602052604090205461196190826114fd565b6001600160a01b039092166000908152603b602052604090209190915550565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b3b151590565b6000610fc583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611870565b6001600160a01b0382166000908152603f60205260409020548111156106fe576001600160a01b03919091166000908152603f6020526040902055565b604080516060810182526000808252602082018190529181019190915290565b60405180610100016040528060006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000151581526020016000151581525090565b80356001600160a01b0381168114610fc857600080fd5b8035610fc8816124e0565b600082601f830112611afa578081fd5b813567ffffffffffffffff811115611b10578182fd5b611b23601f8201601f1916602001612474565b9150808252836020828501011115611b3a57600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215611b64578081fd5b610fc58383611ac8565b600080600060608486031215611b82578182fd5b8335611b8d816124cb565b92506020840135611b9d816124cb565b9150604084013567ffffffffffffffff811115611bb8578182fd5b611bc486828701611aea565b9150509250925092565b60008060408385031215611be0578182fd5b8235611beb816124cb565b9150602083013567ffffffffffffffff811115611c06578182fd5b611c1285828601611aea565b9150509250929050565b60008060008060008060c08789031215611c34578182fd5b611c3e8888611ac8565b95506020870135945060408701359350606087013560ff81168114611c61578283fd5b9598949750929560808101359460a0909101359350915050565b600080600060608486031215611c8f578283fd5b833567ffffffffffffffff80821115611ca6578485fd5b818601915086601f830112611cb9578485fd5b813581811115611cc7578586fd5b60209150818102611cd9838201612474565b8281528381019085850183870186018c1015611cf357898afd5b8996505b84871015611d1d57611d098c82611ac8565b835260019690960195918501918501611cf7565b5097505050508501359250611d3790508560408601611adf565b90509250925092565b600060208284031215611d51578081fd5b8151610fc5816124e0565b600060208284031215611d6d578081fd5b5035919050565b60008060408385031215611d86578182fd5b82359150611d978460208501611ac8565b90509250929050565b60008060408385031215611db2578182fd5b823591506020830135611dc4816124e0565b809150509250929050565b60008151808452611de781602086016020860161249b565b601f01601f19169290920160200192915050565b60008251611e0d81846020870161249b565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03988916815296909716602087015260408601949094526060850192909252608084015260a0830152151560c082015290151560e08201526101000190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b600060018060a01b038616825284602083015283604083015260806060830152611f1c6080830184611dcf565b9695505050505050565b6020810160078310611f3457fe5b91905290565b600060208252610fc56020830184611dcf565b60208082526023908201527f476f7665726e616e63653a3a657865637574653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602b908201527f476f7665726e616e63653a3a657865637574653a20696e76616c69642070726f60408201526a706f73616c20737461746560a81b606082015260800190565b60208082526055908201527f476f7665726e616e63653a3a70726f706f73653a206f6e65206c69766520707260408201527f6f706f73616c207065722070726f706f7365722c20666f756e6420616e20616c6060820152741c9958591e481858dd1a5d99481c1c9bdc1bdcd85b605a1b608082015260a00190565b60208082526027908201527f476f7665726e616e63653a3a5f63617374566f74653a20766f74696e672069736040820152660818db1bdcd95960ca1b606082015260800190565b6020808252603c908201527f476f7665726e616e63653a3a70726f706f73653a2070726f706f73657220766f60408201527f7465732062656c6f772070726f706f73616c207468726573686f6c6400000000606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526024908201527f476f7665726e616e63653a20696e636f727265637420766f7465457874656e6460408201526354696d6560e01b606082015260800190565b6020808252601d908201527f476f7665726e616e63653a20746f6b656e7320617265206c6f636b6564000000604082015260600190565b6020808252601590820152741513d4938e881d1c985b9cd9995c8819985a5b1959605a1b604082015260600190565b60208082526019908201527f544f524e3a207472616e7366657246726f6d206661696c656400000000000000604082015260600190565b60208082526018908201527f476f7665726e616e63653a20756e617574686f72697a65640000000000000000604082015260600190565b6020808252601d908201527f476f7665726e616e63653a20696e76616c69642064656c656761746565000000604082015260600190565b60208082526018908201527f476f7665726e616e63653a2062616c616e636520697320300000000000000000604082015260600190565b60208082526023908201527f476f7665726e616e63653a3a70726f706f73653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b60208082526026908201527f476f7665726e616e63653a3a73746174653a20696e76616c69642070726f706f6040820152651cd85b081a5960d21b606082015260800190565b6020808252602a908201527f476f7665726e616e63653a20746f6b656e732061726520616c726561647920756040820152691b99195b1959d85d195960b21b606082015260800190565b6020808252601a908201527f476f7665726e616e63653a206e6f7420617574686f72697a6564000000000000604082015260600190565b60208082526019908201527f50726f706f73616c20657865637574696f6e206661696c656400000000000000604082015260600190565b8151151581526020808301511515908201526040918201519181019190915260600190565b90815260200190565b60405181810167ffffffffffffffff8111828210171561249357600080fd5b604052919050565b60005b838110156124b657818101518382015260200161249e565b838111156124c5576000848401525b50505050565b6001600160a01b0381168114610b0757600080fd5b8015158114610b0757600080fdfea26469706673582212208c8a57d0dd9da76417112ba79eab1d38dbdf5e0a8bc014651f10bebe82ce8f9b64736f6c634300060c0033"; +const isSuperArgs$f = (xs) => xs.length > 1; +class Governance__factory extends ethers.ContractFactory { + constructor(...args) { + if (isSuperArgs$f(args)) { + super(...args); + } else { + super(_abi$k, _bytecode$f, args[0]); + } + } + getDeployTransaction(overrides) { + return super.getDeployTransaction(overrides || {}); + } + deploy(overrides) { + return super.deploy(overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new ethers.Interface(_abi$k); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$k, runner); + } +} +Governance__factory.bytecode = _bytecode$f; +Governance__factory.abi = _abi$k; + +var index$d = /*#__PURE__*/Object.freeze({ + __proto__: null, + Configuration__factory: Configuration__factory, + Core__factory: Core__factory, + Delegation__factory: Delegation__factory, + Governance__factory: Governance__factory, + mocks: index$e +}); + +const _abi$j = [ + { + inputs: [ + { + internalType: "address", + name: "_gasCompensationVault", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + inputs: [], + name: "gasCompensationVault", + outputs: [ + { + internalType: "contract IGasCompensationVault", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "_gasCompensationsLimit", + type: "uint256" + } + ], + name: "setGasCompensations", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "withdrawFromHelper", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; +class GasCompensator__factory { + static createInterface() { + return new ethers.Interface(_abi$j); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$j, runner); + } +} +GasCompensator__factory.abi = _abi$j; + +const _abi$i = [ + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "gasAmount", + type: "uint256" + } + ], + name: "compensateGas", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "withdrawToGovernance", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; +class IGasCompensationVault__factory { + static createInterface() { + return new ethers.Interface(_abi$i); + } + static connect(address, runner) { + return new ethers.Contract( + address, + _abi$i, + runner + ); + } +} +IGasCompensationVault__factory.abi = _abi$i; + +var index$c = /*#__PURE__*/Object.freeze({ + __proto__: null, + GasCompensator__factory: GasCompensator__factory, + IGasCompensationVault__factory: IGasCompensationVault__factory +}); + +const _abi$h = [ + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "withdrawTorn", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; +class ITornadoVault__factory { + static createInterface() { + return new ethers.Interface(_abi$h); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$h, runner); + } +} +ITornadoVault__factory.abi = _abi$h; + +var index$b = /*#__PURE__*/Object.freeze({ + __proto__: null, + ITornadoVault__factory: ITornadoVault__factory +}); + +const _abi$g = [ + { + inputs: [ + { + internalType: "address", + name: "_gasCompLogic", + type: "address" + }, + { + internalType: "address", + name: "_userVault", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + } + ], + name: "Delegated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "id", + type: "uint256" + }, + { + indexed: true, + internalType: "address", + name: "proposer", + type: "address" + }, + { + indexed: false, + internalType: "address", + name: "target", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "startTime", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "endTime", + type: "uint256" + }, + { + indexed: false, + internalType: "string", + name: "description", + type: "string" + } + ], + name: "ProposalCreated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "proposalId", + type: "uint256" + } + ], + name: "ProposalExecuted", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + } + ], + name: "Undelegated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + indexed: true, + internalType: "address", + name: "voter", + type: "address" + }, + { + indexed: true, + internalType: "bool", + name: "support", + type: "bool" + }, + { + indexed: false, + internalType: "uint256", + name: "votes", + type: "uint256" + } + ], + name: "Voted", + type: "event" + }, + { + inputs: [], + name: "CLOSING_PERIOD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "EXECUTION_DELAY", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "EXECUTION_EXPIRATION", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "PROPOSAL_THRESHOLD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "QUORUM_VOTES", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "VOTE_EXTEND_TIME", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "VOTING_DELAY", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "VOTING_PERIOD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "canWithdrawAfter", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address[]", + name: "from", + type: "address[]" + }, + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + internalType: "bool", + name: "support", + type: "bool" + } + ], + name: "castDelegatedVote", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + internalType: "bool", + name: "support", + type: "bool" + } + ], + name: "castVote", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + } + ], + name: "checkIfQuorumReached", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address" + } + ], + name: "delegate", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "delegatedTo", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + } + ], + name: "execute", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [], + name: "gasCompensationVault", + outputs: [ + { + internalType: "contract IGasCompensationVault", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + internalType: "address", + name: "voter", + type: "address" + } + ], + name: "getReceipt", + outputs: [ + { + components: [ + { + internalType: "bool", + name: "hasVoted", + type: "bool" + }, + { + internalType: "bool", + name: "support", + type: "bool" + }, + { + internalType: "uint256", + name: "votes", + type: "uint256" + } + ], + internalType: "struct Governance.Receipt", + name: "", + type: "tuple" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "hasAccountVoted", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_torn", + type: "address" + } + ], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "latestProposalIds", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256" + }, + { + internalType: "uint8", + name: "v", + type: "uint8" + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32" + } + ], + name: "lock", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "lockWithApproval", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "lockedBalance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "proposalCount", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + name: "proposals", + outputs: [ + { + internalType: "address", + name: "proposer", + type: "address" + }, + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "uint256", + name: "startTime", + type: "uint256" + }, + { + internalType: "uint256", + name: "endTime", + type: "uint256" + }, + { + internalType: "uint256", + name: "forVotes", + type: "uint256" + }, + { + internalType: "uint256", + name: "againstVotes", + type: "uint256" + }, + { + internalType: "bool", + name: "executed", + type: "bool" + }, + { + internalType: "bool", + name: "extended", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "string", + name: "description", + type: "string" + } + ], + name: "propose", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address" + }, + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "string", + name: "description", + type: "string" + } + ], + name: "proposeByDelegate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "returnMultisigAddress", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "pure", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "closingPeriod", + type: "uint256" + } + ], + name: "setClosingPeriod", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "executionDelay", + type: "uint256" + } + ], + name: "setExecutionDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "executionExpiration", + type: "uint256" + } + ], + name: "setExecutionExpiration", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "gasCompensationsLimit", + type: "uint256" + } + ], + name: "setGasCompensations", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalThreshold", + type: "uint256" + } + ], + name: "setProposalThreshold", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "quorumVotes", + type: "uint256" + } + ], + name: "setQuorumVotes", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "voteExtendTime", + type: "uint256" + } + ], + name: "setVoteExtendTime", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "votingDelay", + type: "uint256" + } + ], + name: "setVotingDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "votingPeriod", + type: "uint256" + } + ], + name: "setVotingPeriod", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + } + ], + name: "state", + outputs: [ + { + internalType: "enum Governance.ProposalState", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "torn", + outputs: [ + { + internalType: "contract TORN", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "undelegate", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "unlock", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "userVault", + outputs: [ + { + internalType: "contract ITornadoVault", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "version", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "pure", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "withdrawFromHelper", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + stateMutability: "payable", + type: "receive" + } +]; +const _bytecode$e = "0x60c06040523480156200001157600080fd5b5060405162002e3138038062002e31833981016040819052620000349162000153565b60005482908290610100900460ff1680620000545750620000546200010c565b8062000063575060005460ff16155b6200008b5760405162461bcd60e51b8152600401620000829062000191565b60405180910390fd5b600054610100900460ff16158015620000b7576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b03191661dead179055620000d562000112565b8015620000e8576000805461ff00191690555b506001600160601b0319606091821b811660805291901b1660a05250620001f89050565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b6000806040838503121562000166578182fd5b82516200017381620001df565b60208401519092506200018681620001df565b809150509250929050565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b6001600160a01b0381168114620001f557600080fd5b50565b60805160601c60a05160601c612bf162000240600039806108c55280610e525280610f4a52806114505280611ee1525080610d545280610fb75280611cf75250612bf16000f3fe60806040526004361061026b5760003560e01c80639ae697bf11610144578063d6159fe5116100b6578063e525aa081161007a578063e525aa08146106ff578063ea0217cf1461071f578063ece40cc11461073f578063ef3f8bb11461075f578063f0b768921461077f578063fe0d94c11461079f57610272565b8063d6159fe514610668578063d6f0948c1461067d578063da35c6641461069d578063e23a9a52146106b2578063e4917d9f146106df57610272565b8063b1610d7e11610108578063b1610d7e146105be578063b54426c8146105d3578063b859f11b146105f3578063c0c0e82014610613578063c4d66de814610633578063ce25d71c1461065357610272565b80639ae697bf1461053f5780639daafec71461055f578063a6c2660314610574578063a72edda314610589578063adf898a4146105a957610272565b80635c19a95c116101dd5780636dc2dc6c116101a15780636dc2dc6c1461049557806370b0f660146104b55780638b34a960146104d557806392ab89bb146104ea578063932d5157146104ff5780639a9e3b6e1461051f57610272565b80635c19a95c1461040b5780636198e3391461042b57806365da12641461044b578063671dd2751461046b5780636a6617551461048057610272565b806332687ec11161022f57806332687ec11461034557806337f135d7146103725780633e4f49e61461038757806354fd4d50146103b4578063587a6ecb146103d657806358e9fff0146103eb57610272565b8063013cf08b1461027757806302ec8f9e146102b457806315373e3d146102d657806317977c61146102f657806324b0435f1461032357610272565b3661027257005b600080fd5b34801561028357600080fd5b506102976102923660046123c5565b6107b2565b6040516102ab9897969594939291906124d1565b60405180910390f35b3480156102c057600080fd5b506102d46102cf3660046123c5565b610817565b005b3480156102e257600080fd5b506102d46102f1366004612409565b610844565b34801561030257600080fd5b506103166103113660046121bc565b610947565b6040516102ab9190612b38565b34801561032f57600080fd5b50610338610959565b6040516102ab9190612480565b34801561035157600080fd5b506103656103603660046123c5565b610971565b6040516102ab919061258f565b34801561037e57600080fd5b506103166109bf565b34801561039357600080fd5b506103a76103a23660046123c5565b6109c5565b6040516102ab919061259a565b3480156103c057600080fd5b506103c9610b01565b6040516102ab91906125ae565b3480156103e257600080fd5b50610316610b38565b3480156103f757600080fd5b506103166104063660046121d7565b610b3e565b34801561041757600080fd5b506102d46104263660046121bc565b610b8c565b34801561043757600080fd5b506102d46104463660046123c5565b610cae565b34801561045757600080fd5b506103386104663660046121bc565b610dc0565b34801561047757600080fd5b50610316610ddb565b34801561048c57600080fd5b50610316610de1565b3480156104a157600080fd5b506102d46104b03660046123c5565b610de7565b3480156104c157600080fd5b506102d46104d03660046123c5565b610e2c565b3480156104e157600080fd5b50610338610e50565b3480156104f657600080fd5b506102d4610e74565b34801561050b57600080fd5b506102d461051a3660046123c5565b610efb565b34801561052b57600080fd5b506102d461053a3660046123c5565b610f7f565b34801561054b57600080fd5b5061031661055a3660046121bc565b610fa3565b34801561056b57600080fd5b50610338610fb5565b34801561058057600080fd5b50610316610fd9565b34801561059557600080fd5b506103166105a43660046121bc565b610fdf565b3480156105b557600080fd5b50610338610ff1565b3480156105ca57600080fd5b50610316611000565b3480156105df57600080fd5b506102d46105ee3660046123c5565b611006565b3480156105ff57600080fd5b506102d461060e3660046122e4565b611013565b34801561061f57600080fd5b506102d461062e3660046123c5565b611061565b34801561063f57600080fd5b506102d461064e3660046121bc565b611085565b34801561065f57600080fd5b506103166112c9565b34801561067457600080fd5b506103166112cf565b34801561068957600080fd5b50610316610698366004612237565b6112d5565b3480156106a957600080fd5b506103166112eb565b3480156106be57600080fd5b506106d26106cd3660046123dd565b6112f5565b6040516102ab9190612b13565b3480156106eb57600080fd5b506102d46106fa3660046123c5565b611367565b34801561070b57600080fd5b5061036561071a3660046123dd565b61138b565b34801561072b57600080fd5b506102d461073a3660046123c5565b6113ce565b34801561074b57600080fd5b506102d461075a3660046123c5565b6113f2565b34801561076b57600080fd5b506102d461077a3660046123c5565b611416565b34801561078b57600080fd5b506102d461079a366004612285565b6114a5565b6102d46107ad3660046123c5565b611525565b603d81815481106107bf57fe5b600091825260209091206008909102018054600182015460028301546003840154600485015460058601546006909601546001600160a01b039586169750949093169491939092919060ff8082169161010090041688565b33301461083f5760405162461bcd60e51b815260040161083690612881565b60405180910390fd5b603555565b3361084f833361138b565b158015610862575061086083610971565b155b333214610870576000610874565b6152085b61ffff1681156109355760005a905061088e3387876116b7565b60006108ab6127106108a5856108a55a87906118e8565b9061192a565b60405163a99ce80760e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a99ce807906108fc9088908590600401612494565b600060405180830381600087803b15801561091657600080fd5b505af115801561092a573d6000803e3d6000fd5b505050505050610940565b6109403386866116b7565b5050505050565b603e6020526000908152604090205481565b73b04e030140b30c27bcdfaafffa98c57d80eda7b490565b6000603554603d838154811061098357fe5b906000526020600020906008020160050154603d84815481106109a257fe5b90600052602060002090600802016004015401101590505b919050565b60335481565b60006109cf6112eb565b82111580156109de5750600082115b6109fa5760405162461bcd60e51b8152600401610836906129de565b6000603d8381548110610a0957fe5b906000526020600020906008020190508060020154610a2661194f565b11610a355760009150506109ba565b8060030154610a4261194f565b11610a515760019150506109ba565b80600501548160040154111580610a7357506035548160050154826004015401105b15610a825760029150506109ba565b600681015460ff1615610a995760059150506109ba565b610ab86034546108a5603354846003015461192a90919063ffffffff16565b610ac061194f565b10610acf5760069150506109ba565b6033546003820154610ae09161192a565b610ae861194f565b10610af75760049150506109ba565b60039150506109ba565b60408051808201909152601981527f322e6c6f74746572792d616e642d6761732d7570677261646500000000000000602082015290565b603a5481565b6001600160a01b038381166000908152603c60205260408120549091163314610b795760405162461bcd60e51b815260040161083690612a6e565b610b84848484611953565b949350505050565b336000818152603c60205260409020546001600160a01b039081169190831614801590610bc257506001600160a01b0382163014155b8015610bd657506001600160a01b03821615155b8015610bf45750806001600160a01b0316826001600160a01b031614155b610c105760405162461bcd60e51b8152600401610836906128b8565b6001600160a01b03811615610c56576040516001600160a01b0382169033907f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7290600090a35b336000818152603c602052604080822080546001600160a01b0319166001600160a01b03871690811790915590519092917f4bc154dd35d6a5cb9206482ecb473cdbf2473006d6bce728b9cc0741bcc59ea291a35050565b336000908152603f6020526040902054610cc661194f565b11610ce35760405162461bcd60e51b8152600401610836906127e9565b60408051808201825260208082527f476f7665726e616e63653a20696e73756666696369656e742062616c616e636581830152336000908152603b9091529190912054610d31918390611ca1565b336000818152603b6020526040908190209290925590516391fe357360e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316916391fe357391610d9291908590600401612494565b600060405180830381600087803b158015610dac57600080fd5b505af1158015610940573d6000803e3d6000fd5b603c602052600090815260409020546001600160a01b031681565b60355481565b60345481565b333014610e065760405162461bcd60e51b815260040161083690612881565b6033548110610e275760405162461bcd60e51b8152600401610836906127a5565b603a55565b333014610e4b5760405162461bcd60e51b815260040161083690612881565b603755565b7f000000000000000000000000000000000000000000000000000000000000000081565b336000908152603c60205260409020546001600160a01b031680610eaa5760405162461bcd60e51b815260040161083690612a24565b336000818152603c602052604080822080546001600160a01b0319169055516001600160a01b03841692917f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7291a350565b610f03610959565b6001600160a01b0316336001600160a01b031614610f335760405162461bcd60e51b8152600401610836906129b7565b604051633a08bde160e21b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e822f78490610d92908490600401612b38565b333014610f9e5760405162461bcd60e51b815260040161083690612881565b603455565b603b6020526000908152604090205481565b7f000000000000000000000000000000000000000000000000000000000000000081565b60365481565b603f6020526000908152604090205481565b6040546001600160a01b031681565b60385481565b6110103382611ccd565b50565b60008351116110345760405162461bcd60e51b815260040161083690612857565b61105c838383611044863361138b565b158015611057575061105586610971565b155b611dd2565b505050565b3330146110805760405162461bcd60e51b815260040161083690612881565b603955565b600054610100900460ff168061109e575061109e612016565b806110ac575060005460ff16155b6110c85760405162461bcd60e51b815260040161083690612969565b600054610100900460ff161580156110f3576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b038085166001600160a01b03199283161783558251610100818101855230825261dead602083019081526000958301868152606084018781526080850188815260a08601898152600160c0880181815260e089018c8152603d80549384018155909c52975160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b16928c169290921790915594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc4860180549190991699169890981790965590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc5830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc682015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc784015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc8830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990910180549351151590920261ff001991151560ff1990941693909317169190911790556112b361201c565b80156112c5576000805461ff00191690555b5050565b60395481565b60375481565b60006112e2338484611953565b90505b92915050565b603d546000190190565b6112fd6120b6565b603d838154811061130a57fe5b600091825260208083206001600160a01b0395909516835260089190910290930160070183526040908190208151606081018352815460ff8082161515835261010090910416151594810194909452600101549083015250919050565b3330146113865760405162461bcd60e51b815260040161083690612881565b603355565b6000603d838154811061139a57fe5b600091825260208083206001600160a01b03861684526007600890930201919091019052604090205460ff16905092915050565b3330146113ed5760405162461bcd60e51b815260040161083690612881565b603855565b3330146114115760405162461bcd60e51b815260040161083690612881565b603655565b61141e610959565b6001600160a01b0316336001600160a01b03161461144e5760405162461bcd60e51b8152600401610836906129b7565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108fc611485834761205d565b6040518115909202916000818181858888f1935050505061101057600080fd5b60408054905163d505accf60e01b81526001600160a01b039091169063d505accf906114e190899030908a908a908a908a908a90600401612517565b600060405180830381600087803b1580156114fb57600080fd5b505af115801561150f573d6000803e3d6000fd5b5050505061151d8686611ccd565b505050505050565b6004611530826109c5565b600681111561153b57fe5b146115585760405162461bcd60e51b815260040161083690612604565b6000603d828154811061156757fe5b600091825260209091206006600890920201908101805460ff191660019081179091558101549091506001600160a01b03166115a281612073565b6115be5760405162461bcd60e51b8152600401610836906125c1565b60408051600481526024810182526020810180516001600160e01b03166306e60b1760e31b17905290516000916060916001600160a01b0385169161160291612464565b600060405180830381855af49150503d806000811461163d576040519150601f19603f3d011682016040523d82523d6000602084013e611642565b606091505b5091509150816116855780511561166d578060405162461bcd60e51b815260040161083691906125ae565b60405162461bcd60e51b815260040161083690612aa5565b60405185907f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f90600090a25050505050565b60016116c2836109c5565b60068111156116cd57fe5b146116ea5760405162461bcd60e51b8152600401610836906126ca565b6000603d83815481106116f957fe5b600091825260208083206001600160a01b038816845260076008909302019182018152604080842060058401546004850154603b9094529190942054929450101590806117585760405162461bcd60e51b8152600401610836906128ef565b825460ff16156117a7578254610100900460ff161561178e5760018301546004850154611784916118e8565b60048501556117a7565b600183015460058501546117a1916118e8565b60058501555b84156117c65760048401546117bc908261192a565b60048501556117db565b60058401546117d5908261192a565b60058501555b6006840154610100900460ff1615801561180b57506039546118096117fe61194f565b6003870154906118e8565b105b1561184f57600584015460048501541115821515811461184d5760068501805461ff001916610100179055603a5460038601546118479161192a565b60038601555b505b8254600160ff19909116811761ff001916610100871515021784558301819055603354603454603a54600387015461189a938b936118959391926108a59283919061192a565b612079565b841515876001600160a01b0316877f7c2de587c00d75474a0c6c6fa96fd3b45dc974cd4e8a75f712bb84c950dce1b5846040516118d79190612b38565b60405180910390a450505050505050565b60006112e283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611ca1565b6000828201838110156112e25760405162461bcd60e51b81526004016108369061276e565b4290565b6001600160a01b0383166000908152603b602052604081205460365481101561198e5760405162461bcd60e51b815260040161083690612711565b61199784612073565b6119b35760405162461bcd60e51b815260040161083690612926565b6001600160a01b0385166000908152603e60205260409020548015611a255760006119dd826109c5565b905060018160068111156119ed57fe5b14158015611a0757506000816006811115611a0457fe5b14155b611a235760405162461bcd60e51b81526004016108369061264f565b505b6000611a356037546108a561194f565b90506000611a4e6038548361192a90919063ffffffff16565b9050611a586120d6565b506040805161010080820183526001600160a01b03808c1683528a8116602084019081529383018681526060840186815260006080860181815260a0870182815260c0880183815260e08901848152603d80546001810182559086528a5160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b166001600160a01b03199384161790559b517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc48d01805491909a1691161790975594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc58a015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc6890155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc788015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc887015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990950180549251151590930261ff001995151560ff19909316929092179490941617905590611c0a6112eb565b82516001600160a01b03166000908152603e60205260409020819055603354603454603a54929350611c4c928d926118959290916108a5919082908a9061192a565b896001600160a01b0316817f90ec05050aa23d54ba425e926fe646c318e85825bc400b13a46010abe86eb2f08b87878d604051611c8c9493929190612558565b60405180910390a39998505050505050505050565b60008184841115611cc55760405162461bcd60e51b815260040161083691906125ae565b505050900390565b6040805490516323b872dd60e01b81526001600160a01b03909116906323b872dd90611d219085907f00000000000000000000000000000000000000000000000000000000000000009086906004016124ad565b602060405180830381600087803b158015611d3b57600080fd5b505af1158015611d4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d7391906123a9565b611d8f5760405162461bcd60e51b815260040161083690612820565b6001600160a01b0382166000908152603b6020526040902054611db2908261192a565b6001600160a01b039092166000908152603b602052604090209190915550565b3381328214611de2576000611de6565b6152085b61ffff168115611f515760005a905060005b8851811015611eaf576000898281518110611e0f57fe5b6020908102919091018101516001600160a01b038082166000908152603c90935260409092205490925016331480611e4f57506001600160a01b03811633145b611e6b5760405162461bcd60e51b815260040161083690612a6e565b861580611e7f5750611e7d898261138b565b155b611e9b5760405162461bcd60e51b815260040161083690612adc565b611ea6818a8a6116b7565b50600101611df8565b506000611ec76127106108a5856108a55a87906118e8565b60405163a99ce80760e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a99ce80790611f189088908590600401612494565b600060405180830381600087803b158015611f3257600080fd5b505af1158015611f46573d6000803e3d6000fd5b50505050505061200d565b60005b875181101561200b576000888281518110611f6b57fe5b6020908102919091018101516001600160a01b038082166000908152603c90935260409092205490925016331480611fab57506001600160a01b03811633145b611fc75760405162461bcd60e51b815260040161083690612a6e565b851580611fdb5750611fd9888261138b565b155b611ff75760405162461bcd60e51b815260040161083690612adc565b6120028189896116b7565b50600101611f54565b505b50505050505050565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b600081831061206c57816112e2565b5090919050565b3b151590565b6001600160a01b0382166000908152603f60205260409020548111156112c5576001600160a01b03919091166000908152603f6020526040902055565b604080516060810182526000808252602082018190529181019190915290565b60405180610100016040528060006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000151581526020016000151581525090565b80356001600160a01b03811681146112e557600080fd5b80356112e581612bad565b600082601f830112612163578081fd5b813567ffffffffffffffff811115612179578182fd5b61218c601f8201601f1916602001612b41565b91508082528360208285010111156121a357600080fd5b8060208401602084013760009082016020015292915050565b6000602082840312156121cd578081fd5b6112e28383612131565b6000806000606084860312156121eb578182fd5b83356121f681612b98565b9250602084013561220681612b98565b9150604084013567ffffffffffffffff811115612221578182fd5b61222d86828701612153565b9150509250925092565b60008060408385031215612249578182fd5b823561225481612b98565b9150602083013567ffffffffffffffff81111561226f578182fd5b61227b85828601612153565b9150509250929050565b60008060008060008060c0878903121561229d578182fd5b6122a78888612131565b95506020870135945060408701359350606087013560ff811681146122ca578283fd5b9598949750929560808101359460a0909101359350915050565b6000806000606084860312156122f8578283fd5b833567ffffffffffffffff8082111561230f578485fd5b818601915086601f830112612322578485fd5b813581811115612330578586fd5b60209150818102612342838201612b41565b8281528381019085850183870186018c101561235c57898afd5b8996505b84871015612386576123728c82612131565b835260019690960195918501918501612360565b50975050505085013592506123a090508560408601612148565b90509250925092565b6000602082840312156123ba578081fd5b81516112e281612bad565b6000602082840312156123d6578081fd5b5035919050565b600080604083850312156123ef578182fd5b823591506124008460208501612131565b90509250929050565b6000806040838503121561241b578182fd5b82359150602083013561242d81612bad565b809150509250929050565b60008151808452612450816020860160208601612b68565b601f01601f19169290920160200192915050565b60008251612476818460208701612b68565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03988916815296909716602087015260408601949094526060850192909252608084015260a0830152151560c082015290151560e08201526101000190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b600060018060a01b0386168252846020830152836040830152608060608301526125856080830184612438565b9695505050505050565b901515815260200190565b60208101600783106125a857fe5b91905290565b6000602082526112e26020830184612438565b60208082526023908201527f476f7665726e616e63653a3a657865637574653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602b908201527f476f7665726e616e63653a3a657865637574653a20696e76616c69642070726f60408201526a706f73616c20737461746560a81b606082015260800190565b60208082526055908201527f476f7665726e616e63653a3a70726f706f73653a206f6e65206c69766520707260408201527f6f706f73616c207065722070726f706f7365722c20666f756e6420616e20616c6060820152741c9958591e481858dd1a5d99481c1c9bdc1bdcd85b605a1b608082015260a00190565b60208082526027908201527f476f7665726e616e63653a3a5f63617374566f74653a20766f74696e672069736040820152660818db1bdcd95960ca1b606082015260800190565b6020808252603c908201527f476f7665726e616e63653a3a70726f706f73653a2070726f706f73657220766f60408201527f7465732062656c6f772070726f706f73616c207468726573686f6c6400000000606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526024908201527f476f7665726e616e63653a20696e636f727265637420766f7465457874656e6460408201526354696d6560e01b606082015260800190565b6020808252601d908201527f476f7665726e616e63653a20746f6b656e7320617265206c6f636b6564000000604082015260600190565b60208082526019908201527f544f524e3a207472616e7366657246726f6d206661696c656400000000000000604082015260600190565b60208082526010908201526f43616e206e6f7420626520656d70747960801b604082015260600190565b60208082526018908201527f476f7665726e616e63653a20756e617574686f72697a65640000000000000000604082015260600190565b6020808252601d908201527f476f7665726e616e63653a20696e76616c69642064656c656761746565000000604082015260600190565b60208082526018908201527f476f7665726e616e63653a2062616c616e636520697320300000000000000000604082015260600190565b60208082526023908201527f476f7665726e616e63653a3a70726f706f73653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252600d908201526c6f6e6c79206d756c746973696760981b604082015260600190565b60208082526026908201527f476f7665726e616e63653a3a73746174653a20696e76616c69642070726f706f6040820152651cd85b081a5960d21b606082015260800190565b6020808252602a908201527f476f7665726e616e63653a20746f6b656e732061726520616c726561647920756040820152691b99195b1959d85d195960b21b606082015260800190565b6020808252601a908201527f476f7665726e616e63653a206e6f7420617574686f72697a6564000000000000604082015260600190565b60208082526019908201527f50726f706f73616c20657865637574696f6e206661696c656400000000000000604082015260600190565b60208082526019908201527f476f7665726e616e63653a20766f74656420616c726561647900000000000000604082015260600190565b8151151581526020808301511515908201526040918201519181019190915260600190565b90815260200190565b60405181810167ffffffffffffffff81118282101715612b6057600080fd5b604052919050565b60005b83811015612b83578181015183820152602001612b6b565b83811115612b92576000848401525b50505050565b6001600160a01b038116811461101057600080fd5b801515811461101057600080fdfea2646970667358221220a9ae24380315e86f1632949f167f44c17322fe48a1385357edbfdf8bc543469764736f6c634300060c0033"; +const isSuperArgs$e = (xs) => xs.length > 1; +class GovernanceGasUpgrade__factory extends ethers.ContractFactory { + constructor(...args) { + if (isSuperArgs$e(args)) { + super(...args); + } else { + super(_abi$g, _bytecode$e, args[0]); + } + } + getDeployTransaction(_gasCompLogic, _userVault, overrides) { + return super.getDeployTransaction( + _gasCompLogic, + _userVault, + overrides || {} + ); + } + deploy(_gasCompLogic, _userVault, overrides) { + return super.deploy(_gasCompLogic, _userVault, overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new ethers.Interface(_abi$g); + } + static connect(address, runner) { + return new ethers.Contract( + address, + _abi$g, + runner + ); + } +} +GovernanceGasUpgrade__factory.bytecode = _bytecode$e; +GovernanceGasUpgrade__factory.abi = _abi$g; + +const _abi$f = [ + { + inputs: [ + { + internalType: "address", + name: "_userVault", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + } + ], + name: "Delegated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "id", + type: "uint256" + }, + { + indexed: true, + internalType: "address", + name: "proposer", + type: "address" + }, + { + indexed: false, + internalType: "address", + name: "target", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "startTime", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "endTime", + type: "uint256" + }, + { + indexed: false, + internalType: "string", + name: "description", + type: "string" + } + ], + name: "ProposalCreated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "proposalId", + type: "uint256" + } + ], + name: "ProposalExecuted", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + } + ], + name: "Undelegated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + indexed: true, + internalType: "address", + name: "voter", + type: "address" + }, + { + indexed: true, + internalType: "bool", + name: "support", + type: "bool" + }, + { + indexed: false, + internalType: "uint256", + name: "votes", + type: "uint256" + } + ], + name: "Voted", + type: "event" + }, + { + inputs: [], + name: "CLOSING_PERIOD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "EXECUTION_DELAY", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "EXECUTION_EXPIRATION", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "PROPOSAL_THRESHOLD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "QUORUM_VOTES", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "VOTE_EXTEND_TIME", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "VOTING_DELAY", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "VOTING_PERIOD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "canWithdrawAfter", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address[]", + name: "from", + type: "address[]" + }, + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + internalType: "bool", + name: "support", + type: "bool" + } + ], + name: "castDelegatedVote", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + internalType: "bool", + name: "support", + type: "bool" + } + ], + name: "castVote", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address" + } + ], + name: "delegate", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "delegatedTo", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + } + ], + name: "execute", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + internalType: "address", + name: "voter", + type: "address" + } + ], + name: "getReceipt", + outputs: [ + { + components: [ + { + internalType: "bool", + name: "hasVoted", + type: "bool" + }, + { + internalType: "bool", + name: "support", + type: "bool" + }, + { + internalType: "uint256", + name: "votes", + type: "uint256" + } + ], + internalType: "struct Governance.Receipt", + name: "", + type: "tuple" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_torn", + type: "address" + } + ], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "latestProposalIds", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256" + }, + { + internalType: "uint8", + name: "v", + type: "uint8" + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32" + } + ], + name: "lock", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "lockWithApproval", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "lockedBalance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "proposalCount", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + name: "proposals", + outputs: [ + { + internalType: "address", + name: "proposer", + type: "address" + }, + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "uint256", + name: "startTime", + type: "uint256" + }, + { + internalType: "uint256", + name: "endTime", + type: "uint256" + }, + { + internalType: "uint256", + name: "forVotes", + type: "uint256" + }, + { + internalType: "uint256", + name: "againstVotes", + type: "uint256" + }, + { + internalType: "bool", + name: "executed", + type: "bool" + }, + { + internalType: "bool", + name: "extended", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "string", + name: "description", + type: "string" + } + ], + name: "propose", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address" + }, + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "string", + name: "description", + type: "string" + } + ], + name: "proposeByDelegate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "closingPeriod", + type: "uint256" + } + ], + name: "setClosingPeriod", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "executionDelay", + type: "uint256" + } + ], + name: "setExecutionDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "executionExpiration", + type: "uint256" + } + ], + name: "setExecutionExpiration", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalThreshold", + type: "uint256" + } + ], + name: "setProposalThreshold", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "quorumVotes", + type: "uint256" + } + ], + name: "setQuorumVotes", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "voteExtendTime", + type: "uint256" + } + ], + name: "setVoteExtendTime", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "votingDelay", + type: "uint256" + } + ], + name: "setVotingDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "votingPeriod", + type: "uint256" + } + ], + name: "setVotingPeriod", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + } + ], + name: "state", + outputs: [ + { + internalType: "enum Governance.ProposalState", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "torn", + outputs: [ + { + internalType: "contract TORN", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "undelegate", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "unlock", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "userVault", + outputs: [ + { + internalType: "contract ITornadoVault", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "version", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "pure", + type: "function" + } +]; +const _bytecode$d = "0x60a06040523480156200001157600080fd5b506040516200277e3803806200277e833981016040819052620000349162000142565b600054610100900460ff168062000050575062000050620000fb565b806200005f575060005460ff16155b620000875760405162461bcd60e51b81526004016200007e9062000172565b60405180910390fd5b600054610100900460ff16158015620000b3576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b03191661dead179055620000d162000101565b8015620000e4576000805461ff00191690555b5060601b6001600160601b031916608052620001c0565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b60006020828403121562000154578081fd5b81516001600160a01b03811681146200016b578182fd5b9392505050565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b60805160601c612596620001e860003980610af15280610cb3528061194752506125966000f3fe6080604052600436106102255760003560e01c80639daafec711610123578063ce25d71c116100ab578063e4917d9f1161006f578063e4917d9f1461061b578063ea0217cf1461063b578063ece40cc11461065b578063f0b768921461067b578063fe0d94c11461069b57610225565b8063ce25d71c1461058f578063d6159fe5146105a4578063d6f0948c146105b9578063da35c664146105d9578063e23a9a52146105ee57610225565b8063b1610d7e116100f2578063b1610d7e146104fa578063b54426c81461050f578063b859f11b1461052f578063c0c0e8201461054f578063c4d66de81461056f57610225565b80639daafec71461049b578063a6c26603146104b0578063a72edda3146104c5578063adf898a4146104e557610225565b80635c19a95c116101b15780636dc2dc6c116101755780636dc2dc6c1461040657806370b0f6601461042657806392ab89bb146104465780639a9e3b6e1461045b5780639ae697bf1461047b57610225565b80635c19a95c1461036f5780636198e3391461038f57806365da1264146103af578063671dd275146103dc5780636a661755146103f157610225565b806337f135d7116101f857806337f135d7146102d65780633e4f49e6146102eb57806354fd4d5014610318578063587a6ecb1461033a57806358e9fff01461034f57610225565b8063013cf08b1461022a57806302ec8f9e1461026757806315373e3d1461028957806317977c61146102a9575b600080fd5b34801561023657600080fd5b5061024a610245366004611dfd565b6106ae565b60405161025e989796959493929190611f09565b60405180910390f35b34801561027357600080fd5b50610287610282366004611dfd565b610713565b005b34801561029557600080fd5b506102876102a4366004611e41565b610740565b3480156102b557600080fd5b506102c96102c4366004611bf4565b61074f565b60405161025e91906124dd565b3480156102e257600080fd5b506102c9610761565b3480156102f757600080fd5b5061030b610306366004611dfd565b610767565b60405161025e9190611fc7565b34801561032457600080fd5b5061032d6108aa565b60405161025e9190611fdb565b34801561034657600080fd5b506102c96108d5565b34801561035b57600080fd5b506102c961036a366004611c0f565b6108db565b34801561037b57600080fd5b5061028761038a366004611bf4565b610929565b34801561039b57600080fd5b506102876103aa366004611dfd565b610a4b565b3480156103bb57600080fd5b506103cf6103ca366004611bf4565b610b64565b60405161025e9190611eb8565b3480156103e857600080fd5b506102c9610b7f565b3480156103fd57600080fd5b506102c9610b85565b34801561041257600080fd5b50610287610421366004611dfd565b610b8b565b34801561043257600080fd5b50610287610441366004611dfd565b610bd0565b34801561045257600080fd5b50610287610bf4565b34801561046757600080fd5b50610287610476366004611dfd565b610c7b565b34801561048757600080fd5b506102c9610496366004611bf4565b610c9f565b3480156104a757600080fd5b506103cf610cb1565b3480156104bc57600080fd5b506102c9610cd5565b3480156104d157600080fd5b506102c96104e0366004611bf4565b610cdb565b3480156104f157600080fd5b506103cf610ced565b34801561050657600080fd5b506102c9610cfc565b34801561051b57600080fd5b5061028761052a366004611dfd565b610d02565b34801561053b57600080fd5b5061028761054a366004611d1c565b610d0f565b34801561055b57600080fd5b5061028761056a366004611dfd565b610dc6565b34801561057b57600080fd5b5061028761058a366004611bf4565b610dea565b34801561059b57600080fd5b506102c961102d565b3480156105b057600080fd5b506102c9611033565b3480156105c557600080fd5b506102c96105d4366004611c6f565b611039565b3480156105e557600080fd5b506102c961104f565b3480156105fa57600080fd5b5061060e610609366004611e15565b611059565b60405161025e91906124b8565b34801561062757600080fd5b50610287610636366004611dfd565b6110cb565b34801561064757600080fd5b50610287610656366004611dfd565b6110ef565b34801561066757600080fd5b50610287610676366004611dfd565b611113565b34801561068757600080fd5b50610287610696366004611cbd565b611137565b6102876106a9366004611dfd565b6111b7565b603d81815481106106bb57fe5b600091825260209091206008909102018054600182015460028301546003840154600485015460058601546006909601546001600160a01b039586169750949093169491939092919060ff8082169161010090041688565b33301461073b5760405162461bcd60e51b815260040161073290612284565b60405180910390fd5b603555565b61074b338383611349565b5050565b603e6020526000908152604090205481565b60335481565b600061077161104f565b82111580156107805750600082115b61079c5760405162461bcd60e51b8152600401610732906123ba565b6000603d83815481106107ab57fe5b9060005260206000209060080201905080600201546107c861157a565b116107d75760009150506108a5565b80600301546107e461157a565b116107f35760019150506108a5565b8060050154816004015411158061081557506035548160050154826004015401105b156108245760029150506108a5565b600681015460ff161561083b5760059150506108a5565b61086060345461085a603354846003015461157e90919063ffffffff16565b9061157e565b61086861157a565b106108775760069150506108a5565b60335460038201546108889161157e565b61089061157a565b1061089f5760049150506108a5565b60039150505b919050565b60408051808201909152601181527019173b30bab63a16b6b4b3b930ba34b7b760791b602082015290565b603a5481565b6001600160a01b038381166000908152603c602052604081205490911633146109165760405162461bcd60e51b81526004016107329061244a565b6109218484846115a3565b949350505050565b336000818152603c60205260409020546001600160a01b03908116919083161480159061095f57506001600160a01b0382163014155b801561097357506001600160a01b03821615155b80156109915750806001600160a01b0316826001600160a01b031614155b6109ad5760405162461bcd60e51b8152600401610732906122bb565b6001600160a01b038116156109f3576040516001600160a01b0382169033907f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7290600090a35b336000818152603c602052604080822080546001600160a01b0319166001600160a01b03871690811790915590519092917f4bc154dd35d6a5cb9206482ecb473cdbf2473006d6bce728b9cc0741bcc59ea291a35050565b336000908152603f6020526040902054610a6361157a565b11610a805760405162461bcd60e51b815260040161073290612216565b60408051808201825260208082527f476f7665726e616e63653a20696e73756666696369656e742062616c616e636581830152336000908152603b9091529190912054610ace9183906118f1565b336000818152603b6020526040908190209290925590516391fe357360e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316916391fe357391610b2f91908590600401611ecc565b600060405180830381600087803b158015610b4957600080fd5b505af1158015610b5d573d6000803e3d6000fd5b5050505050565b603c602052600090815260409020546001600160a01b031681565b60355481565b60345481565b333014610baa5760405162461bcd60e51b815260040161073290612284565b6033548110610bcb5760405162461bcd60e51b8152600401610732906121d2565b603a55565b333014610bef5760405162461bcd60e51b815260040161073290612284565b603755565b336000908152603c60205260409020546001600160a01b031680610c2a5760405162461bcd60e51b815260040161073290612400565b336000818152603c602052604080822080546001600160a01b0319169055516001600160a01b03841692917f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7291a350565b333014610c9a5760405162461bcd60e51b815260040161073290612284565b603455565b603b6020526000908152604090205481565b7f000000000000000000000000000000000000000000000000000000000000000081565b60365481565b603f6020526000908152604090205481565b6040546001600160a01b031681565b60385481565b610d0c338261191d565b50565b60005b8351811015610da057336001600160a01b0316603c6000868481518110610d3557fe5b6020908102919091018101516001600160a01b03908116835290820192909252604001600020541614610d7a5760405162461bcd60e51b81526004016107329061244a565b610d98848281518110610d8957fe5b60200260200101518484611349565b600101610d12565b50336000908152603b602052604090205415610dc157610dc1338383611349565b505050565b333014610de55760405162461bcd60e51b815260040161073290612284565b603955565b600054610100900460ff1680610e035750610e03611a22565b80610e11575060005460ff16155b610e2d5760405162461bcd60e51b81526004016107329061236c565b600054610100900460ff16158015610e58576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b038085166001600160a01b03199283161783558251610100818101855230825261dead602083019081526000958301868152606084018781526080850188815260a08601898152600160c0880181815260e089018c8152603d80549384018155909c52975160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b16928c169290921790915594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc4860180549190991699169890981790965590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc5830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc682015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc784015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc8830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990910180549351151590920261ff001991151560ff199094169390931716919091179055611018611a28565b801561074b576000805461ff00191690555050565b60395481565b60375481565b60006110463384846115a3565b90505b92915050565b603d546000190190565b611061611aee565b603d838154811061106e57fe5b600091825260208083206001600160a01b0395909516835260089190910290930160070183526040908190208151606081018352815460ff8082161515835261010090910416151594810194909452600101549083015250919050565b3330146110ea5760405162461bcd60e51b815260040161073290612284565b603355565b33301461110e5760405162461bcd60e51b815260040161073290612284565b603855565b3330146111325760405162461bcd60e51b815260040161073290612284565b603655565b60408054905163d505accf60e01b81526001600160a01b039091169063d505accf9061117390899030908a908a908a908a908a90600401611f4f565b600060405180830381600087803b15801561118d57600080fd5b505af11580156111a1573d6000803e3d6000fd5b505050506111af868661191d565b505050505050565b60046111c282610767565b60068111156111cd57fe5b146111ea5760405162461bcd60e51b815260040161073290612031565b6000603d82815481106111f957fe5b600091825260209091206006600890920201908101805460ff191660019081179091558101549091506001600160a01b031661123481611a69565b6112505760405162461bcd60e51b815260040161073290611fee565b60408051600481526024810182526020810180516001600160e01b03166306e60b1760e31b17905290516000916060916001600160a01b0385169161129491611e9c565b600060405180830381855af49150503d80600081146112cf576040519150601f19603f3d011682016040523d82523d6000602084013e6112d4565b606091505b509150915081611317578051156112ff578060405162461bcd60e51b81526004016107329190611fdb565b60405162461bcd60e51b815260040161073290612481565b60405185907f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f90600090a25050505050565b600161135483610767565b600681111561135f57fe5b1461137c5760405162461bcd60e51b8152600401610732906120f7565b6000603d838154811061138b57fe5b600091825260208083206001600160a01b038816845260076008909302019182018152604080842060058401546004850154603b9094529190942054929450101590806113ea5760405162461bcd60e51b8152600401610732906122f2565b825460ff1615611439578254610100900460ff1615611420576001830154600485015461141691611a6f565b6004850155611439565b6001830154600585015461143391611a6f565b60058501555b841561145857600484015461144e908261157e565b600485015561146d565b6005840154611467908261157e565b60058501555b6006840154610100900460ff1615801561149d575060395461149b61149061157a565b600387015490611a6f565b105b156114e15760058401546004850154111582151581146114df5760068501805461ff001916610100179055603a5460038601546114d99161157e565b60038601555b505b8254600160ff19909116811761ff001916610100871515021784558301819055603354603454603a54600387015461152c938b9361152793919261085a9283919061157e565b611ab1565b841515876001600160a01b0316877f7c2de587c00d75474a0c6c6fa96fd3b45dc974cd4e8a75f712bb84c950dce1b58460405161156991906124dd565b60405180910390a450505050505050565b4290565b6000828201838110156110465760405162461bcd60e51b81526004016107329061219b565b6001600160a01b0383166000908152603b60205260408120546036548110156115de5760405162461bcd60e51b81526004016107329061213e565b6115e784611a69565b6116035760405162461bcd60e51b815260040161073290612329565b6001600160a01b0385166000908152603e6020526040902054801561167557600061162d82610767565b9050600181600681111561163d57fe5b141580156116575750600081600681111561165457fe5b14155b6116735760405162461bcd60e51b81526004016107329061207c565b505b600061168560375461085a61157a565b9050600061169e6038548361157e90919063ffffffff16565b90506116a8611b0e565b506040805161010080820183526001600160a01b03808c1683528a8116602084019081529383018681526060840186815260006080860181815260a0870182815260c0880183815260e08901848152603d80546001810182559086528a5160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b166001600160a01b03199384161790559b517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc48d01805491909a1691161790975594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc58a015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc6890155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc788015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc887015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990950180549251151590930261ff001995151560ff1990931692909217949094161790559061185a61104f565b82516001600160a01b03166000908152603e60205260409020819055603354603454603a5492935061189c928d9261152792909161085a919082908a9061157e565b896001600160a01b0316817f90ec05050aa23d54ba425e926fe646c318e85825bc400b13a46010abe86eb2f08b87878d6040516118dc9493929190611f90565b60405180910390a39998505050505050505050565b600081848411156119155760405162461bcd60e51b81526004016107329190611fdb565b505050900390565b6040805490516323b872dd60e01b81526001600160a01b03909116906323b872dd906119719085907f0000000000000000000000000000000000000000000000000000000000000000908690600401611ee5565b602060405180830381600087803b15801561198b57600080fd5b505af115801561199f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c39190611de1565b6119df5760405162461bcd60e51b81526004016107329061224d565b6001600160a01b0382166000908152603b6020526040902054611a02908261157e565b6001600160a01b039092166000908152603b602052604090209190915550565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b3b151590565b600061104683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506118f1565b6001600160a01b0382166000908152603f602052604090205481111561074b576001600160a01b03919091166000908152603f6020526040902055565b604080516060810182526000808252602082018190529181019190915290565b60405180610100016040528060006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000151581526020016000151581525090565b80356001600160a01b038116811461104957600080fd5b803561104981612552565b600082601f830112611b9b578081fd5b813567ffffffffffffffff811115611bb1578182fd5b611bc4601f8201601f19166020016124e6565b9150808252836020828501011115611bdb57600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215611c05578081fd5b6110468383611b69565b600080600060608486031215611c23578182fd5b8335611c2e8161253d565b92506020840135611c3e8161253d565b9150604084013567ffffffffffffffff811115611c59578182fd5b611c6586828701611b8b565b9150509250925092565b60008060408385031215611c81578182fd5b8235611c8c8161253d565b9150602083013567ffffffffffffffff811115611ca7578182fd5b611cb385828601611b8b565b9150509250929050565b60008060008060008060c08789031215611cd5578182fd5b611cdf8888611b69565b95506020870135945060408701359350606087013560ff81168114611d02578283fd5b9598949750929560808101359460a0909101359350915050565b600080600060608486031215611d30578283fd5b833567ffffffffffffffff80821115611d47578485fd5b818601915086601f830112611d5a578485fd5b813581811115611d68578586fd5b60209150818102611d7a8382016124e6565b8281528381019085850183870186018c1015611d9457898afd5b8996505b84871015611dbe57611daa8c82611b69565b835260019690960195918501918501611d98565b5097505050508501359250611dd890508560408601611b80565b90509250925092565b600060208284031215611df2578081fd5b815161104681612552565b600060208284031215611e0e578081fd5b5035919050565b60008060408385031215611e27578182fd5b82359150611e388460208501611b69565b90509250929050565b60008060408385031215611e53578182fd5b823591506020830135611e6581612552565b809150509250929050565b60008151808452611e8881602086016020860161250d565b601f01601f19169290920160200192915050565b60008251611eae81846020870161250d565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03988916815296909716602087015260408601949094526060850192909252608084015260a0830152151560c082015290151560e08201526101000190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b600060018060a01b038616825284602083015283604083015260806060830152611fbd6080830184611e70565b9695505050505050565b6020810160078310611fd557fe5b91905290565b6000602082526110466020830184611e70565b60208082526023908201527f476f7665726e616e63653a3a657865637574653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602b908201527f476f7665726e616e63653a3a657865637574653a20696e76616c69642070726f60408201526a706f73616c20737461746560a81b606082015260800190565b60208082526055908201527f476f7665726e616e63653a3a70726f706f73653a206f6e65206c69766520707260408201527f6f706f73616c207065722070726f706f7365722c20666f756e6420616e20616c6060820152741c9958591e481858dd1a5d99481c1c9bdc1bdcd85b605a1b608082015260a00190565b60208082526027908201527f476f7665726e616e63653a3a5f63617374566f74653a20766f74696e672069736040820152660818db1bdcd95960ca1b606082015260800190565b6020808252603c908201527f476f7665726e616e63653a3a70726f706f73653a2070726f706f73657220766f60408201527f7465732062656c6f772070726f706f73616c207468726573686f6c6400000000606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526024908201527f476f7665726e616e63653a20696e636f727265637420766f7465457874656e6460408201526354696d6560e01b606082015260800190565b6020808252601d908201527f476f7665726e616e63653a20746f6b656e7320617265206c6f636b6564000000604082015260600190565b60208082526019908201527f544f524e3a207472616e7366657246726f6d206661696c656400000000000000604082015260600190565b60208082526018908201527f476f7665726e616e63653a20756e617574686f72697a65640000000000000000604082015260600190565b6020808252601d908201527f476f7665726e616e63653a20696e76616c69642064656c656761746565000000604082015260600190565b60208082526018908201527f476f7665726e616e63653a2062616c616e636520697320300000000000000000604082015260600190565b60208082526023908201527f476f7665726e616e63653a3a70726f706f73653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b60208082526026908201527f476f7665726e616e63653a3a73746174653a20696e76616c69642070726f706f6040820152651cd85b081a5960d21b606082015260800190565b6020808252602a908201527f476f7665726e616e63653a20746f6b656e732061726520616c726561647920756040820152691b99195b1959d85d195960b21b606082015260800190565b6020808252601a908201527f476f7665726e616e63653a206e6f7420617574686f72697a6564000000000000604082015260600190565b60208082526019908201527f50726f706f73616c20657865637574696f6e206661696c656400000000000000604082015260600190565b8151151581526020808301511515908201526040918201519181019190915260600190565b90815260200190565b60405181810167ffffffffffffffff8111828210171561250557600080fd5b604052919050565b60005b83811015612528578181015183820152602001612510565b83811115612537576000848401525b50505050565b6001600160a01b0381168114610d0c57600080fd5b8015158114610d0c57600080fdfea26469706673582212204b0042571b6576e17c0708c8f251958898bb0e0a9f340387b1eed439d732af7264736f6c634300060c0033"; +const isSuperArgs$d = (xs) => xs.length > 1; +class GovernanceVaultUpgrade__factory extends ethers.ContractFactory { + constructor(...args) { + if (isSuperArgs$d(args)) { + super(...args); + } else { + super(_abi$f, _bytecode$d, args[0]); + } + } + getDeployTransaction(_userVault, overrides) { + return super.getDeployTransaction(_userVault, overrides || {}); + } + deploy(_userVault, overrides) { + return super.deploy(_userVault, overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new ethers.Interface(_abi$f); + } + static connect(address, runner) { + return new ethers.Contract( + address, + _abi$f, + runner + ); + } +} +GovernanceVaultUpgrade__factory.bytecode = _bytecode$d; +GovernanceVaultUpgrade__factory.abi = _abi$f; + +var index$a = /*#__PURE__*/Object.freeze({ + __proto__: null, + GovernanceGasUpgrade__factory: GovernanceGasUpgrade__factory, + GovernanceVaultUpgrade__factory: GovernanceVaultUpgrade__factory, + gasCompensatorSol: index$c, + interfaces: index$b +}); + +const _abi$e = [ + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + }, + { + internalType: "uint256", + name: "amountLockedBeforehand", + type: "uint256" + } + ], + name: "updateRewardsOnLockedBalanceChange", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; +class ITornadoStakingRewards__factory { + static createInterface() { + return new ethers.Interface(_abi$e); + } + static connect(address, runner) { + return new ethers.Contract( + address, + _abi$e, + runner + ); + } +} +ITornadoStakingRewards__factory.abi = _abi$e; + +var index$9 = /*#__PURE__*/Object.freeze({ + __proto__: null, + ITornadoStakingRewards__factory: ITornadoStakingRewards__factory +}); + +const _abi$d = [ + { + inputs: [ + { + internalType: "address", + name: "stakingRewardsAddress", + type: "address" + }, + { + internalType: "address", + name: "gasCompLogic", + type: "address" + }, + { + internalType: "address", + name: "userVaultAddress", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + } + ], + name: "Delegated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "id", + type: "uint256" + }, + { + indexed: true, + internalType: "address", + name: "proposer", + type: "address" + }, + { + indexed: false, + internalType: "address", + name: "target", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "startTime", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "endTime", + type: "uint256" + }, + { + indexed: false, + internalType: "string", + name: "description", + type: "string" + } + ], + name: "ProposalCreated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "proposalId", + type: "uint256" + } + ], + name: "ProposalExecuted", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address" + }, + { + indexed: true, + internalType: "bytes", + name: "errorData", + type: "bytes" + } + ], + name: "RewardUpdateFailed", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address" + } + ], + name: "RewardUpdateSuccessful", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + } + ], + name: "Undelegated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + indexed: true, + internalType: "address", + name: "voter", + type: "address" + }, + { + indexed: true, + internalType: "bool", + name: "support", + type: "bool" + }, + { + indexed: false, + internalType: "uint256", + name: "votes", + type: "uint256" + } + ], + name: "Voted", + type: "event" + }, + { + inputs: [], + name: "CLOSING_PERIOD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "EXECUTION_DELAY", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "EXECUTION_EXPIRATION", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "PROPOSAL_THRESHOLD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "QUORUM_VOTES", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "Staking", + outputs: [ + { + internalType: "contract ITornadoStakingRewards", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "VOTE_EXTEND_TIME", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "VOTING_DELAY", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "VOTING_PERIOD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "canWithdrawAfter", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address[]", + name: "from", + type: "address[]" + }, + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + internalType: "bool", + name: "support", + type: "bool" + } + ], + name: "castDelegatedVote", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + internalType: "bool", + name: "support", + type: "bool" + } + ], + name: "castVote", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + } + ], + name: "checkIfQuorumReached", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address" + } + ], + name: "delegate", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "delegatedTo", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + } + ], + name: "execute", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [], + name: "gasCompensationVault", + outputs: [ + { + internalType: "contract IGasCompensationVault", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + internalType: "address", + name: "voter", + type: "address" + } + ], + name: "getReceipt", + outputs: [ + { + components: [ + { + internalType: "bool", + name: "hasVoted", + type: "bool" + }, + { + internalType: "bool", + name: "support", + type: "bool" + }, + { + internalType: "uint256", + name: "votes", + type: "uint256" + } + ], + internalType: "struct Governance.Receipt", + name: "", + type: "tuple" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "hasAccountVoted", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_torn", + type: "address" + } + ], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "latestProposalIds", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256" + }, + { + internalType: "uint8", + name: "v", + type: "uint8" + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32" + } + ], + name: "lock", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "lockWithApproval", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "lockedBalance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "proposalCount", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + name: "proposals", + outputs: [ + { + internalType: "address", + name: "proposer", + type: "address" + }, + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "uint256", + name: "startTime", + type: "uint256" + }, + { + internalType: "uint256", + name: "endTime", + type: "uint256" + }, + { + internalType: "uint256", + name: "forVotes", + type: "uint256" + }, + { + internalType: "uint256", + name: "againstVotes", + type: "uint256" + }, + { + internalType: "bool", + name: "executed", + type: "bool" + }, + { + internalType: "bool", + name: "extended", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "string", + name: "description", + type: "string" + } + ], + name: "propose", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address" + }, + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "string", + name: "description", + type: "string" + } + ], + name: "proposeByDelegate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "returnMultisigAddress", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "pure", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "closingPeriod", + type: "uint256" + } + ], + name: "setClosingPeriod", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "executionDelay", + type: "uint256" + } + ], + name: "setExecutionDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "executionExpiration", + type: "uint256" + } + ], + name: "setExecutionExpiration", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "gasCompensationsLimit", + type: "uint256" + } + ], + name: "setGasCompensations", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalThreshold", + type: "uint256" + } + ], + name: "setProposalThreshold", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "quorumVotes", + type: "uint256" + } + ], + name: "setQuorumVotes", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "voteExtendTime", + type: "uint256" + } + ], + name: "setVoteExtendTime", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "votingDelay", + type: "uint256" + } + ], + name: "setVotingDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "votingPeriod", + type: "uint256" + } + ], + name: "setVotingPeriod", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + } + ], + name: "state", + outputs: [ + { + internalType: "enum Governance.ProposalState", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "torn", + outputs: [ + { + internalType: "contract TORN", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "undelegate", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "unlock", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "userVault", + outputs: [ + { + internalType: "contract ITornadoVault", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "version", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "pure", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "withdrawFromHelper", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + stateMutability: "payable", + type: "receive" + } +]; +const _bytecode$c = "0x60e06040523480156200001157600080fd5b50604051620032a6380380620032a6833981016040819052620000349162000165565b81818181600060019054906101000a900460ff1680620000595750620000596200011e565b8062000068575060005460ff16155b620000905760405162461bcd60e51b81526004016200008790620001b8565b60405180910390fd5b600054610100900460ff16158015620000bc576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b03191661dead179055620000da62000124565b8015620000ed576000805461ff00191690555b506001600160601b0319606091821b811660805291811b821660a0529590951b90941660c052506200021f92505050565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b6000806000606084860312156200017a578283fd5b8351620001878162000206565b60208501519093506200019a8162000206565b6040850151909250620001ad8162000206565b809150509250925092565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b6001600160a01b03811681146200021c57600080fd5b50565b60805160601c60a05160601c60c05160601c6130246200028260003980610cf652806110b7528061169852806117c95250806108e55280610ead5280610fa552806116145280612164525080611040528061200d528061240e52506130246000f3fe6080604052600436106102765760003560e01c80639ae697bf1161014f578063d6159fe5116100c1578063ea0217cf1161007a578063ea0217cf1461072a578063ece40cc11461074a578063ef3f8bb11461076a578063f0b768921461078a578063f57df22e146107aa578063fe0d94c1146107bf5761027d565b8063d6159fe514610673578063d6f0948c14610688578063da35c664146106a8578063e23a9a52146106bd578063e4917d9f146106ea578063e525aa081461070a5761027d565b8063b1610d7e11610113578063b1610d7e146105c9578063b54426c8146105de578063b859f11b146105fe578063c0c0e8201461061e578063c4d66de81461063e578063ce25d71c1461065e5761027d565b80639ae697bf1461054a5780639daafec71461056a578063a6c266031461057f578063a72edda314610594578063adf898a4146105b45761027d565b80635c19a95c116101e85780636dc2dc6c116101ac5780636dc2dc6c146104a057806370b0f660146104c05780638b34a960146104e057806392ab89bb146104f5578063932d51571461050a5780639a9e3b6e1461052a5761027d565b80635c19a95c146104165780636198e3391461043657806365da126414610456578063671dd275146104765780636a6617551461048b5761027d565b806332687ec11161023a57806332687ec11461035057806337f135d71461037d5780633e4f49e61461039257806354fd4d50146103bf578063587a6ecb146103e157806358e9fff0146103f65761027d565b8063013cf08b1461028257806302ec8f9e146102bf57806315373e3d146102e157806317977c611461030157806324b0435f1461032e5761027d565b3661027d57005b600080fd5b34801561028e57600080fd5b506102a261029d3660046127f8565b6107d2565b6040516102b6989796959493929190612904565b60405180910390f35b3480156102cb57600080fd5b506102df6102da3660046127f8565b610837565b005b3480156102ed57600080fd5b506102df6102fc36600461283c565b610864565b34801561030d57600080fd5b5061032161031c3660046125ef565b610967565b6040516102b69190612f6b565b34801561033a57600080fd5b50610343610979565b6040516102b691906128b3565b34801561035c57600080fd5b5061037061036b3660046127f8565b610991565b6040516102b691906129c2565b34801561038957600080fd5b506103216109df565b34801561039e57600080fd5b506103b26103ad3660046127f8565b6109e5565b6040516102b691906129cd565b3480156103cb57600080fd5b506103d4610b21565b6040516102b691906129e1565b3480156103ed57600080fd5b50610321610b58565b34801561040257600080fd5b5061032161041136600461260a565b610b5e565b34801561042257600080fd5b506102df6104313660046125ef565b610bac565b34801561044257600080fd5b506102df6104513660046127f8565b610cce565b34801561046257600080fd5b506103436104713660046125ef565b610e1b565b34801561048257600080fd5b50610321610e36565b34801561049757600080fd5b50610321610e3c565b3480156104ac57600080fd5b506102df6104bb3660046127f8565b610e42565b3480156104cc57600080fd5b506102df6104db3660046127f8565b610e87565b3480156104ec57600080fd5b50610343610eab565b34801561050157600080fd5b506102df610ecf565b34801561051657600080fd5b506102df6105253660046127f8565b610f56565b34801561053657600080fd5b506102df6105453660046127f8565b611008565b34801561055657600080fd5b506103216105653660046125ef565b61102c565b34801561057657600080fd5b5061034361103e565b34801561058b57600080fd5b50610321611062565b3480156105a057600080fd5b506103216105af3660046125ef565b611068565b3480156105c057600080fd5b5061034361107a565b3480156105d557600080fd5b50610321611089565b3480156105ea57600080fd5b506102df6105f93660046127f8565b61108f565b34801561060a57600080fd5b506102df610619366004612717565b6111d8565b34801561062a57600080fd5b506102df6106393660046127f8565b611226565b34801561064a57600080fd5b506102df6106593660046125ef565b61124a565b34801561066a57600080fd5b5061032161148d565b34801561067f57600080fd5b50610321611493565b34801561069457600080fd5b506103216106a336600461266a565b611499565b3480156106b457600080fd5b506103216114af565b3480156106c957600080fd5b506106dd6106d8366004612810565b6114b9565b6040516102b69190612f46565b3480156106f657600080fd5b506102df6107053660046127f8565b61152b565b34801561071657600080fd5b50610370610725366004612810565b61154f565b34801561073657600080fd5b506102df6107453660046127f8565b611592565b34801561075657600080fd5b506102df6107653660046127f8565b6115b6565b34801561077657600080fd5b506102df6107853660046127f8565b6115da565b34801561079657600080fd5b506102df6107a53660046126b8565b61166c565b3480156107b657600080fd5b506103436117c7565b6102df6107cd3660046127f8565b6117eb565b603d81815481106107df57fe5b600091825260209091206008909102018054600182015460028301546003840154600485015460058601546006909601546001600160a01b039586169750949093169491939092919060ff8082169161010090041688565b33301461085f5760405162461bcd60e51b815260040161085690612cb4565b60405180910390fd5b603555565b3361086f833361154f565b158015610882575061088083610991565b155b333214610890576000610894565b6152085b61ffff1681156109555760005a90506108ae33878761197d565b60006108cb6127106108c5856108c55a8790611bae565b90611bf0565b60405163a99ce80760e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a99ce8079061091c90889085906004016128c7565b600060405180830381600087803b15801561093657600080fd5b505af115801561094a573d6000803e3d6000fd5b505050505050610960565b61096033868661197d565b5050505050565b603e6020526000908152604090205481565b73b04e030140b30c27bcdfaafffa98c57d80eda7b490565b6000603554603d83815481106109a357fe5b906000526020600020906008020160050154603d84815481106109c257fe5b90600052602060002090600802016004015401101590505b919050565b60335481565b60006109ef6114af565b82111580156109fe5750600082115b610a1a5760405162461bcd60e51b815260040161085690612e11565b6000603d8381548110610a2957fe5b906000526020600020906008020190508060020154610a46611c15565b11610a555760009150506109da565b8060030154610a62611c15565b11610a715760019150506109da565b80600501548160040154111580610a9357506035548160050154826004015401105b15610aa25760029150506109da565b600681015460ff1615610ab95760059150506109da565b610ad86034546108c56033548460030154611bf090919063ffffffff16565b610ae0611c15565b10610aef5760069150506109da565b6033546003820154610b0091611bf0565b610b08611c15565b10610b175760049150506109da565b60039150506109da565b60408051808201909152601981527f322e6c6f74746572792d616e642d6761732d7570677261646500000000000000602082015290565b603a5481565b6001600160a01b038381166000908152603c60205260408120549091163314610b995760405162461bcd60e51b815260040161085690612ea1565b610ba4848484611c19565b949350505050565b336000818152603c60205260409020546001600160a01b039081169190831614801590610be257506001600160a01b0382163014155b8015610bf657506001600160a01b03821615155b8015610c145750806001600160a01b0316826001600160a01b031614155b610c305760405162461bcd60e51b815260040161085690612ceb565b6001600160a01b03811615610c76576040516001600160a01b0382169033907f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7290600090a35b336000818152603c602052604080822080546001600160a01b0319166001600160a01b03871690811790915590519092917f4bc154dd35d6a5cb9206482ecb473cdbf2473006d6bce728b9cc0741bcc59ea291a35050565b336000818152603b60205260409081902054905163e113335f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163e113335f91610d2b9185916004016128c7565b600060405180830381600087803b158015610d4557600080fd5b505af1925050508015610d56575060015b610dd9573d808015610d84576040519150601f19603f3d011682016040523d82523d6000602084013e610d89565b606091505b5080604051610d989190612897565b604051908190038120906001600160a01b038416907f5a6216e80d86159dc87dcebfe519205477a94005b7d9d6bd313606450a5344f690600090a350610e0e565b6040516001600160a01b038216907f9b227b0c1ae308b34f72d4fdf9a1943fa769ff4814933595e7bc5230a117698b90600090a25b610e1782611f67565b5050565b603c602052600090815260409020546001600160a01b031681565b60355481565b60345481565b333014610e615760405162461bcd60e51b815260040161085690612cb4565b6033548110610e825760405162461bcd60e51b815260040161085690612bd8565b603a55565b333014610ea65760405162461bcd60e51b815260040161085690612cb4565b603755565b7f000000000000000000000000000000000000000000000000000000000000000081565b336000908152603c60205260409020546001600160a01b031680610f055760405162461bcd60e51b815260040161085690612e57565b336000818152603c602052604080822080546001600160a01b0319169055516001600160a01b03841692917f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7291a350565b610f5e610979565b6001600160a01b0316336001600160a01b031614610f8e5760405162461bcd60e51b815260040161085690612dea565b604051633a08bde160e21b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e822f78490610fda908490600401612f6b565b600060405180830381600087803b158015610ff457600080fd5b505af1158015610960573d6000803e3d6000fd5b3330146110275760405162461bcd60e51b815260040161085690612cb4565b603455565b603b6020526000908152604090205481565b7f000000000000000000000000000000000000000000000000000000000000000081565b60365481565b603f6020526000908152604090205481565b6040546001600160a01b031681565b60385481565b336000818152603b60205260409081902054905163e113335f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163e113335f916110ec9185916004016128c7565b600060405180830381600087803b15801561110657600080fd5b505af1925050508015611117575060015b61119a573d808015611145576040519150601f19603f3d011682016040523d82523d6000602084013e61114a565b606091505b50806040516111599190612897565b604051908190038120906001600160a01b038416907f5a6216e80d86159dc87dcebfe519205477a94005b7d9d6bd313606450a5344f690600090a3506111cf565b6040516001600160a01b038216907f9b227b0c1ae308b34f72d4fdf9a1943fa769ff4814933595e7bc5230a117698b90600090a25b610e178261204b565b60008351116111f95760405162461bcd60e51b815260040161085690612c8a565b611221838383611209863361154f565b15801561121c575061121a86610991565b155b612055565b505050565b3330146112455760405162461bcd60e51b815260040161085690612cb4565b603955565b600054610100900460ff16806112635750611263612298565b80611271575060005460ff16155b61128d5760405162461bcd60e51b815260040161085690612d9c565b600054610100900460ff161580156112b8576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b038085166001600160a01b03199283161783558251610100818101855230825261dead602083019081526000958301868152606084018781526080850188815260a08601898152600160c0880181815260e089018c8152603d80549384018155909c52975160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b16928c169290921790915594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc4860180549190991699169890981790965590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc5830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc682015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc784015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc8830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990910180549351151590920261ff001991151560ff19909416939093171691909117905561147861229e565b8015610e17576000805461ff00191690555050565b60395481565b60375481565b60006114a6338484611c19565b90505b92915050565b603d546000190190565b6114c16124e9565b603d83815481106114ce57fe5b600091825260208083206001600160a01b0395909516835260089190910290930160070183526040908190208151606081018352815460ff8082161515835261010090910416151594810194909452600101549083015250919050565b33301461154a5760405162461bcd60e51b815260040161085690612cb4565b603355565b6000603d838154811061155e57fe5b600091825260208083206001600160a01b03861684526007600890930201919091019052604090205460ff16905092915050565b3330146115b15760405162461bcd60e51b815260040161085690612cb4565b603855565b3330146115d55760405162461bcd60e51b815260040161085690612cb4565b603655565b6115e2610979565b6001600160a01b0316336001600160a01b0316146116125760405162461bcd60e51b815260040161085690612dea565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108fc61164983476122df565b6040518115909202916000818181858888f1935050505061166957600080fd5b50565b6001600160a01b038087166000908152603b60205260409081902054905163e113335f60e01b815288927f0000000000000000000000000000000000000000000000000000000000000000169163e113335f916116cd9185916004016128c7565b600060405180830381600087803b1580156116e757600080fd5b505af19250505080156116f8575060015b61177b573d808015611726576040519150601f19603f3d011682016040523d82523d6000602084013e61172b565b606091505b508060405161173a9190612897565b604051908190038120906001600160a01b038416907f5a6216e80d86159dc87dcebfe519205477a94005b7d9d6bd313606450a5344f690600090a3506117b0565b6040516001600160a01b038216907f9b227b0c1ae308b34f72d4fdf9a1943fa769ff4814933595e7bc5230a117698b90600090a25b6117be8787878787876122f5565b50505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60046117f6826109e5565b600681111561180157fe5b1461181e5760405162461bcd60e51b815260040161085690612a37565b6000603d828154811061182d57fe5b600091825260209091206006600890920201908101805460ff191660019081179091558101549091506001600160a01b031661186881612375565b6118845760405162461bcd60e51b8152600401610856906129f4565b60408051600481526024810182526020810180516001600160e01b03166306e60b1760e31b17905290516000916060916001600160a01b038516916118c891612897565b600060405180830381855af49150503d8060008114611903576040519150601f19603f3d011682016040523d82523d6000602084013e611908565b606091505b50915091508161194b57805115611933578060405162461bcd60e51b815260040161085691906129e1565b60405162461bcd60e51b815260040161085690612ed8565b60405185907f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f90600090a25050505050565b6001611988836109e5565b600681111561199357fe5b146119b05760405162461bcd60e51b815260040161085690612afd565b6000603d83815481106119bf57fe5b600091825260208083206001600160a01b038816845260076008909302019182018152604080842060058401546004850154603b909452919094205492945010159080611a1e5760405162461bcd60e51b815260040161085690612d22565b825460ff1615611a6d578254610100900460ff1615611a545760018301546004850154611a4a91611bae565b6004850155611a6d565b60018301546005850154611a6791611bae565b60058501555b8415611a8c576004840154611a829082611bf0565b6004850155611aa1565b6005840154611a9b9082611bf0565b60058501555b6006840154610100900460ff16158015611ad15750603954611acf611ac4611c15565b600387015490611bae565b105b15611b15576005840154600485015411158215158114611b135760068501805461ff001916610100179055603a546003860154611b0d91611bf0565b60038601555b505b8254600160ff19909116811761ff001916610100871515021784558301819055603354603454603a546003870154611b60938b93611b5b9391926108c592839190611bf0565b61237b565b841515876001600160a01b0316877f7c2de587c00d75474a0c6c6fa96fd3b45dc974cd4e8a75f712bb84c950dce1b584604051611b9d9190612f6b565b60405180910390a450505050505050565b60006114a683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506123b8565b6000828201838110156114a65760405162461bcd60e51b815260040161085690612ba1565b4290565b6001600160a01b0383166000908152603b6020526040812054603654811015611c545760405162461bcd60e51b815260040161085690612b44565b611c5d84612375565b611c795760405162461bcd60e51b815260040161085690612d59565b6001600160a01b0385166000908152603e60205260409020548015611ceb576000611ca3826109e5565b90506001816006811115611cb357fe5b14158015611ccd57506000816006811115611cca57fe5b14155b611ce95760405162461bcd60e51b815260040161085690612a82565b505b6000611cfb6037546108c5611c15565b90506000611d1460385483611bf090919063ffffffff16565b9050611d1e612509565b506040805161010080820183526001600160a01b03808c1683528a8116602084019081529383018681526060840186815260006080860181815260a0870182815260c0880183815260e08901848152603d80546001810182559086528a5160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b166001600160a01b03199384161790559b517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc48d01805491909a1691161790975594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc58a015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc6890155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc788015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc887015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990950180549251151590930261ff001995151560ff19909316929092179490941617905590611ed06114af565b82516001600160a01b03166000908152603e60205260409020819055603354603454603a54929350611f12928d92611b5b9290916108c5919082908a90611bf0565b896001600160a01b0316817f90ec05050aa23d54ba425e926fe646c318e85825bc400b13a46010abe86eb2f08b87878d604051611f52949392919061298b565b60405180910390a39998505050505050505050565b336000908152603f6020526040902054611f7f611c15565b11611f9c5760405162461bcd60e51b815260040161085690612c1c565b60408051808201825260208082527f476f7665726e616e63653a20696e73756666696369656e742062616c616e636581830152336000908152603b9091529190912054611fea9183906123b8565b336000818152603b6020526040908190209290925590516391fe357360e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316916391fe357391610fda919085906004016128c7565b61166933826123e4565b3381328214612065576000612069565b6152085b61ffff1681156121d45760005a905060005b885181101561213257600089828151811061209257fe5b6020908102919091018101516001600160a01b038082166000908152603c909352604090922054909250163314806120d257506001600160a01b03811633145b6120ee5760405162461bcd60e51b815260040161085690612ea1565b8615806121025750612100898261154f565b155b61211e5760405162461bcd60e51b815260040161085690612f0f565b612129818a8a61197d565b5060010161207b565b50600061214a6127106108c5856108c55a8790611bae565b60405163a99ce80760e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a99ce8079061219b90889085906004016128c7565b600060405180830381600087803b1580156121b557600080fd5b505af11580156121c9573d6000803e3d6000fd5b5050505050506117be565b60005b875181101561228e5760008882815181106121ee57fe5b6020908102919091018101516001600160a01b038082166000908152603c9093526040909220549092501633148061222e57506001600160a01b03811633145b61224a5760405162461bcd60e51b815260040161085690612ea1565b85158061225e575061225c888261154f565b155b61227a5760405162461bcd60e51b815260040161085690612f0f565b61228581898961197d565b506001016121d7565b5050505050505050565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b60008183106122ee57816114a6565b5090919050565b60408054905163d505accf60e01b81526001600160a01b039091169063d505accf9061233190899030908a908a908a908a908a9060040161294a565b600060405180830381600087803b15801561234b57600080fd5b505af115801561235f573d6000803e3d6000fd5b5050505061236d86866123e4565b505050505050565b3b151590565b6001600160a01b0382166000908152603f6020526040902054811115610e17576001600160a01b03919091166000908152603f6020526040902055565b600081848411156123dc5760405162461bcd60e51b815260040161085691906129e1565b505050900390565b6040805490516323b872dd60e01b81526001600160a01b03909116906323b872dd906124389085907f00000000000000000000000000000000000000000000000000000000000000009086906004016128e0565b602060405180830381600087803b15801561245257600080fd5b505af1158015612466573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061248a91906127dc565b6124a65760405162461bcd60e51b815260040161085690612c53565b6001600160a01b0382166000908152603b60205260409020546124c99082611bf0565b6001600160a01b039092166000908152603b602052604090209190915550565b604080516060810182526000808252602082018190529181019190915290565b60405180610100016040528060006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000151581526020016000151581525090565b80356001600160a01b03811681146114a957600080fd5b80356114a981612fe0565b600082601f830112612596578081fd5b813567ffffffffffffffff8111156125ac578182fd5b6125bf601f8201601f1916602001612f74565b91508082528360208285010111156125d657600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215612600578081fd5b6114a68383612564565b60008060006060848603121561261e578182fd5b833561262981612fcb565b9250602084013561263981612fcb565b9150604084013567ffffffffffffffff811115612654578182fd5b61266086828701612586565b9150509250925092565b6000806040838503121561267c578182fd5b823561268781612fcb565b9150602083013567ffffffffffffffff8111156126a2578182fd5b6126ae85828601612586565b9150509250929050565b60008060008060008060c087890312156126d0578182fd5b6126da8888612564565b95506020870135945060408701359350606087013560ff811681146126fd578283fd5b9598949750929560808101359460a0909101359350915050565b60008060006060848603121561272b578283fd5b833567ffffffffffffffff80821115612742578485fd5b818601915086601f830112612755578485fd5b813581811115612763578586fd5b60209150818102612775838201612f74565b8281528381019085850183870186018c101561278f57898afd5b8996505b848710156127b9576127a58c82612564565b835260019690960195918501918501612793565b50975050505085013592506127d39050856040860161257b565b90509250925092565b6000602082840312156127ed578081fd5b81516114a681612fe0565b600060208284031215612809578081fd5b5035919050565b60008060408385031215612822578182fd5b823591506128338460208501612564565b90509250929050565b6000806040838503121561284e578182fd5b82359150602083013561286081612fe0565b809150509250929050565b60008151808452612883816020860160208601612f9b565b601f01601f19169290920160200192915050565b600082516128a9818460208701612f9b565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03988916815296909716602087015260408601949094526060850192909252608084015260a0830152151560c082015290151560e08201526101000190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b600060018060a01b0386168252846020830152836040830152608060608301526129b8608083018461286b565b9695505050505050565b901515815260200190565b60208101600783106129db57fe5b91905290565b6000602082526114a6602083018461286b565b60208082526023908201527f476f7665726e616e63653a3a657865637574653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602b908201527f476f7665726e616e63653a3a657865637574653a20696e76616c69642070726f60408201526a706f73616c20737461746560a81b606082015260800190565b60208082526055908201527f476f7665726e616e63653a3a70726f706f73653a206f6e65206c69766520707260408201527f6f706f73616c207065722070726f706f7365722c20666f756e6420616e20616c6060820152741c9958591e481858dd1a5d99481c1c9bdc1bdcd85b605a1b608082015260a00190565b60208082526027908201527f476f7665726e616e63653a3a5f63617374566f74653a20766f74696e672069736040820152660818db1bdcd95960ca1b606082015260800190565b6020808252603c908201527f476f7665726e616e63653a3a70726f706f73653a2070726f706f73657220766f60408201527f7465732062656c6f772070726f706f73616c207468726573686f6c6400000000606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526024908201527f476f7665726e616e63653a20696e636f727265637420766f7465457874656e6460408201526354696d6560e01b606082015260800190565b6020808252601d908201527f476f7665726e616e63653a20746f6b656e7320617265206c6f636b6564000000604082015260600190565b60208082526019908201527f544f524e3a207472616e7366657246726f6d206661696c656400000000000000604082015260600190565b60208082526010908201526f43616e206e6f7420626520656d70747960801b604082015260600190565b60208082526018908201527f476f7665726e616e63653a20756e617574686f72697a65640000000000000000604082015260600190565b6020808252601d908201527f476f7665726e616e63653a20696e76616c69642064656c656761746565000000604082015260600190565b60208082526018908201527f476f7665726e616e63653a2062616c616e636520697320300000000000000000604082015260600190565b60208082526023908201527f476f7665726e616e63653a3a70726f706f73653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252600d908201526c6f6e6c79206d756c746973696760981b604082015260600190565b60208082526026908201527f476f7665726e616e63653a3a73746174653a20696e76616c69642070726f706f6040820152651cd85b081a5960d21b606082015260800190565b6020808252602a908201527f476f7665726e616e63653a20746f6b656e732061726520616c726561647920756040820152691b99195b1959d85d195960b21b606082015260800190565b6020808252601a908201527f476f7665726e616e63653a206e6f7420617574686f72697a6564000000000000604082015260600190565b60208082526019908201527f50726f706f73616c20657865637574696f6e206661696c656400000000000000604082015260600190565b60208082526019908201527f476f7665726e616e63653a20766f74656420616c726561647900000000000000604082015260600190565b8151151581526020808301511515908201526040918201519181019190915260600190565b90815260200190565b60405181810167ffffffffffffffff81118282101715612f9357600080fd5b604052919050565b60005b83811015612fb6578181015183820152602001612f9e565b83811115612fc5576000848401525b50505050565b6001600160a01b038116811461166957600080fd5b801515811461166957600080fdfea2646970667358221220e1f35bea256ff1c0e43f98312094903f31941303df43a2edbe8b9bd0fa323c8864736f6c634300060c0033"; +const isSuperArgs$c = (xs) => xs.length > 1; +class GovernanceStakingUpgrade__factory extends ethers.ContractFactory { + constructor(...args) { + if (isSuperArgs$c(args)) { + super(...args); + } else { + super(_abi$d, _bytecode$c, args[0]); + } + } + getDeployTransaction(stakingRewardsAddress, gasCompLogic, userVaultAddress, overrides) { + return super.getDeployTransaction( + stakingRewardsAddress, + gasCompLogic, + userVaultAddress, + overrides || {} + ); + } + deploy(stakingRewardsAddress, gasCompLogic, userVaultAddress, overrides) { + return super.deploy( + stakingRewardsAddress, + gasCompLogic, + userVaultAddress, + overrides || {} + ); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new ethers.Interface(_abi$d); + } + static connect(address, runner) { + return new ethers.Contract( + address, + _abi$d, + runner + ); + } +} +GovernanceStakingUpgrade__factory.bytecode = _bytecode$c; +GovernanceStakingUpgrade__factory.abi = _abi$d; + +var index$8 = /*#__PURE__*/Object.freeze({ + __proto__: null, + GovernanceStakingUpgrade__factory: GovernanceStakingUpgrade__factory, + interfaces: index$9 +}); + +const _abi$c = [ + { + inputs: [ + { + internalType: "bytes32", + name: "salt", + type: "bytes32" + }, + { + internalType: "address", + name: "implementationContract", + type: "address" + }, + { + internalType: "bytes", + name: "metamorphicContractInitializationCalldata", + type: "bytes" + } + ], + name: "deployMetamorphicContractFromExistingImplementation", + outputs: [ + { + internalType: "address", + name: "metamorphicContractAddress", + type: "address" + } + ], + stateMutability: "payable", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "salt", + type: "bytes32" + } + ], + name: "findMetamorphicContractAddress", + outputs: [ + { + internalType: "address", + name: "metamorphicContractAddress", + type: "address" + } + ], + stateMutability: "view", + type: "function" + } +]; +class IMetamorphicContractFactory__factory { + static createInterface() { + return new ethers.Interface(_abi$c); + } + static connect(address, runner) { + return new ethers.Contract( + address, + _abi$c, + runner + ); + } +} +IMetamorphicContractFactory__factory.abi = _abi$c; + +var index$7 = /*#__PURE__*/Object.freeze({ + __proto__: null, + IMetamorphicContractFactory__factory: IMetamorphicContractFactory__factory +}); + +const _abi$b = [ + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "num", + type: "uint256" + } + ], + name: "MockExecuted", + type: "event" + }, + { + inputs: [], + name: "emergencyStop", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "executeProposal", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; +const _bytecode$b = "0x608060405234801561001057600080fd5b5060c08061001f6000396000f3fe6080604052348015600f57600080fd5b506004361060325760003560e01c8063373058b814603757806363a599a414603f575b600080fd5b603d6045565b005b603d607d565b7f2ff532ec74fd1130db9b7b6800e0992b2363095b00331a891a27edfab97c45406001604051607391906081565b60405180910390a1565b6000ff5b9081526020019056fea264697066735822122018779fa63005d6573862657b4a5cd55f75b705b28a7ff69222461665b78f408a64736f6c634300060c0033"; +const isSuperArgs$b = (xs) => xs.length > 1; +class InitialProposal__factory extends ethers.ContractFactory { + constructor(...args) { + if (isSuperArgs$b(args)) { + super(...args); + } else { + super(_abi$b, _bytecode$b, args[0]); + } + } + getDeployTransaction(overrides) { + return super.getDeployTransaction(overrides || {}); + } + deploy(overrides) { + return super.deploy(overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new ethers.Interface(_abi$b); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$b, runner); + } +} +InitialProposal__factory.bytecode = _bytecode$b; +InitialProposal__factory.abi = _abi$b; + +const _abi$a = [ + { + inputs: [], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "num", + type: "uint256" + } + ], + name: "MockExecuted", + type: "event" + }, + { + inputs: [], + name: "deployer", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "emergencyStop", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "executeProposal", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; +const _bytecode$a = "0x60a060405234801561001057600080fd5b5033606081901b6080526102746100366000398061012952806101b052506102746000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063373058b81461004657806363a599a414610050578063d5f3948814610058575b600080fd5b61004e610076565b005b61004e6101aa565b6100606101ae565b60405161006d9190610211565b60405180910390f35b6040516370a0823160e01b81527377777feddddffc19ff86db637967013e6c6a116c9060009082906370a08231906100b2903090600401610211565b60206040518083038186803b1580156100ca57600080fd5b505afa1580156100de573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061010291906101f9565b60405163a9059cbb60e01b81529091506001600160a01b0383169063a9059cbb90610153907f0000000000000000000000000000000000000000000000000000000000000000908590600401610225565b602060405180830381600087803b15801561016d57600080fd5b505af1158015610181573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101a591906101d2565b505050565b6000ff5b7f000000000000000000000000000000000000000000000000000000000000000081565b6000602082840312156101e3578081fd5b815180151581146101f2578182fd5b9392505050565b60006020828403121561020a578081fd5b5051919050565b6001600160a01b0391909116815260200190565b6001600160a01b0392909216825260208201526040019056fea2646970667358221220c120adf2a3856eb39e4d2305abf19175fb5f11d87cd96e5c70ce2a9f702ba53664736f6c634300060c0033"; +const isSuperArgs$a = (xs) => xs.length > 1; +class MaliciousProposal__factory extends ethers.ContractFactory { + constructor(...args) { + if (isSuperArgs$a(args)) { + super(...args); + } else { + super(_abi$a, _bytecode$a, args[0]); + } + } + getDeployTransaction(overrides) { + return super.getDeployTransaction(overrides || {}); + } + deploy(overrides) { + return super.deploy(overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new ethers.Interface(_abi$a); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$a, runner); + } +} +MaliciousProposal__factory.bytecode = _bytecode$a; +MaliciousProposal__factory.abi = _abi$a; + +var index$6 = /*#__PURE__*/Object.freeze({ + __proto__: null, + InitialProposal__factory: InitialProposal__factory, + MaliciousProposal__factory: MaliciousProposal__factory +}); + +var index$5 = /*#__PURE__*/Object.freeze({ + __proto__: null, + mockProposalsSol: index$6 +}); + +const _abi$9 = [ + { + inputs: [ + { + internalType: "address", + name: "_logic", + type: "address" + }, + { + internalType: "address", + name: "_admin", + type: "address" + }, + { + internalType: "bytes", + name: "_data", + type: "bytes" + } + ], + stateMutability: "payable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "previousAdmin", + type: "address" + }, + { + indexed: false, + internalType: "address", + name: "newAdmin", + type: "address" + } + ], + name: "AdminChanged", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "implementation", + type: "address" + } + ], + name: "Upgraded", + type: "event" + }, + { + stateMutability: "payable", + type: "fallback" + }, + { + inputs: [], + name: "admin", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "newAdmin", + type: "address" + } + ], + name: "changeAdmin", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "implementation", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "newImplementation", + type: "address" + } + ], + name: "upgradeTo", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "newImplementation", + type: "address" + }, + { + internalType: "bytes", + name: "data", + type: "bytes" + } + ], + name: "upgradeToAndCall", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + stateMutability: "payable", + type: "receive" + } +]; +const _bytecode$9 = "0x60806040526040516108403803806108408339818101604052606081101561002657600080fd5b8151602083015160408085018051915193959294830192918464010000000082111561005157600080fd5b90830190602082018581111561006657600080fd5b825164010000000081118282018810171561008057600080fd5b82525081516020918201929091019080838360005b838110156100ad578181015183820152602001610095565b50505050905090810190601f1680156100da5780820380516001836020036101000a031916815260200191505b50604052508491508390508282816100f1826101c5565b8051156101a9576000826001600160a01b0316826040518082805190602001908083835b602083106101345780518252601f199092019160209182019101610115565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610194576040519150601f19603f3d011682016040523d82523d6000602084013e610199565b606091505b50509050806101a757600080fd5b505b506101b19050565b6101ba82610237565b505050505050610261565b6101d88161025b60201b6103b41760201c565b6102135760405162461bcd60e51b815260040180806020018281038252603681526020018061080a6036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b3b151590565b61059a806102706000396000f3fe60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100985780635c60da1b146101185780638f28397014610149578063f851a4401461017c5761005d565b3661005d5761005b610191565b005b61005b610191565b34801561007157600080fd5b5061005b6004803603602081101561008857600080fd5b50356001600160a01b03166101ab565b61005b600480360360408110156100ae57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100d957600080fd5b8201836020820111156100eb57600080fd5b8035906020019184600183028401116401000000008311171561010d57600080fd5b5090925090506101e5565b34801561012457600080fd5b5061012d610292565b604080516001600160a01b039092168252519081900360200190f35b34801561015557600080fd5b5061005b6004803603602081101561016c57600080fd5b50356001600160a01b03166102cf565b34801561018857600080fd5b5061012d610389565b6101996101a9565b6101a96101a46103ba565b6103df565b565b6101b3610403565b6001600160a01b0316336001600160a01b031614156101da576101d581610428565b6101e2565b6101e2610191565b50565b6101ed610403565b6001600160a01b0316336001600160a01b031614156102855761020f83610428565b6000836001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d806000811461026c576040519150601f19603f3d011682016040523d82523d6000602084013e610271565b606091505b505090508061027f57600080fd5b5061028d565b61028d610191565b505050565b600061029c610403565b6001600160a01b0316336001600160a01b031614156102c4576102bd6103ba565b90506102cc565b6102cc610191565b90565b6102d7610403565b6001600160a01b0316336001600160a01b031614156101da576001600160a01b0381166103355760405162461bcd60e51b815260040180806020018281038252603a8152602001806104f5603a913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61035e610403565b604080516001600160a01b03928316815291841660208301528051918290030190a16101d581610468565b6000610393610403565b6001600160a01b0316336001600160a01b031614156102c4576102bd610403565b3b151590565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e8080156103fe573d6000f35b3d6000fd5b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b6104318161048c565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b610495816103b4565b6104d05760405162461bcd60e51b815260040180806020018281038252603681526020018061052f6036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5556fe5472616e73706172656e745570677261646561626c6550726f78793a206e65772061646d696e20697320746865207a65726f20616464726573735570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374a26469706673582212203c0c6456361fbff816ff53c5547d39ad0e807130f877d2661772f7bffc95b82764736f6c634300060c00335570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374"; +const isSuperArgs$9 = (xs) => xs.length > 1; +let AdminUpgradeableProxy__factory$1 = class AdminUpgradeableProxy__factory extends ethers.ContractFactory { + constructor(...args) { + if (isSuperArgs$9(args)) { + super(...args); + } else { + super(_abi$9, _bytecode$9, args[0]); + } + } + getDeployTransaction(_logic, _admin, _data, overrides) { + return super.getDeployTransaction(_logic, _admin, _data, overrides || {}); + } + deploy(_logic, _admin, _data, overrides) { + return super.deploy(_logic, _admin, _data, overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new ethers.Interface(_abi$9); + } + static connect(address, runner) { + return new ethers.Contract( + address, + _abi$9, + runner + ); + } +}; +AdminUpgradeableProxy__factory$1.bytecode = _bytecode$9; +AdminUpgradeableProxy__factory$1.abi = _abi$9; + +const _abi$8 = [ + { + inputs: [ + { + internalType: "address", + name: "stakingRewardsAddress", + type: "address" + }, + { + internalType: "address", + name: "gasCompLogic", + type: "address" + }, + { + internalType: "address", + name: "userVaultAddress", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + } + ], + name: "Delegated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "id", + type: "uint256" + }, + { + indexed: true, + internalType: "address", + name: "proposer", + type: "address" + }, + { + indexed: false, + internalType: "address", + name: "target", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "startTime", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "endTime", + type: "uint256" + }, + { + indexed: false, + internalType: "string", + name: "description", + type: "string" + } + ], + name: "ProposalCreated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "proposalId", + type: "uint256" + } + ], + name: "ProposalExecuted", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address" + }, + { + indexed: true, + internalType: "bytes", + name: "errorData", + type: "bytes" + } + ], + name: "RewardUpdateFailed", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address" + } + ], + name: "RewardUpdateSuccessful", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + } + ], + name: "Undelegated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + indexed: true, + internalType: "address", + name: "voter", + type: "address" + }, + { + indexed: true, + internalType: "bool", + name: "support", + type: "bool" + }, + { + indexed: false, + internalType: "uint256", + name: "votes", + type: "uint256" + } + ], + name: "Voted", + type: "event" + }, + { + inputs: [], + name: "CLOSING_PERIOD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "EXECUTION_DELAY", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "EXECUTION_EXPIRATION", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "PROPOSAL_THRESHOLD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "QUORUM_VOTES", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "Staking", + outputs: [ + { + internalType: "contract ITornadoStakingRewards", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "VOTE_EXTEND_TIME", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "VOTING_DELAY", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "VOTING_PERIOD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "canWithdrawAfter", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address[]", + name: "from", + type: "address[]" + }, + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + internalType: "bool", + name: "support", + type: "bool" + } + ], + name: "castDelegatedVote", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + internalType: "bool", + name: "support", + type: "bool" + } + ], + name: "castVote", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + } + ], + name: "checkIfQuorumReached", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address" + } + ], + name: "delegate", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "delegatedTo", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + } + ], + name: "execute", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [], + name: "gasCompensationVault", + outputs: [ + { + internalType: "contract IGasCompensationVault", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + internalType: "address", + name: "voter", + type: "address" + } + ], + name: "getReceipt", + outputs: [ + { + components: [ + { + internalType: "bool", + name: "hasVoted", + type: "bool" + }, + { + internalType: "bool", + name: "support", + type: "bool" + }, + { + internalType: "uint256", + name: "votes", + type: "uint256" + } + ], + internalType: "struct Governance.Receipt", + name: "", + type: "tuple" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "hasAccountVoted", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_torn", + type: "address" + } + ], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "latestProposalIds", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256" + }, + { + internalType: "uint8", + name: "v", + type: "uint8" + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32" + } + ], + name: "lock", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "lockWithApproval", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "lockedBalance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + name: "proposalCodehashes", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "proposalCount", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + name: "proposals", + outputs: [ + { + internalType: "address", + name: "proposer", + type: "address" + }, + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "uint256", + name: "startTime", + type: "uint256" + }, + { + internalType: "uint256", + name: "endTime", + type: "uint256" + }, + { + internalType: "uint256", + name: "forVotes", + type: "uint256" + }, + { + internalType: "uint256", + name: "againstVotes", + type: "uint256" + }, + { + internalType: "bool", + name: "executed", + type: "bool" + }, + { + internalType: "bool", + name: "extended", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "string", + name: "description", + type: "string" + } + ], + name: "propose", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address" + }, + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "string", + name: "description", + type: "string" + } + ], + name: "proposeByDelegate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "returnMultisigAddress", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "pure", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "closingPeriod", + type: "uint256" + } + ], + name: "setClosingPeriod", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "executionDelay", + type: "uint256" + } + ], + name: "setExecutionDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "executionExpiration", + type: "uint256" + } + ], + name: "setExecutionExpiration", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "gasCompensationsLimit", + type: "uint256" + } + ], + name: "setGasCompensations", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalThreshold", + type: "uint256" + } + ], + name: "setProposalThreshold", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "quorumVotes", + type: "uint256" + } + ], + name: "setQuorumVotes", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "voteExtendTime", + type: "uint256" + } + ], + name: "setVoteExtendTime", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "votingDelay", + type: "uint256" + } + ], + name: "setVotingDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "votingPeriod", + type: "uint256" + } + ], + name: "setVotingPeriod", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + } + ], + name: "state", + outputs: [ + { + internalType: "enum Governance.ProposalState", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "torn", + outputs: [ + { + internalType: "contract TORN", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "undelegate", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "unlock", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "userVault", + outputs: [ + { + internalType: "contract ITornadoVault", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "version", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "pure", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "withdrawFromHelper", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + stateMutability: "payable", + type: "receive" + } +]; +const _bytecode$8 = "0x60e06040523480156200001157600080fd5b50604051620034343803806200343483398101604081905262000034916200016b565b82828281818181600060019054906101000a900460ff16806200005c57506200005c62000124565b806200006b575060005460ff16155b620000935760405162461bcd60e51b81526004016200008a90620001be565b60405180910390fd5b600054610100900460ff16158015620000bf576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b03191661dead179055620000dd6200012a565b8015620000f0576000805461ff00191690555b506001600160601b0319606091821b811660805291811b821660a0529590951b90941660c052506200022595505050505050565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b60008060006060848603121562000180578283fd5b83516200018d816200020c565b6020850151909350620001a0816200020c565b6040850151909250620001b3816200020c565b809150509250925092565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b6001600160a01b03811681146200022257600080fd5b50565b60805160601c60a05160601c60c05160601c6131ac6200028860003980610d1352806110d452806116c752806117f85250806109105280610eca5280610fc252806116435280611d6d52508061105d5280611c1652806124f152506131ac6000f3fe6080604052600436106102815760003560e01c80639daafec71161014f578063d6f0948c116100c1578063ea0217cf1161007a578063ea0217cf14610755578063ece40cc114610775578063ef3f8bb114610795578063f0b76892146107b5578063f57df22e146107d5578063fe0d94c1146107ea57610288565b8063d6f0948c14610693578063da35c664146106b3578063e01f5237146106c8578063e23a9a52146106e8578063e4917d9f14610715578063e525aa081461073557610288565b8063b54426c811610113578063b54426c8146105e9578063b859f11b14610609578063c0c0e82014610629578063c4d66de814610649578063ce25d71c14610669578063d6159fe51461067e57610288565b80639daafec714610575578063a6c266031461058a578063a72edda31461059f578063adf898a4146105bf578063b1610d7e146105d457610288565b80635c19a95c116101f357806370b0f660116101ac57806370b0f660146104cb5780638b34a960146104eb57806392ab89bb14610500578063932d5157146105155780639a9e3b6e146105355780639ae697bf1461055557610288565b80635c19a95c146104215780636198e3391461044157806365da126414610461578063671dd275146104815780636a661755146104965780636dc2dc6c146104ab57610288565b806332687ec11161024557806332687ec11461035b57806337f135d7146103885780633e4f49e61461039d57806354fd4d50146103ca578063587a6ecb146103ec57806358e9fff01461040157610288565b8063013cf08b1461028d57806302ec8f9e146102ca57806315373e3d146102ec57806317977c611461030c57806324b0435f1461033957610288565b3661028857005b600080fd5b34801561029957600080fd5b506102ad6102a83660046128e1565b6107fd565b6040516102c19897969594939291906129ed565b60405180910390f35b3480156102d657600080fd5b506102ea6102e53660046128e1565b610862565b005b3480156102f857600080fd5b506102ea610307366004612925565b61088f565b34801561031857600080fd5b5061032c6103273660046126d8565b610992565b6040516102c19190612ab6565b34801561034557600080fd5b5061034e6109a4565b6040516102c1919061299c565b34801561036757600080fd5b5061037b6103763660046128e1565b6109bc565b6040516102c19190612aab565b34801561039457600080fd5b5061032c610a0a565b3480156103a957600080fd5b506103bd6103b83660046128e1565b610a10565b6040516102c19190612abf565b3480156103d657600080fd5b506103df610b4c565b6040516102c19190612ad3565b3480156103f857600080fd5b5061032c610b75565b34801561040d57600080fd5b5061032c61041c3660046126f3565b610b7b565b34801561042d57600080fd5b506102ea61043c3660046126d8565b610bc9565b34801561044d57600080fd5b506102ea61045c3660046128e1565b610ceb565b34801561046d57600080fd5b5061034e61047c3660046126d8565b610e38565b34801561048d57600080fd5b5061032c610e53565b3480156104a257600080fd5b5061032c610e59565b3480156104b757600080fd5b506102ea6104c63660046128e1565b610e5f565b3480156104d757600080fd5b506102ea6104e63660046128e1565b610ea4565b3480156104f757600080fd5b5061034e610ec8565b34801561050c57600080fd5b506102ea610eec565b34801561052157600080fd5b506102ea6105303660046128e1565b610f73565b34801561054157600080fd5b506102ea6105503660046128e1565b611025565b34801561056157600080fd5b5061032c6105703660046126d8565b611049565b34801561058157600080fd5b5061034e61105b565b34801561059657600080fd5b5061032c61107f565b3480156105ab57600080fd5b5061032c6105ba3660046126d8565b611085565b3480156105cb57600080fd5b5061034e611097565b3480156105e057600080fd5b5061032c6110a6565b3480156105f557600080fd5b506102ea6106043660046128e1565b6110ac565b34801561061557600080fd5b506102ea610624366004612800565b6111f5565b34801561063557600080fd5b506102ea6106443660046128e1565b611243565b34801561065557600080fd5b506102ea6106643660046126d8565b611267565b34801561067557600080fd5b5061032c6114aa565b34801561068a57600080fd5b5061032c6114b0565b34801561069f57600080fd5b5061032c6106ae366004612753565b6114b6565b3480156106bf57600080fd5b5061032c6114cc565b3480156106d457600080fd5b5061032c6106e33660046128e1565b6114d6565b3480156106f457600080fd5b506107086107033660046128f9565b6114e8565b6040516102c191906130db565b34801561072157600080fd5b506102ea6107303660046128e1565b61155a565b34801561074157600080fd5b5061037b6107503660046128f9565b61157e565b34801561076157600080fd5b506102ea6107703660046128e1565b6115c1565b34801561078157600080fd5b506102ea6107903660046128e1565b6115e5565b3480156107a157600080fd5b506102ea6107b03660046128e1565b611609565b3480156107c157600080fd5b506102ea6107d03660046127a1565b61169b565b3480156107e157600080fd5b5061034e6117f6565b6102ea6107f83660046128e1565b61181a565b603d818154811061080a57fe5b600091825260209091206008909102018054600182015460028301546003840154600485015460058601546006909601546001600160a01b039586169750949093169491939092919060ff8082169161010090041688565b33301461088a5760405162461bcd60e51b815260040161088190612e49565b60405180910390fd5b603555565b3361089a833361157e565b1580156108ad57506108ab836109bc565b155b3332146108bb5760006108bf565b6152085b61ffff1681156109805760005a90506108d93387876118ac565b60006108f66127106108f0856108f05a8790611add565b90611b1f565b60405163a99ce80760e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a99ce8079061094790889085906004016129b0565b600060405180830381600087803b15801561096157600080fd5b505af1158015610975573d6000803e3d6000fd5b50505050505061098b565b61098b3386866118ac565b5050505050565b603e6020526000908152604090205481565b73b04e030140b30c27bcdfaafffa98c57d80eda7b490565b6000603554603d83815481106109ce57fe5b906000526020600020906008020160050154603d84815481106109ed57fe5b90600052602060002090600802016004015401101590505b919050565b60335481565b6000610a1a6114cc565b8211158015610a295750600082115b610a455760405162461bcd60e51b815260040161088190612fa6565b6000603d8381548110610a5457fe5b906000526020600020906008020190508060020154610a71611b44565b11610a80576000915050610a05565b8060030154610a8d611b44565b11610a9c576001915050610a05565b80600501548160040154111580610abe57506035548160050154826004015401105b15610acd576002915050610a05565b600681015460ff1615610ae4576005915050610a05565b610b036034546108f06033548460030154611b1f90919063ffffffff16565b610b0b611b44565b10610b1a576006915050610a05565b6033546003820154610b2b91611b1f565b610b33611b44565b10610b42576004915050610a05565b6003915050610a05565b60408051808201909152600f81526e0d0b9c185d18da0b595e1c1b1bda5d608a1b602082015290565b603a5481565b6001600160a01b038381166000908152603c60205260408120549091163314610bb65760405162461bcd60e51b815260040161088190613036565b610bc1848484611b48565b949350505050565b336000818152603c60205260409020546001600160a01b039081169190831614801590610bff57506001600160a01b0382163014155b8015610c1357506001600160a01b03821615155b8015610c315750806001600160a01b0316826001600160a01b031614155b610c4d5760405162461bcd60e51b815260040161088190612e80565b6001600160a01b03811615610c93576040516001600160a01b0382169033907f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7290600090a35b336000818152603c602052604080822080546001600160a01b0319166001600160a01b03871690811790915590519092917f4bc154dd35d6a5cb9206482ecb473cdbf2473006d6bce728b9cc0741bcc59ea291a35050565b336000818152603b60205260409081902054905163e113335f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163e113335f91610d489185916004016129b0565b600060405180830381600087803b158015610d6257600080fd5b505af1925050508015610d73575060015b610df6573d808015610da1576040519150601f19603f3d011682016040523d82523d6000602084013e610da6565b606091505b5080604051610db59190612980565b604051908190038120906001600160a01b038416907f5a6216e80d86159dc87dcebfe519205477a94005b7d9d6bd313606450a5344f690600090a350610e2b565b6040516001600160a01b038216907f9b227b0c1ae308b34f72d4fdf9a1943fa769ff4814933595e7bc5230a117698b90600090a25b610e3482611b70565b5050565b603c602052600090815260409020546001600160a01b031681565b60355481565b60345481565b333014610e7e5760405162461bcd60e51b815260040161088190612e49565b6033548110610e9f5760405162461bcd60e51b815260040161088190612d6d565b603a55565b333014610ec35760405162461bcd60e51b815260040161088190612e49565b603755565b7f000000000000000000000000000000000000000000000000000000000000000081565b336000908152603c60205260409020546001600160a01b031680610f225760405162461bcd60e51b815260040161088190612fec565b336000818152603c602052604080822080546001600160a01b0319169055516001600160a01b03841692917f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7291a350565b610f7b6109a4565b6001600160a01b0316336001600160a01b031614610fab5760405162461bcd60e51b815260040161088190612f7f565b604051633a08bde160e21b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e822f78490610ff7908490600401612ab6565b600060405180830381600087803b15801561101157600080fd5b505af115801561098b573d6000803e3d6000fd5b3330146110445760405162461bcd60e51b815260040161088190612e49565b603455565b603b6020526000908152604090205481565b7f000000000000000000000000000000000000000000000000000000000000000081565b60365481565b603f6020526000908152604090205481565b6040546001600160a01b031681565b60385481565b336000818152603b60205260409081902054905163e113335f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163e113335f916111099185916004016129b0565b600060405180830381600087803b15801561112357600080fd5b505af1925050508015611134575060015b6111b7573d808015611162576040519150601f19603f3d011682016040523d82523d6000602084013e611167565b606091505b50806040516111769190612980565b604051908190038120906001600160a01b038416907f5a6216e80d86159dc87dcebfe519205477a94005b7d9d6bd313606450a5344f690600090a3506111ec565b6040516001600160a01b038216907f9b227b0c1ae308b34f72d4fdf9a1943fa769ff4814933595e7bc5230a117698b90600090a25b610e3482611c54565b60008351116112165760405162461bcd60e51b815260040161088190612e1f565b61123e838383611226863361157e565b1580156112395750611237866109bc565b155b611c5e565b505050565b3330146112625760405162461bcd60e51b815260040161088190612e49565b603955565b600054610100900460ff16806112805750611280611ea1565b8061128e575060005460ff16155b6112aa5760405162461bcd60e51b815260040161088190612f31565b600054610100900460ff161580156112d5576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b038085166001600160a01b03199283161783558251610100818101855230825261dead602083019081526000958301868152606084018781526080850188815260a08601898152600160c0880181815260e089018c8152603d80549384018155909c52975160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b16928c169290921790915594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc4860180549190991699169890981790965590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc5830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc682015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc784015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc8830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990910180549351151590920261ff001991151560ff199094169390931716919091179055611495611ea7565b8015610e34576000805461ff00191690555050565b60395481565b60375481565b60006114c3338484611b48565b90505b92915050565b603d546000190190565b60416020526000908152604090205481565b6114f06125d2565b603d83815481106114fd57fe5b600091825260208083206001600160a01b0395909516835260089190910290930160070183526040908190208151606081018352815460ff8082161515835261010090910416151594810194909452600101549083015250919050565b3330146115795760405162461bcd60e51b815260040161088190612e49565b603355565b6000603d838154811061158d57fe5b600091825260208083206001600160a01b03861684526007600890930201919091019052604090205460ff16905092915050565b3330146115e05760405162461bcd60e51b815260040161088190612e49565b603855565b3330146116045760405162461bcd60e51b815260040161088190612e49565b603655565b6116116109a4565b6001600160a01b0316336001600160a01b0316146116415760405162461bcd60e51b815260040161088190612f7f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108fc6116788347611ee8565b6040518115909202916000818181858888f1935050505061169857600080fd5b50565b6001600160a01b038087166000908152603b60205260409081902054905163e113335f60e01b815288927f0000000000000000000000000000000000000000000000000000000000000000169163e113335f916116fc9185916004016129b0565b600060405180830381600087803b15801561171657600080fd5b505af1925050508015611727575060015b6117aa573d808015611755576040519150601f19603f3d011682016040523d82523d6000602084013e61175a565b606091505b50806040516117699190612980565b604051908190038120906001600160a01b038416907f5a6216e80d86159dc87dcebfe519205477a94005b7d9d6bd313606450a5344f690600090a3506117df565b6040516001600160a01b038216907f9b227b0c1ae308b34f72d4fdf9a1943fa769ff4814933595e7bc5230a117698b90600090a25b6117ed878787878787611efe565b50505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b3330141561183a5760405162461bcd60e51b815260040161088190612c36565b6000603d828154811061184957fe5b6000918252602080832060016008909302019182015485845260419091526040909220549092506001600160a01b0390911690813f90811461189d5760405162461bcd60e51b815260040161088190612d17565b6118a684611f7e565b50505050565b60016118b783610a10565b60068111156118c257fe5b146118df5760405162461bcd60e51b815260040161088190612bef565b6000603d83815481106118ee57fe5b600091825260208083206001600160a01b038816845260076008909302019182018152604080842060058401546004850154603b90945291909420549294501015908061194d5760405162461bcd60e51b815260040161088190612eb7565b825460ff161561199c578254610100900460ff1615611983576001830154600485015461197991611add565b600485015561199c565b6001830154600585015461199691611add565b60058501555b84156119bb5760048401546119b19082611b1f565b60048501556119d0565b60058401546119ca9082611b1f565b60058501555b6006840154610100900460ff16158015611a0057506039546119fe6119f3611b44565b600387015490611add565b105b15611a44576005840154600485015411158215158114611a425760068501805461ff001916610100179055603a546003860154611a3c91611b1f565b60038601555b505b8254600160ff19909116811761ff001916610100871515021784558301819055603354603454603a546003870154611a8f938b93611a8a9391926108f092839190611b1f565b612110565b841515876001600160a01b0316877f7c2de587c00d75474a0c6c6fa96fd3b45dc974cd4e8a75f712bb84c950dce1b584604051611acc9190612ab6565b60405180910390a450505050505050565b60006114c383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061214d565b6000828201838110156114c35760405162461bcd60e51b815260040161088190612ce0565b4290565b6000611b55848484612179565b6000818152604160205260409020933f909355509092915050565b336000908152603f6020526040902054611b88611b44565b11611ba55760405162461bcd60e51b815260040161088190612db1565b60408051808201825260208082527f476f7665726e616e63653a20696e73756666696369656e742062616c616e636581830152336000908152603b9091529190912054611bf391839061214d565b336000818152603b6020526040908190209290925590516391fe357360e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316916391fe357391610ff7919085906004016129b0565b61169833826124c7565b3381328214611c6e576000611c72565b6152085b61ffff168115611ddd5760005a905060005b8851811015611d3b576000898281518110611c9b57fe5b6020908102919091018101516001600160a01b038082166000908152603c90935260409092205490925016331480611cdb57506001600160a01b03811633145b611cf75760405162461bcd60e51b815260040161088190613036565b861580611d0b5750611d09898261157e565b155b611d275760405162461bcd60e51b8152600401610881906130a4565b611d32818a8a6118ac565b50600101611c84565b506000611d536127106108f0856108f05a8790611add565b60405163a99ce80760e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a99ce80790611da490889085906004016129b0565b600060405180830381600087803b158015611dbe57600080fd5b505af1158015611dd2573d6000803e3d6000fd5b5050505050506117ed565b60005b8751811015611e97576000888281518110611df757fe5b6020908102919091018101516001600160a01b038082166000908152603c90935260409092205490925016331480611e3757506001600160a01b03811633145b611e535760405162461bcd60e51b815260040161088190613036565b851580611e675750611e65888261157e565b155b611e835760405162461bcd60e51b8152600401610881906130a4565b611e8e8189896118ac565b50600101611de0565b5050505050505050565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b6000818310611ef757816114c3565b5090919050565b60408054905163d505accf60e01b81526001600160a01b039091169063d505accf90611f3a90899030908a908a908a908a908a90600401612a33565b600060405180830381600087803b158015611f5457600080fd5b505af1158015611f68573d6000803e3d6000fd5b50505050611f7686866124c7565b505050505050565b6004611f8982610a10565b6006811115611f9457fe5b14611fb15760405162461bcd60e51b815260040161088190612b29565b6000603d8281548110611fc057fe5b600091825260209091206006600890920201908101805460ff191660019081179091558101549091506001600160a01b0316611ffb816125cc565b6120175760405162461bcd60e51b815260040161088190612ae6565b60408051600481526024810182526020810180516001600160e01b03166306e60b1760e31b17905290516000916060916001600160a01b0385169161205b91612980565b600060405180830381855af49150503d8060008114612096576040519150601f19603f3d011682016040523d82523d6000602084013e61209b565b606091505b5091509150816120de578051156120c6578060405162461bcd60e51b81526004016108819190612ad3565b60405162461bcd60e51b81526004016108819061306d565b60405185907f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f90600090a25050505050565b6001600160a01b0382166000908152603f6020526040902054811115610e34576001600160a01b03919091166000908152603f6020526040902055565b600081848411156121715760405162461bcd60e51b81526004016108819190612ad3565b505050900390565b6001600160a01b0383166000908152603b60205260408120546036548110156121b45760405162461bcd60e51b815260040161088190612c83565b6121bd846125cc565b6121d95760405162461bcd60e51b815260040161088190612eee565b6001600160a01b0385166000908152603e6020526040902054801561224b57600061220382610a10565b9050600181600681111561221357fe5b1415801561222d5750600081600681111561222a57fe5b14155b6122495760405162461bcd60e51b815260040161088190612b74565b505b600061225b6037546108f0611b44565b9050600061227460385483611b1f90919063ffffffff16565b905061227e6125f2565b506040805161010080820183526001600160a01b03808c1683528a8116602084019081529383018681526060840186815260006080860181815260a0870182815260c0880183815260e08901848152603d80546001810182559086528a5160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b166001600160a01b03199384161790559b517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc48d01805491909a1691161790975594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc58a015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc6890155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc788015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc887015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990950180549251151590930261ff001995151560ff199093169290921794909416179055906124306114cc565b82516001600160a01b03166000908152603e60205260409020819055603354603454603a54929350612472928d92611a8a9290916108f0919082908a90611b1f565b896001600160a01b0316817f90ec05050aa23d54ba425e926fe646c318e85825bc400b13a46010abe86eb2f08b87878d6040516124b29493929190612a74565b60405180910390a39998505050505050505050565b6040805490516323b872dd60e01b81526001600160a01b03909116906323b872dd9061251b9085907f00000000000000000000000000000000000000000000000000000000000000009086906004016129c9565b602060405180830381600087803b15801561253557600080fd5b505af1158015612549573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061256d91906128c5565b6125895760405162461bcd60e51b815260040161088190612de8565b6001600160a01b0382166000908152603b60205260409020546125ac9082611b1f565b6001600160a01b039092166000908152603b602052604090209190915550565b3b151590565b604080516060810182526000808252602082018190529181019190915290565b60405180610100016040528060006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000151581526020016000151581525090565b80356001600160a01b03811681146114c657600080fd5b80356114c681613168565b600082601f83011261267f578081fd5b813567ffffffffffffffff811115612695578182fd5b6126a8601f8201601f1916602001613100565b91508082528360208285010111156126bf57600080fd5b8060208401602084013760009082016020015292915050565b6000602082840312156126e9578081fd5b6114c3838361264d565b600080600060608486031215612707578182fd5b833561271281613153565b9250602084013561272281613153565b9150604084013567ffffffffffffffff81111561273d578182fd5b6127498682870161266f565b9150509250925092565b60008060408385031215612765578182fd5b823561277081613153565b9150602083013567ffffffffffffffff81111561278b578182fd5b6127978582860161266f565b9150509250929050565b60008060008060008060c087890312156127b9578182fd5b6127c3888861264d565b95506020870135945060408701359350606087013560ff811681146127e6578283fd5b9598949750929560808101359460a0909101359350915050565b600080600060608486031215612814578283fd5b833567ffffffffffffffff8082111561282b578485fd5b818601915086601f83011261283e578485fd5b81358181111561284c578586fd5b6020915081810261285e838201613100565b8281528381019085850183870186018c101561287857898afd5b8996505b848710156128a25761288e8c8261264d565b83526001969096019591850191850161287c565b50975050505085013592506128bc90508560408601612664565b90509250925092565b6000602082840312156128d6578081fd5b81516114c381613168565b6000602082840312156128f2578081fd5b5035919050565b6000806040838503121561290b578182fd5b8235915061291c846020850161264d565b90509250929050565b60008060408385031215612937578182fd5b82359150602083013561294981613168565b809150509250929050565b6000815180845261296c816020860160208601613127565b601f01601f19169290920160200192915050565b60008251612992818460208701613127565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03988916815296909716602087015260408601949094526060850192909252608084015260a0830152151560c082015290151560e08201526101000190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b600060018060a01b038616825284602083015283604083015260806060830152612aa16080830184612954565b9695505050505050565b901515815260200190565b90815260200190565b6020810160078310612acd57fe5b91905290565b6000602082526114c36020830184612954565b60208082526023908201527f476f7665726e616e63653a3a657865637574653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602b908201527f476f7665726e616e63653a3a657865637574653a20696e76616c69642070726f60408201526a706f73616c20737461746560a81b606082015260800190565b60208082526055908201527f476f7665726e616e63653a3a70726f706f73653a206f6e65206c69766520707260408201527f6f706f73616c207065722070726f706f7365722c20666f756e6420616e20616c6060820152741c9958591e481858dd1a5d99481c1c9bdc1bdcd85b605a1b608082015260a00190565b60208082526027908201527f476f7665726e616e63653a3a5f63617374566f74653a20766f74696e672069736040820152660818db1bdcd95960ca1b606082015260800190565b6020808252602d908201527f476f7665726e616e63653a3a70726f706f73653a2070736575646f2d6578746560408201526c393730b610333ab731ba34b7b760991b606082015260800190565b6020808252603c908201527f476f7665726e616e63653a3a70726f706f73653a2070726f706f73657220766f60408201527f7465732062656c6f772070726f706f73616c207468726573686f6c6400000000606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526036908201527f476f7665726e616e63653a3a70726f706f73653a206d6574616d6f72706869636040820152750818dbdb9d1c9858dd1cc81b9bdd08185b1b1bddd95960521b606082015260800190565b60208082526024908201527f476f7665726e616e63653a20696e636f727265637420766f7465457874656e6460408201526354696d6560e01b606082015260800190565b6020808252601d908201527f476f7665726e616e63653a20746f6b656e7320617265206c6f636b6564000000604082015260600190565b60208082526019908201527f544f524e3a207472616e7366657246726f6d206661696c656400000000000000604082015260600190565b60208082526010908201526f43616e206e6f7420626520656d70747960801b604082015260600190565b60208082526018908201527f476f7665726e616e63653a20756e617574686f72697a65640000000000000000604082015260600190565b6020808252601d908201527f476f7665726e616e63653a20696e76616c69642064656c656761746565000000604082015260600190565b60208082526018908201527f476f7665726e616e63653a2062616c616e636520697320300000000000000000604082015260600190565b60208082526023908201527f476f7665726e616e63653a3a70726f706f73653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252600d908201526c6f6e6c79206d756c746973696760981b604082015260600190565b60208082526026908201527f476f7665726e616e63653a3a73746174653a20696e76616c69642070726f706f6040820152651cd85b081a5960d21b606082015260800190565b6020808252602a908201527f476f7665726e616e63653a20746f6b656e732061726520616c726561647920756040820152691b99195b1959d85d195960b21b606082015260800190565b6020808252601a908201527f476f7665726e616e63653a206e6f7420617574686f72697a6564000000000000604082015260600190565b60208082526019908201527f50726f706f73616c20657865637574696f6e206661696c656400000000000000604082015260600190565b60208082526019908201527f476f7665726e616e63653a20766f74656420616c726561647900000000000000604082015260600190565b8151151581526020808301511515908201526040918201519181019190915260600190565b60405181810167ffffffffffffffff8111828210171561311f57600080fd5b604052919050565b60005b8381101561314257818101518382015260200161312a565b838111156118a65750506000910152565b6001600160a01b038116811461169857600080fd5b801515811461169857600080fdfea2646970667358221220b75004153b6c8b4905c018daca78cb0fa6d3859298be55252bcf6ba75ea68d0e64736f6c634300060c0033"; +const isSuperArgs$8 = (xs) => xs.length > 1; +class GovernanceExploitPatchUpgrade__factory extends ethers.ContractFactory { + constructor(...args) { + if (isSuperArgs$8(args)) { + super(...args); + } else { + super(_abi$8, _bytecode$8, args[0]); + } + } + getDeployTransaction(stakingRewardsAddress, gasCompLogic, userVaultAddress, overrides) { + return super.getDeployTransaction( + stakingRewardsAddress, + gasCompLogic, + userVaultAddress, + overrides || {} + ); + } + deploy(stakingRewardsAddress, gasCompLogic, userVaultAddress, overrides) { + return super.deploy( + stakingRewardsAddress, + gasCompLogic, + userVaultAddress, + overrides || {} + ); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new ethers.Interface(_abi$8); + } + static connect(address, runner) { + return new ethers.Contract( + address, + _abi$8, + runner + ); + } +} +GovernanceExploitPatchUpgrade__factory.bytecode = _bytecode$8; +GovernanceExploitPatchUpgrade__factory.abi = _abi$8; + +const _abi$7 = [ + { + inputs: [ + { + internalType: "address", + name: "_deployedStakingProxyContractAddress", + type: "address" + }, + { + internalType: "address", + name: "_deployedRelayerRegistryImplementationAddress", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + inputs: [], + name: "TORN", + outputs: [ + { + internalType: "contract IERC20", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "deployedRelayerRegistryImplementationAddress", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "deployedStakingProxyContractAddress", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "executeProposal", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "gasCompensationVaultAddress", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "governanceProxyAddress", + outputs: [ + { + internalType: "address payable", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "oldStakingProxyAddress", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "registryProxyAddress", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "userVaultAddress", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + } +]; +const _bytecode$7 = "0x60c060405234801561001057600080fd5b50604051613adb380380613adb83398101604081905261002f9161004d565b6001600160601b0319606092831b8116608052911b1660a05261009e565b6000806040838503121561005f578182fd5b825161006a81610086565b602084015190925061007b81610086565b809150509250929050565b6001600160a01b038116811461009b57600080fd5b50565b60805160601c60a05160601c613a056100d66000398061027a52806104985250806102f952806103f452806104bc5250613a056000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c8063373058b811610066578063373058b8146100ce5780634655478f146100d857806361697d64146100e05780636fc6091d146100e85780639b49989a146100f057610093565b80630cc784761461009857806313f32237146100b657806324044543146100be57806332bf1039146100c6575b600080fd5b6100a06100f8565b6040516100ad9190610542565b60405180910390f35b6100a0610110565b6100a0610128565b6100a0610140565b6100d6610158565b005b6100a061047e565b6100a0610496565b6100a06104ba565b6100a06104de565b7358e8dcc13be9780fc42e8723d8ead4cf46943df281565b732fc93484614a34f26f7970cbb94615ba109bb4bf81565b73fa4c1f3f7d5dd7c12a9adb82cd7dda542e3d59ef81565b7377777feddddffc19ff86db637967013e6c6a116c81565b6040516370a0823160e01b8152732fc93484614a34f26f7970cbb94615ba109bb4bf90819063f58073b1907377777feddddffc19ff86db637967013e6c6a116c906370a08231906101ad908590600401610542565b60206040518083038186803b1580156101c557600080fd5b505afa1580156101d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101fd919061052a565b6040518263ffffffff1660e01b81526004016102199190610592565b600060405180830381600087803b15801561023357600080fd5b505af1158015610247573d6000803e3d6000fd5b5050604051631b2ce7f360e11b81527358e8dcc13be9780fc42e8723d8ead4cf46943df29250633659cfe691506102a2907f000000000000000000000000000000000000000000000000000000000000000090600401610542565b600060405180830381600087803b1580156102bc57600080fd5b505af11580156102d0573d6000803e3d6000fd5b50505050735efda50f22d34f262c29268506c5fa42cb56a1ce6001600160a01b0316633659cfe67f000000000000000000000000000000000000000000000000000000000000000073fa4c1f3f7d5dd7c12a9adb82cd7dda542e3d59ef732f50508a8a3d323b91336fa3ea6ae50e55f3218560405161034e906104f6565b61035a93929190610556565b604051809103906000f080158015610376573d6000803e3d6000fd5b506040518263ffffffff1660e01b81526004016103939190610542565b600060405180830381600087803b1580156103ad57600080fd5b505af11580156103c1573d6000803e3d6000fd5b505060405163a9059cbb60e01b81527377777feddddffc19ff86db637967013e6c6a116c925063a9059cbb9150610428907f0000000000000000000000000000000000000000000000000000000000000000906913ecbccf7737e6b0000090600401610579565b602060405180830381600087803b15801561044257600080fd5b505af1158015610456573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061047a9190610503565b5050565b735efda50f22d34f262c29268506c5fa42cb56a1ce81565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b732f50508a8a3d323b91336fa3ea6ae50e55f3218581565b6134348061059c83390190565b600060208284031215610514578081fd5b81518015158114610523578182fd5b9392505050565b60006020828403121561053b578081fd5b5051919050565b6001600160a01b0391909116815260200190565b6001600160a01b0393841681529183166020830152909116604082015260600190565b6001600160a01b03929092168252602082015260400190565b9081526020019056fe60e06040523480156200001157600080fd5b50604051620034343803806200343483398101604081905262000034916200016b565b82828281818181600060019054906101000a900460ff16806200005c57506200005c62000124565b806200006b575060005460ff16155b620000935760405162461bcd60e51b81526004016200008a90620001be565b60405180910390fd5b600054610100900460ff16158015620000bf576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b03191661dead179055620000dd6200012a565b8015620000f0576000805461ff00191690555b506001600160601b0319606091821b811660805291811b821660a0529590951b90941660c052506200022595505050505050565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b60008060006060848603121562000180578283fd5b83516200018d816200020c565b6020850151909350620001a0816200020c565b6040850151909250620001b3816200020c565b809150509250925092565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b6001600160a01b03811681146200022257600080fd5b50565b60805160601c60a05160601c60c05160601c6131ac6200028860003980610d1352806110d452806116c752806117f85250806109105280610eca5280610fc252806116435280611d6d52508061105d5280611c1652806124f152506131ac6000f3fe6080604052600436106102815760003560e01c80639daafec71161014f578063d6f0948c116100c1578063ea0217cf1161007a578063ea0217cf14610755578063ece40cc114610775578063ef3f8bb114610795578063f0b76892146107b5578063f57df22e146107d5578063fe0d94c1146107ea57610288565b8063d6f0948c14610693578063da35c664146106b3578063e01f5237146106c8578063e23a9a52146106e8578063e4917d9f14610715578063e525aa081461073557610288565b8063b54426c811610113578063b54426c8146105e9578063b859f11b14610609578063c0c0e82014610629578063c4d66de814610649578063ce25d71c14610669578063d6159fe51461067e57610288565b80639daafec714610575578063a6c266031461058a578063a72edda31461059f578063adf898a4146105bf578063b1610d7e146105d457610288565b80635c19a95c116101f357806370b0f660116101ac57806370b0f660146104cb5780638b34a960146104eb57806392ab89bb14610500578063932d5157146105155780639a9e3b6e146105355780639ae697bf1461055557610288565b80635c19a95c146104215780636198e3391461044157806365da126414610461578063671dd275146104815780636a661755146104965780636dc2dc6c146104ab57610288565b806332687ec11161024557806332687ec11461035b57806337f135d7146103885780633e4f49e61461039d57806354fd4d50146103ca578063587a6ecb146103ec57806358e9fff01461040157610288565b8063013cf08b1461028d57806302ec8f9e146102ca57806315373e3d146102ec57806317977c611461030c57806324b0435f1461033957610288565b3661028857005b600080fd5b34801561029957600080fd5b506102ad6102a83660046128e1565b6107fd565b6040516102c19897969594939291906129ed565b60405180910390f35b3480156102d657600080fd5b506102ea6102e53660046128e1565b610862565b005b3480156102f857600080fd5b506102ea610307366004612925565b61088f565b34801561031857600080fd5b5061032c6103273660046126d8565b610992565b6040516102c19190612ab6565b34801561034557600080fd5b5061034e6109a4565b6040516102c1919061299c565b34801561036757600080fd5b5061037b6103763660046128e1565b6109bc565b6040516102c19190612aab565b34801561039457600080fd5b5061032c610a0a565b3480156103a957600080fd5b506103bd6103b83660046128e1565b610a10565b6040516102c19190612abf565b3480156103d657600080fd5b506103df610b4c565b6040516102c19190612ad3565b3480156103f857600080fd5b5061032c610b75565b34801561040d57600080fd5b5061032c61041c3660046126f3565b610b7b565b34801561042d57600080fd5b506102ea61043c3660046126d8565b610bc9565b34801561044d57600080fd5b506102ea61045c3660046128e1565b610ceb565b34801561046d57600080fd5b5061034e61047c3660046126d8565b610e38565b34801561048d57600080fd5b5061032c610e53565b3480156104a257600080fd5b5061032c610e59565b3480156104b757600080fd5b506102ea6104c63660046128e1565b610e5f565b3480156104d757600080fd5b506102ea6104e63660046128e1565b610ea4565b3480156104f757600080fd5b5061034e610ec8565b34801561050c57600080fd5b506102ea610eec565b34801561052157600080fd5b506102ea6105303660046128e1565b610f73565b34801561054157600080fd5b506102ea6105503660046128e1565b611025565b34801561056157600080fd5b5061032c6105703660046126d8565b611049565b34801561058157600080fd5b5061034e61105b565b34801561059657600080fd5b5061032c61107f565b3480156105ab57600080fd5b5061032c6105ba3660046126d8565b611085565b3480156105cb57600080fd5b5061034e611097565b3480156105e057600080fd5b5061032c6110a6565b3480156105f557600080fd5b506102ea6106043660046128e1565b6110ac565b34801561061557600080fd5b506102ea610624366004612800565b6111f5565b34801561063557600080fd5b506102ea6106443660046128e1565b611243565b34801561065557600080fd5b506102ea6106643660046126d8565b611267565b34801561067557600080fd5b5061032c6114aa565b34801561068a57600080fd5b5061032c6114b0565b34801561069f57600080fd5b5061032c6106ae366004612753565b6114b6565b3480156106bf57600080fd5b5061032c6114cc565b3480156106d457600080fd5b5061032c6106e33660046128e1565b6114d6565b3480156106f457600080fd5b506107086107033660046128f9565b6114e8565b6040516102c191906130db565b34801561072157600080fd5b506102ea6107303660046128e1565b61155a565b34801561074157600080fd5b5061037b6107503660046128f9565b61157e565b34801561076157600080fd5b506102ea6107703660046128e1565b6115c1565b34801561078157600080fd5b506102ea6107903660046128e1565b6115e5565b3480156107a157600080fd5b506102ea6107b03660046128e1565b611609565b3480156107c157600080fd5b506102ea6107d03660046127a1565b61169b565b3480156107e157600080fd5b5061034e6117f6565b6102ea6107f83660046128e1565b61181a565b603d818154811061080a57fe5b600091825260209091206008909102018054600182015460028301546003840154600485015460058601546006909601546001600160a01b039586169750949093169491939092919060ff8082169161010090041688565b33301461088a5760405162461bcd60e51b815260040161088190612e49565b60405180910390fd5b603555565b3361089a833361157e565b1580156108ad57506108ab836109bc565b155b3332146108bb5760006108bf565b6152085b61ffff1681156109805760005a90506108d93387876118ac565b60006108f66127106108f0856108f05a8790611add565b90611b1f565b60405163a99ce80760e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a99ce8079061094790889085906004016129b0565b600060405180830381600087803b15801561096157600080fd5b505af1158015610975573d6000803e3d6000fd5b50505050505061098b565b61098b3386866118ac565b5050505050565b603e6020526000908152604090205481565b73b04e030140b30c27bcdfaafffa98c57d80eda7b490565b6000603554603d83815481106109ce57fe5b906000526020600020906008020160050154603d84815481106109ed57fe5b90600052602060002090600802016004015401101590505b919050565b60335481565b6000610a1a6114cc565b8211158015610a295750600082115b610a455760405162461bcd60e51b815260040161088190612fa6565b6000603d8381548110610a5457fe5b906000526020600020906008020190508060020154610a71611b44565b11610a80576000915050610a05565b8060030154610a8d611b44565b11610a9c576001915050610a05565b80600501548160040154111580610abe57506035548160050154826004015401105b15610acd576002915050610a05565b600681015460ff1615610ae4576005915050610a05565b610b036034546108f06033548460030154611b1f90919063ffffffff16565b610b0b611b44565b10610b1a576006915050610a05565b6033546003820154610b2b91611b1f565b610b33611b44565b10610b42576004915050610a05565b6003915050610a05565b60408051808201909152600f81526e0d0b9c185d18da0b595e1c1b1bda5d608a1b602082015290565b603a5481565b6001600160a01b038381166000908152603c60205260408120549091163314610bb65760405162461bcd60e51b815260040161088190613036565b610bc1848484611b48565b949350505050565b336000818152603c60205260409020546001600160a01b039081169190831614801590610bff57506001600160a01b0382163014155b8015610c1357506001600160a01b03821615155b8015610c315750806001600160a01b0316826001600160a01b031614155b610c4d5760405162461bcd60e51b815260040161088190612e80565b6001600160a01b03811615610c93576040516001600160a01b0382169033907f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7290600090a35b336000818152603c602052604080822080546001600160a01b0319166001600160a01b03871690811790915590519092917f4bc154dd35d6a5cb9206482ecb473cdbf2473006d6bce728b9cc0741bcc59ea291a35050565b336000818152603b60205260409081902054905163e113335f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163e113335f91610d489185916004016129b0565b600060405180830381600087803b158015610d6257600080fd5b505af1925050508015610d73575060015b610df6573d808015610da1576040519150601f19603f3d011682016040523d82523d6000602084013e610da6565b606091505b5080604051610db59190612980565b604051908190038120906001600160a01b038416907f5a6216e80d86159dc87dcebfe519205477a94005b7d9d6bd313606450a5344f690600090a350610e2b565b6040516001600160a01b038216907f9b227b0c1ae308b34f72d4fdf9a1943fa769ff4814933595e7bc5230a117698b90600090a25b610e3482611b70565b5050565b603c602052600090815260409020546001600160a01b031681565b60355481565b60345481565b333014610e7e5760405162461bcd60e51b815260040161088190612e49565b6033548110610e9f5760405162461bcd60e51b815260040161088190612d6d565b603a55565b333014610ec35760405162461bcd60e51b815260040161088190612e49565b603755565b7f000000000000000000000000000000000000000000000000000000000000000081565b336000908152603c60205260409020546001600160a01b031680610f225760405162461bcd60e51b815260040161088190612fec565b336000818152603c602052604080822080546001600160a01b0319169055516001600160a01b03841692917f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7291a350565b610f7b6109a4565b6001600160a01b0316336001600160a01b031614610fab5760405162461bcd60e51b815260040161088190612f7f565b604051633a08bde160e21b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e822f78490610ff7908490600401612ab6565b600060405180830381600087803b15801561101157600080fd5b505af115801561098b573d6000803e3d6000fd5b3330146110445760405162461bcd60e51b815260040161088190612e49565b603455565b603b6020526000908152604090205481565b7f000000000000000000000000000000000000000000000000000000000000000081565b60365481565b603f6020526000908152604090205481565b6040546001600160a01b031681565b60385481565b336000818152603b60205260409081902054905163e113335f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163e113335f916111099185916004016129b0565b600060405180830381600087803b15801561112357600080fd5b505af1925050508015611134575060015b6111b7573d808015611162576040519150601f19603f3d011682016040523d82523d6000602084013e611167565b606091505b50806040516111769190612980565b604051908190038120906001600160a01b038416907f5a6216e80d86159dc87dcebfe519205477a94005b7d9d6bd313606450a5344f690600090a3506111ec565b6040516001600160a01b038216907f9b227b0c1ae308b34f72d4fdf9a1943fa769ff4814933595e7bc5230a117698b90600090a25b610e3482611c54565b60008351116112165760405162461bcd60e51b815260040161088190612e1f565b61123e838383611226863361157e565b1580156112395750611237866109bc565b155b611c5e565b505050565b3330146112625760405162461bcd60e51b815260040161088190612e49565b603955565b600054610100900460ff16806112805750611280611ea1565b8061128e575060005460ff16155b6112aa5760405162461bcd60e51b815260040161088190612f31565b600054610100900460ff161580156112d5576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b038085166001600160a01b03199283161783558251610100818101855230825261dead602083019081526000958301868152606084018781526080850188815260a08601898152600160c0880181815260e089018c8152603d80549384018155909c52975160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b16928c169290921790915594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc4860180549190991699169890981790965590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc5830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc682015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc784015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc8830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990910180549351151590920261ff001991151560ff199094169390931716919091179055611495611ea7565b8015610e34576000805461ff00191690555050565b60395481565b60375481565b60006114c3338484611b48565b90505b92915050565b603d546000190190565b60416020526000908152604090205481565b6114f06125d2565b603d83815481106114fd57fe5b600091825260208083206001600160a01b0395909516835260089190910290930160070183526040908190208151606081018352815460ff8082161515835261010090910416151594810194909452600101549083015250919050565b3330146115795760405162461bcd60e51b815260040161088190612e49565b603355565b6000603d838154811061158d57fe5b600091825260208083206001600160a01b03861684526007600890930201919091019052604090205460ff16905092915050565b3330146115e05760405162461bcd60e51b815260040161088190612e49565b603855565b3330146116045760405162461bcd60e51b815260040161088190612e49565b603655565b6116116109a4565b6001600160a01b0316336001600160a01b0316146116415760405162461bcd60e51b815260040161088190612f7f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108fc6116788347611ee8565b6040518115909202916000818181858888f1935050505061169857600080fd5b50565b6001600160a01b038087166000908152603b60205260409081902054905163e113335f60e01b815288927f0000000000000000000000000000000000000000000000000000000000000000169163e113335f916116fc9185916004016129b0565b600060405180830381600087803b15801561171657600080fd5b505af1925050508015611727575060015b6117aa573d808015611755576040519150601f19603f3d011682016040523d82523d6000602084013e61175a565b606091505b50806040516117699190612980565b604051908190038120906001600160a01b038416907f5a6216e80d86159dc87dcebfe519205477a94005b7d9d6bd313606450a5344f690600090a3506117df565b6040516001600160a01b038216907f9b227b0c1ae308b34f72d4fdf9a1943fa769ff4814933595e7bc5230a117698b90600090a25b6117ed878787878787611efe565b50505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b3330141561183a5760405162461bcd60e51b815260040161088190612c36565b6000603d828154811061184957fe5b6000918252602080832060016008909302019182015485845260419091526040909220549092506001600160a01b0390911690813f90811461189d5760405162461bcd60e51b815260040161088190612d17565b6118a684611f7e565b50505050565b60016118b783610a10565b60068111156118c257fe5b146118df5760405162461bcd60e51b815260040161088190612bef565b6000603d83815481106118ee57fe5b600091825260208083206001600160a01b038816845260076008909302019182018152604080842060058401546004850154603b90945291909420549294501015908061194d5760405162461bcd60e51b815260040161088190612eb7565b825460ff161561199c578254610100900460ff1615611983576001830154600485015461197991611add565b600485015561199c565b6001830154600585015461199691611add565b60058501555b84156119bb5760048401546119b19082611b1f565b60048501556119d0565b60058401546119ca9082611b1f565b60058501555b6006840154610100900460ff16158015611a0057506039546119fe6119f3611b44565b600387015490611add565b105b15611a44576005840154600485015411158215158114611a425760068501805461ff001916610100179055603a546003860154611a3c91611b1f565b60038601555b505b8254600160ff19909116811761ff001916610100871515021784558301819055603354603454603a546003870154611a8f938b93611a8a9391926108f092839190611b1f565b612110565b841515876001600160a01b0316877f7c2de587c00d75474a0c6c6fa96fd3b45dc974cd4e8a75f712bb84c950dce1b584604051611acc9190612ab6565b60405180910390a450505050505050565b60006114c383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061214d565b6000828201838110156114c35760405162461bcd60e51b815260040161088190612ce0565b4290565b6000611b55848484612179565b6000818152604160205260409020933f909355509092915050565b336000908152603f6020526040902054611b88611b44565b11611ba55760405162461bcd60e51b815260040161088190612db1565b60408051808201825260208082527f476f7665726e616e63653a20696e73756666696369656e742062616c616e636581830152336000908152603b9091529190912054611bf391839061214d565b336000818152603b6020526040908190209290925590516391fe357360e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316916391fe357391610ff7919085906004016129b0565b61169833826124c7565b3381328214611c6e576000611c72565b6152085b61ffff168115611ddd5760005a905060005b8851811015611d3b576000898281518110611c9b57fe5b6020908102919091018101516001600160a01b038082166000908152603c90935260409092205490925016331480611cdb57506001600160a01b03811633145b611cf75760405162461bcd60e51b815260040161088190613036565b861580611d0b5750611d09898261157e565b155b611d275760405162461bcd60e51b8152600401610881906130a4565b611d32818a8a6118ac565b50600101611c84565b506000611d536127106108f0856108f05a8790611add565b60405163a99ce80760e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a99ce80790611da490889085906004016129b0565b600060405180830381600087803b158015611dbe57600080fd5b505af1158015611dd2573d6000803e3d6000fd5b5050505050506117ed565b60005b8751811015611e97576000888281518110611df757fe5b6020908102919091018101516001600160a01b038082166000908152603c90935260409092205490925016331480611e3757506001600160a01b03811633145b611e535760405162461bcd60e51b815260040161088190613036565b851580611e675750611e65888261157e565b155b611e835760405162461bcd60e51b8152600401610881906130a4565b611e8e8189896118ac565b50600101611de0565b5050505050505050565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b6000818310611ef757816114c3565b5090919050565b60408054905163d505accf60e01b81526001600160a01b039091169063d505accf90611f3a90899030908a908a908a908a908a90600401612a33565b600060405180830381600087803b158015611f5457600080fd5b505af1158015611f68573d6000803e3d6000fd5b50505050611f7686866124c7565b505050505050565b6004611f8982610a10565b6006811115611f9457fe5b14611fb15760405162461bcd60e51b815260040161088190612b29565b6000603d8281548110611fc057fe5b600091825260209091206006600890920201908101805460ff191660019081179091558101549091506001600160a01b0316611ffb816125cc565b6120175760405162461bcd60e51b815260040161088190612ae6565b60408051600481526024810182526020810180516001600160e01b03166306e60b1760e31b17905290516000916060916001600160a01b0385169161205b91612980565b600060405180830381855af49150503d8060008114612096576040519150601f19603f3d011682016040523d82523d6000602084013e61209b565b606091505b5091509150816120de578051156120c6578060405162461bcd60e51b81526004016108819190612ad3565b60405162461bcd60e51b81526004016108819061306d565b60405185907f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f90600090a25050505050565b6001600160a01b0382166000908152603f6020526040902054811115610e34576001600160a01b03919091166000908152603f6020526040902055565b600081848411156121715760405162461bcd60e51b81526004016108819190612ad3565b505050900390565b6001600160a01b0383166000908152603b60205260408120546036548110156121b45760405162461bcd60e51b815260040161088190612c83565b6121bd846125cc565b6121d95760405162461bcd60e51b815260040161088190612eee565b6001600160a01b0385166000908152603e6020526040902054801561224b57600061220382610a10565b9050600181600681111561221357fe5b1415801561222d5750600081600681111561222a57fe5b14155b6122495760405162461bcd60e51b815260040161088190612b74565b505b600061225b6037546108f0611b44565b9050600061227460385483611b1f90919063ffffffff16565b905061227e6125f2565b506040805161010080820183526001600160a01b03808c1683528a8116602084019081529383018681526060840186815260006080860181815260a0870182815260c0880183815260e08901848152603d80546001810182559086528a5160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b166001600160a01b03199384161790559b517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc48d01805491909a1691161790975594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc58a015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc6890155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc788015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc887015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990950180549251151590930261ff001995151560ff199093169290921794909416179055906124306114cc565b82516001600160a01b03166000908152603e60205260409020819055603354603454603a54929350612472928d92611a8a9290916108f0919082908a90611b1f565b896001600160a01b0316817f90ec05050aa23d54ba425e926fe646c318e85825bc400b13a46010abe86eb2f08b87878d6040516124b29493929190612a74565b60405180910390a39998505050505050505050565b6040805490516323b872dd60e01b81526001600160a01b03909116906323b872dd9061251b9085907f00000000000000000000000000000000000000000000000000000000000000009086906004016129c9565b602060405180830381600087803b15801561253557600080fd5b505af1158015612549573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061256d91906128c5565b6125895760405162461bcd60e51b815260040161088190612de8565b6001600160a01b0382166000908152603b60205260409020546125ac9082611b1f565b6001600160a01b039092166000908152603b602052604090209190915550565b3b151590565b604080516060810182526000808252602082018190529181019190915290565b60405180610100016040528060006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000151581526020016000151581525090565b80356001600160a01b03811681146114c657600080fd5b80356114c681613168565b600082601f83011261267f578081fd5b813567ffffffffffffffff811115612695578182fd5b6126a8601f8201601f1916602001613100565b91508082528360208285010111156126bf57600080fd5b8060208401602084013760009082016020015292915050565b6000602082840312156126e9578081fd5b6114c3838361264d565b600080600060608486031215612707578182fd5b833561271281613153565b9250602084013561272281613153565b9150604084013567ffffffffffffffff81111561273d578182fd5b6127498682870161266f565b9150509250925092565b60008060408385031215612765578182fd5b823561277081613153565b9150602083013567ffffffffffffffff81111561278b578182fd5b6127978582860161266f565b9150509250929050565b60008060008060008060c087890312156127b9578182fd5b6127c3888861264d565b95506020870135945060408701359350606087013560ff811681146127e6578283fd5b9598949750929560808101359460a0909101359350915050565b600080600060608486031215612814578283fd5b833567ffffffffffffffff8082111561282b578485fd5b818601915086601f83011261283e578485fd5b81358181111561284c578586fd5b6020915081810261285e838201613100565b8281528381019085850183870186018c101561287857898afd5b8996505b848710156128a25761288e8c8261264d565b83526001969096019591850191850161287c565b50975050505085013592506128bc90508560408601612664565b90509250925092565b6000602082840312156128d6578081fd5b81516114c381613168565b6000602082840312156128f2578081fd5b5035919050565b6000806040838503121561290b578182fd5b8235915061291c846020850161264d565b90509250929050565b60008060408385031215612937578182fd5b82359150602083013561294981613168565b809150509250929050565b6000815180845261296c816020860160208601613127565b601f01601f19169290920160200192915050565b60008251612992818460208701613127565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03988916815296909716602087015260408601949094526060850192909252608084015260a0830152151560c082015290151560e08201526101000190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b600060018060a01b038616825284602083015283604083015260806060830152612aa16080830184612954565b9695505050505050565b901515815260200190565b90815260200190565b6020810160078310612acd57fe5b91905290565b6000602082526114c36020830184612954565b60208082526023908201527f476f7665726e616e63653a3a657865637574653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602b908201527f476f7665726e616e63653a3a657865637574653a20696e76616c69642070726f60408201526a706f73616c20737461746560a81b606082015260800190565b60208082526055908201527f476f7665726e616e63653a3a70726f706f73653a206f6e65206c69766520707260408201527f6f706f73616c207065722070726f706f7365722c20666f756e6420616e20616c6060820152741c9958591e481858dd1a5d99481c1c9bdc1bdcd85b605a1b608082015260a00190565b60208082526027908201527f476f7665726e616e63653a3a5f63617374566f74653a20766f74696e672069736040820152660818db1bdcd95960ca1b606082015260800190565b6020808252602d908201527f476f7665726e616e63653a3a70726f706f73653a2070736575646f2d6578746560408201526c393730b610333ab731ba34b7b760991b606082015260800190565b6020808252603c908201527f476f7665726e616e63653a3a70726f706f73653a2070726f706f73657220766f60408201527f7465732062656c6f772070726f706f73616c207468726573686f6c6400000000606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526036908201527f476f7665726e616e63653a3a70726f706f73653a206d6574616d6f72706869636040820152750818dbdb9d1c9858dd1cc81b9bdd08185b1b1bddd95960521b606082015260800190565b60208082526024908201527f476f7665726e616e63653a20696e636f727265637420766f7465457874656e6460408201526354696d6560e01b606082015260800190565b6020808252601d908201527f476f7665726e616e63653a20746f6b656e7320617265206c6f636b6564000000604082015260600190565b60208082526019908201527f544f524e3a207472616e7366657246726f6d206661696c656400000000000000604082015260600190565b60208082526010908201526f43616e206e6f7420626520656d70747960801b604082015260600190565b60208082526018908201527f476f7665726e616e63653a20756e617574686f72697a65640000000000000000604082015260600190565b6020808252601d908201527f476f7665726e616e63653a20696e76616c69642064656c656761746565000000604082015260600190565b60208082526018908201527f476f7665726e616e63653a2062616c616e636520697320300000000000000000604082015260600190565b60208082526023908201527f476f7665726e616e63653a3a70726f706f73653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252600d908201526c6f6e6c79206d756c746973696760981b604082015260600190565b60208082526026908201527f476f7665726e616e63653a3a73746174653a20696e76616c69642070726f706f6040820152651cd85b081a5960d21b606082015260800190565b6020808252602a908201527f476f7665726e616e63653a20746f6b656e732061726520616c726561647920756040820152691b99195b1959d85d195960b21b606082015260800190565b6020808252601a908201527f476f7665726e616e63653a206e6f7420617574686f72697a6564000000000000604082015260600190565b60208082526019908201527f50726f706f73616c20657865637574696f6e206661696c656400000000000000604082015260600190565b60208082526019908201527f476f7665726e616e63653a20766f74656420616c726561647900000000000000604082015260600190565b8151151581526020808301511515908201526040918201519181019190915260600190565b60405181810167ffffffffffffffff8111828210171561311f57600080fd5b604052919050565b60005b8381101561314257818101518382015260200161312a565b838111156118a65750506000910152565b6001600160a01b038116811461169857600080fd5b801515811461169857600080fdfea2646970667358221220b75004153b6c8b4905c018daca78cb0fa6d3859298be55252bcf6ba75ea68d0e64736f6c634300060c0033a26469706673582212204ba1758b9bff1354ea4f43c5374c01c2f89472a8eda340e802e2a467b5710b3764736f6c634300060c0033"; +const isSuperArgs$7 = (xs) => xs.length > 1; +class PatchProposal__factory extends ethers.ContractFactory { + constructor(...args) { + if (isSuperArgs$7(args)) { + super(...args); + } else { + super(_abi$7, _bytecode$7, args[0]); + } + } + getDeployTransaction(_deployedStakingProxyContractAddress, _deployedRelayerRegistryImplementationAddress, overrides) { + return super.getDeployTransaction( + _deployedStakingProxyContractAddress, + _deployedRelayerRegistryImplementationAddress, + overrides || {} + ); + } + deploy(_deployedStakingProxyContractAddress, _deployedRelayerRegistryImplementationAddress, overrides) { + return super.deploy( + _deployedStakingProxyContractAddress, + _deployedRelayerRegistryImplementationAddress, + overrides || {} + ); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new ethers.Interface(_abi$7); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$7, runner); + } +} +PatchProposal__factory.bytecode = _bytecode$7; +PatchProposal__factory.abi = _abi$7; + +var index$4 = /*#__PURE__*/Object.freeze({ + __proto__: null, + AdminUpgradeableProxy__factory: AdminUpgradeableProxy__factory$1, + GovernanceExploitPatchUpgrade__factory: GovernanceExploitPatchUpgrade__factory, + PatchProposal__factory: PatchProposal__factory, + metamorphic: index$7, + mock: index$5 +}); + +const _abi$6 = [ + { + inputs: [ + { + internalType: "address", + name: "stakingRewardsAddress", + type: "address" + }, + { + internalType: "address", + name: "gasCompLogic", + type: "address" + }, + { + internalType: "address", + name: "userVaultAddress", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + } + ], + name: "Delegated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "id", + type: "uint256" + }, + { + indexed: true, + internalType: "address", + name: "proposer", + type: "address" + }, + { + indexed: false, + internalType: "address", + name: "target", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "startTime", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "endTime", + type: "uint256" + }, + { + indexed: false, + internalType: "string", + name: "description", + type: "string" + } + ], + name: "ProposalCreated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "proposalId", + type: "uint256" + } + ], + name: "ProposalExecuted", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address" + }, + { + indexed: true, + internalType: "bytes", + name: "errorData", + type: "bytes" + } + ], + name: "RewardUpdateFailed", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address" + } + ], + name: "RewardUpdateSuccessful", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + } + ], + name: "Undelegated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + indexed: true, + internalType: "address", + name: "voter", + type: "address" + }, + { + indexed: true, + internalType: "bool", + name: "support", + type: "bool" + }, + { + indexed: false, + internalType: "uint256", + name: "votes", + type: "uint256" + } + ], + name: "Voted", + type: "event" + }, + { + inputs: [], + name: "CLOSING_PERIOD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "EXECUTION_DELAY", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "EXECUTION_EXPIRATION", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "PROPOSAL_THRESHOLD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "QUORUM_VOTES", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "Staking", + outputs: [ + { + internalType: "contract ITornadoStakingRewards", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "VOTE_EXTEND_TIME", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "VOTING_DELAY", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "VOTING_PERIOD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "canWithdrawAfter", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address[]", + name: "from", + type: "address[]" + }, + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + internalType: "bool", + name: "support", + type: "bool" + } + ], + name: "castDelegatedVote", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + internalType: "bool", + name: "support", + type: "bool" + } + ], + name: "castVote", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + } + ], + name: "checkIfQuorumReached", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address" + } + ], + name: "delegate", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "delegatedTo", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + } + ], + name: "execute", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [], + name: "gasCompensationVault", + outputs: [ + { + internalType: "contract IGasCompensationVault", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + internalType: "address", + name: "voter", + type: "address" + } + ], + name: "getReceipt", + outputs: [ + { + components: [ + { + internalType: "bool", + name: "hasVoted", + type: "bool" + }, + { + internalType: "bool", + name: "support", + type: "bool" + }, + { + internalType: "uint256", + name: "votes", + type: "uint256" + } + ], + internalType: "struct Governance.Receipt", + name: "", + type: "tuple" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "hasAccountVoted", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_torn", + type: "address" + } + ], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "latestProposalIds", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256" + }, + { + internalType: "uint8", + name: "v", + type: "uint8" + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32" + } + ], + name: "lock", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "lockWithApproval", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "lockedBalance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + name: "proposalCodehashes", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "proposalCount", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + name: "proposals", + outputs: [ + { + internalType: "address", + name: "proposer", + type: "address" + }, + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "uint256", + name: "startTime", + type: "uint256" + }, + { + internalType: "uint256", + name: "endTime", + type: "uint256" + }, + { + internalType: "uint256", + name: "forVotes", + type: "uint256" + }, + { + internalType: "uint256", + name: "againstVotes", + type: "uint256" + }, + { + internalType: "bool", + name: "executed", + type: "bool" + }, + { + internalType: "bool", + name: "extended", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "string", + name: "description", + type: "string" + } + ], + name: "propose", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address" + }, + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "string", + name: "description", + type: "string" + } + ], + name: "proposeByDelegate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "returnMultisigAddress", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "pure", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "closingPeriod", + type: "uint256" + } + ], + name: "setClosingPeriod", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "executionDelay", + type: "uint256" + } + ], + name: "setExecutionDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "executionExpiration", + type: "uint256" + } + ], + name: "setExecutionExpiration", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "gasCompensationsLimit", + type: "uint256" + } + ], + name: "setGasCompensations", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalThreshold", + type: "uint256" + } + ], + name: "setProposalThreshold", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "quorumVotes", + type: "uint256" + } + ], + name: "setQuorumVotes", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "voteExtendTime", + type: "uint256" + } + ], + name: "setVoteExtendTime", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "votingDelay", + type: "uint256" + } + ], + name: "setVotingDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "votingPeriod", + type: "uint256" + } + ], + name: "setVotingPeriod", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + } + ], + name: "state", + outputs: [ + { + internalType: "enum Governance.ProposalState", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "torn", + outputs: [ + { + internalType: "contract TORN", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "undelegate", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "unlock", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "userVault", + outputs: [ + { + internalType: "contract ITornadoVault", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "version", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "pure", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "withdrawFromHelper", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + stateMutability: "payable", + type: "receive" + } +]; +const _bytecode$6 = "0x60e06040523480156200001157600080fd5b506040516200344138038062003441833981016040819052620000349162000171565b82828282828281818181600060019054906101000a900460ff16806200005f57506200005f6200012a565b806200006e575060005460ff16155b620000965760405162461bcd60e51b81526004016200008d90620001c4565b60405180910390fd5b600054610100900460ff16158015620000c2576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b03191661dead179055620000e062000130565b8015620000f3576000805461ff00191690555b506001600160601b0319606091821b811660805291811b821660a0529590951b90941660c052506200022b98505050505050505050565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b60008060006060848603121562000186578283fd5b8351620001938162000212565b6020850151909350620001a68162000212565b6040850151909250620001b98162000212565b809150509250925092565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b6001600160a01b03811681146200022857600080fd5b50565b60805160601c60a05160601c60c05160601c6131b36200028e60003980610d1a52806110db52806116ce52806117ff5250806109105280610ed15280610fc9528061164a5280611d745250806110645280611c1d52806124f852506131b36000f3fe6080604052600436106102815760003560e01c80639daafec71161014f578063d6f0948c116100c1578063ea0217cf1161007a578063ea0217cf14610755578063ece40cc114610775578063ef3f8bb114610795578063f0b76892146107b5578063f57df22e146107d5578063fe0d94c1146107ea57610288565b8063d6f0948c14610693578063da35c664146106b3578063e01f5237146106c8578063e23a9a52146106e8578063e4917d9f14610715578063e525aa081461073557610288565b8063b54426c811610113578063b54426c8146105e9578063b859f11b14610609578063c0c0e82014610629578063c4d66de814610649578063ce25d71c14610669578063d6159fe51461067e57610288565b80639daafec714610575578063a6c266031461058a578063a72edda31461059f578063adf898a4146105bf578063b1610d7e146105d457610288565b80635c19a95c116101f357806370b0f660116101ac57806370b0f660146104cb5780638b34a960146104eb57806392ab89bb14610500578063932d5157146105155780639a9e3b6e146105355780639ae697bf1461055557610288565b80635c19a95c146104215780636198e3391461044157806365da126414610461578063671dd275146104815780636a661755146104965780636dc2dc6c146104ab57610288565b806332687ec11161024557806332687ec11461035b57806337f135d7146103885780633e4f49e61461039d57806354fd4d50146103ca578063587a6ecb146103ec57806358e9fff01461040157610288565b8063013cf08b1461028d57806302ec8f9e146102ca57806315373e3d146102ec57806317977c611461030c57806324b0435f1461033957610288565b3661028857005b600080fd5b34801561029957600080fd5b506102ad6102a83660046128e8565b6107fd565b6040516102c19897969594939291906129f4565b60405180910390f35b3480156102d657600080fd5b506102ea6102e53660046128e8565b610862565b005b3480156102f857600080fd5b506102ea61030736600461292c565b61088f565b34801561031857600080fd5b5061032c6103273660046126df565b610992565b6040516102c19190612abd565b34801561034557600080fd5b5061034e6109a4565b6040516102c191906129a3565b34801561036757600080fd5b5061037b6103763660046128e8565b6109bc565b6040516102c19190612ab2565b34801561039457600080fd5b5061032c610a0a565b3480156103a957600080fd5b506103bd6103b83660046128e8565b610a10565b6040516102c19190612ac6565b3480156103d657600080fd5b506103df610b4c565b6040516102c19190612ada565b3480156103f857600080fd5b5061032c610b7c565b34801561040d57600080fd5b5061032c61041c3660046126fa565b610b82565b34801561042d57600080fd5b506102ea61043c3660046126df565b610bd0565b34801561044d57600080fd5b506102ea61045c3660046128e8565b610cf2565b34801561046d57600080fd5b5061034e61047c3660046126df565b610e3f565b34801561048d57600080fd5b5061032c610e5a565b3480156104a257600080fd5b5061032c610e60565b3480156104b757600080fd5b506102ea6104c63660046128e8565b610e66565b3480156104d757600080fd5b506102ea6104e63660046128e8565b610eab565b3480156104f757600080fd5b5061034e610ecf565b34801561050c57600080fd5b506102ea610ef3565b34801561052157600080fd5b506102ea6105303660046128e8565b610f7a565b34801561054157600080fd5b506102ea6105503660046128e8565b61102c565b34801561056157600080fd5b5061032c6105703660046126df565b611050565b34801561058157600080fd5b5061034e611062565b34801561059657600080fd5b5061032c611086565b3480156105ab57600080fd5b5061032c6105ba3660046126df565b61108c565b3480156105cb57600080fd5b5061034e61109e565b3480156105e057600080fd5b5061032c6110ad565b3480156105f557600080fd5b506102ea6106043660046128e8565b6110b3565b34801561061557600080fd5b506102ea610624366004612807565b6111fc565b34801561063557600080fd5b506102ea6106443660046128e8565b61124a565b34801561065557600080fd5b506102ea6106643660046126df565b61126e565b34801561067557600080fd5b5061032c6114b1565b34801561068a57600080fd5b5061032c6114b7565b34801561069f57600080fd5b5061032c6106ae36600461275a565b6114bd565b3480156106bf57600080fd5b5061032c6114d3565b3480156106d457600080fd5b5061032c6106e33660046128e8565b6114dd565b3480156106f457600080fd5b50610708610703366004612900565b6114ef565b6040516102c191906130e2565b34801561072157600080fd5b506102ea6107303660046128e8565b611561565b34801561074157600080fd5b5061037b610750366004612900565b611585565b34801561076157600080fd5b506102ea6107703660046128e8565b6115c8565b34801561078157600080fd5b506102ea6107903660046128e8565b6115ec565b3480156107a157600080fd5b506102ea6107b03660046128e8565b611610565b3480156107c157600080fd5b506102ea6107d03660046127a8565b6116a2565b3480156107e157600080fd5b5061034e6117fd565b6102ea6107f83660046128e8565b611821565b603d818154811061080a57fe5b600091825260209091206008909102018054600182015460028301546003840154600485015460058601546006909601546001600160a01b039586169750949093169491939092919060ff8082169161010090041688565b33301461088a5760405162461bcd60e51b815260040161088190612e50565b60405180910390fd5b603555565b3361089a8333611585565b1580156108ad57506108ab836109bc565b155b3332146108bb5760006108bf565b6152085b61ffff1681156109805760005a90506108d93387876118b3565b60006108f66127106108f0856108f05a8790611ae4565b90611b26565b60405163a99ce80760e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a99ce8079061094790889085906004016129b7565b600060405180830381600087803b15801561096157600080fd5b505af1158015610975573d6000803e3d6000fd5b50505050505061098b565b61098b3386866118b3565b5050505050565b603e6020526000908152604090205481565b73b04e030140b30c27bcdfaafffa98c57d80eda7b490565b6000603554603d83815481106109ce57fe5b906000526020600020906008020160050154603d84815481106109ed57fe5b90600052602060002090600802016004015401101590505b919050565b60335481565b6000610a1a6114d3565b8211158015610a295750600082115b610a455760405162461bcd60e51b815260040161088190612fad565b6000603d8381548110610a5457fe5b906000526020600020906008020190508060020154610a71611b4b565b11610a80576000915050610a05565b8060030154610a8d611b4b565b11610a9c576001915050610a05565b600681015460ff1615610ab3576005915050610a05565b80600501548160040154111580610ad557506035548160050154826004015401105b15610ae4576002915050610a05565b610b036034546108f06033548460030154611b2690919063ffffffff16565b610b0b611b4b565b10610b1a576006915050610a05565b6033546003820154610b2b91611b26565b610b33611b4b565b10610b42576004915050610a05565b6003915050610a05565b60408051808201909152601681527506a5ce0e4dee0dee6c2d85ae6e8c2e8ca5ae0c2e8c6d60531b602082015290565b603a5481565b6001600160a01b038381166000908152603c60205260408120549091163314610bbd5760405162461bcd60e51b81526004016108819061303d565b610bc8848484611b4f565b949350505050565b336000818152603c60205260409020546001600160a01b039081169190831614801590610c0657506001600160a01b0382163014155b8015610c1a57506001600160a01b03821615155b8015610c385750806001600160a01b0316826001600160a01b031614155b610c545760405162461bcd60e51b815260040161088190612e87565b6001600160a01b03811615610c9a576040516001600160a01b0382169033907f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7290600090a35b336000818152603c602052604080822080546001600160a01b0319166001600160a01b03871690811790915590519092917f4bc154dd35d6a5cb9206482ecb473cdbf2473006d6bce728b9cc0741bcc59ea291a35050565b336000818152603b60205260409081902054905163e113335f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163e113335f91610d4f9185916004016129b7565b600060405180830381600087803b158015610d6957600080fd5b505af1925050508015610d7a575060015b610dfd573d808015610da8576040519150601f19603f3d011682016040523d82523d6000602084013e610dad565b606091505b5080604051610dbc9190612987565b604051908190038120906001600160a01b038416907f5a6216e80d86159dc87dcebfe519205477a94005b7d9d6bd313606450a5344f690600090a350610e32565b6040516001600160a01b038216907f9b227b0c1ae308b34f72d4fdf9a1943fa769ff4814933595e7bc5230a117698b90600090a25b610e3b82611b77565b5050565b603c602052600090815260409020546001600160a01b031681565b60355481565b60345481565b333014610e855760405162461bcd60e51b815260040161088190612e50565b6033548110610ea65760405162461bcd60e51b815260040161088190612d74565b603a55565b333014610eca5760405162461bcd60e51b815260040161088190612e50565b603755565b7f000000000000000000000000000000000000000000000000000000000000000081565b336000908152603c60205260409020546001600160a01b031680610f295760405162461bcd60e51b815260040161088190612ff3565b336000818152603c602052604080822080546001600160a01b0319169055516001600160a01b03841692917f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7291a350565b610f826109a4565b6001600160a01b0316336001600160a01b031614610fb25760405162461bcd60e51b815260040161088190612f86565b604051633a08bde160e21b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e822f78490610ffe908490600401612abd565b600060405180830381600087803b15801561101857600080fd5b505af115801561098b573d6000803e3d6000fd5b33301461104b5760405162461bcd60e51b815260040161088190612e50565b603455565b603b6020526000908152604090205481565b7f000000000000000000000000000000000000000000000000000000000000000081565b60365481565b603f6020526000908152604090205481565b6040546001600160a01b031681565b60385481565b336000818152603b60205260409081902054905163e113335f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163e113335f916111109185916004016129b7565b600060405180830381600087803b15801561112a57600080fd5b505af192505050801561113b575060015b6111be573d808015611169576040519150601f19603f3d011682016040523d82523d6000602084013e61116e565b606091505b508060405161117d9190612987565b604051908190038120906001600160a01b038416907f5a6216e80d86159dc87dcebfe519205477a94005b7d9d6bd313606450a5344f690600090a3506111f3565b6040516001600160a01b038216907f9b227b0c1ae308b34f72d4fdf9a1943fa769ff4814933595e7bc5230a117698b90600090a25b610e3b82611c5b565b600083511161121d5760405162461bcd60e51b815260040161088190612e26565b61124583838361122d8633611585565b158015611240575061123e866109bc565b155b611c65565b505050565b3330146112695760405162461bcd60e51b815260040161088190612e50565b603955565b600054610100900460ff16806112875750611287611ea8565b80611295575060005460ff16155b6112b15760405162461bcd60e51b815260040161088190612f38565b600054610100900460ff161580156112dc576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b038085166001600160a01b03199283161783558251610100818101855230825261dead602083019081526000958301868152606084018781526080850188815260a08601898152600160c0880181815260e089018c8152603d80549384018155909c52975160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b16928c169290921790915594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc4860180549190991699169890981790965590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc5830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc682015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc784015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc8830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990910180549351151590920261ff001991151560ff19909416939093171691909117905561149c611eae565b8015610e3b576000805461ff00191690555050565b60395481565b60375481565b60006114ca338484611b4f565b90505b92915050565b603d546000190190565b60416020526000908152604090205481565b6114f76125d9565b603d838154811061150457fe5b600091825260208083206001600160a01b0395909516835260089190910290930160070183526040908190208151606081018352815460ff8082161515835261010090910416151594810194909452600101549083015250919050565b3330146115805760405162461bcd60e51b815260040161088190612e50565b603355565b6000603d838154811061159457fe5b600091825260208083206001600160a01b03861684526007600890930201919091019052604090205460ff16905092915050565b3330146115e75760405162461bcd60e51b815260040161088190612e50565b603855565b33301461160b5760405162461bcd60e51b815260040161088190612e50565b603655565b6116186109a4565b6001600160a01b0316336001600160a01b0316146116485760405162461bcd60e51b815260040161088190612f86565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108fc61167f8347611eef565b6040518115909202916000818181858888f1935050505061169f57600080fd5b50565b6001600160a01b038087166000908152603b60205260409081902054905163e113335f60e01b815288927f0000000000000000000000000000000000000000000000000000000000000000169163e113335f916117039185916004016129b7565b600060405180830381600087803b15801561171d57600080fd5b505af192505050801561172e575060015b6117b1573d80801561175c576040519150601f19603f3d011682016040523d82523d6000602084013e611761565b606091505b50806040516117709190612987565b604051908190038120906001600160a01b038416907f5a6216e80d86159dc87dcebfe519205477a94005b7d9d6bd313606450a5344f690600090a3506117e6565b6040516001600160a01b038216907f9b227b0c1ae308b34f72d4fdf9a1943fa769ff4814933595e7bc5230a117698b90600090a25b6117f4878787878787611f05565b50505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b333014156118415760405162461bcd60e51b815260040161088190612c3d565b6000603d828154811061185057fe5b6000918252602080832060016008909302019182015485845260419091526040909220549092506001600160a01b0390911690813f9081146118a45760405162461bcd60e51b815260040161088190612d1e565b6118ad84611f85565b50505050565b60016118be83610a10565b60068111156118c957fe5b146118e65760405162461bcd60e51b815260040161088190612bf6565b6000603d83815481106118f557fe5b600091825260208083206001600160a01b038816845260076008909302019182018152604080842060058401546004850154603b9094529190942054929450101590806119545760405162461bcd60e51b815260040161088190612ebe565b825460ff16156119a3578254610100900460ff161561198a576001830154600485015461198091611ae4565b60048501556119a3565b6001830154600585015461199d91611ae4565b60058501555b84156119c25760048401546119b89082611b26565b60048501556119d7565b60058401546119d19082611b26565b60058501555b6006840154610100900460ff16158015611a075750603954611a056119fa611b4b565b600387015490611ae4565b105b15611a4b576005840154600485015411158215158114611a495760068501805461ff001916610100179055603a546003860154611a4391611b26565b60038601555b505b8254600160ff19909116811761ff001916610100871515021784558301819055603354603454603a546003870154611a96938b93611a919391926108f092839190611b26565b612117565b841515876001600160a01b0316877f7c2de587c00d75474a0c6c6fa96fd3b45dc974cd4e8a75f712bb84c950dce1b584604051611ad39190612abd565b60405180910390a450505050505050565b60006114ca83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612154565b6000828201838110156114ca5760405162461bcd60e51b815260040161088190612ce7565b4290565b6000611b5c848484612180565b6000818152604160205260409020933f909355509092915050565b336000908152603f6020526040902054611b8f611b4b565b11611bac5760405162461bcd60e51b815260040161088190612db8565b60408051808201825260208082527f476f7665726e616e63653a20696e73756666696369656e742062616c616e636581830152336000908152603b9091529190912054611bfa918390612154565b336000818152603b6020526040908190209290925590516391fe357360e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316916391fe357391610ffe919085906004016129b7565b61169f33826124ce565b3381328214611c75576000611c79565b6152085b61ffff168115611de45760005a905060005b8851811015611d42576000898281518110611ca257fe5b6020908102919091018101516001600160a01b038082166000908152603c90935260409092205490925016331480611ce257506001600160a01b03811633145b611cfe5760405162461bcd60e51b81526004016108819061303d565b861580611d125750611d108982611585565b155b611d2e5760405162461bcd60e51b8152600401610881906130ab565b611d39818a8a6118b3565b50600101611c8b565b506000611d5a6127106108f0856108f05a8790611ae4565b60405163a99ce80760e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a99ce80790611dab90889085906004016129b7565b600060405180830381600087803b158015611dc557600080fd5b505af1158015611dd9573d6000803e3d6000fd5b5050505050506117f4565b60005b8751811015611e9e576000888281518110611dfe57fe5b6020908102919091018101516001600160a01b038082166000908152603c90935260409092205490925016331480611e3e57506001600160a01b03811633145b611e5a5760405162461bcd60e51b81526004016108819061303d565b851580611e6e5750611e6c8882611585565b155b611e8a5760405162461bcd60e51b8152600401610881906130ab565b611e958189896118b3565b50600101611de7565b5050505050505050565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b6000818310611efe57816114ca565b5090919050565b60408054905163d505accf60e01b81526001600160a01b039091169063d505accf90611f4190899030908a908a908a908a908a90600401612a3a565b600060405180830381600087803b158015611f5b57600080fd5b505af1158015611f6f573d6000803e3d6000fd5b50505050611f7d86866124ce565b505050505050565b6004611f9082610a10565b6006811115611f9b57fe5b14611fb85760405162461bcd60e51b815260040161088190612b30565b6000603d8281548110611fc757fe5b600091825260209091206006600890920201908101805460ff191660019081179091558101549091506001600160a01b0316612002816125d3565b61201e5760405162461bcd60e51b815260040161088190612aed565b60408051600481526024810182526020810180516001600160e01b03166306e60b1760e31b17905290516000916060916001600160a01b0385169161206291612987565b600060405180830381855af49150503d806000811461209d576040519150601f19603f3d011682016040523d82523d6000602084013e6120a2565b606091505b5091509150816120e5578051156120cd578060405162461bcd60e51b81526004016108819190612ada565b60405162461bcd60e51b815260040161088190613074565b60405185907f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f90600090a25050505050565b6001600160a01b0382166000908152603f6020526040902054811115610e3b576001600160a01b03919091166000908152603f6020526040902055565b600081848411156121785760405162461bcd60e51b81526004016108819190612ada565b505050900390565b6001600160a01b0383166000908152603b60205260408120546036548110156121bb5760405162461bcd60e51b815260040161088190612c8a565b6121c4846125d3565b6121e05760405162461bcd60e51b815260040161088190612ef5565b6001600160a01b0385166000908152603e6020526040902054801561225257600061220a82610a10565b9050600181600681111561221a57fe5b141580156122345750600081600681111561223157fe5b14155b6122505760405162461bcd60e51b815260040161088190612b7b565b505b60006122626037546108f0611b4b565b9050600061227b60385483611b2690919063ffffffff16565b90506122856125f9565b506040805161010080820183526001600160a01b03808c1683528a8116602084019081529383018681526060840186815260006080860181815260a0870182815260c0880183815260e08901848152603d80546001810182559086528a5160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b166001600160a01b03199384161790559b517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc48d01805491909a1691161790975594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc58a015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc6890155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc788015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc887015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990950180549251151590930261ff001995151560ff199093169290921794909416179055906124376114d3565b82516001600160a01b03166000908152603e60205260409020819055603354603454603a54929350612479928d92611a919290916108f0919082908a90611b26565b896001600160a01b0316817f90ec05050aa23d54ba425e926fe646c318e85825bc400b13a46010abe86eb2f08b87878d6040516124b99493929190612a7b565b60405180910390a39998505050505050505050565b6040805490516323b872dd60e01b81526001600160a01b03909116906323b872dd906125229085907f00000000000000000000000000000000000000000000000000000000000000009086906004016129d0565b602060405180830381600087803b15801561253c57600080fd5b505af1158015612550573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061257491906128cc565b6125905760405162461bcd60e51b815260040161088190612def565b6001600160a01b0382166000908152603b60205260409020546125b39082611b26565b6001600160a01b039092166000908152603b602052604090209190915550565b3b151590565b604080516060810182526000808252602082018190529181019190915290565b60405180610100016040528060006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000151581526020016000151581525090565b80356001600160a01b03811681146114cd57600080fd5b80356114cd8161316f565b600082601f830112612686578081fd5b813567ffffffffffffffff81111561269c578182fd5b6126af601f8201601f1916602001613107565b91508082528360208285010111156126c657600080fd5b8060208401602084013760009082016020015292915050565b6000602082840312156126f0578081fd5b6114ca8383612654565b60008060006060848603121561270e578182fd5b83356127198161315a565b925060208401356127298161315a565b9150604084013567ffffffffffffffff811115612744578182fd5b61275086828701612676565b9150509250925092565b6000806040838503121561276c578182fd5b82356127778161315a565b9150602083013567ffffffffffffffff811115612792578182fd5b61279e85828601612676565b9150509250929050565b60008060008060008060c087890312156127c0578182fd5b6127ca8888612654565b95506020870135945060408701359350606087013560ff811681146127ed578283fd5b9598949750929560808101359460a0909101359350915050565b60008060006060848603121561281b578283fd5b833567ffffffffffffffff80821115612832578485fd5b818601915086601f830112612845578485fd5b813581811115612853578586fd5b60209150818102612865838201613107565b8281528381019085850183870186018c101561287f57898afd5b8996505b848710156128a9576128958c82612654565b835260019690960195918501918501612883565b50975050505085013592506128c39050856040860161266b565b90509250925092565b6000602082840312156128dd578081fd5b81516114ca8161316f565b6000602082840312156128f9578081fd5b5035919050565b60008060408385031215612912578182fd5b823591506129238460208501612654565b90509250929050565b6000806040838503121561293e578182fd5b8235915060208301356129508161316f565b809150509250929050565b6000815180845261297381602086016020860161312e565b601f01601f19169290920160200192915050565b6000825161299981846020870161312e565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03988916815296909716602087015260408601949094526060850192909252608084015260a0830152151560c082015290151560e08201526101000190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b600060018060a01b038616825284602083015283604083015260806060830152612aa8608083018461295b565b9695505050505050565b901515815260200190565b90815260200190565b6020810160078310612ad457fe5b91905290565b6000602082526114ca602083018461295b565b60208082526023908201527f476f7665726e616e63653a3a657865637574653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602b908201527f476f7665726e616e63653a3a657865637574653a20696e76616c69642070726f60408201526a706f73616c20737461746560a81b606082015260800190565b60208082526055908201527f476f7665726e616e63653a3a70726f706f73653a206f6e65206c69766520707260408201527f6f706f73616c207065722070726f706f7365722c20666f756e6420616e20616c6060820152741c9958591e481858dd1a5d99481c1c9bdc1bdcd85b605a1b608082015260a00190565b60208082526027908201527f476f7665726e616e63653a3a5f63617374566f74653a20766f74696e672069736040820152660818db1bdcd95960ca1b606082015260800190565b6020808252602d908201527f476f7665726e616e63653a3a70726f706f73653a2070736575646f2d6578746560408201526c393730b610333ab731ba34b7b760991b606082015260800190565b6020808252603c908201527f476f7665726e616e63653a3a70726f706f73653a2070726f706f73657220766f60408201527f7465732062656c6f772070726f706f73616c207468726573686f6c6400000000606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526036908201527f476f7665726e616e63653a3a70726f706f73653a206d6574616d6f72706869636040820152750818dbdb9d1c9858dd1cc81b9bdd08185b1b1bddd95960521b606082015260800190565b60208082526024908201527f476f7665726e616e63653a20696e636f727265637420766f7465457874656e6460408201526354696d6560e01b606082015260800190565b6020808252601d908201527f476f7665726e616e63653a20746f6b656e7320617265206c6f636b6564000000604082015260600190565b60208082526019908201527f544f524e3a207472616e7366657246726f6d206661696c656400000000000000604082015260600190565b60208082526010908201526f43616e206e6f7420626520656d70747960801b604082015260600190565b60208082526018908201527f476f7665726e616e63653a20756e617574686f72697a65640000000000000000604082015260600190565b6020808252601d908201527f476f7665726e616e63653a20696e76616c69642064656c656761746565000000604082015260600190565b60208082526018908201527f476f7665726e616e63653a2062616c616e636520697320300000000000000000604082015260600190565b60208082526023908201527f476f7665726e616e63653a3a70726f706f73653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252600d908201526c6f6e6c79206d756c746973696760981b604082015260600190565b60208082526026908201527f476f7665726e616e63653a3a73746174653a20696e76616c69642070726f706f6040820152651cd85b081a5960d21b606082015260800190565b6020808252602a908201527f476f7665726e616e63653a20746f6b656e732061726520616c726561647920756040820152691b99195b1959d85d195960b21b606082015260800190565b6020808252601a908201527f476f7665726e616e63653a206e6f7420617574686f72697a6564000000000000604082015260600190565b60208082526019908201527f50726f706f73616c20657865637574696f6e206661696c656400000000000000604082015260600190565b60208082526019908201527f476f7665726e616e63653a20766f74656420616c726561647900000000000000604082015260600190565b8151151581526020808301511515908201526040918201519181019190915260600190565b60405181810167ffffffffffffffff8111828210171561312657600080fd5b604052919050565b60005b83811015613149578181015183820152602001613131565b838111156118ad5750506000910152565b6001600160a01b038116811461169f57600080fd5b801515811461169f57600080fdfea26469706673582212209ae80078297b488112cf4c0eaef3af85f34156332aa7d60065ce1ebb90ab93c264736f6c634300060c0033"; +const isSuperArgs$6 = (xs) => xs.length > 1; +class GovernanceProposalStateUpgrade__factory extends ethers.ContractFactory { + constructor(...args) { + if (isSuperArgs$6(args)) { + super(...args); + } else { + super(_abi$6, _bytecode$6, args[0]); + } + } + getDeployTransaction(stakingRewardsAddress, gasCompLogic, userVaultAddress, overrides) { + return super.getDeployTransaction( + stakingRewardsAddress, + gasCompLogic, + userVaultAddress, + overrides || {} + ); + } + deploy(stakingRewardsAddress, gasCompLogic, userVaultAddress, overrides) { + return super.deploy( + stakingRewardsAddress, + gasCompLogic, + userVaultAddress, + overrides || {} + ); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new ethers.Interface(_abi$6); + } + static connect(address, runner) { + return new ethers.Contract( + address, + _abi$6, + runner + ); + } +} +GovernanceProposalStateUpgrade__factory.bytecode = _bytecode$6; +GovernanceProposalStateUpgrade__factory.abi = _abi$6; + +var index$3 = /*#__PURE__*/Object.freeze({ + __proto__: null, + GovernanceProposalStateUpgrade__factory: GovernanceProposalStateUpgrade__factory +}); + +const _abi$5 = [ + { + inputs: [ + { + internalType: "address", + name: "_logic", + type: "address" + }, + { + internalType: "address", + name: "_admin", + type: "address" + }, + { + internalType: "bytes", + name: "_data", + type: "bytes" + } + ], + stateMutability: "payable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "previousAdmin", + type: "address" + }, + { + indexed: false, + internalType: "address", + name: "newAdmin", + type: "address" + } + ], + name: "AdminChanged", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "implementation", + type: "address" + } + ], + name: "Upgraded", + type: "event" + }, + { + stateMutability: "payable", + type: "fallback" + }, + { + inputs: [], + name: "admin", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "newAdmin", + type: "address" + } + ], + name: "changeAdmin", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "implementation", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "newImplementation", + type: "address" + } + ], + name: "upgradeTo", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "newImplementation", + type: "address" + }, + { + internalType: "bytes", + name: "data", + type: "bytes" + } + ], + name: "upgradeToAndCall", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + stateMutability: "payable", + type: "receive" + } +]; +const _bytecode$5 = "0x60806040526040516108403803806108408339818101604052606081101561002657600080fd5b8151602083015160408085018051915193959294830192918464010000000082111561005157600080fd5b90830190602082018581111561006657600080fd5b825164010000000081118282018810171561008057600080fd5b82525081516020918201929091019080838360005b838110156100ad578181015183820152602001610095565b50505050905090810190601f1680156100da5780820380516001836020036101000a031916815260200191505b50604052508491508390508282816100f1826101c5565b8051156101a9576000826001600160a01b0316826040518082805190602001908083835b602083106101345780518252601f199092019160209182019101610115565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610194576040519150601f19603f3d011682016040523d82523d6000602084013e610199565b606091505b50509050806101a757600080fd5b505b506101b19050565b6101ba82610237565b505050505050610261565b6101d88161025b60201b6103b41760201c565b6102135760405162461bcd60e51b815260040180806020018281038252603681526020018061080a6036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b3b151590565b61059a806102706000396000f3fe60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100985780635c60da1b146101185780638f28397014610149578063f851a4401461017c5761005d565b3661005d5761005b610191565b005b61005b610191565b34801561007157600080fd5b5061005b6004803603602081101561008857600080fd5b50356001600160a01b03166101ab565b61005b600480360360408110156100ae57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100d957600080fd5b8201836020820111156100eb57600080fd5b8035906020019184600183028401116401000000008311171561010d57600080fd5b5090925090506101e5565b34801561012457600080fd5b5061012d610292565b604080516001600160a01b039092168252519081900360200190f35b34801561015557600080fd5b5061005b6004803603602081101561016c57600080fd5b50356001600160a01b03166102cf565b34801561018857600080fd5b5061012d610389565b6101996101a9565b6101a96101a46103ba565b6103df565b565b6101b3610403565b6001600160a01b0316336001600160a01b031614156101da576101d581610428565b6101e2565b6101e2610191565b50565b6101ed610403565b6001600160a01b0316336001600160a01b031614156102855761020f83610428565b6000836001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d806000811461026c576040519150601f19603f3d011682016040523d82523d6000602084013e610271565b606091505b505090508061027f57600080fd5b5061028d565b61028d610191565b505050565b600061029c610403565b6001600160a01b0316336001600160a01b031614156102c4576102bd6103ba565b90506102cc565b6102cc610191565b90565b6102d7610403565b6001600160a01b0316336001600160a01b031614156101da576001600160a01b0381166103355760405162461bcd60e51b815260040180806020018281038252603a8152602001806104f5603a913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61035e610403565b604080516001600160a01b03928316815291841660208301528051918290030190a16101d581610468565b6000610393610403565b6001600160a01b0316336001600160a01b031614156102c4576102bd610403565b3b151590565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e8080156103fe573d6000f35b3d6000fd5b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b6104318161048c565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b610495816103b4565b6104d05760405162461bcd60e51b815260040180806020018281038252603681526020018061052f6036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5556fe5472616e73706172656e745570677261646561626c6550726f78793a206e65772061646d696e20697320746865207a65726f20616464726573735570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374a2646970667358221220f9da162f8a2d779a4f5f08577ac886bc4694791f749bd6ecc5d270427405583364736f6c634300060c00335570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374"; +const isSuperArgs$5 = (xs) => xs.length > 1; +class AdminUpgradeableProxy__factory extends ethers.ContractFactory { + constructor(...args) { + if (isSuperArgs$5(args)) { + super(...args); + } else { + super(_abi$5, _bytecode$5, args[0]); + } + } + getDeployTransaction(_logic, _admin, _data, overrides) { + return super.getDeployTransaction(_logic, _admin, _data, overrides || {}); + } + deploy(_logic, _admin, _data, overrides) { + return super.deploy(_logic, _admin, _data, overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new ethers.Interface(_abi$5); + } + static connect(address, runner) { + return new ethers.Contract( + address, + _abi$5, + runner + ); + } +} +AdminUpgradeableProxy__factory.bytecode = _bytecode$5; +AdminUpgradeableProxy__factory.abi = _abi$5; + +const _abi$4 = [ + { + inputs: [ + { + internalType: "address", + name: "_torn", + type: "address" + }, + { + internalType: "address", + name: "_governance", + type: "address" + }, + { + internalType: "address", + name: "_registry", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "instance", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "newFee", + type: "uint256" + } + ], + name: "FeeUpdated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint24", + name: "newFee", + type: "uint24" + } + ], + name: "UniswapTornPoolSwappingFeeChanged", + type: "event" + }, + { + inputs: [], + name: "PROTOCOL_FEE_DIVIDER", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract ITornadoInstance", + name: "_instance", + type: "address" + } + ], + name: "calculatePoolFee", + outputs: [ + { + internalType: "uint160", + name: "", + type: "uint160" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "feeDeviations", + outputs: [ + { + components: [ + { + internalType: "address", + name: "instance", + type: "address" + }, + { + internalType: "int256", + name: "deviation", + type: "int256" + } + ], + internalType: "struct FeeManager.Deviation[]", + name: "results", + type: "tuple[]" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "governance", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract ITornadoInstance", + name: "", + type: "address" + } + ], + name: "instanceFee", + outputs: [ + { + internalType: "uint160", + name: "", + type: "uint160" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract ITornadoInstance", + name: "", + type: "address" + } + ], + name: "instanceFeeUpdated", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract ITornadoInstance", + name: "_instance", + type: "address" + } + ], + name: "instanceFeeWithUpdate", + outputs: [ + { + internalType: "uint160", + name: "", + type: "uint160" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "registry", + outputs: [ + { + internalType: "contract InstanceRegistry", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint32", + name: "newPeriod", + type: "uint32" + } + ], + name: "setPeriodForTWAPOracle", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint24", + name: "_uniswapTornPoolSwappingFee", + type: "uint24" + } + ], + name: "setUniswapTornPoolSwappingFee", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint24", + name: "newLimit", + type: "uint24" + } + ], + name: "setUpdateFeeTimeLimit", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "torn", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "uniswapTimePeriod", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "uniswapTornPoolSwappingFee", + outputs: [ + { + internalType: "uint24", + name: "", + type: "uint24" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "updateAllFees", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "contract ITornadoInstance", + name: "_instance", + type: "address" + } + ], + name: "updateFee", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "updateFeeTimeLimit", + outputs: [ + { + internalType: "uint24", + name: "", + type: "uint24" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract ITornadoInstance[]", + name: "_instances", + type: "address[]" + } + ], + name: "updateFees", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; +const _bytecode$4 = "0x60e06040523480156200001157600080fd5b5060405162001a7f38038062001a7f83398101604081905262000034916200005c565b6001600160601b0319606093841b811660805291831b821660a05290911b1660c052620000c8565b60008060006060848603121562000071578283fd5b83516200007e81620000af565b60208501519093506200009181620000af565b6040850151909250620000a481620000af565b809150509250925092565b6001600160a01b0381168114620000c557600080fd5b50565b60805160601c60a05160601c60c05160601c61195e62000121600039806102ce52806104f6528061077752806109945250806104b7528061052e528061060f528061070852508061068f528061087e525061195e6000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c8063a0287520116100a2578063bcc5ee6411610071578063bcc5ee641461020f578063c51c229714610217578063d8718fb11461022a578063e1f121561461023f578063f522d6d61461025257610116565b8063a0287520146101d9578063adf898a4146101ec578063aeb3077a146101f4578063b19a2972146101fc57610116565b8063603a54fe116100e9578063603a54fe146101815780637b103999146101945780637ccd2f481461019c57806380679eb3146101b157806380eb7bf0146101c657610116565b806305e343641461011b5780632efbf384146101445780634bf0a542146101645780635aa6e67514610179575b600080fd5b61012e610129366004611646565b61025a565b60405161013b919061188c565b60405180910390f35b610157610152366004611646565b61026c565b60405161013b91906116d3565b61016c6102c9565b60405161013b919061170f565b6101576104b5565b61015761018f366004611646565b6104d9565b6101576104f4565b6101a4610518565b60405161013b919061187c565b6101c46101bf366004611696565b610523565b005b6101c46101d4366004611646565b61057e565b6101c46101e7366004611662565b610604565b61015761068d565b61012e6106b1565b6101c461020a3660046113e4565b6106b7565b6101a46106eb565b6101c4610225366004611662565b6106fd565b61023261075a565b60405161013b9190611895565b61015761024d366004611646565b61076d565b6101c461098f565b60026020526000908152604090205481565b600080546001600160a01b038316825260026020526040822054600160381b90910462ffffff16429190910311156102a7576102a78261057e565b506001600160a01b03808216600090815260016020526040902054165b919050565b6060807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310c13ac36040518163ffffffff1660e01b815260040160006040518083038186803b15801561032557600080fd5b505afa158015610339573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610361919081019061147d565b9050805167ffffffffffffffff8111801561037b57600080fd5b506040519080825280602002602001820160405280156103b557816020015b6103a261131d565b81526020019060019003908161039a5790505b50915060005b81518110156104b05760006103e28383815181106103d557fe5b602002602001015161076d565b6001600160a01b031690506000811561045e576103e8826001600087878151811061040957fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060009054906101000a90046001600160a01b03166103e8026001600160a01b03168161045957fe5b040390505b604051806040016040528085858151811061047557fe5b60200260200101516001600160a01b031681526020018281525085848151811061049b57fe5b602090810291909101015250506001016103bb565b505090565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001602052600090815260409020546001600160a01b031681565b7f000000000000000000000000000000000000000000000000000000000000000081565b60005462ffffff1681565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461055857600080fd5b6000805463ffffffff90921663010000000266ffffffff00000019909216919091179055565b60006105898261076d565b6001600160a01b03838116600081815260016020908152604080832080546001600160a01b03191695871695909517909455600290528290204290559051919250907f6f0eaf2c2f89fb4cfe96a1dee5e764d60b52c7f48aaa590f0850e308aa1b953a906105f89084906116d3565b60405180910390a25050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461063957600080fd5b6000805462ffffff191662ffffff83811691909117918290556040517fbfe65cfc2359076c4468c9b895156c309c78f94fb09f6d2fc0463c4ca9a71ac29261068292169061187c565b60405180910390a150565b7f000000000000000000000000000000000000000000000000000000000000000081565b61271081565b60005b81518110156106e7576106df8282815181106106d257fe5b602002602001015161057e565b6001016106ba565b5050565b600054600160381b900462ffffff1681565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461073257600080fd5b6000805462ffffff909216600160381b0269ffffff0000000000000019909216919091179055565b6000546301000000900463ffffffff1681565b60008060008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663032bb443876040518263ffffffff1660e01b81526004016107c191906116d3565b60a06040518083038186803b1580156107d957600080fd5b505afa1580156107ed573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061081191906115cb565b9450945050935093508063ffffffff16600014156108365760009450505050506102c4565b6001600160a01b03831615801561084b575083155b610855578261086b565b73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25b6040805180820182526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081168252831660208083019190915282518084019093526000805462ffffff80821686528816928501929092529396506108e5929063ffffffff630100000090910416610a29565b905061098461271061097e8463ffffffff166109788561097e670de0b6b3a76400008e6001600160a01b0316638bca6d166040518163ffffffff1660e01b815260040160206040518083038186803b15801561094057600080fd5b505afa158015610954573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610978919061167e565b90610a75565b90610ac1565b979650505050505050565b610a277f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310c13ac36040518163ffffffff1660e01b815260040160006040518083038186803b1580156109eb57600080fd5b505afa1580156109ff573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261020a919081019061147d565b565b60208084015190830151600091610a409184610b03565b84518451610a6391670de0b6b3a764000091610a5d919087610b03565b90610b2d565b81610a6a57fe5b0490505b9392505050565b600082610a8457506000610abb565b82820282848281610a9157fe5b0414610ab85760405162461bcd60e51b8152600401610aaf9061183b565b60405180910390fd5b90505b92915050565b6000610ab883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610b51565b6000610b258473c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28585610b88565b949350505050565b6000821580610b4857505081810281838281610b4557fe5b04145b610abb57600080fd5b60008183610b725760405162461bcd60e51b8152600401610aaf91906117b1565b506000838581610b7e57fe5b0495945050505050565b600080846001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610bc457600080fd5b505afa158015610bd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bfc91906116b2565b60ff16600a0a90506001600160a01b038681169086161415610c28576001600160801b03169050610b25565b604051630b4c774160e11b8152610cc990610cc190731f98431c8ad98523631ae4a59f267346ea31f98490631698ee8290610c6b908b908b908b906004016116e7565b60206040518083038186803b158015610c8357600080fd5b505afa158015610c97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cbb91906113c8565b85610cda565b828888610e6f565b915050610b25565b50949350505050565b600063ffffffff8216610cff5760405162461bcd60e51b8152600401610aaf90611804565b60408051600280825260608083018452926020830190803683370190505090508281600081518110610d2d57fe5b602002602001019063ffffffff16908163ffffffff1681525050600081600181518110610d5657fe5b63ffffffff9092166020928302919091019091015260405163883bdbfd60e01b81526060906001600160a01b0386169063883bdbfd90610d9a908590600401611767565b60006040518083038186803b158015610db257600080fd5b505afa158015610dc6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610dee9190810190611509565b509050600081600081518110610e0057fe5b602002602001015182600181518110610e1557fe5b60200260200101510390508463ffffffff168160060b81610e3257fe5b05935060008160060b128015610e5957508463ffffffff168160060b81610e5557fe5b0715155b15610e6657600019909301925b50505092915050565b600080610e7b86610f59565b90506001600160801b036001600160a01b03821611610eea576001600160a01b0380821680029084811690861610610eca57610ec5600160c01b876001600160801b031683611272565b610ee2565b610ee281876001600160801b0316600160c01b611272565b925050610cd1565b6000610f096001600160a01b0383168068010000000000000000611272565b9050836001600160a01b0316856001600160a01b031610610f4157610f3c600160801b876001600160801b031683611272565b610984565b61098481876001600160801b0316600160801b611272565b60008060008360020b12610f70578260020b610f78565b8260020b6000035b9050620d89e8811115610f9d5760405162461bcd60e51b8152600401610aaf90611820565b600060018216610fb157600160801b610fc3565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615610ff7576ffff97272373d413259a46990580e213a0260801c5b6004821615611016576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615611035576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615611054576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615611073576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615611092576fff2ea16466c96a3843ec78b326b528610260801c5b60808216156110b1576ffe5dee046a99a2a811c461f1969c30530260801c5b6101008216156110d1576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b6102008216156110f1576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615611111576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615611131576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615611151576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615611171576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615611191576f70d869a156d2a1b890bb3df62baf32f70260801c5b6180008216156111b1576f31be135f97d08fd981231505542fcfa60260801c5b620100008216156111d2576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b620200008216156111f2576e5d6af8dedb81196699c329225ee6040260801c5b62040000821615611211576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561122e576b048a170391f7dc42444e8fa20260801c5b60008460020b131561124957806000198161124557fe5b0490505b64010000000081061561125d576001611260565b60005b60ff16602082901c0192505050919050565b60008080600019858709868602925082811090839003039050806112a8576000841161129d57600080fd5b508290049050610a6e565b8084116112b457600080fd5b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b604080518082019091526000808252602082015290565b600082601f830112611344578081fd5b8151611357611352826118cd565b6118a6565b81815291506020808301908481018184028601820187101561137857600080fd5b60005b848110156113a057815161138e816118ed565b8452928201929082019060010161137b565b505050505092915050565b8051610abb816118ed565b8051600681900b8114610abb57600080fd5b6000602082840312156113d9578081fd5b8151610ab8816118ed565b600060208083850312156113f6578182fd5b823567ffffffffffffffff81111561140c578283fd5b8301601f8101851361141c578283fd5b803561142a611352826118cd565b8181528381019083850185840285018601891015611446578687fd5b8694505b8385101561147157803561145d816118ed565b83526001949094019391850191850161144a565b50979650505050505050565b6000602080838503121561148f578182fd5b825167ffffffffffffffff8111156114a5578283fd5b8301601f810185136114b5578283fd5b80516114c3611352826118cd565b81815283810190838501858402850186018910156114df578687fd5b8694505b83851015611471576114f589826113ab565b8352600194909401939185019185016114e3565b6000806040838503121561151b578081fd5b825167ffffffffffffffff80821115611532578283fd5b818501915085601f830112611545578283fd5b8151611553611352826118cd565b80828252602080830192508086018a828387028901011115611573578788fd5b8796505b8487101561159d576115898b826113b6565b845260019690960195928101928101611577565b5088015190965093505050808211156115b4578283fd5b506115c185828601611334565b9150509250929050565b600080600080600060a086880312156115e2578081fd5b855180151581146115f1578182fd5b6020870151909550611602816118ed565b604087015190945060028110611616578182fd5b606087015190935061162781611905565b608087015190925061163881611916565b809150509295509295909350565b600060208284031215611657578081fd5b8135610ab8816118ed565b600060208284031215611673578081fd5b8135610ab881611905565b60006020828403121561168f578081fd5b5051919050565b6000602082840312156116a7578081fd5b8135610ab881611916565b6000602082840312156116c3578081fd5b815160ff81168114610ab8578182fd5b6001600160a01b0391909116815260200190565b6001600160a01b03938416815291909216602082015262ffffff909116604082015260600190565b602080825282518282018190526000919060409081850190868401855b8281101561175a57815180516001600160a01b0316855286015186850152928401929085019060010161172c565b5091979650505050505050565b6020808252825182820181905260009190848201906040850190845b818110156117a557835163ffffffff1683529284019291840191600101611783565b50909695505050505050565b6000602080835283518082850152825b818110156117dd578581018301518582016040015282016117c1565b818111156117ee5783604083870101525b50601f01601f1916929092016040019392505050565b602080825260029082015261042560f41b604082015260600190565b6020808252600190820152601560fa1b604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b62ffffff91909116815260200190565b90815260200190565b63ffffffff91909116815260200190565b60405181810167ffffffffffffffff811182821017156118c557600080fd5b604052919050565b600067ffffffffffffffff8211156118e3578081fd5b5060209081020190565b6001600160a01b038116811461190257600080fd5b50565b62ffffff8116811461190257600080fd5b63ffffffff8116811461190257600080fdfea26469706673582212205690be246e00d9bf30da35441a160026439ececfa962348f01e498d25f89f5d164736f6c634300060c0033"; +const isSuperArgs$4 = (xs) => xs.length > 1; +class FeeManager__factory extends ethers.ContractFactory { + constructor(...args) { + if (isSuperArgs$4(args)) { + super(...args); + } else { + super(_abi$4, _bytecode$4, args[0]); + } + } + getDeployTransaction(_torn, _governance, _registry, overrides) { + return super.getDeployTransaction( + _torn, + _governance, + _registry, + overrides || {} + ); + } + deploy(_torn, _governance, _registry, overrides) { + return super.deploy( + _torn, + _governance, + _registry, + overrides || {} + ); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new ethers.Interface(_abi$4); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$4, runner); + } +} +FeeManager__factory.bytecode = _bytecode$4; +FeeManager__factory.abi = _abi$4; + +const _abi$3 = [ + { + inputs: [ + { + internalType: "address", + name: "_governance", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + inputs: [], + name: "GovernanceAddress", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "gasAmount", + type: "uint256" + } + ], + name: "compensateGas", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "withdrawToGovernance", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + stateMutability: "payable", + type: "receive" + } +]; +const _bytecode$3 = "0x60a0604052348015600f57600080fd5b50604051610472380380610472833981016040819052602c91603c565b6001600160a01b0316608052606a565b600060208284031215604d57600080fd5b81516001600160a01b0381168114606357600080fd5b9392505050565b6080516103da6100986000396000818160560152818160e101528181610212015261027701526103da6000f3fe6080604052600436106100385760003560e01c8063a3221c2e14610044578063a99ce80714610094578063e822f784146100b657600080fd5b3661003f57005b600080fd5b34801561005057600080fd5b506100787f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b3480156100a057600080fd5b506100b46100af366004610328565b6100d6565b005b3480156100c257600080fd5b506100b46100d1366004610360565b610207565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461013e5760405162461bcd60e51b815260206004820152600860248201526737b7363c9033b7bb60c11b60448201526064015b60405180910390fd5b47600061014b4884610379565b90508160000361015b5750505050565b6000846001600160a01b03168383116101745782610176565b835b604051600081818185875af1925050503d80600081146101b2576040519150601f19603f3d011682016040523d82523d6000602084013e6101b7565b606091505b50509050806102005760405162461bcd60e51b815260206004820152601560248201527418dbdb5c195b9cd85d194819d85cc819985a5b1959605a1b6044820152606401610135565b5050505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461026a5760405162461bcd60e51b815260206004820152600860248201526737b7363c9033b7bb60c11b6044820152606401610135565b4760006001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168284116102a457836102a6565b825b604051600081818185875af1925050503d80600081146102e2576040519150601f19603f3d011682016040523d82523d6000602084013e6102e7565b606091505b50509050806103235760405162461bcd60e51b81526020600482015260086024820152671c185e4819985a5b60c21b6044820152606401610135565b505050565b6000806040838503121561033b57600080fd5b82356001600160a01b038116811461035257600080fd5b946020939093013593505050565b60006020828403121561037257600080fd5b5035919050565b808202811582820484141761039e57634e487b7160e01b600052601160045260246000fd5b9291505056fea264697066735822122073841dd5b5d8687d927814633a2fcb7944a306bb89a9b65a0aab4cc361c8312264736f6c63430008190033"; +const isSuperArgs$3 = (xs) => xs.length > 1; +class GasCompensationVault__factory extends ethers.ContractFactory { + constructor(...args) { + if (isSuperArgs$3(args)) { + super(...args); + } else { + super(_abi$3, _bytecode$3, args[0]); + } + } + getDeployTransaction(_governance, overrides) { + return super.getDeployTransaction(_governance, overrides || {}); + } + deploy(_governance, overrides) { + return super.deploy(_governance, overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new ethers.Interface(_abi$3); + } + static connect(address, runner) { + return new ethers.Contract( + address, + _abi$3, + runner + ); + } +} +GasCompensationVault__factory.bytecode = _bytecode$3; +GasCompensationVault__factory.abi = _abi$3; + +const _abi$2 = [ + { + inputs: [ + { + internalType: "address", + name: "_logic", + type: "address" + }, + { + internalType: "bytes", + name: "_data", + type: "bytes" + } + ], + stateMutability: "payable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "previousAdmin", + type: "address" + }, + { + indexed: false, + internalType: "address", + name: "newAdmin", + type: "address" + } + ], + name: "AdminChanged", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "implementation", + type: "address" + } + ], + name: "Upgraded", + type: "event" + }, + { + stateMutability: "payable", + type: "fallback" + }, + { + inputs: [], + name: "admin", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "newAdmin", + type: "address" + } + ], + name: "changeAdmin", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "implementation", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "newImplementation", + type: "address" + } + ], + name: "upgradeTo", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "newImplementation", + type: "address" + }, + { + internalType: "bytes", + name: "data", + type: "bytes" + } + ], + name: "upgradeToAndCall", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + stateMutability: "payable", + type: "receive" + } +]; +const _bytecode$2 = "0x608060405260405161083b38038061083b8339818101604052604081101561002657600080fd5b81516020830180516040519294929383019291908464010000000082111561004d57600080fd5b90830190602082018581111561006257600080fd5b825164010000000081118282018810171561007c57600080fd5b82525081516020918201929091019080838360005b838110156100a9578181015183820152602001610091565b50505050905090810190601f1680156100d65780820380516001836020036101000a031916815260200191505b50604052508391503090508282816100ed826101c0565b8051156101a5576000826001600160a01b0316826040518082805190602001908083835b602083106101305780518252601f199092019160209182019101610111565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610190576040519150601f19603f3d011682016040523d82523d6000602084013e610195565b606091505b50509050806101a357600080fd5b505b506101ad9050565b6101b682610232565b505050505061025c565b6101d38161025660201b6103b41760201c565b61020e5760405162461bcd60e51b81526004018080602001828103825260368152602001806108056036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b3b151590565b61059a8061026b6000396000f3fe60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100985780635c60da1b146101185780638f28397014610149578063f851a4401461017c5761005d565b3661005d5761005b610191565b005b61005b610191565b34801561007157600080fd5b5061005b6004803603602081101561008857600080fd5b50356001600160a01b03166101ab565b61005b600480360360408110156100ae57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100d957600080fd5b8201836020820111156100eb57600080fd5b8035906020019184600183028401116401000000008311171561010d57600080fd5b5090925090506101e5565b34801561012457600080fd5b5061012d610292565b604080516001600160a01b039092168252519081900360200190f35b34801561015557600080fd5b5061005b6004803603602081101561016c57600080fd5b50356001600160a01b03166102cf565b34801561018857600080fd5b5061012d610389565b6101996101a9565b6101a96101a46103ba565b6103df565b565b6101b3610403565b6001600160a01b0316336001600160a01b031614156101da576101d581610428565b6101e2565b6101e2610191565b50565b6101ed610403565b6001600160a01b0316336001600160a01b031614156102855761020f83610428565b6000836001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d806000811461026c576040519150601f19603f3d011682016040523d82523d6000602084013e610271565b606091505b505090508061027f57600080fd5b5061028d565b61028d610191565b505050565b600061029c610403565b6001600160a01b0316336001600160a01b031614156102c4576102bd6103ba565b90506102cc565b6102cc610191565b90565b6102d7610403565b6001600160a01b0316336001600160a01b031614156101da576001600160a01b0381166103355760405162461bcd60e51b815260040180806020018281038252603a8152602001806104f5603a913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61035e610403565b604080516001600160a01b03928316815291841660208301528051918290030190a16101d581610468565b6000610393610403565b6001600160a01b0316336001600160a01b031614156102c4576102bd610403565b3b151590565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e8080156103fe573d6000f35b3d6000fd5b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b6104318161048c565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b610495816103b4565b6104d05760405162461bcd60e51b815260040180806020018281038252603681526020018061052f6036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5556fe5472616e73706172656e745570677261646561626c6550726f78793a206e65772061646d696e20697320746865207a65726f20616464726573735570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374a264697066735822122014d721b179bdff3154685a6f1f0fecdd0d99b7cfc61b3f1a2f7a95c6f6d2c2ae64736f6c634300060c00335570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374"; +const isSuperArgs$2 = (xs) => xs.length > 1; +class LoopbackProxy__factory extends ethers.ContractFactory { + constructor(...args) { + if (isSuperArgs$2(args)) { + super(...args); + } else { + super(_abi$2, _bytecode$2, args[0]); + } + } + getDeployTransaction(_logic, _data, overrides) { + return super.getDeployTransaction(_logic, _data, overrides || {}); + } + deploy(_logic, _data, overrides) { + return super.deploy(_logic, _data, overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new ethers.Interface(_abi$2); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$2, runner); + } +} +LoopbackProxy__factory.bytecode = _bytecode$2; +LoopbackProxy__factory.abi = _abi$2; + +const _abi$1 = [ + { + inputs: [ + { + internalType: "address", + name: "_governance", + type: "address" + }, + { + internalType: "address", + name: "_instanceRegistry", + type: "address" + }, + { + internalType: "address", + name: "_relayerRegistry", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address" + }, + { + indexed: false, + internalType: "bytes", + name: "encryptedNote", + type: "bytes" + } + ], + name: "EncryptedNote", + type: "event" + }, + { + inputs: [ + { + internalType: "contract IERC20", + name: "_token", + type: "address" + }, + { + internalType: "address", + name: "_spender", + type: "address" + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256" + } + ], + name: "approveExactToken", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes[]", + name: "_encryptedNotes", + type: "bytes[]" + } + ], + name: "backupNotes", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "contract ITornadoInstance", + name: "_tornado", + type: "address" + }, + { + internalType: "bytes32", + name: "_commitment", + type: "bytes32" + }, + { + internalType: "bytes", + name: "_encryptedNote", + type: "bytes" + } + ], + name: "deposit", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [], + name: "governance", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "instanceRegistry", + outputs: [ + { + internalType: "contract InstanceRegistry", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "relayerRegistry", + outputs: [ + { + internalType: "contract RelayerRegistry", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract IERC20", + name: "_token", + type: "address" + }, + { + internalType: "address payable", + name: "_to", + type: "address" + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256" + } + ], + name: "rescueTokens", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "contract ITornadoInstance", + name: "_tornado", + type: "address" + }, + { + internalType: "bytes", + name: "_proof", + type: "bytes" + }, + { + internalType: "bytes32", + name: "_root", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "_nullifierHash", + type: "bytes32" + }, + { + internalType: "address payable", + name: "_recipient", + type: "address" + }, + { + internalType: "address payable", + name: "_relayer", + type: "address" + }, + { + internalType: "uint256", + name: "_fee", + type: "uint256" + }, + { + internalType: "uint256", + name: "_refund", + type: "uint256" + } + ], + name: "withdraw", + outputs: [], + stateMutability: "payable", + type: "function" + } +]; +const _bytecode$1 = "0x60e060405234801561001057600080fd5b5060405161128438038061128483398101604081905261002f91610056565b6001600160601b0319606093841b811660805291831b821660a05290911b1660c0526100ba565b60008060006060848603121561006a578283fd5b8351610075816100a2565b6020850151909350610086816100a2565b6040850151909250610097816100a2565b809150509250925092565b6001600160a01b03811681146100b757600080fd5b50565b60805160601c60a05160601c60c05160601c61117c610108600039806103ff528061059e525080610164528061037a52806103a752806104c8525080610423528061068e525061117c6000f3fe60806040526004361061007b5760003560e01c80635aa6e6751161004e5780635aa6e675146100f55780636485ba2a1461010a578063b438689f1461012a578063cea9d26f1461013d5761007b565b806313d98d131461008057806336a3874b146100955780633ef10783146100c057806347ff589d146100e0575b600080fd5b61009361008e366004610c77565b61015d565b005b3480156100a157600080fd5b506100aa610378565b6040516100b79190610dd0565b60405180910390f35b3480156100cc57600080fd5b506100936100db366004610c37565b61039c565b3480156100ec57600080fd5b506100aa6103fd565b34801561010157600080fd5b506100aa610421565b34801561011657600080fd5b50610093610125366004610b26565b610445565b610093610138366004610cd1565b6104ae565b34801561014957600080fd5b50610093610158366004610c37565b610683565b60008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663032bb443886040518263ffffffff1660e01b81526004016101ae9190610dd0565b60a06040518083038186803b1580156101c657600080fd5b505afa1580156101da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101fe9190610bb1565b5092955090935091506000905081600181111561021757fe5b141561023e5760405162461bcd60e51b815260040161023590610f00565b60405180910390fd5b82156102cc576102cc3330896001600160a01b0316638bca6d166040518163ffffffff1660e01b815260040160206040518083038186803b15801561028257600080fd5b505afa158015610296573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102ba9190610d72565b6001600160a01b038616929190610817565b60405163b214faa560e01b81526001600160a01b0388169063b214faa59034906102fa908a90600401610e5e565b6000604051808303818588803b15801561031357600080fd5b505af1158015610327573d6000803e3d6000fd5b5050505050336001600160a01b03167ffa28df43db3553771f7209dcef046f3bdfea15870ab625dcda30ac58b82b40088686604051610367929190610e67565b60405180910390a250505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103e45760405162461bcd60e51b815260040161023590611087565b6103f86001600160a01b0384168383610875565b505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b60005b818110156103f857337ffa28df43db3553771f7209dcef046f3bdfea15870ab625dcda30ac58b82b400884848481811061047e57fe5b905060200281019061049091906110af565b60405161049e929190610e67565b60405180910390a2600101610448565b60405163032bb44360e01b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063032bb443906104fd908d90600401610dd0565b60a06040518083038186803b15801561051557600080fd5b505afa158015610529573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054d9190610bb1565b509093506000925061055d915050565b81600181111561056957fe5b14156105875760405162461bcd60e51b815260040161023590610f00565b604051631168473b60e21b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906345a11cec906105d790339088908f90600401610de4565b600060405180830381600087803b1580156105f157600080fd5b505af1158015610605573d6000803e3d6000fd5b50506040516310d056db60e11b81526001600160a01b038d1692506321a0adb691503490610645908d908d908d908d908d908d908d908d90600401610e7b565b6000604051808303818588803b15801561065e57600080fd5b505af1158015610672573d6000803e3d6000fd5b505050505050505050505050505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106cb5760405162461bcd60e51b815260040161023590611087565b6001600160a01b0382166106f15760405162461bcd60e51b815260040161023590610f6e565b6001600160a01b03831661074d5747600061070c8284610938565b6040519091506001600160a01b0385169082156108fc029083906000818181858888f19350505050158015610745573d6000803e3d6000fd5b5050506103f8565b6040516370a0823160e01b81526000906001600160a01b038516906370a082319061077c903090600401610dd0565b60206040518083038186803b15801561079457600080fd5b505afa1580156107a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107cc9190610d72565b905060006107da8284610938565b9050600081116107fc5760405162461bcd60e51b815260040161023590610ffa565b6108106001600160a01b0386168583610950565b5050505050565b61086f846323b872dd60e01b85858560405160240161083893929190610e21565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261096f565b50505050565b8015806108fd5750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e906108ab9030908690600401610e07565b60206040518083038186803b1580156108c357600080fd5b505afa1580156108d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108fb9190610d72565b155b6109195760405162461bcd60e51b815260040161023590611031565b6103f88363095ea7b360e01b8484604051602401610838929190610e45565b60008183106109475781610949565b825b9392505050565b6103f88363a9059cbb60e01b8484604051602401610838929190610e45565b60606109c4826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166109fe9092919063ffffffff16565b8051909150156103f857808060200190518101906109e29190610b95565b6103f85760405162461bcd60e51b815260040161023590610fb0565b6060610a0d8484600085610a15565b949350505050565b6060610a2085610ad9565b610a3c5760405162461bcd60e51b815260040161023590610f37565b60006060866001600160a01b03168587604051610a599190610db4565b60006040518083038185875af1925050503d8060008114610a96576040519150601f19603f3d011682016040523d82523d6000602084013e610a9b565b606091505b50915091508115610aaf579150610a0d9050565b805115610abf5780518082602001fd5b8360405162461bcd60e51b81526004016102359190610ecd565b3b151590565b60008083601f840112610af0578182fd5b50813567ffffffffffffffff811115610b07578182fd5b602083019150836020828501011115610b1f57600080fd5b9250929050565b60008060208385031215610b38578182fd5b823567ffffffffffffffff80821115610b4f578384fd5b818501915085601f830112610b62578384fd5b813581811115610b70578485fd5b8660208083028501011115610b83578485fd5b60209290920196919550909350505050565b600060208284031215610ba6578081fd5b815161094981611138565b600080600080600060a08688031215610bc8578081fd5b8551610bd381611138565b6020870151909550610be481611120565b604087015190945060028110610bf8578182fd5b606087015190935062ffffff81168114610c10578182fd5b608087015190925063ffffffff81168114610c29578182fd5b809150509295509295909350565b600080600060608486031215610c4b578283fd5b8335610c5681611120565b92506020840135610c6681611120565b929592945050506040919091013590565b60008060008060608587031215610c8c578384fd5b8435610c9781611120565b935060208501359250604085013567ffffffffffffffff811115610cb9578283fd5b610cc587828801610adf565b95989497509550505050565b60008060008060008060008060006101008a8c031215610cef578384fd5b8935610cfa81611120565b985060208a013567ffffffffffffffff811115610d15578485fd5b610d218c828d01610adf565b90995097505060408a0135955060608a0135945060808a0135610d4381611120565b935060a08a0135610d5381611120565b8093505060c08a0135915060e08a013590509295985092959850929598565b600060208284031215610d83578081fd5b5051919050565b60008284528282602086013780602084860101526020601f19601f85011685010190509392505050565b60008251610dc68184602087016110f4565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0393841681529183166020830152909116604082015260600190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03929092168252602082015260400190565b90815260200190565b600060208252610a0d602083018486610d8a565b600060e08252610e8f60e083018a8c610d8a565b60208301989098525060408101959095526001600160a01b03938416606086015291909216608084015260a083019190915260c09091015292915050565b6000602082528251806020840152610eec8160408501602087016110f4565b601f01601f19169190910160400192915050565b6020808252601d908201527f54686520696e7374616e6365206973206e6f7420737570706f72746564000000604082015260600190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b60208082526022908201527f544f524e3a2063616e206e6f742073656e6420746f207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b6020808252601e908201527f544f524e3a20747279696e6720746f2073656e6420302062616c616e63650000604082015260600190565b60208082526036908201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60408201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b606082015260800190565b6020808252600e908201526d139bdd08185d5d1a1bdc9a5e995960921b604082015260600190565b6000808335601e198436030181126110c5578283fd5b83018035915067ffffffffffffffff8211156110df578283fd5b602001915036819003821315610b1f57600080fd5b60005b8381101561110f5781810151838201526020016110f7565b8381111561086f5750506000910152565b6001600160a01b038116811461113557600080fd5b50565b801515811461113557600080fdfea26469706673582212209d7fe04aba36de62ec470c0d6176fa1eec04a15a73bce5d2370ff3ab967e9c2564736f6c634300060c0033"; +const isSuperArgs$1 = (xs) => xs.length > 1; +class TornadoRouter__factory extends ethers.ContractFactory { + constructor(...args) { + if (isSuperArgs$1(args)) { + super(...args); + } else { + super(_abi$1, _bytecode$1, args[0]); + } + } + getDeployTransaction(_governance, _instanceRegistry, _relayerRegistry, overrides) { + return super.getDeployTransaction( + _governance, + _instanceRegistry, + _relayerRegistry, + overrides || {} + ); + } + deploy(_governance, _instanceRegistry, _relayerRegistry, overrides) { + return super.deploy( + _governance, + _instanceRegistry, + _relayerRegistry, + overrides || {} + ); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new ethers.Interface(_abi$1); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi$1, runner); + } +} +TornadoRouter__factory.bytecode = _bytecode$1; +TornadoRouter__factory.abi = _abi$1; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "_torn", + type: "address" + }, + { + internalType: "address", + name: "_governance", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "withdrawTorn", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; +const _bytecode = "0x60c060405234801561001057600080fd5b506040516104aa3803806104aa8339818101604052604081101561003357600080fd5b5080516020909101516001600160601b0319606092831b8116608052911b1660a05260805160601c60a05160601c61042e61007c60003980606952508060d3525061042e6000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c806391fe357314610030575b600080fd5b61005c6004803603604081101561004657600080fd5b506001600160a01b03813516906020013561005e565b005b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146100c6576040805162461bcd60e51b815260206004820152600860248201526737b7363c9033b7bb60c11b604482015290519081900360640190fd5b6100fa6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001683836100fe565b5050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610150908490610155565b505050565b60606101aa826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166102069092919063ffffffff16565b805190915015610150578080602001905160208110156101c957600080fd5b50516101505760405162461bcd60e51b815260040180806020018281038252602a8152602001806103cf602a913960400191505060405180910390fd5b6060610215848460008561021d565b949350505050565b6060610228856103c8565b610279576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106102b85780518252601f199092019160209182019101610299565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d806000811461031a576040519150601f19603f3d011682016040523d82523d6000602084013e61031f565b606091505b509150915081156103335791506102159050565b8051156103435780518082602001fd5b8360405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561038d578181015183820152602001610375565b50505050905090810190601f1680156103ba5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b3b15159056fe5361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a26469706673582212208fc65ae8299d617f6cff836a2822363849c7fb35b0b27a6f0aebfa62084005c764736f6c634300060c0033"; +const isSuperArgs = (xs) => xs.length > 1; +class TornadoVault__factory extends ethers.ContractFactory { + constructor(...args) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + getDeployTransaction(_torn, _governance, overrides) { + return super.getDeployTransaction(_torn, _governance, overrides || {}); + } + deploy(_torn, _governance, overrides) { + return super.deploy(_torn, _governance, overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new ethers.Interface(_abi); + } + static connect(address, runner) { + return new ethers.Contract(address, _abi, runner); + } +} +TornadoVault__factory.bytecode = _bytecode; +TornadoVault__factory.abi = _abi; + +var index$2 = /*#__PURE__*/Object.freeze({ + __proto__: null, + AdminUpgradeableProxy__factory: AdminUpgradeableProxy__factory, + FeeManager__factory: FeeManager__factory, + GasCompensationVault__factory: GasCompensationVault__factory, + LoopbackProxy__factory: LoopbackProxy__factory, + TornadoRouter__factory: TornadoRouter__factory, + TornadoVault__factory: TornadoVault__factory, + aggregator: index$y, + deployerSol: index$x, + instanceRegistrySol: index$w, + interfaces: index$k, + libraries: index$i, + relayerRegistrySol: index$v, + testnet: index$r, + torn: index$s, + tornadoStakingRewardsSol: index$q, + uniswap: index$l, + v1: index$d, + v2VaultAndGas: index$a, + v3RelayerRegistry: index$8, + v4ExploitPatch: index$4, + v5ProposalStatePatch: index$3 +}); + +var index$1 = /*#__PURE__*/Object.freeze({ + __proto__: null, + classic: index$A, + governance: index$2 +}); + +var index = /*#__PURE__*/Object.freeze({ + __proto__: null, + contracts: index$1, + openzeppelin: index$H +}); + +exports.AdminUpgradeableProxy__factory = AdminUpgradeableProxy__factory; +exports.Aggregator__factory = Aggregator__factory; +exports.AirdropMock__factory = AirdropMock__factory; +exports.Airdrop__factory = Airdrop__factory; +exports.BadRecipient__factory = BadRecipient__factory; +exports.CTornado__factory = CTornado__factory; +exports.Configuration__factory = Configuration__factory; +exports.Core__factory = Core__factory; +exports.Delegation__factory = Delegation__factory; +exports.Deployer__factory = Deployer__factory; +exports.DummySecond__factory = DummySecond__factory; +exports.Dummy__factory = Dummy__factory; +exports.ENSMock__factory = ENSMock__factory; +exports.ENS__factory = ENS__factory; +exports.ERC20Basic__factory = ERC20Basic__factory; +exports.ERC20Burnable__factory = ERC20Burnable__factory; +exports.ERC20Mock__factory = ERC20Mock__factory; +exports.ERC20Permit__factory = ERC20Permit__factory; +exports.ERC20Tornado__factory = ERC20Tornado__factory; +exports.ERC20__factory = ERC20__factory; +exports.ETHTornado__factory = ETHTornado__factory; +exports.Echoer__factory = Echoer__factory; +exports.EnsResolve__factory = EnsResolve__factory; +exports.FeeManager__factory = FeeManager__factory; +exports.GasCompensationVault__factory = GasCompensationVault__factory; +exports.GasCompensator__factory = GasCompensator__factory; +exports.GovernanceAggregator__factory = GovernanceAggregator__factory; +exports.GovernanceExploitPatchUpgrade__factory = GovernanceExploitPatchUpgrade__factory; +exports.GovernanceGasUpgrade__factory = GovernanceGasUpgrade__factory; +exports.GovernanceProposalStateUpgrade__factory = GovernanceProposalStateUpgrade__factory; +exports.GovernanceStakingUpgrade__factory = GovernanceStakingUpgrade__factory; +exports.GovernanceVaultUpgrade__factory = GovernanceVaultUpgrade__factory; +exports.Governance__factory = Governance__factory; +exports.IDeployer__factory = IDeployer__factory$1; +exports.IENSRegistry__factory = IENSRegistry__factory; +exports.IENSResolver__factory = IENSResolver__factory; +exports.IENS__factory = IENS__factory; +exports.IERC1155Errors__factory = IERC1155Errors__factory; +exports.IERC20Decimals__factory = IERC20Decimals__factory; +exports.IERC20Errors__factory = IERC20Errors__factory; +exports.IERC20Metadata__factory = IERC20Metadata__factory; +exports.IERC20__factory = IERC20__factory$1; +exports.IERC721Errors__factory = IERC721Errors__factory; +exports.IFeeManager__factory = IFeeManager__factory; +exports.IGasCompensationVault__factory = IGasCompensationVault__factory; +exports.IGovernance__factory = IGovernance__factory; +exports.IHasher__factory = IHasher__factory; +exports.IMetamorphicContractFactory__factory = IMetamorphicContractFactory__factory; +exports.IProxy__factory = IProxy__factory; +exports.IRelayerRegistry__factory = IRelayerRegistry__factory; +exports.ITornadoGovernance__factory = ITornadoGovernance__factory; +exports.ITornadoInstance__factory = ITornadoInstance__factory$1; +exports.ITornadoRouter__factory = ITornadoRouter__factory; +exports.ITornadoStakingRewards__factory = ITornadoStakingRewards__factory; +exports.ITornadoVault__factory = ITornadoVault__factory$1; +exports.IUSDT__factory = IUSDT__factory; +exports.IUniswapV3Factory__factory = IUniswapV3Factory__factory; +exports.IUniswapV3PoolActions__factory = IUniswapV3PoolActions__factory; +exports.IUniswapV3PoolDerivedState__factory = IUniswapV3PoolDerivedState__factory; +exports.IUniswapV3PoolEvents__factory = IUniswapV3PoolEvents__factory; +exports.IUniswapV3PoolImmutables__factory = IUniswapV3PoolImmutables__factory; +exports.IUniswapV3PoolOwnerActions__factory = IUniswapV3PoolOwnerActions__factory; +exports.IUniswapV3PoolState__factory = IUniswapV3PoolState__factory; +exports.IUniswapV3Pool__factory = IUniswapV3Pool__factory; +exports.IVerifier__factory = IVerifier__factory; +exports.InitialProposal__factory = InitialProposal__factory; +exports.InstanceRegistry__factory = InstanceRegistry__factory; +exports.LoopbackProxy__factory = LoopbackProxy__factory; +exports.MaliciousProposal__factory = MaliciousProposal__factory; +exports.MerkleTreeWithHistoryMock__factory = MerkleTreeWithHistoryMock__factory; +exports.MerkleTreeWithHistory__factory = MerkleTreeWithHistory__factory; +exports.MockGovernance__factory = MockGovernance__factory; +exports.NewImplementation__factory = NewImplementation__factory; +exports.Ownable__factory = Ownable__factory; +exports.PatchProposal__factory = PatchProposal__factory; +exports.Pausable__factory = Pausable__factory; +exports.ProposalStateChangeGovernance__factory = ProposalStateChangeGovernance__factory; +exports.ProposalUpgrade__factory = ProposalUpgrade__factory; +exports.Proposal__factory = Proposal__factory; +exports.Proxy__factory = Proxy__factory; +exports.RelayerAggregator__factory = RelayerAggregator__factory; +exports.RelayerRegistry__factory = RelayerRegistry__factory; +exports.Resolver__factory = Resolver__factory; +exports.TORNMock__factory = TORNMock__factory; +exports.TORN__factory = TORN__factory; +exports.TestnetAdminProxy__factory = TestnetAdminProxy__factory; +exports.TestnetFeeManager__factory = TestnetFeeManager__factory; +exports.TestnetGovernanceProxy__factory = TestnetGovernanceProxy__factory; +exports.Timestamp__factory = Timestamp__factory; +exports.TornadoProxyLight__factory = TornadoProxyLight__factory; +exports.TornadoRouter__factory = TornadoRouter__factory; +exports.TornadoStakingRewards__factory = TornadoStakingRewards__factory; +exports.TornadoVault__factory = TornadoVault__factory; +exports.Tornado__factory = Tornado__factory; +exports.TransparentUpgradeableProxy__factory = TransparentUpgradeableProxy__factory; +exports.UpgradeableProxy__factory = UpgradeableProxy__factory; +exports.Verifier__factory = Verifier__factory; +exports.VestingMock__factory = VestingMock__factory; +exports.Vesting__factory = Vesting__factory; +exports.VoucherMock__factory = VoucherMock__factory; +exports.Voucher__factory = Voucher__factory; +exports.factories = index; diff --git a/dist/index.mjs b/dist/index.mjs new file mode 100644 index 0000000..a48d889 --- /dev/null +++ b/dist/index.mjs @@ -0,0 +1,25934 @@ +import { Interface, Contract, ContractFactory } from 'ethers'; + +const _abi$1H = [ + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "uint256", + name: "balance", + type: "uint256" + }, + { + internalType: "uint256", + name: "needed", + type: "uint256" + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256" + } + ], + name: "ERC1155InsufficientBalance", + type: "error" + }, + { + inputs: [ + { + internalType: "address", + name: "approver", + type: "address" + } + ], + name: "ERC1155InvalidApprover", + type: "error" + }, + { + inputs: [ + { + internalType: "uint256", + name: "idsLength", + type: "uint256" + }, + { + internalType: "uint256", + name: "valuesLength", + type: "uint256" + } + ], + name: "ERC1155InvalidArrayLength", + type: "error" + }, + { + inputs: [ + { + internalType: "address", + name: "operator", + type: "address" + } + ], + name: "ERC1155InvalidOperator", + type: "error" + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address" + } + ], + name: "ERC1155InvalidReceiver", + type: "error" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + } + ], + name: "ERC1155InvalidSender", + type: "error" + }, + { + inputs: [ + { + internalType: "address", + name: "operator", + type: "address" + }, + { + internalType: "address", + name: "owner", + type: "address" + } + ], + name: "ERC1155MissingApprovalForAll", + type: "error" + } +]; +class IERC1155Errors__factory { + static createInterface() { + return new Interface(_abi$1H); + } + static connect(address, runner) { + return new Contract(address, _abi$1H, runner); + } +} +IERC1155Errors__factory.abi = _abi$1H; + +const _abi$1G = [ + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "allowance", + type: "uint256" + }, + { + internalType: "uint256", + name: "needed", + type: "uint256" + } + ], + name: "ERC20InsufficientAllowance", + type: "error" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "uint256", + name: "balance", + type: "uint256" + }, + { + internalType: "uint256", + name: "needed", + type: "uint256" + } + ], + name: "ERC20InsufficientBalance", + type: "error" + }, + { + inputs: [ + { + internalType: "address", + name: "approver", + type: "address" + } + ], + name: "ERC20InvalidApprover", + type: "error" + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address" + } + ], + name: "ERC20InvalidReceiver", + type: "error" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + } + ], + name: "ERC20InvalidSender", + type: "error" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "ERC20InvalidSpender", + type: "error" + } +]; +class IERC20Errors__factory { + static createInterface() { + return new Interface(_abi$1G); + } + static connect(address, runner) { + return new Contract(address, _abi$1G, runner); + } +} +IERC20Errors__factory.abi = _abi$1G; + +const _abi$1F = [ + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256" + }, + { + internalType: "address", + name: "owner", + type: "address" + } + ], + name: "ERC721IncorrectOwner", + type: "error" + }, + { + inputs: [ + { + internalType: "address", + name: "operator", + type: "address" + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256" + } + ], + name: "ERC721InsufficientApproval", + type: "error" + }, + { + inputs: [ + { + internalType: "address", + name: "approver", + type: "address" + } + ], + name: "ERC721InvalidApprover", + type: "error" + }, + { + inputs: [ + { + internalType: "address", + name: "operator", + type: "address" + } + ], + name: "ERC721InvalidOperator", + type: "error" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + } + ], + name: "ERC721InvalidOwner", + type: "error" + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address" + } + ], + name: "ERC721InvalidReceiver", + type: "error" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + } + ], + name: "ERC721InvalidSender", + type: "error" + }, + { + inputs: [ + { + internalType: "uint256", + name: "tokenId", + type: "uint256" + } + ], + name: "ERC721NonexistentToken", + type: "error" + } +]; +class IERC721Errors__factory { + static createInterface() { + return new Interface(_abi$1F); + } + static connect(address, runner) { + return new Contract(address, _abi$1F, runner); + } +} +IERC721Errors__factory.abi = _abi$1F; + +var index$T = /*#__PURE__*/Object.freeze({ + __proto__: null, + IERC1155Errors__factory: IERC1155Errors__factory, + IERC20Errors__factory: IERC20Errors__factory, + IERC721Errors__factory: IERC721Errors__factory +}); + +var index$S = /*#__PURE__*/Object.freeze({ + __proto__: null, + draftIerc6093Sol: index$T +}); + +const _abi$1E = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Approval", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Transfer", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address" + }, + { + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address" + }, + { + internalType: "address", + name: "to", + type: "address" + }, + { + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; +class IERC20Metadata__factory { + static createInterface() { + return new Interface(_abi$1E); + } + static connect(address, runner) { + return new Contract(address, _abi$1E, runner); + } +} +IERC20Metadata__factory.abi = _abi$1E; + +var index$R = /*#__PURE__*/Object.freeze({ + __proto__: null, + IERC20Metadata__factory: IERC20Metadata__factory +}); + +const _abi$1D = [ + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "allowance", + type: "uint256" + }, + { + internalType: "uint256", + name: "needed", + type: "uint256" + } + ], + name: "ERC20InsufficientAllowance", + type: "error" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "uint256", + name: "balance", + type: "uint256" + }, + { + internalType: "uint256", + name: "needed", + type: "uint256" + } + ], + name: "ERC20InsufficientBalance", + type: "error" + }, + { + inputs: [ + { + internalType: "address", + name: "approver", + type: "address" + } + ], + name: "ERC20InvalidApprover", + type: "error" + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address" + } + ], + name: "ERC20InvalidReceiver", + type: "error" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + } + ], + name: "ERC20InvalidSender", + type: "error" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "ERC20InvalidSpender", + type: "error" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Approval", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Transfer", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address" + }, + { + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address" + }, + { + internalType: "address", + name: "to", + type: "address" + }, + { + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; +let ERC20__factory$1 = class ERC20__factory { + static createInterface() { + return new Interface(_abi$1D); + } + static connect(address, runner) { + return new Contract(address, _abi$1D, runner); + } +}; +ERC20__factory$1.abi = _abi$1D; + +const _abi$1C = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Approval", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Transfer", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address" + }, + { + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address" + }, + { + internalType: "address", + name: "to", + type: "address" + }, + { + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; +let IERC20__factory$2 = class IERC20__factory { + static createInterface() { + return new Interface(_abi$1C); + } + static connect(address, runner) { + return new Contract(address, _abi$1C, runner); + } +}; +IERC20__factory$2.abi = _abi$1C; + +var index$Q = /*#__PURE__*/Object.freeze({ + __proto__: null, + ERC20__factory: ERC20__factory$1, + IERC20__factory: IERC20__factory$2, + extensions: index$R +}); + +var index$P = /*#__PURE__*/Object.freeze({ + __proto__: null, + erc20: index$Q +}); + +var index$O = /*#__PURE__*/Object.freeze({ + __proto__: null, + interfaces: index$S, + token: index$P +}); + +const _abi$1B = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "previousOwner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "newOwner", + type: "address" + } + ], + name: "OwnershipTransferred", + type: "event" + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "renounceOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "newOwner", + type: "address" + } + ], + name: "transferOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; +class Ownable__factory { + static createInterface() { + return new Interface(_abi$1B); + } + static connect(address, runner) { + return new Contract(address, _abi$1B, runner); + } +} +Ownable__factory.abi = _abi$1B; + +var index$N = /*#__PURE__*/Object.freeze({ + __proto__: null, + Ownable__factory: Ownable__factory +}); + +const _abi$1A = [ + { + stateMutability: "payable", + type: "fallback" + }, + { + stateMutability: "payable", + type: "receive" + } +]; +class Proxy__factory { + static createInterface() { + return new Interface(_abi$1A); + } + static connect(address, runner) { + return new Contract(address, _abi$1A, runner); + } +} +Proxy__factory.abi = _abi$1A; + +const _abi$1z = [ + { + inputs: [ + { + internalType: "address", + name: "_logic", + type: "address" + }, + { + internalType: "address", + name: "_admin", + type: "address" + }, + { + internalType: "bytes", + name: "_data", + type: "bytes" + } + ], + stateMutability: "payable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "previousAdmin", + type: "address" + }, + { + indexed: false, + internalType: "address", + name: "newAdmin", + type: "address" + } + ], + name: "AdminChanged", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "implementation", + type: "address" + } + ], + name: "Upgraded", + type: "event" + }, + { + stateMutability: "payable", + type: "fallback" + }, + { + inputs: [], + name: "admin", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "newAdmin", + type: "address" + } + ], + name: "changeAdmin", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "implementation", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "newImplementation", + type: "address" + } + ], + name: "upgradeTo", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "newImplementation", + type: "address" + }, + { + internalType: "bytes", + name: "data", + type: "bytes" + } + ], + name: "upgradeToAndCall", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + stateMutability: "payable", + type: "receive" + } +]; +const _bytecode$V = "0x60806040526040516108dc3803806108dc8339818101604052606081101561002657600080fd5b8151602083015160408085018051915193959294830192918464010000000082111561005157600080fd5b90830190602082018581111561006657600080fd5b825164010000000081118282018810171561008057600080fd5b82525081516020918201929091019080838360005b838110156100ad578181015183820152602001610095565b50505050905090810190601f1680156100da5780820380516001836020036101000a031916815260200191505b50604052508491508290506100ee826101bf565b8051156101a6576000826001600160a01b0316826040518082805190602001908083835b602083106101315780518252601f199092019160209182019101610112565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610191576040519150601f19603f3d011682016040523d82523d6000602084013e610196565b606091505b50509050806101a457600080fd5b505b506101ae9050565b6101b782610231565b50505061025b565b6101d28161025560201b6103b41760201c565b61020d5760405162461bcd60e51b81526004018080602001828103825260368152602001806108a66036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b3b151590565b61063c8061026a6000396000f3fe60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100985780635c60da1b146101185780638f28397014610149578063f851a4401461017c5761005d565b3661005d5761005b610191565b005b61005b610191565b34801561007157600080fd5b5061005b6004803603602081101561008857600080fd5b50356001600160a01b03166101ab565b61005b600480360360408110156100ae57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100d957600080fd5b8201836020820111156100eb57600080fd5b8035906020019184600183028401116401000000008311171561010d57600080fd5b5090925090506101e5565b34801561012457600080fd5b5061012d610292565b604080516001600160a01b039092168252519081900360200190f35b34801561015557600080fd5b5061005b6004803603602081101561016c57600080fd5b50356001600160a01b03166102cf565b34801561018857600080fd5b5061012d610389565b6101996103ba565b6101a96101a461041a565b61043f565b565b6101b3610463565b6001600160a01b0316336001600160a01b031614156101da576101d581610488565b6101e2565b6101e2610191565b50565b6101ed610463565b6001600160a01b0316336001600160a01b031614156102855761020f83610488565b6000836001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d806000811461026c576040519150601f19603f3d011682016040523d82523d6000602084013e610271565b606091505b505090508061027f57600080fd5b5061028d565b61028d610191565b505050565b600061029c610463565b6001600160a01b0316336001600160a01b031614156102c4576102bd61041a565b90506102cc565b6102cc610191565b90565b6102d7610463565b6001600160a01b0316336001600160a01b031614156101da576001600160a01b0381166103355760405162461bcd60e51b815260040180806020018281038252603a815260200180610555603a913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61035e610463565b604080516001600160a01b03928316815291841660208301528051918290030190a16101d5816104c8565b6000610393610463565b6001600160a01b0316336001600160a01b031614156102c4576102bd610463565b3b151590565b6103c2610463565b6001600160a01b0316336001600160a01b031614156104125760405162461bcd60e51b81526004018080602001828103825260428152602001806105c56042913960600191505060405180910390fd5b6101a96101a9565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e80801561045e573d6000f35b3d6000fd5b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b610491816104ec565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b6104f5816103b4565b6105305760405162461bcd60e51b815260040180806020018281038252603681526020018061058f6036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5556fe5472616e73706172656e745570677261646561626c6550726f78793a206e65772061646d696e20697320746865207a65726f20616464726573735570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e74726163745472616e73706172656e745570677261646561626c6550726f78793a2061646d696e2063616e6e6f742066616c6c6261636b20746f2070726f787920746172676574a26469706673582212200bf5c74f32000c92994fb0de053047d19f9c526eb1b1953df8bcb7d7e0df8d2864736f6c634300060c00335570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374"; +const isSuperArgs$V = (xs) => xs.length > 1; +class TransparentUpgradeableProxy__factory extends ContractFactory { + constructor(...args) { + if (isSuperArgs$V(args)) { + super(...args); + } else { + super(_abi$1z, _bytecode$V, args[0]); + } + } + getDeployTransaction(_logic, _admin, _data, overrides) { + return super.getDeployTransaction(_logic, _admin, _data, overrides || {}); + } + deploy(_logic, _admin, _data, overrides) { + return super.deploy(_logic, _admin, _data, overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new Interface(_abi$1z); + } + static connect(address, runner) { + return new Contract( + address, + _abi$1z, + runner + ); + } +} +TransparentUpgradeableProxy__factory.bytecode = _bytecode$V; +TransparentUpgradeableProxy__factory.abi = _abi$1z; + +const _abi$1y = [ + { + inputs: [ + { + internalType: "address", + name: "_logic", + type: "address" + }, + { + internalType: "bytes", + name: "_data", + type: "bytes" + } + ], + stateMutability: "payable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "implementation", + type: "address" + } + ], + name: "Upgraded", + type: "event" + }, + { + stateMutability: "payable", + type: "fallback" + }, + { + stateMutability: "payable", + type: "receive" + } +]; +const _bytecode$U = "0x60806040526040516103123803806103128339818101604052604081101561002657600080fd5b81516020830180516040519294929383019291908464010000000082111561004d57600080fd5b90830190602082018581111561006257600080fd5b825164010000000081118282018810171561007c57600080fd5b82525081516020918201929091019080838360005b838110156100a9578181015183820152602001610091565b50505050905090810190601f1680156100d65780820380516001836020036101000a031916815260200191505b50604052506100e3915050565b6100ec826101ab565b8051156101a4576000826001600160a01b0316826040518082805190602001908083835b6020831061012f5780518252601f199092019160209182019101610110565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d806000811461018f576040519150601f19603f3d011682016040523d82523d6000602084013e610194565b606091505b50509050806101a257600080fd5b505b5050610223565b6101be8161021d60201b6100271760201c565b6101f95760405162461bcd60e51b81526004018080602001828103825260368152602001806102dc6036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b3b151590565b60ab806102316000396000f3fe608060405236601057600e6013565b005b600e5b60196025565b60256021602d565b6052565b565b3b151590565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e8080156070573d6000f35b3d6000fdfea2646970667358221220621b7042bfb847b4073a3c58bdbea5295ce2e761b4e2307ca010caaac996d80c64736f6c634300060c00335570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374"; +const isSuperArgs$U = (xs) => xs.length > 1; +class UpgradeableProxy__factory extends ContractFactory { + constructor(...args) { + if (isSuperArgs$U(args)) { + super(...args); + } else { + super(_abi$1y, _bytecode$U, args[0]); + } + } + getDeployTransaction(_logic, _data, overrides) { + return super.getDeployTransaction(_logic, _data, overrides || {}); + } + deploy(_logic, _data, overrides) { + return super.deploy(_logic, _data, overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new Interface(_abi$1y); + } + static connect(address, runner) { + return new Contract(address, _abi$1y, runner); + } +} +UpgradeableProxy__factory.bytecode = _bytecode$U; +UpgradeableProxy__factory.abi = _abi$1y; + +var index$M = /*#__PURE__*/Object.freeze({ + __proto__: null, + Proxy__factory: Proxy__factory, + TransparentUpgradeableProxy__factory: TransparentUpgradeableProxy__factory, + UpgradeableProxy__factory: UpgradeableProxy__factory +}); + +const _abi$1x = [ + { + inputs: [ + { + internalType: "string", + name: "name", + type: "string" + }, + { + internalType: "string", + name: "symbol", + type: "string" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Approval", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Transfer", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "subtractedValue", + type: "uint256" + } + ], + name: "decreaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256" + } + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; +const _bytecode$T = "0x608060405234801561001057600080fd5b5060405162000c6238038062000c628339818101604052604081101561003557600080fd5b810190808051604051939291908464010000000082111561005557600080fd5b90830190602082018581111561006a57600080fd5b825164010000000081118282018810171561008457600080fd5b82525081516020918201929091019080838360005b838110156100b1578181015183820152602001610099565b50505050905090810190601f1680156100de5780820380516001836020036101000a031916815260200191505b506040526020018051604051939291908464010000000082111561010157600080fd5b90830190602082018581111561011657600080fd5b825164010000000081118282018810171561013057600080fd5b82525081516020918201929091019080838360005b8381101561015d578181015183820152602001610145565b50505050905090810190601f16801561018a5780820380516001836020036101000a031916815260200191505b50604052505082516101a4915060039060208501906101cd565b5080516101b89060049060208401906101cd565b50506005805460ff1916601217905550610260565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061020e57805160ff191683800117855561023b565b8280016001018555821561023b579182015b8281111561023b578251825591602001919060010190610220565b5061024792915061024b565b5090565b5b80821115610247576000815560010161024c565b6109f280620002706000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c8063395093511161007157806339509351146101d957806370a082311461020557806395d89b411461022b578063a457c2d714610233578063a9059cbb1461025f578063dd62ed3e1461028b576100a9565b806306fdde03146100ae578063095ea7b31461012b57806318160ddd1461016b57806323b872dd14610185578063313ce567146101bb575b600080fd5b6100b66102b9565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100f05781810151838201526020016100d8565b50505050905090810190601f16801561011d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101576004803603604081101561014157600080fd5b506001600160a01b03813516906020013561034f565b604080519115158252519081900360200190f35b61017361036c565b60408051918252519081900360200190f35b6101576004803603606081101561019b57600080fd5b506001600160a01b03813581169160208101359091169060400135610372565b6101c36103f9565b6040805160ff9092168252519081900360200190f35b610157600480360360408110156101ef57600080fd5b506001600160a01b038135169060200135610402565b6101736004803603602081101561021b57600080fd5b50356001600160a01b0316610450565b6100b661046b565b6101576004803603604081101561024957600080fd5b506001600160a01b0381351690602001356104cc565b6101576004803603604081101561027557600080fd5b506001600160a01b038135169060200135610534565b610173600480360360408110156102a157600080fd5b506001600160a01b0381358116916020013516610548565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103455780601f1061031a57610100808354040283529160200191610345565b820191906000526020600020905b81548152906001019060200180831161032857829003601f168201915b5050505050905090565b600061036361035c610573565b8484610577565b50600192915050565b60025490565b600061037f848484610663565b6103ef8461038b610573565b6103ea85604051806060016040528060288152602001610927602891396001600160a01b038a166000908152600160205260408120906103c9610573565b6001600160a01b0316815260208101919091526040016000205491906107be565b610577565b5060019392505050565b60055460ff1690565b600061036361040f610573565b846103ea8560016000610420610573565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610855565b6001600160a01b031660009081526020819052604090205490565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103455780601f1061031a57610100808354040283529160200191610345565b60006103636104d9610573565b846103ea856040518060600160405280602581526020016109986025913960016000610503610573565b6001600160a01b03908116825260208083019390935260409182016000908120918d168152925290205491906107be565b6000610363610541610573565b8484610663565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3390565b6001600160a01b0383166105bc5760405162461bcd60e51b81526004018080602001828103825260248152602001806109746024913960400191505060405180910390fd5b6001600160a01b0382166106015760405162461bcd60e51b81526004018080602001828103825260228152602001806108df6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166106a85760405162461bcd60e51b815260040180806020018281038252602581526020018061094f6025913960400191505060405180910390fd5b6001600160a01b0382166106ed5760405162461bcd60e51b81526004018080602001828103825260238152602001806108bc6023913960400191505060405180910390fd5b6106f88383836108b6565b61073581604051806060016040528060268152602001610901602691396001600160a01b03861660009081526020819052604090205491906107be565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546107649082610855565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000818484111561084d5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156108125781810151838201526020016107fa565b50505050905090810190601f16801561083f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000828201838110156108af576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220347718b9db0288208ab5957df73278c6f781963df0e13918151971217fc2827964736f6c634300060c0033"; +const isSuperArgs$T = (xs) => xs.length > 1; +class ERC20__factory extends ContractFactory { + constructor(...args) { + if (isSuperArgs$T(args)) { + super(...args); + } else { + super(_abi$1x, _bytecode$T, args[0]); + } + } + getDeployTransaction(name, symbol, overrides) { + return super.getDeployTransaction(name, symbol, overrides || {}); + } + deploy(name, symbol, overrides) { + return super.deploy(name, symbol, overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new Interface(_abi$1x); + } + static connect(address, runner) { + return new Contract(address, _abi$1x, runner); + } +} +ERC20__factory.bytecode = _bytecode$T; +ERC20__factory.abi = _abi$1x; + +const _abi$1w = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Approval", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Transfer", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "burn", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "burnFrom", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "subtractedValue", + type: "uint256" + } + ], + name: "decreaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256" + } + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; +class ERC20Burnable__factory { + static createInterface() { + return new Interface(_abi$1w); + } + static connect(address, runner) { + return new Contract(address, _abi$1w, runner); + } +} +ERC20Burnable__factory.abi = _abi$1w; + +const _abi$1v = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Approval", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Transfer", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; +let IERC20__factory$1 = class IERC20__factory { + static createInterface() { + return new Interface(_abi$1v); + } + static connect(address, runner) { + return new Contract(address, _abi$1v, runner); + } +}; +IERC20__factory$1.abi = _abi$1v; + +var index$L = /*#__PURE__*/Object.freeze({ + __proto__: null, + ERC20Burnable__factory: ERC20Burnable__factory, + ERC20__factory: ERC20__factory, + IERC20__factory: IERC20__factory$1 +}); + +var index$K = /*#__PURE__*/Object.freeze({ + __proto__: null, + erc20: index$L +}); + +const _abi$1u = [ + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "account", + type: "address" + } + ], + name: "Paused", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "account", + type: "address" + } + ], + name: "Unpaused", + type: "event" + }, + { + inputs: [], + name: "paused", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + } +]; +class Pausable__factory { + static createInterface() { + return new Interface(_abi$1u); + } + static connect(address, runner) { + return new Contract(address, _abi$1u, runner); + } +} +Pausable__factory.abi = _abi$1u; + +var index$J = /*#__PURE__*/Object.freeze({ + __proto__: null, + Pausable__factory: Pausable__factory +}); + +var index$I = /*#__PURE__*/Object.freeze({ + __proto__: null, + access: index$N, + proxy: index$M, + token: index$K, + utils: index$J +}); + +var index$H = /*#__PURE__*/Object.freeze({ + __proto__: null, + contracts: index$O, + contractsV3: index$I +}); + +const _abi$1t = [ + { + inputs: [ + { + internalType: "uint256", + name: "in_xL", + type: "uint256" + }, + { + internalType: "uint256", + name: "in_xR", + type: "uint256" + } + ], + name: "MiMCSponge", + outputs: [ + { + internalType: "uint256", + name: "xL", + type: "uint256" + }, + { + internalType: "uint256", + name: "xR", + type: "uint256" + } + ], + stateMutability: "pure", + type: "function" + } +]; +class IHasher__factory { + static createInterface() { + return new Interface(_abi$1t); + } + static connect(address, runner) { + return new Contract(address, _abi$1t, runner); + } +} +IHasher__factory.abi = _abi$1t; + +const _abi$1s = [ + { + inputs: [ + { + internalType: "uint32", + name: "_levels", + type: "uint32" + }, + { + internalType: "contract IHasher", + name: "_hasher", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + inputs: [], + name: "FIELD_SIZE", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "ROOT_HISTORY_SIZE", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "ZERO_VALUE", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "currentRootIndex", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + name: "filledSubtrees", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "getLastRoot", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract IHasher", + name: "_hasher", + type: "address" + }, + { + internalType: "bytes32", + name: "_left", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "_right", + type: "bytes32" + } + ], + name: "hashLeftRight", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "pure", + type: "function" + }, + { + inputs: [], + name: "hasher", + outputs: [ + { + internalType: "contract IHasher", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_root", + type: "bytes32" + } + ], + name: "isKnownRoot", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "levels", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "nextIndex", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + name: "roots", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + name: "zeros", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "view", + type: "function" + } +]; +const _bytecode$S = "0x60c0604052600380546001600160401b031916905534801561002057600080fd5b50604051610a10380380610a1083398101604081905261003f91610385565b60008263ffffffff16116100a65760405162461bcd60e51b815260206004820152602360248201527f5f6c6576656c732073686f756c642062652067726561746572207468616e207a60448201526265726f60e81b60648201526084015b60405180910390fd5b60208263ffffffff16106100fc5760405162461bcd60e51b815260206004820152601e60248201527f5f6c6576656c732073686f756c64206265206c657373207468616e2033320000604482015260640161009d565b63ffffffff821660a0526001600160a01b0381166080527f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c60005b8363ffffffff168163ffffffff1610156101845763ffffffff8116600090815260016020908152604080832085905590829052902082905561017a8383806101b8565b9150600101610137565b506000805260026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b55506103f89050565b60006000805160206109f083398151915283106102175760405162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c64604482015260640161009d565b6000805160206109f0833981519152821061027e5760405162461bcd60e51b815260206004820152602160248201527f5f72696768742073686f756c6420626520696e7369646520746865206669656c6044820152601960fa1b606482015260840161009d565b60405163f47d33b560e01b81526004810184905260006024820181905284916001600160a01b0387169063f47d33b5906044016040805180830381865afa1580156102cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f191906103d4565b90925090506000805160206109f083398151915284830860405163f47d33b560e01b815260048101829052602481018390529092506001600160a01b0387169063f47d33b5906044016040805180830381865afa158015610356573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061037a91906103d4565b509695505050505050565b6000806040838503121561039857600080fd5b825163ffffffff811681146103ac57600080fd5b60208401519092506001600160a01b03811681146103c957600080fd5b809150509250929050565b600080604083850312156103e757600080fd5b505080516020909101519092909150565b60805160a0516105d361041d60003960006101010152600061020f01526105d36000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063c2b40ae41161008c578063ec73295911610066578063ec732959146101e3578063ed33639f1461020a578063f178e47c14610249578063fc7e9c6f1461026957600080fd5b8063c2b40ae41461019b578063cd87a3b4146101bb578063e8295588146101c357600080fd5b8063414a37ba146100d45780634ecf518b146100fc5780636d9833e3146101385780638ea3099e1461015b57806390eeb02b1461016e578063ba70f7571461017e575b600080fd5b6100e960008051602061057e83398151915281565b6040519081526020015b60405180910390f35b6101237f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016100f3565b61014b6101463660046104d1565b610281565b60405190151581526020016100f3565b6100e96101693660046104ea565b6102ff565b6003546101239063ffffffff1681565b60035463ffffffff166000908152600260205260409020546100e9565b6100e96101a93660046104d1565b60026020526000908152604090205481565b610123601e81565b6100e96101d13660046104d1565b60016020526000908152604090205481565b6100e97f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c81565b6102317f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100f3565b6100e96102573660046104d1565b60006020819052908152604090205481565b60035461012390640100000000900463ffffffff1681565b600081810361029257506000919050565b60035463ffffffff16805b63ffffffff811660009081526002602052604090205484036102c3575060019392505050565b8063ffffffff166000036102d55750601e5b806102df8161052b565b9150508163ffffffff168163ffffffff160361029d575060009392505050565b600060008051602061057e83398151915283106103635760405162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c6460448201526064015b60405180910390fd5b60008051602061057e83398151915282106103ca5760405162461bcd60e51b815260206004820152602160248201527f5f72696768742073686f756c6420626520696e7369646520746865206669656c6044820152601960fa1b606482015260840161035a565b60405163f47d33b560e01b81526004810184905260006024820181905284916001600160a01b0387169063f47d33b5906044016040805180830381865afa158015610419573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061043d9190610559565b909250905060008051602061057e83398151915284830860405163f47d33b560e01b815260048101829052602481018390529092506001600160a01b0387169063f47d33b5906044016040805180830381865afa1580156104a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104c69190610559565b509695505050505050565b6000602082840312156104e357600080fd5b5035919050565b6000806000606084860312156104ff57600080fd5b83356001600160a01b038116811461051657600080fd5b95602085013595506040909401359392505050565b600063ffffffff82168061054f57634e487b7160e01b600052601160045260246000fd5b6000190192915050565b6000806040838503121561056c57600080fd5b50508051602090910151909290915056fe30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001a2646970667358221220073b750aae4dba8655a2e525b0e8b02446e762412e24ec1684e134ada3303bda64736f6c6343000819003330644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001"; +const isSuperArgs$S = (xs) => xs.length > 1; +class MerkleTreeWithHistory__factory extends ContractFactory { + constructor(...args) { + if (isSuperArgs$S(args)) { + super(...args); + } else { + super(_abi$1s, _bytecode$S, args[0]); + } + } + getDeployTransaction(_levels, _hasher, overrides) { + return super.getDeployTransaction(_levels, _hasher, overrides || {}); + } + deploy(_levels, _hasher, overrides) { + return super.deploy(_levels, _hasher, overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new Interface(_abi$1s); + } + static connect(address, runner) { + return new Contract( + address, + _abi$1s, + runner + ); + } +} +MerkleTreeWithHistory__factory.bytecode = _bytecode$S; +MerkleTreeWithHistory__factory.abi = _abi$1s; + +var index$G = /*#__PURE__*/Object.freeze({ + __proto__: null, + IHasher__factory: IHasher__factory, + MerkleTreeWithHistory__factory: MerkleTreeWithHistory__factory +}); + +const _abi$1r = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Transfer", + type: "event" + }, + { + inputs: [], + name: "_totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "who", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address" + }, + { + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "transfer", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; +class ERC20Basic__factory { + static createInterface() { + return new Interface(_abi$1r); + } + static connect(address, runner) { + return new Contract(address, _abi$1r, runner); + } +} +ERC20Basic__factory.abi = _abi$1r; + +const _abi$1q = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Approval", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Transfer", + type: "event" + }, + { + inputs: [], + name: "_totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "approve", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "who", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address" + }, + { + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "transfer", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address" + }, + { + internalType: "address", + name: "to", + type: "address" + }, + { + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "transferFrom", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; +class IUSDT__factory { + static createInterface() { + return new Interface(_abi$1q); + } + static connect(address, runner) { + return new Contract(address, _abi$1q, runner); + } +} +IUSDT__factory.abi = _abi$1q; + +var index$F = /*#__PURE__*/Object.freeze({ + __proto__: null, + ERC20Basic__factory: ERC20Basic__factory, + IUSDT__factory: IUSDT__factory +}); + +const _abi$1p = [ + { + stateMutability: "nonpayable", + type: "fallback" + } +]; +const _bytecode$R = "0x6080604052348015600f57600080fd5b50609c80601d6000396000f3fe6080604052348015600f57600080fd5b5060405162461bcd60e51b815260206004820152602160248201527f7468697320636f6e747261637420646f6573206e6f74206163636570742045546044820152600960fb1b606482015260840160405180910390fdfea264697066735822122034c2432feedadd0f30a6f66555381c20922b6ab7c9b3ede4c27896b23e802a8264736f6c63430008190033"; +const isSuperArgs$R = (xs) => xs.length > 1; +class BadRecipient__factory extends ContractFactory { + constructor(...args) { + if (isSuperArgs$R(args)) { + super(...args); + } else { + super(_abi$1p, _bytecode$R, args[0]); + } + } + getDeployTransaction(overrides) { + return super.getDeployTransaction(overrides || {}); + } + deploy(overrides) { + return super.deploy(overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new Interface(_abi$1p); + } + static connect(address, runner) { + return new Contract(address, _abi$1p, runner); + } +} +BadRecipient__factory.bytecode = _bytecode$R; +BadRecipient__factory.abi = _abi$1p; + +const _abi$1o = [ + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "allowance", + type: "uint256" + }, + { + internalType: "uint256", + name: "needed", + type: "uint256" + } + ], + name: "ERC20InsufficientAllowance", + type: "error" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "uint256", + name: "balance", + type: "uint256" + }, + { + internalType: "uint256", + name: "needed", + type: "uint256" + } + ], + name: "ERC20InsufficientBalance", + type: "error" + }, + { + inputs: [ + { + internalType: "address", + name: "approver", + type: "address" + } + ], + name: "ERC20InvalidApprover", + type: "error" + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address" + } + ], + name: "ERC20InvalidReceiver", + type: "error" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + } + ], + name: "ERC20InvalidSender", + type: "error" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "ERC20InvalidSpender", + type: "error" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Approval", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Transfer", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "mint", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address" + }, + { + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address" + }, + { + internalType: "address", + name: "to", + type: "address" + }, + { + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; +const _bytecode$Q = "0x608060405234801561001057600080fd5b50604051806040016040528060078152602001664441494d6f636b60c81b815250604051806040016040528060048152602001634441494d60e01b815250816003908161005d9190610113565b50600461006a8282610113565b5050506101d2565b634e487b7160e01b600052604160045260246000fd5b600181811c9082168061009c57607f821691505b6020821081036100bc57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561010e576000816000526020600020601f850160051c810160208610156100eb5750805b601f850160051c820191505b8181101561010a578281556001016100f7565b5050505b505050565b81516001600160401b0381111561012c5761012c610072565b6101408161013a8454610088565b846100c2565b602080601f831160018114610175576000841561015d5750858301515b600019600386901b1c1916600185901b17855561010a565b600085815260208120601f198616915b828110156101a457888601518255948401946001909101908401610185565b50858210156101c25787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610785806101e16000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c806340c10f191161006657806340c10f191461011857806370a082311461012d57806395d89b4114610156578063a9059cbb1461015e578063dd62ed3e1461017157600080fd5b806306fdde03146100a3578063095ea7b3146100c157806318160ddd146100e457806323b872dd146100f6578063313ce56714610109575b600080fd5b6100ab6101aa565b6040516100b891906105ce565b60405180910390f35b6100d46100cf366004610639565b61023c565b60405190151581526020016100b8565b6002545b6040519081526020016100b8565b6100d4610104366004610663565b610256565b604051601281526020016100b8565b61012b610126366004610639565b61027a565b005b6100e861013b36600461069f565b6001600160a01b031660009081526020819052604090205490565b6100ab610288565b6100d461016c366004610639565b610297565b6100e861017f3660046106c1565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6060600380546101b9906106f4565b80601f01602080910402602001604051908101604052809291908181526020018280546101e5906106f4565b80156102325780601f1061020757610100808354040283529160200191610232565b820191906000526020600020905b81548152906001019060200180831161021557829003601f168201915b5050505050905090565b60003361024a8185856102a5565b60019150505b92915050565b6000336102648582856102b7565b61026f85858561033a565b506001949350505050565b6102848282610399565b5050565b6060600480546101b9906106f4565b60003361024a81858561033a565b6102b283838360016103cf565b505050565b6001600160a01b038381166000908152600160209081526040808320938616835292905220546000198114610334578181101561032557604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064015b60405180910390fd5b610334848484840360006103cf565b50505050565b6001600160a01b03831661036457604051634b637e8f60e11b81526000600482015260240161031c565b6001600160a01b03821661038e5760405163ec442f0560e01b81526000600482015260240161031c565b6102b28383836104a4565b6001600160a01b0382166103c35760405163ec442f0560e01b81526000600482015260240161031c565b610284600083836104a4565b6001600160a01b0384166103f95760405163e602df0560e01b81526000600482015260240161031c565b6001600160a01b03831661042357604051634a1406b160e11b81526000600482015260240161031c565b6001600160a01b038085166000908152600160209081526040808320938716835292905220829055801561033457826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161049691815260200190565b60405180910390a350505050565b6001600160a01b0383166104cf5780600260008282546104c4919061072e565b909155506105419050565b6001600160a01b038316600090815260208190526040902054818110156105225760405163391434e360e21b81526001600160a01b0385166004820152602481018290526044810183905260640161031c565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b03821661055d5760028054829003905561057c565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516105c191815260200190565b60405180910390a3505050565b60006020808352835180602085015260005b818110156105fc578581018301518582016040015282016105e0565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461063457600080fd5b919050565b6000806040838503121561064c57600080fd5b6106558361061d565b946020939093013593505050565b60008060006060848603121561067857600080fd5b6106818461061d565b925061068f6020850161061d565b9150604084013590509250925092565b6000602082840312156106b157600080fd5b6106ba8261061d565b9392505050565b600080604083850312156106d457600080fd5b6106dd8361061d565b91506106eb6020840161061d565b90509250929050565b600181811c9082168061070857607f821691505b60208210810361072857634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561025057634e487b7160e01b600052601160045260246000fdfea264697066735822122058942fcc650d3670455590fabbf6c5726b3ae7df7b57e75bc02cb2c66259d45b64736f6c63430008190033"; +const isSuperArgs$Q = (xs) => xs.length > 1; +class ERC20Mock__factory extends ContractFactory { + constructor(...args) { + if (isSuperArgs$Q(args)) { + super(...args); + } else { + super(_abi$1o, _bytecode$Q, args[0]); + } + } + getDeployTransaction(overrides) { + return super.getDeployTransaction(overrides || {}); + } + deploy(overrides) { + return super.deploy(overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new Interface(_abi$1o); + } + static connect(address, runner) { + return new Contract(address, _abi$1o, runner); + } +} +ERC20Mock__factory.bytecode = _bytecode$Q; +ERC20Mock__factory.abi = _abi$1o; + +const _abi$1n = [ + { + inputs: [ + { + internalType: "bytes", + name: "_initCode", + type: "bytes" + }, + { + internalType: "bytes32", + name: "_salt", + type: "bytes32" + } + ], + name: "deploy", + outputs: [ + { + internalType: "address payable", + name: "createdContract", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; +let IDeployer__factory$1 = class IDeployer__factory { + static createInterface() { + return new Interface(_abi$1n); + } + static connect(address, runner) { + return new Contract(address, _abi$1n, runner); + } +}; +IDeployer__factory$1.abi = _abi$1n; + +const _abi$1m = [ + { + inputs: [ + { + internalType: "uint32", + name: "_treeLevels", + type: "uint32" + }, + { + internalType: "contract IHasher", + name: "_hasher", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + inputs: [], + name: "FIELD_SIZE", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "ROOT_HISTORY_SIZE", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "ZERO_VALUE", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "currentRootIndex", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + name: "filledSubtrees", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "getLastRoot", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract IHasher", + name: "_hasher", + type: "address" + }, + { + internalType: "bytes32", + name: "_left", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "_right", + type: "bytes32" + } + ], + name: "hashLeftRight", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "pure", + type: "function" + }, + { + inputs: [], + name: "hasher", + outputs: [ + { + internalType: "contract IHasher", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_leaf", + type: "bytes32" + } + ], + name: "insert", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_root", + type: "bytes32" + } + ], + name: "isKnownRoot", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "levels", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "nextIndex", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + name: "roots", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + name: "zeros", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "view", + type: "function" + } +]; +const _bytecode$P = "0x60c0604052600380546001600160401b031916905534801561002057600080fd5b50604051610e3c380380610e3c83398101604081905261003f91610389565b818160008263ffffffff16116100a85760405162461bcd60e51b815260206004820152602360248201527f5f6c6576656c732073686f756c642062652067726561746572207468616e207a60448201526265726f60e81b60648201526084015b60405180910390fd5b60208263ffffffff16106100fe5760405162461bcd60e51b815260206004820152601e60248201527f5f6c6576656c732073686f756c64206265206c657373207468616e2033320000604482015260640161009f565b63ffffffff821660a0526001600160a01b0381166080527f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c60005b8363ffffffff168163ffffffff1610156101865763ffffffff8116600090815260016020908152604080832085905590829052902082905561017c8383806101bc565b9150600101610139565b506000805260026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b55506103fc92505050565b6000600080516020610e1c833981519152831061021b5760405162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c64604482015260640161009f565b600080516020610e1c83398151915282106102825760405162461bcd60e51b815260206004820152602160248201527f5f72696768742073686f756c6420626520696e7369646520746865206669656c6044820152601960fa1b606482015260840161009f565b60405163f47d33b560e01b81526004810184905260006024820181905284916001600160a01b0387169063f47d33b5906044016040805180830381865afa1580156102d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f591906103d8565b9092509050600080516020610e1c83398151915284830860405163f47d33b560e01b815260048101829052602481018390529092506001600160a01b0387169063f47d33b5906044016040805180830381865afa15801561035a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061037e91906103d8565b509695505050505050565b6000806040838503121561039c57600080fd5b825163ffffffff811681146103b057600080fd5b60208401519092506001600160a01b03811681146103cd57600080fd5b809150509250929050565b600080604083850312156103eb57600080fd5b505080516020909101519092909150565b60805160a0516109e6610436600039600081816101310152818161052701526105c901526000818161023f015261066101526109e66000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063c2b40ae41161008c578063ec73295911610066578063ec73295914610213578063ed33639f1461023a578063f178e47c14610279578063fc7e9c6f1461029957600080fd5b8063c2b40ae4146101cb578063cd87a3b4146101eb578063e8295588146101f357600080fd5b80636d9833e3116100c85780636d9833e3146101685780638ea3099e1461018b57806390eeb02b1461019e578063ba70f757146101ae57600080fd5b80632d287e43146100ef578063414a37ba146101045780634ecf518b1461012c575b600080fd5b6101026100fd36600461072c565b6102b1565b005b61011960008051602061099183398151915281565b6040519081526020015b60405180910390f35b6101537f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff9091168152602001610123565b61017b61017636600461072c565b6102be565b6040519015158152602001610123565b610119610199366004610745565b61033c565b6003546101539063ffffffff1681565b60035463ffffffff16600090815260026020526040902054610119565b6101196101d936600461072c565b60026020526000908152604090205481565b610153601e81565b61011961020136600461072c565b60016020526000908152604090205481565b6101197f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c81565b6102617f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610123565b61011961028736600461072c565b60006020819052908152604090205481565b60035461015390640100000000900463ffffffff1681565b6102ba8161050e565b5050565b60008181036102cf57506000919050565b60035463ffffffff16805b63ffffffff81166000908152600260205260409020548403610300575060019392505050565b8063ffffffff166000036103125750601e5b8061031c8161079c565b9150508163ffffffff168163ffffffff16036102da575060009392505050565b600060008051602061099183398151915283106103a05760405162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c6460448201526064015b60405180910390fd5b60008051602061099183398151915282106104075760405162461bcd60e51b815260206004820152602160248201527f5f72696768742073686f756c6420626520696e7369646520746865206669656c6044820152601960fa1b6064820152608401610397565b60405163f47d33b560e01b81526004810184905260006024820181905284916001600160a01b0387169063f47d33b5906044016040805180830381865afa158015610456573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061047a91906107bc565b909250905060008051602061099183398151915284830860405163f47d33b560e01b815260048101829052602481018390529092506001600160a01b0387169063f47d33b5906044016040805180830381865afa1580156104df573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061050391906107bc565b509695505050505050565b600354600090640100000000900463ffffffff1661054d7f00000000000000000000000000000000000000000000000000000000000000006002610909565b63ffffffff168163ffffffff16036105c05760405162461bcd60e51b815260206004820152603060248201527f4d65726b6c6520747265652069732066756c6c2e204e6f206d6f7265206c656160448201526f1d995cc818d85b88189948185919195960821b6064820152608401610397565b8083600080805b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff168163ffffffff16101561069e57610606600286610926565b63ffffffff166000036106405763ffffffff811660009081526001602090815260408083205491839052909120859055849350915061065c565b63ffffffff811660009081526020819052604090205492508391505b6106877f0000000000000000000000000000000000000000000000000000000000000000848461033c565b9350610694600286610949565b94506001016105c7565b50600354600090601e906106b99063ffffffff16600161096c565b6106c39190610926565b6003805463ffffffff191663ffffffff8316908117909155600090815260026020526040902085905590506106f986600161096c565b6003805463ffffffff929092166401000000000267ffffffff000000001990921691909117905550939695505050505050565b60006020828403121561073e57600080fd5b5035919050565b60008060006060848603121561075a57600080fd5b83356001600160a01b038116811461077157600080fd5b95602085013595506040909401359392505050565b634e487b7160e01b600052601160045260246000fd5b600063ffffffff8216806107b2576107b2610786565b6000190192915050565b600080604083850312156107cf57600080fd5b505080516020909101519092909150565b634e487b7160e01b600052601260045260246000fd5b600181815b80851115610833578163ffffffff0482111561081957610819610786565b8085161561082657918102915b93841c93908002906107fb565b509250929050565b60008261084a57506001610903565b8161085757506000610903565b816001811461086d5760028114610877576108a8565b6001915050610903565b60ff84111561088857610888610786565b6001841b915063ffffffff8211156108a2576108a2610786565b50610903565b5060208310610133831016604e8410600b84101617156108df575081810a63ffffffff8111156108da576108da610786565b610903565b6108e983836107f6565b8063ffffffff048211156108ff576108ff610786565b0290505b92915050565b600063ffffffff61091e81851682851661083b565b949350505050565b600063ffffffff8084168061093d5761093d6107e0565b92169190910692915050565b600063ffffffff80841680610960576109606107e0565b92169190910492915050565b63ffffffff81811683821601908082111561098957610989610786565b509291505056fe30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001a26469706673582212202d7e980def4626c357f1bcdaac465eacf4317fbdecbf5d0a96b796c5d828cb7464736f6c6343000819003330644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001"; +const isSuperArgs$P = (xs) => xs.length > 1; +class MerkleTreeWithHistoryMock__factory extends ContractFactory { + constructor(...args) { + if (isSuperArgs$P(args)) { + super(...args); + } else { + super(_abi$1m, _bytecode$P, args[0]); + } + } + getDeployTransaction(_treeLevels, _hasher, overrides) { + return super.getDeployTransaction(_treeLevels, _hasher, overrides || {}); + } + deploy(_treeLevels, _hasher, overrides) { + return super.deploy(_treeLevels, _hasher, overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new Interface(_abi$1m); + } + static connect(address, runner) { + return new Contract( + address, + _abi$1m, + runner + ); + } +} +MerkleTreeWithHistoryMock__factory.bytecode = _bytecode$P; +MerkleTreeWithHistoryMock__factory.abi = _abi$1m; + +var index$E = /*#__PURE__*/Object.freeze({ + __proto__: null, + BadRecipient__factory: BadRecipient__factory, + ERC20Mock__factory: ERC20Mock__factory, + IDeployer__factory: IDeployer__factory$1, + MerkleTreeWithHistoryMock__factory: MerkleTreeWithHistoryMock__factory, + iusdtSol: index$F +}); + +const _abi$1l = [ + { + inputs: [ + { + internalType: "bytes", + name: "_proof", + type: "bytes" + }, + { + internalType: "uint256[6]", + name: "_input", + type: "uint256[6]" + } + ], + name: "verifyProof", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; +class IVerifier__factory { + static createInterface() { + return new Interface(_abi$1l); + } + static connect(address, runner) { + return new Contract(address, _abi$1l, runner); + } +} +IVerifier__factory.abi = _abi$1l; + +const _abi$1k = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "commitment", + type: "bytes32" + }, + { + indexed: false, + internalType: "uint32", + name: "leafIndex", + type: "uint32" + }, + { + indexed: false, + internalType: "uint256", + name: "timestamp", + type: "uint256" + } + ], + name: "Deposit", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "bytes32", + name: "nullifierHash", + type: "bytes32" + }, + { + indexed: true, + internalType: "address", + name: "relayer", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "fee", + type: "uint256" + } + ], + name: "Withdrawal", + type: "event" + }, + { + inputs: [], + name: "FIELD_SIZE", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "ROOT_HISTORY_SIZE", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "ZERO_VALUE", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + name: "commitments", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "currentRootIndex", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "denomination", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_commitment", + type: "bytes32" + } + ], + name: "deposit", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + name: "filledSubtrees", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "getLastRoot", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract IHasher", + name: "_hasher", + type: "address" + }, + { + internalType: "bytes32", + name: "_left", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "_right", + type: "bytes32" + } + ], + name: "hashLeftRight", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "pure", + type: "function" + }, + { + inputs: [], + name: "hasher", + outputs: [ + { + internalType: "contract IHasher", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_root", + type: "bytes32" + } + ], + name: "isKnownRoot", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_nullifierHash", + type: "bytes32" + } + ], + name: "isSpent", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32[]", + name: "_nullifierHashes", + type: "bytes32[]" + } + ], + name: "isSpentArray", + outputs: [ + { + internalType: "bool[]", + name: "spent", + type: "bool[]" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "levels", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "nextIndex", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + name: "nullifierHashes", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + name: "roots", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "verifier", + outputs: [ + { + internalType: "contract IVerifier", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes", + name: "_proof", + type: "bytes" + }, + { + internalType: "bytes32", + name: "_root", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "_nullifierHash", + type: "bytes32" + }, + { + internalType: "address payable", + name: "_recipient", + type: "address" + }, + { + internalType: "address payable", + name: "_relayer", + type: "address" + }, + { + internalType: "uint256", + name: "_fee", + type: "uint256" + }, + { + internalType: "uint256", + name: "_refund", + type: "uint256" + } + ], + name: "withdraw", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + name: "zeros", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "view", + type: "function" + } +]; +class Tornado__factory { + static createInterface() { + return new Interface(_abi$1k); + } + static connect(address, runner) { + return new Contract(address, _abi$1k, runner); + } +} +Tornado__factory.abi = _abi$1k; + +var index$D = /*#__PURE__*/Object.freeze({ + __proto__: null, + IVerifier__factory: IVerifier__factory, + Tornado__factory: Tornado__factory +}); + +const _abi$1j = [ + { + inputs: [], + name: "denomination", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "commitment", + type: "bytes32" + } + ], + name: "deposit", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [], + name: "token", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes", + name: "proof", + type: "bytes" + }, + { + internalType: "bytes32", + name: "root", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "nullifierHash", + type: "bytes32" + }, + { + internalType: "address payable", + name: "recipient", + type: "address" + }, + { + internalType: "address payable", + name: "relayer", + type: "address" + }, + { + internalType: "uint256", + name: "fee", + type: "uint256" + }, + { + internalType: "uint256", + name: "refund", + type: "uint256" + } + ], + name: "withdraw", + outputs: [], + stateMutability: "payable", + type: "function" + } +]; +let ITornadoInstance__factory$1 = class ITornadoInstance__factory { + static createInterface() { + return new Interface(_abi$1j); + } + static connect(address, runner) { + return new Contract(address, _abi$1j, runner); + } +}; +ITornadoInstance__factory$1.abi = _abi$1j; + +const _abi$1i = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address" + }, + { + indexed: false, + internalType: "bytes", + name: "encryptedNote", + type: "bytes" + } + ], + name: "EncryptedNote", + type: "event" + }, + { + inputs: [ + { + internalType: "bytes[]", + name: "_encryptedNotes", + type: "bytes[]" + } + ], + name: "backupNotes", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "contract ITornadoInstance", + name: "_tornado", + type: "address" + }, + { + internalType: "bytes32", + name: "_commitment", + type: "bytes32" + }, + { + internalType: "bytes", + name: "_encryptedNote", + type: "bytes" + } + ], + name: "deposit", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [ + { + internalType: "contract ITornadoInstance", + name: "_tornado", + type: "address" + }, + { + internalType: "bytes", + name: "_proof", + type: "bytes" + }, + { + internalType: "bytes32", + name: "_root", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "_nullifierHash", + type: "bytes32" + }, + { + internalType: "address payable", + name: "_recipient", + type: "address" + }, + { + internalType: "address payable", + name: "_relayer", + type: "address" + }, + { + internalType: "uint256", + name: "_fee", + type: "uint256" + }, + { + internalType: "uint256", + name: "_refund", + type: "uint256" + } + ], + name: "withdraw", + outputs: [], + stateMutability: "payable", + type: "function" + } +]; +const _bytecode$O = "0x608060405234801561001057600080fd5b506104f6806100206000396000f3fe6080604052600436106100345760003560e01c806313d98d13146100395780636485ba2a1461004e578063b438689f1461006e575b600080fd5b61004c6100473660046102c7565b610081565b005b34801561005a57600080fd5b5061004c610069366004610258565b61012a565b61004c61007c366004610321565b610198565b60405163b214faa560e01b81526001600160a01b0385169063b214faa59034906100af9087906004016103ec565b6000604051808303818588803b1580156100c857600080fd5b505af11580156100dc573d6000803e3d6000fd5b5050505050336001600160a01b03167ffa28df43db3553771f7209dcef046f3bdfea15870ab625dcda30ac58b82b4008838360405161011c9291906103f5565b60405180910390a250505050565b60005b8181101561019357337ffa28df43db3553771f7209dcef046f3bdfea15870ab625dcda30ac58b82b400884848481811061016357fe5b90506020028101906101759190610463565b6040516101839291906103f5565b60405180910390a260010161012d565b505050565b6040516310d056db60e11b81526001600160a01b038a16906321a0adb69034906101d4908c908c908c908c908c908c908c908c90600401610411565b6000604051808303818588803b1580156101ed57600080fd5b505af1158015610201573d6000803e3d6000fd5b5050505050505050505050505050565b60008083601f840112610222578182fd5b50813567ffffffffffffffff811115610239578182fd5b60208301915083602082850101111561025157600080fd5b9250929050565b6000806020838503121561026a578182fd5b823567ffffffffffffffff80821115610281578384fd5b818501915085601f830112610294578384fd5b8135818111156102a2578485fd5b86602080830285010111156102b5578485fd5b60209290920196919550909350505050565b600080600080606085870312156102dc578182fd5b84356102e7816104a8565b935060208501359250604085013567ffffffffffffffff811115610309578283fd5b61031587828801610211565b95989497509550505050565b60008060008060008060008060006101008a8c03121561033f578485fd5b893561034a816104a8565b985060208a013567ffffffffffffffff811115610365578586fd5b6103718c828d01610211565b90995097505060408a0135955060608a0135945060808a0135610393816104a8565b935060a08a01356103a3816104a8565b8093505060c08a0135915060e08a013590509295985092959850929598565b60008284528282602086013780602084860101526020601f19601f85011685010190509392505050565b90815260200190565b6000602082526104096020830184866103c2565b949350505050565b600060e0825261042560e083018a8c6103c2565b60208301989098525060408101959095526001600160a01b03938416606086015291909216608084015260a083019190915260c09091015292915050565b6000808335601e19843603018112610479578283fd5b83018035915067ffffffffffffffff821115610493578283fd5b60200191503681900382131561025157600080fd5b6001600160a01b03811681146104bd57600080fd5b5056fea26469706673582212209e714d6385e2c86cc03186c5204b41573676ba810258f1b09d9b7e267ca73d2f64736f6c634300060c0033"; +const isSuperArgs$O = (xs) => xs.length > 1; +class TornadoProxyLight__factory extends ContractFactory { + constructor(...args) { + if (isSuperArgs$O(args)) { + super(...args); + } else { + super(_abi$1i, _bytecode$O, args[0]); + } + } + getDeployTransaction(overrides) { + return super.getDeployTransaction(overrides || {}); + } + deploy(overrides) { + return super.deploy(overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new Interface(_abi$1i); + } + static connect(address, runner) { + return new Contract(address, _abi$1i, runner); + } +} +TornadoProxyLight__factory.bytecode = _bytecode$O; +TornadoProxyLight__factory.abi = _abi$1i; + +var index$C = /*#__PURE__*/Object.freeze({ + __proto__: null, + ITornadoInstance__factory: ITornadoInstance__factory$1, + TornadoProxyLight__factory: TornadoProxyLight__factory +}); + +const _abi$1h = [ + { + inputs: [], + name: "DOMAIN_SEPARATOR", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + } + ], + name: "nonces", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "value", + type: "uint256" + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256" + }, + { + internalType: "uint8", + name: "v", + type: "uint8" + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32" + } + ], + name: "permit", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; +class IERC20__factory { + static createInterface() { + return new Interface(_abi$1h); + } + static connect(address, runner) { + return new Contract(address, _abi$1h, runner); + } +} +IERC20__factory.abi = _abi$1h; + +var index$B = /*#__PURE__*/Object.freeze({ + __proto__: null, + IERC20__factory: IERC20__factory +}); + +const _abi$1g = [ + { + inputs: [ + { + internalType: "contract IVerifier", + name: "_verifier", + type: "address" + }, + { + internalType: "contract IHasher", + name: "_hasher", + type: "address" + }, + { + internalType: "uint256", + name: "_denomination", + type: "uint256" + }, + { + internalType: "uint32", + name: "_merkleTreeHeight", + type: "uint32" + }, + { + internalType: "contract IERC20", + name: "_token", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "commitment", + type: "bytes32" + }, + { + indexed: false, + internalType: "uint32", + name: "leafIndex", + type: "uint32" + }, + { + indexed: false, + internalType: "uint256", + name: "timestamp", + type: "uint256" + } + ], + name: "Deposit", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "bytes32", + name: "nullifierHash", + type: "bytes32" + }, + { + indexed: true, + internalType: "address", + name: "relayer", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "fee", + type: "uint256" + } + ], + name: "Withdrawal", + type: "event" + }, + { + inputs: [], + name: "FIELD_SIZE", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "ROOT_HISTORY_SIZE", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "ZERO_VALUE", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + name: "commitments", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "currentRootIndex", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "denomination", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_commitment", + type: "bytes32" + } + ], + name: "deposit", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + name: "filledSubtrees", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "getLastRoot", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract IHasher", + name: "_hasher", + type: "address" + }, + { + internalType: "bytes32", + name: "_left", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "_right", + type: "bytes32" + } + ], + name: "hashLeftRight", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "pure", + type: "function" + }, + { + inputs: [], + name: "hasher", + outputs: [ + { + internalType: "contract IHasher", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_root", + type: "bytes32" + } + ], + name: "isKnownRoot", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_nullifierHash", + type: "bytes32" + } + ], + name: "isSpent", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32[]", + name: "_nullifierHashes", + type: "bytes32[]" + } + ], + name: "isSpentArray", + outputs: [ + { + internalType: "bool[]", + name: "spent", + type: "bool[]" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "levels", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "nextIndex", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + name: "nullifierHashes", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + name: "roots", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "token", + outputs: [ + { + internalType: "contract IERC20", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "verifier", + outputs: [ + { + internalType: "contract IVerifier", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes", + name: "_proof", + type: "bytes" + }, + { + internalType: "bytes32", + name: "_root", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "_nullifierHash", + type: "bytes32" + }, + { + internalType: "address payable", + name: "_recipient", + type: "address" + }, + { + internalType: "address payable", + name: "_relayer", + type: "address" + }, + { + internalType: "uint256", + name: "_fee", + type: "uint256" + }, + { + internalType: "uint256", + name: "_refund", + type: "uint256" + } + ], + name: "withdraw", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + name: "zeros", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "view", + type: "function" + } +]; +const _bytecode$N = "0x610120604052600380546001600160401b031916905534801561002157600080fd5b50604051611db8380380611db883398101604081905261004091610420565b84848484808360008263ffffffff16116100ad5760405162461bcd60e51b815260206004820152602360248201527f5f6c6576656c732073686f756c642062652067726561746572207468616e207a60448201526265726f60e81b60648201526084015b60405180910390fd5b60208263ffffffff16106101035760405162461bcd60e51b815260206004820152601e60248201527f5f6c6576656c732073686f756c64206265206c657373207468616e203332000060448201526064016100a4565b63ffffffff821660a0526001600160a01b0381166080527f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c60005b8363ffffffff168163ffffffff16101561018b5763ffffffff8116600090815260016020908152604080832085905590829052902082905561018183838061023b565b915060010161013e565b506000805260026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5550506001600455816102195760405162461bcd60e51b815260206004820152602560248201527f64656e6f6d696e6174696f6e2073686f756c6420626520677265617465722074604482015264068616e20360dc1b60648201526084016100a4565b506001600160a01b0392831660c05260e052501661010052506104b892505050565b6000600080516020611d98833981519152831061029a5760405162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c6460448201526064016100a4565b600080516020611d9883398151915282106103015760405162461bcd60e51b815260206004820152602160248201527f5f72696768742073686f756c6420626520696e7369646520746865206669656c6044820152601960fa1b60648201526084016100a4565b60405163f47d33b560e01b81526004810184905260006024820181905284916001600160a01b0387169063f47d33b5906044016040805180830381865afa158015610350573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103749190610494565b9092509050600080516020611d9883398151915284830860405163f47d33b560e01b815260048101829052602481018390529092506001600160a01b0387169063f47d33b5906044016040805180830381865afa1580156103d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103fd9190610494565b509695505050505050565b6001600160a01b038116811461041d57600080fd5b50565b600080600080600060a0868803121561043857600080fd5b855161044381610408565b602087015190955061045481610408565b60408701516060880151919550935063ffffffff8116811461047557600080fd5b608087015190925061048681610408565b809150509295509295909350565b600080604083850312156104a757600080fd5b505080516020909101519092909150565b60805160a05160c05160e05161010051611856610542600039600081816104ca01528181610cfa01528181610d34015261108e0152600081816102bb0152818161056f01528181610ccc01526110b20152600081816101a601526106d801526000818161022201528181610e150152610eb70152600081816104690152610f4f01526118566000f3fe6080604052600436106101355760003560e01c8063b214faa5116100ab578063e82955881161006f578063e8295588146103f6578063ec73295914610423578063ed33639f14610457578063f178e47c1461048b578063fc0c546a146104b8578063fc7e9c6f146104ec57600080fd5b8063b214faa514610347578063ba70f7571461035a578063c2b40ae414610384578063cd87a3b4146103b1578063e5285dcc146103c657600080fd5b80636d9833e3116100fd5780636d9833e314610259578063839df945146102795780638bca6d16146102a95780638ea3099e146102dd57806390eeb02b146102fd5780639fa12d0b1461031a57600080fd5b806317cc915c1461013a57806321a0adb61461017f5780632b7ac3f314610194578063414a37ba146101e05780634ecf518b14610210575b600080fd5b34801561014657600080fd5b5061016a61015536600461131d565b60056020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b61019261018d36600461135e565b610511565b005b3480156101a057600080fd5b506101c87f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610176565b3480156101ec57600080fd5b5061020260008051602061180183398151915281565b604051908152602001610176565b34801561021c57600080fd5b506102447f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff9091168152602001610176565b34801561026557600080fd5b5061016a61027436600461131d565b61081c565b34801561028557600080fd5b5061016a61029436600461131d565b60066020526000908152604090205460ff1681565b3480156102b557600080fd5b506102027f000000000000000000000000000000000000000000000000000000000000000081565b3480156102e957600080fd5b506102026102f8366004611414565b61089a565b34801561030957600080fd5b506003546102449063ffffffff1681565b34801561032657600080fd5b5061033a610335366004611449565b610a67565b60405161017691906114be565b61019261035536600461131d565b610b23565b34801561036657600080fd5b5060035463ffffffff16600090815260026020526040902054610202565b34801561039057600080fd5b5061020261039f36600461131d565b60026020526000908152604090205481565b3480156103bd57600080fd5b50610244601e81565b3480156103d257600080fd5b5061016a6103e136600461131d565b60009081526005602052604090205460ff1690565b34801561040257600080fd5b5061020261041136600461131d565b60016020526000908152604090205481565b34801561042f57600080fd5b506102027f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c81565b34801561046357600080fd5b506101c87f000000000000000000000000000000000000000000000000000000000000000081565b34801561049757600080fd5b506102026104a636600461131d565b60006020819052908152604090205481565b3480156104c457600080fd5b506101c87f000000000000000000000000000000000000000000000000000000000000000081565b3480156104f857600080fd5b5060035461024490640100000000900463ffffffff1681565b6002600454036105685760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b60026004557f00000000000000000000000000000000000000000000000000000000000000008211156105dd5760405162461bcd60e51b815260206004820152601a60248201527f4665652065786365656473207472616e736665722076616c7565000000000000604482015260640161055f565b60008581526005602052604090205460ff161561063c5760405162461bcd60e51b815260206004820152601f60248201527f546865206e6f746520686173206265656e20616c7265616479207370656e7400604482015260640161055f565b6106458661081c565b6106915760405162461bcd60e51b815260206004820152601c60248201527f43616e6e6f742066696e6420796f7572206d65726b6c6520726f6f7400000000604482015260640161055f565b6040805160c081018252878152602081018790526001600160a01b038681168284015285811660608301526080820185905260a08201849052915163695ef6f960e01b81527f00000000000000000000000000000000000000000000000000000000000000009092169163695ef6f991610711918c918c91600401611504565b6020604051808303816000875af1158015610730573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107549190611562565b6107995760405162461bcd60e51b815260206004820152601660248201527524b73b30b634b2103bb4ba34323930bb90383937b7b360511b604482015260640161055f565b6000858152600560205260409020805460ff191660011790556107be84848484610c5a565b604080516001600160a01b03868116825260208201889052918101849052908416907fe9e508bad6d4c3227e881ca19068f099da81b5164dd6d62b2eaf1e8bc6c349319060600160405180910390a250506001600455505050505050565b600081810361082d57506000919050565b60035463ffffffff16805b63ffffffff8116600090815260026020526040902054840361085e575060019392505050565b8063ffffffff166000036108705750601e5b8061087a816115a1565b9150508163ffffffff168163ffffffff1603610838575060009392505050565b600060008051602061180183398151915283106108f95760405162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c64604482015260640161055f565b60008051602061180183398151915282106109605760405162461bcd60e51b815260206004820152602160248201527f5f72696768742073686f756c6420626520696e7369646520746865206669656c6044820152601960fa1b606482015260840161055f565b60405163f47d33b560e01b81526004810184905260006024820181905284916001600160a01b0387169063f47d33b5906044016040805180830381865afa1580156109af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d391906115c1565b909250905060008051602061180183398151915284830860405163f47d33b560e01b815260048101829052602481018390529092506001600160a01b0387169063f47d33b5906044016040805180830381865afa158015610a38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a5c91906115c1565b509695505050505050565b60608167ffffffffffffffff811115610a8257610a826115fb565b604051908082528060200260200182016040528015610aab578160200160208202803683370190505b50905060005b82811015610b1c57610aea848483818110610ace57610ace611611565b9050602002013560009081526005602052604090205460ff1690565b15610b14576001828281518110610b0357610b03611611565b911515602092830291909101909101525b600101610ab1565b5092915050565b600260045403610b755760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161055f565b600260045560008181526006602052604090205460ff1615610be35760405162461bcd60e51b815260206004820152602160248201527f54686520636f6d6d69746d656e7420686173206265656e207375626d697474656044820152601960fa1b606482015260840161055f565b6000610bee82610dfc565b6000838152600660205260409020805460ff191660011790559050610c1161101a565b6040805163ffffffff8316815242602082015283917fa945e51eec50ab98c161376f0db4cf2aeba3ec92755fe2fcd388bdbbb80ff196910160405180910390a250506001600455565b803414610cc25760405162461bcd60e51b815260206004820152603060248201527f496e636f727265637420726566756e6420616d6f756e7420726563656976656460448201526f08189e481d1a194818dbdb9d1c9858dd60821b606482015260840161055f565b610d2184610cf0847f0000000000000000000000000000000000000000000000000000000000000000611627565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691906110d8565b8115610d5b57610d5b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001684846110d8565b8015610df6576000846001600160a01b03168260405160006040518083038185875af1925050503d8060008114610dae576040519150601f19603f3d011682016040523d82523d6000602084013e610db3565b606091505b5050905080610df4576040516001600160a01b0385169083156108fc029084906000818181858888f19350505050158015610df2573d6000803e3d6000fd5b505b505b50505050565b600354600090640100000000900463ffffffff16610e3b7f00000000000000000000000000000000000000000000000000000000000000006002611751565b63ffffffff168163ffffffff1603610eae5760405162461bcd60e51b815260206004820152603060248201527f4d65726b6c6520747265652069732066756c6c2e204e6f206d6f7265206c656160448201526f1d995cc818d85b88189948185919195960821b606482015260840161055f565b8083600080805b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff168163ffffffff161015610f8c57610ef460028661176e565b63ffffffff16600003610f2e5763ffffffff8116600090815260016020908152604080832054918390529091208590558493509150610f4a565b63ffffffff811660009081526020819052604090205492508391505b610f757f0000000000000000000000000000000000000000000000000000000000000000848461089a565b9350610f82600286611791565b9450600101610eb5565b50600354600090601e90610fa79063ffffffff1660016117b4565b610fb1919061176e565b6003805463ffffffff191663ffffffff831690811790915560009081526002602052604090208590559050610fe78660016117b4565b6003805463ffffffff929092166401000000000267ffffffff000000001990921691909117905550939695505050505050565b34156110815760405162461bcd60e51b815260206004820152603060248201527f4554482076616c756520697320737570706f73656420746f206265203020666f60448201526f7220455243323020696e7374616e636560801b606482015260840161055f565b6110d66001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633307f00000000000000000000000000000000000000000000000000000000000000006111f1565b565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b179052915160009283929087169161113491906117d1565b6000604051808303816000865af19150503d8060008114611171576040519150601f19603f3d011682016040523d82523d6000602084013e611176565b606091505b50915091508161118857805181602001fd5b805115806111a55750808060200190518101906111a59190611562565b610df45760405162461bcd60e51b815260206004820152601e60248201527f5361666545524332303a20736166655472616e73666572206661696c65640000604482015260640161055f565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b179052915160009283929088169161125591906117d1565b6000604051808303816000865af19150503d8060008114611292576040519150601f19603f3d011682016040523d82523d6000602084013e611297565b606091505b5091509150816112a957805181602001fd5b805115806112c65750808060200190518101906112c69190611562565b610df25760405162461bcd60e51b815260206004820152602260248201527f5361666545524332303a20736166655472616e7366657246726f6d206661696c604482015261195960f21b606482015260840161055f565b60006020828403121561132f57600080fd5b5035919050565b6001600160a01b038116811461134b57600080fd5b50565b803561135981611336565b919050565b60008060008060008060008060e0898b03121561137a57600080fd5b883567ffffffffffffffff8082111561139257600080fd5b818b0191508b601f8301126113a657600080fd5b8135818111156113b557600080fd5b8c60208285010111156113c757600080fd5b60209283019a509850508901359550604089013594506113e960608a0161134e565b93506113f760808a0161134e565b925060a0890135915060c089013590509295985092959890939650565b60008060006060848603121561142957600080fd5b833561143481611336565b95602085013595506040909401359392505050565b6000806020838503121561145c57600080fd5b823567ffffffffffffffff8082111561147457600080fd5b818501915085601f83011261148857600080fd5b81358181111561149757600080fd5b8660208260051b85010111156114ac57600080fd5b60209290920196919550909350505050565b6020808252825182820181905260009190848201906040850190845b818110156114f85783511515835292840192918401916001016114da565b50909695505050505050565b60e081528260e08201526000610100848682850137600081868501015280601f19601f87011684010191505060208083018460005b600681101561155657815183529183019190830190600101611539565b50505050949350505050565b60006020828403121561157457600080fd5b8151801515811461158457600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b600063ffffffff8216806115b7576115b761158b565b6000190192915050565b600080604083850312156115d457600080fd5b505080516020909101519092909150565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b8181038181111561163a5761163a61158b565b92915050565b600181815b8085111561167d578163ffffffff048211156116635761166361158b565b8085161561167057918102915b93841c9390800290611645565b509250929050565b6000826116945750600161163a565b816116a15750600061163a565b81600181146116b757600281146116c1576116f2565b600191505061163a565b60ff8411156116d2576116d261158b565b6001841b915063ffffffff8211156116ec576116ec61158b565b5061163a565b5060208310610133831016604e8410600b8410161715611729575081810a63ffffffff8111156117245761172461158b565b61163a565b6117338383611640565b8063ffffffff048211156117495761174961158b565b029392505050565b600063ffffffff611766818516828516611685565b949350505050565b600063ffffffff80841680611785576117856115e5565b92169190910692915050565b600063ffffffff808416806117a8576117a86115e5565b92169190910492915050565b63ffffffff818116838216019080821115610b1c57610b1c61158b565b6000825160005b818110156117f257602081860181015185830152016117d8565b50600092019182525091905056fe30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001a264697066735822122090d9706fb3f8afcde53068158f22289b2796e92f9b67b63271c1f6de497a540f64736f6c6343000819003330644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001"; +const isSuperArgs$N = (xs) => xs.length > 1; +class ERC20Tornado__factory extends ContractFactory { + constructor(...args) { + if (isSuperArgs$N(args)) { + super(...args); + } else { + super(_abi$1g, _bytecode$N, args[0]); + } + } + getDeployTransaction(_verifier, _hasher, _denomination, _merkleTreeHeight, _token, overrides) { + return super.getDeployTransaction( + _verifier, + _hasher, + _denomination, + _merkleTreeHeight, + _token, + overrides || {} + ); + } + deploy(_verifier, _hasher, _denomination, _merkleTreeHeight, _token, overrides) { + return super.deploy( + _verifier, + _hasher, + _denomination, + _merkleTreeHeight, + _token, + overrides || {} + ); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new Interface(_abi$1g); + } + static connect(address, runner) { + return new Contract(address, _abi$1g, runner); + } +} +ERC20Tornado__factory.bytecode = _bytecode$N; +ERC20Tornado__factory.abi = _abi$1g; + +const _abi$1f = [ + { + inputs: [ + { + internalType: "contract IVerifier", + name: "_verifier", + type: "address" + }, + { + internalType: "contract IHasher", + name: "_hasher", + type: "address" + }, + { + internalType: "uint256", + name: "_denomination", + type: "uint256" + }, + { + internalType: "uint32", + name: "_merkleTreeHeight", + type: "uint32" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "commitment", + type: "bytes32" + }, + { + indexed: false, + internalType: "uint32", + name: "leafIndex", + type: "uint32" + }, + { + indexed: false, + internalType: "uint256", + name: "timestamp", + type: "uint256" + } + ], + name: "Deposit", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "bytes32", + name: "nullifierHash", + type: "bytes32" + }, + { + indexed: true, + internalType: "address", + name: "relayer", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "fee", + type: "uint256" + } + ], + name: "Withdrawal", + type: "event" + }, + { + inputs: [], + name: "FIELD_SIZE", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "ROOT_HISTORY_SIZE", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "ZERO_VALUE", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + name: "commitments", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "currentRootIndex", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "denomination", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_commitment", + type: "bytes32" + } + ], + name: "deposit", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + name: "filledSubtrees", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "getLastRoot", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract IHasher", + name: "_hasher", + type: "address" + }, + { + internalType: "bytes32", + name: "_left", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "_right", + type: "bytes32" + } + ], + name: "hashLeftRight", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "pure", + type: "function" + }, + { + inputs: [], + name: "hasher", + outputs: [ + { + internalType: "contract IHasher", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_root", + type: "bytes32" + } + ], + name: "isKnownRoot", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_nullifierHash", + type: "bytes32" + } + ], + name: "isSpent", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32[]", + name: "_nullifierHashes", + type: "bytes32[]" + } + ], + name: "isSpentArray", + outputs: [ + { + internalType: "bool[]", + name: "spent", + type: "bool[]" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "levels", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "nextIndex", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + name: "nullifierHashes", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + name: "roots", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "verifier", + outputs: [ + { + internalType: "contract IVerifier", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes", + name: "_proof", + type: "bytes" + }, + { + internalType: "bytes32", + name: "_root", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "_nullifierHash", + type: "bytes32" + }, + { + internalType: "address payable", + name: "_recipient", + type: "address" + }, + { + internalType: "address payable", + name: "_relayer", + type: "address" + }, + { + internalType: "uint256", + name: "_fee", + type: "uint256" + }, + { + internalType: "uint256", + name: "_refund", + type: "uint256" + } + ], + name: "withdraw", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + name: "zeros", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "view", + type: "function" + } +]; +const _bytecode$M = "0x610100604052600380546001600160401b031916905534801561002157600080fd5b50604051611b68380380611b688339810160408190526100409161041b565b83838383808360008263ffffffff16116100ad5760405162461bcd60e51b815260206004820152602360248201527f5f6c6576656c732073686f756c642062652067726561746572207468616e207a60448201526265726f60e81b60648201526084015b60405180910390fd5b60208263ffffffff16106101035760405162461bcd60e51b815260206004820152601e60248201527f5f6c6576656c732073686f756c64206265206c657373207468616e203332000060448201526064016100a4565b63ffffffff821660a0526001600160a01b0381166080527f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c60005b8363ffffffff168163ffffffff16101561018b5763ffffffff81166000908152600160209081526040808320859055908290529020829055610181838380610236565b915060010161013e565b506000805260026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5550506001600455816102195760405162461bcd60e51b815260206004820152602560248201527f64656e6f6d696e6174696f6e2073686f756c6420626520677265617465722074604482015264068616e20360dc1b60648201526084016100a4565b506001600160a01b0390921660c0525060e0525061049d92505050565b6000600080516020611b4883398151915283106102955760405162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c6460448201526064016100a4565b600080516020611b4883398151915282106102fc5760405162461bcd60e51b815260206004820152602160248201527f5f72696768742073686f756c6420626520696e7369646520746865206669656c6044820152601960fa1b60648201526084016100a4565b60405163f47d33b560e01b81526004810184905260006024820181905284916001600160a01b0387169063f47d33b5906044016040805180830381865afa15801561034b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061036f9190610479565b9092509050600080516020611b4883398151915284830860405163f47d33b560e01b815260048101829052602481018390529092506001600160a01b0387169063f47d33b5906044016040805180830381865afa1580156103d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103f89190610479565b509695505050505050565b6001600160a01b038116811461041857600080fd5b50565b6000806000806080858703121561043157600080fd5b845161043c81610403565b602086015190945061044d81610403565b60408601516060870151919450925063ffffffff8116811461046e57600080fd5b939692955090935050565b6000806040838503121561048c57600080fd5b505080516020909101519092909150565b60805160a05160c05160e051611641610507600039600081816102b00152818161053001528181610d0401526110a201526000818161019b015261069901526000818161021701528181610e9b0152610f3d01526000818161045e0152610fd501526116416000f3fe60806040526004361061012a5760003560e01c80639fa12d0b116100ab578063e5285dcc1161006f578063e5285dcc146103bb578063e8295588146103eb578063ec73295914610418578063ed33639f1461044c578063f178e47c14610480578063fc7e9c6f146104ad57600080fd5b80639fa12d0b1461030f578063b214faa51461033c578063ba70f7571461034f578063c2b40ae414610379578063cd87a3b4146103a657600080fd5b80636d9833e3116100f25780636d9833e31461024e578063839df9451461026e5780638bca6d161461029e5780638ea3099e146102d257806390eeb02b146102f257600080fd5b806317cc915c1461012f57806321a0adb6146101745780632b7ac3f314610189578063414a37ba146101d55780634ecf518b14610205575b600080fd5b34801561013b57600080fd5b5061015f61014a366004611137565b60056020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b610187610182366004611178565b6104d2565b005b34801561019557600080fd5b506101bd7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161016b565b3480156101e157600080fd5b506101f76000805160206115ec83398151915281565b60405190815260200161016b565b34801561021157600080fd5b506102397f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff909116815260200161016b565b34801561025a57600080fd5b5061015f610269366004611137565b6107dd565b34801561027a57600080fd5b5061015f610289366004611137565b60066020526000908152604090205460ff1681565b3480156102aa57600080fd5b506101f77f000000000000000000000000000000000000000000000000000000000000000081565b3480156102de57600080fd5b506101f76102ed36600461122e565b61085b565b3480156102fe57600080fd5b506003546102399063ffffffff1681565b34801561031b57600080fd5b5061032f61032a366004611263565b610a28565b60405161016b91906112d8565b61018761034a366004611137565b610ae4565b34801561035b57600080fd5b5060035463ffffffff166000908152600260205260409020546101f7565b34801561038557600080fd5b506101f7610394366004611137565b60026020526000908152604090205481565b3480156103b257600080fd5b50610239601e81565b3480156103c757600080fd5b5061015f6103d6366004611137565b60009081526005602052604090205460ff1690565b3480156103f757600080fd5b506101f7610406366004611137565b60016020526000908152604090205481565b34801561042457600080fd5b506101f77f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c81565b34801561045857600080fd5b506101bd7f000000000000000000000000000000000000000000000000000000000000000081565b34801561048c57600080fd5b506101f761049b366004611137565b60006020819052908152604090205481565b3480156104b957600080fd5b5060035461023990640100000000900463ffffffff1681565b6002600454036105295760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b60026004557f000000000000000000000000000000000000000000000000000000000000000082111561059e5760405162461bcd60e51b815260206004820152601a60248201527f4665652065786365656473207472616e736665722076616c75650000000000006044820152606401610520565b60008581526005602052604090205460ff16156105fd5760405162461bcd60e51b815260206004820152601f60248201527f546865206e6f746520686173206265656e20616c7265616479207370656e74006044820152606401610520565b610606866107dd565b6106525760405162461bcd60e51b815260206004820152601c60248201527f43616e6e6f742066696e6420796f7572206d65726b6c6520726f6f74000000006044820152606401610520565b6040805160c081018252878152602081018790526001600160a01b038681168284015285811660608301526080820185905260a08201849052915163695ef6f960e01b81527f00000000000000000000000000000000000000000000000000000000000000009092169163695ef6f9916106d2918c918c9160040161131e565b6020604051808303816000875af11580156106f1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610715919061137c565b61075a5760405162461bcd60e51b815260206004820152601660248201527524b73b30b634b2103bb4ba34323930bb90383937b7b360511b6044820152606401610520565b6000858152600560205260409020805460ff1916600117905561077f84848484610c1b565b604080516001600160a01b03868116825260208201889052918101849052908416907fe9e508bad6d4c3227e881ca19068f099da81b5164dd6d62b2eaf1e8bc6c349319060600160405180910390a250506001600455505050505050565b60008181036107ee57506000919050565b60035463ffffffff16805b63ffffffff8116600090815260026020526040902054840361081f575060019392505050565b8063ffffffff166000036108315750601e5b8061083b816113bb565b9150508163ffffffff168163ffffffff16036107f9575060009392505050565b60006000805160206115ec83398151915283106108ba5760405162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c646044820152606401610520565b6000805160206115ec83398151915282106109215760405162461bcd60e51b815260206004820152602160248201527f5f72696768742073686f756c6420626520696e7369646520746865206669656c6044820152601960fa1b6064820152608401610520565b60405163f47d33b560e01b81526004810184905260006024820181905284916001600160a01b0387169063f47d33b5906044016040805180830381865afa158015610970573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099491906113db565b90925090506000805160206115ec83398151915284830860405163f47d33b560e01b815260048101829052602481018390529092506001600160a01b0387169063f47d33b5906044016040805180830381865afa1580156109f9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1d91906113db565b509695505050505050565b60608167ffffffffffffffff811115610a4357610a43611415565b604051908082528060200260200182016040528015610a6c578160200160208202803683370190505b50905060005b82811015610add57610aab848483818110610a8f57610a8f61142b565b9050602002013560009081526005602052604090205460ff1690565b15610ad5576001828281518110610ac457610ac461142b565b911515602092830291909101909101525b600101610a72565b5092915050565b600260045403610b365760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610520565b600260045560008181526006602052604090205460ff1615610ba45760405162461bcd60e51b815260206004820152602160248201527f54686520636f6d6d69746d656e7420686173206265656e207375626d697474656044820152601960fa1b6064820152608401610520565b6000610baf82610e82565b6000838152600660205260409020805460ff191660011790559050610bd26110a0565b6040805163ffffffff8316815242602082015283917fa945e51eec50ab98c161376f0db4cf2aeba3ec92755fe2fcd388bdbbb80ff196910160405180910390a250506001600455565b3415610c875760405162461bcd60e51b815260206004820152603560248201527f4d6573736167652076616c756520697320737570706f73656420746f206265206044820152747a65726f20666f722045544820696e7374616e636560581b6064820152608401610520565b8015610cf25760405162461bcd60e51b815260206004820152603460248201527f526566756e642076616c756520697320737570706f73656420746f206265207a60448201527365726f20666f722045544820696e7374616e636560601b6064820152608401610520565b60006001600160a01b038516610d28847f0000000000000000000000000000000000000000000000000000000000000000611441565b604051600081818185875af1925050503d8060008114610d64576040519150601f19603f3d011682016040523d82523d6000602084013e610d69565b606091505b5050905080610dc85760405162461bcd60e51b815260206004820152602560248201527f7061796d656e7420746f205f726563697069656e7420646964206e6f7420676f604482015264207468727560d81b6064820152608401610520565b8215610e7b576040516001600160a01b038516908490600081818185875af1925050503d8060008114610e17576040519150601f19603f3d011682016040523d82523d6000602084013e610e1c565b606091505b50508091505080610e7b5760405162461bcd60e51b815260206004820152602360248201527f7061796d656e7420746f205f72656c6179657220646964206e6f7420676f207460448201526268727560e81b6064820152608401610520565b5050505050565b600354600090640100000000900463ffffffff16610ec17f0000000000000000000000000000000000000000000000000000000000000000600261156b565b63ffffffff168163ffffffff1603610f345760405162461bcd60e51b815260206004820152603060248201527f4d65726b6c6520747265652069732066756c6c2e204e6f206d6f7265206c656160448201526f1d995cc818d85b88189948185919195960821b6064820152608401610520565b8083600080805b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff168163ffffffff16101561101257610f7a600286611588565b63ffffffff16600003610fb45763ffffffff8116600090815260016020908152604080832054918390529091208590558493509150610fd0565b63ffffffff811660009081526020819052604090205492508391505b610ffb7f0000000000000000000000000000000000000000000000000000000000000000848461085b565b93506110086002866115ab565b9450600101610f3b565b50600354600090601e9061102d9063ffffffff1660016115ce565b6110379190611588565b6003805463ffffffff191663ffffffff83169081179091556000908152600260205260409020859055905061106d8660016115ce565b6003805463ffffffff929092166401000000000267ffffffff000000001990921691909117905550939695505050505050565b7f000000000000000000000000000000000000000000000000000000000000000034146111355760405162461bcd60e51b815260206004820152603860248201527f506c656173652073656e6420606d697844656e6f6d696e6174696f6e6020455460448201527f4820616c6f6e672077697468207472616e73616374696f6e00000000000000006064820152608401610520565b565b60006020828403121561114957600080fd5b5035919050565b6001600160a01b038116811461116557600080fd5b50565b803561117381611150565b919050565b60008060008060008060008060e0898b03121561119457600080fd5b883567ffffffffffffffff808211156111ac57600080fd5b818b0191508b601f8301126111c057600080fd5b8135818111156111cf57600080fd5b8c60208285010111156111e157600080fd5b60209283019a5098505089013595506040890135945061120360608a01611168565b935061121160808a01611168565b925060a0890135915060c089013590509295985092959890939650565b60008060006060848603121561124357600080fd5b833561124e81611150565b95602085013595506040909401359392505050565b6000806020838503121561127657600080fd5b823567ffffffffffffffff8082111561128e57600080fd5b818501915085601f8301126112a257600080fd5b8135818111156112b157600080fd5b8660208260051b85010111156112c657600080fd5b60209290920196919550909350505050565b6020808252825182820181905260009190848201906040850190845b818110156113125783511515835292840192918401916001016112f4565b50909695505050505050565b60e081528260e08201526000610100848682850137600081868501015280601f19601f87011684010191505060208083018460005b600681101561137057815183529183019190830190600101611353565b50505050949350505050565b60006020828403121561138e57600080fd5b8151801515811461139e57600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b600063ffffffff8216806113d1576113d16113a5565b6000190192915050565b600080604083850312156113ee57600080fd5b505080516020909101519092909150565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b81810381811115611454576114546113a5565b92915050565b600181815b80851115611497578163ffffffff0482111561147d5761147d6113a5565b8085161561148a57918102915b93841c939080029061145f565b509250929050565b6000826114ae57506001611454565b816114bb57506000611454565b81600181146114d157600281146114db5761150c565b6001915050611454565b60ff8411156114ec576114ec6113a5565b6001841b915063ffffffff821115611506576115066113a5565b50611454565b5060208310610133831016604e8410600b8410161715611543575081810a63ffffffff81111561153e5761153e6113a5565b611454565b61154d838361145a565b8063ffffffff04821115611563576115636113a5565b029392505050565b600063ffffffff61158081851682851661149f565b949350505050565b600063ffffffff8084168061159f5761159f6113ff565b92169190910692915050565b600063ffffffff808416806115c2576115c26113ff565b92169190910492915050565b63ffffffff818116838216019080821115610add57610add6113a556fe30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001a2646970667358221220267f40202364f981d5a2318bca43d1a8beff64b8785905fc2621de01f8449b3964736f6c6343000819003330644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001"; +const isSuperArgs$M = (xs) => xs.length > 1; +class ETHTornado__factory extends ContractFactory { + constructor(...args) { + if (isSuperArgs$M(args)) { + super(...args); + } else { + super(_abi$1f, _bytecode$M, args[0]); + } + } + getDeployTransaction(_verifier, _hasher, _denomination, _merkleTreeHeight, overrides) { + return super.getDeployTransaction( + _verifier, + _hasher, + _denomination, + _merkleTreeHeight, + overrides || {} + ); + } + deploy(_verifier, _hasher, _denomination, _merkleTreeHeight, overrides) { + return super.deploy( + _verifier, + _hasher, + _denomination, + _merkleTreeHeight, + overrides || {} + ); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new Interface(_abi$1f); + } + static connect(address, runner) { + return new Contract(address, _abi$1f, runner); + } +} +ETHTornado__factory.bytecode = _bytecode$M; +ETHTornado__factory.abi = _abi$1f; + +const _abi$1e = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "who", + type: "address" + }, + { + indexed: false, + internalType: "bytes", + name: "data", + type: "bytes" + } + ], + name: "Echo", + type: "event" + }, + { + inputs: [ + { + internalType: "bytes", + name: "_data", + type: "bytes" + } + ], + name: "echo", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; +const _bytecode$L = "0x6080604052348015600f57600080fd5b506101638061001f6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063624fbfdc14610030575b600080fd5b61004361003e36600461008c565b610045565b005b336001600160a01b03167f50d6f3fc915efd1695d8a4cb50da185984f50d256834b9cb308295eb3c872c9c83836040516100809291906100fe565b60405180910390a25050565b6000806020838503121561009f57600080fd5b823567ffffffffffffffff808211156100b757600080fd5b818501915085601f8301126100cb57600080fd5b8135818111156100da57600080fd5b8660208285010111156100ec57600080fd5b60209290920196919550909350505050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f1916010191905056fea2646970667358221220cadc2288aafcfeb373ae536503c025419ca51a0b1642ad003ff215a6bff8658464736f6c63430008190033"; +const isSuperArgs$L = (xs) => xs.length > 1; +class Echoer__factory extends ContractFactory { + constructor(...args) { + if (isSuperArgs$L(args)) { + super(...args); + } else { + super(_abi$1e, _bytecode$L, args[0]); + } + } + getDeployTransaction(overrides) { + return super.getDeployTransaction(overrides || {}); + } + deploy(overrides) { + return super.deploy(overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new Interface(_abi$1e); + } + static connect(address, runner) { + return new Contract(address, _abi$1e, runner); + } +} +Echoer__factory.bytecode = _bytecode$L; +Echoer__factory.abi = _abi$1e; + +const _abi$1d = [ + { + inputs: [ + { + internalType: "bytes", + name: "proof", + type: "bytes" + }, + { + internalType: "uint256[6]", + name: "input", + type: "uint256[6]" + } + ], + name: "verifyProof", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + } +]; +const _bytecode$K = "0x6080604052348015600f57600080fd5b506110d08061001f6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063695ef6f914610030575b600080fd5b61004361003e366004610eca565b610057565b604051901515815260200160405180910390f35b6000808380602001905181019061006e9190610f71565b905060005b60088160ff161015610129577f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47828260ff16600881106100b5576100b5610ff0565b6020020151106101175760405162461bcd60e51b815260206004820152602260248201527f76657269666965722d70726f6f662d656c656d656e742d6774652d7072696d656044820152612d7160f01b60648201526084015b60405180910390fd5b806101218161101c565b915050610073565b50610132610ca2565b6040805180820182528351815260208085015181830152908352815160808082018452858401518285019081526060808801519084015282528351808501855290860151815260a08601518184015281830152838201528151808301835260c0850151815260e0850151918101919091529082015260006101b1610321565b90506000604051806040016040528060008152602001600081525090506101f38183608001516000600781106101e9576101e9610ff0565b60200201516107ec565b905060005b60068110156102df577f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000187826006811061023457610234610ff0565b6020020151106102865760405162461bcd60e51b815260206004820152601f60248201527f76657269666965722d6774652d736e61726b2d7363616c61722d6669656c6400604482015260640161010e565b6102d5826102d0856080015184600161029f919061103b565b600781106102af576102af610ff0565b60200201518a85600681106102c6576102c6610ff0565b602002015161088d565b6107ec565b91506001016101f8565b506103146102f0846000015161091b565b846020015184600001518560200151858760400151896040015189606001516109d5565b9450505050505b92915050565b610329610cf3565b6040805180820182527f2dbfc3ec62a3eee5a3b4b464bcf1f8527bbca12adea0f1f12033cd4f61b0e09181527f19e55bd0b72c126da18665039556776642ff82e2f347f24fcea2475f4db087df6020808301919091529083528151608080820184527f1ae724ab134e5a7c6bd8a116fa5505b259522c0f164a5e8126e3ec7d34465f6e8285019081527e9f1bcdc853f8e3531756bb625b0d1dc014f4ab57c3f79f4f4e2e7ef7e0ead6606080850191909152908352845180860186527f23a8ca5760457e726365b92fd0ceb486665797cd68c35dcffd8e4ae8066691e981527f13ec7182c9fd68331a10f8be0fe885d730de5c7f89aa7d0b7bafaa009bbc9e3e818601528385015285840192909252835180820185527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c28186019081527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed828501528152845180860186527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b81527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa818601528185015285850152835180820185527f2f0c63d0c53b3dfbca27b6b43ae7fbf55a38d78a21470996485b03128accc2088186019081527e556502356e37ed150db2e36531b0f275fd6835c0fc1945922e270b48c48a86828501528152845180860186527f02644c27b5dbd793592a70b735e22c798a5e309fa17a992a7dc2a050e01b298f81527f194776b6a53439d7336f389d2a8f6651e40885f5ca2538b0dc9cb534fb23f7fa818601528185015282860152835180850185527f23df1bc9165e9c1c9b2bc036d8ebdd10e7aeae7e5e8019fde68aec7c818bb23e81527f0b6c92080d37c5fb2ddf30892a33665e5478432ef3f71ac8768ecbbe62c7789281850152818601805191909152845180860186527f1c7b2adf45e046caea000956b2ecb2d8617e710d2a7bb201a95ea276f92307b481527f2b15f07536f45948cf4abe6596637d902ffabb18c8c2f5c151544c294ce4a672818601528151850152845180860186527f1cecfe92882a8c835a47bf01bfa655cf628cbba7f81cf4042179fd13edcd6a3981527f0154bfbb2cb786ca247d4b69183d1751f267bbc7656be8d0f0e7a5a47e2c1101818601528151860152845180860186527f1584616a7423efcc72f69ea84fa0b2bc01433677297f4e8351bebfc15bcd0cda81527f0623755b1488526daa9fecf0e11b110dd6df12c461579d792e1db65af523c8be81860152815190930192909252835180850185527f12fbb5bfca9d61357ba2d641604cf4852e21ef54faa180fe539c18994dc1da5a81527f2f09dd9972a1af5f7bcfccf3d7ab600c9d898ea6d6933150ba0ae228ece17e5f81850152825190910152825180840184527f0adb513796fdf2103022c64151ce05f7c7a6d9200e8d819fa59e654fc4bfe83c81527f2d64f72ef4eddf9ca032058ed2bf691758387e913a77cf99d6a3cfb37c8ba7ee81840152815160a0015282518084019093527f21e7c9bffda74bfd2c4393b6803d775545de6fa89145f4a23476241d9881b66183527f0bbe41e52237ac13eb7b01f3cb999b7394d08734e71b1c3ada62713e17eb560c918301919091525160c0015290565b6040805180820190915260008082526020820152610808610d44565b8351815260208085015181830152835160408301528301516060808301919091526000908360c08460066107d05a03fa9050808061084257fe5b50806108855760405162461bcd60e51b81526020600482015260126024820152711c185a5c9a5b99cb5859190b59985a5b195960721b604482015260640161010e565b505092915050565b60408051808201909152600080825260208201526108a9610d62565b835181526020808501519082015260408101839052600060608360808460076107d05a03fa905080806108d857fe5b50806108855760405162461bcd60e51b81526020600482015260126024820152711c185a5c9a5b99cb5b5d5b0b59985a5b195960721b604482015260640161010e565b6040805180820190915260008082526020820152815115801561094057506020820151155b1561095e575050604080518082019091526000808252602082015290565b6040518060400160405280836000015181526020017f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4784602001516109a3919061104e565b6109cd907f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47611070565b905292915050565b60408051608080820183528a825260208083018a90528284018890526060808401879052845192830185528b83528282018a9052828501889052820185905283516018808252610320820190955260009491859190839082016103008036833701905050905060005b6004811015610c1f576000610a54826006611083565b9050858260048110610a6857610a68610ff0565b60200201515183610a7a83600061103b565b81518110610a8a57610a8a610ff0565b602002602001018181525050858260048110610aa857610aa8610ff0565b60200201516020015183826001610abf919061103b565b81518110610acf57610acf610ff0565b602002602001018181525050848260048110610aed57610aed610ff0565b6020020151515183610b0083600261103b565b81518110610b1057610b10610ff0565b602002602001018181525050848260048110610b2e57610b2e610ff0565b6020020151516001602002015183610b4783600361103b565b81518110610b5757610b57610ff0565b602002602001018181525050848260048110610b7557610b75610ff0565b602002015160200151600060028110610b9057610b90610ff0565b602002015183610ba183600461103b565b81518110610bb157610bb1610ff0565b602002602001018181525050848260048110610bcf57610bcf610ff0565b602002015160200151600160028110610bea57610bea610ff0565b602002015183610bfb83600561103b565b81518110610c0b57610c0b610ff0565b602090810291909101015250600101610a3e565b50610c28610d80565b6000602082602086026020860160086107d05a03fa90508080610c4757fe5b5080610c8d5760405162461bcd60e51b81526020600482015260156024820152741c185a5c9a5b99cb5bdc18dbd9194b59985a5b1959605a1b604482015260640161010e565b505115159d9c50505050505050505050505050565b6040805160a081019091526000606082018181526080830191909152815260208101610ccc610d9e565b8152602001610cee604051806040016040528060008152602001600081525090565b905290565b6040805160e08101909152600060a0820181815260c0830191909152815260208101610d1d610d9e565b8152602001610d2a610d9e565b8152602001610d37610d9e565b8152602001610cee610dbe565b60405180608001604052806004906020820280368337509192915050565b60405180606001604052806003906020820280368337509192915050565b60405180602001604052806001906020820280368337509192915050565b6040518060400160405280610db1610df7565b8152602001610cee610df7565b6040518060e001604052806007905b6040805180820190915260008082526020820152815260200190600190039081610dcd5790505090565b60405180604001604052806002906020820280368337509192915050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610e5457610e54610e15565b604052919050565b600082601f830112610e6d57600080fd5b60405160c0810181811067ffffffffffffffff82111715610e9057610e90610e15565b6040528060c0840185811115610ea557600080fd5b845b81811015610ebf578035835260209283019201610ea7565b509195945050505050565b60008060e08385031215610edd57600080fd5b823567ffffffffffffffff80821115610ef557600080fd5b818501915085601f830112610f0957600080fd5b8135602082821115610f1d57610f1d610e15565b610f2f601f8301601f19168201610e2b565b92508183528781838601011115610f4557600080fd5b81818501828501376000818385010152829550610f6488828901610e5c565b9450505050509250929050565b6000610100808385031215610f8557600080fd5b83601f840112610f9457600080fd5b60405181810181811067ffffffffffffffff82111715610fb657610fb6610e15565b604052908301908085831115610fcb57600080fd5b845b83811015610fe5578051825260209182019101610fcd565b509095945050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff810361103257611032611006565b60010192915050565b8082018082111561031b5761031b611006565b60008261106b57634e487b7160e01b600052601260045260246000fd5b500690565b8181038181111561031b5761031b611006565b808202811582820484141761031b5761031b61100656fea2646970667358221220563d0fbee4e0552a525beba0066d9fa4a4a5e087a3b9c480756c9e2adf284bce64736f6c63430008190033"; +const isSuperArgs$K = (xs) => xs.length > 1; +class Verifier__factory extends ContractFactory { + constructor(...args) { + if (isSuperArgs$K(args)) { + super(...args); + } else { + super(_abi$1d, _bytecode$K, args[0]); + } + } + getDeployTransaction(overrides) { + return super.getDeployTransaction(overrides || {}); + } + deploy(overrides) { + return super.deploy(overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new Interface(_abi$1d); + } + static connect(address, runner) { + return new Contract(address, _abi$1d, runner); + } +} +Verifier__factory.bytecode = _bytecode$K; +Verifier__factory.abi = _abi$1d; + +const _abi$1c = [ + { + inputs: [ + { + internalType: "address", + name: "_governance", + type: "address" + }, + { + internalType: "contract IERC20", + name: "_comp", + type: "address" + }, + { + internalType: "contract IVerifier", + name: "_verifier", + type: "address" + }, + { + internalType: "contract IHasher", + name: "_hasher", + type: "address" + }, + { + internalType: "uint256", + name: "_denomination", + type: "uint256" + }, + { + internalType: "uint32", + name: "_merkleTreeHeight", + type: "uint32" + }, + { + internalType: "contract IERC20", + name: "_token", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "commitment", + type: "bytes32" + }, + { + indexed: false, + internalType: "uint32", + name: "leafIndex", + type: "uint32" + }, + { + indexed: false, + internalType: "uint256", + name: "timestamp", + type: "uint256" + } + ], + name: "Deposit", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "bytes32", + name: "nullifierHash", + type: "bytes32" + }, + { + indexed: true, + internalType: "address", + name: "relayer", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "fee", + type: "uint256" + } + ], + name: "Withdrawal", + type: "event" + }, + { + inputs: [], + name: "FIELD_SIZE", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "ROOT_HISTORY_SIZE", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "ZERO_VALUE", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "claimComp", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + name: "commitments", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "comp", + outputs: [ + { + internalType: "contract IERC20", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "currentRootIndex", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "denomination", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_commitment", + type: "bytes32" + } + ], + name: "deposit", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + name: "filledSubtrees", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "getLastRoot", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "governance", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract IHasher", + name: "_hasher", + type: "address" + }, + { + internalType: "bytes32", + name: "_left", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "_right", + type: "bytes32" + } + ], + name: "hashLeftRight", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "pure", + type: "function" + }, + { + inputs: [], + name: "hasher", + outputs: [ + { + internalType: "contract IHasher", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_root", + type: "bytes32" + } + ], + name: "isKnownRoot", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_nullifierHash", + type: "bytes32" + } + ], + name: "isSpent", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32[]", + name: "_nullifierHashes", + type: "bytes32[]" + } + ], + name: "isSpentArray", + outputs: [ + { + internalType: "bool[]", + name: "spent", + type: "bool[]" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "levels", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "nextIndex", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + name: "nullifierHashes", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + name: "roots", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "token", + outputs: [ + { + internalType: "contract IERC20", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "verifier", + outputs: [ + { + internalType: "contract IVerifier", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes", + name: "_proof", + type: "bytes" + }, + { + internalType: "bytes32", + name: "_root", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "_nullifierHash", + type: "bytes32" + }, + { + internalType: "address payable", + name: "_recipient", + type: "address" + }, + { + internalType: "address payable", + name: "_relayer", + type: "address" + }, + { + internalType: "uint256", + name: "_fee", + type: "uint256" + }, + { + internalType: "uint256", + name: "_refund", + type: "uint256" + } + ], + name: "withdraw", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + name: "zeros", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "view", + type: "function" + } +]; +const _bytecode$J = "0x610160604052600380546001600160401b031916905534801561002157600080fd5b5060405161205a38038061205a8339810160408190526100409161048f565b848484848484848484808360008263ffffffff16116100b25760405162461bcd60e51b815260206004820152602360248201527f5f6c6576656c732073686f756c642062652067726561746572207468616e207a60448201526265726f60e81b60648201526084015b60405180910390fd5b60208263ffffffff16106101085760405162461bcd60e51b815260206004820152601e60248201527f5f6c6576656c732073686f756c64206265206c657373207468616e203332000060448201526064016100a9565b63ffffffff821660a0526001600160a01b0381166080527f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c60005b8363ffffffff168163ffffffff1610156101905763ffffffff811660009081526001602090815260408083208590559082905290208290556101868383806102aa565b9150600101610143565b506000805260026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b55505060016004558161021e5760405162461bcd60e51b815260206004820152602560248201527f64656e6f6d696e6174696f6e2073686f756c6420626520677265617465722074604482015264068616e20360dc1b60648201526084016100a9565b506001600160a01b0392831660c05260e05250908116610100528a16935061028c925050505760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420434f4d5020746f6b656e206164647265737300000000000060448201526064016100a9565b5050506001600160a01b03938416610120525050166101405261054e565b600060008051602061203a83398151915283106103095760405162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c6460448201526064016100a9565b60008051602061203a83398151915282106103705760405162461bcd60e51b815260206004820152602160248201527f5f72696768742073686f756c6420626520696e7369646520746865206669656c6044820152601960fa1b60648201526084016100a9565b60405163f47d33b560e01b81526004810184905260006024820181905284916001600160a01b0387169063f47d33b5906044016040805180830381865afa1580156103bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103e3919061052a565b909250905060008051602061203a83398151915284830860405163f47d33b560e01b815260048101829052602481018390529092506001600160a01b0387169063f47d33b5906044016040805180830381865afa158015610448573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061046c919061052a565b509695505050505050565b6001600160a01b038116811461048c57600080fd5b50565b600080600080600080600060e0888a0312156104aa57600080fd5b87516104b581610477565b60208901519097506104c681610477565b60408901519096506104d781610477565b60608901519095506104e881610477565b608089015160a08a0151919550935063ffffffff8116811461050957600080fd5b60c089015190925061051a81610477565b8091505092959891949750929550565b6000806040838503121561053d57600080fd5b505080516020909101519092909150565b60805160a05160c05160e051610100516101205161014051611a3e6105fc6000396000818161017d01526105d40152600081816102e5015261060501526000818161057801528181610ecc01528181610f0601526112600152600081816103690152818161074101528181610e9e015261128401526000818161023801526108aa01526000818161029c01528181610fe7015261108901526000818161051701526111210152611a3e6000f3fe6080604052600436106101665760003560e01c806390eeb02b116100d1578063e5285dcc1161008a578063ed33639f11610064578063ed33639f14610505578063f178e47c14610539578063fc0c546a14610566578063fc7e9c6f1461059a57600080fd5b8063e5285dcc14610474578063e8295588146104a4578063ec732959146104d157600080fd5b806390eeb02b146103ab5780639fa12d0b146103c8578063b214faa5146103f5578063ba70f75714610408578063c2b40ae414610432578063cd87a3b41461045f57600080fd5b80634ecf518b116101235780634ecf518b1461028a5780635aa6e675146102d35780636d9833e314610307578063839df945146103275780638bca6d16146103575780638ea3099e1461038b57600080fd5b8063109d0af81461016b57806317cc915c146101bc5780631bd85bdb146101fc57806321a0adb6146102135780632b7ac3f314610226578063414a37ba1461025a575b600080fd5b34801561017757600080fd5b5061019f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156101c857600080fd5b506101ec6101d73660046114ef565b60056020526000908152604090205460ff1681565b60405190151581526020016101b3565b34801561020857600080fd5b506102116105bf565b005b61021161022136600461152d565b6106e3565b34801561023257600080fd5b5061019f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561026657600080fd5b5061027c6000805160206119e983398151915281565b6040519081526020016101b3565b34801561029657600080fd5b506102be7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016101b3565b3480156102df57600080fd5b5061019f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561031357600080fd5b506101ec6103223660046114ef565b6109ee565b34801561033357600080fd5b506101ec6103423660046114ef565b60066020526000908152604090205460ff1681565b34801561036357600080fd5b5061027c7f000000000000000000000000000000000000000000000000000000000000000081565b34801561039757600080fd5b5061027c6103a63660046115e3565b610a6c565b3480156103b757600080fd5b506003546102be9063ffffffff1681565b3480156103d457600080fd5b506103e86103e3366004611618565b610c39565b6040516101b3919061168d565b6102116104033660046114ef565b610cf5565b34801561041457600080fd5b5060035463ffffffff1660009081526002602052604090205461027c565b34801561043e57600080fd5b5061027c61044d3660046114ef565b60026020526000908152604090205481565b34801561046b57600080fd5b506102be601e81565b34801561048057600080fd5b506101ec61048f3660046114ef565b60009081526005602052604090205460ff1690565b3480156104b057600080fd5b5061027c6104bf3660046114ef565b60016020526000908152604090205481565b3480156104dd57600080fd5b5061027c7f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c81565b34801561051157600080fd5b5061019f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561054557600080fd5b5061027c6105543660046114ef565b60006020819052908152604090205481565b34801561057257600080fd5b5061019f7f000000000000000000000000000000000000000000000000000000000000000081565b3480156105a657600080fd5b506003546102be90640100000000900463ffffffff1681565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a9059cbb907f00000000000000000000000000000000000000000000000000000000000000009083906370a0823190602401602060405180830381865afa15801561064d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061067191906116d3565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156106bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e091906116ec565b50565b60026004540361073a5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b60026004557f00000000000000000000000000000000000000000000000000000000000000008211156107af5760405162461bcd60e51b815260206004820152601a60248201527f4665652065786365656473207472616e736665722076616c75650000000000006044820152606401610731565b60008581526005602052604090205460ff161561080e5760405162461bcd60e51b815260206004820152601f60248201527f546865206e6f746520686173206265656e20616c7265616479207370656e74006044820152606401610731565b610817866109ee565b6108635760405162461bcd60e51b815260206004820152601c60248201527f43616e6e6f742066696e6420796f7572206d65726b6c6520726f6f74000000006044820152606401610731565b6040805160c081018252878152602081018790526001600160a01b038681168284015285811660608301526080820185905260a08201849052915163695ef6f960e01b81527f00000000000000000000000000000000000000000000000000000000000000009092169163695ef6f9916108e3918c918c91600401611715565b6020604051808303816000875af1158015610902573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092691906116ec565b61096b5760405162461bcd60e51b815260206004820152601660248201527524b73b30b634b2103bb4ba34323930bb90383937b7b360511b6044820152606401610731565b6000858152600560205260409020805460ff1916600117905561099084848484610e2c565b604080516001600160a01b03868116825260208201889052918101849052908416907fe9e508bad6d4c3227e881ca19068f099da81b5164dd6d62b2eaf1e8bc6c349319060600160405180910390a250506001600455505050505050565b60008181036109ff57506000919050565b60035463ffffffff16805b63ffffffff81166000908152600260205260409020548403610a30575060019392505050565b8063ffffffff16600003610a425750601e5b80610a4c81611789565b9150508163ffffffff168163ffffffff1603610a0a575060009392505050565b60006000805160206119e98339815191528310610acb5760405162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c646044820152606401610731565b6000805160206119e98339815191528210610b325760405162461bcd60e51b815260206004820152602160248201527f5f72696768742073686f756c6420626520696e7369646520746865206669656c6044820152601960fa1b6064820152608401610731565b60405163f47d33b560e01b81526004810184905260006024820181905284916001600160a01b0387169063f47d33b5906044016040805180830381865afa158015610b81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ba591906117a9565b90925090506000805160206119e983398151915284830860405163f47d33b560e01b815260048101829052602481018390529092506001600160a01b0387169063f47d33b5906044016040805180830381865afa158015610c0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c2e91906117a9565b509695505050505050565b60608167ffffffffffffffff811115610c5457610c546117e3565b604051908082528060200260200182016040528015610c7d578160200160208202803683370190505b50905060005b82811015610cee57610cbc848483818110610ca057610ca06117f9565b9050602002013560009081526005602052604090205460ff1690565b15610ce6576001828281518110610cd557610cd56117f9565b911515602092830291909101909101525b600101610c83565b5092915050565b600260045403610d475760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610731565b600260045560008181526006602052604090205460ff1615610db55760405162461bcd60e51b815260206004820152602160248201527f54686520636f6d6d69746d656e7420686173206265656e207375626d697474656044820152601960fa1b6064820152608401610731565b6000610dc082610fce565b6000838152600660205260409020805460ff191660011790559050610de36111ec565b6040805163ffffffff8316815242602082015283917fa945e51eec50ab98c161376f0db4cf2aeba3ec92755fe2fcd388bdbbb80ff196910160405180910390a250506001600455565b803414610e945760405162461bcd60e51b815260206004820152603060248201527f496e636f727265637420726566756e6420616d6f756e7420726563656976656460448201526f08189e481d1a194818dbdb9d1c9858dd60821b6064820152608401610731565b610ef384610ec2847f000000000000000000000000000000000000000000000000000000000000000061180f565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691906112aa565b8115610f2d57610f2d6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001684846112aa565b8015610fc8576000846001600160a01b03168260405160006040518083038185875af1925050503d8060008114610f80576040519150601f19603f3d011682016040523d82523d6000602084013e610f85565b606091505b5050905080610fc6576040516001600160a01b0385169083156108fc029084906000818181858888f19350505050158015610fc4573d6000803e3d6000fd5b505b505b50505050565b600354600090640100000000900463ffffffff1661100d7f00000000000000000000000000000000000000000000000000000000000000006002611939565b63ffffffff168163ffffffff16036110805760405162461bcd60e51b815260206004820152603060248201527f4d65726b6c6520747265652069732066756c6c2e204e6f206d6f7265206c656160448201526f1d995cc818d85b88189948185919195960821b6064820152608401610731565b8083600080805b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff168163ffffffff16101561115e576110c6600286611956565b63ffffffff166000036111005763ffffffff811660009081526001602090815260408083205491839052909120859055849350915061111c565b63ffffffff811660009081526020819052604090205492508391505b6111477f00000000000000000000000000000000000000000000000000000000000000008484610a6c565b9350611154600286611979565b9450600101611087565b50600354600090601e906111799063ffffffff16600161199c565b6111839190611956565b6003805463ffffffff191663ffffffff8316908117909155600090815260026020526040902085905590506111b986600161199c565b6003805463ffffffff929092166401000000000267ffffffff000000001990921691909117905550939695505050505050565b34156112535760405162461bcd60e51b815260206004820152603060248201527f4554482076616c756520697320737570706f73656420746f206265203020666f60448201526f7220455243323020696e7374616e636560801b6064820152608401610731565b6112a86001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633307f00000000000000000000000000000000000000000000000000000000000000006113c3565b565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b179052915160009283929087169161130691906119b9565b6000604051808303816000865af19150503d8060008114611343576040519150601f19603f3d011682016040523d82523d6000602084013e611348565b606091505b50915091508161135a57805181602001fd5b8051158061137757508080602001905181019061137791906116ec565b610fc65760405162461bcd60e51b815260206004820152601e60248201527f5361666545524332303a20736166655472616e73666572206661696c656400006044820152606401610731565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b179052915160009283929088169161142791906119b9565b6000604051808303816000865af19150503d8060008114611464576040519150601f19603f3d011682016040523d82523d6000602084013e611469565b606091505b50915091508161147b57805181602001fd5b8051158061149857508080602001905181019061149891906116ec565b610fc45760405162461bcd60e51b815260206004820152602260248201527f5361666545524332303a20736166655472616e7366657246726f6d206661696c604482015261195960f21b6064820152608401610731565b60006020828403121561150157600080fd5b5035919050565b6001600160a01b03811681146106e057600080fd5b803561152881611508565b919050565b60008060008060008060008060e0898b03121561154957600080fd5b883567ffffffffffffffff8082111561156157600080fd5b818b0191508b601f83011261157557600080fd5b81358181111561158457600080fd5b8c602082850101111561159657600080fd5b60209283019a509850508901359550604089013594506115b860608a0161151d565b93506115c660808a0161151d565b925060a0890135915060c089013590509295985092959890939650565b6000806000606084860312156115f857600080fd5b833561160381611508565b95602085013595506040909401359392505050565b6000806020838503121561162b57600080fd5b823567ffffffffffffffff8082111561164357600080fd5b818501915085601f83011261165757600080fd5b81358181111561166657600080fd5b8660208260051b850101111561167b57600080fd5b60209290920196919550909350505050565b6020808252825182820181905260009190848201906040850190845b818110156116c75783511515835292840192918401916001016116a9565b50909695505050505050565b6000602082840312156116e557600080fd5b5051919050565b6000602082840312156116fe57600080fd5b8151801515811461170e57600080fd5b9392505050565b60e081528260e08201526000610100848682850137600081868501015280601f19601f87011684010191505060208083018460005b60068110156117675781518352918301919083019060010161174a565b50505050949350505050565b634e487b7160e01b600052601160045260246000fd5b600063ffffffff82168061179f5761179f611773565b6000190192915050565b600080604083850312156117bc57600080fd5b505080516020909101519092909150565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b8181038181111561182257611822611773565b92915050565b600181815b80851115611865578163ffffffff0482111561184b5761184b611773565b8085161561185857918102915b93841c939080029061182d565b509250929050565b60008261187c57506001611822565b8161188957506000611822565b816001811461189f57600281146118a9576118da565b6001915050611822565b60ff8411156118ba576118ba611773565b6001841b915063ffffffff8211156118d4576118d4611773565b50611822565b5060208310610133831016604e8410600b8410161715611911575081810a63ffffffff81111561190c5761190c611773565b611822565b61191b8383611828565b8063ffffffff0482111561193157611931611773565b029392505050565b600063ffffffff61194e81851682851661186d565b949350505050565b600063ffffffff8084168061196d5761196d6117cd565b92169190910692915050565b600063ffffffff80841680611990576119906117cd565b92169190910492915050565b63ffffffff818116838216019080821115610cee57610cee611773565b6000825160005b818110156119da57602081860181015185830152016119c0565b50600092019182525091905056fe30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001a26469706673582212202fd93128e9fd6b3843a3df70f2fb8c1a7a326556fae702731ec0c55aa4921a8364736f6c6343000819003330644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001"; +const isSuperArgs$J = (xs) => xs.length > 1; +class CTornado__factory extends ContractFactory { + constructor(...args) { + if (isSuperArgs$J(args)) { + super(...args); + } else { + super(_abi$1c, _bytecode$J, args[0]); + } + } + getDeployTransaction(_governance, _comp, _verifier, _hasher, _denomination, _merkleTreeHeight, _token, overrides) { + return super.getDeployTransaction( + _governance, + _comp, + _verifier, + _hasher, + _denomination, + _merkleTreeHeight, + _token, + overrides || {} + ); + } + deploy(_governance, _comp, _verifier, _hasher, _denomination, _merkleTreeHeight, _token, overrides) { + return super.deploy( + _governance, + _comp, + _verifier, + _hasher, + _denomination, + _merkleTreeHeight, + _token, + overrides || {} + ); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new Interface(_abi$1c); + } + static connect(address, runner) { + return new Contract(address, _abi$1c, runner); + } +} +CTornado__factory.bytecode = _bytecode$J; +CTornado__factory.abi = _abi$1c; + +var index$A = /*#__PURE__*/Object.freeze({ + __proto__: null, + CTornado__factory: CTornado__factory, + ERC20Tornado__factory: ERC20Tornado__factory, + ETHTornado__factory: ETHTornado__factory, + Echoer__factory: Echoer__factory, + Verifier__factory: Verifier__factory, + interfaces: index$B, + merkleTreeWithHistorySol: index$G, + mocks: index$E, + tornadoProxyLightSol: index$C, + tornadoSol: index$D +}); + +const _abi$1b = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "operator", + type: "address" + }, + { + indexed: false, + internalType: "bool", + name: "approved", + type: "bool" + } + ], + name: "ApprovalForAll", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "node", + type: "bytes32" + }, + { + indexed: true, + internalType: "bytes32", + name: "label", + type: "bytes32" + }, + { + indexed: false, + internalType: "address", + name: "owner", + type: "address" + } + ], + name: "NewOwner", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "node", + type: "bytes32" + }, + { + indexed: false, + internalType: "address", + name: "resolver", + type: "address" + } + ], + name: "NewResolver", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "node", + type: "bytes32" + }, + { + indexed: false, + internalType: "uint64", + name: "ttl", + type: "uint64" + } + ], + name: "NewTTL", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "node", + type: "bytes32" + }, + { + indexed: false, + internalType: "address", + name: "owner", + type: "address" + } + ], + name: "Transfer", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "operator", + type: "address" + } + ], + name: "isApprovedForAll", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "node", + type: "bytes32" + } + ], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "node", + type: "bytes32" + } + ], + name: "recordExists", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "node", + type: "bytes32" + } + ], + name: "resolver", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "operator", + type: "address" + }, + { + internalType: "bool", + name: "approved", + type: "bool" + } + ], + name: "setApprovalForAll", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "node", + type: "bytes32" + }, + { + internalType: "address", + name: "owner", + type: "address" + } + ], + name: "setOwner", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "node", + type: "bytes32" + }, + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "resolver", + type: "address" + }, + { + internalType: "uint64", + name: "ttl", + type: "uint64" + } + ], + name: "setRecord", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "node", + type: "bytes32" + }, + { + internalType: "address", + name: "resolver", + type: "address" + } + ], + name: "setResolver", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "node", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "label", + type: "bytes32" + }, + { + internalType: "address", + name: "owner", + type: "address" + } + ], + name: "setSubnodeOwner", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "node", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "label", + type: "bytes32" + }, + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "resolver", + type: "address" + }, + { + internalType: "uint64", + name: "ttl", + type: "uint64" + } + ], + name: "setSubnodeRecord", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "node", + type: "bytes32" + }, + { + internalType: "uint64", + name: "ttl", + type: "uint64" + } + ], + name: "setTTL", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "node", + type: "bytes32" + } + ], + name: "ttl", + outputs: [ + { + internalType: "uint64", + name: "", + type: "uint64" + } + ], + stateMutability: "view", + type: "function" + } +]; +class IENSRegistry__factory { + static createInterface() { + return new Interface(_abi$1b); + } + static connect(address, runner) { + return new Contract(address, _abi$1b, runner); + } +} +IENSRegistry__factory.abi = _abi$1b; + +const _abi$1a = [ + { + inputs: [ + { + internalType: "bytes32", + name: "node", + type: "bytes32" + } + ], + name: "addr", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "node", + type: "bytes32" + }, + { + internalType: "string", + name: "key", + type: "string" + } + ], + name: "text", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + } +]; +class IENSResolver__factory { + static createInterface() { + return new Interface(_abi$1a); + } + static connect(address, runner) { + return new Contract(address, _abi$1a, runner); + } +} +IENSResolver__factory.abi = _abi$1a; + +const _abi$19 = [ + { + inputs: [ + { + internalType: "address", + name: "relayer", + type: "address" + } + ], + name: "getRelayerBalance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "relayer", + type: "address" + }, + { + internalType: "address", + name: "toResolve", + type: "address" + } + ], + name: "isRelayerRegistered", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + } +]; +class IRelayerRegistry__factory { + static createInterface() { + return new Interface(_abi$19); + } + static connect(address, runner) { + return new Contract(address, _abi$19, runner); + } +} +IRelayerRegistry__factory.abi = _abi$19; + +const _abi$18 = [ + { + inputs: [ + { + internalType: "address", + name: "_IENSRegistry", + type: "address" + }, + { + internalType: "address", + name: "_IRelayerRegistry", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + inputs: [], + name: "ENSRegistry", + outputs: [ + { + internalType: "contract IENSRegistry", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "RelayerRegistry", + outputs: [ + { + internalType: "contract IRelayerRegistry", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32[]", + name: "_relayers", + type: "bytes32[]" + }, + { + internalType: "string[]", + name: "_subdomains", + type: "string[]" + } + ], + name: "relayersData", + outputs: [ + { + components: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "uint256", + name: "balance", + type: "uint256" + }, + { + internalType: "bool", + name: "isRegistered", + type: "bool" + }, + { + internalType: "string[20]", + name: "records", + type: "string[20]" + } + ], + internalType: "struct Relayer[]", + name: "", + type: "tuple[]" + } + ], + stateMutability: "view", + type: "function" + } +]; +const _bytecode$I = "0x60c060405234801561001057600080fd5b50604051610b74380380610b7483398101604081905261002f9161004d565b6001600160601b0319606092831b8116608052911b1660a05261009e565b6000806040838503121561005f578182fd5b825161006a81610086565b602084015190925061007b81610086565b809150509250929050565b6001600160a01b038116811461009b57600080fd5b50565b60805160601c60a05160601c610a9b6100d96000398060b2528061040352806104f1525080608e528061013a528061021b5250610a9b6000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80631cb120d61461004657806339c16356146100645780634d47d7751461006c575b600080fd5b61004e61008c565b60405161005b9190610891565b60405180910390f35b61004e6100b0565b61007f61007a366004610702565b6100d4565b60405161005b91906108bf565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b606080835167ffffffffffffffff811180156100ef57600080fd5b5060405190808252806020026020018201604052801561012957816020015b6101166105cd565b81526020019060019003908161010e5790505b50905060005b84518110156105c5577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166302571be386838151811061017357fe5b60200260200101516040518263ffffffff1660e01b8152600401610197919061099d565b60206040518083038186803b1580156101af57600080fd5b505afa1580156101c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101e791906106d4565b8282815181106101f357fe5b6020026020010151600001906001600160a01b031690816001600160a01b03168152505060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630178b8bf87848151811061025457fe5b60200260200101516040518263ffffffff1660e01b8152600401610278919061099d565b60206040518083038186803b15801561029057600080fd5b505afa1580156102a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c891906106d4565b905060005b85518110156104005760008784815181106102e457fe5b60200260200101518783815181106102f857fe5b60200260200101516040516020016103109190610875565b60405160208183030381529060405280519060200120604051602001610337929190610867565b60408051601f19818403018152908290528051602090910120631674750f60e21b825291506001600160a01b038416906359d1d43c9061037b9084906004016109a6565b60006040518083038186803b15801561039357600080fd5b505afa1580156103a7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103cf91908101906107dc565b8585815181106103db57fe5b60200260200101516060015183601481106103f257fe5b6020020152506001016102cd565b507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b69fd4ab84848151811061043c57fe5b60200260200101516000015185858151811061045457fe5b6020026020010151600001516040518363ffffffff1660e01b815260040161047d9291906108a5565b60206040518083038186803b15801561049557600080fd5b505afa1580156104a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104cd91906107bc565b8383815181106104d957fe5b602002602001015160400190151590811515815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b971a6bf84848151811061052a57fe5b6020026020010151600001516040518263ffffffff1660e01b81526004016105529190610891565b60206040518083038186803b15801561056a57600080fd5b505afa15801561057e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a2919061084f565b8383815181106105ae57fe5b60209081029190910181015101525060010161012f565b509392505050565b604051806080016040528060006001600160a01b0316815260200160008152602001600015158152602001610600610605565b905290565b6040518061028001604052806014905b60608152602001906001900390816106155790505090565b600082601f83011261063d578081fd5b813561065061064b826109f1565b6109ca565b818152915060208083019084810160005b848110156106c9578135870188603f82011261067c57600080fd5b8381013561068c61064b82610a11565b81815260408b818486010111156106a257600080fd5b82818501888401375060009181018601919091528552509282019290820190600101610661565b505050505092915050565b6000602082840312156106e5578081fd5b81516001600160a01b03811681146106fb578182fd5b9392505050565b60008060408385031215610714578081fd5b823567ffffffffffffffff8082111561072b578283fd5b818501915085601f83011261073e578283fd5b813561074c61064b826109f1565b80828252602080830192508086018a82838702890101111561076c578788fd5b8796505b8487101561078e578035845260019690960195928101928101610770565b5090965087013593505050808211156107a5578283fd5b506107b28582860161062d565b9150509250929050565b6000602082840312156107cd578081fd5b815180151581146106fb578182fd5b6000602082840312156107ed578081fd5b815167ffffffffffffffff811115610803578182fd5b8201601f81018413610813578182fd5b805161082161064b82610a11565b818152856020838501011115610835578384fd5b610846826020830160208601610a35565b95945050505050565b600060208284031215610860578081fd5b5051919050565b918252602082015260400190565b60008251610887818460208701610a35565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6000602080830181845280855180835260408601915060408482028701019250838701855b8281101561099057878503603f19018452815180516001600160a01b03168652868101518787015260408082015115159087015260609081015160809187018290529086016103008701895b601481101561097b57888203607f1901835283518051610950818561099d565b61095d82828f8601610a35565b958c0195948c0194601f91909101601f191601925050600101610930565b509650505092850192908501906001016108e4565b5092979650505050505050565b90815260200190565b908152604060208201819052600390820152621d5c9b60ea1b606082015260800190565b60405181810167ffffffffffffffff811182821017156109e957600080fd5b604052919050565b600067ffffffffffffffff821115610a07578081fd5b5060209081020190565b600067ffffffffffffffff821115610a27578081fd5b50601f01601f191660200190565b60005b83811015610a50578181015183820152602001610a38565b83811115610a5f576000848401525b5050505056fea2646970667358221220628a366714cdda82fe91d785ad928e44e4b9f7976ed987e5fef72d207582dbaf64736f6c634300060c0033"; +const isSuperArgs$I = (xs) => xs.length > 1; +class RelayerAggregator__factory extends ContractFactory { + constructor(...args) { + if (isSuperArgs$I(args)) { + super(...args); + } else { + super(_abi$18, _bytecode$I, args[0]); + } + } + getDeployTransaction(_IENSRegistry, _IRelayerRegistry, overrides) { + return super.getDeployTransaction( + _IENSRegistry, + _IRelayerRegistry, + overrides || {} + ); + } + deploy(_IENSRegistry, _IRelayerRegistry, overrides) { + return super.deploy( + _IENSRegistry, + _IRelayerRegistry, + overrides || {} + ); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new Interface(_abi$18); + } + static connect(address, runner) { + return new Contract(address, _abi$18, runner); + } +} +RelayerAggregator__factory.bytecode = _bytecode$I; +RelayerAggregator__factory.abi = _abi$18; + +var index$z = /*#__PURE__*/Object.freeze({ + __proto__: null, + IENSRegistry__factory: IENSRegistry__factory, + IENSResolver__factory: IENSResolver__factory, + IRelayerRegistry__factory: IRelayerRegistry__factory, + RelayerAggregator__factory: RelayerAggregator__factory +}); + +const _abi$17 = [ + { + inputs: [ + { + internalType: "address", + name: "_ensRegistry", + type: "address" + }, + { + internalType: "address", + name: "_relayerRegistry", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + inputs: [], + name: "ENSRegistry", + outputs: [ + { + internalType: "contract IENSRegistry", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "RelayerRegistry", + outputs: [ + { + internalType: "contract IRelayerRegistry", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract Governance", + name: "governance", + type: "address" + } + ], + name: "getAllProposals", + outputs: [ + { + components: [ + { + internalType: "address", + name: "proposer", + type: "address" + }, + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "uint256", + name: "startTime", + type: "uint256" + }, + { + internalType: "uint256", + name: "endTime", + type: "uint256" + }, + { + internalType: "uint256", + name: "forVotes", + type: "uint256" + }, + { + internalType: "uint256", + name: "againstVotes", + type: "uint256" + }, + { + internalType: "bool", + name: "executed", + type: "bool" + }, + { + internalType: "bool", + name: "extended", + type: "bool" + }, + { + internalType: "enum Governance.ProposalState", + name: "state", + type: "uint8" + } + ], + internalType: "struct GovernanceAggregator.Proposal[]", + name: "proposals", + type: "tuple[]" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract Governance", + name: "governance", + type: "address" + }, + { + internalType: "address[]", + name: "accs", + type: "address[]" + } + ], + name: "getGovernanceBalances", + outputs: [ + { + internalType: "uint256[]", + name: "amounts", + type: "uint256[]" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract Governance", + name: "governance", + type: "address" + }, + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "getUserData", + outputs: [ + { + internalType: "uint256", + name: "balance", + type: "uint256" + }, + { + internalType: "uint256", + name: "latestProposalId", + type: "uint256" + }, + { + internalType: "uint256", + name: "latestProposalIdState", + type: "uint256" + }, + { + internalType: "uint256", + name: "timelock", + type: "uint256" + }, + { + internalType: "address", + name: "delegatee", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32[]", + name: "_relayers", + type: "bytes32[]" + }, + { + internalType: "string[]", + name: "_subdomains", + type: "string[]" + } + ], + name: "relayersData", + outputs: [ + { + components: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "uint256", + name: "balance", + type: "uint256" + }, + { + internalType: "bool", + name: "isRegistered", + type: "bool" + }, + { + internalType: "string[20]", + name: "records", + type: "string[20]" + } + ], + internalType: "struct Relayer[]", + name: "", + type: "tuple[]" + } + ], + stateMutability: "view", + type: "function" + } +]; +const _bytecode$H = "0x60c060405234801561001057600080fd5b5060405161155d38038061155d83398101604081905261002f9161004d565b6001600160601b0319606092831b8116608052911b1660a05261009e565b6000806040838503121561005f578182fd5b825161006a81610086565b602084015190925061007b81610086565b809150509250929050565b6001600160a01b038116811461009b57600080fd5b50565b60805160601c60a05160601c6114826100db6000398061024b528061059c528061068a52508061022752806102d352806103b452506114826000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c8063029fcae7146100675780631cb120d61461009057806339c16356146100a55780634d47d775146100ad5780639853d922146100cd578063f4eeefe9146100ed575b600080fd5b61007a610075366004610fa1565b610111565b60405161008791906112ee565b60405180910390f35b610098610225565b6040516100879190611118565b610098610249565b6100c06100bb366004610e93565b61026d565b6040516100879190611210565b6100e06100db366004610dcc565b61075e565b6040516100879190611146565b6101006100fb366004610f69565b6109dd565b60405161008795949392919061135f565b60608167ffffffffffffffff8111801561012a57600080fd5b50604051908082528060200260200182016040528015610154578160200160208202803683370190505b50905060005b8281101561021d57846001600160a01b0316639ae697bf85858481811061017d57fe5b90506020020160208101906101929190610dcc565b6040518263ffffffff1660e01b81526004016101ae9190611118565b60206040518083038186803b1580156101c657600080fd5b505afa1580156101da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101fe91906110b5565b82828151811061020a57fe5b602090810291909101015260010161015a565b509392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b606080835167ffffffffffffffff8111801561028857600080fd5b506040519080825280602002602001820160405280156102c257816020015b6102af610c79565b8152602001906001900390816102a75790505b50905060005b845181101561021d577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166302571be386838151811061030c57fe5b60200260200101516040518263ffffffff1660e01b81526004016103309190611332565b60206040518083038186803b15801561034857600080fd5b505afa15801561035c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103809190610def565b82828151811061038c57fe5b6020026020010151600001906001600160a01b031690816001600160a01b03168152505060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630178b8bf8784815181106103ed57fe5b60200260200101516040518263ffffffff1660e01b81526004016104119190611332565b60206040518083038186803b15801561042957600080fd5b505afa15801561043d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104619190610def565b905060005b855181101561059957600087848151811061047d57fe5b602002602001015187838151811061049157fe5b60200260200101516040516020016104a991906110fc565b604051602081830303815290604052805190602001206040516020016104d09291906110ee565b60408051601f19818403018152908290528051602090910120631674750f60e21b825291506001600160a01b038416906359d1d43c9061051490849060040161133b565b60006040518083038186803b15801561052c57600080fd5b505afa158015610540573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105689190810190611042565b85858151811061057457fe5b602002602001015160600151836014811061058b57fe5b602002015250600101610466565b507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b69fd4ab8484815181106105d557fe5b6020026020010151600001518585815181106105ed57fe5b6020026020010151600001516040518363ffffffff1660e01b815260040161061692919061112c565b60206040518083038186803b15801561062e57600080fd5b505afa158015610642573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106669190610f4d565b83838151811061067257fe5b602002602001015160400190151590811515815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b971a6bf8484815181106106c357fe5b6020026020010151600001516040518263ffffffff1660e01b81526004016106eb9190611118565b60206040518083038186803b15801561070357600080fd5b505afa158015610717573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073b91906110b5565b83838151811061074757fe5b6020908102919091018101510152506001016102c8565b6060816001600160a01b031663da35c6646040518163ffffffff1660e01b815260040160206040518083038186803b15801561079957600080fd5b505afa1580156107ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d191906110b5565b67ffffffffffffffff811180156107e757600080fd5b5060405190808252806020026020018201604052801561082157816020015b61080e610cb1565b8152602001906001900390816108065790505b50905060005b81518110156109d7576000806000806000806000808a6001600160a01b031663013cf08b8a6001016040518263ffffffff1660e01b815260040161086b9190611332565b6101006040518083038186803b15801561088457600080fd5b505afa158015610898573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108bc9190610e0b565b97509750975097509750975097509750604051806101200160405280896001600160a01b03168152602001886001600160a01b03168152602001878152602001868152602001858152602001848152602001831515815260200182151581526020018c6001600160a01b0316633e4f49e68c6001016040518263ffffffff1660e01b815260040161094d9190611332565b60206040518083038186803b15801561096557600080fd5b505afa158015610979573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099d9190611023565b60068111156109a857fe5b8152508a8a815181106109b757fe5b602002602001018190525050505050505050508080600101915050610827565b50919050565b6000806000806000866001600160a01b0316639ae697bf876040518263ffffffff1660e01b8152600401610a119190611118565b60206040518083038186803b158015610a2957600080fd5b505afa158015610a3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6191906110b5565b6040516317977c6160e01b81529095506001600160a01b038816906317977c6190610a90908990600401611118565b60206040518083038186803b158015610aa857600080fd5b505afa158015610abc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ae091906110b5565b93508315610b7257604051631f27a4f360e11b81526001600160a01b03881690633e4f49e690610b14908790600401611332565b60206040518083038186803b158015610b2c57600080fd5b505afa158015610b40573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b649190611023565b6006811115610b6f57fe5b92505b60405163a72edda360e01b81526001600160a01b0388169063a72edda390610b9e908990600401611118565b60206040518083038186803b158015610bb657600080fd5b505afa158015610bca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bee91906110b5565b604051631976849960e21b81529092506001600160a01b038816906365da126490610c1d908990600401611118565b60206040518083038186803b158015610c3557600080fd5b505afa158015610c49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c6d9190610def565b90509295509295909350565b604051806080016040528060006001600160a01b0316815260200160008152602001600015158152602001610cac610cfd565b905290565b6040805161012081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e0810182905290610100820190610cac565b6040518061028001604052806014905b6060815260200190600190039081610d0d5790505090565b600082601f830112610d35578081fd5b8135610d48610d43826113b2565b61138b565b818152915060208083019084810160005b84811015610dc1578135870188603f820112610d7457600080fd5b83810135610d84610d43826113d2565b81815260408b81848601011115610d9a57600080fd5b82818501888401375060009181018601919091528552509282019290820190600101610d59565b505050505092915050565b600060208284031215610ddd578081fd5b8135610de881611426565b9392505050565b600060208284031215610e00578081fd5b8151610de881611426565b600080600080600080600080610100898b031215610e27578384fd5b8851610e3281611426565b60208a0151909850610e4381611426565b8097505060408901519550606089015194506080890151935060a0890151925060c0890151610e718161143e565b60e08a0151909250610e828161143e565b809150509295985092959890939650565b60008060408385031215610ea5578182fd5b823567ffffffffffffffff80821115610ebc578384fd5b818501915085601f830112610ecf578384fd5b8135610edd610d43826113b2565b80828252602080830192508086018a828387028901011115610efd578889fd5b8896505b84871015610f1f578035845260019690960195928101928101610f01565b509096508701359350505080821115610f36578283fd5b50610f4385828601610d25565b9150509250929050565b600060208284031215610f5e578081fd5b8151610de88161143e565b60008060408385031215610f7b578182fd5b8235610f8681611426565b91506020830135610f9681611426565b809150509250929050565b600080600060408486031215610fb5578283fd5b8335610fc081611426565b9250602084013567ffffffffffffffff80821115610fdc578384fd5b818601915086601f830112610fef578384fd5b813581811115610ffd578485fd5b8760208083028501011115611010578485fd5b6020830194508093505050509250925092565b600060208284031215611034578081fd5b815160078110610de8578182fd5b600060208284031215611053578081fd5b815167ffffffffffffffff811115611069578182fd5b8201601f81018413611079578182fd5b8051611087610d43826113d2565b81815285602083850101111561109b578384fd5b6110ac8260208301602086016113f6565b95945050505050565b6000602082840312156110c6578081fd5b5051919050565b6001600160a01b03169052565b15159052565b600781106110ea57fe5b9052565b918252602082015260400190565b6000825161110e8184602087016113f6565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b602080825282518282018190526000919060409081850190868401855b8281101561120357815180516001600160a01b031685528681015161118a888701826110cd565b508086015185870152606080820151908601526080808201519086015260a0808201519086015260c0808201516111c3828801826110da565b505060e0808201516111d7828801826110da565b505061010090810151906111ed868201836110e0565b5050610120939093019290850190600101611163565b5091979650505050505050565b6000602080830181845280855180835260408601915060408482028701019250838701855b828110156112e157878503603f19018452815180516001600160a01b03168652868101518787015260408082015115159087015260609081015160809187018290529086016103008701895b60148110156112cc57888203607f19018352835180516112a18185611332565b6112ae82828f86016113f6565b958c0195948c0194601f91909101601f191601925050600101611281565b50965050509285019290850190600101611235565b5092979650505050505050565b6020808252825182820181905260009190848201906040850190845b818110156113265783518352928401929184019160010161130a565b50909695505050505050565b90815260200190565b908152604060208201819052600390820152621d5c9b60ea1b606082015260800190565b9485526020850193909352604084019190915260608301526001600160a01b0316608082015260a00190565b60405181810167ffffffffffffffff811182821017156113aa57600080fd5b604052919050565b600067ffffffffffffffff8211156113c8578081fd5b5060209081020190565b600067ffffffffffffffff8211156113e8578081fd5b50601f01601f191660200190565b60005b838110156114115781810151838201526020016113f9565b83811115611420576000848401525b50505050565b6001600160a01b038116811461143b57600080fd5b50565b801515811461143b57600080fdfea26469706673582212209edead2cf5d16a9f09d7d75c5aa042cb00130c9febd0bf0e908fbf9c3f34f1a164736f6c634300060c0033"; +const isSuperArgs$H = (xs) => xs.length > 1; +class Aggregator__factory extends ContractFactory { + constructor(...args) { + if (isSuperArgs$H(args)) { + super(...args); + } else { + super(_abi$17, _bytecode$H, args[0]); + } + } + getDeployTransaction(_ensRegistry, _relayerRegistry, overrides) { + return super.getDeployTransaction( + _ensRegistry, + _relayerRegistry, + overrides || {} + ); + } + deploy(_ensRegistry, _relayerRegistry, overrides) { + return super.deploy( + _ensRegistry, + _relayerRegistry, + overrides || {} + ); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new Interface(_abi$17); + } + static connect(address, runner) { + return new Contract(address, _abi$17, runner); + } +} +Aggregator__factory.bytecode = _bytecode$H; +Aggregator__factory.abi = _abi$17; + +const _abi$16 = [ + { + inputs: [ + { + internalType: "contract Governance", + name: "governance", + type: "address" + } + ], + name: "getAllProposals", + outputs: [ + { + components: [ + { + internalType: "address", + name: "proposer", + type: "address" + }, + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "uint256", + name: "startTime", + type: "uint256" + }, + { + internalType: "uint256", + name: "endTime", + type: "uint256" + }, + { + internalType: "uint256", + name: "forVotes", + type: "uint256" + }, + { + internalType: "uint256", + name: "againstVotes", + type: "uint256" + }, + { + internalType: "bool", + name: "executed", + type: "bool" + }, + { + internalType: "bool", + name: "extended", + type: "bool" + }, + { + internalType: "enum Governance.ProposalState", + name: "state", + type: "uint8" + } + ], + internalType: "struct GovernanceAggregator.Proposal[]", + name: "proposals", + type: "tuple[]" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract Governance", + name: "governance", + type: "address" + }, + { + internalType: "address[]", + name: "accs", + type: "address[]" + } + ], + name: "getGovernanceBalances", + outputs: [ + { + internalType: "uint256[]", + name: "amounts", + type: "uint256[]" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract Governance", + name: "governance", + type: "address" + }, + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "getUserData", + outputs: [ + { + internalType: "uint256", + name: "balance", + type: "uint256" + }, + { + internalType: "uint256", + name: "latestProposalId", + type: "uint256" + }, + { + internalType: "uint256", + name: "latestProposalIdState", + type: "uint256" + }, + { + internalType: "uint256", + name: "timelock", + type: "uint256" + }, + { + internalType: "address", + name: "delegatee", + type: "address" + } + ], + stateMutability: "view", + type: "function" + } +]; +const _bytecode$G = "0x608060405234801561001057600080fd5b50610ab8806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063029fcae7146100465780639853d9221461006f578063f4eeefe91461008f575b600080fd5b61005961005436600461082b565b6100b3565b60405161006691906109e3565b60405180910390f35b61008261007d36600461072c565b6101c7565b6040516100669190610919565b6100a261009d3660046107f3565b610446565b604051610066959493929190610a30565b60608167ffffffffffffffff811180156100cc57600080fd5b506040519080825280602002602001820160405280156100f6578160200160208202803683370190505b50905060005b828110156101bf57846001600160a01b0316639ae697bf85858481811061011f57fe5b9050602002016020810190610134919061072c565b6040518263ffffffff1660e01b81526004016101509190610905565b60206040518083038186803b15801561016857600080fd5b505afa15801561017c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101a091906108cc565b8282815181106101ac57fe5b60209081029190910101526001016100fc565b509392505050565b6060816001600160a01b031663da35c6646040518163ffffffff1660e01b815260040160206040518083038186803b15801561020257600080fd5b505afa158015610216573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061023a91906108cc565b67ffffffffffffffff8111801561025057600080fd5b5060405190808252806020026020018201604052801561028a57816020015b6102776106e2565b81526020019060019003908161026f5790505b50905060005b8151811015610440576000806000806000806000808a6001600160a01b031663013cf08b8a6001016040518263ffffffff1660e01b81526004016102d49190610a27565b6101006040518083038186803b1580156102ed57600080fd5b505afa158015610301573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610325919061076b565b97509750975097509750975097509750604051806101200160405280896001600160a01b03168152602001886001600160a01b03168152602001878152602001868152602001858152602001848152602001831515815260200182151581526020018c6001600160a01b0316633e4f49e68c6001016040518263ffffffff1660e01b81526004016103b69190610a27565b60206040518083038186803b1580156103ce57600080fd5b505afa1580156103e2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061040691906108ad565b600681111561041157fe5b8152508a8a8151811061042057fe5b602002602001018190525050505050505050508080600101915050610290565b50919050565b6000806000806000866001600160a01b0316639ae697bf876040518263ffffffff1660e01b815260040161047a9190610905565b60206040518083038186803b15801561049257600080fd5b505afa1580156104a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ca91906108cc565b6040516317977c6160e01b81529095506001600160a01b038816906317977c61906104f9908990600401610905565b60206040518083038186803b15801561051157600080fd5b505afa158015610525573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054991906108cc565b935083156105db57604051631f27a4f360e11b81526001600160a01b03881690633e4f49e69061057d908790600401610a27565b60206040518083038186803b15801561059557600080fd5b505afa1580156105a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105cd91906108ad565b60068111156105d857fe5b92505b60405163a72edda360e01b81526001600160a01b0388169063a72edda390610607908990600401610905565b60206040518083038186803b15801561061f57600080fd5b505afa158015610633573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065791906108cc565b604051631976849960e21b81529092506001600160a01b038816906365da126490610686908990600401610905565b60206040518083038186803b15801561069e57600080fd5b505afa1580156106b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d6919061074f565b90509295509295909350565b6040805161012081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290529061010082015290565b60006020828403121561073d578081fd5b813561074881610a5c565b9392505050565b600060208284031215610760578081fd5b815161074881610a5c565b600080600080600080600080610100898b031215610787578384fd5b885161079281610a5c565b60208a01519098506107a381610a5c565b8097505060408901519550606089015194506080890151935060a0890151925060c08901516107d181610a74565b60e08a01519092506107e281610a74565b809150509295985092959890939650565b60008060408385031215610805578182fd5b823561081081610a5c565b9150602083013561082081610a5c565b809150509250929050565b60008060006040848603121561083f578283fd5b833561084a81610a5c565b9250602084013567ffffffffffffffff80821115610866578384fd5b818601915086601f830112610879578384fd5b813581811115610887578485fd5b876020808302850101111561089a578485fd5b6020830194508093505050509250925092565b6000602082840312156108be578081fd5b815160078110610748578182fd5b6000602082840312156108dd578081fd5b5051919050565b6001600160a01b03169052565b15159052565b6007811061090157fe5b9052565b6001600160a01b0391909116815260200190565b602080825282518282018190526000919060409081850190868401855b828110156109d657815180516001600160a01b031685528681015161095d888701826108e4565b508086015185870152606080820151908601526080808201519086015260a0808201519086015260c080820151610996828801826108f1565b505060e0808201516109aa828801826108f1565b505061010090810151906109c0868201836108f7565b5050610120939093019290850190600101610936565b5091979650505050505050565b6020808252825182820181905260009190848201906040850190845b81811015610a1b578351835292840192918401916001016109ff565b50909695505050505050565b90815260200190565b9485526020850193909352604084019190915260608301526001600160a01b0316608082015260a00190565b6001600160a01b0381168114610a7157600080fd5b50565b8015158114610a7157600080fdfea2646970667358221220c68e065ff95a2c91c1e5904ff4ba8c709291d5227b10049b437e89d35c33af4d64736f6c634300060c0033"; +const isSuperArgs$G = (xs) => xs.length > 1; +class GovernanceAggregator__factory extends ContractFactory { + constructor(...args) { + if (isSuperArgs$G(args)) { + super(...args); + } else { + super(_abi$16, _bytecode$G, args[0]); + } + } + getDeployTransaction(overrides) { + return super.getDeployTransaction(overrides || {}); + } + deploy(overrides) { + return super.deploy(overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new Interface(_abi$16); + } + static connect(address, runner) { + return new Contract( + address, + _abi$16, + runner + ); + } +} +GovernanceAggregator__factory.bytecode = _bytecode$G; +GovernanceAggregator__factory.abi = _abi$16; + +var index$y = /*#__PURE__*/Object.freeze({ + __proto__: null, + Aggregator__factory: Aggregator__factory, + GovernanceAggregator__factory: GovernanceAggregator__factory, + relayerAggregatorSol: index$z +}); + +const _abi$15 = [ + { + inputs: [ + { + internalType: "contract IDeployer", + name: "_deployer", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "addr", + type: "address" + } + ], + name: "Deployed", + type: "event" + }, + { + inputs: [ + { + internalType: "bytes", + name: "_initCode", + type: "bytes" + }, + { + internalType: "bytes32", + name: "_salt", + type: "bytes32" + } + ], + name: "deploy", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "deployer", + outputs: [ + { + internalType: "contract IDeployer", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + } +]; +const _bytecode$F = "0x60a060405234801561001057600080fd5b506040516103a93803806103a98339818101604052602081101561003357600080fd5b50516001600160a01b0381161561004a5780610060565b73ce0042b868300000d44a59004da54a005ffdcf9f5b60601b6001600160601b031916608052604051309032907f09e48df7857bd0c1e0d31bb8a85d42cf1874817895f171c917f6ee2cea73ec2090600090a35060805160601c6102e96100c06000398061010d528061029152506102e96000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80634af63f021461003b578063d5f39488146100e5575b600080fd5b6100e36004803603604081101561005157600080fd5b81019060208101813564010000000081111561006c57600080fd5b82018360208201111561007e57600080fd5b803590602001918460018302840111640100000000831117156100a057600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250610109915050565b005b6100ed61028f565b604080516001600160a01b039092168252519081900360200190f35b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634af63f0284846040518363ffffffff1660e01b81526004018080602001838152602001828103825284818151815260200191508051906020019080838360005b8381101561018e578181015183820152602001610176565b50505050905090810190601f1680156101bb5780820380516001836020036101000a031916815260200191505b509350505050602060405180830381600087803b1580156101db57600080fd5b505af11580156101ef573d6000803e3d6000fd5b505050506040513d602081101561020557600080fd5b505190506001600160a01b038116610254576040805162461bcd60e51b815260206004820152600d60248201526c11195c1b1bde4819985a5b1959609a1b604482015290519081900360640190fd5b6040516001600160a01b0382169033907f09e48df7857bd0c1e0d31bb8a85d42cf1874817895f171c917f6ee2cea73ec2090600090a3505050565b7f00000000000000000000000000000000000000000000000000000000000000008156fea26469706673582212209824ac82969e56106968b899123a2ecac48f942b4ed3dcae2ced58022879d32364736f6c634300060c0033"; +const isSuperArgs$F = (xs) => xs.length > 1; +class Deployer__factory extends ContractFactory { + constructor(...args) { + if (isSuperArgs$F(args)) { + super(...args); + } else { + super(_abi$15, _bytecode$F, args[0]); + } + } + getDeployTransaction(_deployer, overrides) { + return super.getDeployTransaction(_deployer, overrides || {}); + } + deploy(_deployer, overrides) { + return super.deploy(_deployer, overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new Interface(_abi$15); + } + static connect(address, runner) { + return new Contract(address, _abi$15, runner); + } +} +Deployer__factory.bytecode = _bytecode$F; +Deployer__factory.abi = _abi$15; + +const _abi$14 = [ + { + inputs: [ + { + internalType: "bytes", + name: "_initCode", + type: "bytes" + }, + { + internalType: "bytes32", + name: "_salt", + type: "bytes32" + } + ], + name: "deploy", + outputs: [ + { + internalType: "address payable", + name: "createdContract", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; +class IDeployer__factory { + static createInterface() { + return new Interface(_abi$14); + } + static connect(address, runner) { + return new Contract(address, _abi$14, runner); + } +} +IDeployer__factory.abi = _abi$14; + +var index$x = /*#__PURE__*/Object.freeze({ + __proto__: null, + Deployer__factory: Deployer__factory, + IDeployer__factory: IDeployer__factory +}); + +const _abi$13 = [ + { + inputs: [ + { + internalType: "contract IERC20", + name: "_token", + type: "address" + }, + { + internalType: "address", + name: "_spender", + type: "address" + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256" + } + ], + name: "approveExactToken", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; +class ITornadoRouter__factory { + static createInterface() { + return new Interface(_abi$13); + } + static connect(address, runner) { + return new Contract(address, _abi$13, runner); + } +} +ITornadoRouter__factory.abi = _abi$13; + +const _abi$12 = [ + { + inputs: [ + { + internalType: "address", + name: "_governance", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "contract ITornadoInstance", + name: "instance", + type: "address" + }, + { + indexed: false, + internalType: "enum InstanceRegistry.InstanceState", + name: "state", + type: "uint8" + } + ], + name: "InstanceStateUpdated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "tornadoRouter", + type: "address" + } + ], + name: "RouterRegistered", + type: "event" + }, + { + inputs: [], + name: "getAllInstanceAddresses", + outputs: [ + { + internalType: "contract ITornadoInstance[]", + name: "result", + type: "address[]" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "getAllInstances", + outputs: [ + { + components: [ + { + internalType: "contract ITornadoInstance", + name: "addr", + type: "address" + }, + { + components: [ + { + internalType: "bool", + name: "isERC20", + type: "bool" + }, + { + internalType: "contract IERC20", + name: "token", + type: "address" + }, + { + internalType: "enum InstanceRegistry.InstanceState", + name: "state", + type: "uint8" + }, + { + internalType: "uint24", + name: "uniswapPoolSwappingFee", + type: "uint24" + }, + { + internalType: "uint32", + name: "protocolFeePercentage", + type: "uint32" + } + ], + internalType: "struct InstanceRegistry.Instance", + name: "instance", + type: "tuple" + } + ], + internalType: "struct InstanceRegistry.Tornado[]", + name: "result", + type: "tuple[]" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract ITornadoInstance", + name: "instance", + type: "address" + } + ], + name: "getPoolToken", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "governance", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + components: [ + { + internalType: "contract ITornadoInstance", + name: "addr", + type: "address" + }, + { + components: [ + { + internalType: "bool", + name: "isERC20", + type: "bool" + }, + { + internalType: "contract IERC20", + name: "token", + type: "address" + }, + { + internalType: "enum InstanceRegistry.InstanceState", + name: "state", + type: "uint8" + }, + { + internalType: "uint24", + name: "uniswapPoolSwappingFee", + type: "uint24" + }, + { + internalType: "uint32", + name: "protocolFeePercentage", + type: "uint32" + } + ], + internalType: "struct InstanceRegistry.Instance", + name: "instance", + type: "tuple" + } + ], + internalType: "struct InstanceRegistry.Tornado[]", + name: "_instances", + type: "tuple[]" + }, + { + internalType: "address", + name: "_router", + type: "address" + } + ], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + name: "instanceIds", + outputs: [ + { + internalType: "contract ITornadoInstance", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract ITornadoInstance", + name: "", + type: "address" + } + ], + name: "instances", + outputs: [ + { + internalType: "bool", + name: "isERC20", + type: "bool" + }, + { + internalType: "contract IERC20", + name: "token", + type: "address" + }, + { + internalType: "enum InstanceRegistry.InstanceState", + name: "state", + type: "uint8" + }, + { + internalType: "uint24", + name: "uniswapPoolSwappingFee", + type: "uint24" + }, + { + internalType: "uint32", + name: "protocolFeePercentage", + type: "uint32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "_instanceId", + type: "uint256" + } + ], + name: "removeInstance", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "router", + outputs: [ + { + internalType: "contract ITornadoRouter", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract ITornadoInstance", + name: "instance", + type: "address" + }, + { + internalType: "uint32", + name: "newFee", + type: "uint32" + } + ], + name: "setProtocolFee", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "routerAddress", + type: "address" + } + ], + name: "setTornadoRouter", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + components: [ + { + internalType: "contract ITornadoInstance", + name: "addr", + type: "address" + }, + { + components: [ + { + internalType: "bool", + name: "isERC20", + type: "bool" + }, + { + internalType: "contract IERC20", + name: "token", + type: "address" + }, + { + internalType: "enum InstanceRegistry.InstanceState", + name: "state", + type: "uint8" + }, + { + internalType: "uint24", + name: "uniswapPoolSwappingFee", + type: "uint24" + }, + { + internalType: "uint32", + name: "protocolFeePercentage", + type: "uint32" + } + ], + internalType: "struct InstanceRegistry.Instance", + name: "instance", + type: "tuple" + } + ], + internalType: "struct InstanceRegistry.Tornado", + name: "_tornado", + type: "tuple" + } + ], + name: "updateInstance", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; +const _bytecode$E = "0x60a060405234801561001057600080fd5b5060405161146f38038061146f83398101604081905261002f91610044565b60601b6001600160601b031916608052610072565b600060208284031215610055578081fd5b81516001600160a01b038116811461006b578182fd5b9392505050565b60805160601c6113cc6100a3600039806103e552806105c052806105ed528061073a52806107e652506113cc6000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80636c9be937116100715780636c9be9371461014d578063908e3b371461016057806392b65a4114610173578063b5b899b714610186578063cf552c8914610199578063f887ea40146101ac576100b4565b8063032bb443146100b957806310c13ac3146100e65780631ad058a9146100fb5780634ba16d9d1461011057806352c228e3146101235780635aa6e67514610138575b600080fd5b6100cc6100c7366004610e89565b6101b4565b6040516100dd95949392919061119c565b60405180910390f35b6100ee6101fe565b6040516100dd919061109f565b61010e610109366004610ec8565b6102af565b005b61010e61011e366004610e89565b6103da565b61012b61047f565b6040516100dd91906110ec565b6101406105be565b6040516100dd9190611071565b61010e61015b366004610fdb565b6105e2565b61014061016e366004610e89565b610709565b61010e610181366004610f80565b61072f565b61014061019436600461100d565b6107b4565b61010e6101a736600461100d565b6107db565b610140610a77565b60016020526000908152604090205460ff8082169161010081046001600160a01b031691600160a81b82041690600160b01b810462ffffff1690600160c81b900463ffffffff1685565b60025460609067ffffffffffffffff8111801561021a57600080fd5b50604051908082528060200260200182016040528015610244578160200160208202803683370190505b50905060005b6002548110156102ab576002818154811061026157fe5b9060005260206000200160009054906101000a90046001600160a01b031682828151811061028b57fe5b6001600160a01b039092166020928302919091019091015260010161024a565b5090565b600054610100900460ff16806102c857506102c8610a8c565b806102d6575060005460ff16155b6102fb5760405162461bcd60e51b81526004016102f29061121c565b60405180910390fd5b600054610100900460ff16158015610326576000805460ff1961ff0019909116610100171660011790555b6000805462010000600160b01b031916620100006001600160a01b038516021781555b83518110156103c25761036e84828151811061036157fe5b6020026020010151610a92565b600284828151811061037c57fe5b6020908102919091018101515182546001808201855560009485529290932090920180546001600160a01b0319166001600160a01b039093169290921790915501610349565b5080156103d5576000805461ff00191690555b505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104225760405162461bcd60e51b81526004016102f2906112ca565b6000805462010000600160b01b031916620100006001600160a01b038416021790556040517f94df8c3a8087dce110e5fbc5acf380c83c94bbd31b2c8ed4c08e1396a696e1a890610474908390611071565b60405180910390a150565b60025460609067ffffffffffffffff8111801561049b57600080fd5b506040519080825280602002602001820160405280156104d557816020015b6104c2610d64565b8152602001906001900390816104ba5790505b50905060005b6002548110156102ab576000600282815481106104f457fe5b60009182526020808320909101546040805180820182526001600160a01b03928316808252808652600180865295839020835160a081018552815460ff8082161515835261010082049097168289015292985092969587019592949093850192600160a81b909204169081111561056757fe5b600181111561057257fe5b81529054600160b01b810462ffffff166020830152600160c81b900463ffffffff16604090910152905283518490849081106105aa57fe5b6020908102919091010152506001016104db565b7f000000000000000000000000000000000000000000000000000000000000000081565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461062a5760405162461bcd60e51b81526004016102f2906112ca565b600061063c6080830160608401610fc0565b600181111561064757fe5b14156106655760405162461bcd60e51b81526004016102f290611293565b6000600160006106786020850185610e89565b6001600160a01b03168152602081019190915260400160002054600160a81b900460ff1660018111156106a757fe5b14156106ef5760026106bc6020830183610e89565b81546001810183556000928352602090922090910180546001600160a01b0319166001600160a01b039092169190911790555b61070661070136839003830183610ff2565b610a92565b50565b6001600160a01b038082166000908152600160205260409020546101009004165b919050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107775760405162461bcd60e51b81526004016102f2906112ca565b6001600160a01b039091166000908152600160205260409020805463ffffffff909216600160c81b0263ffffffff60c81b19909216919091179055565b600281815481106107c157fe5b6000918252602090912001546001600160a01b0316905081565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108235760405162461bcd60e51b81526004016102f2906112ca565b60006002828154811061083257fe5b60009182526020808320909101546001600160a01b03908116808452600190925260409092205490925060ff8116916101009091041681156109705760008054604051636eb1769f60e11b81526001600160a01b038085169263dd62ed3e926108aa9262010000909204909116908890600401611085565b60206040518083038186803b1580156108c257600080fd5b505afa1580156108d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108fa9190611025565b9050801561096e5760008054604051633ef1078360e01b8152620100009091046001600160a01b031691633ef107839161093b9186918991906004016111e3565b600060405180830381600087803b15801561095557600080fd5b505af1158015610969573d6000803e3d6000fd5b505050505b505b6001600160a01b038316600090815260016020526040902080546001600160e81b03191690556002805460001981019081106109a857fe5b600091825260209091200154600280546001600160a01b0390921691869081106109ce57fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506002805480610a0757fe5b6001900381819060005260206000200160006101000a8154906001600160a01b0302191690559055826001600160a01b03167f02826f62d88a4d9f1978eb9c06f8663f642d032908e65a915d5898f3585421c06000604051610a699190611207565b60405180910390a250505050565b6000546201000090046001600160a01b031681565b303b1590565b60208181015182516001600160a01b0390811660009081526001808552604091829020845181549686015160ff1990971690151517610100600160a81b0319166101009690941695909502929092178085559083015192939291839160ff60a81b191690600160a81b908490811115610b0757fe5b02179055506060820151815460809093015163ffffffff16600160c81b0263ffffffff60c81b1962ffffff909216600160b01b0262ffffff60b01b19909416939093171691909117905560208101515115610d1457600081600001516001600160a01b031663fc0c546a6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b9b57600080fd5b505afa158015610baf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bd39190610eac565b90508160200151602001516001600160a01b0316816001600160a01b031614610c0e5760405162461bcd60e51b81526004016102f29061126a565b600080548351604051636eb1769f60e11b81526001600160a01b038086169363dd62ed3e93610c4b93620100009092049092169190600401611085565b60206040518083038186803b158015610c6357600080fd5b505afa158015610c77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9b9190611025565b905080610d11576000548351604051633ef1078360e01b8152620100009092046001600160a01b031691633ef1078391610cde91869190600019906004016111e3565b600060405180830381600087803b158015610cf857600080fd5b505af1158015610d0c573d6000803e3d6000fd5b505050505b50505b80600001516001600160a01b03167f02826f62d88a4d9f1978eb9c06f8663f642d032908e65a915d5898f3585421c0826020015160400151604051610d599190611207565b60405180910390a250565b604051806040016040528060006001600160a01b03168152602001610d87610d8c565b905290565b6040805160a0810182526000808252602082018190529091820190815260006020820181905260409091015290565b8035610dc681611350565b92915050565b803560028110610dc657600080fd5b600081830360c0811215610ded578182fd5b610df760406112f2565b91508235610e0481611350565b825260a0601f1982011215610e1857600080fd5b50610e2360a06112f2565b6020830135610e3181611365565b81526040830135610e4181611350565b6020820152610e538460608501610dcc565b60408201526080830135610e6681611373565b606082015260a0830135610e7981611384565b6080820152602082015292915050565b600060208284031215610e9a578081fd5b8135610ea581611350565b9392505050565b600060208284031215610ebd578081fd5b8151610ea581611350565b60008060408385031215610eda578081fd5b823567ffffffffffffffff811115610ef0578182fd5b8301601f81018513610f00578182fd5b8035610f13610f0e82611319565b6112f2565b808282526020808301925080850160c08a838288028901011115610f35578788fd5b8796505b85871015610f6157610f4b8b83610ddb565b8552600196909601959382019390810190610f39565b5050819650610f7289828a01610dbb565b955050505050509250929050565b60008060408385031215610f92578182fd5b8235610f9d81611350565b9150602083013563ffffffff81168114610fb5578182fd5b809150509250929050565b600060208284031215610fd1578081fd5b610ea58383610dcc565b600060c08284031215610fec578081fd5b50919050565b600060c08284031215611003578081fd5b610ea58383610ddb565b60006020828403121561101e578081fd5b5035919050565b600060208284031215611036578081fd5b5051919050565b15159052565b6001600160a01b03169052565b6002811061105a57fe5b9052565b62ffffff169052565b63ffffffff169052565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6020808252825182820181905260009190848201906040850190845b818110156110e05783516001600160a01b0316835292840192918401916001016110bb565b50909695505050505050565b602080825282518282018190526000919060409081850190868401855b8281101561118f57815161111d8151611339565b85528601518051611131908887019061103d565b8681015161114187870182611043565b5085810151606061115481880183611050565b820151905060806111678782018361105e565b9190910151905061117b60a0860182611067565b5060c0939093019290850190600101611109565b5091979650505050505050565b85151581526001600160a01b038516602082015260a081016111bd85611345565b604083015262ffffff8416606083015263ffffffff831660808301529695505050505050565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6020810161121483611345565b825292915050565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252600f908201526e24b731b7b93932b1ba103a37b5b2b760891b604082015260600190565b6020808252601f908201527f5573652072656d6f7665496e7374616e6365282920666f722072656d6f766500604082015260600190565b6020808252600e908201526d139bdd08185d5d1a1bdc9a5e995960921b604082015260600190565b60405181810167ffffffffffffffff8111828210171561131157600080fd5b604052919050565b600067ffffffffffffffff82111561132f578081fd5b5060209081020190565b6001600160a01b031690565b806002811061072a57fe5b6001600160a01b038116811461070657600080fd5b801515811461070657600080fd5b62ffffff8116811461070657600080fd5b63ffffffff8116811461070657600080fdfea26469706673582212207c46c875176b62100d16a46c273e615cd9eb5336dbcd238b33b227f39ff9106564736f6c634300060c0033"; +const isSuperArgs$E = (xs) => xs.length > 1; +class InstanceRegistry__factory extends ContractFactory { + constructor(...args) { + if (isSuperArgs$E(args)) { + super(...args); + } else { + super(_abi$12, _bytecode$E, args[0]); + } + } + getDeployTransaction(_governance, overrides) { + return super.getDeployTransaction(_governance, overrides || {}); + } + deploy(_governance, overrides) { + return super.deploy(_governance, overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new Interface(_abi$12); + } + static connect(address, runner) { + return new Contract(address, _abi$12, runner); + } +} +InstanceRegistry__factory.bytecode = _bytecode$E; +InstanceRegistry__factory.abi = _abi$12; + +var index$w = /*#__PURE__*/Object.freeze({ + __proto__: null, + ITornadoRouter__factory: ITornadoRouter__factory, + InstanceRegistry__factory: InstanceRegistry__factory +}); + +const _abi$11 = [ + { + inputs: [ + { + internalType: "bytes32", + name: "node", + type: "bytes32" + } + ], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + } +]; +class IENS__factory { + static createInterface() { + return new Interface(_abi$11); + } + static connect(address, runner) { + return new Contract(address, _abi$11, runner); + } +} +IENS__factory.abi = _abi$11; + +const _abi$10 = [ + { + inputs: [ + { + internalType: "contract ITornadoInstance", + name: "_instance", + type: "address" + } + ], + name: "instanceFeeWithUpdate", + outputs: [ + { + internalType: "uint160", + name: "", + type: "uint160" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; +class IFeeManager__factory { + static createInterface() { + return new Interface(_abi$10); + } + static connect(address, runner) { + return new Contract(address, _abi$10, runner); + } +} +IFeeManager__factory.abi = _abi$10; + +const _abi$$ = [ + { + inputs: [ + { + internalType: "address", + name: "_torn", + type: "address" + }, + { + internalType: "address", + name: "_governance", + type: "address" + }, + { + internalType: "address", + name: "_ens", + type: "address" + }, + { + internalType: "address", + name: "_staking", + type: "address" + }, + { + internalType: "address", + name: "_feeManager", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "minStakeAmount", + type: "uint256" + } + ], + name: "MinimumStakeAmount", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "relayer", + type: "address" + } + ], + name: "RelayerBalanceNullified", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "bytes32", + name: "relayer", + type: "bytes32" + }, + { + indexed: false, + internalType: "string", + name: "ensName", + type: "string" + }, + { + indexed: false, + internalType: "address", + name: "relayerAddress", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "stakedAmount", + type: "uint256" + } + ], + name: "RelayerRegistered", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "tornadoRouter", + type: "address" + } + ], + name: "RouterRegistered", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "relayer", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "amountStakeAdded", + type: "uint256" + } + ], + name: "StakeAddedToRelayer", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "relayer", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "amountBurned", + type: "uint256" + } + ], + name: "StakeBurned", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "relayer", + type: "address" + }, + { + indexed: false, + internalType: "address", + name: "worker", + type: "address" + } + ], + name: "WorkerRegistered", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "relayer", + type: "address" + }, + { + indexed: false, + internalType: "address", + name: "worker", + type: "address" + } + ], + name: "WorkerUnregistered", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "address", + name: "relayer", + type: "address" + }, + { + internalType: "contract ITornadoInstance", + name: "pool", + type: "address" + } + ], + name: "burn", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "ens", + outputs: [ + { + internalType: "contract IENS", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "feeManager", + outputs: [ + { + internalType: "contract IFeeManager", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "relayer", + type: "address" + } + ], + name: "getRelayerBalance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "relayer", + type: "address" + } + ], + name: "getRelayerEnsHash", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "governance", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_tornadoRouter", + type: "address" + } + ], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "toResolve", + type: "address" + } + ], + name: "isRelayer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "relayer", + type: "address" + }, + { + internalType: "address", + name: "toResolve", + type: "address" + } + ], + name: "isRelayerRegistered", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "minStakeAmount", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "relayer", + type: "address" + } + ], + name: "nullifyBalance", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "string", + name: "ensName", + type: "string" + }, + { + internalType: "uint256", + name: "stake", + type: "uint256" + }, + { + internalType: "address[]", + name: "workersToRegister", + type: "address[]" + } + ], + name: "register", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "string", + name: "ensName", + type: "string" + }, + { + internalType: "uint256", + name: "stake", + type: "uint256" + }, + { + internalType: "address[]", + name: "workersToRegister", + type: "address[]" + }, + { + internalType: "address", + name: "relayer", + type: "address" + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256" + }, + { + internalType: "uint8", + name: "v", + type: "uint8" + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32" + } + ], + name: "registerPermit", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "relayer", + type: "address" + }, + { + internalType: "address", + name: "worker", + type: "address" + } + ], + name: "registerWorker", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "relayers", + outputs: [ + { + internalType: "uint256", + name: "balance", + type: "uint256" + }, + { + internalType: "bytes32", + name: "ensHash", + type: "bytes32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "minAmount", + type: "uint256" + } + ], + name: "setMinStakeAmount", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "tornadoRouterAddress", + type: "address" + } + ], + name: "setTornadoRouter", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "relayer", + type: "address" + }, + { + internalType: "uint256", + name: "stake", + type: "uint256" + } + ], + name: "stakeToRelayer", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "relayer", + type: "address" + }, + { + internalType: "uint256", + name: "stake", + type: "uint256" + }, + { + internalType: "address", + name: "staker", + type: "address" + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256" + }, + { + internalType: "uint8", + name: "v", + type: "uint8" + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32" + } + ], + name: "stakeToRelayerPermit", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "staking", + outputs: [ + { + internalType: "contract TornadoStakingRewards", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "torn", + outputs: [ + { + internalType: "contract TORN", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "tornadoRouter", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "worker", + type: "address" + } + ], + name: "unregisterWorker", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "workers", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + } +]; +const _bytecode$D = "0x6101206040523480156200001257600080fd5b5060405162001e3c38038062001e3c83398101604081905262000035916200006d565b6001600160601b0319606095861b811660805293851b841660a05291841b831660c052831b821660e05290911b166101005262000105565b600080600080600060a0868803121562000085578081fd5b85516200009281620000ec565b6020870151909550620000a581620000ec565b6040870151909450620000b881620000ec565b6060870151909350620000cb81620000ec565b6080870151909250620000de81620000ec565b809150509295509295909350565b6001600160a01b03811681146200010257600080fd5b50565b60805160601c60a05160601c60c05160601c60e05160601c6101005160601c611cac62000190600039806105855280610b0b52508061066152806107c75280610dc0528061103e52508061046f5280610ec552508061071652806107f452806108ff5280610bfc52508061093852806109c15280610b4f5280610d9d528061101b5250611cac6000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c806385a29683116100c3578063d0fb02031161007c578063d0fb0203146102bc578063d990231d146102c4578063e37e8bcc146102d7578063e43fdb3c146102ea578063eb4af045146102fd578063f18876841461031057610158565b806385a2968314610248578063adf898a41461025b578063ae53941c14610263578063b69fd4ab14610283578063b971a6bf14610296578063c4d66de8146102a957610158565b80634cb16c2e116101155780634cb16c2e146101dc5780634cf088d9146101e45780634d4efd04146101ec5780635300f841146101ff578063541d5548146102205780635aa6e6751461024057610158565b80632e6506491461015d5780633523dc85146101725780633f15457f146101855780634048a257146101a357806345a11cec146101b65780634ba16d9d146101c9575b600080fd5b61017061016b36600461151e565b610318565b005b6101706101803660046114e6565b61036d565b61018d61046d565b60405161019a91906117c9565b60405180910390f35b61018d6101b13660046114e6565b610491565b6101706101c4366004611556565b6104ac565b6101706101d73660046114e6565b61070b565b61018d6107b0565b61018d6107c5565b6101706101fa3660046114e6565b6107e9565b61021261020d3660046114e6565b6108c4565b60405161019a92919061179f565b61023361022e3660046114e6565b6108dd565b60405161019a9190611875565b61018d6108fd565b6101706102563660046115cb565b610921565b61018d6109bf565b6102766102713660046114e6565b6109e3565b60405161019a9190611880565b61023361029136600461151e565b610a11565b6102766102a43660046114e6565b610a38565b6101706102b73660046114e6565b610a63565b61018d610b09565b6101706102d23660046115a0565b610b2d565b6101706102e53660046116d0565b610b38565b6101706102f8366004611659565b610bdc565b61017061030b366004611787565b610bf1565b610276610c6e565b3360008181526003602052604090205483906001600160a01b0380831691161461035d5760405162461bcd60e51b815260040161035490611b20565b60405180910390fd5b6103678484610c74565b50505050565b6001600160a01b03811633146103b6576001600160a01b038181166000908152600360205260409020541633146103b65760405162461bcd60e51b815260040161035490611b46565b6001600160a01b0380821660008181526003602052604090205490911614156103f15760405162461bcd60e51b815260040161035490611a5f565b6001600160a01b03808216600090815260036020526040908190205490517fb2a8e18b9e887f502d65c1683e60b723fa582a6903ea4e8eb23907a19c1ce8a09261043e92169084906117dd565b60405180910390a16001600160a01b0316600090815260036020526040902080546001600160a01b0319169055565b7f000000000000000000000000000000000000000000000000000000000000000081565b6003602052600090815260409020546001600160a01b031681565b6000546201000090046001600160a01b031633146104dc5760405162461bcd60e51b815260040161035490611938565b6001600160a01b03808416600090815260036020526040902054168061053a576001600160a01b0383811660009081526003602052604090205416156105345760405162461bcd60e51b815260040161035490611abc565b50610706565b826001600160a01b0316816001600160a01b03161461056b5760405162461bcd60e51b815260040161035490611b20565b604051630bbefce160e21b81526000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632efbf384906105ba9086906004016117c9565b602060405180830381600087803b1580156105d457600080fd5b505af11580156105e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061060c9190611502565b6001600160a01b03858116600090815260026020526040902054911691506106349082610d0d565b6001600160a01b038086166000908152600260205260409081902092909255905163338610af60e01b81527f00000000000000000000000000000000000000000000000000000000000000009091169063338610af90610698908490600401611880565b600060405180830381600087803b1580156106b257600080fd5b505af11580156106c6573d6000803e3d6000fd5b505050507f659f33fc6677bebf3a9bf3101092792e31f35766d0358e54577bdd91a655f6a084826040516106fb92919061185c565b60405180910390a150505b505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107535760405162461bcd60e51b8152600401610354906119b8565b6000805462010000600160b01b031916620100006001600160a01b038416021790556040517f94df8c3a8087dce110e5fbc5acf380c83c94bbd31b2c8ed4c08e1396a696e1a8906107a59083906117c9565b60405180910390a150565b6000546201000090046001600160a01b031681565b7f000000000000000000000000000000000000000000000000000000000000000081565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108315760405162461bcd60e51b8152600401610354906119b8565b6001600160a01b0380821660008181526003602052604090205490911690811461086d5760405162461bcd60e51b815260040161035490611c0a565b6001600160a01b03811660009081526002602052604080822091909155517fafa759fb3c68e89eaaba359f0930ab40c24875b73cc9e2f6a38b0180019eb8f3906108b89084906117c9565b60405180910390a15050565b6002602052600090815260409020805460019091015482565b6001600160a01b0390811660009081526003602052604090205416151590565b7f000000000000000000000000000000000000000000000000000000000000000081565b60405163d505accf60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d505accf9061097990889030908b908a908a908a908a9060040161181b565b600060405180830381600087803b15801561099357600080fd5b505af11580156109a7573d6000803e3d6000fd5b505050506109b6858888610d56565b50505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001600160a01b03908116600090815260036020908152604080832054909316825260029052206001015490565b6001600160a01b038181166000908152600360205260409020548116908316145b92915050565b6001600160a01b03908116600090815260036020908152604080832054909316825260029052205490565b600054610100900460ff1680610a7c5750610a7c610e64565b80610a8a575060005460ff16155b610aa65760405162461bcd60e51b815260040161035490611a11565b600054610100900460ff16158015610ad1576000805460ff1961ff0019909116610100171660011790555b6000805462010000600160b01b031916620100006001600160a01b038516021790558015610b05576000805461ff00191690555b5050565b7f000000000000000000000000000000000000000000000000000000000000000081565b610b05338383610d56565b60405163d505accf60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d505accf90610b9090889030908d908a908a908a908a9060040161181b565b600060405180830381600087803b158015610baa57600080fd5b505af1158015610bbe573d6000803e3d6000fd5b50505050610bd0858b8b8b8b8b610e6a565b50505050505050505050565b610bea338686868686610e6a565b5050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c395760405162461bcd60e51b8152600401610354906119b8565b60018190556040517f404663163d528ec45288abc4389b81bd96fabf858ff57577ebd4ee7f15d7b0a6906107a5908390611880565b60015481565b6001600160a01b038181166000908152600360205260409020541615610cac5760405162461bcd60e51b8152600401610354906119e1565b6001600160a01b038181166000908152600360205260409081902080546001600160a01b03191692851692909217909155517fcde75bd02c5f739608c891bcd9aa6809e6c4a7035ac7b9f3fd5fea756db74724906108b890849084906117dd565b6000610d4f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061115b565b9392505050565b6001600160a01b0380831660008181526003602052604090205490911614610d905760405162461bcd60e51b815260040161035490611993565b610de56001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016847f000000000000000000000000000000000000000000000000000000000000000084611187565b6001600160a01b038216600090815260026020526040902054610e099082906111df565b6001600160a01b0383166000908152600260205260409081902091909155517f1275dbe2a271b2b822e60f1d44894fa5fb337e7e2dc6a200205b1a5b17c07d6490610e57908490849061185c565b60405180910390a1505050565b303b1590565b6000610eab86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061120492505050565b6040516302571be360e01b81529091506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906302571be390610efa908490600401611880565b60206040518083038186803b158015610f1257600080fd5b505afa158015610f26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4a9190611502565b6001600160a01b0316876001600160a01b031614610f7a5760405162461bcd60e51b815260040161035490611be2565b6001600160a01b038781166000908152600360205260409020541615610fb25760405162461bcd60e51b815260040161035490611a8f565b6001600160a01b0387166000908152600260205260409020600181015415610fec5760405162461bcd60e51b81526004016103549061190c565b60015485101561100e5760405162461bcd60e51b815260040161035490611bbe565b6110636001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016897f000000000000000000000000000000000000000000000000000000000000000088611187565b7f1275dbe2a271b2b822e60f1d44894fa5fb337e7e2dc6a200205b1a5b17c07d64888660405161109492919061185c565b60405180910390a1848155600181018290556001600160a01b038816600081815260036020526040812080546001600160a01b0319169092179091555b838110156111115760008585838181106110e757fe5b90506020020160208101906110fc91906114e6565b90506111088a82610c74565b506001016110d1565b507f9ca7c9c762eff27b021608f232b4c4b8f9b8bf9a3d322297e47cc4209a67d5e28288888b89604051611149959493929190611889565b60405180910390a15050505050505050565b6000818484111561117f5760405162461bcd60e51b815260040161035491906118d9565b505050900390565b610367846323b872dd60e01b8585856040516024016111a8939291906117f7565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611211565b600082820183811015610d4f5760405162461bcd60e51b81526004016103549061195c565b6000610a328260006112a0565b6060611266826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661130a9092919063ffffffff16565b80519091501561070657808060200190518101906112849190611639565b6107065760405162461bcd60e51b815260040161035490611b74565b6000818351116112b257506000610a32565b60006112be8484611321565b90506112cf848285016001016112a0565b6112da858584611366565b6040516020016112eb92919061179f565b6040516020818303038152906040528051906020012091505092915050565b60606113198484600085611382565b949350505050565b6000805b8351818401141580156113595750838184018151811061134157fe5b6020910101516001600160f81b031916601760f91b14155b15610d4f57600101611325565b60008351828401111561137857600080fd5b5091016020012090565b606061138d85611446565b6113a95760405162461bcd60e51b815260040161035490611ae9565b60006060866001600160a01b031685876040516113c691906117ad565b60006040518083038185875af1925050503d8060008114611403576040519150601f19603f3d011682016040523d82523d6000602084013e611408565b606091505b5091509150811561141c5791506113199050565b80511561142c5780518082602001fd5b8360405162461bcd60e51b815260040161035491906118d9565b3b151590565b60008083601f84011261145d578182fd5b50813567ffffffffffffffff811115611474578182fd5b602083019150836020808302850101111561148e57600080fd5b9250929050565b60008083601f8401126114a6578182fd5b50813567ffffffffffffffff8111156114bd578182fd5b60208301915083602082850101111561148e57600080fd5b803560ff81168114610a3257600080fd5b6000602082840312156114f7578081fd5b8135610d4f81611c5e565b600060208284031215611513578081fd5b8151610d4f81611c5e565b60008060408385031215611530578081fd5b823561153b81611c5e565b9150602083013561154b81611c5e565b809150509250929050565b60008060006060848603121561156a578081fd5b833561157581611c5e565b9250602084013561158581611c5e565b9150604084013561159581611c5e565b809150509250925092565b600080604083850312156115b2578182fd5b82356115bd81611c5e565b946020939093013593505050565b600080600080600080600060e0888a0312156115e5578283fd5b87356115f081611c5e565b965060208801359550604088013561160781611c5e565b94506060880135935061161d8960808a016114d5565b925060a0880135915060c0880135905092959891949750929550565b60006020828403121561164a578081fd5b81518015158114610d4f578182fd5b600080600080600060608688031215611670578081fd5b853567ffffffffffffffff80821115611687578283fd5b61169389838a01611495565b90975095506020880135945060408801359150808211156116b2578283fd5b506116bf8882890161144c565b969995985093965092949392505050565b6000806000806000806000806000806101008b8d0312156116ef578283fd5b8a3567ffffffffffffffff80821115611706578485fd5b6117128e838f01611495565b909c509a5060208d0135995060408d0135915080821115611731578485fd5b5061173e8d828e0161144c565b90985096505060608b013561175281611c5e565b945060808b013593506117688c60a08d016114d5565b925060c08b0135915060e08b013590509295989b9194979a5092959850565b600060208284031215611798578081fd5b5035919050565b918252602082015260400190565b600082516117bf818460208701611c32565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b90815260200190565b600086825260806020830152846080830152848660a084013760a08583018101919091526001600160a01b039390931660408201526060810191909152601f909201601f19169091010192915050565b60006020825282518060208401526118f8816040850160208701611c32565b601f01601f19169190910160400192915050565b6020808252601290820152717265676973746572656420616c726561647960701b604082015260600190565b6020808252600a90820152696f6e6c792070726f787960b01b604082015260600190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252600b908201526a085c9959da5cdd195c995960aa1b604082015260600190565b6020808252600f908201526e6f6e6c7920676f7665726e616e636560881b604082015260600190565b60208082526016908201527563616e277420737465616c20616e206164647265737360501b604082015260600190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b60208082526016908201527531b0b73a103ab73932b3b4b9ba32b91036b0b9ba32b960511b604082015260600190565b60208082526013908201527231b0b73a103932b3b4b9ba32b91030b3b0b4b760691b604082015260600190565b60208082526013908201527227b7363c9031bab9ba37b6903932b630bcb2b960691b604082015260600190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b6020808252600c908201526b37b7363c903932b630bcb2b960a11b604082015260600190565b60208082526014908201527337b7363c9037bbb732b91037b3103bb7b935b2b960611b604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b6020808252600a9082015269216d696e5f7374616b6560b01b604082015260600190565b6020808252600e908201526d37b7363c9032b7399037bbb732b960911b604082015260600190565b6020808252600e908201526d36bab9ba1031329036b0b9ba32b960911b604082015260600190565b60005b83811015611c4d578181015183820152602001611c35565b838111156103675750506000910152565b6001600160a01b0381168114611c7357600080fd5b5056fea2646970667358221220af9b060307b803c3e85be3c7887780626ba06e3ccb6888222cb230fd87c11d5664736f6c634300060c0033"; +const isSuperArgs$D = (xs) => xs.length > 1; +class RelayerRegistry__factory extends ContractFactory { + constructor(...args) { + if (isSuperArgs$D(args)) { + super(...args); + } else { + super(_abi$$, _bytecode$D, args[0]); + } + } + getDeployTransaction(_torn, _governance, _ens, _staking, _feeManager, overrides) { + return super.getDeployTransaction( + _torn, + _governance, + _ens, + _staking, + _feeManager, + overrides || {} + ); + } + deploy(_torn, _governance, _ens, _staking, _feeManager, overrides) { + return super.deploy( + _torn, + _governance, + _ens, + _staking, + _feeManager, + overrides || {} + ); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new Interface(_abi$$); + } + static connect(address, runner) { + return new Contract(address, _abi$$, runner); + } +} +RelayerRegistry__factory.bytecode = _bytecode$D; +RelayerRegistry__factory.abi = _abi$$; + +var index$v = /*#__PURE__*/Object.freeze({ + __proto__: null, + IENS__factory: IENS__factory, + IFeeManager__factory: IFeeManager__factory, + RelayerRegistry__factory: RelayerRegistry__factory +}); + +const _abi$_ = [ + { + inputs: [ + { + internalType: "bytes32", + name: "node", + type: "bytes32" + } + ], + name: "resolver", + outputs: [ + { + internalType: "contract Resolver", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + } +]; +class ENS__factory { + static createInterface() { + return new Interface(_abi$_); + } + static connect(address, runner) { + return new Contract(address, _abi$_, runner); + } +} +ENS__factory.abi = _abi$_; + +const _abi$Z = [ + { + inputs: [ + { + internalType: "bytes32[]", + name: "domains", + type: "bytes32[]" + } + ], + name: "bulkResolve", + outputs: [ + { + internalType: "address[]", + name: "result", + type: "address[]" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "node", + type: "bytes32" + } + ], + name: "resolve", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + } +]; +const _bytecode$C = "0x608060405234801561001057600080fd5b5061036d806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80635c23bdf51461003b578063f9e5423414610074575b600080fd5b6100586004803603602081101561005157600080fd5b5035610167565b604080516001600160a01b039092168252519081900360200190f35b6101176004803603602081101561008a57600080fd5b8101906020810181356401000000008111156100a557600080fd5b8201836020820111156100b757600080fd5b803590602001918460208302840111640100000000831117156100d957600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610292945050505050565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561015357818101518382015260200161013b565b505050509050019250505060405180910390f35b600080610172610333565b60011461019357738595bfb0d940dfedc98943fa8a907091203f25ee6101a4565b6e0c2e074ec69a0dfb2997ba6c7d2e1e5b9050806001600160a01b0316630178b8bf846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156101ea57600080fd5b505afa1580156101fe573d6000803e3d6000fd5b505050506040513d602081101561021457600080fd5b505160408051631d9dabef60e11b81526004810186905290516001600160a01b0390921691633b3b57de91602480820192602092909190829003018186803b15801561025f57600080fd5b505afa158015610273573d6000803e3d6000fd5b505050506040513d602081101561028957600080fd5b50519392505050565b6060815167ffffffffffffffff811180156102ac57600080fd5b506040519080825280602002602001820160405280156102d6578160200160208202803683370190505b50905060005b825181101561032d576103018382815181106102f457fe5b6020026020010151610167565b82828151811061030d57fe5b6001600160a01b03909216602092830291909101909101526001016102dc565b50919050565b469056fea26469706673582212201849a5e31df8347ec61f3d54e8cef603101becea24443df7d4e43cc42ff12a7564736f6c634300060c0033"; +const isSuperArgs$C = (xs) => xs.length > 1; +class EnsResolve__factory extends ContractFactory { + constructor(...args) { + if (isSuperArgs$C(args)) { + super(...args); + } else { + super(_abi$Z, _bytecode$C, args[0]); + } + } + getDeployTransaction(overrides) { + return super.getDeployTransaction(overrides || {}); + } + deploy(overrides) { + return super.deploy(overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new Interface(_abi$Z); + } + static connect(address, runner) { + return new Contract(address, _abi$Z, runner); + } +} +EnsResolve__factory.bytecode = _bytecode$C; +EnsResolve__factory.abi = _abi$Z; + +const _abi$Y = [ + { + inputs: [ + { + internalType: "bytes32", + name: "node", + type: "bytes32" + } + ], + name: "addr", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + } +]; +class Resolver__factory { + static createInterface() { + return new Interface(_abi$Y); + } + static connect(address, runner) { + return new Contract(address, _abi$Y, runner); + } +} +Resolver__factory.abi = _abi$Y; + +var index$u = /*#__PURE__*/Object.freeze({ + __proto__: null, + ENS__factory: ENS__factory, + EnsResolve__factory: EnsResolve__factory, + Resolver__factory: Resolver__factory +}); + +const _abi$X = [ + { + inputs: [ + { + internalType: "bytes32", + name: "tokenAddress", + type: "bytes32" + }, + { + components: [ + { + internalType: "address", + name: "to", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + internalType: "struct Airdrop.Recipient[]", + name: "targets", + type: "tuple[]" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + inputs: [ + { + internalType: "bytes32[]", + name: "domains", + type: "bytes32[]" + } + ], + name: "bulkResolve", + outputs: [ + { + internalType: "address[]", + name: "result", + type: "address[]" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "addr", + type: "bytes32" + } + ], + name: "resolve", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + } +]; +const _bytecode$B = "0x608060405234801561001057600080fd5b5060405161039938038061039983398101604081905261002f91610220565b8181600061003c836101aa565b90506000816001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161006c91906102e4565b60206040518083038186803b15801561008457600080fd5b505afa158015610098573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100bc91906102cc565b116100e25760405162461bcd60e51b81526004016100d990610311565b60405180910390fd5b60005b82518110156101a557816001600160a01b031663a9059cbb84838151811061010957fe5b60200260200101516000015185848151811061012157fe5b6020026020010151602001516040518363ffffffff1660e01b815260040161014a9291906102f8565b602060405180830381600087803b15801561016457600080fd5b505af1158015610178573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061019c91906101f9565b506001016100e5565b506000ff5b60601c90565b6000604082840312156101c1578081fd5b6101cb6040610353565b82519091506001600160a01b03811681146101e557600080fd5b808252506020820151602082015292915050565b60006020828403121561020a578081fd5b81518015158114610219578182fd5b9392505050565b6000806040808486031215610233578182fd5b8351602080860151919450906001600160401b03811115610252578384fd5b8501601f81018713610262578384fd5b805161027561027082610379565b610353565b81815283810190838501868402850186018b1015610291578788fd5b8794505b838510156102bb576102a78b826101b0565b835260019490940193918501918601610295565b508096505050505050509250929050565b6000602082840312156102dd578081fd5b5051919050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b60208082526022908201527f42616c616e636520697320302c2061697264726f7020616c726561647920646f6040820152616e6560f01b606082015260800190565b6040518181016001600160401b038111828210171561037157600080fd5b604052919050565b60006001600160401b0382111561038e578081fd5b506020908102019056fe"; +const isSuperArgs$B = (xs) => xs.length > 1; +class AirdropMock__factory extends ContractFactory { + constructor(...args) { + if (isSuperArgs$B(args)) { + super(...args); + } else { + super(_abi$X, _bytecode$B, args[0]); + } + } + getDeployTransaction(tokenAddress, targets, overrides) { + return super.getDeployTransaction(tokenAddress, targets, overrides || {}); + } + deploy(tokenAddress, targets, overrides) { + return super.deploy(tokenAddress, targets, overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new Interface(_abi$X); + } + static connect(address, runner) { + return new Contract(address, _abi$X, runner); + } +} +AirdropMock__factory.bytecode = _bytecode$B; +AirdropMock__factory.abi = _abi$X; + +const _abi$W = [ + { + inputs: [ + { + internalType: "bytes32", + name: "_node", + type: "bytes32" + } + ], + name: "addr", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes[]", + name: "data", + type: "bytes[]" + } + ], + name: "multicall", + outputs: [ + { + internalType: "bytes[]", + name: "results", + type: "bytes[]" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + name: "registry", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + name: "resolver", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_node", + type: "bytes32" + }, + { + internalType: "address", + name: "_addr", + type: "address" + } + ], + name: "setAddr", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; +const _bytecode$A = "0x608060405234801561001057600080fd5b5061044b806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80630178b8bf1461005c5780633b3b57de146100855780637ef5029814610098578063ac9650d8146100ab578063d5fa2b00146100cb575b600080fd5b61006f61006a3660046102bc565b6100e0565b60405161007c919061031e565b60405180910390f35b61006f6100933660046102bc565b6100e5565b61006f6100a63660046102bc565b610100565b6100be6100b936600461024d565b61011b565b60405161007c9190610332565b6100de6100d93660046102d4565b61021f565b005b503090565b6000908152602081905260409020546001600160a01b031690565b6000602081905290815260409020546001600160a01b031681565b60608167ffffffffffffffff8111801561013457600080fd5b5060405190808252806020026020018201604052801561016857816020015b60608152602001906001900390816101535790505b50905060005b8281101561021857600060603086868581811061018757fe5b905060200281019061019991906103c9565b6040516101a792919061030e565b600060405180830381855af49150503d80600081146101e2576040519150601f19603f3d011682016040523d82523d6000602084013e6101e7565b606091505b5091509150816101f657600080fd5b8084848151811061020357fe5b6020908102919091010152505060010161016e565b5092915050565b60009182526020829052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b6000806020838503121561025f578182fd5b823567ffffffffffffffff80821115610276578384fd5b818501915085601f830112610289578384fd5b813581811115610297578485fd5b86602080830285010111156102aa578485fd5b60209290920196919550909350505050565b6000602082840312156102cd578081fd5b5035919050565b600080604083850312156102e6578182fd5b8235915060208301356001600160a01b0381168114610303578182fd5b809150509250929050565b6000828483379101908152919050565b6001600160a01b0391909116815260200190565b6000602080830181845280855180835260408601915060408482028701019250838701855b828110156103bc57878503603f1901845281518051808752885b8181101561038c578281018901518882018a01528801610371565b8181111561039c578989838a0101525b50601f01601f191695909501860194509285019290850190600101610357565b5092979650505050505050565b6000808335601e198436030181126103df578283fd5b83018035915067ffffffffffffffff8211156103f9578283fd5b60200191503681900382131561040e57600080fd5b925092905056fea26469706673582212202e44de42b72aec6265acc191876b290bc887c846ffca216ac5d28a16fd49092564736f6c634300060c0033"; +const isSuperArgs$A = (xs) => xs.length > 1; +class ENSMock__factory extends ContractFactory { + constructor(...args) { + if (isSuperArgs$A(args)) { + super(...args); + } else { + super(_abi$W, _bytecode$A, args[0]); + } + } + getDeployTransaction(overrides) { + return super.getDeployTransaction(overrides || {}); + } + deploy(overrides) { + return super.deploy(overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new Interface(_abi$W); + } + static connect(address, runner) { + return new Contract(address, _abi$W, runner); + } +} +ENSMock__factory.bytecode = _bytecode$A; +ENSMock__factory.abi = _abi$W; + +const _abi$V = [ + { + inputs: [ + { + internalType: "address", + name: "_governance", + type: "address" + }, + { + internalType: "uint256", + name: "_pausePeriod", + type: "uint256" + }, + { + components: [ + { + internalType: "address", + name: "to", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + internalType: "struct TORN.Recipient[]", + name: "_vesting", + type: "tuple[]" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "target", + type: "address" + } + ], + name: "Allowed", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Approval", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "target", + type: "address" + } + ], + name: "Disallowed", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "account", + type: "address" + } + ], + name: "Paused", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Transfer", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "account", + type: "address" + } + ], + name: "Unpaused", + type: "event" + }, + { + inputs: [ + { + internalType: "address[]", + name: "target", + type: "address[]" + } + ], + name: "addToAllowedList", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "allowedTransferee", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "blockTimestamp", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "burn", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "burnFrom", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "canUnpauseAfter", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "chainID", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "chainId", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bool", + name: "decision", + type: "bool" + } + ], + name: "changeTransferability", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "subtractedValue", + type: "uint256" + } + ], + name: "decreaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "fakeTimestamp", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "governance", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256" + } + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + } + ], + name: "nonces", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "paused", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256" + }, + { + internalType: "uint8", + name: "v", + type: "uint8" + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32" + } + ], + name: "permit", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address[]", + name: "target", + type: "address[]" + } + ], + name: "removeFromAllowedList", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "contract IERC20", + name: "_token", + type: "address" + }, + { + internalType: "address payable", + name: "_to", + type: "address" + }, + { + internalType: "uint256", + name: "_balance", + type: "uint256" + } + ], + name: "rescueTokens", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "_chainId", + type: "uint256" + } + ], + name: "setChainId", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "_fakeTimestamp", + type: "uint256" + } + ], + name: "setFakeTimestamp", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; +const _bytecode$z = "0x60c06040523480156200001157600080fd5b506040516200298e3803806200298e8339810160408190526200003491620006d6565b604080518082018252600b81526a0a8dee4dcc2c8de86c2e6d60ab1b6020808301918252835180850190945260048452632a27a92760e11b90840152815186938693869390926200008891600391620005e4565b5080516200009e906004906020840190620005e4565b50506005805460ff1916601217905550620000b8620001f8565b506008805460ff199081169091556001600160601b0319606085901b1660a0526001600160a01b0384166000908152600960205260408120805490921660011790915583905b82518110156200017b5760008382815181106200011757fe5b60200260200101516000015190506200014f818584815181106200013757fe5b602002602001015160200151620002b460201b60201c565b6001600160a01b03166000908152600960205260409020805460ff1916600190811790915501620000fe565b506200019f836200018b62000397565b620003b360201b62000d721790919060201c565b608052620001ac620003e4565b620001b66200045b565b6a084595161401484a00000014620001eb5760405162461bcd60e51b8152600401620001e290620008a8565b60405180910390fd5b5050505050505062000946565b6000806200020562000461565b905060007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6200023462000467565b805160209182012060408051808201825260018152603160f81b90840152516200028693927fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6918791309101620007be565b60408051601f1981840301815291815281516020928301206000948552600790925290922082905550905090565b6001600160a01b038216620002dd5760405162461bcd60e51b8152600401620001e290620008df565b620002eb6000838362000501565b6200030781600254620003b360201b62000d721790919060201c565b6002556001600160a01b038216600090815260208181526040909120546200033a91839062000d72620003b3821b17901c565b6001600160a01b0383166000818152602081905260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906200038b90859062000916565b60405180910390a35050565b6000620003ae620005bc60201b62000d9e1760201c565b905090565b600082820183811015620003db5760405162461bcd60e51b8152600401620001e290620007ea565b90505b92915050565b60085460ff16156200040a5760405162461bcd60e51b8152600401620001e2906200087e565b6008805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25862000442620005d7565b604051620004519190620007aa565b60405180910390a1565b60025490565b600b5490565b60038054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015620004f75780601f10620004cb57610100808354040283529160200191620004f7565b820191906000526020600020905b815481529060010190602001808311620004d957829003601f168201915b5050505050905090565b62000519838383620005b760201b620007421760201c565b62000523620005db565b15806200054857506001600160a01b03831660009081526009602052604090205460ff165b806200056c57506001600160a01b03821660009081526009602052604090205460ff165b6200058b5760405162461bcd60e51b8152600401620001e29062000858565b6001600160a01b038216301415620005b75760405162461bcd60e51b8152600401620001e29062000821565b505050565b6000600a54600014620005d257600a54620003ae565b504290565b3390565b60085460ff1690565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200062757805160ff191683800117855562000657565b8280016001018555821562000657579182015b82811115620006575782518255916020019190600101906200063a565b506200066592915062000669565b5090565b5b808211156200066557600081556001016200066a565b80516001600160a01b0381168114620003de57600080fd5b600060408284031215620006aa578081fd5b620006b660406200091f565b9050620006c4838362000680565b81526020820151602082015292915050565b600080600060608486031215620006eb578283fd5b620006f7858562000680565b9250602080850151925060408086015160018060401b03808211156200071b578485fd5b818801915088601f8301126200072f578485fd5b8151818111156200073e578586fd5b6200074d85868302016200091f565b8181528581019250838601858302850187018c10156200076b578788fd5b8794505b828510156200079957620007848c8262000698565b8452600194909401939286019285016200076f565b508096505050505050509250925092565b6001600160a01b0391909116815260200190565b9485526020850193909352604084019190915260608301526001600160a01b0316608082015260a00190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526017908201527f544f524e3a20696e76616c696420726563697069656e74000000000000000000604082015260600190565b6020808252600c908201526b1513d4938e881c185d5cd95960a21b604082015260600190565b60208082526010908201526f14185d5cd8589b194e881c185d5cd95960821b604082015260600190565b6020808252601c908201527f544f524e3a20696e636f727265637420646973747269627574696f6e00000000604082015260600190565b6020808252601f908201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b90815260200190565b6040518181016001600160401b03811182821017156200093e57600080fd5b604052919050565b60805160a05160601c612008620009866000398061056f52806106975280610764528061081d5280610a215250806107bc5280610d2052506120086000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c80637ecebe0011610104578063adb61832116100a2578063d505accf11610071578063d505accf1461038d578063dc0f0d12146103a0578063dd62ed3e146103a8578063ef0e2ff4146103bb576101cf565b8063adb6183214610357578063adc879e91461035f578063c565882714610367578063cea9d26f1461037a576101cf565b806395d89b41116100de57806395d89b41146103215780639a8a059214610329578063a457c2d714610331578063a9059cbb14610344576101cf565b80637ecebe00146102e857806381893c7c146102fb578063885ad0cf1461030e576101cf565b80633c8d76d1116101715780635c975abb1161014b5780635c975abb146102a75780635d4545a0146102af57806370a08231146102c257806379cc6790146102d5576101cf565b80633c8d76d11461026a57806342966c681461027f5780635aa6e67514610292576101cf565b806318160ddd116101ad57806318160ddd1461022757806323b872dd1461022f578063313ce567146102425780633950935114610257576101cf565b806301ec0fab146101d457806306fdde03146101f2578063095ea7b314610207575b600080fd5b6101dc6103ce565b6040516101e99190611e68565b60405180910390f35b6101fa6103d4565b6040516101e99190611943565b61021a610215366004611708565b61046b565b6040516101e991906118ba565b6101dc610489565b61021a61023d366004611653565b61048f565b61024a610516565b6040516101e99190611e71565b61021a610265366004611708565b61051f565b61027d610278366004611733565b61056d565b005b61027d61028d36600461181c565b610681565b61029a610695565b6040516101e9919061188d565b61021a6106b9565b61021a6102bd3660046115ff565b6106c2565b6101dc6102d03660046115ff565b6106d7565b61027d6102e3366004611708565b6106f2565b6101dc6102f63660046115ff565b610747565b61027d6103093660046117d0565b610762565b61027d61031c366004611733565b61081b565b6101fa610922565b6101dc610983565b61021a61033f366004611708565b610989565b61021a610352366004611708565b6109f1565b6101dc610a05565b6101dc610a14565b61027d61037536600461181c565b610a1a565b61027d610388366004611808565b610a1f565b61027d61039b366004611693565b610bdd565b6101dc610d1e565b6101dc6103b636600461161b565b610d42565b61027d6103c936600461181c565b610d6d565b600a5481565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104605780601f1061043557610100808354040283529160200191610460565b820191906000526020600020905b81548152906001019060200180831161044357829003601f168201915b505050505090505b90565b600061047f610478610db7565b8484610dbb565b5060015b92915050565b60025490565b600061049c848484610e6f565b61050c846104a8610db7565b61050785604051806060016040528060288152602001611f62602891396001600160a01b038a166000908152600160205260408120906104e6610db7565b6001600160a01b031681526020810191909152604001600020549190610f84565b610dbb565b5060019392505050565b60055460ff1690565b600061047f61052c610db7565b84610507856001600061053d610db7565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610d72565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661059f610db7565b6001600160a01b0316146105ce5760405162461bcd60e51b81526004016105c590611de4565b60405180910390fd5b60005b815181101561067d576000600960008484815181106105ec57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055507f9ef90a89b00db1a1891a357dc96b2a273add9d883e378c350d22bad87a9d7d3082828151811061065857fe5b602002602001015160405161066d919061188d565b60405180910390a16001016105d1565b5050565b61069261068c610db7565b82610fb0565b50565b7f000000000000000000000000000000000000000000000000000000000000000081565b60085460ff1690565b60096020526000908152604090205460ff1681565b6001600160a01b031660009081526020819052604090205490565b600061072482604051806060016040528060248152602001611f8a6024913961071d866103b6610db7565b9190610f84565b905061073883610732610db7565b83610dbb565b6107428383610fb0565b505050565b6001600160a01b031660009081526006602052604090205490565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610794610db7565b6001600160a01b0316146107ba5760405162461bcd60e51b81526004016105c590611de4565b7f00000000000000000000000000000000000000000000000000000000000000006107e3610a05565b116108005760405162461bcd60e51b81526004016105c590611bd9565b80156108135761080e611092565b610692565b6106926110fe565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661084d610db7565b6001600160a01b0316146108735760405162461bcd60e51b81526004016105c590611de4565b60005b815181101561067d5760016009600084848151811061089157fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055507f77a7dbc6ad97703ad411a8d5edfcd1df382fb34b076a90898b11884f7ebdcc058282815181106108fd57fe5b6020026020010151604051610912919061188d565b60405180910390a1600101610876565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104605780601f1061043557610100808354040283529160200191610460565b600b5481565b600061047f610996610db7565b8461050785604051806060016040528060258152602001611fae60259139600160006109c0610db7565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190610f84565b600061047f6109fe610db7565b8484610e6f565b6000610a0f610d9e565b905090565b600b5490565b600a55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610a51610db7565b6001600160a01b031614610a775760405162461bcd60e51b81526004016105c590611de4565b6001600160a01b038216610a9d5760405162461bcd60e51b81526004016105c590611d58565b6001600160a01b038316610b06574760008215610ac357610abe8284611157565b610ac5565b815b6040519091506001600160a01b0385169082156108fc029083906000818181858888f19350505050158015610afe573d6000803e3d6000fd5b505050610742565b6040516370a0823160e01b81526000906001600160a01b038516906370a0823190610b3590309060040161188d565b60206040518083038186803b158015610b4d57600080fd5b505afa158015610b61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b859190611834565b905060008215610b9e57610b998284611157565b610ba0565b815b905060008111610bc25760405162461bcd60e51b81526004016105c590611e31565b610bd66001600160a01b038616858361116d565b5050505050565b83610be6610a05565b1115610c045760405162461bcd60e51b81526004016105c590611ace565b6001600160a01b0387166000908152600660209081526040808320549051610c57927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9928c928c928c92918c91016118c5565b6040516020818303038152906040528051906020012090506000611901610c7c6111c3565b83604051602001610c8f93929190611868565b6040516020818303038152906040528051906020012090506000610cb582878787611202565b9050896001600160a01b0316816001600160a01b031614610ce85760405162461bcd60e51b81526004016105c590611c20565b6001600160a01b038a16600090815260066020526040902080546001019055610d128a8a8a610dbb565b50505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b600b55565b600082820183811015610d975760405162461bcd60e51b81526004016105c590611a60565b9392505050565b6000600a54600014610db257600a54610a0f565b504290565b3390565b6001600160a01b038316610de15760405162461bcd60e51b81526004016105c590611cdd565b6001600160a01b038216610e075760405162461bcd60e51b81526004016105c590611a1e565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610e62908590611e68565b60405180910390a3505050565b6001600160a01b038316610e955760405162461bcd60e51b81526004016105c590611c98565b6001600160a01b038216610ebb5760405162461bcd60e51b81526004016105c5906119ad565b610ec68383836112fa565b610f0381604051806060016040528060268152602001611f3c602691396001600160a01b0386166000908152602081905260409020549190610f84565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610f329082610d72565b6001600160a01b0380841660008181526020819052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e62908590611e68565b60008184841115610fa85760405162461bcd60e51b81526004016105c59190611943565b505050900390565b6001600160a01b038216610fd65760405162461bcd60e51b81526004016105c590611c57565b610fe2826000836112fa565b61101f81604051806060016040528060228152602001611f1a602291396001600160a01b0385166000908152602081905260409020549190610f84565b6001600160a01b0383166000908152602081905260409020556002546110459082611399565b6002556040516000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611086908590611e68565b60405180910390a35050565b60085460ff166110b45760405162461bcd60e51b81526004016105c5906119f0565b6008805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6110e7610db7565b6040516110f4919061188d565b60405180910390a1565b60085460ff16156111215760405162461bcd60e51b81526004016105c590611b6d565b6008805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586110e7610db7565b60008183106111665781610d97565b5090919050565b6107428363a9059cbb60e01b848460405160240161118c9291906118a1565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526113db565b600080600760006111d2610a14565b8152602081019190915260400160002054905080156111f2579050610468565b6111fa61146a565b915050610468565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08211156112445760405162461bcd60e51b81526004016105c590611b2b565b8360ff16601b148061125957508360ff16601c145b6112755760405162461bcd60e51b81526004016105c590611b97565b60006001868686866040516000815260200160405260405161129a9493929190611925565b6020604051602081039080840390855afa1580156112bc573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166112ef5760405162461bcd60e51b81526004016105c590611976565b90505b949350505050565b611305838383610742565b61130d6106b9565b158061133157506001600160a01b03831660009081526009602052604090205460ff165b8061135457506001600160a01b03821660009081526009602052604090205460ff165b6113705760405162461bcd60e51b81526004016105c590611b05565b6001600160a01b0382163014156107425760405162461bcd60e51b81526004016105c590611a97565b6000610d9783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f84565b6060611430826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166115209092919063ffffffff16565b805190915015610742578080602001905181019061144e91906117ec565b6107425760405162461bcd60e51b81526004016105c590611d9a565b600080611475610a14565b905060007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6114a26103d4565b805160209182012060408051808201825260018152603160f81b90840152516114f293927fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc69187913091016118f9565b60408051601f1981840301815291815281516020928301206000948552600790925290922082905550905090565b60606112f284846000856060611535856115ee565b6115515760405162461bcd60e51b81526004016105c590611d21565b60006060866001600160a01b0316858760405161156e919061184c565b60006040518083038185875af1925050503d80600081146115ab576040519150601f19603f3d011682016040523d82523d6000602084013e6115b0565b606091505b509150915081156115c45791506112f29050565b8051156115d45780518082602001fd5b8360405162461bcd60e51b81526004016105c59190611943565b3b151590565b803561048381611ef6565b600060208284031215611610578081fd5b8135610d9781611ef6565b6000806040838503121561162d578081fd5b823561163881611ef6565b9150602083013561164881611ef6565b809150509250929050565b600080600060608486031215611667578081fd5b833561167281611ef6565b9250602084013561168281611ef6565b929592945050506040919091013590565b600080600080600080600060e0888a0312156116ad578283fd5b87356116b881611ef6565b965060208801356116c881611ef6565b95506040880135945060608801359350608088013560ff811681146116eb578384fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561171a578182fd5b823561172581611ef6565b946020939093013593505050565b60006020808385031215611745578182fd5b823567ffffffffffffffff81111561175b578283fd5b8301601f8101851361176b578283fd5b803561177e61177982611ea6565b611e7f565b818152838101908385018584028501860189101561179a578687fd5b8694505b838510156117c4576117b089826115f4565b83526001949094019391850191850161179e565b50979650505050505050565b6000602082840312156117e1578081fd5b8135610d9781611f0b565b6000602082840312156117fd578081fd5b8151610d9781611f0b565b600080600060608486031215611667578283fd5b60006020828403121561182d578081fd5b5035919050565b600060208284031215611845578081fd5b5051919050565b6000825161185e818460208701611ec6565b9190910192915050565b60f09390931b6001600160f01b03191683526002830191909152602282015260420190565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b9586526001600160a01b0394851660208701529290931660408501526060840152608083019190915260a082015260c00190565b9485526020850193909352604084019190915260608301526001600160a01b0316608082015260a00190565b93845260ff9290921660208401526040830152606082015260800190565b6000602082528251806020840152611962816040850160208701611ec6565b601f01601f19169190910160400192915050565b60208082526018908201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604082015260600190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526014908201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604082015260600190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526017908201527f544f524e3a20696e76616c696420726563697069656e74000000000000000000604082015260600190565b6020808252601d908201527f45524332305065726d69743a206578706972656420646561646c696e65000000604082015260600190565b6020808252600c908201526b1513d4938e881c185d5cd95960a21b604082015260600190565b60208082526022908201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604082015261756560f01b606082015260800190565b60208082526010908201526f14185d5cd8589b194e881c185d5cd95960821b604082015260600190565b60208082526022908201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604082015261756560f01b606082015260800190565b60208082526027908201527f544f524e3a2063616e6e6f74206368616e6765207472616e736665726162696c6040820152661a5d1e481e595d60ca1b606082015260800190565b6020808252601e908201527f45524332305065726d69743a20696e76616c6964207369676e61747572650000604082015260600190565b60208082526021908201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736040820152607360f81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b60208082526022908201527f544f524e3a2063616e206e6f742073656e6420746f207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b6020808252602d908201527f544f524e3a206f6e6c7920676f7665726e616e63652063616e20706572666f7260408201526c36903a3434b99030b1ba34b7b760991b606082015260800190565b6020808252601e908201527f544f524e3a20747279696e6720746f2073656e6420302062616c616e63650000604082015260600190565b90815260200190565b60ff91909116815260200190565b60405181810167ffffffffffffffff81118282101715611e9e57600080fd5b604052919050565b600067ffffffffffffffff821115611ebc578081fd5b5060209081020190565b60005b83811015611ee1578181015183820152602001611ec9565b83811115611ef0576000848401525b50505050565b6001600160a01b038116811461069257600080fd5b801515811461069257600080fdfe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220c25cb2cef98080abbebec9b5719a4f46d638fbe559a3ab7a9de64272855c3c1064736f6c634300060c0033"; +const isSuperArgs$z = (xs) => xs.length > 1; +class TORNMock__factory extends ContractFactory { + constructor(...args) { + if (isSuperArgs$z(args)) { + super(...args); + } else { + super(_abi$V, _bytecode$z, args[0]); + } + } + getDeployTransaction(_governance, _pausePeriod, _vesting, overrides) { + return super.getDeployTransaction( + _governance, + _pausePeriod, + _vesting, + overrides || {} + ); + } + deploy(_governance, _pausePeriod, _vesting, overrides) { + return super.deploy( + _governance, + _pausePeriod, + _vesting, + overrides || {} + ); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new Interface(_abi$V); + } + static connect(address, runner) { + return new Contract(address, _abi$V, runner); + } +} +TORNMock__factory.bytecode = _bytecode$z; +TORNMock__factory.abi = _abi$V; + +const _abi$U = [ + { + inputs: [], + name: "blockTimestamp", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "fakeTimestamp", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "_fakeTimestamp", + type: "uint256" + } + ], + name: "setFakeTimestamp", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; +const _bytecode$y = "0x608060405234801561001057600080fd5b5060d28061001f6000396000f3fe6080604052348015600f57600080fd5b5060043610603c5760003560e01c806301ec0fab146041578063adb61832146059578063c565882714605f575b600080fd5b6047607b565b60408051918252519081900360200190f35b60476081565b607960048036036020811015607357600080fd5b50356097565b005b60005481565b60008054156090576000546092565b425b905090565b60005556fea2646970667358221220b2410460a5b24aec9983bcf8349aa3b589a0dff9120af5b704feae536a65813064736f6c634300060c0033"; +const isSuperArgs$y = (xs) => xs.length > 1; +class Timestamp__factory extends ContractFactory { + constructor(...args) { + if (isSuperArgs$y(args)) { + super(...args); + } else { + super(_abi$U, _bytecode$y, args[0]); + } + } + getDeployTransaction(overrides) { + return super.getDeployTransaction(overrides || {}); + } + deploy(overrides) { + return super.deploy(overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new Interface(_abi$U); + } + static connect(address, runner) { + return new Contract(address, _abi$U, runner); + } +} +Timestamp__factory.bytecode = _bytecode$y; +Timestamp__factory.abi = _abi$U; + +const _abi$T = [ + { + inputs: [ + { + internalType: "address", + name: "_token", + type: "address" + }, + { + internalType: "address", + name: "_beneficiary", + type: "address" + }, + { + internalType: "uint256", + name: "_startTimestamp", + type: "uint256" + }, + { + internalType: "uint256", + name: "_cliffInMonths", + type: "uint256" + }, + { + internalType: "uint256", + name: "_durationInMonths", + type: "uint256" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "Released", + type: "event" + }, + { + inputs: [], + name: "SECONDS_PER_MONTH", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "beneficiary", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "blockTimestamp", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "cliffInMonths", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "durationInMonths", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "fakeTimestamp", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "release", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "released", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "_fakeTimestamp", + type: "uint256" + } + ], + name: "setFakeTimestamp", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "startTimestamp", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "token", + outputs: [ + { + internalType: "contract IERC20", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "vestedAmount", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + } +]; +const _bytecode$x = "0x61012060405234801561001157600080fd5b50604051610d2e380380610d2e833981810160405260a081101561003457600080fd5b5080516020820151604083015160608401516080909401519293919290919084848484846001600160a01b0384166100b3576040805162461bcd60e51b815260206004820152601b60248201527f42656e65666963696172792063616e6e6f7420626520656d7074790000000000604482015290519081900360640190fd5b80821115610108576040805162461bcd60e51b815260206004820152601e60248201527f436c6966662069732067726561746572207468616e206475726174696f6e0000604482015290519081900360640190fd5b6001600160601b0319606086811b821660a05285901b1660805261010081905260c082905282156101395782610141565b610141610154565b60e0525061018698505050505050505050565b600061016861016d60201b6105b81760201c565b905090565b600060015460001461018157600154610168565b504290565b60805160601c60a05160601c60c05160e05161010051610b366101f86000398061024452806103bc528061041e52508061019352806101cf52806105725250806102115280610534525080610289528061030952806104b5528061059652508061016d52806104d75250610b366000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c8063928d89ae11610071578063928d89ae146101195780639613252114610121578063adb6183214610129578063c565882714610131578063e6fd48bc1461014e578063fc0c546a14610156576100b4565b806301ec0fab146100b957806310786deb146100d357806338af3eed146100db57806344b1231f146100ff57806367097a4b1461010757806386d1a69f1461010f575b600080fd5b6100c161015e565b60408051918252519081900360200190f35b6100c1610164565b6100e361016b565b604080516001600160a01b039092168252519081900360200190f35b6100c161018f565b6100c161041c565b610117610440565b005b6100c1610532565b6100c1610556565b6100c161055c565b6101176004803603602081101561014757600080fd5b503561056b565b6100c1610570565b6100e3610594565b60015481565b62278d0081565b7f000000000000000000000000000000000000000000000000000000000000000081565b60007f00000000000000000000000000000000000000000000000000000000000000006101ba61055c565b10156101c857506000610419565b60006101fc7f00000000000000000000000000000000000000000000000000000000000000006101f661055c565b906105d1565b9050600061020d8262278d0061061c565b90507f000000000000000000000000000000000000000000000000000000000000000081101561024257600092505050610419565b7f0000000000000000000000000000000000000000000000000000000000000000811061030557604080516370a0823160e01b815230600482015290516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916370a08231916024808301926020929190829003018186803b1580156102cf57600080fd5b505afa1580156102e3573d6000803e3d6000fd5b505050506040513d60208110156102f957600080fd5b50519250610419915050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561037457600080fd5b505afa158015610388573d6000803e3d6000fd5b505050506040513d602081101561039e57600080fd5b505160008054919250906103b390839061065e565b905060006103eb7f00000000000000000000000000000000000000000000000000000000000000006103e584876106b8565b9061061c565b90506000610404600054836105d190919063ffffffff16565b90506104108482610711565b96505050505050505b90565b7f000000000000000000000000000000000000000000000000000000000000000081565b600061044a61018f565b905060008111610498576040805162461bcd60e51b81526020600482015260146024820152734e6f20746f6b656e7320746f2072656c6561736560601b604482015290519081900360640190fd5b6000546104a5908261065e565b6000556104fc6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f000000000000000000000000000000000000000000000000000000000000000083610727565b6040805182815290517ffb81f9b30d73d830c3544b34d827c08142579ee75710b490bab0b3995468c5659181900360200190a150565b7f000000000000000000000000000000000000000000000000000000000000000081565b60005481565b60006105666105b8565b905090565b600155565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b60006001546000146105cc57600154610566565b504290565b600061061383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061077e565b90505b92915050565b600061061383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610815565b600082820183811015610613576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000826106c757506000610616565b828202828482816106d457fe5b04146106135760405162461bcd60e51b8152600401808060200182810382526021815260200180610ab66021913960400191505060405180910390fd5b60008183106107205781610613565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261077990849061087a565b505050565b6000818484111561080d5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156107d25781810151838201526020016107ba565b50505050905090810190601f1680156107ff5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836108645760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156107d25781810151838201526020016107ba565b50600083858161087057fe5b0495945050505050565b60606108cf826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661092b9092919063ffffffff16565b805190915015610779578080602001905160208110156108ee57600080fd5b50516107795760405162461bcd60e51b815260040180806020018281038252602a815260200180610ad7602a913960400191505060405180910390fd5b606061093a8484600085610942565b949350505050565b606061094d85610aaf565b61099e576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106109dd5780518252601f1990920191602091820191016109be565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114610a3f576040519150601f19603f3d011682016040523d82523d6000602084013e610a44565b606091505b50915091508115610a5857915061093a9050565b805115610a685780518082602001fd5b60405162461bcd60e51b81526020600482018181528651602484015286518793919283926044019190850190808383600083156107d25781810151838201526020016107ba565b3b15159056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a2646970667358221220852e02606e74d747094138d7e10fc9f005278a953559d85ca961b67f95c9fa8f64736f6c634300060c0033"; +const isSuperArgs$x = (xs) => xs.length > 1; +class VestingMock__factory extends ContractFactory { + constructor(...args) { + if (isSuperArgs$x(args)) { + super(...args); + } else { + super(_abi$T, _bytecode$x, args[0]); + } + } + getDeployTransaction(_token, _beneficiary, _startTimestamp, _cliffInMonths, _durationInMonths, overrides) { + return super.getDeployTransaction( + _token, + _beneficiary, + _startTimestamp, + _cliffInMonths, + _durationInMonths, + overrides || {} + ); + } + deploy(_token, _beneficiary, _startTimestamp, _cliffInMonths, _durationInMonths, overrides) { + return super.deploy( + _token, + _beneficiary, + _startTimestamp, + _cliffInMonths, + _durationInMonths, + overrides || {} + ); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new Interface(_abi$T); + } + static connect(address, runner) { + return new Contract(address, _abi$T, runner); + } +} +VestingMock__factory.bytecode = _bytecode$x; +VestingMock__factory.abi = _abi$T; + +const _abi$S = [ + { + inputs: [ + { + internalType: "bytes32", + name: "_torn", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "_governance", + type: "bytes32" + }, + { + internalType: "uint256", + name: "_duration", + type: "uint256" + }, + { + components: [ + { + internalType: "address", + name: "to", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + internalType: "struct Voucher.Recipient[]", + name: "_airdrops", + type: "tuple[]" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Approval", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Transfer", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "allowedTransferee", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "blockTimestamp", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32[]", + name: "domains", + type: "bytes32[]" + } + ], + name: "bulkResolve", + outputs: [ + { + internalType: "address[]", + name: "result", + type: "address[]" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "subtractedValue", + type: "uint256" + } + ], + name: "decreaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "expiresAt", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "fakeTimestamp", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "governance", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256" + } + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "redeem", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "rescueExpiredTokens", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "addr", + type: "bytes32" + } + ], + name: "resolve", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "_fakeTimestamp", + type: "uint256" + } + ], + name: "setFakeTimestamp", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "torn", + outputs: [ + { + internalType: "contract IERC20", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; +const _bytecode$w = "0x60e06040523480156200001157600080fd5b5060405162001b7838038062001b78833981016040819052620000349162000476565b8383838360405180606001604052806026815260200162001b5260269139604051806040016040528060058152602001643b2a27a92760d91b8152508160039080519060200190620000889291906200038d565b5080516200009e9060049060208401906200038d565b50506005805460ff1916601217905550620000b984620001b7565b60601b6001600160601b031916608052620000d483620001b7565b60601b6001600160601b03191660c0526200010782620000f3620001bd565b620001d960201b6200089d1790919060201c565b60a05260005b8151811015620001a857620001598282815181106200012857fe5b6020026020010151600001518383815181106200014157fe5b6020026020010151602001516200021160201b60201c565b6001600660008484815181106200016c57fe5b602090810291909101810151516001600160a01b03168252810191909152604001600020805460ff19169115159190911790556001016200010d565b5050505050505050506200061d565b60601c90565b6000620001d4620002f460201b620008c91760201c565b905090565b6000828201838110156200020a5760405162461bcd60e51b8152600401620002019062000548565b60405180910390fd5b9392505050565b6001600160a01b0382166200023a5760405162461bcd60e51b81526004016200020190620005b6565b62000248600083836200030f565b6200026481600254620001d960201b6200089d1790919060201c565b6002556001600160a01b03821660009081526020818152604090912054620002979183906200089d620001d9821b17901c565b6001600160a01b0383166000818152602081905260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90620002e8908590620005ed565b60405180910390a35050565b60006007546000146200030a57600754620001d4565b504290565b620003278383836200038860201b620008e21760201c565b6001600160a01b03821615806200034557506001600160a01b038316155b806200036957506001600160a01b03831660009081526006602052604090205460ff165b620003885760405162461bcd60e51b815260040162000201906200057f565b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620003d057805160ff191683800117855562000400565b8280016001018555821562000400579182015b8281111562000400578251825591602001919060010190620003e3565b506200040e92915062000412565b5090565b5b808211156200040e576000815560010162000413565b6000604082840312156200043b578081fd5b620004476040620005f6565b82519091506001600160a01b03811681146200046257600080fd5b808252506020820151602082015292915050565b600080600080608085870312156200048c578384fd5b8451935060208086015193506040808701519350606087015160018060401b0380821115620004b9578485fd5b818901915089601f830112620004cd578485fd5b815181811115620004dc578586fd5b620004eb8586830201620005f6565b8181528581019250838601858302850187018d101562000509578788fd5b8794505b828510156200053757620005228d8262000429565b8452600194909401939286019285016200050d565b50989b979a50959850505050505050565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252601e908201527f45524332303a207472616e73666572206973206e6f7420616c6c6f7765640000604082015260600190565b6020808252601f908201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b90815260200190565b6040518181016001600160401b03811182821017156200061557600080fd5b604052919050565b60805160601c60a05160c05160601c6114e46200066e6000398061046952806106de5250806104c352806105f752806106945250806105d3528061066852806106ff52806107a352506114e46000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c80638622a689116100b8578063adf898a41161007c578063adf898a414610269578063be040fb014610271578063c39ef8551461027b578063c565882714610283578063dd62ed3e14610296578063f9e54234146102a957610142565b80638622a6891461022b57806395d89b4114610233578063a457c2d71461023b578063a9059cbb1461024e578063adb618321461026157610142565b8063313ce5671161010a578063313ce567146101b557806339509351146101ca5780635aa6e675146101dd5780635c23bdf5146101f25780635d4545a01461020557806370a082311461021857610142565b806301ec0fab1461014757806306fdde0314610165578063095ea7b31461017a57806318160ddd1461019a57806323b872dd146101a2575b600080fd5b61014f6102c9565b60405161015c9190611376565b60405180910390f35b61016d6102cf565b60405161015c9190611087565b61018d610188366004610ed7565b610365565b60405161015c919061107c565b61014f610383565b61018d6101b0366004610e97565b610389565b6101bd610410565b60405161015c919061137f565b61018d6101d8366004610ed7565b610419565b6101e5610467565b60405161015c9190611002565b6101e5610200366004610fb6565b61048b565b61018d610213366004610e48565b610491565b61014f610226366004610e48565b6104a6565b61014f6104c1565b61016d6104e5565b61018d610249366004610ed7565b610546565b61018d61025c366004610ed7565b6105ae565b61014f6105c2565b6101e56105d1565b6102796105f5565b005b610279610692565b610279610291366004610fb6565b6107cc565b61014f6102a4366004610e63565b6107d1565b6102bc6102b7366004610f01565b6107fc565b60405161015c919061102f565b60075481565b60038054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561035b5780601f106103305761010080835404028352916020019161035b565b820191906000526020600020905b81548152906001019060200180831161033e57829003601f168201915b5050505050905090565b60006103796103726108e7565b84846108eb565b5060015b92915050565b60025490565b600061039684848461099f565b610406846103a26108e7565b61040185604051806060016040528060288152602001611462602891396001600160a01b038a166000908152600160205260408120906103e06108e7565b6001600160a01b031681526020810191909152604001600020549190610ab4565b6108eb565b5060019392505050565b60055460ff1690565b60006103796104266108e7565b8461040185600160006104376108e7565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549061089d565b7f000000000000000000000000000000000000000000000000000000000000000081565b60601c90565b60066020526000908152604090205460ff1681565b6001600160a01b031660009081526020819052604090205490565b7f000000000000000000000000000000000000000000000000000000000000000081565b60048054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561035b5780601f106103305761010080835404028352916020019161035b565b60006103796105536108e7565b846104018560405180606001604052806025815260200161148a602591396001600061057d6108e7565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190610ab4565b60006103796105bb6108e7565b848461099f565b60006105cc6108c9565b905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000061061e6105c2565b106106445760405162461bcd60e51b815260040161063b90611176565b60405180910390fd5b600061064f336104a6565b905061065b3382610ae0565b61068f6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163383610bc2565b50565b7f00000000000000000000000000000000000000000000000000000000000000006106bb6105c2565b10156106d95760405162461bcd60e51b815260040161063b906111ad565b6107ca7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016107499190611002565b60206040518083038186803b15801561076157600080fd5b505afa158015610775573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107999190610fce565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190610bc2565b565b600755565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6060815167ffffffffffffffff8111801561081657600080fd5b50604051908082528060200260200182016040528015610840578160200160208202803683370190505b50905060005b82518110156108975761086b83828151811061085e57fe5b602002602001015161048b565b82828151811061087757fe5b6001600160a01b0390921660209283029190910190910152600101610846565b50919050565b6000828201838110156108c25760405162461bcd60e51b815260040161063b9061113f565b9392505050565b60006007546000146108dd576007546105cc565b504290565b505050565b3390565b6001600160a01b0383166109115760405162461bcd60e51b815260040161063b906112b1565b6001600160a01b0382166109375760405162461bcd60e51b815260040161063b906110fd565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610992908590611376565b60405180910390a3505050565b6001600160a01b0383166109c55760405162461bcd60e51b815260040161063b9061126c565b6001600160a01b0382166109eb5760405162461bcd60e51b815260040161063b906110ba565b6109f6838383610c18565b610a338160405180606001604052806026815260200161143c602691396001600160a01b0386166000908152602081905260409020549190610ab4565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610a62908261089d565b6001600160a01b0380841660008181526020819052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610992908590611376565b60008184841115610ad85760405162461bcd60e51b815260040161063b9190611087565b505050900390565b6001600160a01b038216610b065760405162461bcd60e51b815260040161063b9061122b565b610b1282600083610c18565b610b4f8160405180606001604052806022815260200161141a602291396001600160a01b0385166000908152602081905260409020549190610ab4565b6001600160a01b038316600090815260208190526040902055600254610b759082610c7f565b6002556040516000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610bb6908590611376565b60405180910390a35050565b6108e28363a9059cbb60e01b8484604051602401610be1929190611016565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610cc1565b610c238383836108e2565b6001600160a01b0382161580610c4057506001600160a01b038316155b80610c6357506001600160a01b03831660009081526006602052604090205460ff165b6108e25760405162461bcd60e51b815260040161063b906111f4565b60006108c283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ab4565b6060610d16826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610d509092919063ffffffff16565b8051909150156108e25780806020019051810190610d349190610f96565b6108e25760405162461bcd60e51b815260040161063b9061132c565b6060610d5f8484600085610d67565b949350505050565b6060610d7285610e2b565b610d8e5760405162461bcd60e51b815260040161063b906112f5565b60006060866001600160a01b03168587604051610dab9190610fe6565b60006040518083038185875af1925050503d8060008114610de8576040519150601f19603f3d011682016040523d82523d6000602084013e610ded565b606091505b50915091508115610e01579150610d5f9050565b805115610e115780518082602001fd5b8360405162461bcd60e51b815260040161063b9190611087565b3b151590565b80356001600160a01b038116811461037d57600080fd5b600060208284031215610e59578081fd5b6108c28383610e31565b60008060408385031215610e75578081fd5b610e7f8484610e31565b9150610e8e8460208501610e31565b90509250929050565b600080600060608486031215610eab578081fd5b8335610eb681611404565b92506020840135610ec681611404565b929592945050506040919091013590565b60008060408385031215610ee9578182fd5b610ef38484610e31565b946020939093013593505050565b60006020808385031215610f13578182fd5b823567ffffffffffffffff811115610f29578283fd5b8301601f81018513610f39578283fd5b8035610f4c610f47826113b4565b61138d565b8181528381019083850185840285018601891015610f68578687fd5b8694505b83851015610f8a578035835260019490940193918501918501610f6c565b50979650505050505050565b600060208284031215610fa7578081fd5b815180151581146108c2578182fd5b600060208284031215610fc7578081fd5b5035919050565b600060208284031215610fdf578081fd5b5051919050565b60008251610ff88184602087016113d4565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6020808252825182820181905260009190848201906040850190845b818110156110705783516001600160a01b03168352928401929184019160010161104b565b50909695505050505050565b901515815260200190565b60006020825282518060208401526110a68160408501602087016113d4565b601f01601f19169190910160400192915050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252601f908201527f41697264726f702072656465656d20706572696f642068617320656e64656400604082015260600190565b60208082526027908201527f41697264726f702072656465656d20706572696f6420686173206e6f7420656e604082015266191959081e595d60ca1b606082015260800190565b6020808252601e908201527f45524332303a207472616e73666572206973206e6f7420616c6c6f7765640000604082015260600190565b60208082526021908201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736040820152607360f81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b90815260200190565b60ff91909116815260200190565b60405181810167ffffffffffffffff811182821017156113ac57600080fd5b604052919050565b600067ffffffffffffffff8211156113ca578081fd5b5060209081020190565b60005b838110156113ef5781810151838201526020016113d7565b838111156113fe576000848401525b50505050565b6001600160a01b038116811461068f57600080fdfe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220794126baf4ea3c44b9afb84b4d8a20535aca899e75471e5d9bb4c8e671aabde664736f6c634300060c0033546f726e61646f4361736820766f756368657220666f72206561726c792061646f7074657273"; +const isSuperArgs$w = (xs) => xs.length > 1; +class VoucherMock__factory extends ContractFactory { + constructor(...args) { + if (isSuperArgs$w(args)) { + super(...args); + } else { + super(_abi$S, _bytecode$w, args[0]); + } + } + getDeployTransaction(_torn, _governance, _duration, _airdrops, overrides) { + return super.getDeployTransaction( + _torn, + _governance, + _duration, + _airdrops, + overrides || {} + ); + } + deploy(_torn, _governance, _duration, _airdrops, overrides) { + return super.deploy( + _torn, + _governance, + _duration, + _airdrops, + overrides || {} + ); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new Interface(_abi$S); + } + static connect(address, runner) { + return new Contract(address, _abi$S, runner); + } +} +VoucherMock__factory.bytecode = _bytecode$w; +VoucherMock__factory.abi = _abi$S; + +var index$t = /*#__PURE__*/Object.freeze({ + __proto__: null, + AirdropMock__factory: AirdropMock__factory, + ENSMock__factory: ENSMock__factory, + TORNMock__factory: TORNMock__factory, + Timestamp__factory: Timestamp__factory, + VestingMock__factory: VestingMock__factory, + VoucherMock__factory: VoucherMock__factory +}); + +const _abi$R = [ + { + inputs: [ + { + internalType: "bytes32", + name: "tokenAddress", + type: "bytes32" + }, + { + components: [ + { + internalType: "address", + name: "to", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + internalType: "struct Airdrop.Recipient[]", + name: "targets", + type: "tuple[]" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + inputs: [ + { + internalType: "bytes32[]", + name: "domains", + type: "bytes32[]" + } + ], + name: "bulkResolve", + outputs: [ + { + internalType: "address[]", + name: "result", + type: "address[]" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "node", + type: "bytes32" + } + ], + name: "resolve", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + } +]; +const _bytecode$v = "0x60806040523480156200001157600080fd5b506040516200054038038062000540833981016040819052620000349162000396565b60006200004183620001c2565b90506000816001600160a01b03166370a08231306040518263ffffffff1660e01b815260040162000073919062000467565b60206040518083038186803b1580156200008c57600080fd5b505afa158015620000a1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000c791906200044e565b11620000f05760405162461bcd60e51b8152600401620000e7906200049d565b60405180910390fd5b60005b8251811015620001bd57816001600160a01b031663a9059cbb8483815181106200011957fe5b6020026020010151600001518584815181106200013257fe5b6020026020010151602001516040518363ffffffff1660e01b81526004016200015d9291906200047b565b602060405180830381600087803b1580156200017857600080fd5b505af11580156200018d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b3919062000374565b50600101620000f3565b506000ff5b600080620001cf62000310565b600114620001f257738595bfb0d940dfedc98943fa8a907091203f25ee62000203565b6e0c2e074ec69a0dfb2997ba6c7d2e1e5b604051630178b8bf60e01b81529091506001600160a01b03821690630178b8bf906200023490869060040162000494565b60206040518083038186803b1580156200024d57600080fd5b505afa15801562000262573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000288919062000355565b6001600160a01b0316633b3b57de846040518263ffffffff1660e01b8152600401620002b5919062000494565b60206040518083038186803b158015620002ce57600080fd5b505afa158015620002e3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000309919062000355565b9392505050565b4690565b60006040828403121562000326578081fd5b620003326040620004df565b90508151620003418162000526565b808252506020820151602082015292915050565b60006020828403121562000367578081fd5b8151620003098162000526565b60006020828403121562000386578081fd5b8151801515811462000309578182fd5b6000806040808486031215620003aa578182fd5b8351602080860151919450906001600160401b03811115620003ca578384fd5b8501601f81018713620003db578384fd5b8051620003f2620003ec8262000506565b620004df565b81815283810190838501868402850186018b10156200040f578788fd5b8794505b838510156200043d57620004288b8262000314565b83526001949094019391850191860162000413565b508096505050505050509250929050565b60006020828403121562000460578081fd5b5051919050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b90815260200190565b60208082526022908201527f42616c616e636520697320302c2061697264726f7020616c726561647920646f6040820152616e6560f01b606082015260800190565b6040518181016001600160401b0381118282101715620004fe57600080fd5b604052919050565b60006001600160401b038211156200051c578081fd5b5060209081020190565b6001600160a01b03811681146200053c57600080fd5b5056fe"; +const isSuperArgs$v = (xs) => xs.length > 1; +class Airdrop__factory extends ContractFactory { + constructor(...args) { + if (isSuperArgs$v(args)) { + super(...args); + } else { + super(_abi$R, _bytecode$v, args[0]); + } + } + getDeployTransaction(tokenAddress, targets, overrides) { + return super.getDeployTransaction(tokenAddress, targets, overrides || {}); + } + deploy(tokenAddress, targets, overrides) { + return super.deploy(tokenAddress, targets, overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new Interface(_abi$R); + } + static connect(address, runner) { + return new Contract(address, _abi$R, runner); + } +} +Airdrop__factory.bytecode = _bytecode$v; +Airdrop__factory.abi = _abi$R; + +const _abi$Q = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Approval", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Transfer", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "blockTimestamp", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "chainID", + outputs: [ + { + internalType: "uint256", + name: "_chainID", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "subtractedValue", + type: "uint256" + } + ], + name: "decreaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256" + } + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + } + ], + name: "nonces", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256" + }, + { + internalType: "uint8", + name: "v", + type: "uint8" + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32" + } + ], + name: "permit", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; +class ERC20Permit__factory { + static createInterface() { + return new Interface(_abi$Q); + } + static connect(address, runner) { + return new Contract(address, _abi$Q, runner); + } +} +ERC20Permit__factory.abi = _abi$Q; + +const _abi$P = [ + { + inputs: [ + { + internalType: "address", + name: "_governance", + type: "address" + }, + { + internalType: "uint256", + name: "_pausePeriod", + type: "uint256" + }, + { + components: [ + { + internalType: "address", + name: "to", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + internalType: "struct TORN.Recipient[]", + name: "_vestings", + type: "tuple[]" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "target", + type: "address" + } + ], + name: "Allowed", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Approval", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "target", + type: "address" + } + ], + name: "Disallowed", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "account", + type: "address" + } + ], + name: "Paused", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Transfer", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "account", + type: "address" + } + ], + name: "Unpaused", + type: "event" + }, + { + inputs: [ + { + internalType: "address[]", + name: "target", + type: "address[]" + } + ], + name: "addToAllowedList", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "allowedTransferee", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "blockTimestamp", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "burn", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "burnFrom", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "canUnpauseAfter", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "chainID", + outputs: [ + { + internalType: "uint256", + name: "_chainID", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bool", + name: "decision", + type: "bool" + } + ], + name: "changeTransferability", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "subtractedValue", + type: "uint256" + } + ], + name: "decreaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "governance", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256" + } + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + } + ], + name: "nonces", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "paused", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256" + }, + { + internalType: "uint8", + name: "v", + type: "uint8" + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32" + } + ], + name: "permit", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address[]", + name: "target", + type: "address[]" + } + ], + name: "removeFromAllowedList", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "contract IERC20", + name: "_token", + type: "address" + }, + { + internalType: "address payable", + name: "_to", + type: "address" + }, + { + internalType: "uint256", + name: "_balance", + type: "uint256" + } + ], + name: "rescueTokens", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; +const _bytecode$u = "0x60c06040523480156200001157600080fd5b506040516200288338038062002883833981016040819052620000349162000699565b604080518082018252600b81526a0a8dee4dcc2c8de86c2e6d60ab1b6020808301918252835180850190945260048452632a27a92760e11b9084015281519192916200008391600391620005a7565b50805162000099906004906020840190620005a7565b50506005805460ff1916601217905550620000b3620001f0565b506008805460ff199081169091556001600160601b0319606085901b1660a0526001600160a01b0384166000908152600960205260408120805490921660011790915583905b8251811015620001765760008382815181106200011257fe5b60200260200101516000015190506200014a818584815181106200013257fe5b602002602001015160200151620002ac60201b60201c565b6001600160a01b03166000908152600960205260409020805460ff1916600190811790915501620000f9565b506200019a83620001866200038f565b6200039360201b62000cbd1790919060201c565b608052620001a7620003c4565b620001b16200043b565b6a084595161401484a00000014620001e65760405162461bcd60e51b8152600401620001dd906200086b565b60405180910390fd5b5050505062000909565b600080620001fd62000441565b905060007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6200022c62000445565b805160209182012060408051808201825260018152603160f81b90840152516200027e93927fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc691879130910162000781565b60408051601f1981840301815291815281516020928301206000948552600790925290922082905550905090565b6001600160a01b038216620002d55760405162461bcd60e51b8152600401620001dd90620008a2565b620002e360008383620004df565b620002ff816002546200039360201b62000cbd1790919060201c565b6002556001600160a01b038216600090815260208181526040909120546200033291839062000cbd62000393821b17901c565b6001600160a01b0383166000818152602081905260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9062000383908590620008d9565b60405180910390a35050565b4290565b600082820183811015620003bb5760405162461bcd60e51b8152600401620001dd90620007ad565b90505b92915050565b60085460ff1615620003ea5760405162461bcd60e51b8152600401620001dd9062000841565b6008805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258620004226200059a565b6040516200043191906200076d565b60405180910390a1565b60025490565b4690565b60038054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015620004d55780601f10620004a957610100808354040283529160200191620004d5565b820191906000526020600020905b815481529060010190602001808311620004b757829003601f168201915b5050505050905090565b620004f78383836200059560201b620006aa1760201c565b620005016200059e565b15806200052657506001600160a01b03831660009081526009602052604090205460ff165b806200054a57506001600160a01b03821660009081526009602052604090205460ff165b620005695760405162461bcd60e51b8152600401620001dd906200081b565b6001600160a01b038216301415620005955760405162461bcd60e51b8152600401620001dd90620007e4565b505050565b3390565b60085460ff1690565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620005ea57805160ff19168380011785556200061a565b828001600101855582156200061a579182015b828111156200061a578251825591602001919060010190620005fd565b50620006289291506200062c565b5090565b5b808211156200062857600081556001016200062d565b80516001600160a01b0381168114620003be57600080fd5b6000604082840312156200066d578081fd5b620006796040620008e2565b905062000687838362000643565b81526020820151602082015292915050565b600080600060608486031215620006ae578283fd5b620006ba858562000643565b9250602080850151925060408086015160018060401b0380821115620006de578485fd5b818801915088601f830112620006f2578485fd5b81518181111562000701578586fd5b620007108586830201620008e2565b8181528581019250838601858302850187018c10156200072e578788fd5b8794505b828510156200075c57620007478c826200065b565b84526001949094019392860192850162000732565b508096505050505050509250925092565b6001600160a01b0391909116815260200190565b9485526020850193909352604084019190915260608301526001600160a01b0316608082015260a00190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526017908201527f544f524e3a20696e76616c696420726563697069656e74000000000000000000604082015260600190565b6020808252600c908201526b1513d4938e881c185d5cd95960a21b604082015260600190565b60208082526010908201526f14185d5cd8589b194e881c185d5cd95960821b604082015260600190565b6020808252601c908201527f544f524e3a20696e636f727265637420646973747269627574696f6e00000000604082015260600190565b6020808252601f908201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b90815260200190565b6040518181016001600160401b03811182821017156200090157600080fd5b604052919050565b60805160a05160601c611f3a62000949600039806104d752806105ff52806106cc528061078552806109715250806107245280610c705250611f3a6000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c806379cc6790116100de578063a9059cbb11610097578063cea9d26f11610071578063cea9d26f146102fb578063d505accf1461030e578063dc0f0d1214610321578063dd62ed3e1461032957610173565b8063a9059cbb146102d8578063adb61832146102eb578063adc879e9146102f357610173565b806379cc6790146102715780637ecebe001461028457806381893c7c14610297578063885ad0cf146102aa57806395d89b41146102bd578063a457c2d7146102c557610173565b80633c8d76d1116101305780633c8d76d11461020657806342966c681461021b5780635aa6e6751461022e5780635c975abb146102435780635d4545a01461024b57806370a082311461025e57610173565b806306fdde0314610178578063095ea7b31461019657806318160ddd146101b657806323b872dd146101cb578063313ce567146101de57806339509351146101f3575b600080fd5b61018061033c565b60405161018d9190611875565b60405180910390f35b6101a96101a436600461163a565b6103d3565b60405161018d91906117ec565b6101be6103f1565b60405161018d9190611d9a565b6101a96101d9366004611585565b6103f7565b6101e661047e565b60405161018d9190611da3565b6101a961020136600461163a565b610487565b610219610214366004611665565b6104d5565b005b61021961022936600461174e565b6105e9565b6102366105fd565b60405161018d91906117bf565b6101a9610621565b6101a9610259366004611531565b61062a565b6101be61026c366004611531565b61063f565b61021961027f36600461163a565b61065a565b6101be610292366004611531565b6106af565b6102196102a5366004611702565b6106ca565b6102196102b8366004611665565b610783565b61018061088a565b6101a96102d336600461163a565b6108eb565b6101a96102e636600461163a565b610953565b6101be610967565b6101be61096b565b61021961030936600461173a565b61096f565b61021961031c3660046115c5565b610b2d565b6101be610c6e565b6101be61033736600461154d565b610c92565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103c85780601f1061039d576101008083540402835291602001916103c8565b820191906000526020600020905b8154815290600101906020018083116103ab57829003601f168201915b505050505090505b90565b60006103e76103e0610ce9565b8484610ced565b5060015b92915050565b60025490565b6000610404848484610da1565b61047484610410610ce9565b61046f85604051806060016040528060288152602001611e94602891396001600160a01b038a1660009081526001602052604081209061044e610ce9565b6001600160a01b031681526020810191909152604001600020549190610eb6565b610ced565b5060019392505050565b60055460ff1690565b60006103e7610494610ce9565b8461046f85600160006104a5610ce9565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610cbd565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610507610ce9565b6001600160a01b0316146105365760405162461bcd60e51b815260040161052d90611d16565b60405180910390fd5b60005b81518110156105e55760006009600084848151811061055457fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055507f9ef90a89b00db1a1891a357dc96b2a273add9d883e378c350d22bad87a9d7d308282815181106105c057fe5b60200260200101516040516105d591906117bf565b60405180910390a1600101610539565b5050565b6105fa6105f4610ce9565b82610ee2565b50565b7f000000000000000000000000000000000000000000000000000000000000000081565b60085460ff1690565b60096020526000908152604090205460ff1681565b6001600160a01b031660009081526020819052604090205490565b600061068c82604051806060016040528060248152602001611ebc6024913961068586610337610ce9565b9190610eb6565b90506106a08361069a610ce9565b83610ced565b6106aa8383610ee2565b505050565b6001600160a01b031660009081526006602052604090205490565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166106fc610ce9565b6001600160a01b0316146107225760405162461bcd60e51b815260040161052d90611d16565b7f000000000000000000000000000000000000000000000000000000000000000061074b610967565b116107685760405162461bcd60e51b815260040161052d90611b0b565b801561077b57610776610fc4565b6105fa565b6105fa611030565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166107b5610ce9565b6001600160a01b0316146107db5760405162461bcd60e51b815260040161052d90611d16565b60005b81518110156105e5576001600960008484815181106107f957fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055507f77a7dbc6ad97703ad411a8d5edfcd1df382fb34b076a90898b11884f7ebdcc0582828151811061086557fe5b602002602001015160405161087a91906117bf565b60405180910390a16001016107de565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103c85780601f1061039d576101008083540402835291602001916103c8565b60006103e76108f8610ce9565b8461046f85604051806060016040528060258152602001611ee06025913960016000610922610ce9565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190610eb6565b60006103e7610960610ce9565b8484610da1565b4290565b4690565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166109a1610ce9565b6001600160a01b0316146109c75760405162461bcd60e51b815260040161052d90611d16565b6001600160a01b0382166109ed5760405162461bcd60e51b815260040161052d90611c8a565b6001600160a01b038316610a56574760008215610a1357610a0e8284611089565b610a15565b815b6040519091506001600160a01b0385169082156108fc029083906000818181858888f19350505050158015610a4e573d6000803e3d6000fd5b5050506106aa565b6040516370a0823160e01b81526000906001600160a01b038516906370a0823190610a859030906004016117bf565b60206040518083038186803b158015610a9d57600080fd5b505afa158015610ab1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad59190611766565b905060008215610aee57610ae98284611089565b610af0565b815b905060008111610b125760405162461bcd60e51b815260040161052d90611d63565b610b266001600160a01b038616858361109f565b5050505050565b83610b36610967565b1115610b545760405162461bcd60e51b815260040161052d90611a00565b6001600160a01b0387166000908152600660209081526040808320549051610ba7927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9928c928c928c92918c91016117f7565b6040516020818303038152906040528051906020012090506000611901610bcc6110f5565b83604051602001610bdf9392919061179a565b6040516020818303038152906040528051906020012090506000610c0582878787611134565b9050896001600160a01b0316816001600160a01b031614610c385760405162461bcd60e51b815260040161052d90611b52565b6001600160a01b038a16600090815260066020526040902080546001019055610c628a8a8a610ced565b50505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b600082820183811015610ce25760405162461bcd60e51b815260040161052d90611992565b9392505050565b3390565b6001600160a01b038316610d135760405162461bcd60e51b815260040161052d90611c0f565b6001600160a01b038216610d395760405162461bcd60e51b815260040161052d90611950565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610d94908590611d9a565b60405180910390a3505050565b6001600160a01b038316610dc75760405162461bcd60e51b815260040161052d90611bca565b6001600160a01b038216610ded5760405162461bcd60e51b815260040161052d906118df565b610df883838361122c565b610e3581604051806060016040528060268152602001611e6e602691396001600160a01b0386166000908152602081905260409020549190610eb6565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610e649082610cbd565b6001600160a01b0380841660008181526020819052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d94908590611d9a565b60008184841115610eda5760405162461bcd60e51b815260040161052d9190611875565b505050900390565b6001600160a01b038216610f085760405162461bcd60e51b815260040161052d90611b89565b610f148260008361122c565b610f5181604051806060016040528060228152602001611e4c602291396001600160a01b0385166000908152602081905260409020549190610eb6565b6001600160a01b038316600090815260208190526040902055600254610f7790826112cb565b6002556040516000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610fb8908590611d9a565b60405180910390a35050565b60085460ff16610fe65760405162461bcd60e51b815260040161052d90611922565b6008805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa611019610ce9565b60405161102691906117bf565b60405180910390a1565b60085460ff16156110535760405162461bcd60e51b815260040161052d90611a9f565b6008805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611019610ce9565b60008183106110985781610ce2565b5090919050565b6106aa8363a9059cbb60e01b84846040516024016110be9291906117d3565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261130d565b6000806007600061110461096b565b8152602081019190915260400160002054905080156111245790506103d0565b61112c61139c565b9150506103d0565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08211156111765760405162461bcd60e51b815260040161052d90611a5d565b8360ff16601b148061118b57508360ff16601c145b6111a75760405162461bcd60e51b815260040161052d90611ac9565b6000600186868686604051600081526020016040526040516111cc9493929190611857565b6020604051602081039080840390855afa1580156111ee573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166112215760405162461bcd60e51b815260040161052d906118a8565b90505b949350505050565b6112378383836106aa565b61123f610621565b158061126357506001600160a01b03831660009081526009602052604090205460ff165b8061128657506001600160a01b03821660009081526009602052604090205460ff165b6112a25760405162461bcd60e51b815260040161052d90611a37565b6001600160a01b0382163014156106aa5760405162461bcd60e51b815260040161052d906119c9565b6000610ce283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610eb6565b6060611362826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166114529092919063ffffffff16565b8051909150156106aa5780806020019051810190611380919061171e565b6106aa5760405162461bcd60e51b815260040161052d90611ccc565b6000806113a761096b565b905060007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6113d461033c565b805160209182012060408051808201825260018152603160f81b908401525161142493927fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc691879130910161182b565b60408051601f1981840301815291815281516020928301206000948552600790925290922082905550905090565b60606112248484600085606061146785611520565b6114835760405162461bcd60e51b815260040161052d90611c53565b60006060866001600160a01b031685876040516114a0919061177e565b60006040518083038185875af1925050503d80600081146114dd576040519150601f19603f3d011682016040523d82523d6000602084013e6114e2565b606091505b509150915081156114f65791506112249050565b8051156115065780518082602001fd5b8360405162461bcd60e51b815260040161052d9190611875565b3b151590565b80356103eb81611e28565b600060208284031215611542578081fd5b8135610ce281611e28565b6000806040838503121561155f578081fd5b823561156a81611e28565b9150602083013561157a81611e28565b809150509250929050565b600080600060608486031215611599578081fd5b83356115a481611e28565b925060208401356115b481611e28565b929592945050506040919091013590565b600080600080600080600060e0888a0312156115df578283fd5b87356115ea81611e28565b965060208801356115fa81611e28565b95506040880135945060608801359350608088013560ff8116811461161d578384fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561164c578182fd5b823561165781611e28565b946020939093013593505050565b60006020808385031215611677578182fd5b823567ffffffffffffffff81111561168d578283fd5b8301601f8101851361169d578283fd5b80356116b06116ab82611dd8565b611db1565b81815283810190838501858402850186018910156116cc578687fd5b8694505b838510156116f6576116e28982611526565b8352600194909401939185019185016116d0565b50979650505050505050565b600060208284031215611713578081fd5b8135610ce281611e3d565b60006020828403121561172f578081fd5b8151610ce281611e3d565b600080600060608486031215611599578283fd5b60006020828403121561175f578081fd5b5035919050565b600060208284031215611777578081fd5b5051919050565b60008251611790818460208701611df8565b9190910192915050565b60f09390931b6001600160f01b03191683526002830191909152602282015260420190565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b9586526001600160a01b0394851660208701529290931660408501526060840152608083019190915260a082015260c00190565b9485526020850193909352604084019190915260608301526001600160a01b0316608082015260a00190565b93845260ff9290921660208401526040830152606082015260800190565b6000602082528251806020840152611894816040850160208701611df8565b601f01601f19169190910160400192915050565b60208082526018908201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604082015260600190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526014908201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604082015260600190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526017908201527f544f524e3a20696e76616c696420726563697069656e74000000000000000000604082015260600190565b6020808252601d908201527f45524332305065726d69743a206578706972656420646561646c696e65000000604082015260600190565b6020808252600c908201526b1513d4938e881c185d5cd95960a21b604082015260600190565b60208082526022908201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604082015261756560f01b606082015260800190565b60208082526010908201526f14185d5cd8589b194e881c185d5cd95960821b604082015260600190565b60208082526022908201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604082015261756560f01b606082015260800190565b60208082526027908201527f544f524e3a2063616e6e6f74206368616e6765207472616e736665726162696c6040820152661a5d1e481e595d60ca1b606082015260800190565b6020808252601e908201527f45524332305065726d69743a20696e76616c6964207369676e61747572650000604082015260600190565b60208082526021908201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736040820152607360f81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b60208082526022908201527f544f524e3a2063616e206e6f742073656e6420746f207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b6020808252602d908201527f544f524e3a206f6e6c7920676f7665726e616e63652063616e20706572666f7260408201526c36903a3434b99030b1ba34b7b760991b606082015260800190565b6020808252601e908201527f544f524e3a20747279696e6720746f2073656e6420302062616c616e63650000604082015260600190565b90815260200190565b60ff91909116815260200190565b60405181810167ffffffffffffffff81118282101715611dd057600080fd5b604052919050565b600067ffffffffffffffff821115611dee578081fd5b5060209081020190565b60005b83811015611e13578181015183820152602001611dfb565b83811115611e22576000848401525b50505050565b6001600160a01b03811681146105fa57600080fd5b80151581146105fa57600080fdfe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220fd515804eca384cb14c99861e60dc5364ae65ba9ddfdfe00d195788ee631d01064736f6c634300060c0033"; +const isSuperArgs$u = (xs) => xs.length > 1; +class TORN__factory extends ContractFactory { + constructor(...args) { + if (isSuperArgs$u(args)) { + super(...args); + } else { + super(_abi$P, _bytecode$u, args[0]); + } + } + getDeployTransaction(_governance, _pausePeriod, _vestings, overrides) { + return super.getDeployTransaction( + _governance, + _pausePeriod, + _vestings, + overrides || {} + ); + } + deploy(_governance, _pausePeriod, _vestings, overrides) { + return super.deploy( + _governance, + _pausePeriod, + _vestings, + overrides || {} + ); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new Interface(_abi$P); + } + static connect(address, runner) { + return new Contract(address, _abi$P, runner); + } +} +TORN__factory.bytecode = _bytecode$u; +TORN__factory.abi = _abi$P; + +const _abi$O = [ + { + inputs: [ + { + internalType: "address", + name: "_token", + type: "address" + }, + { + internalType: "address", + name: "_beneficiary", + type: "address" + }, + { + internalType: "uint256", + name: "_startTimestamp", + type: "uint256" + }, + { + internalType: "uint256", + name: "_cliffInMonths", + type: "uint256" + }, + { + internalType: "uint256", + name: "_durationInMonths", + type: "uint256" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "Released", + type: "event" + }, + { + inputs: [], + name: "SECONDS_PER_MONTH", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "beneficiary", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "blockTimestamp", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "cliffInMonths", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "durationInMonths", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "release", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "released", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "startTimestamp", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "token", + outputs: [ + { + internalType: "contract IERC20", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "vestedAmount", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + } +]; +const _bytecode$t = "0x61012060405234801561001157600080fd5b50604051610c8c380380610c8c833981810160405260a081101561003457600080fd5b508051602082015160408301516060840151608090940151929391929091906001600160a01b0384166100ae576040805162461bcd60e51b815260206004820152601b60248201527f42656e65666963696172792063616e6e6f7420626520656d7074790000000000604482015290519081900360640190fd5b80821115610103576040805162461bcd60e51b815260206004820152601e60248201527f436c6966662069732067726561746572207468616e206475726174696f6e0000604482015290519081900360640190fd5b6001600160601b0319606086811b821660a05285901b1660805261010081905260c08290528215610134578261013c565b61013c61014a565b60e0525061014e9350505050565b4290565b60805160601c60a05160601c60c05160e05161010051610acc6101c060003980610203528061037b52806103dd525080610152528061018e52806105215250806101d052806104f352508061024852806102c85280610474528061054552508061012c52806104965250610acc6000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063928d89ae11610066578063928d89ae146100fb5780639613252114610103578063adb618321461010b578063e6fd48bc14610113578063fc0c546a1461011b5761009e565b806310786deb146100a357806338af3eed146100bd57806344b1231f146100e157806367097a4b146100e957806386d1a69f146100f1575b600080fd5b6100ab610123565b60408051918252519081900360200190f35b6100c561012a565b604080516001600160a01b039092168252519081900360200190f35b6100ab61014e565b6100ab6103db565b6100f96103ff565b005b6100ab6104f1565b6100ab610515565b6100ab61051b565b6100ab61051f565b6100c5610543565b62278d0081565b7f000000000000000000000000000000000000000000000000000000000000000081565b60007f000000000000000000000000000000000000000000000000000000000000000061017961051b565b1015610187575060006103d8565b60006101bb7f00000000000000000000000000000000000000000000000000000000000000006101b561051b565b90610567565b905060006101cc8262278d006105b2565b90507f0000000000000000000000000000000000000000000000000000000000000000811015610201576000925050506103d8565b7f000000000000000000000000000000000000000000000000000000000000000081106102c457604080516370a0823160e01b815230600482015290516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916370a08231916024808301926020929190829003018186803b15801561028e57600080fd5b505afa1580156102a2573d6000803e3d6000fd5b505050506040513d60208110156102b857600080fd5b505192506103d8915050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561033357600080fd5b505afa158015610347573d6000803e3d6000fd5b505050506040513d602081101561035d57600080fd5b505160008054919250906103729083906105f4565b905060006103aa7f00000000000000000000000000000000000000000000000000000000000000006103a4848761064e565b906105b2565b905060006103c36000548361056790919063ffffffff16565b90506103cf84826106a7565b96505050505050505b90565b7f000000000000000000000000000000000000000000000000000000000000000081565b600061040961014e565b905060008111610457576040805162461bcd60e51b81526020600482015260146024820152734e6f20746f6b656e7320746f2072656c6561736560601b604482015290519081900360640190fd5b60005461046490826105f4565b6000556104bb6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f0000000000000000000000000000000000000000000000000000000000000000836106bd565b6040805182815290517ffb81f9b30d73d830c3544b34d827c08142579ee75710b490bab0b3995468c5659181900360200190a150565b7f000000000000000000000000000000000000000000000000000000000000000081565b60005481565b4290565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b60006105a983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610714565b90505b92915050565b60006105a983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506107ab565b6000828201838110156105a9576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008261065d575060006105ac565b8282028284828161066a57fe5b04146105a95760405162461bcd60e51b8152600401808060200182810382526021815260200180610a4c6021913960400191505060405180910390fd5b60008183106106b657816105a9565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261070f908490610810565b505050565b600081848411156107a35760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610768578181015183820152602001610750565b50505050905090810190601f1680156107955780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836107fa5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610768578181015183820152602001610750565b50600083858161080657fe5b0495945050505050565b6060610865826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166108c19092919063ffffffff16565b80519091501561070f5780806020019051602081101561088457600080fd5b505161070f5760405162461bcd60e51b815260040180806020018281038252602a815260200180610a6d602a913960400191505060405180910390fd5b60606108d084846000856108d8565b949350505050565b60606108e385610a45565b610934576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106109735780518252601f199092019160209182019101610954565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146109d5576040519150601f19603f3d011682016040523d82523d6000602084013e6109da565b606091505b509150915081156109ee5791506108d09050565b8051156109fe5780518082602001fd5b60405162461bcd60e51b8152602060048201818152865160248401528651879391928392604401919085019080838360008315610768578181015183820152602001610750565b3b15159056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a26469706673582212203b3e8370e345374172efb9e3693b20807c318ecfcc569df94f28df8a94f2727a64736f6c634300060c0033"; +const isSuperArgs$t = (xs) => xs.length > 1; +class Vesting__factory extends ContractFactory { + constructor(...args) { + if (isSuperArgs$t(args)) { + super(...args); + } else { + super(_abi$O, _bytecode$t, args[0]); + } + } + getDeployTransaction(_token, _beneficiary, _startTimestamp, _cliffInMonths, _durationInMonths, overrides) { + return super.getDeployTransaction( + _token, + _beneficiary, + _startTimestamp, + _cliffInMonths, + _durationInMonths, + overrides || {} + ); + } + deploy(_token, _beneficiary, _startTimestamp, _cliffInMonths, _durationInMonths, overrides) { + return super.deploy( + _token, + _beneficiary, + _startTimestamp, + _cliffInMonths, + _durationInMonths, + overrides || {} + ); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new Interface(_abi$O); + } + static connect(address, runner) { + return new Contract(address, _abi$O, runner); + } +} +Vesting__factory.bytecode = _bytecode$t; +Vesting__factory.abi = _abi$O; + +const _abi$N = [ + { + inputs: [ + { + internalType: "bytes32", + name: "_torn", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "_governance", + type: "bytes32" + }, + { + internalType: "uint256", + name: "_duration", + type: "uint256" + }, + { + components: [ + { + internalType: "address", + name: "to", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + internalType: "struct Voucher.Recipient[]", + name: "_airdrops", + type: "tuple[]" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Approval", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256" + } + ], + name: "Transfer", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "address", + name: "spender", + type: "address" + } + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "allowedTransferee", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "blockTimestamp", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32[]", + name: "domains", + type: "bytes32[]" + } + ], + name: "bulkResolve", + outputs: [ + { + internalType: "address[]", + name: "result", + type: "address[]" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "subtractedValue", + type: "uint256" + } + ], + name: "decreaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "expiresAt", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "governance", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address" + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256" + } + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "redeem", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "rescueExpiredTokens", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "node", + type: "bytes32" + } + ], + name: "resolve", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "torn", + outputs: [ + { + internalType: "contract IERC20", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address" + }, + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; +const _bytecode$s = "0x60e06040523480156200001157600080fd5b5060405162001d8d38038062001d8d833981016040819052620000349162000593565b60405180606001604052806026815260200162001d6760269139604051806040016040528060058152602001643b2a27a92760d91b81525081600390805190602001906200008492919062000497565b5080516200009a90600490602084019062000497565b50506005805460ff1916601217905550620000b584620001af565b60601b6001600160601b031916608052620000d083620001af565b60601b6001600160601b03191660c0526200010382620000ef620002fd565b6200030160201b6200098d1790919060201c565b60a05260005b8151811015620001a457620001558282815181106200012457fe5b6020026020010151600001518383815181106200013d57fe5b6020026020010151602001516200033260201b60201c565b6001600660008484815181106200016857fe5b602090810291909101810151516001600160a01b03168252810191909152604001600020805460ff191691151591909117905560010162000109565b505050505062000753565b600080620001bc62000415565b600114620001df57738595bfb0d940dfedc98943fa8a907091203f25ee620001f0565b6e0c2e074ec69a0dfb2997ba6c7d2e1e5b604051630178b8bf60e01b81529091506001600160a01b03821690630178b8bf906200022190869060040162000665565b60206040518083038186803b1580156200023a57600080fd5b505afa1580156200024f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000275919062000574565b6001600160a01b0316633b3b57de846040518263ffffffff1660e01b8152600401620002a2919062000665565b60206040518083038186803b158015620002bb57600080fd5b505afa158015620002d0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002f6919062000574565b9392505050565b4290565b600082820183811015620002f65760405162461bcd60e51b815260040162000329906200066e565b60405180910390fd5b6001600160a01b0382166200035b5760405162461bcd60e51b81526004016200032990620006dc565b620003696000838362000419565b62000385816002546200030160201b6200098d1790919060201c565b6002556001600160a01b03821660009081526020818152604090912054620003b89183906200098d62000301821b17901c565b6001600160a01b0383166000818152602081905260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906200040990859062000665565b60405180910390a35050565b4690565b620004318383836200049260201b620009b21760201c565b6001600160a01b03821615806200044f57506001600160a01b038316155b806200047357506001600160a01b03831660009081526006602052604090205460ff165b620004925760405162461bcd60e51b81526004016200032990620006a5565b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620004da57805160ff19168380011785556200050a565b828001600101855582156200050a579182015b828111156200050a578251825591602001919060010190620004ed565b50620005189291506200051c565b5090565b5b808211156200051857600081556001016200051d565b60006040828403121562000545578081fd5b62000551604062000713565b9050815162000560816200073a565b808252506020820151602082015292915050565b60006020828403121562000586578081fd5b8151620002f6816200073a565b60008060008060808587031215620005a9578283fd5b8451935060208086015193506040808701519350606087015160018060401b0380821115620005d6578485fd5b818901915089601f830112620005ea578485fd5b815181811115620005f9578586fd5b62000608858683020162000713565b8181528581019250838601858302850187018d101562000626578788fd5b8794505b8285101562000654576200063f8d8262000533565b8452600194909401939286019285016200062a565b50989b979a50959850505050505050565b90815260200190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252601e908201527f45524332303a207472616e73666572206973206e6f7420616c6c6f7765640000604082015260600190565b6020808252601f908201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b6040518181016001600160401b03811182821017156200073257600080fd5b604052919050565b6001600160a01b03811681146200075057600080fd5b50565b60805160601c60a05160c05160601c6115c3620007a46000398061043152806107d35250806105c352806106ec52806107895250806106c8528061075d52806107f4528061089852506115c36000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c80638622a689116100ad578063adf898a411610071578063adf898a41461024b578063be040fb014610253578063c39ef8551461025d578063dd62ed3e14610265578063f9e54234146102785761012c565b80638622a6891461020d57806395d89b4114610215578063a457c2d71461021d578063a9059cbb14610230578063adb61832146102435761012c565b806339509351116100f457806339509351146101ac5780635aa6e675146101bf5780635c23bdf5146101d45780635d4545a0146101e757806370a08231146101fa5761012c565b806306fdde0314610131578063095ea7b31461014f57806318160ddd1461016f57806323b872dd14610184578063313ce56714610197575b600080fd5b610139610298565b604051610146919061116f565b60405180910390f35b61016261015d366004610fb5565b61032e565b604051610146919061115b565b61017761034b565b6040516101469190611166565b610162610192366004610f75565b610351565b61019f6103d8565b604051610146919061145e565b6101626101ba366004610fb5565b6103e1565b6101c761042f565b60405161014691906110e1565b6101c76101e2366004611095565b610453565b6101626101f5366004610f05565b610591565b610177610208366004610f05565b6105a6565b6101776105c1565b6101396105e5565b61016261022b366004610fb5565b610646565b61016261023e366004610fb5565b6106ae565b6101776106c2565b6101c76106c6565b61025b6106ea565b005b61025b610787565b610177610273366004610f3d565b6108c1565b61028b610286366004610fe0565b6108ec565b604051610146919061110e565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103245780601f106102f957610100808354040283529160200191610324565b820191906000526020600020905b81548152906001019060200180831161030757829003601f168201915b5050505050905090565b600061034261033b6109b7565b84846109bb565b50600192915050565b60025490565b600061035e848484610a6f565b6103ce8461036a6109b7565b6103c985604051806060016040528060288152602001611541602891396001600160a01b038a166000908152600160205260408120906103a86109b7565b6001600160a01b031681526020810191909152604001600020549190610b84565b6109bb565b5060019392505050565b60055460ff1690565b60006103426103ee6109b7565b846103c985600160006103ff6109b7565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549061098d565b7f000000000000000000000000000000000000000000000000000000000000000081565b60008061045e610bb0565b60011461047f57738595bfb0d940dfedc98943fa8a907091203f25ee610490565b6e0c2e074ec69a0dfb2997ba6c7d2e1e5b604051630178b8bf60e01b81529091506001600160a01b03821690630178b8bf906104bf908690600401611166565b60206040518083038186803b1580156104d757600080fd5b505afa1580156104eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061050f9190610f21565b6001600160a01b0316633b3b57de846040518263ffffffff1660e01b815260040161053a9190611166565b60206040518083038186803b15801561055257600080fd5b505afa158015610566573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058a9190610f21565b9392505050565b60066020526000908152604090205460ff1681565b6001600160a01b031660009081526020819052604090205490565b7f000000000000000000000000000000000000000000000000000000000000000081565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103245780601f106102f957610100808354040283529160200191610324565b60006103426106536109b7565b846103c985604051806060016040528060258152602001611569602591396001600061067d6109b7565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190610b84565b60006103426106bb6109b7565b8484610a6f565b4290565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f00000000000000000000000000000000000000000000000000000000000000006107136106c2565b106107395760405162461bcd60e51b81526004016107309061125e565b60405180910390fd5b6000610744336105a6565b90506107503382610bb4565b6107846001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163383610c96565b50565b7f00000000000000000000000000000000000000000000000000000000000000006107b06106c2565b10156107ce5760405162461bcd60e51b815260040161073090611295565b6108bf7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161083e91906110e1565b60206040518083038186803b15801561085657600080fd5b505afa15801561086a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088e91906110ad565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190610c96565b565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6060815167ffffffffffffffff8111801561090657600080fd5b50604051908082528060200260200182016040528015610930578160200160208202803683370190505b50905060005b82518110156109875761095b83828151811061094e57fe5b6020026020010151610453565b82828151811061096757fe5b6001600160a01b0390921660209283029190910190910152600101610936565b50919050565b60008282018381101561058a5760405162461bcd60e51b815260040161073090611227565b505050565b3390565b6001600160a01b0383166109e15760405162461bcd60e51b815260040161073090611399565b6001600160a01b038216610a075760405162461bcd60e51b8152600401610730906111e5565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610a62908590611166565b60405180910390a3505050565b6001600160a01b038316610a955760405162461bcd60e51b815260040161073090611354565b6001600160a01b038216610abb5760405162461bcd60e51b8152600401610730906111a2565b610ac6838383610cec565b610b038160405180606001604052806026815260200161151b602691396001600160a01b0386166000908152602081905260409020549190610b84565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610b32908261098d565b6001600160a01b0380841660008181526020819052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a62908590611166565b60008184841115610ba85760405162461bcd60e51b8152600401610730919061116f565b505050900390565b4690565b6001600160a01b038216610bda5760405162461bcd60e51b815260040161073090611313565b610be682600083610cec565b610c23816040518060600160405280602281526020016114f9602291396001600160a01b0385166000908152602081905260409020549190610b84565b6001600160a01b038316600090815260208190526040902055600254610c499082610d53565b6002556040516000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c8a908590611166565b60405180910390a35050565b6109b28363a9059cbb60e01b8484604051602401610cb59291906110f5565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610d95565b610cf78383836109b2565b6001600160a01b0382161580610d1457506001600160a01b038316155b80610d3757506001600160a01b03831660009081526006602052604090205460ff165b6109b25760405162461bcd60e51b8152600401610730906112dc565b600061058a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610b84565b6060610dea826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610e249092919063ffffffff16565b8051909150156109b25780806020019051810190610e089190611075565b6109b25760405162461bcd60e51b815260040161073090611414565b6060610e338484600085610e3b565b949350505050565b6060610e4685610eff565b610e625760405162461bcd60e51b8152600401610730906113dd565b60006060866001600160a01b03168587604051610e7f91906110c5565b60006040518083038185875af1925050503d8060008114610ebc576040519150601f19603f3d011682016040523d82523d6000602084013e610ec1565b606091505b50915091508115610ed5579150610e339050565b805115610ee55780518082602001fd5b8360405162461bcd60e51b8152600401610730919061116f565b3b151590565b600060208284031215610f16578081fd5b813561058a816114e3565b600060208284031215610f32578081fd5b815161058a816114e3565b60008060408385031215610f4f578081fd5b8235610f5a816114e3565b91506020830135610f6a816114e3565b809150509250929050565b600080600060608486031215610f89578081fd5b8335610f94816114e3565b92506020840135610fa4816114e3565b929592945050506040919091013590565b60008060408385031215610fc7578182fd5b8235610fd2816114e3565b946020939093013593505050565b60006020808385031215610ff2578182fd5b823567ffffffffffffffff811115611008578283fd5b8301601f81018513611018578283fd5b803561102b61102682611493565b61146c565b8181528381019083850185840285018601891015611047578687fd5b8694505b8385101561106957803583526001949094019391850191850161104b565b50979650505050505050565b600060208284031215611086578081fd5b8151801515811461058a578182fd5b6000602082840312156110a6578081fd5b5035919050565b6000602082840312156110be578081fd5b5051919050565b600082516110d78184602087016114b3565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6020808252825182820181905260009190848201906040850190845b8181101561114f5783516001600160a01b03168352928401929184019160010161112a565b50909695505050505050565b901515815260200190565b90815260200190565b600060208252825180602084015261118e8160408501602087016114b3565b601f01601f19169190910160400192915050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252601f908201527f41697264726f702072656465656d20706572696f642068617320656e64656400604082015260600190565b60208082526027908201527f41697264726f702072656465656d20706572696f6420686173206e6f7420656e604082015266191959081e595d60ca1b606082015260800190565b6020808252601e908201527f45524332303a207472616e73666572206973206e6f7420616c6c6f7765640000604082015260600190565b60208082526021908201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736040820152607360f81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b60ff91909116815260200190565b60405181810167ffffffffffffffff8111828210171561148b57600080fd5b604052919050565b600067ffffffffffffffff8211156114a9578081fd5b5060209081020190565b60005b838110156114ce5781810151838201526020016114b6565b838111156114dd576000848401525b50505050565b6001600160a01b038116811461078457600080fdfe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212209b2d6f14167bc062b61418b8fca6b7946d243420e3df874c9632acb30079c69b64736f6c634300060c0033546f726e61646f4361736820766f756368657220666f72206561726c792061646f7074657273"; +const isSuperArgs$s = (xs) => xs.length > 1; +class Voucher__factory extends ContractFactory { + constructor(...args) { + if (isSuperArgs$s(args)) { + super(...args); + } else { + super(_abi$N, _bytecode$s, args[0]); + } + } + getDeployTransaction(_torn, _governance, _duration, _airdrops, overrides) { + return super.getDeployTransaction( + _torn, + _governance, + _duration, + _airdrops, + overrides || {} + ); + } + deploy(_torn, _governance, _duration, _airdrops, overrides) { + return super.deploy( + _torn, + _governance, + _duration, + _airdrops, + overrides || {} + ); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new Interface(_abi$N); + } + static connect(address, runner) { + return new Contract(address, _abi$N, runner); + } +} +Voucher__factory.bytecode = _bytecode$s; +Voucher__factory.abi = _abi$N; + +var index$s = /*#__PURE__*/Object.freeze({ + __proto__: null, + Airdrop__factory: Airdrop__factory, + ERC20Permit__factory: ERC20Permit__factory, + TORN__factory: TORN__factory, + Vesting__factory: Vesting__factory, + Voucher__factory: Voucher__factory, + ensSol: index$u, + mocks: index$t +}); + +const _abi$M = [ + { + inputs: [ + { + internalType: "address", + name: "_logic", + type: "address" + }, + { + internalType: "address", + name: "_admin", + type: "address" + }, + { + internalType: "bytes", + name: "_data", + type: "bytes" + } + ], + stateMutability: "payable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "previousAdmin", + type: "address" + }, + { + indexed: false, + internalType: "address", + name: "newAdmin", + type: "address" + } + ], + name: "AdminChanged", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "implementation", + type: "address" + } + ], + name: "Upgraded", + type: "event" + }, + { + stateMutability: "payable", + type: "fallback" + }, + { + inputs: [], + name: "admin", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "bytes", + name: "data", + type: "bytes" + } + ], + name: "callToOwner", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "newAdmin", + type: "address" + } + ], + name: "changeAdmin", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "newOwner", + type: "address" + } + ], + name: "changeOwner", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "bytes", + name: "data", + type: "bytes" + } + ], + name: "delegateToOwner", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [], + name: "getCurrentOwner", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "implementation", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "newImplementation", + type: "address" + } + ], + name: "upgradeTo", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "newImplementation", + type: "address" + }, + { + internalType: "bytes", + name: "data", + type: "bytes" + } + ], + name: "upgradeToAndCall", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "newImplementation", + type: "address" + } + ], + name: "upgradeToOwner", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + stateMutability: "payable", + type: "receive" + } +]; +const _bytecode$r = "0x608060405260405162000e6738038062000e67833981810160405260608110156200002957600080fd5b815160208301516040808501805191519395929483019291846401000000008211156200005557600080fd5b9083019060208201858111156200006b57600080fd5b82516401000000008111828201881017156200008657600080fd5b82525081516020918201929091019080838360005b83811015620000b55781810151838201526020016200009b565b50505050905090810190601f168015620000e35780820380516001836020036101000a031916815260200191505b5060405250849150839050828282828281620000ff82620001f6565b805115620001bd576000826001600160a01b0316826040518082805190602001908083835b60208310620001455780518252601f19909201916020918201910162000124565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114620001a7576040519150601f19603f3d011682016040523d82523d6000602084013e620001ac565b606091505b5050905080620001bb57600080fd5b505b50620001c69050565b620001d1826200026d565b505050505050620001ed336200029160201b620008ab1760201c565b50505062000308565b6200020c81620002bd60201b620008d51760201c565b620002495760405162461bcd60e51b815260040180806020018281038252603681526020018062000e316036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b806200029c620002c3565b80546001600160a01b0319166001600160a01b039290921691909117905550565b3b151590565b604080517fb4d03667d60278cc15e9a68fa7679dc39ebe71350c4566a2c23c26580da4e0b3602080830191909152825180830382018152918301909252805191012090565b610b1980620003186000396000f3fe6080604052600436106100955760003560e01c80635c60da1b116100595780635c60da1b146102fe5780638f2839701461032f578063a18a186b14610362578063a6f9dae114610377578063f851a440146103aa576100a4565b806323711ab1146100ac57806323c735f1146101625780632e44e0e0146101955780633659cfe61461024b5780634f1ef2861461027e576100a4565b366100a4576100a26103bf565b005b6100a26103bf565b6100a2600480360360408110156100c257600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100ed57600080fd5b8201836020820111156100ff57600080fd5b8035906020019184600183028401116401000000008311171561012157600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506103d9945050505050565b34801561016e57600080fd5b506100a26004803603602081101561018557600080fd5b50356001600160a01b03166104e7565b6100a2600480360360408110156101ab57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156101d657600080fd5b8201836020820111156101e857600080fd5b8035906020019184600183028401116401000000008311171561020a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610546945050505050565b34801561025757600080fd5b506100a26004803603602081101561026e57600080fd5b50356001600160a01b031661063a565b6100a26004803603604081101561029457600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156102bf57600080fd5b8201836020820111156102d157600080fd5b803590602001918460018302840111640100000000831117156102f357600080fd5b509092509050610671565b34801561030a57600080fd5b5061031361071e565b604080516001600160a01b039092168252519081900360200190f35b34801561033b57600080fd5b506100a26004803603602081101561035257600080fd5b50356001600160a01b031661075b565b34801561036e57600080fd5b50610313610815565b34801561038357600080fd5b506100a26004803603602081101561039a57600080fd5b50356001600160a01b0316610824565b3480156103b657600080fd5b50610313610880565b6103c76103d7565b6103d76103d26108db565b610900565b565b336103e2610924565b6001600160a01b03161461042c576040805162461bcd60e51b815260206004820152600c60248201526b2737ba1030b71037bbb732b960a11b604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b6020831061046a5780518252601f19909201916020918201910161044b565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146104ca576040519150601f19603f3d011682016040523d82523d6000602084013e6104cf565b606091505b5091509150816104e157805181602001fd5b50505050565b336104f0610924565b6001600160a01b03161461053a576040805162461bcd60e51b815260206004820152600c60248201526b2737ba1030b71037bbb732b960a11b604482015290519081900360640190fd5b6105438161093d565b50565b3361054f610924565b6001600160a01b031614610599576040805162461bcd60e51b815260206004820152600c60248201526b2737ba1030b71037bbb732b960a11b604482015290519081900360640190fd5b60006060836001600160a01b031634846040518082805190602001908083835b602083106105d85780518252601f1990920191602091820191016105b9565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146104ca576040519150601f19603f3d011682016040523d82523d6000602084013e6104cf565b61064261097d565b6001600160a01b0316336001600160a01b03161415610669576106648161093d565b610543565b6105436103bf565b61067961097d565b6001600160a01b0316336001600160a01b031614156107115761069b8361093d565b6000836001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d80600081146106f8576040519150601f19603f3d011682016040523d82523d6000602084013e6106fd565b606091505b505090508061070b57600080fd5b50610719565b6107196103bf565b505050565b600061072861097d565b6001600160a01b0316336001600160a01b03161415610750576107496108db565b9050610758565b6107586103bf565b90565b61076361097d565b6001600160a01b0316336001600160a01b03161415610669576001600160a01b0381166107c15760405162461bcd60e51b815260040180806020018281038252603a815260200180610a74603a913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6107ea61097d565b604080516001600160a01b03928316815291841660208301528051918290030190a1610664816109a2565b600061081f610924565b905090565b3361082d610924565b6001600160a01b031614610877576040805162461bcd60e51b815260206004820152600c60248201526b2737ba1030b71037bbb732b960a11b604482015290519081900360640190fd5b610543816108ab565b600061088a61097d565b6001600160a01b0316336001600160a01b031614156107505761074961097d565b806108b46109c6565b80546001600160a01b0319166001600160a01b039290921691909117905550565b3b151590565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e80801561091f573d6000f35b3d6000fd5b600061092e6109c6565b546001600160a01b0316919050565b61094681610a0b565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b604080517fb4d03667d60278cc15e9a68fa7679dc39ebe71350c4566a2c23c26580da4e0b3602080830191909152825180830382018152918301909252805191012090565b610a14816108d5565b610a4f5760405162461bcd60e51b8152600401808060200182810382526036815260200180610aae6036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5556fe5472616e73706172656e745570677261646561626c6550726f78793a206e65772061646d696e20697320746865207a65726f20616464726573735570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374a264697066735822122001f07e10d1eeadbd61da070e50227b529a3ec4b8f2e780a0e6bc1dc6028ba95764736f6c634300060c00335570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374"; +const isSuperArgs$r = (xs) => xs.length > 1; +class TestnetAdminProxy__factory extends ContractFactory { + constructor(...args) { + if (isSuperArgs$r(args)) { + super(...args); + } else { + super(_abi$M, _bytecode$r, args[0]); + } + } + getDeployTransaction(_logic, _admin, _data, overrides) { + return super.getDeployTransaction(_logic, _admin, _data, overrides || {}); + } + deploy(_logic, _admin, _data, overrides) { + return super.deploy(_logic, _admin, _data, overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new Interface(_abi$M); + } + static connect(address, runner) { + return new Contract(address, _abi$M, runner); + } +} +TestnetAdminProxy__factory.bytecode = _bytecode$r; +TestnetAdminProxy__factory.abi = _abi$M; + +const _abi$L = [ + { + inputs: [ + { + internalType: "address", + name: "_torn", + type: "address" + }, + { + internalType: "address", + name: "_governance", + type: "address" + }, + { + internalType: "address", + name: "_registry", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "instance", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "newFee", + type: "uint256" + } + ], + name: "FeeUpdated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint24", + name: "newFee", + type: "uint24" + } + ], + name: "UniswapTornPoolSwappingFeeChanged", + type: "event" + }, + { + inputs: [], + name: "PROTOCOL_FEE_DIVIDER", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract ITornadoInstance", + name: "_instance", + type: "address" + } + ], + name: "calculatePoolFee", + outputs: [ + { + internalType: "uint160", + name: "", + type: "uint160" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "feeDeviations", + outputs: [ + { + components: [ + { + internalType: "address", + name: "instance", + type: "address" + }, + { + internalType: "int256", + name: "deviation", + type: "int256" + } + ], + internalType: "struct FeeManager.Deviation[]", + name: "results", + type: "tuple[]" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_token", + type: "address" + }, + { + internalType: "uint24", + name: "_uniswapPoolSwappingFee", + type: "uint24" + } + ], + name: "getTokenPriceRatio", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "governance", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract ITornadoInstance", + name: "", + type: "address" + } + ], + name: "instanceFee", + outputs: [ + { + internalType: "uint160", + name: "", + type: "uint160" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract ITornadoInstance", + name: "", + type: "address" + } + ], + name: "instanceFeeUpdated", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract ITornadoInstance", + name: "_instance", + type: "address" + } + ], + name: "instanceFeeWithUpdate", + outputs: [ + { + internalType: "uint160", + name: "", + type: "uint160" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "registry", + outputs: [ + { + internalType: "contract InstanceRegistry", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint32", + name: "newPeriod", + type: "uint32" + } + ], + name: "setPeriodForTWAPOracle", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_token", + type: "address" + }, + { + internalType: "uint256", + name: "_price", + type: "uint256" + } + ], + name: "setTokenPrice", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint24", + name: "_uniswapTornPoolSwappingFee", + type: "uint24" + } + ], + name: "setUniswapTornPoolSwappingFee", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint24", + name: "newLimit", + type: "uint24" + } + ], + name: "setUpdateFeeTimeLimit", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "torn", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "uniswapTimePeriod", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "uniswapTornPoolSwappingFee", + outputs: [ + { + internalType: "uint24", + name: "", + type: "uint24" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "updateAllFees", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "contract ITornadoInstance", + name: "_instance", + type: "address" + } + ], + name: "updateFee", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "updateFeeTimeLimit", + outputs: [ + { + internalType: "uint24", + name: "", + type: "uint24" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract ITornadoInstance[]", + name: "_instances", + type: "address[]" + } + ], + name: "updateFees", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; +const _bytecode$q = "0x60e06040523480156200001157600080fd5b5060405162001c9d38038062001c9d83398101604081905262000034916200005c565b6001600160601b0319606093841b811660805291831b821660a05290911b1660c052620000c8565b60008060006060848603121562000071578283fd5b83516200007e81620000af565b60208501519093506200009181620000af565b6040850151909250620000a481620000af565b809150509250925092565b6001600160a01b0381168114620000c557600080fd5b50565b60805160601c60a05160601c60c05160601c611b7c6200012160003980610350528061061452806108915280610a42525080610539528061064c528061072d528061082252508061059852806107ad5250611b7c6000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c806380eb7bf0116100ad578063bcc5ee6411610071578063bcc5ee641461024b578063c51c229714610253578063d8718fb114610266578063e1f121561461027b578063f522d6d61461028e5761012c565b806380eb7bf014610202578063a028752014610215578063adf898a414610228578063aeb3077a14610230578063b19a2972146102385761012c565b8063603a54fe116100f4578063603a54fe146101ac57806369574fef146101bf5780637b103999146101d25780637ccd2f48146101da57806380679eb3146101ef5761012c565b806305e34364146101315780632efbf3841461015a578063431f63c91461017a5780634bf0a5421461018f5780635aa6e675146101a4575b600080fd5b61014461013f36600461183e565b610296565b6040516101519190611aaa565b60405180910390f35b61016d61016836600461183e565b6102a8565b60405161015191906118cb565b61018d6101883660046115b1565b610305565b005b61019761034b565b6040516101519190611907565b61016d610537565b61016d6101ba36600461183e565b61055b565b6101446101cd366004611579565b610576565b61016d610612565b6101e2610636565b6040516101519190611a9a565b61018d6101fd36600461188e565b610641565b61018d61021036600461183e565b61069c565b61018d61022336600461185a565b610722565b61016d6107ab565b6101446107cf565b61018d6102463660046115dc565b6107d5565b6101e2610805565b61018d61026136600461185a565b610817565b61026e610874565b6040516101519190611ab3565b61016d61028936600461183e565b610887565b61018d610a3d565b60026020526000908152604090205481565b600080546001600160a01b038316825260026020526040822054600160381b90910462ffffff16429190910311156102e3576102e38261069c565b506001600160a01b03808216600090815260016020526040902054165b919050565b3361030e610ad7565b6001600160a01b03161461033d5760405162461bcd60e51b8152600401610334906119fc565b60405180910390fd5b6103478282610af0565b5050565b6060807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310c13ac36040518163ffffffff1660e01b815260040160006040518083038186803b1580156103a757600080fd5b505afa1580156103bb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103e39190810190611675565b9050805167ffffffffffffffff811180156103fd57600080fd5b5060405190808252806020026020018201604052801561043757816020015b6104246114b2565b81526020019060019003908161041c5790505b50915060005b815181101561053257600061046483838151811061045757fe5b6020026020010151610887565b6001600160a01b03169050600081156104e0576103e8826001600087878151811061048b57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060009054906101000a90046001600160a01b03166103e8026001600160a01b0316816104db57fe5b040390505b60405180604001604052808585815181106104f757fe5b60200260200101516001600160a01b031681526020018281525085848151811061051d57fe5b6020908102919091010152505060010161043d565b505090565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001602052600090815260409020546001600160a01b031681565b600061058183610b19565b610600576040805180820182526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811682528516602080830191909152825180840190935260005462ffffff80821685528616918401919091526105fb929063ffffffff630100000090910416610b44565b610609565b61060983610b19565b90505b92915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60005462ffffff1681565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461067657600080fd5b6000805463ffffffff90921663010000000266ffffffff00000019909216919091179055565b60006106a782610887565b6001600160a01b03838116600081815260016020908152604080832080546001600160a01b03191695871695909517909455600290528290204290559051919250907f6f0eaf2c2f89fb4cfe96a1dee5e764d60b52c7f48aaa590f0850e308aa1b953a906107169084906118cb565b60405180910390a25050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461075757600080fd5b6000805462ffffff191662ffffff83811691909117918290556040517fbfe65cfc2359076c4468c9b895156c309c78f94fb09f6d2fc0463c4ca9a71ac2926107a0921690611a9a565b60405180910390a150565b7f000000000000000000000000000000000000000000000000000000000000000081565b61271081565b60005b8151811015610347576107fd8282815181106107f057fe5b602002602001015161069c565b6001016107d8565b600054600160381b900462ffffff1681565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461084c57600080fd5b6000805462ffffff909216600160381b0269ffffff0000000000000019909216919091179055565b6000546301000000900463ffffffff1681565b60008060008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663032bb443876040518263ffffffff1660e01b81526004016108db91906118cb565b60a06040518083038186803b1580156108f357600080fd5b505afa158015610907573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092b91906117c3565b9450945050935093508063ffffffff1660001415610950576000945050505050610300565b6001600160a01b038316158015610965575083155b61096f5782610985565b73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25b925060006109938484610576565b9050610a32612710610a2c8463ffffffff16610a2685610a2c670de0b6b3a76400008e6001600160a01b0316638bca6d166040518163ffffffff1660e01b815260040160206040518083038186803b1580156109ee57600080fd5b505afa158015610a02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a269190611876565b90610b90565b90610bca565b979650505050505050565b610ad57f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310c13ac36040518163ffffffff1660e01b815260040160006040518083038186803b158015610a9957600080fd5b505afa158015610aad573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102469190810190611675565b565b6000610ae1610c0c565b546001600160a01b0316919050565b6000610afa610c61565b6001600160a01b03909316600090815260209390935250604090912055565b600080610b24610c61565b6001600160a01b0390931660009081526020939093525050604090205490565b60208084015190830151600091610b5b9184610c98565b84518451610b7e91670de0b6b3a764000091610b78919087610c98565b90610cc2565b81610b8557fe5b0490505b9392505050565b600082610b9f5750600061060c565b82820282848281610bac57fe5b04146106095760405162461bcd60e51b815260040161033490611a59565b600061060983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610ce6565b6000807fb4d03667d60278cc15e9a68fa7679dc39ebe71350c4566a2c23c26580da4e0b360001c604051602001610c439190611aaa565b60408051601f19818403018152919052805160209091012092915050565b6000807f6521c13ddfc30471ec629848a30b01f73c36737d417c11843e7a9afa6985e84860001c604051602001610c439190611aaa565b6000610cba8473c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28585610d1d565b949350505050565b6000821580610cdd57505081810281838281610cda57fe5b04145b61060c57600080fd5b60008183610d075760405162461bcd60e51b815260040161033491906119a9565b506000838581610d1357fe5b0495945050505050565b600080846001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610d5957600080fd5b505afa158015610d6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d9191906118aa565b60ff16600a0a90506001600160a01b038681169086161415610dbd576001600160801b03169050610cba565b604051630b4c774160e11b8152610e5e90610e5690731f98431c8ad98523631ae4a59f267346ea31f98490631698ee8290610e00908b908b908b906004016118df565b60206040518083038186803b158015610e1857600080fd5b505afa158015610e2c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e50919061155d565b85610e6f565b828888611004565b915050610cba565b50949350505050565b600063ffffffff8216610e945760405162461bcd60e51b815260040161033490611a22565b60408051600280825260608083018452926020830190803683370190505090508281600081518110610ec257fe5b602002602001019063ffffffff16908163ffffffff1681525050600081600181518110610eeb57fe5b63ffffffff9092166020928302919091019091015260405163883bdbfd60e01b81526060906001600160a01b0386169063883bdbfd90610f2f90859060040161195f565b60006040518083038186803b158015610f4757600080fd5b505afa158015610f5b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f839190810190611701565b509050600081600081518110610f9557fe5b602002602001015182600181518110610faa57fe5b60200260200101510390508463ffffffff168160060b81610fc757fe5b05935060008160060b128015610fee57508463ffffffff168160060b81610fea57fe5b0715155b15610ffb57600019909301925b50505092915050565b600080611010866110ee565b90506001600160801b036001600160a01b0382161161107f576001600160a01b038082168002908481169086161061105f5761105a600160c01b876001600160801b031683611407565b611077565b61107781876001600160801b0316600160c01b611407565b925050610e66565b600061109e6001600160a01b0383168068010000000000000000611407565b9050836001600160a01b0316856001600160a01b0316106110d6576110d1600160801b876001600160801b031683611407565b610a32565b610a3281876001600160801b0316600160801b611407565b60008060008360020b12611105578260020b61110d565b8260020b6000035b9050620d89e88111156111325760405162461bcd60e51b815260040161033490611a3e565b60006001821661114657600160801b611158565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff169050600282161561118c576ffff97272373d413259a46990580e213a0260801c5b60048216156111ab576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b60088216156111ca576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b60108216156111e9576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615611208576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615611227576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615611246576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615611266576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615611286576ff987a7253ac413176f2b074cf7815e540260801c5b6104008216156112a6576ff3392b0822b70005940c7a398e4b70f30260801c5b6108008216156112c6576fe7159475a2c29b7443b29c7fa6e889d90260801c5b6110008216156112e6576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615611306576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615611326576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615611346576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615611367576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b62020000821615611387576e5d6af8dedb81196699c329225ee6040260801c5b620400008216156113a6576d2216e584f5fa1ea926041bedfe980260801c5b620800008216156113c3576b048a170391f7dc42444e8fa20260801c5b60008460020b13156113de5780600019816113da57fe5b0490505b6401000000008106156113f25760016113f5565b60005b60ff16602082901c0192505050919050565b600080806000198587098686029250828110908390030390508061143d576000841161143257600080fd5b508290049050610b89565b80841161144957600080fd5b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b604080518082019091526000808252602082015290565b600082601f8301126114d9578081fd5b81516114ec6114e782611aeb565b611ac4565b81815291506020808301908481018184028601820187101561150d57600080fd5b60005b8481101561153557815161152381611b0b565b84529282019290820190600101611510565b505050505092915050565b805161060c81611b0b565b8051600681900b811461060c57600080fd5b60006020828403121561156e578081fd5b815161060981611b0b565b6000806040838503121561158b578081fd5b823561159681611b0b565b915060208301356115a681611b23565b809150509250929050565b600080604083850312156115c3578182fd5b82356115ce81611b0b565b946020939093013593505050565b600060208083850312156115ee578182fd5b823567ffffffffffffffff811115611604578283fd5b8301601f81018513611614578283fd5b80356116226114e782611aeb565b818152838101908385018584028501860189101561163e578687fd5b8694505b8385101561166957803561165581611b0b565b835260019490940193918501918501611642565b50979650505050505050565b60006020808385031215611687578182fd5b825167ffffffffffffffff81111561169d578283fd5b8301601f810185136116ad578283fd5b80516116bb6114e782611aeb565b81815283810190838501858402850186018910156116d7578687fd5b8694505b83851015611669576116ed8982611540565b8352600194909401939185019185016116db565b60008060408385031215611713578182fd5b825167ffffffffffffffff8082111561172a578384fd5b818501915085601f83011261173d578384fd5b815161174b6114e782611aeb565b80828252602080830192508086018a82838702890101111561176b578889fd5b8896505b84871015611795576117818b8261154b565b84526001969096019592810192810161176f565b5088015190965093505050808211156117ac578283fd5b506117b9858286016114c9565b9150509250929050565b600080600080600060a086880312156117da578081fd5b855180151581146117e9578182fd5b60208701519095506117fa81611b0b565b60408701519094506002811061180e578182fd5b606087015190935061181f81611b23565b608087015190925061183081611b34565b809150509295509295909350565b60006020828403121561184f578081fd5b813561060981611b0b565b60006020828403121561186b578081fd5b813561060981611b23565b600060208284031215611887578081fd5b5051919050565b60006020828403121561189f578081fd5b813561060981611b34565b6000602082840312156118bb578081fd5b815160ff81168114610609578182fd5b6001600160a01b0391909116815260200190565b6001600160a01b03938416815291909216602082015262ffffff909116604082015260600190565b602080825282518282018190526000919060409081850190868401855b8281101561195257815180516001600160a01b03168552860151868501529284019290850190600101611924565b5091979650505050505050565b6020808252825182820181905260009190848201906040850190845b8181101561199d57835163ffffffff168352928401929184019160010161197b565b50909695505050505050565b6000602080835283518082850152825b818110156119d5578581018301518582016040015282016119b9565b818111156119e65783604083870101525b50601f01601f1916929092016040019392505050565b6020808252600c908201526b2737ba1030b71037bbb732b960a11b604082015260600190565b602080825260029082015261042560f41b604082015260600190565b6020808252600190820152601560fa1b604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b62ffffff91909116815260200190565b90815260200190565b63ffffffff91909116815260200190565b60405181810167ffffffffffffffff81118282101715611ae357600080fd5b604052919050565b600067ffffffffffffffff821115611b01578081fd5b5060209081020190565b6001600160a01b0381168114611b2057600080fd5b50565b62ffffff81168114611b2057600080fd5b63ffffffff81168114611b2057600080fdfea2646970667358221220e716ce7751ca9331e897d31f3744c6916e2f742be6df42551b069b566751df4c64736f6c634300060c0033"; +const isSuperArgs$q = (xs) => xs.length > 1; +class TestnetFeeManager__factory extends ContractFactory { + constructor(...args) { + if (isSuperArgs$q(args)) { + super(...args); + } else { + super(_abi$L, _bytecode$q, args[0]); + } + } + getDeployTransaction(_torn, _governance, _registry, overrides) { + return super.getDeployTransaction( + _torn, + _governance, + _registry, + overrides || {} + ); + } + deploy(_torn, _governance, _registry, overrides) { + return super.deploy( + _torn, + _governance, + _registry, + overrides || {} + ); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new Interface(_abi$L); + } + static connect(address, runner) { + return new Contract(address, _abi$L, runner); + } +} +TestnetFeeManager__factory.bytecode = _bytecode$q; +TestnetFeeManager__factory.abi = _abi$L; + +const _abi$K = [ + { + inputs: [ + { + internalType: "address", + name: "_logic", + type: "address" + }, + { + internalType: "bytes", + name: "_data", + type: "bytes" + } + ], + stateMutability: "payable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "previousAdmin", + type: "address" + }, + { + indexed: false, + internalType: "address", + name: "newAdmin", + type: "address" + } + ], + name: "AdminChanged", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "implementation", + type: "address" + } + ], + name: "Upgraded", + type: "event" + }, + { + stateMutability: "payable", + type: "fallback" + }, + { + inputs: [], + name: "admin", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "bytes", + name: "data", + type: "bytes" + } + ], + name: "callToOwner", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "newAdmin", + type: "address" + } + ], + name: "changeAdmin", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "newOwner", + type: "address" + } + ], + name: "changeOwner", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "bytes", + name: "data", + type: "bytes" + } + ], + name: "delegateToOwner", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [], + name: "getCurrentOwner", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "implementation", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "newImplementation", + type: "address" + } + ], + name: "upgradeTo", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "newImplementation", + type: "address" + }, + { + internalType: "bytes", + name: "data", + type: "bytes" + } + ], + name: "upgradeToAndCall", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "newImplementation", + type: "address" + } + ], + name: "upgradeToOwner", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + stateMutability: "payable", + type: "receive" + } +]; +const _bytecode$p = "0x608060405260405162000e6038038062000e60833981810160405260408110156200002957600080fd5b8151602083018051604051929492938301929190846401000000008211156200005157600080fd5b9083019060208201858111156200006757600080fd5b82516401000000008111828201881017156200008257600080fd5b82525081516020918201929091019080838360005b83811015620000b157818101518382015260200162000097565b50505050905090810190601f168015620000df5780820380516001836020036101000a031916815260200191505b50604052508391508290508130828281620000fa82620001ef565b805115620001b8576000826001600160a01b0316826040518082805190602001908083835b60208310620001405780518252601f1990920191602091820191016200011f565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114620001a2576040519150601f19603f3d011682016040523d82523d6000602084013e620001a7565b606091505b5050905080620001b657600080fd5b505b50620001c19050565b620001cc8262000266565b5050505050620001e7336200028a60201b620008ab1760201c565b505062000301565b6200020581620002b660201b620008d51760201c565b620002425760405162461bcd60e51b815260040180806020018281038252603681526020018062000e2a6036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b8062000295620002bc565b80546001600160a01b0319166001600160a01b039290921691909117905550565b3b151590565b604080517fb4d03667d60278cc15e9a68fa7679dc39ebe71350c4566a2c23c26580da4e0b3602080830191909152825180830382018152918301909252805191012090565b610b1980620003116000396000f3fe6080604052600436106100955760003560e01c80635c60da1b116100595780635c60da1b146102fe5780638f2839701461032f578063a18a186b14610362578063a6f9dae114610377578063f851a440146103aa576100a4565b806323711ab1146100ac57806323c735f1146101625780632e44e0e0146101955780633659cfe61461024b5780634f1ef2861461027e576100a4565b366100a4576100a26103bf565b005b6100a26103bf565b6100a2600480360360408110156100c257600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100ed57600080fd5b8201836020820111156100ff57600080fd5b8035906020019184600183028401116401000000008311171561012157600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506103d9945050505050565b34801561016e57600080fd5b506100a26004803603602081101561018557600080fd5b50356001600160a01b03166104e7565b6100a2600480360360408110156101ab57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156101d657600080fd5b8201836020820111156101e857600080fd5b8035906020019184600183028401116401000000008311171561020a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610546945050505050565b34801561025757600080fd5b506100a26004803603602081101561026e57600080fd5b50356001600160a01b031661063a565b6100a26004803603604081101561029457600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156102bf57600080fd5b8201836020820111156102d157600080fd5b803590602001918460018302840111640100000000831117156102f357600080fd5b509092509050610671565b34801561030a57600080fd5b5061031361071e565b604080516001600160a01b039092168252519081900360200190f35b34801561033b57600080fd5b506100a26004803603602081101561035257600080fd5b50356001600160a01b031661075b565b34801561036e57600080fd5b50610313610815565b34801561038357600080fd5b506100a26004803603602081101561039a57600080fd5b50356001600160a01b0316610824565b3480156103b657600080fd5b50610313610880565b6103c76103d7565b6103d76103d26108db565b610900565b565b336103e2610924565b6001600160a01b03161461042c576040805162461bcd60e51b815260206004820152600c60248201526b2737ba1030b71037bbb732b960a11b604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b6020831061046a5780518252601f19909201916020918201910161044b565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146104ca576040519150601f19603f3d011682016040523d82523d6000602084013e6104cf565b606091505b5091509150816104e157805181602001fd5b50505050565b336104f0610924565b6001600160a01b03161461053a576040805162461bcd60e51b815260206004820152600c60248201526b2737ba1030b71037bbb732b960a11b604482015290519081900360640190fd5b6105438161093d565b50565b3361054f610924565b6001600160a01b031614610599576040805162461bcd60e51b815260206004820152600c60248201526b2737ba1030b71037bbb732b960a11b604482015290519081900360640190fd5b60006060836001600160a01b031634846040518082805190602001908083835b602083106105d85780518252601f1990920191602091820191016105b9565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146104ca576040519150601f19603f3d011682016040523d82523d6000602084013e6104cf565b61064261097d565b6001600160a01b0316336001600160a01b03161415610669576106648161093d565b610543565b6105436103bf565b61067961097d565b6001600160a01b0316336001600160a01b031614156107115761069b8361093d565b6000836001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d80600081146106f8576040519150601f19603f3d011682016040523d82523d6000602084013e6106fd565b606091505b505090508061070b57600080fd5b50610719565b6107196103bf565b505050565b600061072861097d565b6001600160a01b0316336001600160a01b03161415610750576107496108db565b9050610758565b6107586103bf565b90565b61076361097d565b6001600160a01b0316336001600160a01b03161415610669576001600160a01b0381166107c15760405162461bcd60e51b815260040180806020018281038252603a815260200180610a74603a913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6107ea61097d565b604080516001600160a01b03928316815291841660208301528051918290030190a1610664816109a2565b600061081f610924565b905090565b3361082d610924565b6001600160a01b031614610877576040805162461bcd60e51b815260206004820152600c60248201526b2737ba1030b71037bbb732b960a11b604482015290519081900360640190fd5b610543816108ab565b600061088a61097d565b6001600160a01b0316336001600160a01b031614156107505761074961097d565b806108b46109c6565b80546001600160a01b0319166001600160a01b039290921691909117905550565b3b151590565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e80801561091f573d6000f35b3d6000fd5b600061092e6109c6565b546001600160a01b0316919050565b61094681610a0b565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b604080517fb4d03667d60278cc15e9a68fa7679dc39ebe71350c4566a2c23c26580da4e0b3602080830191909152825180830382018152918301909252805191012090565b610a14816108d5565b610a4f5760405162461bcd60e51b8152600401808060200182810382526036815260200180610aae6036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5556fe5472616e73706172656e745570677261646561626c6550726f78793a206e65772061646d696e20697320746865207a65726f20616464726573735570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374a2646970667358221220486b8f46c84e133fdcdf09d6e85ae28603a923477471dc965d4d7f5f3634234c64736f6c634300060c00335570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374"; +const isSuperArgs$p = (xs) => xs.length > 1; +class TestnetGovernanceProxy__factory extends ContractFactory { + constructor(...args) { + if (isSuperArgs$p(args)) { + super(...args); + } else { + super(_abi$K, _bytecode$p, args[0]); + } + } + getDeployTransaction(_logic, _data, overrides) { + return super.getDeployTransaction(_logic, _data, overrides || {}); + } + deploy(_logic, _data, overrides) { + return super.deploy(_logic, _data, overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new Interface(_abi$K); + } + static connect(address, runner) { + return new Contract( + address, + _abi$K, + runner + ); + } +} +TestnetGovernanceProxy__factory.bytecode = _bytecode$p; +TestnetGovernanceProxy__factory.abi = _abi$K; + +var index$r = /*#__PURE__*/Object.freeze({ + __proto__: null, + TestnetAdminProxy__factory: TestnetAdminProxy__factory, + TestnetFeeManager__factory: TestnetFeeManager__factory, + TestnetGovernanceProxy__factory: TestnetGovernanceProxy__factory +}); + +const _abi$J = [ + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "lockedBalance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "userVault", + outputs: [ + { + internalType: "contract ITornadoVault", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + } +]; +class ITornadoGovernance__factory { + static createInterface() { + return new Interface(_abi$J); + } + static connect(address, runner) { + return new Contract(address, _abi$J, runner); + } +} +ITornadoGovernance__factory.abi = _abi$J; + +const _abi$I = [ + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "withdrawTorn", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; +let ITornadoVault__factory$1 = class ITornadoVault__factory { + static createInterface() { + return new Interface(_abi$I); + } + static connect(address, runner) { + return new Contract(address, _abi$I, runner); + } +}; +ITornadoVault__factory$1.abi = _abi$I; + +const _abi$H = [ + { + inputs: [ + { + internalType: "address", + name: "governanceAddress", + type: "address" + }, + { + internalType: "address", + name: "tornAddress", + type: "address" + }, + { + internalType: "address", + name: "_relayerRegistry", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "rewardsClaimed", + type: "uint256" + } + ], + name: "RewardsClaimed", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "rewards", + type: "uint256" + } + ], + name: "RewardsUpdated", + type: "event" + }, + { + inputs: [], + name: "Governance", + outputs: [ + { + internalType: "contract ITornadoGovernance", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "accumulatedRewardPerTorn", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "accumulatedRewardRateOnLastUpdate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "accumulatedRewards", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "addBurnRewards", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "checkReward", + outputs: [ + { + internalType: "uint256", + name: "rewards", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "getReward", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "ratioConstant", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "relayerRegistry", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "torn", + outputs: [ + { + internalType: "contract IERC20", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + }, + { + internalType: "uint256", + name: "amountLockedBeforehand", + type: "uint256" + } + ], + name: "updateRewardsOnLockedBalanceChange", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "withdrawTorn", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; +const _bytecode$o = "0x6101006040523480156200001257600080fd5b506040516200114d3803806200114d8339810160408190526200003591620000e0565b6001600160601b0319606084811b821660a05283811b821660c05282901b1660e052604080516318160ddd60e01b815290516001600160a01b038416916318160ddd916004808301926020929190829003018186803b1580156200009857600080fd5b505afa158015620000ad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000d3919062000133565b6080525062000165915050565b600080600060608486031215620000f5578283fd5b835162000102816200014c565b602085015190935062000115816200014c565b604085015190925062000128816200014c565b809150509250925092565b60006020828403121562000145578081fd5b5051919050565b6001600160a01b03811681146200016257600080fd5b50565b60805160a05160601c60c05160601c60e05160601c610f5e620001ef600039806101bd52806104c852508061020c5280610453528061054652806107b0528061084552508061018b528061023b528061037d5280610522528061056d52806106b75280610752528061086752508061033c52806104fe528061063152806109635250610f5e6000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c8063adf898a411610071578063adf898a414610124578063c3c90e641461012c578063d7ada20d1461013f578063e0d3265214610152578063e113335f1461015a578063f58073b11461016d576100b4565b8063338610af146100b95780633d18b912146100ce57806347ff589d146100d657806373f273fc146100f457806380a1204114610114578063945391121461011c575b600080fd5b6100cc6100c7366004610ce6565b610180565b005b6100cc610375565b6100de6104c6565b6040516100eb9190610d32565b60405180910390f35b610107610102366004610c63565b6104ea565b6040516100eb9190610eda565b6101076104fc565b6100de610520565b6100de610544565b61010761013a366004610c63565b610568565b61010761014d366004610c63565b610694565b6101076106a6565b6100cc610168366004610c7f565b6106ac565b6100cc61017b366004610ce6565b610747565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806101df5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6102045760405162461bcd60e51b81526004016101fb90610e33565b60405180910390fd5b61036f6103667f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a082317f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639daafec76040518163ffffffff1660e01b815260040160206040518083038186803b15801561029257600080fd5b505afa1580156102a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102ca9190610cca565b6040518263ffffffff1660e01b81526004016102e69190610d32565b60206040518083038186803b1580156102fe57600080fd5b505afa158015610312573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103369190610cfe565b610360847f000000000000000000000000000000000000000000000000000000000000000061088f565b906108d2565b60015490610914565b60015550565b600061041c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639ae697bf336040518263ffffffff1660e01b81526004016103c79190610d32565b60206040518083038186803b1580156103df57600080fd5b505afa1580156103f3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104179190610cfe565b610939565b3360009081526003602052604090205490915061043a908290610914565b33600081815260036020526040812055909150610482907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690836109f3565b336001600160a01b03167ffc30cddea38e2bf4d6ea7d3f9ed3b6ad7f176419f4963bd81318067a4aee73fe826040516104bb9190610eda565b60405180910390a250565b7f000000000000000000000000000000000000000000000000000000000000000081565b60036020526000908152604090205481565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639ae697bf846040518263ffffffff1660e01b81526004016105b79190610d32565b60206040518083038186803b1580156105cf57600080fd5b505afa1580156105e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106079190610cfe565b90508015610669576001600160a01b038316600090815260026020526040902054600154610666917f00000000000000000000000000000000000000000000000000000000000000009161036091859161066091610a4e565b9061088f565b91505b6001600160a01b03831660009081526003602052604090205461068d908390610914565b9392505050565b60026020526000908152604090205481565b60015481565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106f45760405162461bcd60e51b81526004016101fb90610dc9565b60006107008383610939565b6001600160a01b0384166000908152600360205260409020549091506107269082610914565b6001600160a01b039093166000908152600360205260409020929092555050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461078f5760405162461bcd60e51b81526004016101fb90610dc9565b600019811415610838576040516370a0823160e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a08231906107e5903090600401610d32565b60206040518083038186803b1580156107fd57600080fd5b505afa158015610811573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108359190610cfe565b90505b61088c6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f0000000000000000000000000000000000000000000000000000000000000000836109f3565b50565b60008261089e575060006108cc565b828202828482816108ab57fe5b04146108c95760405162461bcd60e51b81526004016101fb90610df2565b90505b92915050565b60006108c983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610a90565b6000828201838110156108c95760405162461bcd60e51b81526004016101fb90610d92565b60008115610995576001600160a01b038316600090815260026020526040902054600154610992917f00000000000000000000000000000000000000000000000000000000000000009161036091869161066091610a4e565b90505b6001546001600160a01b038416600081815260026020526040908190209290925590517f39fe62076cf7adf3c60e355a2da5a4f17a958ca319e8eba385a6c09a8b649016906109e5908490610eda565b60405180910390a292915050565b610a498363a9059cbb60e01b8484604051602401610a12929190610d46565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610ac7565b505050565b60006108c983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610b56565b60008183610ab15760405162461bcd60e51b81526004016101fb9190610d5f565b506000838581610abd57fe5b0495945050505050565b6060610b1c826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610b829092919063ffffffff16565b805190915015610a495780806020019051810190610b3a9190610caa565b610a495760405162461bcd60e51b81526004016101fb90610e90565b60008184841115610b7a5760405162461bcd60e51b81526004016101fb9190610d5f565b505050900390565b6060610b918484600085610b99565b949350505050565b6060610ba485610c5d565b610bc05760405162461bcd60e51b81526004016101fb90610e59565b60006060866001600160a01b03168587604051610bdd9190610d16565b60006040518083038185875af1925050503d8060008114610c1a576040519150601f19603f3d011682016040523d82523d6000602084013e610c1f565b606091505b50915091508115610c33579150610b919050565b805115610c435780518082602001fd5b8360405162461bcd60e51b81526004016101fb9190610d5f565b3b151590565b600060208284031215610c74578081fd5b81356108c981610f13565b60008060408385031215610c91578081fd5b8235610c9c81610f13565b946020939093013593505050565b600060208284031215610cbb578081fd5b815180151581146108c9578182fd5b600060208284031215610cdb578081fd5b81516108c981610f13565b600060208284031215610cf7578081fd5b5035919050565b600060208284031215610d0f578081fd5b5051919050565b60008251610d28818460208701610ee3565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6000602082528251806020840152610d7e816040850160208701610ee3565b601f01601f19169190910160400192915050565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252600f908201526e6f6e6c7920676f7665726e616e636560881b604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252600c908201526b1d5b985d5d1a1bdc9a5e995960a21b604082015260600190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b90815260200190565b60005b83811015610efe578181015183820152602001610ee6565b83811115610f0d576000848401525b50505050565b6001600160a01b038116811461088c57600080fdfea26469706673582212205243f8df41704c99bb0876cbda927f702de9dce11a8394f252f0e4abd7d2778364736f6c634300060c0033"; +const isSuperArgs$o = (xs) => xs.length > 1; +class TornadoStakingRewards__factory extends ContractFactory { + constructor(...args) { + if (isSuperArgs$o(args)) { + super(...args); + } else { + super(_abi$H, _bytecode$o, args[0]); + } + } + getDeployTransaction(governanceAddress, tornAddress, _relayerRegistry, overrides) { + return super.getDeployTransaction( + governanceAddress, + tornAddress, + _relayerRegistry, + overrides || {} + ); + } + deploy(governanceAddress, tornAddress, _relayerRegistry, overrides) { + return super.deploy( + governanceAddress, + tornAddress, + _relayerRegistry, + overrides || {} + ); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new Interface(_abi$H); + } + static connect(address, runner) { + return new Contract( + address, + _abi$H, + runner + ); + } +} +TornadoStakingRewards__factory.bytecode = _bytecode$o; +TornadoStakingRewards__factory.abi = _abi$H; + +var index$q = /*#__PURE__*/Object.freeze({ + __proto__: null, + ITornadoGovernance__factory: ITornadoGovernance__factory, + ITornadoVault__factory: ITornadoVault__factory$1, + TornadoStakingRewards__factory: TornadoStakingRewards__factory +}); + +const _abi$G = [ + { + inputs: [ + { + internalType: "int24", + name: "tickLower", + type: "int24" + }, + { + internalType: "int24", + name: "tickUpper", + type: "int24" + }, + { + internalType: "uint128", + name: "amount", + type: "uint128" + } + ], + name: "burn", + outputs: [ + { + internalType: "uint256", + name: "amount0", + type: "uint256" + }, + { + internalType: "uint256", + name: "amount1", + type: "uint256" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "int24", + name: "tickLower", + type: "int24" + }, + { + internalType: "int24", + name: "tickUpper", + type: "int24" + }, + { + internalType: "uint128", + name: "amount0Requested", + type: "uint128" + }, + { + internalType: "uint128", + name: "amount1Requested", + type: "uint128" + } + ], + name: "collect", + outputs: [ + { + internalType: "uint128", + name: "amount0", + type: "uint128" + }, + { + internalType: "uint128", + name: "amount1", + type: "uint128" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount0", + type: "uint256" + }, + { + internalType: "uint256", + name: "amount1", + type: "uint256" + }, + { + internalType: "bytes", + name: "data", + type: "bytes" + } + ], + name: "flash", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint16", + name: "observationCardinalityNext", + type: "uint16" + } + ], + name: "increaseObservationCardinalityNext", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint160", + name: "sqrtPriceX96", + type: "uint160" + } + ], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "int24", + name: "tickLower", + type: "int24" + }, + { + internalType: "int24", + name: "tickUpper", + type: "int24" + }, + { + internalType: "uint128", + name: "amount", + type: "uint128" + }, + { + internalType: "bytes", + name: "data", + type: "bytes" + } + ], + name: "mint", + outputs: [ + { + internalType: "uint256", + name: "amount0", + type: "uint256" + }, + { + internalType: "uint256", + name: "amount1", + type: "uint256" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "bool", + name: "zeroForOne", + type: "bool" + }, + { + internalType: "int256", + name: "amountSpecified", + type: "int256" + }, + { + internalType: "uint160", + name: "sqrtPriceLimitX96", + type: "uint160" + }, + { + internalType: "bytes", + name: "data", + type: "bytes" + } + ], + name: "swap", + outputs: [ + { + internalType: "int256", + name: "amount0", + type: "int256" + }, + { + internalType: "int256", + name: "amount1", + type: "int256" + } + ], + stateMutability: "nonpayable", + type: "function" + } +]; +class IUniswapV3PoolActions__factory { + static createInterface() { + return new Interface(_abi$G); + } + static connect(address, runner) { + return new Contract( + address, + _abi$G, + runner + ); + } +} +IUniswapV3PoolActions__factory.abi = _abi$G; + +const _abi$F = [ + { + inputs: [ + { + internalType: "uint32[]", + name: "secondsAgos", + type: "uint32[]" + } + ], + name: "observe", + outputs: [ + { + internalType: "int56[]", + name: "tickCumulatives", + type: "int56[]" + }, + { + internalType: "uint160[]", + name: "secondsPerLiquidityCumulativeX128s", + type: "uint160[]" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "int24", + name: "tickLower", + type: "int24" + }, + { + internalType: "int24", + name: "tickUpper", + type: "int24" + } + ], + name: "snapshotCumulativesInside", + outputs: [ + { + internalType: "int56", + name: "tickCumulativeInside", + type: "int56" + }, + { + internalType: "uint160", + name: "secondsPerLiquidityInsideX128", + type: "uint160" + }, + { + internalType: "uint32", + name: "secondsInside", + type: "uint32" + } + ], + stateMutability: "view", + type: "function" + } +]; +class IUniswapV3PoolDerivedState__factory { + static createInterface() { + return new Interface(_abi$F); + } + static connect(address, runner) { + return new Contract( + address, + _abi$F, + runner + ); + } +} +IUniswapV3PoolDerivedState__factory.abi = _abi$F; + +const _abi$E = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "int24", + name: "tickLower", + type: "int24" + }, + { + indexed: true, + internalType: "int24", + name: "tickUpper", + type: "int24" + }, + { + indexed: false, + internalType: "uint128", + name: "amount", + type: "uint128" + }, + { + indexed: false, + internalType: "uint256", + name: "amount0", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "amount1", + type: "uint256" + } + ], + name: "Burn", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: false, + internalType: "address", + name: "recipient", + type: "address" + }, + { + indexed: true, + internalType: "int24", + name: "tickLower", + type: "int24" + }, + { + indexed: true, + internalType: "int24", + name: "tickUpper", + type: "int24" + }, + { + indexed: false, + internalType: "uint128", + name: "amount0", + type: "uint128" + }, + { + indexed: false, + internalType: "uint128", + name: "amount1", + type: "uint128" + } + ], + name: "Collect", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "recipient", + type: "address" + }, + { + indexed: false, + internalType: "uint128", + name: "amount0", + type: "uint128" + }, + { + indexed: false, + internalType: "uint128", + name: "amount1", + type: "uint128" + } + ], + name: "CollectProtocol", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "recipient", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "amount0", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "amount1", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "paid0", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "paid1", + type: "uint256" + } + ], + name: "Flash", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint16", + name: "observationCardinalityNextOld", + type: "uint16" + }, + { + indexed: false, + internalType: "uint16", + name: "observationCardinalityNextNew", + type: "uint16" + } + ], + name: "IncreaseObservationCardinalityNext", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint160", + name: "sqrtPriceX96", + type: "uint160" + }, + { + indexed: false, + internalType: "int24", + name: "tick", + type: "int24" + } + ], + name: "Initialize", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "sender", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "int24", + name: "tickLower", + type: "int24" + }, + { + indexed: true, + internalType: "int24", + name: "tickUpper", + type: "int24" + }, + { + indexed: false, + internalType: "uint128", + name: "amount", + type: "uint128" + }, + { + indexed: false, + internalType: "uint256", + name: "amount0", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "amount1", + type: "uint256" + } + ], + name: "Mint", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint8", + name: "feeProtocol0Old", + type: "uint8" + }, + { + indexed: false, + internalType: "uint8", + name: "feeProtocol1Old", + type: "uint8" + }, + { + indexed: false, + internalType: "uint8", + name: "feeProtocol0New", + type: "uint8" + }, + { + indexed: false, + internalType: "uint8", + name: "feeProtocol1New", + type: "uint8" + } + ], + name: "SetFeeProtocol", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "recipient", + type: "address" + }, + { + indexed: false, + internalType: "int256", + name: "amount0", + type: "int256" + }, + { + indexed: false, + internalType: "int256", + name: "amount1", + type: "int256" + }, + { + indexed: false, + internalType: "uint160", + name: "sqrtPriceX96", + type: "uint160" + }, + { + indexed: false, + internalType: "uint128", + name: "liquidity", + type: "uint128" + }, + { + indexed: false, + internalType: "int24", + name: "tick", + type: "int24" + } + ], + name: "Swap", + type: "event" + } +]; +class IUniswapV3PoolEvents__factory { + static createInterface() { + return new Interface(_abi$E); + } + static connect(address, runner) { + return new Contract( + address, + _abi$E, + runner + ); + } +} +IUniswapV3PoolEvents__factory.abi = _abi$E; + +const _abi$D = [ + { + inputs: [], + name: "factory", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "fee", + outputs: [ + { + internalType: "uint24", + name: "", + type: "uint24" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "maxLiquidityPerTick", + outputs: [ + { + internalType: "uint128", + name: "", + type: "uint128" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "tickSpacing", + outputs: [ + { + internalType: "int24", + name: "", + type: "int24" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "token0", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "token1", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + } +]; +class IUniswapV3PoolImmutables__factory { + static createInterface() { + return new Interface(_abi$D); + } + static connect(address, runner) { + return new Contract( + address, + _abi$D, + runner + ); + } +} +IUniswapV3PoolImmutables__factory.abi = _abi$D; + +const _abi$C = [ + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint128", + name: "amount0Requested", + type: "uint128" + }, + { + internalType: "uint128", + name: "amount1Requested", + type: "uint128" + } + ], + name: "collectProtocol", + outputs: [ + { + internalType: "uint128", + name: "amount0", + type: "uint128" + }, + { + internalType: "uint128", + name: "amount1", + type: "uint128" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint8", + name: "feeProtocol0", + type: "uint8" + }, + { + internalType: "uint8", + name: "feeProtocol1", + type: "uint8" + } + ], + name: "setFeeProtocol", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; +class IUniswapV3PoolOwnerActions__factory { + static createInterface() { + return new Interface(_abi$C); + } + static connect(address, runner) { + return new Contract( + address, + _abi$C, + runner + ); + } +} +IUniswapV3PoolOwnerActions__factory.abi = _abi$C; + +const _abi$B = [ + { + inputs: [], + name: "feeGrowthGlobal0X128", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "feeGrowthGlobal1X128", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "liquidity", + outputs: [ + { + internalType: "uint128", + name: "", + type: "uint128" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "index", + type: "uint256" + } + ], + name: "observations", + outputs: [ + { + internalType: "uint32", + name: "blockTimestamp", + type: "uint32" + }, + { + internalType: "int56", + name: "tickCumulative", + type: "int56" + }, + { + internalType: "uint160", + name: "secondsPerLiquidityCumulativeX128", + type: "uint160" + }, + { + internalType: "bool", + name: "initialized", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "key", + type: "bytes32" + } + ], + name: "positions", + outputs: [ + { + internalType: "uint128", + name: "_liquidity", + type: "uint128" + }, + { + internalType: "uint256", + name: "feeGrowthInside0LastX128", + type: "uint256" + }, + { + internalType: "uint256", + name: "feeGrowthInside1LastX128", + type: "uint256" + }, + { + internalType: "uint128", + name: "tokensOwed0", + type: "uint128" + }, + { + internalType: "uint128", + name: "tokensOwed1", + type: "uint128" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "protocolFees", + outputs: [ + { + internalType: "uint128", + name: "token0", + type: "uint128" + }, + { + internalType: "uint128", + name: "token1", + type: "uint128" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "slot0", + outputs: [ + { + internalType: "uint160", + name: "sqrtPriceX96", + type: "uint160" + }, + { + internalType: "int24", + name: "tick", + type: "int24" + }, + { + internalType: "uint16", + name: "observationIndex", + type: "uint16" + }, + { + internalType: "uint16", + name: "observationCardinality", + type: "uint16" + }, + { + internalType: "uint16", + name: "observationCardinalityNext", + type: "uint16" + }, + { + internalType: "uint8", + name: "feeProtocol", + type: "uint8" + }, + { + internalType: "bool", + name: "unlocked", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "int16", + name: "wordPosition", + type: "int16" + } + ], + name: "tickBitmap", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "int24", + name: "tick", + type: "int24" + } + ], + name: "ticks", + outputs: [ + { + internalType: "uint128", + name: "liquidityGross", + type: "uint128" + }, + { + internalType: "int128", + name: "liquidityNet", + type: "int128" + }, + { + internalType: "uint256", + name: "feeGrowthOutside0X128", + type: "uint256" + }, + { + internalType: "uint256", + name: "feeGrowthOutside1X128", + type: "uint256" + }, + { + internalType: "int56", + name: "tickCumulativeOutside", + type: "int56" + }, + { + internalType: "uint160", + name: "secondsPerLiquidityOutsideX128", + type: "uint160" + }, + { + internalType: "uint32", + name: "secondsOutside", + type: "uint32" + }, + { + internalType: "bool", + name: "initialized", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + } +]; +class IUniswapV3PoolState__factory { + static createInterface() { + return new Interface(_abi$B); + } + static connect(address, runner) { + return new Contract( + address, + _abi$B, + runner + ); + } +} +IUniswapV3PoolState__factory.abi = _abi$B; + +var index$p = /*#__PURE__*/Object.freeze({ + __proto__: null, + IUniswapV3PoolActions__factory: IUniswapV3PoolActions__factory, + IUniswapV3PoolDerivedState__factory: IUniswapV3PoolDerivedState__factory, + IUniswapV3PoolEvents__factory: IUniswapV3PoolEvents__factory, + IUniswapV3PoolImmutables__factory: IUniswapV3PoolImmutables__factory, + IUniswapV3PoolOwnerActions__factory: IUniswapV3PoolOwnerActions__factory, + IUniswapV3PoolState__factory: IUniswapV3PoolState__factory +}); + +const _abi$A = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint24", + name: "fee", + type: "uint24" + }, + { + indexed: true, + internalType: "int24", + name: "tickSpacing", + type: "int24" + } + ], + name: "FeeAmountEnabled", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "oldOwner", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "newOwner", + type: "address" + } + ], + name: "OwnerChanged", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "token0", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "token1", + type: "address" + }, + { + indexed: true, + internalType: "uint24", + name: "fee", + type: "uint24" + }, + { + indexed: false, + internalType: "int24", + name: "tickSpacing", + type: "int24" + }, + { + indexed: false, + internalType: "address", + name: "pool", + type: "address" + } + ], + name: "PoolCreated", + type: "event" + }, + { + inputs: [ + { + internalType: "address", + name: "tokenA", + type: "address" + }, + { + internalType: "address", + name: "tokenB", + type: "address" + }, + { + internalType: "uint24", + name: "fee", + type: "uint24" + } + ], + name: "createPool", + outputs: [ + { + internalType: "address", + name: "pool", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint24", + name: "fee", + type: "uint24" + }, + { + internalType: "int24", + name: "tickSpacing", + type: "int24" + } + ], + name: "enableFeeAmount", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint24", + name: "fee", + type: "uint24" + } + ], + name: "feeAmountTickSpacing", + outputs: [ + { + internalType: "int24", + name: "", + type: "int24" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "tokenA", + type: "address" + }, + { + internalType: "address", + name: "tokenB", + type: "address" + }, + { + internalType: "uint24", + name: "fee", + type: "uint24" + } + ], + name: "getPool", + outputs: [ + { + internalType: "address", + name: "pool", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_owner", + type: "address" + } + ], + name: "setOwner", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; +class IUniswapV3Factory__factory { + static createInterface() { + return new Interface(_abi$A); + } + static connect(address, runner) { + return new Contract(address, _abi$A, runner); + } +} +IUniswapV3Factory__factory.abi = _abi$A; + +const _abi$z = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "int24", + name: "tickLower", + type: "int24" + }, + { + indexed: true, + internalType: "int24", + name: "tickUpper", + type: "int24" + }, + { + indexed: false, + internalType: "uint128", + name: "amount", + type: "uint128" + }, + { + indexed: false, + internalType: "uint256", + name: "amount0", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "amount1", + type: "uint256" + } + ], + name: "Burn", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: false, + internalType: "address", + name: "recipient", + type: "address" + }, + { + indexed: true, + internalType: "int24", + name: "tickLower", + type: "int24" + }, + { + indexed: true, + internalType: "int24", + name: "tickUpper", + type: "int24" + }, + { + indexed: false, + internalType: "uint128", + name: "amount0", + type: "uint128" + }, + { + indexed: false, + internalType: "uint128", + name: "amount1", + type: "uint128" + } + ], + name: "Collect", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "recipient", + type: "address" + }, + { + indexed: false, + internalType: "uint128", + name: "amount0", + type: "uint128" + }, + { + indexed: false, + internalType: "uint128", + name: "amount1", + type: "uint128" + } + ], + name: "CollectProtocol", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "recipient", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "amount0", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "amount1", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "paid0", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "paid1", + type: "uint256" + } + ], + name: "Flash", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint16", + name: "observationCardinalityNextOld", + type: "uint16" + }, + { + indexed: false, + internalType: "uint16", + name: "observationCardinalityNextNew", + type: "uint16" + } + ], + name: "IncreaseObservationCardinalityNext", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint160", + name: "sqrtPriceX96", + type: "uint160" + }, + { + indexed: false, + internalType: "int24", + name: "tick", + type: "int24" + } + ], + name: "Initialize", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "sender", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "owner", + type: "address" + }, + { + indexed: true, + internalType: "int24", + name: "tickLower", + type: "int24" + }, + { + indexed: true, + internalType: "int24", + name: "tickUpper", + type: "int24" + }, + { + indexed: false, + internalType: "uint128", + name: "amount", + type: "uint128" + }, + { + indexed: false, + internalType: "uint256", + name: "amount0", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "amount1", + type: "uint256" + } + ], + name: "Mint", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint8", + name: "feeProtocol0Old", + type: "uint8" + }, + { + indexed: false, + internalType: "uint8", + name: "feeProtocol1Old", + type: "uint8" + }, + { + indexed: false, + internalType: "uint8", + name: "feeProtocol0New", + type: "uint8" + }, + { + indexed: false, + internalType: "uint8", + name: "feeProtocol1New", + type: "uint8" + } + ], + name: "SetFeeProtocol", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "recipient", + type: "address" + }, + { + indexed: false, + internalType: "int256", + name: "amount0", + type: "int256" + }, + { + indexed: false, + internalType: "int256", + name: "amount1", + type: "int256" + }, + { + indexed: false, + internalType: "uint160", + name: "sqrtPriceX96", + type: "uint160" + }, + { + indexed: false, + internalType: "uint128", + name: "liquidity", + type: "uint128" + }, + { + indexed: false, + internalType: "int24", + name: "tick", + type: "int24" + } + ], + name: "Swap", + type: "event" + }, + { + inputs: [ + { + internalType: "int24", + name: "tickLower", + type: "int24" + }, + { + internalType: "int24", + name: "tickUpper", + type: "int24" + }, + { + internalType: "uint128", + name: "amount", + type: "uint128" + } + ], + name: "burn", + outputs: [ + { + internalType: "uint256", + name: "amount0", + type: "uint256" + }, + { + internalType: "uint256", + name: "amount1", + type: "uint256" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "int24", + name: "tickLower", + type: "int24" + }, + { + internalType: "int24", + name: "tickUpper", + type: "int24" + }, + { + internalType: "uint128", + name: "amount0Requested", + type: "uint128" + }, + { + internalType: "uint128", + name: "amount1Requested", + type: "uint128" + } + ], + name: "collect", + outputs: [ + { + internalType: "uint128", + name: "amount0", + type: "uint128" + }, + { + internalType: "uint128", + name: "amount1", + type: "uint128" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint128", + name: "amount0Requested", + type: "uint128" + }, + { + internalType: "uint128", + name: "amount1Requested", + type: "uint128" + } + ], + name: "collectProtocol", + outputs: [ + { + internalType: "uint128", + name: "amount0", + type: "uint128" + }, + { + internalType: "uint128", + name: "amount1", + type: "uint128" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "factory", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "fee", + outputs: [ + { + internalType: "uint24", + name: "", + type: "uint24" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "feeGrowthGlobal0X128", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "feeGrowthGlobal1X128", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount0", + type: "uint256" + }, + { + internalType: "uint256", + name: "amount1", + type: "uint256" + }, + { + internalType: "bytes", + name: "data", + type: "bytes" + } + ], + name: "flash", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint16", + name: "observationCardinalityNext", + type: "uint16" + } + ], + name: "increaseObservationCardinalityNext", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint160", + name: "sqrtPriceX96", + type: "uint160" + } + ], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "liquidity", + outputs: [ + { + internalType: "uint128", + name: "", + type: "uint128" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "maxLiquidityPerTick", + outputs: [ + { + internalType: "uint128", + name: "", + type: "uint128" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "int24", + name: "tickLower", + type: "int24" + }, + { + internalType: "int24", + name: "tickUpper", + type: "int24" + }, + { + internalType: "uint128", + name: "amount", + type: "uint128" + }, + { + internalType: "bytes", + name: "data", + type: "bytes" + } + ], + name: "mint", + outputs: [ + { + internalType: "uint256", + name: "amount0", + type: "uint256" + }, + { + internalType: "uint256", + name: "amount1", + type: "uint256" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "index", + type: "uint256" + } + ], + name: "observations", + outputs: [ + { + internalType: "uint32", + name: "blockTimestamp", + type: "uint32" + }, + { + internalType: "int56", + name: "tickCumulative", + type: "int56" + }, + { + internalType: "uint160", + name: "secondsPerLiquidityCumulativeX128", + type: "uint160" + }, + { + internalType: "bool", + name: "initialized", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint32[]", + name: "secondsAgos", + type: "uint32[]" + } + ], + name: "observe", + outputs: [ + { + internalType: "int56[]", + name: "tickCumulatives", + type: "int56[]" + }, + { + internalType: "uint160[]", + name: "secondsPerLiquidityCumulativeX128s", + type: "uint160[]" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "key", + type: "bytes32" + } + ], + name: "positions", + outputs: [ + { + internalType: "uint128", + name: "_liquidity", + type: "uint128" + }, + { + internalType: "uint256", + name: "feeGrowthInside0LastX128", + type: "uint256" + }, + { + internalType: "uint256", + name: "feeGrowthInside1LastX128", + type: "uint256" + }, + { + internalType: "uint128", + name: "tokensOwed0", + type: "uint128" + }, + { + internalType: "uint128", + name: "tokensOwed1", + type: "uint128" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "protocolFees", + outputs: [ + { + internalType: "uint128", + name: "token0", + type: "uint128" + }, + { + internalType: "uint128", + name: "token1", + type: "uint128" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint8", + name: "feeProtocol0", + type: "uint8" + }, + { + internalType: "uint8", + name: "feeProtocol1", + type: "uint8" + } + ], + name: "setFeeProtocol", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "slot0", + outputs: [ + { + internalType: "uint160", + name: "sqrtPriceX96", + type: "uint160" + }, + { + internalType: "int24", + name: "tick", + type: "int24" + }, + { + internalType: "uint16", + name: "observationIndex", + type: "uint16" + }, + { + internalType: "uint16", + name: "observationCardinality", + type: "uint16" + }, + { + internalType: "uint16", + name: "observationCardinalityNext", + type: "uint16" + }, + { + internalType: "uint8", + name: "feeProtocol", + type: "uint8" + }, + { + internalType: "bool", + name: "unlocked", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "int24", + name: "tickLower", + type: "int24" + }, + { + internalType: "int24", + name: "tickUpper", + type: "int24" + } + ], + name: "snapshotCumulativesInside", + outputs: [ + { + internalType: "int56", + name: "tickCumulativeInside", + type: "int56" + }, + { + internalType: "uint160", + name: "secondsPerLiquidityInsideX128", + type: "uint160" + }, + { + internalType: "uint32", + name: "secondsInside", + type: "uint32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "bool", + name: "zeroForOne", + type: "bool" + }, + { + internalType: "int256", + name: "amountSpecified", + type: "int256" + }, + { + internalType: "uint160", + name: "sqrtPriceLimitX96", + type: "uint160" + }, + { + internalType: "bytes", + name: "data", + type: "bytes" + } + ], + name: "swap", + outputs: [ + { + internalType: "int256", + name: "amount0", + type: "int256" + }, + { + internalType: "int256", + name: "amount1", + type: "int256" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "int16", + name: "wordPosition", + type: "int16" + } + ], + name: "tickBitmap", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "tickSpacing", + outputs: [ + { + internalType: "int24", + name: "", + type: "int24" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "int24", + name: "tick", + type: "int24" + } + ], + name: "ticks", + outputs: [ + { + internalType: "uint128", + name: "liquidityGross", + type: "uint128" + }, + { + internalType: "int128", + name: "liquidityNet", + type: "int128" + }, + { + internalType: "uint256", + name: "feeGrowthOutside0X128", + type: "uint256" + }, + { + internalType: "uint256", + name: "feeGrowthOutside1X128", + type: "uint256" + }, + { + internalType: "int56", + name: "tickCumulativeOutside", + type: "int56" + }, + { + internalType: "uint160", + name: "secondsPerLiquidityOutsideX128", + type: "uint160" + }, + { + internalType: "uint32", + name: "secondsOutside", + type: "uint32" + }, + { + internalType: "bool", + name: "initialized", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "token0", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "token1", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + } +]; +class IUniswapV3Pool__factory { + static createInterface() { + return new Interface(_abi$z); + } + static connect(address, runner) { + return new Contract(address, _abi$z, runner); + } +} +IUniswapV3Pool__factory.abi = _abi$z; + +var index$o = /*#__PURE__*/Object.freeze({ + __proto__: null, + IUniswapV3Factory__factory: IUniswapV3Factory__factory, + IUniswapV3Pool__factory: IUniswapV3Pool__factory, + pool: index$p +}); + +var index$n = /*#__PURE__*/Object.freeze({ + __proto__: null, + interfaces: index$o +}); + +var index$m = /*#__PURE__*/Object.freeze({ + __proto__: null, + contracts: index$n +}); + +var index$l = /*#__PURE__*/Object.freeze({ + __proto__: null, + v3Core: index$m +}); + +const _abi$y = [ + { + inputs: [], + name: "denomination", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "commitment", + type: "bytes32" + } + ], + name: "deposit", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [], + name: "token", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes", + name: "proof", + type: "bytes" + }, + { + internalType: "bytes32", + name: "root", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "nullifierHash", + type: "bytes32" + }, + { + internalType: "address payable", + name: "recipient", + type: "address" + }, + { + internalType: "address payable", + name: "relayer", + type: "address" + }, + { + internalType: "uint256", + name: "fee", + type: "uint256" + }, + { + internalType: "uint256", + name: "refund", + type: "uint256" + } + ], + name: "withdraw", + outputs: [], + stateMutability: "payable", + type: "function" + } +]; +class ITornadoInstance__factory { + static createInterface() { + return new Interface(_abi$y); + } + static connect(address, runner) { + return new Contract(address, _abi$y, runner); + } +} +ITornadoInstance__factory.abi = _abi$y; + +var index$k = /*#__PURE__*/Object.freeze({ + __proto__: null, + ITornadoInstance__factory: ITornadoInstance__factory +}); + +const _abi$x = [ + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + } +]; +class IERC20Decimals__factory { + static createInterface() { + return new Interface(_abi$x); + } + static connect(address, runner) { + return new Contract(address, _abi$x, runner); + } +} +IERC20Decimals__factory.abi = _abi$x; + +var index$j = /*#__PURE__*/Object.freeze({ + __proto__: null, + IERC20Decimals__factory: IERC20Decimals__factory +}); + +var index$i = /*#__PURE__*/Object.freeze({ + __proto__: null, + uniswapV3OracleHelperSol: index$j +}); + +const _abi$w = [ + { + inputs: [], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "text", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "value", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + } +]; +const _bytecode$n = "0x608060405234801561001057600080fd5b50610278806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80631f1bd692146100465780633fa4f245146100c35780638129fc1c146100dd575b600080fd5b61004e6100e7565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610088578181015183820152602001610070565b50505050905090810190601f1680156100b55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6100cb610174565b60408051918252519081900360200190f35b6100e561017a565b005b60018054604080516020600284861615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561016c5780601f106101415761010080835404028352916020019161016c565b820191906000526020600020905b81548152906001019060200180831161014f57829003601f168201915b505050505081565b60005481565b600160008190556040805180820190915260058082526464756d6d7960d81b60209092019182526101ac9291906101af565b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106101f057805160ff191683800117855561021d565b8280016001018555821561021d579182015b8281111561021d578251825591602001919060010190610202565b5061022992915061022d565b5090565b5b80821115610229576000815560010161022e56fea26469706673582212204b4d54284aeff9c7c570415da4a9efb9bf7115fe94a322210f9981c1c7ae107a64736f6c634300060c0033"; +const isSuperArgs$n = (xs) => xs.length > 1; +class Dummy__factory extends ContractFactory { + constructor(...args) { + if (isSuperArgs$n(args)) { + super(...args); + } else { + super(_abi$w, _bytecode$n, args[0]); + } + } + getDeployTransaction(overrides) { + return super.getDeployTransaction(overrides || {}); + } + deploy(overrides) { + return super.deploy(overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new Interface(_abi$w); + } + static connect(address, runner) { + return new Contract(address, _abi$w, runner); + } +} +Dummy__factory.bytecode = _bytecode$n; +Dummy__factory.abi = _abi$w; + +const _abi$v = [ + { + inputs: [], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "text", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "value", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + } +]; +const _bytecode$m = "0x608060405234801561001057600080fd5b50610278806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80631f1bd692146100465780633fa4f245146100c35780638129fc1c146100dd575b600080fd5b61004e6100e7565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610088578181015183820152602001610070565b50505050905090810190601f1680156100b55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6100cb610174565b60408051918252519081900360200190f35b6100e561017a565b005b60018054604080516020600284861615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561016c5780601f106101415761010080835404028352916020019161016c565b820191906000526020600020905b81548152906001019060200180831161014f57829003601f168201915b505050505081565b60005481565b600260005560408051808201909152600680825265323ab6b6bc9960d11b60209092019182526101ac916001916101af565b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106101f057805160ff191683800117855561021d565b8280016001018555821561021d579182015b8281111561021d578251825591602001919060010190610202565b5061022992915061022d565b5090565b5b80821115610229576000815560010161022e56fea2646970667358221220056d994e19772e421a19f4bcf8cb09061d5645867c4c352106bf6b809fb5de3664736f6c634300060c0033"; +const isSuperArgs$m = (xs) => xs.length > 1; +class DummySecond__factory extends ContractFactory { + constructor(...args) { + if (isSuperArgs$m(args)) { + super(...args); + } else { + super(_abi$v, _bytecode$m, args[0]); + } + } + getDeployTransaction(overrides) { + return super.getDeployTransaction(overrides || {}); + } + deploy(overrides) { + return super.deploy(overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new Interface(_abi$v); + } + static connect(address, runner) { + return new Contract(address, _abi$v, runner); + } +} +DummySecond__factory.bytecode = _bytecode$m; +DummySecond__factory.abi = _abi$v; + +var index$h = /*#__PURE__*/Object.freeze({ + __proto__: null, + DummySecond__factory: DummySecond__factory, + Dummy__factory: Dummy__factory +}); + +const _abi$u = [ + { + inputs: [ + { + internalType: "uint256", + name: "delay", + type: "uint256" + } + ], + name: "setExecutionDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; +class IGovernance__factory { + static createInterface() { + return new Interface(_abi$u); + } + static connect(address, runner) { + return new Contract(address, _abi$u, runner); + } +} +IGovernance__factory.abi = _abi$u; + +const _abi$t = [ + { + inputs: [], + name: "executeProposal", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; +const _bytecode$l = "0x608060405234801561001057600080fd5b5060c48061001f6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c8063373058b814602d575b600080fd5b60336035565b005b6040805163e4917d9f60e01b81526203f48060048201529051309163e4917d9f91602480830192600092919082900301818387803b158015607557600080fd5b505af11580156088573d6000803e3d6000fd5b5050505056fea264697066735822122080cc4a797d58ff69ba6d6a0d2a3849574ef67da2d75c41e66a86d3f6e162209d64736f6c634300060c0033"; +const isSuperArgs$l = (xs) => xs.length > 1; +class ProposalStateChangeGovernance__factory extends ContractFactory { + constructor(...args) { + if (isSuperArgs$l(args)) { + super(...args); + } else { + super(_abi$t, _bytecode$l, args[0]); + } + } + getDeployTransaction(overrides) { + return super.getDeployTransaction(overrides || {}); + } + deploy(overrides) { + return super.deploy(overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new Interface(_abi$t); + } + static connect(address, runner) { + return new Contract( + address, + _abi$t, + runner + ); + } +} +ProposalStateChangeGovernance__factory.bytecode = _bytecode$l; +ProposalStateChangeGovernance__factory.abi = _abi$t; + +var index$g = /*#__PURE__*/Object.freeze({ + __proto__: null, + IGovernance__factory: IGovernance__factory, + ProposalStateChangeGovernance__factory: ProposalStateChangeGovernance__factory +}); + +const _abi$s = [ + { + inputs: [ + { + internalType: "address", + name: "newImplementation", + type: "address" + } + ], + name: "upgradeTo", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; +class IProxy__factory { + static createInterface() { + return new Interface(_abi$s); + } + static connect(address, runner) { + return new Contract(address, _abi$s, runner); + } +} +IProxy__factory.abi = _abi$s; + +const _abi$r = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + } + ], + name: "Delegated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "x", + type: "uint256" + } + ], + name: "Overriden", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "id", + type: "uint256" + }, + { + indexed: true, + internalType: "address", + name: "proposer", + type: "address" + }, + { + indexed: false, + internalType: "address", + name: "target", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "startTime", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "endTime", + type: "uint256" + }, + { + indexed: false, + internalType: "string", + name: "description", + type: "string" + } + ], + name: "ProposalCreated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "proposalId", + type: "uint256" + } + ], + name: "ProposalExecuted", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + } + ], + name: "Undelegated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + indexed: true, + internalType: "address", + name: "voter", + type: "address" + }, + { + indexed: true, + internalType: "bool", + name: "support", + type: "bool" + }, + { + indexed: false, + internalType: "uint256", + name: "votes", + type: "uint256" + } + ], + name: "Voted", + type: "event" + }, + { + inputs: [], + name: "CLOSING_PERIOD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "EXECUTION_DELAY", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "EXECUTION_EXPIRATION", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "PROPOSAL_THRESHOLD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "QUORUM_VOTES", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "VOTE_EXTEND_TIME", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "VOTING_DELAY", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "VOTING_PERIOD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "canWithdrawAfter", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address[]", + name: "from", + type: "address[]" + }, + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + internalType: "bool", + name: "support", + type: "bool" + } + ], + name: "castDelegatedVote", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + internalType: "bool", + name: "support", + type: "bool" + } + ], + name: "castVote", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address" + } + ], + name: "delegate", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "delegatedTo", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + } + ], + name: "execute", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + internalType: "address", + name: "voter", + type: "address" + } + ], + name: "getReceipt", + outputs: [ + { + components: [ + { + internalType: "bool", + name: "hasVoted", + type: "bool" + }, + { + internalType: "bool", + name: "support", + type: "bool" + }, + { + internalType: "uint256", + name: "votes", + type: "uint256" + } + ], + internalType: "struct Governance.Receipt", + name: "", + type: "tuple" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_torn", + type: "address" + } + ], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "latestProposalIds", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256" + }, + { + internalType: "uint8", + name: "v", + type: "uint8" + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32" + } + ], + name: "lock", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "lockWithApproval", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "lockedBalance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "newVariable", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "proposalCount", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + name: "proposals", + outputs: [ + { + internalType: "address", + name: "proposer", + type: "address" + }, + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "uint256", + name: "startTime", + type: "uint256" + }, + { + internalType: "uint256", + name: "endTime", + type: "uint256" + }, + { + internalType: "uint256", + name: "forVotes", + type: "uint256" + }, + { + internalType: "uint256", + name: "againstVotes", + type: "uint256" + }, + { + internalType: "bool", + name: "executed", + type: "bool" + }, + { + internalType: "bool", + name: "extended", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "string", + name: "description", + type: "string" + } + ], + name: "propose", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address" + }, + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "string", + name: "description", + type: "string" + } + ], + name: "proposeByDelegate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "closingPeriod", + type: "uint256" + } + ], + name: "setClosingPeriod", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "executionDelay", + type: "uint256" + } + ], + name: "setExecutionDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "executionExpiration", + type: "uint256" + } + ], + name: "setExecutionExpiration", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalThreshold", + type: "uint256" + } + ], + name: "setProposalThreshold", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "quorumVotes", + type: "uint256" + } + ], + name: "setQuorumVotes", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "time_", + type: "uint256" + } + ], + name: "setTimestamp", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "torna", + type: "address" + } + ], + name: "setTorn", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "voteExtendTime", + type: "uint256" + } + ], + name: "setVoteExtendTime", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "votingDelay", + type: "uint256" + } + ], + name: "setVotingDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "votingPeriod", + type: "uint256" + } + ], + name: "setVotingPeriod", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + } + ], + name: "state", + outputs: [ + { + internalType: "enum Governance.ProposalState", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "time", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "torn", + outputs: [ + { + internalType: "contract TORN", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "undelegate", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "unlock", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; +const _bytecode$k = "0x6080604052426041553480156200001557600080fd5b50600054610100900460ff168062000032575062000032620000cd565b8062000041575060005460ff16155b620000695760405162461bcd60e51b8152600401620000609062000114565b60405180910390fd5b600054610100900460ff1615801562000095576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b03191661dead179055620000b3620000d3565b8015620000c6576000805461ff00191690555b5062000162565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b6123ac80620001726000396000f3fe60806040526004361061023b5760003560e01c8063a0a2b5731161012e578063ce25d71c116100ab578063e4917d9f1161006f578063e4917d9f14610664578063ea0217cf14610684578063ece40cc1146106a4578063f0b76892146106c4578063fe0d94c1146106e45761023b565b8063ce25d71c146105d8578063d6159fe5146105ed578063d6f0948c14610602578063da35c66414610622578063e23a9a52146106375761023b565b8063b54426c8116100f2578063b54426c814610538578063b5f6a74314610558578063b859f11b14610578578063c0c0e82014610598578063c4d66de8146105b85761023b565b8063a0a2b573146104b9578063a6c26603146104d9578063a72edda3146104ee578063adf898a41461050e578063b1610d7e146105235761023b565b80636198e339116101bc57806370b0f6601161018057806370b0f6601461042f5780638d7a72f31461044f57806392ab89bb146104645780639a9e3b6e146104795780639ae697bf146104995761023b565b80636198e3391461039857806365da1264146103b8578063671dd275146103e55780636a661755146103fa5780636dc2dc6c1461040f5761023b565b806337f135d71161020357806337f135d7146103015780633e4f49e614610316578063587a6ecb1461034357806358e9fff0146103585780635c19a95c146103785761023b565b8063013cf08b1461024057806302ec8f9e1461027d57806315373e3d1461029f57806316ada547146102bf57806317977c61146102e1575b600080fd5b34801561024c57600080fd5b5061026061025b366004611cd6565b6106f7565b604051610274989796959493929190611de5565b60405180910390f35b34801561028957600080fd5b5061029d610298366004611cd6565b61075c565b005b3480156102ab57600080fd5b5061029d6102ba366004611d1a565b610789565b3480156102cb57600080fd5b506102d4610798565b6040516102749190612323565b3480156102ed57600080fd5b506102d46102fc366004611acd565b61079e565b34801561030d57600080fd5b506102d46107b0565b34801561032257600080fd5b50610336610331366004611cd6565b6107b6565b6040516102749190611ea3565b34801561034f57600080fd5b506102d46108f9565b34801561036457600080fd5b506102d4610373366004611ae8565b6108ff565b34801561038457600080fd5b5061029d610393366004611acd565b61094d565b3480156103a457600080fd5b5061029d6103b3366004611cd6565b610a6f565b3480156103c457600080fd5b506103d86103d3366004611acd565b610ba6565b6040516102749190611d94565b3480156103f157600080fd5b506102d4610bc1565b34801561040657600080fd5b506102d4610bc7565b34801561041b57600080fd5b5061029d61042a366004611cd6565b610bcd565b34801561043b57600080fd5b5061029d61044a366004611cd6565b610c12565b34801561045b57600080fd5b506102d4610c36565b34801561047057600080fd5b5061029d610c3c565b34801561048557600080fd5b5061029d610494366004611cd6565b610cc3565b3480156104a557600080fd5b506102d46104b4366004611acd565b610ce7565b3480156104c557600080fd5b5061029d6104d4366004611cd6565b610cf9565b3480156104e557600080fd5b506102d4610cfe565b3480156104fa57600080fd5b506102d4610509366004611acd565b610d04565b34801561051a57600080fd5b506103d8610d16565b34801561052f57600080fd5b506102d4610d25565b34801561054457600080fd5b5061029d610553366004611cd6565b610d2b565b34801561056457600080fd5b5061029d610573366004611acd565b610d35565b34801561058457600080fd5b5061029d610593366004611bf5565b610d57565b3480156105a457600080fd5b5061029d6105b3366004611cd6565b610e0e565b3480156105c457600080fd5b5061029d6105d3366004611acd565b610e32565b3480156105e457600080fd5b506102d4611075565b3480156105f957600080fd5b506102d461107b565b34801561060e57600080fd5b506102d461061d366004611b48565b611081565b34801561062e57600080fd5b506102d4611097565b34801561064357600080fd5b50610657610652366004611cee565b6110a1565b60405161027491906122fe565b34801561067057600080fd5b5061029d61067f366004611cd6565b611113565b34801561069057600080fd5b5061029d61069f366004611cd6565b611137565b3480156106b057600080fd5b5061029d6106bf366004611cd6565b61115b565b3480156106d057600080fd5b5061029d6106df366004611b96565b61117f565b61029d6106f2366004611cd6565b6111ff565b603d818154811061070457fe5b600091825260209091206008909102018054600182015460028301546003840154600485015460058601546006909601546001600160a01b039586169750949093169491939092919060ff8082169161010090041688565b3330146107845760405162461bcd60e51b815260040161077b90612101565b60405180910390fd5b603555565b610794338383611240565b5050565b60415481565b603e6020526000908152604090205481565b60335481565b60006107c0611097565b82111580156107cf5750600082115b6107eb5760405162461bcd60e51b815260040161077b90612237565b6000603d83815481106107fa57fe5b906000526020600020906008020190508060020154610817611471565b116108265760009150506108f4565b8060030154610833611471565b116108425760019150506108f4565b8060050154816004015411158061086457506035548160050154826004015401105b156108735760029150506108f4565b600681015460ff161561088a5760059150506108f4565b6108af6034546108a9603354846003015461147790919063ffffffff16565b90611477565b6108b7611471565b106108c65760069150506108f4565b60335460038201546108d791611477565b6108df611471565b106108ee5760049150506108f4565b60039150505b919050565b603a5481565b6001600160a01b038381166000908152603c6020526040812054909116331461093a5760405162461bcd60e51b815260040161077b906122c7565b61094584848461149c565b949350505050565b336000818152603c60205260409020546001600160a01b03908116919083161480159061098357506001600160a01b0382163014155b801561099757506001600160a01b03821615155b80156109b55750806001600160a01b0316826001600160a01b031614155b6109d15760405162461bcd60e51b815260040161077b90612138565b6001600160a01b03811615610a17576040516001600160a01b0382169033907f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7290600090a35b336000818152603c602052604080822080546001600160a01b0319166001600160a01b03871690811790915590519092917f4bc154dd35d6a5cb9206482ecb473cdbf2473006d6bce728b9cc0741bcc59ea291a35050565b336000908152603f6020526040902054610a87611471565b11610aa45760405162461bcd60e51b815260040161077b90612064565b60408051808201825260208082527f476f7665726e616e63653a20696e73756666696369656e742062616c616e636581830152336000908152603b9091529190912054610af29183906117ea565b336000818152603b602052604090819020929092558154915163a9059cbb60e01b81526001600160a01b039092169163a9059cbb91610b35918590600401611da8565b602060405180830381600087803b158015610b4f57600080fd5b505af1158015610b63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b879190611cba565b610ba35760405162461bcd60e51b815260040161077b9061209b565b50565b603c602052600090815260409020546001600160a01b031681565b60355481565b60345481565b333014610bec5760405162461bcd60e51b815260040161077b90612101565b6033548110610c0d5760405162461bcd60e51b815260040161077b90612020565b603a55565b333014610c315760405162461bcd60e51b815260040161077b90612101565b603755565b60425481565b336000908152603c60205260409020546001600160a01b031680610c725760405162461bcd60e51b815260040161077b9061227d565b336000818152603c602052604080822080546001600160a01b0319169055516001600160a01b03841692917f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7291a350565b333014610ce25760405162461bcd60e51b815260040161077b90612101565b603455565b603b6020526000908152604090205481565b604155565b60365481565b603f6020526000908152604090205481565b6040546001600160a01b031681565b60385481565b610ba33382611816565b604080546001600160a01b0319166001600160a01b0392909216919091179055565b60005b8351811015610de857336001600160a01b0316603c6000868481518110610d7d57fe5b6020908102919091018101516001600160a01b03908116835290820192909252604001600020541614610dc25760405162461bcd60e51b815260040161077b906122c7565b610de0848281518110610dd157fe5b60200260200101518484611240565b600101610d5a565b50336000908152603b602052604090205415610e0957610e09338383611240565b505050565b333014610e2d5760405162461bcd60e51b815260040161077b90612101565b603955565b600054610100900460ff1680610e4b5750610e4b6118fb565b80610e59575060005460ff16155b610e755760405162461bcd60e51b815260040161077b906121e9565b600054610100900460ff16158015610ea0576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b038085166001600160a01b03199283161783558251610100818101855230825261dead602083019081526000958301868152606084018781526080850188815260a08601898152600160c0880181815260e089018c8152603d80549384018155909c52975160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b16928c169290921790915594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc4860180549190991699169890981790965590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc5830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc682015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc784015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc8830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990910180549351151590920261ff001991151560ff199094169390931716919091179055611060611901565b8015610794576000805461ff00191690555050565b60395481565b60375481565b600061108e33848461149c565b90505b92915050565b603d546000190190565b6110a96119c7565b603d83815481106110b657fe5b600091825260208083206001600160a01b0395909516835260089190910290930160070183526040908190208151606081018352815460ff8082161515835261010090910416151594810194909452600101549083015250919050565b3330146111325760405162461bcd60e51b815260040161077b90612101565b603355565b3330146111565760405162461bcd60e51b815260040161077b90612101565b603855565b33301461117a5760405162461bcd60e51b815260040161077b90612101565b603655565b60408054905163d505accf60e01b81526001600160a01b039091169063d505accf906111bb90899030908a908a908a908a908a90600401611e2b565b600060405180830381600087803b1580156111d557600080fd5b505af11580156111e9573d6000803e3d6000fd5b505050506111f78686611816565b505050505050565b6103e76042556040517fc22c84ebcf25b30190d2b53474def7b552efd2018ef8acaf6bed1b67e8d2be7c90611235908390612323565b60405180910390a150565b600161124b836107b6565b600681111561125657fe5b146112735760405162461bcd60e51b815260040161077b90611f45565b6000603d838154811061128257fe5b600091825260208083206001600160a01b038816845260076008909302019182018152604080842060058401546004850154603b9094529190942054929450101590806112e15760405162461bcd60e51b815260040161077b9061216f565b825460ff1615611330578254610100900460ff1615611317576001830154600485015461130d91611942565b6004850155611330565b6001830154600585015461132a91611942565b60058501555b841561134f5760048401546113459082611477565b6004850155611364565b600584015461135e9082611477565b60058501555b6006840154610100900460ff161580156113945750603954611392611387611471565b600387015490611942565b105b156113d85760058401546004850154111582151581146113d65760068501805461ff001916610100179055603a5460038601546113d091611477565b60038601555b505b8254600160ff19909116811761ff001916610100871515021784558301819055603354603454603a546003870154611423938b9361141e9391926108a992839190611477565b611984565b841515876001600160a01b0316877f7c2de587c00d75474a0c6c6fa96fd3b45dc974cd4e8a75f712bb84c950dce1b5846040516114609190612323565b60405180910390a450505050505050565b60415490565b60008282018381101561108e5760405162461bcd60e51b815260040161077b90611fe9565b6001600160a01b0383166000908152603b60205260408120546036548110156114d75760405162461bcd60e51b815260040161077b90611f8c565b6114e0846119c1565b6114fc5760405162461bcd60e51b815260040161077b906121a6565b6001600160a01b0385166000908152603e6020526040902054801561156e576000611526826107b6565b9050600181600681111561153657fe5b141580156115505750600081600681111561154d57fe5b14155b61156c5760405162461bcd60e51b815260040161077b90611eca565b505b600061157e6037546108a9611471565b905060006115976038548361147790919063ffffffff16565b90506115a16119e7565b506040805161010080820183526001600160a01b03808c1683528a8116602084019081529383018681526060840186815260006080860181815260a0870182815260c0880183815260e08901848152603d80546001810182559086528a5160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b166001600160a01b03199384161790559b517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc48d01805491909a1691161790975594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc58a015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc6890155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc788015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc887015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990950180549251151590930261ff001995151560ff19909316929092179490941617905590611753611097565b82516001600160a01b03166000908152603e60205260409020819055603354603454603a54929350611795928d9261141e9290916108a9919082908a90611477565b896001600160a01b0316817f90ec05050aa23d54ba425e926fe646c318e85825bc400b13a46010abe86eb2f08b87878d6040516117d59493929190611e6c565b60405180910390a39998505050505050505050565b6000818484111561180e5760405162461bcd60e51b815260040161077b9190611eb7565b505050900390565b6040805490516323b872dd60e01b81526001600160a01b03909116906323b872dd9061184a90859030908690600401611dc1565b602060405180830381600087803b15801561186457600080fd5b505af1158015611878573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061189c9190611cba565b6118b85760405162461bcd60e51b815260040161077b906120ca565b6001600160a01b0382166000908152603b60205260409020546118db9082611477565b6001600160a01b039092166000908152603b602052604090209190915550565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b600061108e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506117ea565b6001600160a01b0382166000908152603f6020526040902054811115610794576001600160a01b03919091166000908152603f6020526040902055565b3b151590565b604080516060810182526000808252602082018190529181019190915290565b60405180610100016040528060006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000151581526020016000151581525090565b80356001600160a01b038116811461109157600080fd5b803561109181612368565b600082601f830112611a74578081fd5b813567ffffffffffffffff811115611a8a578182fd5b611a9d601f8201601f191660200161232c565b9150808252836020828501011115611ab457600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215611ade578081fd5b61108e8383611a42565b600080600060608486031215611afc578182fd5b8335611b0781612353565b92506020840135611b1781612353565b9150604084013567ffffffffffffffff811115611b32578182fd5b611b3e86828701611a64565b9150509250925092565b60008060408385031215611b5a578182fd5b8235611b6581612353565b9150602083013567ffffffffffffffff811115611b80578182fd5b611b8c85828601611a64565b9150509250929050565b60008060008060008060c08789031215611bae578182fd5b611bb88888611a42565b95506020870135945060408701359350606087013560ff81168114611bdb578283fd5b9598949750929560808101359460a0909101359350915050565b600080600060608486031215611c09578283fd5b833567ffffffffffffffff80821115611c20578485fd5b818601915086601f830112611c33578485fd5b813581811115611c41578586fd5b60209150818102611c5383820161232c565b8281528381019085850183870186018c1015611c6d57898afd5b8996505b84871015611c9757611c838c82611a42565b835260019690960195918501918501611c71565b5097505050508501359250611cb190508560408601611a59565b90509250925092565b600060208284031215611ccb578081fd5b815161108e81612368565b600060208284031215611ce7578081fd5b5035919050565b60008060408385031215611d00578182fd5b82359150611d118460208501611a42565b90509250929050565b60008060408385031215611d2c578182fd5b823591506020830135611d3e81612368565b809150509250929050565b60008151808452815b81811015611d6e57602081850181015186830182015201611d52565b81811115611d7f5782602083870101525b50601f01601f19169290920160200192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03988916815296909716602087015260408601949094526060850192909252608084015260a0830152151560c082015290151560e08201526101000190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b600060018060a01b038616825284602083015283604083015260806060830152611e996080830184611d49565b9695505050505050565b6020810160078310611eb157fe5b91905290565b60006020825261108e6020830184611d49565b60208082526055908201527f476f7665726e616e63653a3a70726f706f73653a206f6e65206c69766520707260408201527f6f706f73616c207065722070726f706f7365722c20666f756e6420616e20616c6060820152741c9958591e481858dd1a5d99481c1c9bdc1bdcd85b605a1b608082015260a00190565b60208082526027908201527f476f7665726e616e63653a3a5f63617374566f74653a20766f74696e672069736040820152660818db1bdcd95960ca1b606082015260800190565b6020808252603c908201527f476f7665726e616e63653a3a70726f706f73653a2070726f706f73657220766f60408201527f7465732062656c6f772070726f706f73616c207468726573686f6c6400000000606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526024908201527f476f7665726e616e63653a20696e636f727265637420766f7465457874656e6460408201526354696d6560e01b606082015260800190565b6020808252601d908201527f476f7665726e616e63653a20746f6b656e7320617265206c6f636b6564000000604082015260600190565b6020808252601590820152741513d4938e881d1c985b9cd9995c8819985a5b1959605a1b604082015260600190565b60208082526019908201527f544f524e3a207472616e7366657246726f6d206661696c656400000000000000604082015260600190565b60208082526018908201527f476f7665726e616e63653a20756e617574686f72697a65640000000000000000604082015260600190565b6020808252601d908201527f476f7665726e616e63653a20696e76616c69642064656c656761746565000000604082015260600190565b60208082526018908201527f476f7665726e616e63653a2062616c616e636520697320300000000000000000604082015260600190565b60208082526023908201527f476f7665726e616e63653a3a70726f706f73653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b60208082526026908201527f476f7665726e616e63653a3a73746174653a20696e76616c69642070726f706f6040820152651cd85b081a5960d21b606082015260800190565b6020808252602a908201527f476f7665726e616e63653a20746f6b656e732061726520616c726561647920756040820152691b99195b1959d85d195960b21b606082015260800190565b6020808252601a908201527f476f7665726e616e63653a206e6f7420617574686f72697a6564000000000000604082015260600190565b8151151581526020808301511515908201526040918201519181019190915260600190565b90815260200190565b60405181810167ffffffffffffffff8111828210171561234b57600080fd5b604052919050565b6001600160a01b0381168114610ba357600080fd5b8015158114610ba357600080fdfea264697066735822122077147b2d24ffd383c4a2d0eb254eb72ba4274421278e284354c4848ff7c9df0164736f6c634300060c0033"; +const isSuperArgs$k = (xs) => xs.length > 1; +class NewImplementation__factory extends ContractFactory { + constructor(...args) { + if (isSuperArgs$k(args)) { + super(...args); + } else { + super(_abi$r, _bytecode$k, args[0]); + } + } + getDeployTransaction(overrides) { + return super.getDeployTransaction(overrides || {}); + } + deploy(overrides) { + return super.deploy(overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new Interface(_abi$r); + } + static connect(address, runner) { + return new Contract(address, _abi$r, runner); + } +} +NewImplementation__factory.bytecode = _bytecode$k; +NewImplementation__factory.abi = _abi$r; + +const _abi$q = [ + { + inputs: [ + { + internalType: "address", + name: "_newLogic", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + inputs: [], + name: "executeProposal", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "newLogic", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + } +]; +const _bytecode$j = "0x60a060405234801561001057600080fd5b506040516101da3803806101da83398101604081905261002f91610044565b60601b6001600160601b031916608052610072565b600060208284031215610055578081fd5b81516001600160a01b038116811461006b578182fd5b9392505050565b60805160601c610148610092600039806065528060a252506101486000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806305ccb23e1461003b578063373058b814610059575b600080fd5b610043610063565b60405161005091906100fe565b60405180910390f35b610061610087565b005b7f000000000000000000000000000000000000000000000000000000000000000081565b604051631b2ce7f360e11b81523090633659cfe6906100ca907f0000000000000000000000000000000000000000000000000000000000000000906004016100fe565b600060405180830381600087803b1580156100e457600080fd5b505af11580156100f8573d6000803e3d6000fd5b50505050565b6001600160a01b039190911681526020019056fea26469706673582212207d2c2c988cd8f64fa7efb7ef33cfeee3b01f81a501e4a71ae8a63d6a5e269eb664736f6c634300060c0033"; +const isSuperArgs$j = (xs) => xs.length > 1; +class ProposalUpgrade__factory extends ContractFactory { + constructor(...args) { + if (isSuperArgs$j(args)) { + super(...args); + } else { + super(_abi$q, _bytecode$j, args[0]); + } + } + getDeployTransaction(_newLogic, overrides) { + return super.getDeployTransaction(_newLogic, overrides || {}); + } + deploy(_newLogic, overrides) { + return super.deploy(_newLogic, overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new Interface(_abi$q); + } + static connect(address, runner) { + return new Contract(address, _abi$q, runner); + } +} +ProposalUpgrade__factory.bytecode = _bytecode$j; +ProposalUpgrade__factory.abi = _abi$q; + +var index$f = /*#__PURE__*/Object.freeze({ + __proto__: null, + IProxy__factory: IProxy__factory, + NewImplementation__factory: NewImplementation__factory, + ProposalUpgrade__factory: ProposalUpgrade__factory +}); + +const _abi$p = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + } + ], + name: "Delegated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "id", + type: "uint256" + }, + { + indexed: true, + internalType: "address", + name: "proposer", + type: "address" + }, + { + indexed: false, + internalType: "address", + name: "target", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "startTime", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "endTime", + type: "uint256" + }, + { + indexed: false, + internalType: "string", + name: "description", + type: "string" + } + ], + name: "ProposalCreated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "proposalId", + type: "uint256" + } + ], + name: "ProposalExecuted", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + } + ], + name: "Undelegated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + indexed: true, + internalType: "address", + name: "voter", + type: "address" + }, + { + indexed: true, + internalType: "bool", + name: "support", + type: "bool" + }, + { + indexed: false, + internalType: "uint256", + name: "votes", + type: "uint256" + } + ], + name: "Voted", + type: "event" + }, + { + inputs: [], + name: "CLOSING_PERIOD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "EXECUTION_DELAY", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "EXECUTION_EXPIRATION", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "PROPOSAL_THRESHOLD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "QUORUM_VOTES", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "VOTE_EXTEND_TIME", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "VOTING_DELAY", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "VOTING_PERIOD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "canWithdrawAfter", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address[]", + name: "from", + type: "address[]" + }, + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + internalType: "bool", + name: "support", + type: "bool" + } + ], + name: "castDelegatedVote", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + internalType: "bool", + name: "support", + type: "bool" + } + ], + name: "castVote", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address" + } + ], + name: "delegate", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "delegatedTo", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + } + ], + name: "execute", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + internalType: "address", + name: "voter", + type: "address" + } + ], + name: "getReceipt", + outputs: [ + { + components: [ + { + internalType: "bool", + name: "hasVoted", + type: "bool" + }, + { + internalType: "bool", + name: "support", + type: "bool" + }, + { + internalType: "uint256", + name: "votes", + type: "uint256" + } + ], + internalType: "struct Governance.Receipt", + name: "", + type: "tuple" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_torn", + type: "address" + } + ], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "latestProposalIds", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256" + }, + { + internalType: "uint8", + name: "v", + type: "uint8" + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32" + } + ], + name: "lock", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "lockWithApproval", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "lockedBalance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "proposalCount", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + name: "proposals", + outputs: [ + { + internalType: "address", + name: "proposer", + type: "address" + }, + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "uint256", + name: "startTime", + type: "uint256" + }, + { + internalType: "uint256", + name: "endTime", + type: "uint256" + }, + { + internalType: "uint256", + name: "forVotes", + type: "uint256" + }, + { + internalType: "uint256", + name: "againstVotes", + type: "uint256" + }, + { + internalType: "bool", + name: "executed", + type: "bool" + }, + { + internalType: "bool", + name: "extended", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "string", + name: "description", + type: "string" + } + ], + name: "propose", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address" + }, + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "string", + name: "description", + type: "string" + } + ], + name: "proposeByDelegate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "closingPeriod", + type: "uint256" + } + ], + name: "setClosingPeriod", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "executionDelay", + type: "uint256" + } + ], + name: "setExecutionDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "executionExpiration", + type: "uint256" + } + ], + name: "setExecutionExpiration", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalThreshold", + type: "uint256" + } + ], + name: "setProposalThreshold", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "quorumVotes", + type: "uint256" + } + ], + name: "setQuorumVotes", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "time_", + type: "uint256" + } + ], + name: "setTimestamp", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "torna", + type: "address" + } + ], + name: "setTorn", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "voteExtendTime", + type: "uint256" + } + ], + name: "setVoteExtendTime", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "votingDelay", + type: "uint256" + } + ], + name: "setVotingDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "votingPeriod", + type: "uint256" + } + ], + name: "setVotingPeriod", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + } + ], + name: "state", + outputs: [ + { + internalType: "enum Governance.ProposalState", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "time", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "torn", + outputs: [ + { + internalType: "contract TORN", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "undelegate", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "unlock", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; +const _bytecode$i = "0x6080604052426041553480156200001557600080fd5b50600054610100900460ff168062000032575062000032620000cd565b8062000041575060005460ff16155b620000695760405162461bcd60e51b8152600401620000609062000114565b60405180910390fd5b600054610100900460ff1615801562000095576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b03191661dead179055620000b3620000d3565b8015620000c6576000805461ff00191690555b5062000162565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b6125c980620001726000396000f3fe6080604052600436106102305760003560e01c8063a0a2b5731161012e578063ce25d71c116100ab578063e4917d9f1161006f578063e4917d9f14610644578063ea0217cf14610664578063ece40cc114610684578063f0b76892146106a4578063fe0d94c1146106c457610230565b8063ce25d71c146105b8578063d6159fe5146105cd578063d6f0948c146105e2578063da35c66414610602578063e23a9a521461061757610230565b8063b54426c8116100f2578063b54426c814610518578063b5f6a74314610538578063b859f11b14610558578063c0c0e82014610578578063c4d66de81461059857610230565b8063a0a2b57314610499578063a6c26603146104b9578063a72edda3146104ce578063adf898a4146104ee578063b1610d7e1461050357610230565b80635c19a95c116101bc5780636dc2dc6c116101805780636dc2dc6c1461040457806370b0f6601461042457806392ab89bb146104445780639a9e3b6e146104595780639ae697bf1461047957610230565b80635c19a95c1461036d5780636198e3391461038d57806365da1264146103ad578063671dd275146103da5780636a661755146103ef57610230565b806317977c611161020357806317977c61146102d657806337f135d7146102f65780633e4f49e61461030b578063587a6ecb1461033857806358e9fff01461034d57610230565b8063013cf08b1461023557806302ec8f9e1461027257806315373e3d1461029457806316ada547146102b4575b600080fd5b34801561024157600080fd5b50610255610250366004611e01565b6106d7565b604051610269989796959493929190611f0d565b60405180910390f35b34801561027e57600080fd5b5061029261028d366004611e01565b61073c565b005b3480156102a057600080fd5b506102926102af366004611e45565b610769565b3480156102c057600080fd5b506102c9610778565b6040516102699190612510565b3480156102e257600080fd5b506102c96102f1366004611bf8565b61077e565b34801561030257600080fd5b506102c9610790565b34801561031757600080fd5b5061032b610326366004611e01565b610796565b6040516102699190611fcb565b34801561034457600080fd5b506102c96108d9565b34801561035957600080fd5b506102c9610368366004611c13565b6108df565b34801561037957600080fd5b50610292610388366004611bf8565b61092d565b34801561039957600080fd5b506102926103a8366004611e01565b610a4f565b3480156103b957600080fd5b506103cd6103c8366004611bf8565b610b86565b6040516102699190611ebc565b3480156103e657600080fd5b506102c9610ba1565b3480156103fb57600080fd5b506102c9610ba7565b34801561041057600080fd5b5061029261041f366004611e01565b610bad565b34801561043057600080fd5b5061029261043f366004611e01565b610bf2565b34801561045057600080fd5b50610292610c16565b34801561046557600080fd5b50610292610474366004611e01565b610c9d565b34801561048557600080fd5b506102c9610494366004611bf8565b610cc1565b3480156104a557600080fd5b506102926104b4366004611e01565b610cd3565b3480156104c557600080fd5b506102c9610cd8565b3480156104da57600080fd5b506102c96104e9366004611bf8565b610cde565b3480156104fa57600080fd5b506103cd610cf0565b34801561050f57600080fd5b506102c9610cff565b34801561052457600080fd5b50610292610533366004611e01565b610d05565b34801561054457600080fd5b50610292610553366004611bf8565b610d0f565b34801561056457600080fd5b50610292610573366004611d20565b610d31565b34801561058457600080fd5b50610292610593366004611e01565b610de8565b3480156105a457600080fd5b506102926105b3366004611bf8565b610e0c565b3480156105c457600080fd5b506102c961104f565b3480156105d957600080fd5b506102c9611055565b3480156105ee57600080fd5b506102c96105fd366004611c73565b61105b565b34801561060e57600080fd5b506102c9611071565b34801561062357600080fd5b50610637610632366004611e19565b61107b565b60405161026991906124eb565b34801561065057600080fd5b5061029261065f366004611e01565b6110ed565b34801561067057600080fd5b5061029261067f366004611e01565b611111565b34801561069057600080fd5b5061029261069f366004611e01565b611135565b3480156106b057600080fd5b506102926106bf366004611cc1565b611159565b6102926106d2366004611e01565b6111d9565b603d81815481106106e457fe5b600091825260209091206008909102018054600182015460028301546003840154600485015460058601546006909601546001600160a01b039586169750949093169491939092919060ff8082169161010090041688565b3330146107645760405162461bcd60e51b815260040161075b906122b7565b60405180910390fd5b603555565b61077433838361136b565b5050565b60415481565b603e6020526000908152604090205481565b60335481565b60006107a0611071565b82111580156107af5750600082115b6107cb5760405162461bcd60e51b815260040161075b906123ed565b6000603d83815481106107da57fe5b9060005260206000209060080201905080600201546107f761159c565b116108065760009150506108d4565b806003015461081361159c565b116108225760019150506108d4565b8060050154816004015411158061084457506035548160050154826004015401105b156108535760029150506108d4565b600681015460ff161561086a5760059150506108d4565b61088f60345461088960335484600301546115a290919063ffffffff16565b906115a2565b61089761159c565b106108a65760069150506108d4565b60335460038201546108b7916115a2565b6108bf61159c565b106108ce5760049150506108d4565b60039150505b919050565b603a5481565b6001600160a01b038381166000908152603c6020526040812054909116331461091a5760405162461bcd60e51b815260040161075b9061247d565b6109258484846115c7565b949350505050565b336000818152603c60205260409020546001600160a01b03908116919083161480159061096357506001600160a01b0382163014155b801561097757506001600160a01b03821615155b80156109955750806001600160a01b0316826001600160a01b031614155b6109b15760405162461bcd60e51b815260040161075b906122ee565b6001600160a01b038116156109f7576040516001600160a01b0382169033907f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7290600090a35b336000818152603c602052604080822080546001600160a01b0319166001600160a01b03871690811790915590519092917f4bc154dd35d6a5cb9206482ecb473cdbf2473006d6bce728b9cc0741bcc59ea291a35050565b336000908152603f6020526040902054610a6761159c565b11610a845760405162461bcd60e51b815260040161075b9061221a565b60408051808201825260208082527f476f7665726e616e63653a20696e73756666696369656e742062616c616e636581830152336000908152603b9091529190912054610ad2918390611915565b336000818152603b602052604090819020929092558154915163a9059cbb60e01b81526001600160a01b039092169163a9059cbb91610b15918590600401611ed0565b602060405180830381600087803b158015610b2f57600080fd5b505af1158015610b43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b679190611de5565b610b835760405162461bcd60e51b815260040161075b90612251565b50565b603c602052600090815260409020546001600160a01b031681565b60355481565b60345481565b333014610bcc5760405162461bcd60e51b815260040161075b906122b7565b6033548110610bed5760405162461bcd60e51b815260040161075b906121d6565b603a55565b333014610c115760405162461bcd60e51b815260040161075b906122b7565b603755565b336000908152603c60205260409020546001600160a01b031680610c4c5760405162461bcd60e51b815260040161075b90612433565b336000818152603c602052604080822080546001600160a01b0319169055516001600160a01b03841692917f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7291a350565b333014610cbc5760405162461bcd60e51b815260040161075b906122b7565b603455565b603b6020526000908152604090205481565b604155565b60365481565b603f6020526000908152604090205481565b6040546001600160a01b031681565b60385481565b610b833382611941565b604080546001600160a01b0319166001600160a01b0392909216919091179055565b60005b8351811015610dc257336001600160a01b0316603c6000868481518110610d5757fe5b6020908102919091018101516001600160a01b03908116835290820192909252604001600020541614610d9c5760405162461bcd60e51b815260040161075b9061247d565b610dba848281518110610dab57fe5b6020026020010151848461136b565b600101610d34565b50336000908152603b602052604090205415610de357610de333838361136b565b505050565b333014610e075760405162461bcd60e51b815260040161075b906122b7565b603955565b600054610100900460ff1680610e255750610e25611a26565b80610e33575060005460ff16155b610e4f5760405162461bcd60e51b815260040161075b9061239f565b600054610100900460ff16158015610e7a576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b038085166001600160a01b03199283161783558251610100818101855230825261dead602083019081526000958301868152606084018781526080850188815260a08601898152600160c0880181815260e089018c8152603d80549384018155909c52975160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b16928c169290921790915594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc4860180549190991699169890981790965590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc5830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc682015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc784015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc8830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990910180549351151590920261ff001991151560ff19909416939093171691909117905561103a611a2c565b8015610774576000805461ff00191690555050565b60395481565b60375481565b60006110683384846115c7565b90505b92915050565b603d546000190190565b611083611af2565b603d838154811061109057fe5b600091825260208083206001600160a01b0395909516835260089190910290930160070183526040908190208151606081018352815460ff8082161515835261010090910416151594810194909452600101549083015250919050565b33301461110c5760405162461bcd60e51b815260040161075b906122b7565b603355565b3330146111305760405162461bcd60e51b815260040161075b906122b7565b603855565b3330146111545760405162461bcd60e51b815260040161075b906122b7565b603655565b60408054905163d505accf60e01b81526001600160a01b039091169063d505accf9061119590899030908a908a908a908a908a90600401611f53565b600060405180830381600087803b1580156111af57600080fd5b505af11580156111c3573d6000803e3d6000fd5b505050506111d18686611941565b505050505050565b60046111e482610796565b60068111156111ef57fe5b1461120c5760405162461bcd60e51b815260040161075b90612035565b6000603d828154811061121b57fe5b600091825260209091206006600890920201908101805460ff191660019081179091558101549091506001600160a01b031661125681611a6d565b6112725760405162461bcd60e51b815260040161075b90611ff2565b60408051600481526024810182526020810180516001600160e01b03166306e60b1760e31b17905290516000916060916001600160a01b038516916112b691611ea0565b600060405180830381855af49150503d80600081146112f1576040519150601f19603f3d011682016040523d82523d6000602084013e6112f6565b606091505b50915091508161133957805115611321578060405162461bcd60e51b815260040161075b9190611fdf565b60405162461bcd60e51b815260040161075b906124b4565b60405185907f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f90600090a25050505050565b600161137683610796565b600681111561138157fe5b1461139e5760405162461bcd60e51b815260040161075b906120fb565b6000603d83815481106113ad57fe5b600091825260208083206001600160a01b038816845260076008909302019182018152604080842060058401546004850154603b90945291909420549294501015908061140c5760405162461bcd60e51b815260040161075b90612325565b825460ff161561145b578254610100900460ff1615611442576001830154600485015461143891611a73565b600485015561145b565b6001830154600585015461145591611a73565b60058501555b841561147a57600484015461147090826115a2565b600485015561148f565b600584015461148990826115a2565b60058501555b6006840154610100900460ff161580156114bf57506039546114bd6114b261159c565b600387015490611a73565b105b156115035760058401546004850154111582151581146115015760068501805461ff001916610100179055603a5460038601546114fb916115a2565b60038601555b505b8254600160ff19909116811761ff001916610100871515021784558301819055603354603454603a54600387015461154e938b93611549939192610889928391906115a2565b611ab5565b841515876001600160a01b0316877f7c2de587c00d75474a0c6c6fa96fd3b45dc974cd4e8a75f712bb84c950dce1b58460405161158b9190612510565b60405180910390a450505050505050565b60415490565b6000828201838110156110685760405162461bcd60e51b815260040161075b9061219f565b6001600160a01b0383166000908152603b60205260408120546036548110156116025760405162461bcd60e51b815260040161075b90612142565b61160b84611a6d565b6116275760405162461bcd60e51b815260040161075b9061235c565b6001600160a01b0385166000908152603e6020526040902054801561169957600061165182610796565b9050600181600681111561166157fe5b1415801561167b5750600081600681111561167857fe5b14155b6116975760405162461bcd60e51b815260040161075b90612080565b505b60006116a960375461088961159c565b905060006116c2603854836115a290919063ffffffff16565b90506116cc611b12565b506040805161010080820183526001600160a01b03808c1683528a8116602084019081529383018681526060840186815260006080860181815260a0870182815260c0880183815260e08901848152603d80546001810182559086528a5160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b166001600160a01b03199384161790559b517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc48d01805491909a1691161790975594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc58a015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc6890155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc788015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc887015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990950180549251151590930261ff001995151560ff1990931692909217949094161790559061187e611071565b82516001600160a01b03166000908152603e60205260409020819055603354603454603a549293506118c0928d92611549929091610889919082908a906115a2565b896001600160a01b0316817f90ec05050aa23d54ba425e926fe646c318e85825bc400b13a46010abe86eb2f08b87878d6040516119009493929190611f94565b60405180910390a39998505050505050505050565b600081848411156119395760405162461bcd60e51b815260040161075b9190611fdf565b505050900390565b6040805490516323b872dd60e01b81526001600160a01b03909116906323b872dd9061197590859030908690600401611ee9565b602060405180830381600087803b15801561198f57600080fd5b505af11580156119a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c79190611de5565b6119e35760405162461bcd60e51b815260040161075b90612280565b6001600160a01b0382166000908152603b6020526040902054611a0690826115a2565b6001600160a01b039092166000908152603b602052604090209190915550565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b3b151590565b600061106883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611915565b6001600160a01b0382166000908152603f6020526040902054811115610774576001600160a01b03919091166000908152603f6020526040902055565b604080516060810182526000808252602082018190529181019190915290565b60405180610100016040528060006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000151581526020016000151581525090565b80356001600160a01b038116811461106b57600080fd5b803561106b81612585565b600082601f830112611b9f578081fd5b813567ffffffffffffffff811115611bb5578182fd5b611bc8601f8201601f1916602001612519565b9150808252836020828501011115611bdf57600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215611c09578081fd5b6110688383611b6d565b600080600060608486031215611c27578182fd5b8335611c3281612570565b92506020840135611c4281612570565b9150604084013567ffffffffffffffff811115611c5d578182fd5b611c6986828701611b8f565b9150509250925092565b60008060408385031215611c85578182fd5b8235611c9081612570565b9150602083013567ffffffffffffffff811115611cab578182fd5b611cb785828601611b8f565b9150509250929050565b60008060008060008060c08789031215611cd9578182fd5b611ce38888611b6d565b95506020870135945060408701359350606087013560ff81168114611d06578283fd5b9598949750929560808101359460a0909101359350915050565b600080600060608486031215611d34578283fd5b833567ffffffffffffffff80821115611d4b578485fd5b818601915086601f830112611d5e578485fd5b813581811115611d6c578586fd5b60209150818102611d7e838201612519565b8281528381019085850183870186018c1015611d9857898afd5b8996505b84871015611dc257611dae8c82611b6d565b835260019690960195918501918501611d9c565b5097505050508501359250611ddc90508560408601611b84565b90509250925092565b600060208284031215611df6578081fd5b815161106881612585565b600060208284031215611e12578081fd5b5035919050565b60008060408385031215611e2b578182fd5b82359150611e3c8460208501611b6d565b90509250929050565b60008060408385031215611e57578182fd5b823591506020830135611e6981612585565b809150509250929050565b60008151808452611e8c816020860160208601612540565b601f01601f19169290920160200192915050565b60008251611eb2818460208701612540565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03988916815296909716602087015260408601949094526060850192909252608084015260a0830152151560c082015290151560e08201526101000190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b600060018060a01b038616825284602083015283604083015260806060830152611fc16080830184611e74565b9695505050505050565b6020810160078310611fd957fe5b91905290565b6000602082526110686020830184611e74565b60208082526023908201527f476f7665726e616e63653a3a657865637574653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602b908201527f476f7665726e616e63653a3a657865637574653a20696e76616c69642070726f60408201526a706f73616c20737461746560a81b606082015260800190565b60208082526055908201527f476f7665726e616e63653a3a70726f706f73653a206f6e65206c69766520707260408201527f6f706f73616c207065722070726f706f7365722c20666f756e6420616e20616c6060820152741c9958591e481858dd1a5d99481c1c9bdc1bdcd85b605a1b608082015260a00190565b60208082526027908201527f476f7665726e616e63653a3a5f63617374566f74653a20766f74696e672069736040820152660818db1bdcd95960ca1b606082015260800190565b6020808252603c908201527f476f7665726e616e63653a3a70726f706f73653a2070726f706f73657220766f60408201527f7465732062656c6f772070726f706f73616c207468726573686f6c6400000000606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526024908201527f476f7665726e616e63653a20696e636f727265637420766f7465457874656e6460408201526354696d6560e01b606082015260800190565b6020808252601d908201527f476f7665726e616e63653a20746f6b656e7320617265206c6f636b6564000000604082015260600190565b6020808252601590820152741513d4938e881d1c985b9cd9995c8819985a5b1959605a1b604082015260600190565b60208082526019908201527f544f524e3a207472616e7366657246726f6d206661696c656400000000000000604082015260600190565b60208082526018908201527f476f7665726e616e63653a20756e617574686f72697a65640000000000000000604082015260600190565b6020808252601d908201527f476f7665726e616e63653a20696e76616c69642064656c656761746565000000604082015260600190565b60208082526018908201527f476f7665726e616e63653a2062616c616e636520697320300000000000000000604082015260600190565b60208082526023908201527f476f7665726e616e63653a3a70726f706f73653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b60208082526026908201527f476f7665726e616e63653a3a73746174653a20696e76616c69642070726f706f6040820152651cd85b081a5960d21b606082015260800190565b6020808252602a908201527f476f7665726e616e63653a20746f6b656e732061726520616c726561647920756040820152691b99195b1959d85d195960b21b606082015260800190565b6020808252601a908201527f476f7665726e616e63653a206e6f7420617574686f72697a6564000000000000604082015260600190565b60208082526019908201527f50726f706f73616c20657865637574696f6e206661696c656400000000000000604082015260600190565b8151151581526020808301511515908201526040918201519181019190915260600190565b90815260200190565b60405181810167ffffffffffffffff8111828210171561253857600080fd5b604052919050565b60005b8381101561255b578181015183820152602001612543565b8381111561256a576000848401525b50505050565b6001600160a01b0381168114610b8357600080fd5b8015158114610b8357600080fdfea264697066735822122079a24ea0dc3d5ef34041a37a137cef69305763e031faa841e2db8f078345f2af64736f6c634300060c0033"; +const isSuperArgs$i = (xs) => xs.length > 1; +class MockGovernance__factory extends ContractFactory { + constructor(...args) { + if (isSuperArgs$i(args)) { + super(...args); + } else { + super(_abi$p, _bytecode$i, args[0]); + } + } + getDeployTransaction(overrides) { + return super.getDeployTransaction(overrides || {}); + } + deploy(overrides) { + return super.deploy(overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new Interface(_abi$p); + } + static connect(address, runner) { + return new Contract(address, _abi$p, runner); + } +} +MockGovernance__factory.bytecode = _bytecode$i; +MockGovernance__factory.abi = _abi$p; + +const _abi$o = [ + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "output", + type: "address" + } + ], + name: "Debug", + type: "event" + }, + { + inputs: [], + name: "executeProposal", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; +const _bytecode$h = "0x608060405234801561001057600080fd5b506103d5806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063373058b814610030575b600080fd5b61003861003a565b005b6000604051610048906100fa565b604051809103906000f080158015610064573d6000803e3d6000fd5b509050806001600160a01b0316638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156100a257600080fd5b505af11580156100b6573d6000803e3d6000fd5b5050604080516001600160a01b038516815290517f330da4cde831ccab151372275307c2f0cce2bcce846635cd66e6908f10d203639350908190036020019150a150565b610298806101088339019056fe608060405234801561001057600080fd5b50610278806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80631f1bd692146100465780633fa4f245146100c35780638129fc1c146100dd575b600080fd5b61004e6100e7565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610088578181015183820152602001610070565b50505050905090810190601f1680156100b55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6100cb610174565b60408051918252519081900360200190f35b6100e561017a565b005b60018054604080516020600284861615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561016c5780601f106101415761010080835404028352916020019161016c565b820191906000526020600020905b81548152906001019060200180831161014f57829003601f168201915b505050505081565b60005481565b600160008190556040805180820190915260058082526464756d6d7960d81b60209092019182526101ac9291906101af565b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106101f057805160ff191683800117855561021d565b8280016001018555821561021d579182015b8281111561021d578251825591602001919060010190610202565b5061022992915061022d565b5090565b5b80821115610229576000815560010161022e56fea26469706673582212204b4d54284aeff9c7c570415da4a9efb9bf7115fe94a322210f9981c1c7ae107a64736f6c634300060c0033a26469706673582212205967b156db23a5fd2372953049f5c366f68a9f95cfa116f9fbd6d0c8e7bdaa6364736f6c634300060c0033"; +const isSuperArgs$h = (xs) => xs.length > 1; +class Proposal__factory extends ContractFactory { + constructor(...args) { + if (isSuperArgs$h(args)) { + super(...args); + } else { + super(_abi$o, _bytecode$h, args[0]); + } + } + getDeployTransaction(overrides) { + return super.getDeployTransaction(overrides || {}); + } + deploy(overrides) { + return super.deploy(overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new Interface(_abi$o); + } + static connect(address, runner) { + return new Contract(address, _abi$o, runner); + } +} +Proposal__factory.bytecode = _bytecode$h; +Proposal__factory.abi = _abi$o; + +var index$e = /*#__PURE__*/Object.freeze({ + __proto__: null, + MockGovernance__factory: MockGovernance__factory, + Proposal__factory: Proposal__factory, + dummySol: index$h, + proposalStateChangeGovernanceSol: index$g, + proposalUpgradeSol: index$f +}); + +const _abi$n = [ + { + inputs: [], + name: "CLOSING_PERIOD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "EXECUTION_DELAY", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "EXECUTION_EXPIRATION", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "PROPOSAL_THRESHOLD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "QUORUM_VOTES", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "VOTE_EXTEND_TIME", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "VOTING_DELAY", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "VOTING_PERIOD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "closingPeriod", + type: "uint256" + } + ], + name: "setClosingPeriod", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "executionDelay", + type: "uint256" + } + ], + name: "setExecutionDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "executionExpiration", + type: "uint256" + } + ], + name: "setExecutionExpiration", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalThreshold", + type: "uint256" + } + ], + name: "setProposalThreshold", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "quorumVotes", + type: "uint256" + } + ], + name: "setQuorumVotes", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "voteExtendTime", + type: "uint256" + } + ], + name: "setVoteExtendTime", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "votingDelay", + type: "uint256" + } + ], + name: "setVotingDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "votingPeriod", + type: "uint256" + } + ], + name: "setVotingPeriod", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; +const _bytecode$g = "0x608060405234801561001057600080fd5b50610563806100206000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c8063a6c2660311610097578063d6159fe511610066578063d6159fe5146101e2578063e4917d9f146101ea578063ea0217cf14610207578063ece40cc11461022457610100565b8063a6c26603146101ad578063b1610d7e146101b5578063c0c0e820146101bd578063ce25d71c146101da57610100565b80636a661755116100d35780636a6617551461014e5780636dc2dc6c1461015657806370b0f660146101735780639a9e3b6e1461019057610100565b806302ec8f9e1461010557806337f135d714610124578063587a6ecb1461013e578063671dd27514610146575b600080fd5b6101226004803603602081101561011b57600080fd5b5035610241565b005b61012c610288565b60408051918252519081900360200190f35b61012c61028e565b61012c610294565b61012c61029a565b6101226004803603602081101561016c57600080fd5b50356102a0565b6101226004803603602081101561018957600080fd5b5035610327565b610122600480360360208110156101a657600080fd5b503561036e565b61012c6103b5565b61012c6103bb565b610122600480360360208110156101d357600080fd5b50356103c1565b61012c610408565b61012c61040e565b6101226004803603602081101561020057600080fd5b5035610414565b6101226004803603602081101561021d57600080fd5b503561045b565b6101226004803603602081101561023a57600080fd5b50356104a2565b333014610283576040805162461bcd60e51b8152602060048201526018602482015260008051602061050e833981519152604482015290519081900360640190fd5b600255565b60005481565b60075481565b60025481565b60015481565b3330146102e2576040805162461bcd60e51b8152602060048201526018602482015260008051602061050e833981519152604482015290519081900360640190fd5b60005481106103225760405162461bcd60e51b81526004018080602001828103825260248152602001806104ea6024913960400191505060405180910390fd5b600755565b333014610369576040805162461bcd60e51b8152602060048201526018602482015260008051602061050e833981519152604482015290519081900360640190fd5b600455565b3330146103b0576040805162461bcd60e51b8152602060048201526018602482015260008051602061050e833981519152604482015290519081900360640190fd5b600155565b60035481565b60055481565b333014610403576040805162461bcd60e51b8152602060048201526018602482015260008051602061050e833981519152604482015290519081900360640190fd5b600655565b60065481565b60045481565b333014610456576040805162461bcd60e51b8152602060048201526018602482015260008051602061050e833981519152604482015290519081900360640190fd5b600055565b33301461049d576040805162461bcd60e51b8152602060048201526018602482015260008051602061050e833981519152604482015290519081900360640190fd5b600555565b3330146104e4576040805162461bcd60e51b8152602060048201526018602482015260008051602061050e833981519152604482015290519081900360640190fd5b60035556fe476f7665726e616e63653a20696e636f727265637420766f7465457874656e6454696d65476f7665726e616e63653a20756e617574686f72697a65640000000000000000a26469706673582212208fff4d62d622acc801ece8b6a7cc281f67f5959bf09e0ca68afde2a0ab0bc83164736f6c634300060c0033"; +const isSuperArgs$g = (xs) => xs.length > 1; +class Configuration__factory extends ContractFactory { + constructor(...args) { + if (isSuperArgs$g(args)) { + super(...args); + } else { + super(_abi$n, _bytecode$g, args[0]); + } + } + getDeployTransaction(overrides) { + return super.getDeployTransaction(overrides || {}); + } + deploy(overrides) { + return super.deploy(overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new Interface(_abi$n); + } + static connect(address, runner) { + return new Contract(address, _abi$n, runner); + } +} +Configuration__factory.bytecode = _bytecode$g; +Configuration__factory.abi = _abi$n; + +const _abi$m = [ + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "lockedBalance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + } +]; +class Core__factory { + static createInterface() { + return new Interface(_abi$m); + } + static connect(address, runner) { + return new Contract(address, _abi$m, runner); + } +} +Core__factory.abi = _abi$m; + +const _abi$l = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + } + ], + name: "Delegated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + } + ], + name: "Undelegated", + type: "event" + }, + { + inputs: [ + { + internalType: "address[]", + name: "from", + type: "address[]" + }, + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + internalType: "bool", + name: "support", + type: "bool" + } + ], + name: "castDelegatedVote", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address" + } + ], + name: "delegate", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "delegatedTo", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "lockedBalance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address" + }, + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "string", + name: "description", + type: "string" + } + ], + name: "proposeByDelegate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "undelegate", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; +class Delegation__factory { + static createInterface() { + return new Interface(_abi$l); + } + static connect(address, runner) { + return new Contract(address, _abi$l, runner); + } +} +Delegation__factory.abi = _abi$l; + +const _abi$k = [ + { + inputs: [], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + } + ], + name: "Delegated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "id", + type: "uint256" + }, + { + indexed: true, + internalType: "address", + name: "proposer", + type: "address" + }, + { + indexed: false, + internalType: "address", + name: "target", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "startTime", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "endTime", + type: "uint256" + }, + { + indexed: false, + internalType: "string", + name: "description", + type: "string" + } + ], + name: "ProposalCreated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "proposalId", + type: "uint256" + } + ], + name: "ProposalExecuted", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + } + ], + name: "Undelegated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + indexed: true, + internalType: "address", + name: "voter", + type: "address" + }, + { + indexed: true, + internalType: "bool", + name: "support", + type: "bool" + }, + { + indexed: false, + internalType: "uint256", + name: "votes", + type: "uint256" + } + ], + name: "Voted", + type: "event" + }, + { + inputs: [], + name: "CLOSING_PERIOD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "EXECUTION_DELAY", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "EXECUTION_EXPIRATION", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "PROPOSAL_THRESHOLD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "QUORUM_VOTES", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "VOTE_EXTEND_TIME", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "VOTING_DELAY", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "VOTING_PERIOD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "canWithdrawAfter", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address[]", + name: "from", + type: "address[]" + }, + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + internalType: "bool", + name: "support", + type: "bool" + } + ], + name: "castDelegatedVote", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + internalType: "bool", + name: "support", + type: "bool" + } + ], + name: "castVote", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address" + } + ], + name: "delegate", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "delegatedTo", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + } + ], + name: "execute", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + internalType: "address", + name: "voter", + type: "address" + } + ], + name: "getReceipt", + outputs: [ + { + components: [ + { + internalType: "bool", + name: "hasVoted", + type: "bool" + }, + { + internalType: "bool", + name: "support", + type: "bool" + }, + { + internalType: "uint256", + name: "votes", + type: "uint256" + } + ], + internalType: "struct Governance.Receipt", + name: "", + type: "tuple" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_torn", + type: "address" + } + ], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "latestProposalIds", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256" + }, + { + internalType: "uint8", + name: "v", + type: "uint8" + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32" + } + ], + name: "lock", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "lockWithApproval", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "lockedBalance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "proposalCount", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + name: "proposals", + outputs: [ + { + internalType: "address", + name: "proposer", + type: "address" + }, + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "uint256", + name: "startTime", + type: "uint256" + }, + { + internalType: "uint256", + name: "endTime", + type: "uint256" + }, + { + internalType: "uint256", + name: "forVotes", + type: "uint256" + }, + { + internalType: "uint256", + name: "againstVotes", + type: "uint256" + }, + { + internalType: "bool", + name: "executed", + type: "bool" + }, + { + internalType: "bool", + name: "extended", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "string", + name: "description", + type: "string" + } + ], + name: "propose", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address" + }, + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "string", + name: "description", + type: "string" + } + ], + name: "proposeByDelegate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "closingPeriod", + type: "uint256" + } + ], + name: "setClosingPeriod", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "executionDelay", + type: "uint256" + } + ], + name: "setExecutionDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "executionExpiration", + type: "uint256" + } + ], + name: "setExecutionExpiration", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalThreshold", + type: "uint256" + } + ], + name: "setProposalThreshold", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "quorumVotes", + type: "uint256" + } + ], + name: "setQuorumVotes", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "voteExtendTime", + type: "uint256" + } + ], + name: "setVoteExtendTime", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "votingDelay", + type: "uint256" + } + ], + name: "setVotingDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "votingPeriod", + type: "uint256" + } + ], + name: "setVotingPeriod", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + } + ], + name: "state", + outputs: [ + { + internalType: "enum Governance.ProposalState", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "torn", + outputs: [ + { + internalType: "contract TORN", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "undelegate", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "unlock", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; +const _bytecode$f = "0x60806040523480156200001157600080fd5b50600054610100900460ff16806200002e57506200002e620000c9565b806200003d575060005460ff16155b620000655760405162461bcd60e51b81526004016200005c9062000110565b60405180910390fd5b600054610100900460ff1615801562000091576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b03191661dead179055620000af620000cf565b8015620000c2576000805461ff00191690555b506200015e565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b612524806200016e6000396000f3fe60806040526004361061020f5760003560e01c8063a6c2660311610118578063d6159fe5116100a0578063e4917d9f1161006f578063e4917d9f146105ce578063ea0217cf146105ee578063ece40cc11461060e578063f0b768921461062e578063fe0d94c11461064e5761020f565b8063d6159fe514610557578063d6f0948c1461056c578063da35c6641461058c578063e23a9a52146105a15761020f565b8063b54426c8116100e7578063b54426c8146104c2578063b859f11b146104e2578063c0c0e82014610502578063c4d66de814610522578063ce25d71c146105425761020f565b8063a6c2660314610463578063a72edda314610478578063adf898a414610498578063b1610d7e146104ad5761020f565b80636198e3391161019b5780636dc2dc6c1161016a5780636dc2dc6c146103ce57806370b0f660146103ee57806392ab89bb1461040e5780639a9e3b6e146104235780639ae697bf146104435761020f565b80636198e3391461035757806365da126414610377578063671dd275146103a45780636a661755146103b95761020f565b806337f135d7116101e257806337f135d7146102c05780633e4f49e6146102d5578063587a6ecb1461030257806358e9fff0146103175780635c19a95c146103375761020f565b8063013cf08b1461021457806302ec8f9e1461025157806315373e3d1461027357806317977c6114610293575b600080fd5b34801561022057600080fd5b5061023461022f366004611d5c565b610661565b604051610248989796959493929190611e68565b60405180910390f35b34801561025d57600080fd5b5061027161026c366004611d5c565b6106c6565b005b34801561027f57600080fd5b5061027161028e366004611da0565b6106f3565b34801561029f57600080fd5b506102b36102ae366004611b53565b610702565b604051610248919061246b565b3480156102cc57600080fd5b506102b3610714565b3480156102e157600080fd5b506102f56102f0366004611d5c565b61071a565b6040516102489190611f26565b34801561030e57600080fd5b506102b361085d565b34801561032357600080fd5b506102b3610332366004611b6e565b610863565b34801561034357600080fd5b50610271610352366004611b53565b6108b1565b34801561036357600080fd5b50610271610372366004611d5c565b6109d3565b34801561038357600080fd5b50610397610392366004611b53565b610b0a565b6040516102489190611e17565b3480156103b057600080fd5b506102b3610b25565b3480156103c557600080fd5b506102b3610b2b565b3480156103da57600080fd5b506102716103e9366004611d5c565b610b31565b3480156103fa57600080fd5b50610271610409366004611d5c565b610b76565b34801561041a57600080fd5b50610271610b9a565b34801561042f57600080fd5b5061027161043e366004611d5c565b610c21565b34801561044f57600080fd5b506102b361045e366004611b53565b610c45565b34801561046f57600080fd5b506102b3610c57565b34801561048457600080fd5b506102b3610493366004611b53565b610c5d565b3480156104a457600080fd5b50610397610c6f565b3480156104b957600080fd5b506102b3610c7e565b3480156104ce57600080fd5b506102716104dd366004611d5c565b610c84565b3480156104ee57600080fd5b506102716104fd366004611c7b565b610c8e565b34801561050e57600080fd5b5061027161051d366004611d5c565b610d45565b34801561052e57600080fd5b5061027161053d366004611b53565b610d69565b34801561054e57600080fd5b506102b3610fac565b34801561056357600080fd5b506102b3610fb2565b34801561057857600080fd5b506102b3610587366004611bce565b610fb8565b34801561059857600080fd5b506102b3610fce565b3480156105ad57600080fd5b506105c16105bc366004611d74565b610fd8565b6040516102489190612446565b3480156105da57600080fd5b506102716105e9366004611d5c565b61104a565b3480156105fa57600080fd5b50610271610609366004611d5c565b61106e565b34801561061a57600080fd5b50610271610629366004611d5c565b611092565b34801561063a57600080fd5b50610271610649366004611c1c565b6110b6565b61027161065c366004611d5c565b611136565b603d818154811061066e57fe5b600091825260209091206008909102018054600182015460028301546003840154600485015460058601546006909601546001600160a01b039586169750949093169491939092919060ff8082169161010090041688565b3330146106ee5760405162461bcd60e51b81526004016106e590612212565b60405180910390fd5b603555565b6106fe3383836112c8565b5050565b603e6020526000908152604090205481565b60335481565b6000610724610fce565b82111580156107335750600082115b61074f5760405162461bcd60e51b81526004016106e590612348565b6000603d838154811061075e57fe5b90600052602060002090600802019050806002015461077b6114f9565b1161078a576000915050610858565b80600301546107976114f9565b116107a6576001915050610858565b806005015481600401541115806107c857506035548160050154826004015401105b156107d7576002915050610858565b600681015460ff16156107ee576005915050610858565b61081360345461080d60335484600301546114fd90919063ffffffff16565b906114fd565b61081b6114f9565b1061082a576006915050610858565b603354600382015461083b916114fd565b6108436114f9565b10610852576004915050610858565b60039150505b919050565b603a5481565b6001600160a01b038381166000908152603c6020526040812054909116331461089e5760405162461bcd60e51b81526004016106e5906123d8565b6108a9848484611522565b949350505050565b336000818152603c60205260409020546001600160a01b0390811691908316148015906108e757506001600160a01b0382163014155b80156108fb57506001600160a01b03821615155b80156109195750806001600160a01b0316826001600160a01b031614155b6109355760405162461bcd60e51b81526004016106e590612249565b6001600160a01b0381161561097b576040516001600160a01b0382169033907f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7290600090a35b336000818152603c602052604080822080546001600160a01b0319166001600160a01b03871690811790915590519092917f4bc154dd35d6a5cb9206482ecb473cdbf2473006d6bce728b9cc0741bcc59ea291a35050565b336000908152603f60205260409020546109eb6114f9565b11610a085760405162461bcd60e51b81526004016106e590612175565b60408051808201825260208082527f476f7665726e616e63653a20696e73756666696369656e742062616c616e636581830152336000908152603b9091529190912054610a56918390611870565b336000818152603b602052604090819020929092558154915163a9059cbb60e01b81526001600160a01b039092169163a9059cbb91610a99918590600401611e2b565b602060405180830381600087803b158015610ab357600080fd5b505af1158015610ac7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aeb9190611d40565b610b075760405162461bcd60e51b81526004016106e5906121ac565b50565b603c602052600090815260409020546001600160a01b031681565b60355481565b60345481565b333014610b505760405162461bcd60e51b81526004016106e590612212565b6033548110610b715760405162461bcd60e51b81526004016106e590612131565b603a55565b333014610b955760405162461bcd60e51b81526004016106e590612212565b603755565b336000908152603c60205260409020546001600160a01b031680610bd05760405162461bcd60e51b81526004016106e59061238e565b336000818152603c602052604080822080546001600160a01b0319169055516001600160a01b03841692917f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7291a350565b333014610c405760405162461bcd60e51b81526004016106e590612212565b603455565b603b6020526000908152604090205481565b60365481565b603f6020526000908152604090205481565b6040546001600160a01b031681565b60385481565b610b07338261189c565b60005b8351811015610d1f57336001600160a01b0316603c6000868481518110610cb457fe5b6020908102919091018101516001600160a01b03908116835290820192909252604001600020541614610cf95760405162461bcd60e51b81526004016106e5906123d8565b610d17848281518110610d0857fe5b602002602001015184846112c8565b600101610c91565b50336000908152603b602052604090205415610d4057610d403383836112c8565b505050565b333014610d645760405162461bcd60e51b81526004016106e590612212565b603955565b600054610100900460ff1680610d825750610d82611981565b80610d90575060005460ff16155b610dac5760405162461bcd60e51b81526004016106e5906122fa565b600054610100900460ff16158015610dd7576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b038085166001600160a01b03199283161783558251610100818101855230825261dead602083019081526000958301868152606084018781526080850188815260a08601898152600160c0880181815260e089018c8152603d80549384018155909c52975160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b16928c169290921790915594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc4860180549190991699169890981790965590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc5830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc682015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc784015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc8830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990910180549351151590920261ff001991151560ff199094169390931716919091179055610f97611987565b80156106fe576000805461ff00191690555050565b60395481565b60375481565b6000610fc5338484611522565b90505b92915050565b603d546000190190565b610fe0611a4d565b603d8381548110610fed57fe5b600091825260208083206001600160a01b0395909516835260089190910290930160070183526040908190208151606081018352815460ff8082161515835261010090910416151594810194909452600101549083015250919050565b3330146110695760405162461bcd60e51b81526004016106e590612212565b603355565b33301461108d5760405162461bcd60e51b81526004016106e590612212565b603855565b3330146110b15760405162461bcd60e51b81526004016106e590612212565b603655565b60408054905163d505accf60e01b81526001600160a01b039091169063d505accf906110f290899030908a908a908a908a908a90600401611eae565b600060405180830381600087803b15801561110c57600080fd5b505af1158015611120573d6000803e3d6000fd5b5050505061112e868661189c565b505050505050565b60046111418261071a565b600681111561114c57fe5b146111695760405162461bcd60e51b81526004016106e590611f90565b6000603d828154811061117857fe5b600091825260209091206006600890920201908101805460ff191660019081179091558101549091506001600160a01b03166111b3816119c8565b6111cf5760405162461bcd60e51b81526004016106e590611f4d565b60408051600481526024810182526020810180516001600160e01b03166306e60b1760e31b17905290516000916060916001600160a01b0385169161121391611dfb565b600060405180830381855af49150503d806000811461124e576040519150601f19603f3d011682016040523d82523d6000602084013e611253565b606091505b5091509150816112965780511561127e578060405162461bcd60e51b81526004016106e59190611f3a565b60405162461bcd60e51b81526004016106e59061240f565b60405185907f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f90600090a25050505050565b60016112d38361071a565b60068111156112de57fe5b146112fb5760405162461bcd60e51b81526004016106e590612056565b6000603d838154811061130a57fe5b600091825260208083206001600160a01b038816845260076008909302019182018152604080842060058401546004850154603b9094529190942054929450101590806113695760405162461bcd60e51b81526004016106e590612280565b825460ff16156113b8578254610100900460ff161561139f5760018301546004850154611395916119ce565b60048501556113b8565b600183015460058501546113b2916119ce565b60058501555b84156113d75760048401546113cd90826114fd565b60048501556113ec565b60058401546113e690826114fd565b60058501555b6006840154610100900460ff1615801561141c575060395461141a61140f6114f9565b6003870154906119ce565b105b1561146057600584015460048501541115821515811461145e5760068501805461ff001916610100179055603a546003860154611458916114fd565b60038601555b505b8254600160ff19909116811761ff001916610100871515021784558301819055603354603454603a5460038701546114ab938b936114a693919261080d928391906114fd565b611a10565b841515876001600160a01b0316877f7c2de587c00d75474a0c6c6fa96fd3b45dc974cd4e8a75f712bb84c950dce1b5846040516114e8919061246b565b60405180910390a450505050505050565b4290565b600082820183811015610fc55760405162461bcd60e51b81526004016106e5906120fa565b6001600160a01b0383166000908152603b602052604081205460365481101561155d5760405162461bcd60e51b81526004016106e59061209d565b611566846119c8565b6115825760405162461bcd60e51b81526004016106e5906122b7565b6001600160a01b0385166000908152603e602052604090205480156115f45760006115ac8261071a565b905060018160068111156115bc57fe5b141580156115d6575060008160068111156115d357fe5b14155b6115f25760405162461bcd60e51b81526004016106e590611fdb565b505b600061160460375461080d6114f9565b9050600061161d603854836114fd90919063ffffffff16565b9050611627611a6d565b506040805161010080820183526001600160a01b03808c1683528a8116602084019081529383018681526060840186815260006080860181815260a0870182815260c0880183815260e08901848152603d80546001810182559086528a5160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b166001600160a01b03199384161790559b517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc48d01805491909a1691161790975594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc58a015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc6890155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc788015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc887015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990950180549251151590930261ff001995151560ff199093169290921794909416179055906117d9610fce565b82516001600160a01b03166000908152603e60205260409020819055603354603454603a5492935061181b928d926114a692909161080d919082908a906114fd565b896001600160a01b0316817f90ec05050aa23d54ba425e926fe646c318e85825bc400b13a46010abe86eb2f08b87878d60405161185b9493929190611eef565b60405180910390a39998505050505050505050565b600081848411156118945760405162461bcd60e51b81526004016106e59190611f3a565b505050900390565b6040805490516323b872dd60e01b81526001600160a01b03909116906323b872dd906118d090859030908690600401611e44565b602060405180830381600087803b1580156118ea57600080fd5b505af11580156118fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119229190611d40565b61193e5760405162461bcd60e51b81526004016106e5906121db565b6001600160a01b0382166000908152603b602052604090205461196190826114fd565b6001600160a01b039092166000908152603b602052604090209190915550565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b3b151590565b6000610fc583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611870565b6001600160a01b0382166000908152603f60205260409020548111156106fe576001600160a01b03919091166000908152603f6020526040902055565b604080516060810182526000808252602082018190529181019190915290565b60405180610100016040528060006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000151581526020016000151581525090565b80356001600160a01b0381168114610fc857600080fd5b8035610fc8816124e0565b600082601f830112611afa578081fd5b813567ffffffffffffffff811115611b10578182fd5b611b23601f8201601f1916602001612474565b9150808252836020828501011115611b3a57600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215611b64578081fd5b610fc58383611ac8565b600080600060608486031215611b82578182fd5b8335611b8d816124cb565b92506020840135611b9d816124cb565b9150604084013567ffffffffffffffff811115611bb8578182fd5b611bc486828701611aea565b9150509250925092565b60008060408385031215611be0578182fd5b8235611beb816124cb565b9150602083013567ffffffffffffffff811115611c06578182fd5b611c1285828601611aea565b9150509250929050565b60008060008060008060c08789031215611c34578182fd5b611c3e8888611ac8565b95506020870135945060408701359350606087013560ff81168114611c61578283fd5b9598949750929560808101359460a0909101359350915050565b600080600060608486031215611c8f578283fd5b833567ffffffffffffffff80821115611ca6578485fd5b818601915086601f830112611cb9578485fd5b813581811115611cc7578586fd5b60209150818102611cd9838201612474565b8281528381019085850183870186018c1015611cf357898afd5b8996505b84871015611d1d57611d098c82611ac8565b835260019690960195918501918501611cf7565b5097505050508501359250611d3790508560408601611adf565b90509250925092565b600060208284031215611d51578081fd5b8151610fc5816124e0565b600060208284031215611d6d578081fd5b5035919050565b60008060408385031215611d86578182fd5b82359150611d978460208501611ac8565b90509250929050565b60008060408385031215611db2578182fd5b823591506020830135611dc4816124e0565b809150509250929050565b60008151808452611de781602086016020860161249b565b601f01601f19169290920160200192915050565b60008251611e0d81846020870161249b565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03988916815296909716602087015260408601949094526060850192909252608084015260a0830152151560c082015290151560e08201526101000190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b600060018060a01b038616825284602083015283604083015260806060830152611f1c6080830184611dcf565b9695505050505050565b6020810160078310611f3457fe5b91905290565b600060208252610fc56020830184611dcf565b60208082526023908201527f476f7665726e616e63653a3a657865637574653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602b908201527f476f7665726e616e63653a3a657865637574653a20696e76616c69642070726f60408201526a706f73616c20737461746560a81b606082015260800190565b60208082526055908201527f476f7665726e616e63653a3a70726f706f73653a206f6e65206c69766520707260408201527f6f706f73616c207065722070726f706f7365722c20666f756e6420616e20616c6060820152741c9958591e481858dd1a5d99481c1c9bdc1bdcd85b605a1b608082015260a00190565b60208082526027908201527f476f7665726e616e63653a3a5f63617374566f74653a20766f74696e672069736040820152660818db1bdcd95960ca1b606082015260800190565b6020808252603c908201527f476f7665726e616e63653a3a70726f706f73653a2070726f706f73657220766f60408201527f7465732062656c6f772070726f706f73616c207468726573686f6c6400000000606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526024908201527f476f7665726e616e63653a20696e636f727265637420766f7465457874656e6460408201526354696d6560e01b606082015260800190565b6020808252601d908201527f476f7665726e616e63653a20746f6b656e7320617265206c6f636b6564000000604082015260600190565b6020808252601590820152741513d4938e881d1c985b9cd9995c8819985a5b1959605a1b604082015260600190565b60208082526019908201527f544f524e3a207472616e7366657246726f6d206661696c656400000000000000604082015260600190565b60208082526018908201527f476f7665726e616e63653a20756e617574686f72697a65640000000000000000604082015260600190565b6020808252601d908201527f476f7665726e616e63653a20696e76616c69642064656c656761746565000000604082015260600190565b60208082526018908201527f476f7665726e616e63653a2062616c616e636520697320300000000000000000604082015260600190565b60208082526023908201527f476f7665726e616e63653a3a70726f706f73653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b60208082526026908201527f476f7665726e616e63653a3a73746174653a20696e76616c69642070726f706f6040820152651cd85b081a5960d21b606082015260800190565b6020808252602a908201527f476f7665726e616e63653a20746f6b656e732061726520616c726561647920756040820152691b99195b1959d85d195960b21b606082015260800190565b6020808252601a908201527f476f7665726e616e63653a206e6f7420617574686f72697a6564000000000000604082015260600190565b60208082526019908201527f50726f706f73616c20657865637574696f6e206661696c656400000000000000604082015260600190565b8151151581526020808301511515908201526040918201519181019190915260600190565b90815260200190565b60405181810167ffffffffffffffff8111828210171561249357600080fd5b604052919050565b60005b838110156124b657818101518382015260200161249e565b838111156124c5576000848401525b50505050565b6001600160a01b0381168114610b0757600080fd5b8015158114610b0757600080fdfea26469706673582212208c8a57d0dd9da76417112ba79eab1d38dbdf5e0a8bc014651f10bebe82ce8f9b64736f6c634300060c0033"; +const isSuperArgs$f = (xs) => xs.length > 1; +class Governance__factory extends ContractFactory { + constructor(...args) { + if (isSuperArgs$f(args)) { + super(...args); + } else { + super(_abi$k, _bytecode$f, args[0]); + } + } + getDeployTransaction(overrides) { + return super.getDeployTransaction(overrides || {}); + } + deploy(overrides) { + return super.deploy(overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new Interface(_abi$k); + } + static connect(address, runner) { + return new Contract(address, _abi$k, runner); + } +} +Governance__factory.bytecode = _bytecode$f; +Governance__factory.abi = _abi$k; + +var index$d = /*#__PURE__*/Object.freeze({ + __proto__: null, + Configuration__factory: Configuration__factory, + Core__factory: Core__factory, + Delegation__factory: Delegation__factory, + Governance__factory: Governance__factory, + mocks: index$e +}); + +const _abi$j = [ + { + inputs: [ + { + internalType: "address", + name: "_gasCompensationVault", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + inputs: [], + name: "gasCompensationVault", + outputs: [ + { + internalType: "contract IGasCompensationVault", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "_gasCompensationsLimit", + type: "uint256" + } + ], + name: "setGasCompensations", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "withdrawFromHelper", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; +class GasCompensator__factory { + static createInterface() { + return new Interface(_abi$j); + } + static connect(address, runner) { + return new Contract(address, _abi$j, runner); + } +} +GasCompensator__factory.abi = _abi$j; + +const _abi$i = [ + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "gasAmount", + type: "uint256" + } + ], + name: "compensateGas", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "withdrawToGovernance", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; +class IGasCompensationVault__factory { + static createInterface() { + return new Interface(_abi$i); + } + static connect(address, runner) { + return new Contract( + address, + _abi$i, + runner + ); + } +} +IGasCompensationVault__factory.abi = _abi$i; + +var index$c = /*#__PURE__*/Object.freeze({ + __proto__: null, + GasCompensator__factory: GasCompensator__factory, + IGasCompensationVault__factory: IGasCompensationVault__factory +}); + +const _abi$h = [ + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "withdrawTorn", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; +class ITornadoVault__factory { + static createInterface() { + return new Interface(_abi$h); + } + static connect(address, runner) { + return new Contract(address, _abi$h, runner); + } +} +ITornadoVault__factory.abi = _abi$h; + +var index$b = /*#__PURE__*/Object.freeze({ + __proto__: null, + ITornadoVault__factory: ITornadoVault__factory +}); + +const _abi$g = [ + { + inputs: [ + { + internalType: "address", + name: "_gasCompLogic", + type: "address" + }, + { + internalType: "address", + name: "_userVault", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + } + ], + name: "Delegated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "id", + type: "uint256" + }, + { + indexed: true, + internalType: "address", + name: "proposer", + type: "address" + }, + { + indexed: false, + internalType: "address", + name: "target", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "startTime", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "endTime", + type: "uint256" + }, + { + indexed: false, + internalType: "string", + name: "description", + type: "string" + } + ], + name: "ProposalCreated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "proposalId", + type: "uint256" + } + ], + name: "ProposalExecuted", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + } + ], + name: "Undelegated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + indexed: true, + internalType: "address", + name: "voter", + type: "address" + }, + { + indexed: true, + internalType: "bool", + name: "support", + type: "bool" + }, + { + indexed: false, + internalType: "uint256", + name: "votes", + type: "uint256" + } + ], + name: "Voted", + type: "event" + }, + { + inputs: [], + name: "CLOSING_PERIOD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "EXECUTION_DELAY", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "EXECUTION_EXPIRATION", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "PROPOSAL_THRESHOLD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "QUORUM_VOTES", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "VOTE_EXTEND_TIME", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "VOTING_DELAY", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "VOTING_PERIOD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "canWithdrawAfter", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address[]", + name: "from", + type: "address[]" + }, + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + internalType: "bool", + name: "support", + type: "bool" + } + ], + name: "castDelegatedVote", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + internalType: "bool", + name: "support", + type: "bool" + } + ], + name: "castVote", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + } + ], + name: "checkIfQuorumReached", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address" + } + ], + name: "delegate", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "delegatedTo", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + } + ], + name: "execute", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [], + name: "gasCompensationVault", + outputs: [ + { + internalType: "contract IGasCompensationVault", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + internalType: "address", + name: "voter", + type: "address" + } + ], + name: "getReceipt", + outputs: [ + { + components: [ + { + internalType: "bool", + name: "hasVoted", + type: "bool" + }, + { + internalType: "bool", + name: "support", + type: "bool" + }, + { + internalType: "uint256", + name: "votes", + type: "uint256" + } + ], + internalType: "struct Governance.Receipt", + name: "", + type: "tuple" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "hasAccountVoted", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_torn", + type: "address" + } + ], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "latestProposalIds", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256" + }, + { + internalType: "uint8", + name: "v", + type: "uint8" + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32" + } + ], + name: "lock", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "lockWithApproval", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "lockedBalance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "proposalCount", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + name: "proposals", + outputs: [ + { + internalType: "address", + name: "proposer", + type: "address" + }, + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "uint256", + name: "startTime", + type: "uint256" + }, + { + internalType: "uint256", + name: "endTime", + type: "uint256" + }, + { + internalType: "uint256", + name: "forVotes", + type: "uint256" + }, + { + internalType: "uint256", + name: "againstVotes", + type: "uint256" + }, + { + internalType: "bool", + name: "executed", + type: "bool" + }, + { + internalType: "bool", + name: "extended", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "string", + name: "description", + type: "string" + } + ], + name: "propose", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address" + }, + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "string", + name: "description", + type: "string" + } + ], + name: "proposeByDelegate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "returnMultisigAddress", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "pure", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "closingPeriod", + type: "uint256" + } + ], + name: "setClosingPeriod", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "executionDelay", + type: "uint256" + } + ], + name: "setExecutionDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "executionExpiration", + type: "uint256" + } + ], + name: "setExecutionExpiration", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "gasCompensationsLimit", + type: "uint256" + } + ], + name: "setGasCompensations", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalThreshold", + type: "uint256" + } + ], + name: "setProposalThreshold", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "quorumVotes", + type: "uint256" + } + ], + name: "setQuorumVotes", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "voteExtendTime", + type: "uint256" + } + ], + name: "setVoteExtendTime", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "votingDelay", + type: "uint256" + } + ], + name: "setVotingDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "votingPeriod", + type: "uint256" + } + ], + name: "setVotingPeriod", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + } + ], + name: "state", + outputs: [ + { + internalType: "enum Governance.ProposalState", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "torn", + outputs: [ + { + internalType: "contract TORN", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "undelegate", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "unlock", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "userVault", + outputs: [ + { + internalType: "contract ITornadoVault", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "version", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "pure", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "withdrawFromHelper", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + stateMutability: "payable", + type: "receive" + } +]; +const _bytecode$e = "0x60c06040523480156200001157600080fd5b5060405162002e3138038062002e31833981016040819052620000349162000153565b60005482908290610100900460ff1680620000545750620000546200010c565b8062000063575060005460ff16155b6200008b5760405162461bcd60e51b8152600401620000829062000191565b60405180910390fd5b600054610100900460ff16158015620000b7576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b03191661dead179055620000d562000112565b8015620000e8576000805461ff00191690555b506001600160601b0319606091821b811660805291901b1660a05250620001f89050565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b6000806040838503121562000166578182fd5b82516200017381620001df565b60208401519092506200018681620001df565b809150509250929050565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b6001600160a01b0381168114620001f557600080fd5b50565b60805160601c60a05160601c612bf162000240600039806108c55280610e525280610f4a52806114505280611ee1525080610d545280610fb75280611cf75250612bf16000f3fe60806040526004361061026b5760003560e01c80639ae697bf11610144578063d6159fe5116100b6578063e525aa081161007a578063e525aa08146106ff578063ea0217cf1461071f578063ece40cc11461073f578063ef3f8bb11461075f578063f0b768921461077f578063fe0d94c11461079f57610272565b8063d6159fe514610668578063d6f0948c1461067d578063da35c6641461069d578063e23a9a52146106b2578063e4917d9f146106df57610272565b8063b1610d7e11610108578063b1610d7e146105be578063b54426c8146105d3578063b859f11b146105f3578063c0c0e82014610613578063c4d66de814610633578063ce25d71c1461065357610272565b80639ae697bf1461053f5780639daafec71461055f578063a6c2660314610574578063a72edda314610589578063adf898a4146105a957610272565b80635c19a95c116101dd5780636dc2dc6c116101a15780636dc2dc6c1461049557806370b0f660146104b55780638b34a960146104d557806392ab89bb146104ea578063932d5157146104ff5780639a9e3b6e1461051f57610272565b80635c19a95c1461040b5780636198e3391461042b57806365da12641461044b578063671dd2751461046b5780636a6617551461048057610272565b806332687ec11161022f57806332687ec11461034557806337f135d7146103725780633e4f49e61461038757806354fd4d50146103b4578063587a6ecb146103d657806358e9fff0146103eb57610272565b8063013cf08b1461027757806302ec8f9e146102b457806315373e3d146102d657806317977c61146102f657806324b0435f1461032357610272565b3661027257005b600080fd5b34801561028357600080fd5b506102976102923660046123c5565b6107b2565b6040516102ab9897969594939291906124d1565b60405180910390f35b3480156102c057600080fd5b506102d46102cf3660046123c5565b610817565b005b3480156102e257600080fd5b506102d46102f1366004612409565b610844565b34801561030257600080fd5b506103166103113660046121bc565b610947565b6040516102ab9190612b38565b34801561032f57600080fd5b50610338610959565b6040516102ab9190612480565b34801561035157600080fd5b506103656103603660046123c5565b610971565b6040516102ab919061258f565b34801561037e57600080fd5b506103166109bf565b34801561039357600080fd5b506103a76103a23660046123c5565b6109c5565b6040516102ab919061259a565b3480156103c057600080fd5b506103c9610b01565b6040516102ab91906125ae565b3480156103e257600080fd5b50610316610b38565b3480156103f757600080fd5b506103166104063660046121d7565b610b3e565b34801561041757600080fd5b506102d46104263660046121bc565b610b8c565b34801561043757600080fd5b506102d46104463660046123c5565b610cae565b34801561045757600080fd5b506103386104663660046121bc565b610dc0565b34801561047757600080fd5b50610316610ddb565b34801561048c57600080fd5b50610316610de1565b3480156104a157600080fd5b506102d46104b03660046123c5565b610de7565b3480156104c157600080fd5b506102d46104d03660046123c5565b610e2c565b3480156104e157600080fd5b50610338610e50565b3480156104f657600080fd5b506102d4610e74565b34801561050b57600080fd5b506102d461051a3660046123c5565b610efb565b34801561052b57600080fd5b506102d461053a3660046123c5565b610f7f565b34801561054b57600080fd5b5061031661055a3660046121bc565b610fa3565b34801561056b57600080fd5b50610338610fb5565b34801561058057600080fd5b50610316610fd9565b34801561059557600080fd5b506103166105a43660046121bc565b610fdf565b3480156105b557600080fd5b50610338610ff1565b3480156105ca57600080fd5b50610316611000565b3480156105df57600080fd5b506102d46105ee3660046123c5565b611006565b3480156105ff57600080fd5b506102d461060e3660046122e4565b611013565b34801561061f57600080fd5b506102d461062e3660046123c5565b611061565b34801561063f57600080fd5b506102d461064e3660046121bc565b611085565b34801561065f57600080fd5b506103166112c9565b34801561067457600080fd5b506103166112cf565b34801561068957600080fd5b50610316610698366004612237565b6112d5565b3480156106a957600080fd5b506103166112eb565b3480156106be57600080fd5b506106d26106cd3660046123dd565b6112f5565b6040516102ab9190612b13565b3480156106eb57600080fd5b506102d46106fa3660046123c5565b611367565b34801561070b57600080fd5b5061036561071a3660046123dd565b61138b565b34801561072b57600080fd5b506102d461073a3660046123c5565b6113ce565b34801561074b57600080fd5b506102d461075a3660046123c5565b6113f2565b34801561076b57600080fd5b506102d461077a3660046123c5565b611416565b34801561078b57600080fd5b506102d461079a366004612285565b6114a5565b6102d46107ad3660046123c5565b611525565b603d81815481106107bf57fe5b600091825260209091206008909102018054600182015460028301546003840154600485015460058601546006909601546001600160a01b039586169750949093169491939092919060ff8082169161010090041688565b33301461083f5760405162461bcd60e51b815260040161083690612881565b60405180910390fd5b603555565b3361084f833361138b565b158015610862575061086083610971565b155b333214610870576000610874565b6152085b61ffff1681156109355760005a905061088e3387876116b7565b60006108ab6127106108a5856108a55a87906118e8565b9061192a565b60405163a99ce80760e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a99ce807906108fc9088908590600401612494565b600060405180830381600087803b15801561091657600080fd5b505af115801561092a573d6000803e3d6000fd5b505050505050610940565b6109403386866116b7565b5050505050565b603e6020526000908152604090205481565b73b04e030140b30c27bcdfaafffa98c57d80eda7b490565b6000603554603d838154811061098357fe5b906000526020600020906008020160050154603d84815481106109a257fe5b90600052602060002090600802016004015401101590505b919050565b60335481565b60006109cf6112eb565b82111580156109de5750600082115b6109fa5760405162461bcd60e51b8152600401610836906129de565b6000603d8381548110610a0957fe5b906000526020600020906008020190508060020154610a2661194f565b11610a355760009150506109ba565b8060030154610a4261194f565b11610a515760019150506109ba565b80600501548160040154111580610a7357506035548160050154826004015401105b15610a825760029150506109ba565b600681015460ff1615610a995760059150506109ba565b610ab86034546108a5603354846003015461192a90919063ffffffff16565b610ac061194f565b10610acf5760069150506109ba565b6033546003820154610ae09161192a565b610ae861194f565b10610af75760049150506109ba565b60039150506109ba565b60408051808201909152601981527f322e6c6f74746572792d616e642d6761732d7570677261646500000000000000602082015290565b603a5481565b6001600160a01b038381166000908152603c60205260408120549091163314610b795760405162461bcd60e51b815260040161083690612a6e565b610b84848484611953565b949350505050565b336000818152603c60205260409020546001600160a01b039081169190831614801590610bc257506001600160a01b0382163014155b8015610bd657506001600160a01b03821615155b8015610bf45750806001600160a01b0316826001600160a01b031614155b610c105760405162461bcd60e51b8152600401610836906128b8565b6001600160a01b03811615610c56576040516001600160a01b0382169033907f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7290600090a35b336000818152603c602052604080822080546001600160a01b0319166001600160a01b03871690811790915590519092917f4bc154dd35d6a5cb9206482ecb473cdbf2473006d6bce728b9cc0741bcc59ea291a35050565b336000908152603f6020526040902054610cc661194f565b11610ce35760405162461bcd60e51b8152600401610836906127e9565b60408051808201825260208082527f476f7665726e616e63653a20696e73756666696369656e742062616c616e636581830152336000908152603b9091529190912054610d31918390611ca1565b336000818152603b6020526040908190209290925590516391fe357360e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316916391fe357391610d9291908590600401612494565b600060405180830381600087803b158015610dac57600080fd5b505af1158015610940573d6000803e3d6000fd5b603c602052600090815260409020546001600160a01b031681565b60355481565b60345481565b333014610e065760405162461bcd60e51b815260040161083690612881565b6033548110610e275760405162461bcd60e51b8152600401610836906127a5565b603a55565b333014610e4b5760405162461bcd60e51b815260040161083690612881565b603755565b7f000000000000000000000000000000000000000000000000000000000000000081565b336000908152603c60205260409020546001600160a01b031680610eaa5760405162461bcd60e51b815260040161083690612a24565b336000818152603c602052604080822080546001600160a01b0319169055516001600160a01b03841692917f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7291a350565b610f03610959565b6001600160a01b0316336001600160a01b031614610f335760405162461bcd60e51b8152600401610836906129b7565b604051633a08bde160e21b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e822f78490610d92908490600401612b38565b333014610f9e5760405162461bcd60e51b815260040161083690612881565b603455565b603b6020526000908152604090205481565b7f000000000000000000000000000000000000000000000000000000000000000081565b60365481565b603f6020526000908152604090205481565b6040546001600160a01b031681565b60385481565b6110103382611ccd565b50565b60008351116110345760405162461bcd60e51b815260040161083690612857565b61105c838383611044863361138b565b158015611057575061105586610971565b155b611dd2565b505050565b3330146110805760405162461bcd60e51b815260040161083690612881565b603955565b600054610100900460ff168061109e575061109e612016565b806110ac575060005460ff16155b6110c85760405162461bcd60e51b815260040161083690612969565b600054610100900460ff161580156110f3576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b038085166001600160a01b03199283161783558251610100818101855230825261dead602083019081526000958301868152606084018781526080850188815260a08601898152600160c0880181815260e089018c8152603d80549384018155909c52975160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b16928c169290921790915594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc4860180549190991699169890981790965590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc5830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc682015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc784015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc8830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990910180549351151590920261ff001991151560ff1990941693909317169190911790556112b361201c565b80156112c5576000805461ff00191690555b5050565b60395481565b60375481565b60006112e2338484611953565b90505b92915050565b603d546000190190565b6112fd6120b6565b603d838154811061130a57fe5b600091825260208083206001600160a01b0395909516835260089190910290930160070183526040908190208151606081018352815460ff8082161515835261010090910416151594810194909452600101549083015250919050565b3330146113865760405162461bcd60e51b815260040161083690612881565b603355565b6000603d838154811061139a57fe5b600091825260208083206001600160a01b03861684526007600890930201919091019052604090205460ff16905092915050565b3330146113ed5760405162461bcd60e51b815260040161083690612881565b603855565b3330146114115760405162461bcd60e51b815260040161083690612881565b603655565b61141e610959565b6001600160a01b0316336001600160a01b03161461144e5760405162461bcd60e51b8152600401610836906129b7565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108fc611485834761205d565b6040518115909202916000818181858888f1935050505061101057600080fd5b60408054905163d505accf60e01b81526001600160a01b039091169063d505accf906114e190899030908a908a908a908a908a90600401612517565b600060405180830381600087803b1580156114fb57600080fd5b505af115801561150f573d6000803e3d6000fd5b5050505061151d8686611ccd565b505050505050565b6004611530826109c5565b600681111561153b57fe5b146115585760405162461bcd60e51b815260040161083690612604565b6000603d828154811061156757fe5b600091825260209091206006600890920201908101805460ff191660019081179091558101549091506001600160a01b03166115a281612073565b6115be5760405162461bcd60e51b8152600401610836906125c1565b60408051600481526024810182526020810180516001600160e01b03166306e60b1760e31b17905290516000916060916001600160a01b0385169161160291612464565b600060405180830381855af49150503d806000811461163d576040519150601f19603f3d011682016040523d82523d6000602084013e611642565b606091505b5091509150816116855780511561166d578060405162461bcd60e51b815260040161083691906125ae565b60405162461bcd60e51b815260040161083690612aa5565b60405185907f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f90600090a25050505050565b60016116c2836109c5565b60068111156116cd57fe5b146116ea5760405162461bcd60e51b8152600401610836906126ca565b6000603d83815481106116f957fe5b600091825260208083206001600160a01b038816845260076008909302019182018152604080842060058401546004850154603b9094529190942054929450101590806117585760405162461bcd60e51b8152600401610836906128ef565b825460ff16156117a7578254610100900460ff161561178e5760018301546004850154611784916118e8565b60048501556117a7565b600183015460058501546117a1916118e8565b60058501555b84156117c65760048401546117bc908261192a565b60048501556117db565b60058401546117d5908261192a565b60058501555b6006840154610100900460ff1615801561180b57506039546118096117fe61194f565b6003870154906118e8565b105b1561184f57600584015460048501541115821515811461184d5760068501805461ff001916610100179055603a5460038601546118479161192a565b60038601555b505b8254600160ff19909116811761ff001916610100871515021784558301819055603354603454603a54600387015461189a938b936118959391926108a59283919061192a565b612079565b841515876001600160a01b0316877f7c2de587c00d75474a0c6c6fa96fd3b45dc974cd4e8a75f712bb84c950dce1b5846040516118d79190612b38565b60405180910390a450505050505050565b60006112e283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611ca1565b6000828201838110156112e25760405162461bcd60e51b81526004016108369061276e565b4290565b6001600160a01b0383166000908152603b602052604081205460365481101561198e5760405162461bcd60e51b815260040161083690612711565b61199784612073565b6119b35760405162461bcd60e51b815260040161083690612926565b6001600160a01b0385166000908152603e60205260409020548015611a255760006119dd826109c5565b905060018160068111156119ed57fe5b14158015611a0757506000816006811115611a0457fe5b14155b611a235760405162461bcd60e51b81526004016108369061264f565b505b6000611a356037546108a561194f565b90506000611a4e6038548361192a90919063ffffffff16565b9050611a586120d6565b506040805161010080820183526001600160a01b03808c1683528a8116602084019081529383018681526060840186815260006080860181815260a0870182815260c0880183815260e08901848152603d80546001810182559086528a5160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b166001600160a01b03199384161790559b517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc48d01805491909a1691161790975594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc58a015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc6890155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc788015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc887015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990950180549251151590930261ff001995151560ff19909316929092179490941617905590611c0a6112eb565b82516001600160a01b03166000908152603e60205260409020819055603354603454603a54929350611c4c928d926118959290916108a5919082908a9061192a565b896001600160a01b0316817f90ec05050aa23d54ba425e926fe646c318e85825bc400b13a46010abe86eb2f08b87878d604051611c8c9493929190612558565b60405180910390a39998505050505050505050565b60008184841115611cc55760405162461bcd60e51b815260040161083691906125ae565b505050900390565b6040805490516323b872dd60e01b81526001600160a01b03909116906323b872dd90611d219085907f00000000000000000000000000000000000000000000000000000000000000009086906004016124ad565b602060405180830381600087803b158015611d3b57600080fd5b505af1158015611d4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d7391906123a9565b611d8f5760405162461bcd60e51b815260040161083690612820565b6001600160a01b0382166000908152603b6020526040902054611db2908261192a565b6001600160a01b039092166000908152603b602052604090209190915550565b3381328214611de2576000611de6565b6152085b61ffff168115611f515760005a905060005b8851811015611eaf576000898281518110611e0f57fe5b6020908102919091018101516001600160a01b038082166000908152603c90935260409092205490925016331480611e4f57506001600160a01b03811633145b611e6b5760405162461bcd60e51b815260040161083690612a6e565b861580611e7f5750611e7d898261138b565b155b611e9b5760405162461bcd60e51b815260040161083690612adc565b611ea6818a8a6116b7565b50600101611df8565b506000611ec76127106108a5856108a55a87906118e8565b60405163a99ce80760e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a99ce80790611f189088908590600401612494565b600060405180830381600087803b158015611f3257600080fd5b505af1158015611f46573d6000803e3d6000fd5b50505050505061200d565b60005b875181101561200b576000888281518110611f6b57fe5b6020908102919091018101516001600160a01b038082166000908152603c90935260409092205490925016331480611fab57506001600160a01b03811633145b611fc75760405162461bcd60e51b815260040161083690612a6e565b851580611fdb5750611fd9888261138b565b155b611ff75760405162461bcd60e51b815260040161083690612adc565b6120028189896116b7565b50600101611f54565b505b50505050505050565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b600081831061206c57816112e2565b5090919050565b3b151590565b6001600160a01b0382166000908152603f60205260409020548111156112c5576001600160a01b03919091166000908152603f6020526040902055565b604080516060810182526000808252602082018190529181019190915290565b60405180610100016040528060006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000151581526020016000151581525090565b80356001600160a01b03811681146112e557600080fd5b80356112e581612bad565b600082601f830112612163578081fd5b813567ffffffffffffffff811115612179578182fd5b61218c601f8201601f1916602001612b41565b91508082528360208285010111156121a357600080fd5b8060208401602084013760009082016020015292915050565b6000602082840312156121cd578081fd5b6112e28383612131565b6000806000606084860312156121eb578182fd5b83356121f681612b98565b9250602084013561220681612b98565b9150604084013567ffffffffffffffff811115612221578182fd5b61222d86828701612153565b9150509250925092565b60008060408385031215612249578182fd5b823561225481612b98565b9150602083013567ffffffffffffffff81111561226f578182fd5b61227b85828601612153565b9150509250929050565b60008060008060008060c0878903121561229d578182fd5b6122a78888612131565b95506020870135945060408701359350606087013560ff811681146122ca578283fd5b9598949750929560808101359460a0909101359350915050565b6000806000606084860312156122f8578283fd5b833567ffffffffffffffff8082111561230f578485fd5b818601915086601f830112612322578485fd5b813581811115612330578586fd5b60209150818102612342838201612b41565b8281528381019085850183870186018c101561235c57898afd5b8996505b84871015612386576123728c82612131565b835260019690960195918501918501612360565b50975050505085013592506123a090508560408601612148565b90509250925092565b6000602082840312156123ba578081fd5b81516112e281612bad565b6000602082840312156123d6578081fd5b5035919050565b600080604083850312156123ef578182fd5b823591506124008460208501612131565b90509250929050565b6000806040838503121561241b578182fd5b82359150602083013561242d81612bad565b809150509250929050565b60008151808452612450816020860160208601612b68565b601f01601f19169290920160200192915050565b60008251612476818460208701612b68565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03988916815296909716602087015260408601949094526060850192909252608084015260a0830152151560c082015290151560e08201526101000190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b600060018060a01b0386168252846020830152836040830152608060608301526125856080830184612438565b9695505050505050565b901515815260200190565b60208101600783106125a857fe5b91905290565b6000602082526112e26020830184612438565b60208082526023908201527f476f7665726e616e63653a3a657865637574653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602b908201527f476f7665726e616e63653a3a657865637574653a20696e76616c69642070726f60408201526a706f73616c20737461746560a81b606082015260800190565b60208082526055908201527f476f7665726e616e63653a3a70726f706f73653a206f6e65206c69766520707260408201527f6f706f73616c207065722070726f706f7365722c20666f756e6420616e20616c6060820152741c9958591e481858dd1a5d99481c1c9bdc1bdcd85b605a1b608082015260a00190565b60208082526027908201527f476f7665726e616e63653a3a5f63617374566f74653a20766f74696e672069736040820152660818db1bdcd95960ca1b606082015260800190565b6020808252603c908201527f476f7665726e616e63653a3a70726f706f73653a2070726f706f73657220766f60408201527f7465732062656c6f772070726f706f73616c207468726573686f6c6400000000606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526024908201527f476f7665726e616e63653a20696e636f727265637420766f7465457874656e6460408201526354696d6560e01b606082015260800190565b6020808252601d908201527f476f7665726e616e63653a20746f6b656e7320617265206c6f636b6564000000604082015260600190565b60208082526019908201527f544f524e3a207472616e7366657246726f6d206661696c656400000000000000604082015260600190565b60208082526010908201526f43616e206e6f7420626520656d70747960801b604082015260600190565b60208082526018908201527f476f7665726e616e63653a20756e617574686f72697a65640000000000000000604082015260600190565b6020808252601d908201527f476f7665726e616e63653a20696e76616c69642064656c656761746565000000604082015260600190565b60208082526018908201527f476f7665726e616e63653a2062616c616e636520697320300000000000000000604082015260600190565b60208082526023908201527f476f7665726e616e63653a3a70726f706f73653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252600d908201526c6f6e6c79206d756c746973696760981b604082015260600190565b60208082526026908201527f476f7665726e616e63653a3a73746174653a20696e76616c69642070726f706f6040820152651cd85b081a5960d21b606082015260800190565b6020808252602a908201527f476f7665726e616e63653a20746f6b656e732061726520616c726561647920756040820152691b99195b1959d85d195960b21b606082015260800190565b6020808252601a908201527f476f7665726e616e63653a206e6f7420617574686f72697a6564000000000000604082015260600190565b60208082526019908201527f50726f706f73616c20657865637574696f6e206661696c656400000000000000604082015260600190565b60208082526019908201527f476f7665726e616e63653a20766f74656420616c726561647900000000000000604082015260600190565b8151151581526020808301511515908201526040918201519181019190915260600190565b90815260200190565b60405181810167ffffffffffffffff81118282101715612b6057600080fd5b604052919050565b60005b83811015612b83578181015183820152602001612b6b565b83811115612b92576000848401525b50505050565b6001600160a01b038116811461101057600080fd5b801515811461101057600080fdfea2646970667358221220a9ae24380315e86f1632949f167f44c17322fe48a1385357edbfdf8bc543469764736f6c634300060c0033"; +const isSuperArgs$e = (xs) => xs.length > 1; +class GovernanceGasUpgrade__factory extends ContractFactory { + constructor(...args) { + if (isSuperArgs$e(args)) { + super(...args); + } else { + super(_abi$g, _bytecode$e, args[0]); + } + } + getDeployTransaction(_gasCompLogic, _userVault, overrides) { + return super.getDeployTransaction( + _gasCompLogic, + _userVault, + overrides || {} + ); + } + deploy(_gasCompLogic, _userVault, overrides) { + return super.deploy(_gasCompLogic, _userVault, overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new Interface(_abi$g); + } + static connect(address, runner) { + return new Contract( + address, + _abi$g, + runner + ); + } +} +GovernanceGasUpgrade__factory.bytecode = _bytecode$e; +GovernanceGasUpgrade__factory.abi = _abi$g; + +const _abi$f = [ + { + inputs: [ + { + internalType: "address", + name: "_userVault", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + } + ], + name: "Delegated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "id", + type: "uint256" + }, + { + indexed: true, + internalType: "address", + name: "proposer", + type: "address" + }, + { + indexed: false, + internalType: "address", + name: "target", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "startTime", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "endTime", + type: "uint256" + }, + { + indexed: false, + internalType: "string", + name: "description", + type: "string" + } + ], + name: "ProposalCreated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "proposalId", + type: "uint256" + } + ], + name: "ProposalExecuted", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + } + ], + name: "Undelegated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + indexed: true, + internalType: "address", + name: "voter", + type: "address" + }, + { + indexed: true, + internalType: "bool", + name: "support", + type: "bool" + }, + { + indexed: false, + internalType: "uint256", + name: "votes", + type: "uint256" + } + ], + name: "Voted", + type: "event" + }, + { + inputs: [], + name: "CLOSING_PERIOD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "EXECUTION_DELAY", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "EXECUTION_EXPIRATION", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "PROPOSAL_THRESHOLD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "QUORUM_VOTES", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "VOTE_EXTEND_TIME", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "VOTING_DELAY", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "VOTING_PERIOD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "canWithdrawAfter", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address[]", + name: "from", + type: "address[]" + }, + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + internalType: "bool", + name: "support", + type: "bool" + } + ], + name: "castDelegatedVote", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + internalType: "bool", + name: "support", + type: "bool" + } + ], + name: "castVote", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address" + } + ], + name: "delegate", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "delegatedTo", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + } + ], + name: "execute", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + internalType: "address", + name: "voter", + type: "address" + } + ], + name: "getReceipt", + outputs: [ + { + components: [ + { + internalType: "bool", + name: "hasVoted", + type: "bool" + }, + { + internalType: "bool", + name: "support", + type: "bool" + }, + { + internalType: "uint256", + name: "votes", + type: "uint256" + } + ], + internalType: "struct Governance.Receipt", + name: "", + type: "tuple" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_torn", + type: "address" + } + ], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "latestProposalIds", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256" + }, + { + internalType: "uint8", + name: "v", + type: "uint8" + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32" + } + ], + name: "lock", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "lockWithApproval", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "lockedBalance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "proposalCount", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + name: "proposals", + outputs: [ + { + internalType: "address", + name: "proposer", + type: "address" + }, + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "uint256", + name: "startTime", + type: "uint256" + }, + { + internalType: "uint256", + name: "endTime", + type: "uint256" + }, + { + internalType: "uint256", + name: "forVotes", + type: "uint256" + }, + { + internalType: "uint256", + name: "againstVotes", + type: "uint256" + }, + { + internalType: "bool", + name: "executed", + type: "bool" + }, + { + internalType: "bool", + name: "extended", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "string", + name: "description", + type: "string" + } + ], + name: "propose", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address" + }, + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "string", + name: "description", + type: "string" + } + ], + name: "proposeByDelegate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "closingPeriod", + type: "uint256" + } + ], + name: "setClosingPeriod", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "executionDelay", + type: "uint256" + } + ], + name: "setExecutionDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "executionExpiration", + type: "uint256" + } + ], + name: "setExecutionExpiration", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalThreshold", + type: "uint256" + } + ], + name: "setProposalThreshold", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "quorumVotes", + type: "uint256" + } + ], + name: "setQuorumVotes", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "voteExtendTime", + type: "uint256" + } + ], + name: "setVoteExtendTime", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "votingDelay", + type: "uint256" + } + ], + name: "setVotingDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "votingPeriod", + type: "uint256" + } + ], + name: "setVotingPeriod", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + } + ], + name: "state", + outputs: [ + { + internalType: "enum Governance.ProposalState", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "torn", + outputs: [ + { + internalType: "contract TORN", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "undelegate", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "unlock", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "userVault", + outputs: [ + { + internalType: "contract ITornadoVault", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "version", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "pure", + type: "function" + } +]; +const _bytecode$d = "0x60a06040523480156200001157600080fd5b506040516200277e3803806200277e833981016040819052620000349162000142565b600054610100900460ff168062000050575062000050620000fb565b806200005f575060005460ff16155b620000875760405162461bcd60e51b81526004016200007e9062000172565b60405180910390fd5b600054610100900460ff16158015620000b3576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b03191661dead179055620000d162000101565b8015620000e4576000805461ff00191690555b5060601b6001600160601b031916608052620001c0565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b60006020828403121562000154578081fd5b81516001600160a01b03811681146200016b578182fd5b9392505050565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b60805160601c612596620001e860003980610af15280610cb3528061194752506125966000f3fe6080604052600436106102255760003560e01c80639daafec711610123578063ce25d71c116100ab578063e4917d9f1161006f578063e4917d9f1461061b578063ea0217cf1461063b578063ece40cc11461065b578063f0b768921461067b578063fe0d94c11461069b57610225565b8063ce25d71c1461058f578063d6159fe5146105a4578063d6f0948c146105b9578063da35c664146105d9578063e23a9a52146105ee57610225565b8063b1610d7e116100f2578063b1610d7e146104fa578063b54426c81461050f578063b859f11b1461052f578063c0c0e8201461054f578063c4d66de81461056f57610225565b80639daafec71461049b578063a6c26603146104b0578063a72edda3146104c5578063adf898a4146104e557610225565b80635c19a95c116101b15780636dc2dc6c116101755780636dc2dc6c1461040657806370b0f6601461042657806392ab89bb146104465780639a9e3b6e1461045b5780639ae697bf1461047b57610225565b80635c19a95c1461036f5780636198e3391461038f57806365da1264146103af578063671dd275146103dc5780636a661755146103f157610225565b806337f135d7116101f857806337f135d7146102d65780633e4f49e6146102eb57806354fd4d5014610318578063587a6ecb1461033a57806358e9fff01461034f57610225565b8063013cf08b1461022a57806302ec8f9e1461026757806315373e3d1461028957806317977c61146102a9575b600080fd5b34801561023657600080fd5b5061024a610245366004611dfd565b6106ae565b60405161025e989796959493929190611f09565b60405180910390f35b34801561027357600080fd5b50610287610282366004611dfd565b610713565b005b34801561029557600080fd5b506102876102a4366004611e41565b610740565b3480156102b557600080fd5b506102c96102c4366004611bf4565b61074f565b60405161025e91906124dd565b3480156102e257600080fd5b506102c9610761565b3480156102f757600080fd5b5061030b610306366004611dfd565b610767565b60405161025e9190611fc7565b34801561032457600080fd5b5061032d6108aa565b60405161025e9190611fdb565b34801561034657600080fd5b506102c96108d5565b34801561035b57600080fd5b506102c961036a366004611c0f565b6108db565b34801561037b57600080fd5b5061028761038a366004611bf4565b610929565b34801561039b57600080fd5b506102876103aa366004611dfd565b610a4b565b3480156103bb57600080fd5b506103cf6103ca366004611bf4565b610b64565b60405161025e9190611eb8565b3480156103e857600080fd5b506102c9610b7f565b3480156103fd57600080fd5b506102c9610b85565b34801561041257600080fd5b50610287610421366004611dfd565b610b8b565b34801561043257600080fd5b50610287610441366004611dfd565b610bd0565b34801561045257600080fd5b50610287610bf4565b34801561046757600080fd5b50610287610476366004611dfd565b610c7b565b34801561048757600080fd5b506102c9610496366004611bf4565b610c9f565b3480156104a757600080fd5b506103cf610cb1565b3480156104bc57600080fd5b506102c9610cd5565b3480156104d157600080fd5b506102c96104e0366004611bf4565b610cdb565b3480156104f157600080fd5b506103cf610ced565b34801561050657600080fd5b506102c9610cfc565b34801561051b57600080fd5b5061028761052a366004611dfd565b610d02565b34801561053b57600080fd5b5061028761054a366004611d1c565b610d0f565b34801561055b57600080fd5b5061028761056a366004611dfd565b610dc6565b34801561057b57600080fd5b5061028761058a366004611bf4565b610dea565b34801561059b57600080fd5b506102c961102d565b3480156105b057600080fd5b506102c9611033565b3480156105c557600080fd5b506102c96105d4366004611c6f565b611039565b3480156105e557600080fd5b506102c961104f565b3480156105fa57600080fd5b5061060e610609366004611e15565b611059565b60405161025e91906124b8565b34801561062757600080fd5b50610287610636366004611dfd565b6110cb565b34801561064757600080fd5b50610287610656366004611dfd565b6110ef565b34801561066757600080fd5b50610287610676366004611dfd565b611113565b34801561068757600080fd5b50610287610696366004611cbd565b611137565b6102876106a9366004611dfd565b6111b7565b603d81815481106106bb57fe5b600091825260209091206008909102018054600182015460028301546003840154600485015460058601546006909601546001600160a01b039586169750949093169491939092919060ff8082169161010090041688565b33301461073b5760405162461bcd60e51b815260040161073290612284565b60405180910390fd5b603555565b61074b338383611349565b5050565b603e6020526000908152604090205481565b60335481565b600061077161104f565b82111580156107805750600082115b61079c5760405162461bcd60e51b8152600401610732906123ba565b6000603d83815481106107ab57fe5b9060005260206000209060080201905080600201546107c861157a565b116107d75760009150506108a5565b80600301546107e461157a565b116107f35760019150506108a5565b8060050154816004015411158061081557506035548160050154826004015401105b156108245760029150506108a5565b600681015460ff161561083b5760059150506108a5565b61086060345461085a603354846003015461157e90919063ffffffff16565b9061157e565b61086861157a565b106108775760069150506108a5565b60335460038201546108889161157e565b61089061157a565b1061089f5760049150506108a5565b60039150505b919050565b60408051808201909152601181527019173b30bab63a16b6b4b3b930ba34b7b760791b602082015290565b603a5481565b6001600160a01b038381166000908152603c602052604081205490911633146109165760405162461bcd60e51b81526004016107329061244a565b6109218484846115a3565b949350505050565b336000818152603c60205260409020546001600160a01b03908116919083161480159061095f57506001600160a01b0382163014155b801561097357506001600160a01b03821615155b80156109915750806001600160a01b0316826001600160a01b031614155b6109ad5760405162461bcd60e51b8152600401610732906122bb565b6001600160a01b038116156109f3576040516001600160a01b0382169033907f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7290600090a35b336000818152603c602052604080822080546001600160a01b0319166001600160a01b03871690811790915590519092917f4bc154dd35d6a5cb9206482ecb473cdbf2473006d6bce728b9cc0741bcc59ea291a35050565b336000908152603f6020526040902054610a6361157a565b11610a805760405162461bcd60e51b815260040161073290612216565b60408051808201825260208082527f476f7665726e616e63653a20696e73756666696369656e742062616c616e636581830152336000908152603b9091529190912054610ace9183906118f1565b336000818152603b6020526040908190209290925590516391fe357360e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316916391fe357391610b2f91908590600401611ecc565b600060405180830381600087803b158015610b4957600080fd5b505af1158015610b5d573d6000803e3d6000fd5b5050505050565b603c602052600090815260409020546001600160a01b031681565b60355481565b60345481565b333014610baa5760405162461bcd60e51b815260040161073290612284565b6033548110610bcb5760405162461bcd60e51b8152600401610732906121d2565b603a55565b333014610bef5760405162461bcd60e51b815260040161073290612284565b603755565b336000908152603c60205260409020546001600160a01b031680610c2a5760405162461bcd60e51b815260040161073290612400565b336000818152603c602052604080822080546001600160a01b0319169055516001600160a01b03841692917f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7291a350565b333014610c9a5760405162461bcd60e51b815260040161073290612284565b603455565b603b6020526000908152604090205481565b7f000000000000000000000000000000000000000000000000000000000000000081565b60365481565b603f6020526000908152604090205481565b6040546001600160a01b031681565b60385481565b610d0c338261191d565b50565b60005b8351811015610da057336001600160a01b0316603c6000868481518110610d3557fe5b6020908102919091018101516001600160a01b03908116835290820192909252604001600020541614610d7a5760405162461bcd60e51b81526004016107329061244a565b610d98848281518110610d8957fe5b60200260200101518484611349565b600101610d12565b50336000908152603b602052604090205415610dc157610dc1338383611349565b505050565b333014610de55760405162461bcd60e51b815260040161073290612284565b603955565b600054610100900460ff1680610e035750610e03611a22565b80610e11575060005460ff16155b610e2d5760405162461bcd60e51b81526004016107329061236c565b600054610100900460ff16158015610e58576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b038085166001600160a01b03199283161783558251610100818101855230825261dead602083019081526000958301868152606084018781526080850188815260a08601898152600160c0880181815260e089018c8152603d80549384018155909c52975160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b16928c169290921790915594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc4860180549190991699169890981790965590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc5830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc682015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc784015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc8830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990910180549351151590920261ff001991151560ff199094169390931716919091179055611018611a28565b801561074b576000805461ff00191690555050565b60395481565b60375481565b60006110463384846115a3565b90505b92915050565b603d546000190190565b611061611aee565b603d838154811061106e57fe5b600091825260208083206001600160a01b0395909516835260089190910290930160070183526040908190208151606081018352815460ff8082161515835261010090910416151594810194909452600101549083015250919050565b3330146110ea5760405162461bcd60e51b815260040161073290612284565b603355565b33301461110e5760405162461bcd60e51b815260040161073290612284565b603855565b3330146111325760405162461bcd60e51b815260040161073290612284565b603655565b60408054905163d505accf60e01b81526001600160a01b039091169063d505accf9061117390899030908a908a908a908a908a90600401611f4f565b600060405180830381600087803b15801561118d57600080fd5b505af11580156111a1573d6000803e3d6000fd5b505050506111af868661191d565b505050505050565b60046111c282610767565b60068111156111cd57fe5b146111ea5760405162461bcd60e51b815260040161073290612031565b6000603d82815481106111f957fe5b600091825260209091206006600890920201908101805460ff191660019081179091558101549091506001600160a01b031661123481611a69565b6112505760405162461bcd60e51b815260040161073290611fee565b60408051600481526024810182526020810180516001600160e01b03166306e60b1760e31b17905290516000916060916001600160a01b0385169161129491611e9c565b600060405180830381855af49150503d80600081146112cf576040519150601f19603f3d011682016040523d82523d6000602084013e6112d4565b606091505b509150915081611317578051156112ff578060405162461bcd60e51b81526004016107329190611fdb565b60405162461bcd60e51b815260040161073290612481565b60405185907f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f90600090a25050505050565b600161135483610767565b600681111561135f57fe5b1461137c5760405162461bcd60e51b8152600401610732906120f7565b6000603d838154811061138b57fe5b600091825260208083206001600160a01b038816845260076008909302019182018152604080842060058401546004850154603b9094529190942054929450101590806113ea5760405162461bcd60e51b8152600401610732906122f2565b825460ff1615611439578254610100900460ff1615611420576001830154600485015461141691611a6f565b6004850155611439565b6001830154600585015461143391611a6f565b60058501555b841561145857600484015461144e908261157e565b600485015561146d565b6005840154611467908261157e565b60058501555b6006840154610100900460ff1615801561149d575060395461149b61149061157a565b600387015490611a6f565b105b156114e15760058401546004850154111582151581146114df5760068501805461ff001916610100179055603a5460038601546114d99161157e565b60038601555b505b8254600160ff19909116811761ff001916610100871515021784558301819055603354603454603a54600387015461152c938b9361152793919261085a9283919061157e565b611ab1565b841515876001600160a01b0316877f7c2de587c00d75474a0c6c6fa96fd3b45dc974cd4e8a75f712bb84c950dce1b58460405161156991906124dd565b60405180910390a450505050505050565b4290565b6000828201838110156110465760405162461bcd60e51b81526004016107329061219b565b6001600160a01b0383166000908152603b60205260408120546036548110156115de5760405162461bcd60e51b81526004016107329061213e565b6115e784611a69565b6116035760405162461bcd60e51b815260040161073290612329565b6001600160a01b0385166000908152603e6020526040902054801561167557600061162d82610767565b9050600181600681111561163d57fe5b141580156116575750600081600681111561165457fe5b14155b6116735760405162461bcd60e51b81526004016107329061207c565b505b600061168560375461085a61157a565b9050600061169e6038548361157e90919063ffffffff16565b90506116a8611b0e565b506040805161010080820183526001600160a01b03808c1683528a8116602084019081529383018681526060840186815260006080860181815260a0870182815260c0880183815260e08901848152603d80546001810182559086528a5160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b166001600160a01b03199384161790559b517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc48d01805491909a1691161790975594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc58a015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc6890155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc788015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc887015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990950180549251151590930261ff001995151560ff1990931692909217949094161790559061185a61104f565b82516001600160a01b03166000908152603e60205260409020819055603354603454603a5492935061189c928d9261152792909161085a919082908a9061157e565b896001600160a01b0316817f90ec05050aa23d54ba425e926fe646c318e85825bc400b13a46010abe86eb2f08b87878d6040516118dc9493929190611f90565b60405180910390a39998505050505050505050565b600081848411156119155760405162461bcd60e51b81526004016107329190611fdb565b505050900390565b6040805490516323b872dd60e01b81526001600160a01b03909116906323b872dd906119719085907f0000000000000000000000000000000000000000000000000000000000000000908690600401611ee5565b602060405180830381600087803b15801561198b57600080fd5b505af115801561199f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c39190611de1565b6119df5760405162461bcd60e51b81526004016107329061224d565b6001600160a01b0382166000908152603b6020526040902054611a02908261157e565b6001600160a01b039092166000908152603b602052604090209190915550565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b3b151590565b600061104683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506118f1565b6001600160a01b0382166000908152603f602052604090205481111561074b576001600160a01b03919091166000908152603f6020526040902055565b604080516060810182526000808252602082018190529181019190915290565b60405180610100016040528060006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000151581526020016000151581525090565b80356001600160a01b038116811461104957600080fd5b803561104981612552565b600082601f830112611b9b578081fd5b813567ffffffffffffffff811115611bb1578182fd5b611bc4601f8201601f19166020016124e6565b9150808252836020828501011115611bdb57600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215611c05578081fd5b6110468383611b69565b600080600060608486031215611c23578182fd5b8335611c2e8161253d565b92506020840135611c3e8161253d565b9150604084013567ffffffffffffffff811115611c59578182fd5b611c6586828701611b8b565b9150509250925092565b60008060408385031215611c81578182fd5b8235611c8c8161253d565b9150602083013567ffffffffffffffff811115611ca7578182fd5b611cb385828601611b8b565b9150509250929050565b60008060008060008060c08789031215611cd5578182fd5b611cdf8888611b69565b95506020870135945060408701359350606087013560ff81168114611d02578283fd5b9598949750929560808101359460a0909101359350915050565b600080600060608486031215611d30578283fd5b833567ffffffffffffffff80821115611d47578485fd5b818601915086601f830112611d5a578485fd5b813581811115611d68578586fd5b60209150818102611d7a8382016124e6565b8281528381019085850183870186018c1015611d9457898afd5b8996505b84871015611dbe57611daa8c82611b69565b835260019690960195918501918501611d98565b5097505050508501359250611dd890508560408601611b80565b90509250925092565b600060208284031215611df2578081fd5b815161104681612552565b600060208284031215611e0e578081fd5b5035919050565b60008060408385031215611e27578182fd5b82359150611e388460208501611b69565b90509250929050565b60008060408385031215611e53578182fd5b823591506020830135611e6581612552565b809150509250929050565b60008151808452611e8881602086016020860161250d565b601f01601f19169290920160200192915050565b60008251611eae81846020870161250d565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03988916815296909716602087015260408601949094526060850192909252608084015260a0830152151560c082015290151560e08201526101000190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b600060018060a01b038616825284602083015283604083015260806060830152611fbd6080830184611e70565b9695505050505050565b6020810160078310611fd557fe5b91905290565b6000602082526110466020830184611e70565b60208082526023908201527f476f7665726e616e63653a3a657865637574653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602b908201527f476f7665726e616e63653a3a657865637574653a20696e76616c69642070726f60408201526a706f73616c20737461746560a81b606082015260800190565b60208082526055908201527f476f7665726e616e63653a3a70726f706f73653a206f6e65206c69766520707260408201527f6f706f73616c207065722070726f706f7365722c20666f756e6420616e20616c6060820152741c9958591e481858dd1a5d99481c1c9bdc1bdcd85b605a1b608082015260a00190565b60208082526027908201527f476f7665726e616e63653a3a5f63617374566f74653a20766f74696e672069736040820152660818db1bdcd95960ca1b606082015260800190565b6020808252603c908201527f476f7665726e616e63653a3a70726f706f73653a2070726f706f73657220766f60408201527f7465732062656c6f772070726f706f73616c207468726573686f6c6400000000606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526024908201527f476f7665726e616e63653a20696e636f727265637420766f7465457874656e6460408201526354696d6560e01b606082015260800190565b6020808252601d908201527f476f7665726e616e63653a20746f6b656e7320617265206c6f636b6564000000604082015260600190565b60208082526019908201527f544f524e3a207472616e7366657246726f6d206661696c656400000000000000604082015260600190565b60208082526018908201527f476f7665726e616e63653a20756e617574686f72697a65640000000000000000604082015260600190565b6020808252601d908201527f476f7665726e616e63653a20696e76616c69642064656c656761746565000000604082015260600190565b60208082526018908201527f476f7665726e616e63653a2062616c616e636520697320300000000000000000604082015260600190565b60208082526023908201527f476f7665726e616e63653a3a70726f706f73653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b60208082526026908201527f476f7665726e616e63653a3a73746174653a20696e76616c69642070726f706f6040820152651cd85b081a5960d21b606082015260800190565b6020808252602a908201527f476f7665726e616e63653a20746f6b656e732061726520616c726561647920756040820152691b99195b1959d85d195960b21b606082015260800190565b6020808252601a908201527f476f7665726e616e63653a206e6f7420617574686f72697a6564000000000000604082015260600190565b60208082526019908201527f50726f706f73616c20657865637574696f6e206661696c656400000000000000604082015260600190565b8151151581526020808301511515908201526040918201519181019190915260600190565b90815260200190565b60405181810167ffffffffffffffff8111828210171561250557600080fd5b604052919050565b60005b83811015612528578181015183820152602001612510565b83811115612537576000848401525b50505050565b6001600160a01b0381168114610d0c57600080fd5b8015158114610d0c57600080fdfea26469706673582212204b0042571b6576e17c0708c8f251958898bb0e0a9f340387b1eed439d732af7264736f6c634300060c0033"; +const isSuperArgs$d = (xs) => xs.length > 1; +class GovernanceVaultUpgrade__factory extends ContractFactory { + constructor(...args) { + if (isSuperArgs$d(args)) { + super(...args); + } else { + super(_abi$f, _bytecode$d, args[0]); + } + } + getDeployTransaction(_userVault, overrides) { + return super.getDeployTransaction(_userVault, overrides || {}); + } + deploy(_userVault, overrides) { + return super.deploy(_userVault, overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new Interface(_abi$f); + } + static connect(address, runner) { + return new Contract( + address, + _abi$f, + runner + ); + } +} +GovernanceVaultUpgrade__factory.bytecode = _bytecode$d; +GovernanceVaultUpgrade__factory.abi = _abi$f; + +var index$a = /*#__PURE__*/Object.freeze({ + __proto__: null, + GovernanceGasUpgrade__factory: GovernanceGasUpgrade__factory, + GovernanceVaultUpgrade__factory: GovernanceVaultUpgrade__factory, + gasCompensatorSol: index$c, + interfaces: index$b +}); + +const _abi$e = [ + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address" + }, + { + internalType: "uint256", + name: "amountLockedBeforehand", + type: "uint256" + } + ], + name: "updateRewardsOnLockedBalanceChange", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; +class ITornadoStakingRewards__factory { + static createInterface() { + return new Interface(_abi$e); + } + static connect(address, runner) { + return new Contract( + address, + _abi$e, + runner + ); + } +} +ITornadoStakingRewards__factory.abi = _abi$e; + +var index$9 = /*#__PURE__*/Object.freeze({ + __proto__: null, + ITornadoStakingRewards__factory: ITornadoStakingRewards__factory +}); + +const _abi$d = [ + { + inputs: [ + { + internalType: "address", + name: "stakingRewardsAddress", + type: "address" + }, + { + internalType: "address", + name: "gasCompLogic", + type: "address" + }, + { + internalType: "address", + name: "userVaultAddress", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + } + ], + name: "Delegated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "id", + type: "uint256" + }, + { + indexed: true, + internalType: "address", + name: "proposer", + type: "address" + }, + { + indexed: false, + internalType: "address", + name: "target", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "startTime", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "endTime", + type: "uint256" + }, + { + indexed: false, + internalType: "string", + name: "description", + type: "string" + } + ], + name: "ProposalCreated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "proposalId", + type: "uint256" + } + ], + name: "ProposalExecuted", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address" + }, + { + indexed: true, + internalType: "bytes", + name: "errorData", + type: "bytes" + } + ], + name: "RewardUpdateFailed", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address" + } + ], + name: "RewardUpdateSuccessful", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + } + ], + name: "Undelegated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + indexed: true, + internalType: "address", + name: "voter", + type: "address" + }, + { + indexed: true, + internalType: "bool", + name: "support", + type: "bool" + }, + { + indexed: false, + internalType: "uint256", + name: "votes", + type: "uint256" + } + ], + name: "Voted", + type: "event" + }, + { + inputs: [], + name: "CLOSING_PERIOD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "EXECUTION_DELAY", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "EXECUTION_EXPIRATION", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "PROPOSAL_THRESHOLD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "QUORUM_VOTES", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "Staking", + outputs: [ + { + internalType: "contract ITornadoStakingRewards", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "VOTE_EXTEND_TIME", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "VOTING_DELAY", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "VOTING_PERIOD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "canWithdrawAfter", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address[]", + name: "from", + type: "address[]" + }, + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + internalType: "bool", + name: "support", + type: "bool" + } + ], + name: "castDelegatedVote", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + internalType: "bool", + name: "support", + type: "bool" + } + ], + name: "castVote", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + } + ], + name: "checkIfQuorumReached", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address" + } + ], + name: "delegate", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "delegatedTo", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + } + ], + name: "execute", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [], + name: "gasCompensationVault", + outputs: [ + { + internalType: "contract IGasCompensationVault", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + internalType: "address", + name: "voter", + type: "address" + } + ], + name: "getReceipt", + outputs: [ + { + components: [ + { + internalType: "bool", + name: "hasVoted", + type: "bool" + }, + { + internalType: "bool", + name: "support", + type: "bool" + }, + { + internalType: "uint256", + name: "votes", + type: "uint256" + } + ], + internalType: "struct Governance.Receipt", + name: "", + type: "tuple" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "hasAccountVoted", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_torn", + type: "address" + } + ], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "latestProposalIds", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256" + }, + { + internalType: "uint8", + name: "v", + type: "uint8" + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32" + } + ], + name: "lock", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "lockWithApproval", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "lockedBalance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "proposalCount", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + name: "proposals", + outputs: [ + { + internalType: "address", + name: "proposer", + type: "address" + }, + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "uint256", + name: "startTime", + type: "uint256" + }, + { + internalType: "uint256", + name: "endTime", + type: "uint256" + }, + { + internalType: "uint256", + name: "forVotes", + type: "uint256" + }, + { + internalType: "uint256", + name: "againstVotes", + type: "uint256" + }, + { + internalType: "bool", + name: "executed", + type: "bool" + }, + { + internalType: "bool", + name: "extended", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "string", + name: "description", + type: "string" + } + ], + name: "propose", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address" + }, + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "string", + name: "description", + type: "string" + } + ], + name: "proposeByDelegate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "returnMultisigAddress", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "pure", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "closingPeriod", + type: "uint256" + } + ], + name: "setClosingPeriod", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "executionDelay", + type: "uint256" + } + ], + name: "setExecutionDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "executionExpiration", + type: "uint256" + } + ], + name: "setExecutionExpiration", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "gasCompensationsLimit", + type: "uint256" + } + ], + name: "setGasCompensations", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalThreshold", + type: "uint256" + } + ], + name: "setProposalThreshold", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "quorumVotes", + type: "uint256" + } + ], + name: "setQuorumVotes", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "voteExtendTime", + type: "uint256" + } + ], + name: "setVoteExtendTime", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "votingDelay", + type: "uint256" + } + ], + name: "setVotingDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "votingPeriod", + type: "uint256" + } + ], + name: "setVotingPeriod", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + } + ], + name: "state", + outputs: [ + { + internalType: "enum Governance.ProposalState", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "torn", + outputs: [ + { + internalType: "contract TORN", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "undelegate", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "unlock", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "userVault", + outputs: [ + { + internalType: "contract ITornadoVault", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "version", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "pure", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "withdrawFromHelper", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + stateMutability: "payable", + type: "receive" + } +]; +const _bytecode$c = "0x60e06040523480156200001157600080fd5b50604051620032a6380380620032a6833981016040819052620000349162000165565b81818181600060019054906101000a900460ff1680620000595750620000596200011e565b8062000068575060005460ff16155b620000905760405162461bcd60e51b81526004016200008790620001b8565b60405180910390fd5b600054610100900460ff16158015620000bc576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b03191661dead179055620000da62000124565b8015620000ed576000805461ff00191690555b506001600160601b0319606091821b811660805291811b821660a0529590951b90941660c052506200021f92505050565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b6000806000606084860312156200017a578283fd5b8351620001878162000206565b60208501519093506200019a8162000206565b6040850151909250620001ad8162000206565b809150509250925092565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b6001600160a01b03811681146200021c57600080fd5b50565b60805160601c60a05160601c60c05160601c6130246200028260003980610cf652806110b7528061169852806117c95250806108e55280610ead5280610fa552806116145280612164525080611040528061200d528061240e52506130246000f3fe6080604052600436106102765760003560e01c80639ae697bf1161014f578063d6159fe5116100c1578063ea0217cf1161007a578063ea0217cf1461072a578063ece40cc11461074a578063ef3f8bb11461076a578063f0b768921461078a578063f57df22e146107aa578063fe0d94c1146107bf5761027d565b8063d6159fe514610673578063d6f0948c14610688578063da35c664146106a8578063e23a9a52146106bd578063e4917d9f146106ea578063e525aa081461070a5761027d565b8063b1610d7e11610113578063b1610d7e146105c9578063b54426c8146105de578063b859f11b146105fe578063c0c0e8201461061e578063c4d66de81461063e578063ce25d71c1461065e5761027d565b80639ae697bf1461054a5780639daafec71461056a578063a6c266031461057f578063a72edda314610594578063adf898a4146105b45761027d565b80635c19a95c116101e85780636dc2dc6c116101ac5780636dc2dc6c146104a057806370b0f660146104c05780638b34a960146104e057806392ab89bb146104f5578063932d51571461050a5780639a9e3b6e1461052a5761027d565b80635c19a95c146104165780636198e3391461043657806365da126414610456578063671dd275146104765780636a6617551461048b5761027d565b806332687ec11161023a57806332687ec11461035057806337f135d71461037d5780633e4f49e61461039257806354fd4d50146103bf578063587a6ecb146103e157806358e9fff0146103f65761027d565b8063013cf08b1461028257806302ec8f9e146102bf57806315373e3d146102e157806317977c611461030157806324b0435f1461032e5761027d565b3661027d57005b600080fd5b34801561028e57600080fd5b506102a261029d3660046127f8565b6107d2565b6040516102b6989796959493929190612904565b60405180910390f35b3480156102cb57600080fd5b506102df6102da3660046127f8565b610837565b005b3480156102ed57600080fd5b506102df6102fc36600461283c565b610864565b34801561030d57600080fd5b5061032161031c3660046125ef565b610967565b6040516102b69190612f6b565b34801561033a57600080fd5b50610343610979565b6040516102b691906128b3565b34801561035c57600080fd5b5061037061036b3660046127f8565b610991565b6040516102b691906129c2565b34801561038957600080fd5b506103216109df565b34801561039e57600080fd5b506103b26103ad3660046127f8565b6109e5565b6040516102b691906129cd565b3480156103cb57600080fd5b506103d4610b21565b6040516102b691906129e1565b3480156103ed57600080fd5b50610321610b58565b34801561040257600080fd5b5061032161041136600461260a565b610b5e565b34801561042257600080fd5b506102df6104313660046125ef565b610bac565b34801561044257600080fd5b506102df6104513660046127f8565b610cce565b34801561046257600080fd5b506103436104713660046125ef565b610e1b565b34801561048257600080fd5b50610321610e36565b34801561049757600080fd5b50610321610e3c565b3480156104ac57600080fd5b506102df6104bb3660046127f8565b610e42565b3480156104cc57600080fd5b506102df6104db3660046127f8565b610e87565b3480156104ec57600080fd5b50610343610eab565b34801561050157600080fd5b506102df610ecf565b34801561051657600080fd5b506102df6105253660046127f8565b610f56565b34801561053657600080fd5b506102df6105453660046127f8565b611008565b34801561055657600080fd5b506103216105653660046125ef565b61102c565b34801561057657600080fd5b5061034361103e565b34801561058b57600080fd5b50610321611062565b3480156105a057600080fd5b506103216105af3660046125ef565b611068565b3480156105c057600080fd5b5061034361107a565b3480156105d557600080fd5b50610321611089565b3480156105ea57600080fd5b506102df6105f93660046127f8565b61108f565b34801561060a57600080fd5b506102df610619366004612717565b6111d8565b34801561062a57600080fd5b506102df6106393660046127f8565b611226565b34801561064a57600080fd5b506102df6106593660046125ef565b61124a565b34801561066a57600080fd5b5061032161148d565b34801561067f57600080fd5b50610321611493565b34801561069457600080fd5b506103216106a336600461266a565b611499565b3480156106b457600080fd5b506103216114af565b3480156106c957600080fd5b506106dd6106d8366004612810565b6114b9565b6040516102b69190612f46565b3480156106f657600080fd5b506102df6107053660046127f8565b61152b565b34801561071657600080fd5b50610370610725366004612810565b61154f565b34801561073657600080fd5b506102df6107453660046127f8565b611592565b34801561075657600080fd5b506102df6107653660046127f8565b6115b6565b34801561077657600080fd5b506102df6107853660046127f8565b6115da565b34801561079657600080fd5b506102df6107a53660046126b8565b61166c565b3480156107b657600080fd5b506103436117c7565b6102df6107cd3660046127f8565b6117eb565b603d81815481106107df57fe5b600091825260209091206008909102018054600182015460028301546003840154600485015460058601546006909601546001600160a01b039586169750949093169491939092919060ff8082169161010090041688565b33301461085f5760405162461bcd60e51b815260040161085690612cb4565b60405180910390fd5b603555565b3361086f833361154f565b158015610882575061088083610991565b155b333214610890576000610894565b6152085b61ffff1681156109555760005a90506108ae33878761197d565b60006108cb6127106108c5856108c55a8790611bae565b90611bf0565b60405163a99ce80760e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a99ce8079061091c90889085906004016128c7565b600060405180830381600087803b15801561093657600080fd5b505af115801561094a573d6000803e3d6000fd5b505050505050610960565b61096033868661197d565b5050505050565b603e6020526000908152604090205481565b73b04e030140b30c27bcdfaafffa98c57d80eda7b490565b6000603554603d83815481106109a357fe5b906000526020600020906008020160050154603d84815481106109c257fe5b90600052602060002090600802016004015401101590505b919050565b60335481565b60006109ef6114af565b82111580156109fe5750600082115b610a1a5760405162461bcd60e51b815260040161085690612e11565b6000603d8381548110610a2957fe5b906000526020600020906008020190508060020154610a46611c15565b11610a555760009150506109da565b8060030154610a62611c15565b11610a715760019150506109da565b80600501548160040154111580610a9357506035548160050154826004015401105b15610aa25760029150506109da565b600681015460ff1615610ab95760059150506109da565b610ad86034546108c56033548460030154611bf090919063ffffffff16565b610ae0611c15565b10610aef5760069150506109da565b6033546003820154610b0091611bf0565b610b08611c15565b10610b175760049150506109da565b60039150506109da565b60408051808201909152601981527f322e6c6f74746572792d616e642d6761732d7570677261646500000000000000602082015290565b603a5481565b6001600160a01b038381166000908152603c60205260408120549091163314610b995760405162461bcd60e51b815260040161085690612ea1565b610ba4848484611c19565b949350505050565b336000818152603c60205260409020546001600160a01b039081169190831614801590610be257506001600160a01b0382163014155b8015610bf657506001600160a01b03821615155b8015610c145750806001600160a01b0316826001600160a01b031614155b610c305760405162461bcd60e51b815260040161085690612ceb565b6001600160a01b03811615610c76576040516001600160a01b0382169033907f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7290600090a35b336000818152603c602052604080822080546001600160a01b0319166001600160a01b03871690811790915590519092917f4bc154dd35d6a5cb9206482ecb473cdbf2473006d6bce728b9cc0741bcc59ea291a35050565b336000818152603b60205260409081902054905163e113335f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163e113335f91610d2b9185916004016128c7565b600060405180830381600087803b158015610d4557600080fd5b505af1925050508015610d56575060015b610dd9573d808015610d84576040519150601f19603f3d011682016040523d82523d6000602084013e610d89565b606091505b5080604051610d989190612897565b604051908190038120906001600160a01b038416907f5a6216e80d86159dc87dcebfe519205477a94005b7d9d6bd313606450a5344f690600090a350610e0e565b6040516001600160a01b038216907f9b227b0c1ae308b34f72d4fdf9a1943fa769ff4814933595e7bc5230a117698b90600090a25b610e1782611f67565b5050565b603c602052600090815260409020546001600160a01b031681565b60355481565b60345481565b333014610e615760405162461bcd60e51b815260040161085690612cb4565b6033548110610e825760405162461bcd60e51b815260040161085690612bd8565b603a55565b333014610ea65760405162461bcd60e51b815260040161085690612cb4565b603755565b7f000000000000000000000000000000000000000000000000000000000000000081565b336000908152603c60205260409020546001600160a01b031680610f055760405162461bcd60e51b815260040161085690612e57565b336000818152603c602052604080822080546001600160a01b0319169055516001600160a01b03841692917f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7291a350565b610f5e610979565b6001600160a01b0316336001600160a01b031614610f8e5760405162461bcd60e51b815260040161085690612dea565b604051633a08bde160e21b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e822f78490610fda908490600401612f6b565b600060405180830381600087803b158015610ff457600080fd5b505af1158015610960573d6000803e3d6000fd5b3330146110275760405162461bcd60e51b815260040161085690612cb4565b603455565b603b6020526000908152604090205481565b7f000000000000000000000000000000000000000000000000000000000000000081565b60365481565b603f6020526000908152604090205481565b6040546001600160a01b031681565b60385481565b336000818152603b60205260409081902054905163e113335f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163e113335f916110ec9185916004016128c7565b600060405180830381600087803b15801561110657600080fd5b505af1925050508015611117575060015b61119a573d808015611145576040519150601f19603f3d011682016040523d82523d6000602084013e61114a565b606091505b50806040516111599190612897565b604051908190038120906001600160a01b038416907f5a6216e80d86159dc87dcebfe519205477a94005b7d9d6bd313606450a5344f690600090a3506111cf565b6040516001600160a01b038216907f9b227b0c1ae308b34f72d4fdf9a1943fa769ff4814933595e7bc5230a117698b90600090a25b610e178261204b565b60008351116111f95760405162461bcd60e51b815260040161085690612c8a565b611221838383611209863361154f565b15801561121c575061121a86610991565b155b612055565b505050565b3330146112455760405162461bcd60e51b815260040161085690612cb4565b603955565b600054610100900460ff16806112635750611263612298565b80611271575060005460ff16155b61128d5760405162461bcd60e51b815260040161085690612d9c565b600054610100900460ff161580156112b8576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b038085166001600160a01b03199283161783558251610100818101855230825261dead602083019081526000958301868152606084018781526080850188815260a08601898152600160c0880181815260e089018c8152603d80549384018155909c52975160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b16928c169290921790915594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc4860180549190991699169890981790965590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc5830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc682015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc784015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc8830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990910180549351151590920261ff001991151560ff19909416939093171691909117905561147861229e565b8015610e17576000805461ff00191690555050565b60395481565b60375481565b60006114a6338484611c19565b90505b92915050565b603d546000190190565b6114c16124e9565b603d83815481106114ce57fe5b600091825260208083206001600160a01b0395909516835260089190910290930160070183526040908190208151606081018352815460ff8082161515835261010090910416151594810194909452600101549083015250919050565b33301461154a5760405162461bcd60e51b815260040161085690612cb4565b603355565b6000603d838154811061155e57fe5b600091825260208083206001600160a01b03861684526007600890930201919091019052604090205460ff16905092915050565b3330146115b15760405162461bcd60e51b815260040161085690612cb4565b603855565b3330146115d55760405162461bcd60e51b815260040161085690612cb4565b603655565b6115e2610979565b6001600160a01b0316336001600160a01b0316146116125760405162461bcd60e51b815260040161085690612dea565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108fc61164983476122df565b6040518115909202916000818181858888f1935050505061166957600080fd5b50565b6001600160a01b038087166000908152603b60205260409081902054905163e113335f60e01b815288927f0000000000000000000000000000000000000000000000000000000000000000169163e113335f916116cd9185916004016128c7565b600060405180830381600087803b1580156116e757600080fd5b505af19250505080156116f8575060015b61177b573d808015611726576040519150601f19603f3d011682016040523d82523d6000602084013e61172b565b606091505b508060405161173a9190612897565b604051908190038120906001600160a01b038416907f5a6216e80d86159dc87dcebfe519205477a94005b7d9d6bd313606450a5344f690600090a3506117b0565b6040516001600160a01b038216907f9b227b0c1ae308b34f72d4fdf9a1943fa769ff4814933595e7bc5230a117698b90600090a25b6117be8787878787876122f5565b50505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60046117f6826109e5565b600681111561180157fe5b1461181e5760405162461bcd60e51b815260040161085690612a37565b6000603d828154811061182d57fe5b600091825260209091206006600890920201908101805460ff191660019081179091558101549091506001600160a01b031661186881612375565b6118845760405162461bcd60e51b8152600401610856906129f4565b60408051600481526024810182526020810180516001600160e01b03166306e60b1760e31b17905290516000916060916001600160a01b038516916118c891612897565b600060405180830381855af49150503d8060008114611903576040519150601f19603f3d011682016040523d82523d6000602084013e611908565b606091505b50915091508161194b57805115611933578060405162461bcd60e51b815260040161085691906129e1565b60405162461bcd60e51b815260040161085690612ed8565b60405185907f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f90600090a25050505050565b6001611988836109e5565b600681111561199357fe5b146119b05760405162461bcd60e51b815260040161085690612afd565b6000603d83815481106119bf57fe5b600091825260208083206001600160a01b038816845260076008909302019182018152604080842060058401546004850154603b909452919094205492945010159080611a1e5760405162461bcd60e51b815260040161085690612d22565b825460ff1615611a6d578254610100900460ff1615611a545760018301546004850154611a4a91611bae565b6004850155611a6d565b60018301546005850154611a6791611bae565b60058501555b8415611a8c576004840154611a829082611bf0565b6004850155611aa1565b6005840154611a9b9082611bf0565b60058501555b6006840154610100900460ff16158015611ad15750603954611acf611ac4611c15565b600387015490611bae565b105b15611b15576005840154600485015411158215158114611b135760068501805461ff001916610100179055603a546003860154611b0d91611bf0565b60038601555b505b8254600160ff19909116811761ff001916610100871515021784558301819055603354603454603a546003870154611b60938b93611b5b9391926108c592839190611bf0565b61237b565b841515876001600160a01b0316877f7c2de587c00d75474a0c6c6fa96fd3b45dc974cd4e8a75f712bb84c950dce1b584604051611b9d9190612f6b565b60405180910390a450505050505050565b60006114a683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506123b8565b6000828201838110156114a65760405162461bcd60e51b815260040161085690612ba1565b4290565b6001600160a01b0383166000908152603b6020526040812054603654811015611c545760405162461bcd60e51b815260040161085690612b44565b611c5d84612375565b611c795760405162461bcd60e51b815260040161085690612d59565b6001600160a01b0385166000908152603e60205260409020548015611ceb576000611ca3826109e5565b90506001816006811115611cb357fe5b14158015611ccd57506000816006811115611cca57fe5b14155b611ce95760405162461bcd60e51b815260040161085690612a82565b505b6000611cfb6037546108c5611c15565b90506000611d1460385483611bf090919063ffffffff16565b9050611d1e612509565b506040805161010080820183526001600160a01b03808c1683528a8116602084019081529383018681526060840186815260006080860181815260a0870182815260c0880183815260e08901848152603d80546001810182559086528a5160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b166001600160a01b03199384161790559b517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc48d01805491909a1691161790975594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc58a015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc6890155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc788015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc887015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990950180549251151590930261ff001995151560ff19909316929092179490941617905590611ed06114af565b82516001600160a01b03166000908152603e60205260409020819055603354603454603a54929350611f12928d92611b5b9290916108c5919082908a90611bf0565b896001600160a01b0316817f90ec05050aa23d54ba425e926fe646c318e85825bc400b13a46010abe86eb2f08b87878d604051611f52949392919061298b565b60405180910390a39998505050505050505050565b336000908152603f6020526040902054611f7f611c15565b11611f9c5760405162461bcd60e51b815260040161085690612c1c565b60408051808201825260208082527f476f7665726e616e63653a20696e73756666696369656e742062616c616e636581830152336000908152603b9091529190912054611fea9183906123b8565b336000818152603b6020526040908190209290925590516391fe357360e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316916391fe357391610fda919085906004016128c7565b61166933826123e4565b3381328214612065576000612069565b6152085b61ffff1681156121d45760005a905060005b885181101561213257600089828151811061209257fe5b6020908102919091018101516001600160a01b038082166000908152603c909352604090922054909250163314806120d257506001600160a01b03811633145b6120ee5760405162461bcd60e51b815260040161085690612ea1565b8615806121025750612100898261154f565b155b61211e5760405162461bcd60e51b815260040161085690612f0f565b612129818a8a61197d565b5060010161207b565b50600061214a6127106108c5856108c55a8790611bae565b60405163a99ce80760e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a99ce8079061219b90889085906004016128c7565b600060405180830381600087803b1580156121b557600080fd5b505af11580156121c9573d6000803e3d6000fd5b5050505050506117be565b60005b875181101561228e5760008882815181106121ee57fe5b6020908102919091018101516001600160a01b038082166000908152603c9093526040909220549092501633148061222e57506001600160a01b03811633145b61224a5760405162461bcd60e51b815260040161085690612ea1565b85158061225e575061225c888261154f565b155b61227a5760405162461bcd60e51b815260040161085690612f0f565b61228581898961197d565b506001016121d7565b5050505050505050565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b60008183106122ee57816114a6565b5090919050565b60408054905163d505accf60e01b81526001600160a01b039091169063d505accf9061233190899030908a908a908a908a908a9060040161294a565b600060405180830381600087803b15801561234b57600080fd5b505af115801561235f573d6000803e3d6000fd5b5050505061236d86866123e4565b505050505050565b3b151590565b6001600160a01b0382166000908152603f6020526040902054811115610e17576001600160a01b03919091166000908152603f6020526040902055565b600081848411156123dc5760405162461bcd60e51b815260040161085691906129e1565b505050900390565b6040805490516323b872dd60e01b81526001600160a01b03909116906323b872dd906124389085907f00000000000000000000000000000000000000000000000000000000000000009086906004016128e0565b602060405180830381600087803b15801561245257600080fd5b505af1158015612466573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061248a91906127dc565b6124a65760405162461bcd60e51b815260040161085690612c53565b6001600160a01b0382166000908152603b60205260409020546124c99082611bf0565b6001600160a01b039092166000908152603b602052604090209190915550565b604080516060810182526000808252602082018190529181019190915290565b60405180610100016040528060006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000151581526020016000151581525090565b80356001600160a01b03811681146114a957600080fd5b80356114a981612fe0565b600082601f830112612596578081fd5b813567ffffffffffffffff8111156125ac578182fd5b6125bf601f8201601f1916602001612f74565b91508082528360208285010111156125d657600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215612600578081fd5b6114a68383612564565b60008060006060848603121561261e578182fd5b833561262981612fcb565b9250602084013561263981612fcb565b9150604084013567ffffffffffffffff811115612654578182fd5b61266086828701612586565b9150509250925092565b6000806040838503121561267c578182fd5b823561268781612fcb565b9150602083013567ffffffffffffffff8111156126a2578182fd5b6126ae85828601612586565b9150509250929050565b60008060008060008060c087890312156126d0578182fd5b6126da8888612564565b95506020870135945060408701359350606087013560ff811681146126fd578283fd5b9598949750929560808101359460a0909101359350915050565b60008060006060848603121561272b578283fd5b833567ffffffffffffffff80821115612742578485fd5b818601915086601f830112612755578485fd5b813581811115612763578586fd5b60209150818102612775838201612f74565b8281528381019085850183870186018c101561278f57898afd5b8996505b848710156127b9576127a58c82612564565b835260019690960195918501918501612793565b50975050505085013592506127d39050856040860161257b565b90509250925092565b6000602082840312156127ed578081fd5b81516114a681612fe0565b600060208284031215612809578081fd5b5035919050565b60008060408385031215612822578182fd5b823591506128338460208501612564565b90509250929050565b6000806040838503121561284e578182fd5b82359150602083013561286081612fe0565b809150509250929050565b60008151808452612883816020860160208601612f9b565b601f01601f19169290920160200192915050565b600082516128a9818460208701612f9b565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03988916815296909716602087015260408601949094526060850192909252608084015260a0830152151560c082015290151560e08201526101000190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b600060018060a01b0386168252846020830152836040830152608060608301526129b8608083018461286b565b9695505050505050565b901515815260200190565b60208101600783106129db57fe5b91905290565b6000602082526114a6602083018461286b565b60208082526023908201527f476f7665726e616e63653a3a657865637574653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602b908201527f476f7665726e616e63653a3a657865637574653a20696e76616c69642070726f60408201526a706f73616c20737461746560a81b606082015260800190565b60208082526055908201527f476f7665726e616e63653a3a70726f706f73653a206f6e65206c69766520707260408201527f6f706f73616c207065722070726f706f7365722c20666f756e6420616e20616c6060820152741c9958591e481858dd1a5d99481c1c9bdc1bdcd85b605a1b608082015260a00190565b60208082526027908201527f476f7665726e616e63653a3a5f63617374566f74653a20766f74696e672069736040820152660818db1bdcd95960ca1b606082015260800190565b6020808252603c908201527f476f7665726e616e63653a3a70726f706f73653a2070726f706f73657220766f60408201527f7465732062656c6f772070726f706f73616c207468726573686f6c6400000000606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526024908201527f476f7665726e616e63653a20696e636f727265637420766f7465457874656e6460408201526354696d6560e01b606082015260800190565b6020808252601d908201527f476f7665726e616e63653a20746f6b656e7320617265206c6f636b6564000000604082015260600190565b60208082526019908201527f544f524e3a207472616e7366657246726f6d206661696c656400000000000000604082015260600190565b60208082526010908201526f43616e206e6f7420626520656d70747960801b604082015260600190565b60208082526018908201527f476f7665726e616e63653a20756e617574686f72697a65640000000000000000604082015260600190565b6020808252601d908201527f476f7665726e616e63653a20696e76616c69642064656c656761746565000000604082015260600190565b60208082526018908201527f476f7665726e616e63653a2062616c616e636520697320300000000000000000604082015260600190565b60208082526023908201527f476f7665726e616e63653a3a70726f706f73653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252600d908201526c6f6e6c79206d756c746973696760981b604082015260600190565b60208082526026908201527f476f7665726e616e63653a3a73746174653a20696e76616c69642070726f706f6040820152651cd85b081a5960d21b606082015260800190565b6020808252602a908201527f476f7665726e616e63653a20746f6b656e732061726520616c726561647920756040820152691b99195b1959d85d195960b21b606082015260800190565b6020808252601a908201527f476f7665726e616e63653a206e6f7420617574686f72697a6564000000000000604082015260600190565b60208082526019908201527f50726f706f73616c20657865637574696f6e206661696c656400000000000000604082015260600190565b60208082526019908201527f476f7665726e616e63653a20766f74656420616c726561647900000000000000604082015260600190565b8151151581526020808301511515908201526040918201519181019190915260600190565b90815260200190565b60405181810167ffffffffffffffff81118282101715612f9357600080fd5b604052919050565b60005b83811015612fb6578181015183820152602001612f9e565b83811115612fc5576000848401525b50505050565b6001600160a01b038116811461166957600080fd5b801515811461166957600080fdfea2646970667358221220e1f35bea256ff1c0e43f98312094903f31941303df43a2edbe8b9bd0fa323c8864736f6c634300060c0033"; +const isSuperArgs$c = (xs) => xs.length > 1; +class GovernanceStakingUpgrade__factory extends ContractFactory { + constructor(...args) { + if (isSuperArgs$c(args)) { + super(...args); + } else { + super(_abi$d, _bytecode$c, args[0]); + } + } + getDeployTransaction(stakingRewardsAddress, gasCompLogic, userVaultAddress, overrides) { + return super.getDeployTransaction( + stakingRewardsAddress, + gasCompLogic, + userVaultAddress, + overrides || {} + ); + } + deploy(stakingRewardsAddress, gasCompLogic, userVaultAddress, overrides) { + return super.deploy( + stakingRewardsAddress, + gasCompLogic, + userVaultAddress, + overrides || {} + ); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new Interface(_abi$d); + } + static connect(address, runner) { + return new Contract( + address, + _abi$d, + runner + ); + } +} +GovernanceStakingUpgrade__factory.bytecode = _bytecode$c; +GovernanceStakingUpgrade__factory.abi = _abi$d; + +var index$8 = /*#__PURE__*/Object.freeze({ + __proto__: null, + GovernanceStakingUpgrade__factory: GovernanceStakingUpgrade__factory, + interfaces: index$9 +}); + +const _abi$c = [ + { + inputs: [ + { + internalType: "bytes32", + name: "salt", + type: "bytes32" + }, + { + internalType: "address", + name: "implementationContract", + type: "address" + }, + { + internalType: "bytes", + name: "metamorphicContractInitializationCalldata", + type: "bytes" + } + ], + name: "deployMetamorphicContractFromExistingImplementation", + outputs: [ + { + internalType: "address", + name: "metamorphicContractAddress", + type: "address" + } + ], + stateMutability: "payable", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes32", + name: "salt", + type: "bytes32" + } + ], + name: "findMetamorphicContractAddress", + outputs: [ + { + internalType: "address", + name: "metamorphicContractAddress", + type: "address" + } + ], + stateMutability: "view", + type: "function" + } +]; +class IMetamorphicContractFactory__factory { + static createInterface() { + return new Interface(_abi$c); + } + static connect(address, runner) { + return new Contract( + address, + _abi$c, + runner + ); + } +} +IMetamorphicContractFactory__factory.abi = _abi$c; + +var index$7 = /*#__PURE__*/Object.freeze({ + __proto__: null, + IMetamorphicContractFactory__factory: IMetamorphicContractFactory__factory +}); + +const _abi$b = [ + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "num", + type: "uint256" + } + ], + name: "MockExecuted", + type: "event" + }, + { + inputs: [], + name: "emergencyStop", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "executeProposal", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; +const _bytecode$b = "0x608060405234801561001057600080fd5b5060c08061001f6000396000f3fe6080604052348015600f57600080fd5b506004361060325760003560e01c8063373058b814603757806363a599a414603f575b600080fd5b603d6045565b005b603d607d565b7f2ff532ec74fd1130db9b7b6800e0992b2363095b00331a891a27edfab97c45406001604051607391906081565b60405180910390a1565b6000ff5b9081526020019056fea264697066735822122018779fa63005d6573862657b4a5cd55f75b705b28a7ff69222461665b78f408a64736f6c634300060c0033"; +const isSuperArgs$b = (xs) => xs.length > 1; +class InitialProposal__factory extends ContractFactory { + constructor(...args) { + if (isSuperArgs$b(args)) { + super(...args); + } else { + super(_abi$b, _bytecode$b, args[0]); + } + } + getDeployTransaction(overrides) { + return super.getDeployTransaction(overrides || {}); + } + deploy(overrides) { + return super.deploy(overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new Interface(_abi$b); + } + static connect(address, runner) { + return new Contract(address, _abi$b, runner); + } +} +InitialProposal__factory.bytecode = _bytecode$b; +InitialProposal__factory.abi = _abi$b; + +const _abi$a = [ + { + inputs: [], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "num", + type: "uint256" + } + ], + name: "MockExecuted", + type: "event" + }, + { + inputs: [], + name: "deployer", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "emergencyStop", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "executeProposal", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; +const _bytecode$a = "0x60a060405234801561001057600080fd5b5033606081901b6080526102746100366000398061012952806101b052506102746000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063373058b81461004657806363a599a414610050578063d5f3948814610058575b600080fd5b61004e610076565b005b61004e6101aa565b6100606101ae565b60405161006d9190610211565b60405180910390f35b6040516370a0823160e01b81527377777feddddffc19ff86db637967013e6c6a116c9060009082906370a08231906100b2903090600401610211565b60206040518083038186803b1580156100ca57600080fd5b505afa1580156100de573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061010291906101f9565b60405163a9059cbb60e01b81529091506001600160a01b0383169063a9059cbb90610153907f0000000000000000000000000000000000000000000000000000000000000000908590600401610225565b602060405180830381600087803b15801561016d57600080fd5b505af1158015610181573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101a591906101d2565b505050565b6000ff5b7f000000000000000000000000000000000000000000000000000000000000000081565b6000602082840312156101e3578081fd5b815180151581146101f2578182fd5b9392505050565b60006020828403121561020a578081fd5b5051919050565b6001600160a01b0391909116815260200190565b6001600160a01b0392909216825260208201526040019056fea2646970667358221220c120adf2a3856eb39e4d2305abf19175fb5f11d87cd96e5c70ce2a9f702ba53664736f6c634300060c0033"; +const isSuperArgs$a = (xs) => xs.length > 1; +class MaliciousProposal__factory extends ContractFactory { + constructor(...args) { + if (isSuperArgs$a(args)) { + super(...args); + } else { + super(_abi$a, _bytecode$a, args[0]); + } + } + getDeployTransaction(overrides) { + return super.getDeployTransaction(overrides || {}); + } + deploy(overrides) { + return super.deploy(overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new Interface(_abi$a); + } + static connect(address, runner) { + return new Contract(address, _abi$a, runner); + } +} +MaliciousProposal__factory.bytecode = _bytecode$a; +MaliciousProposal__factory.abi = _abi$a; + +var index$6 = /*#__PURE__*/Object.freeze({ + __proto__: null, + InitialProposal__factory: InitialProposal__factory, + MaliciousProposal__factory: MaliciousProposal__factory +}); + +var index$5 = /*#__PURE__*/Object.freeze({ + __proto__: null, + mockProposalsSol: index$6 +}); + +const _abi$9 = [ + { + inputs: [ + { + internalType: "address", + name: "_logic", + type: "address" + }, + { + internalType: "address", + name: "_admin", + type: "address" + }, + { + internalType: "bytes", + name: "_data", + type: "bytes" + } + ], + stateMutability: "payable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "previousAdmin", + type: "address" + }, + { + indexed: false, + internalType: "address", + name: "newAdmin", + type: "address" + } + ], + name: "AdminChanged", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "implementation", + type: "address" + } + ], + name: "Upgraded", + type: "event" + }, + { + stateMutability: "payable", + type: "fallback" + }, + { + inputs: [], + name: "admin", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "newAdmin", + type: "address" + } + ], + name: "changeAdmin", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "implementation", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "newImplementation", + type: "address" + } + ], + name: "upgradeTo", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "newImplementation", + type: "address" + }, + { + internalType: "bytes", + name: "data", + type: "bytes" + } + ], + name: "upgradeToAndCall", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + stateMutability: "payable", + type: "receive" + } +]; +const _bytecode$9 = "0x60806040526040516108403803806108408339818101604052606081101561002657600080fd5b8151602083015160408085018051915193959294830192918464010000000082111561005157600080fd5b90830190602082018581111561006657600080fd5b825164010000000081118282018810171561008057600080fd5b82525081516020918201929091019080838360005b838110156100ad578181015183820152602001610095565b50505050905090810190601f1680156100da5780820380516001836020036101000a031916815260200191505b50604052508491508390508282816100f1826101c5565b8051156101a9576000826001600160a01b0316826040518082805190602001908083835b602083106101345780518252601f199092019160209182019101610115565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610194576040519150601f19603f3d011682016040523d82523d6000602084013e610199565b606091505b50509050806101a757600080fd5b505b506101b19050565b6101ba82610237565b505050505050610261565b6101d88161025b60201b6103b41760201c565b6102135760405162461bcd60e51b815260040180806020018281038252603681526020018061080a6036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b3b151590565b61059a806102706000396000f3fe60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100985780635c60da1b146101185780638f28397014610149578063f851a4401461017c5761005d565b3661005d5761005b610191565b005b61005b610191565b34801561007157600080fd5b5061005b6004803603602081101561008857600080fd5b50356001600160a01b03166101ab565b61005b600480360360408110156100ae57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100d957600080fd5b8201836020820111156100eb57600080fd5b8035906020019184600183028401116401000000008311171561010d57600080fd5b5090925090506101e5565b34801561012457600080fd5b5061012d610292565b604080516001600160a01b039092168252519081900360200190f35b34801561015557600080fd5b5061005b6004803603602081101561016c57600080fd5b50356001600160a01b03166102cf565b34801561018857600080fd5b5061012d610389565b6101996101a9565b6101a96101a46103ba565b6103df565b565b6101b3610403565b6001600160a01b0316336001600160a01b031614156101da576101d581610428565b6101e2565b6101e2610191565b50565b6101ed610403565b6001600160a01b0316336001600160a01b031614156102855761020f83610428565b6000836001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d806000811461026c576040519150601f19603f3d011682016040523d82523d6000602084013e610271565b606091505b505090508061027f57600080fd5b5061028d565b61028d610191565b505050565b600061029c610403565b6001600160a01b0316336001600160a01b031614156102c4576102bd6103ba565b90506102cc565b6102cc610191565b90565b6102d7610403565b6001600160a01b0316336001600160a01b031614156101da576001600160a01b0381166103355760405162461bcd60e51b815260040180806020018281038252603a8152602001806104f5603a913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61035e610403565b604080516001600160a01b03928316815291841660208301528051918290030190a16101d581610468565b6000610393610403565b6001600160a01b0316336001600160a01b031614156102c4576102bd610403565b3b151590565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e8080156103fe573d6000f35b3d6000fd5b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b6104318161048c565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b610495816103b4565b6104d05760405162461bcd60e51b815260040180806020018281038252603681526020018061052f6036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5556fe5472616e73706172656e745570677261646561626c6550726f78793a206e65772061646d696e20697320746865207a65726f20616464726573735570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374a26469706673582212203c0c6456361fbff816ff53c5547d39ad0e807130f877d2661772f7bffc95b82764736f6c634300060c00335570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374"; +const isSuperArgs$9 = (xs) => xs.length > 1; +let AdminUpgradeableProxy__factory$1 = class AdminUpgradeableProxy__factory extends ContractFactory { + constructor(...args) { + if (isSuperArgs$9(args)) { + super(...args); + } else { + super(_abi$9, _bytecode$9, args[0]); + } + } + getDeployTransaction(_logic, _admin, _data, overrides) { + return super.getDeployTransaction(_logic, _admin, _data, overrides || {}); + } + deploy(_logic, _admin, _data, overrides) { + return super.deploy(_logic, _admin, _data, overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new Interface(_abi$9); + } + static connect(address, runner) { + return new Contract( + address, + _abi$9, + runner + ); + } +}; +AdminUpgradeableProxy__factory$1.bytecode = _bytecode$9; +AdminUpgradeableProxy__factory$1.abi = _abi$9; + +const _abi$8 = [ + { + inputs: [ + { + internalType: "address", + name: "stakingRewardsAddress", + type: "address" + }, + { + internalType: "address", + name: "gasCompLogic", + type: "address" + }, + { + internalType: "address", + name: "userVaultAddress", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + } + ], + name: "Delegated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "id", + type: "uint256" + }, + { + indexed: true, + internalType: "address", + name: "proposer", + type: "address" + }, + { + indexed: false, + internalType: "address", + name: "target", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "startTime", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "endTime", + type: "uint256" + }, + { + indexed: false, + internalType: "string", + name: "description", + type: "string" + } + ], + name: "ProposalCreated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "proposalId", + type: "uint256" + } + ], + name: "ProposalExecuted", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address" + }, + { + indexed: true, + internalType: "bytes", + name: "errorData", + type: "bytes" + } + ], + name: "RewardUpdateFailed", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address" + } + ], + name: "RewardUpdateSuccessful", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + } + ], + name: "Undelegated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + indexed: true, + internalType: "address", + name: "voter", + type: "address" + }, + { + indexed: true, + internalType: "bool", + name: "support", + type: "bool" + }, + { + indexed: false, + internalType: "uint256", + name: "votes", + type: "uint256" + } + ], + name: "Voted", + type: "event" + }, + { + inputs: [], + name: "CLOSING_PERIOD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "EXECUTION_DELAY", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "EXECUTION_EXPIRATION", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "PROPOSAL_THRESHOLD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "QUORUM_VOTES", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "Staking", + outputs: [ + { + internalType: "contract ITornadoStakingRewards", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "VOTE_EXTEND_TIME", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "VOTING_DELAY", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "VOTING_PERIOD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "canWithdrawAfter", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address[]", + name: "from", + type: "address[]" + }, + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + internalType: "bool", + name: "support", + type: "bool" + } + ], + name: "castDelegatedVote", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + internalType: "bool", + name: "support", + type: "bool" + } + ], + name: "castVote", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + } + ], + name: "checkIfQuorumReached", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address" + } + ], + name: "delegate", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "delegatedTo", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + } + ], + name: "execute", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [], + name: "gasCompensationVault", + outputs: [ + { + internalType: "contract IGasCompensationVault", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + internalType: "address", + name: "voter", + type: "address" + } + ], + name: "getReceipt", + outputs: [ + { + components: [ + { + internalType: "bool", + name: "hasVoted", + type: "bool" + }, + { + internalType: "bool", + name: "support", + type: "bool" + }, + { + internalType: "uint256", + name: "votes", + type: "uint256" + } + ], + internalType: "struct Governance.Receipt", + name: "", + type: "tuple" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "hasAccountVoted", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_torn", + type: "address" + } + ], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "latestProposalIds", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256" + }, + { + internalType: "uint8", + name: "v", + type: "uint8" + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32" + } + ], + name: "lock", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "lockWithApproval", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "lockedBalance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + name: "proposalCodehashes", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "proposalCount", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + name: "proposals", + outputs: [ + { + internalType: "address", + name: "proposer", + type: "address" + }, + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "uint256", + name: "startTime", + type: "uint256" + }, + { + internalType: "uint256", + name: "endTime", + type: "uint256" + }, + { + internalType: "uint256", + name: "forVotes", + type: "uint256" + }, + { + internalType: "uint256", + name: "againstVotes", + type: "uint256" + }, + { + internalType: "bool", + name: "executed", + type: "bool" + }, + { + internalType: "bool", + name: "extended", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "string", + name: "description", + type: "string" + } + ], + name: "propose", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address" + }, + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "string", + name: "description", + type: "string" + } + ], + name: "proposeByDelegate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "returnMultisigAddress", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "pure", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "closingPeriod", + type: "uint256" + } + ], + name: "setClosingPeriod", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "executionDelay", + type: "uint256" + } + ], + name: "setExecutionDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "executionExpiration", + type: "uint256" + } + ], + name: "setExecutionExpiration", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "gasCompensationsLimit", + type: "uint256" + } + ], + name: "setGasCompensations", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalThreshold", + type: "uint256" + } + ], + name: "setProposalThreshold", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "quorumVotes", + type: "uint256" + } + ], + name: "setQuorumVotes", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "voteExtendTime", + type: "uint256" + } + ], + name: "setVoteExtendTime", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "votingDelay", + type: "uint256" + } + ], + name: "setVotingDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "votingPeriod", + type: "uint256" + } + ], + name: "setVotingPeriod", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + } + ], + name: "state", + outputs: [ + { + internalType: "enum Governance.ProposalState", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "torn", + outputs: [ + { + internalType: "contract TORN", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "undelegate", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "unlock", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "userVault", + outputs: [ + { + internalType: "contract ITornadoVault", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "version", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "pure", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "withdrawFromHelper", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + stateMutability: "payable", + type: "receive" + } +]; +const _bytecode$8 = "0x60e06040523480156200001157600080fd5b50604051620034343803806200343483398101604081905262000034916200016b565b82828281818181600060019054906101000a900460ff16806200005c57506200005c62000124565b806200006b575060005460ff16155b620000935760405162461bcd60e51b81526004016200008a90620001be565b60405180910390fd5b600054610100900460ff16158015620000bf576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b03191661dead179055620000dd6200012a565b8015620000f0576000805461ff00191690555b506001600160601b0319606091821b811660805291811b821660a0529590951b90941660c052506200022595505050505050565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b60008060006060848603121562000180578283fd5b83516200018d816200020c565b6020850151909350620001a0816200020c565b6040850151909250620001b3816200020c565b809150509250925092565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b6001600160a01b03811681146200022257600080fd5b50565b60805160601c60a05160601c60c05160601c6131ac6200028860003980610d1352806110d452806116c752806117f85250806109105280610eca5280610fc252806116435280611d6d52508061105d5280611c1652806124f152506131ac6000f3fe6080604052600436106102815760003560e01c80639daafec71161014f578063d6f0948c116100c1578063ea0217cf1161007a578063ea0217cf14610755578063ece40cc114610775578063ef3f8bb114610795578063f0b76892146107b5578063f57df22e146107d5578063fe0d94c1146107ea57610288565b8063d6f0948c14610693578063da35c664146106b3578063e01f5237146106c8578063e23a9a52146106e8578063e4917d9f14610715578063e525aa081461073557610288565b8063b54426c811610113578063b54426c8146105e9578063b859f11b14610609578063c0c0e82014610629578063c4d66de814610649578063ce25d71c14610669578063d6159fe51461067e57610288565b80639daafec714610575578063a6c266031461058a578063a72edda31461059f578063adf898a4146105bf578063b1610d7e146105d457610288565b80635c19a95c116101f357806370b0f660116101ac57806370b0f660146104cb5780638b34a960146104eb57806392ab89bb14610500578063932d5157146105155780639a9e3b6e146105355780639ae697bf1461055557610288565b80635c19a95c146104215780636198e3391461044157806365da126414610461578063671dd275146104815780636a661755146104965780636dc2dc6c146104ab57610288565b806332687ec11161024557806332687ec11461035b57806337f135d7146103885780633e4f49e61461039d57806354fd4d50146103ca578063587a6ecb146103ec57806358e9fff01461040157610288565b8063013cf08b1461028d57806302ec8f9e146102ca57806315373e3d146102ec57806317977c611461030c57806324b0435f1461033957610288565b3661028857005b600080fd5b34801561029957600080fd5b506102ad6102a83660046128e1565b6107fd565b6040516102c19897969594939291906129ed565b60405180910390f35b3480156102d657600080fd5b506102ea6102e53660046128e1565b610862565b005b3480156102f857600080fd5b506102ea610307366004612925565b61088f565b34801561031857600080fd5b5061032c6103273660046126d8565b610992565b6040516102c19190612ab6565b34801561034557600080fd5b5061034e6109a4565b6040516102c1919061299c565b34801561036757600080fd5b5061037b6103763660046128e1565b6109bc565b6040516102c19190612aab565b34801561039457600080fd5b5061032c610a0a565b3480156103a957600080fd5b506103bd6103b83660046128e1565b610a10565b6040516102c19190612abf565b3480156103d657600080fd5b506103df610b4c565b6040516102c19190612ad3565b3480156103f857600080fd5b5061032c610b75565b34801561040d57600080fd5b5061032c61041c3660046126f3565b610b7b565b34801561042d57600080fd5b506102ea61043c3660046126d8565b610bc9565b34801561044d57600080fd5b506102ea61045c3660046128e1565b610ceb565b34801561046d57600080fd5b5061034e61047c3660046126d8565b610e38565b34801561048d57600080fd5b5061032c610e53565b3480156104a257600080fd5b5061032c610e59565b3480156104b757600080fd5b506102ea6104c63660046128e1565b610e5f565b3480156104d757600080fd5b506102ea6104e63660046128e1565b610ea4565b3480156104f757600080fd5b5061034e610ec8565b34801561050c57600080fd5b506102ea610eec565b34801561052157600080fd5b506102ea6105303660046128e1565b610f73565b34801561054157600080fd5b506102ea6105503660046128e1565b611025565b34801561056157600080fd5b5061032c6105703660046126d8565b611049565b34801561058157600080fd5b5061034e61105b565b34801561059657600080fd5b5061032c61107f565b3480156105ab57600080fd5b5061032c6105ba3660046126d8565b611085565b3480156105cb57600080fd5b5061034e611097565b3480156105e057600080fd5b5061032c6110a6565b3480156105f557600080fd5b506102ea6106043660046128e1565b6110ac565b34801561061557600080fd5b506102ea610624366004612800565b6111f5565b34801561063557600080fd5b506102ea6106443660046128e1565b611243565b34801561065557600080fd5b506102ea6106643660046126d8565b611267565b34801561067557600080fd5b5061032c6114aa565b34801561068a57600080fd5b5061032c6114b0565b34801561069f57600080fd5b5061032c6106ae366004612753565b6114b6565b3480156106bf57600080fd5b5061032c6114cc565b3480156106d457600080fd5b5061032c6106e33660046128e1565b6114d6565b3480156106f457600080fd5b506107086107033660046128f9565b6114e8565b6040516102c191906130db565b34801561072157600080fd5b506102ea6107303660046128e1565b61155a565b34801561074157600080fd5b5061037b6107503660046128f9565b61157e565b34801561076157600080fd5b506102ea6107703660046128e1565b6115c1565b34801561078157600080fd5b506102ea6107903660046128e1565b6115e5565b3480156107a157600080fd5b506102ea6107b03660046128e1565b611609565b3480156107c157600080fd5b506102ea6107d03660046127a1565b61169b565b3480156107e157600080fd5b5061034e6117f6565b6102ea6107f83660046128e1565b61181a565b603d818154811061080a57fe5b600091825260209091206008909102018054600182015460028301546003840154600485015460058601546006909601546001600160a01b039586169750949093169491939092919060ff8082169161010090041688565b33301461088a5760405162461bcd60e51b815260040161088190612e49565b60405180910390fd5b603555565b3361089a833361157e565b1580156108ad57506108ab836109bc565b155b3332146108bb5760006108bf565b6152085b61ffff1681156109805760005a90506108d93387876118ac565b60006108f66127106108f0856108f05a8790611add565b90611b1f565b60405163a99ce80760e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a99ce8079061094790889085906004016129b0565b600060405180830381600087803b15801561096157600080fd5b505af1158015610975573d6000803e3d6000fd5b50505050505061098b565b61098b3386866118ac565b5050505050565b603e6020526000908152604090205481565b73b04e030140b30c27bcdfaafffa98c57d80eda7b490565b6000603554603d83815481106109ce57fe5b906000526020600020906008020160050154603d84815481106109ed57fe5b90600052602060002090600802016004015401101590505b919050565b60335481565b6000610a1a6114cc565b8211158015610a295750600082115b610a455760405162461bcd60e51b815260040161088190612fa6565b6000603d8381548110610a5457fe5b906000526020600020906008020190508060020154610a71611b44565b11610a80576000915050610a05565b8060030154610a8d611b44565b11610a9c576001915050610a05565b80600501548160040154111580610abe57506035548160050154826004015401105b15610acd576002915050610a05565b600681015460ff1615610ae4576005915050610a05565b610b036034546108f06033548460030154611b1f90919063ffffffff16565b610b0b611b44565b10610b1a576006915050610a05565b6033546003820154610b2b91611b1f565b610b33611b44565b10610b42576004915050610a05565b6003915050610a05565b60408051808201909152600f81526e0d0b9c185d18da0b595e1c1b1bda5d608a1b602082015290565b603a5481565b6001600160a01b038381166000908152603c60205260408120549091163314610bb65760405162461bcd60e51b815260040161088190613036565b610bc1848484611b48565b949350505050565b336000818152603c60205260409020546001600160a01b039081169190831614801590610bff57506001600160a01b0382163014155b8015610c1357506001600160a01b03821615155b8015610c315750806001600160a01b0316826001600160a01b031614155b610c4d5760405162461bcd60e51b815260040161088190612e80565b6001600160a01b03811615610c93576040516001600160a01b0382169033907f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7290600090a35b336000818152603c602052604080822080546001600160a01b0319166001600160a01b03871690811790915590519092917f4bc154dd35d6a5cb9206482ecb473cdbf2473006d6bce728b9cc0741bcc59ea291a35050565b336000818152603b60205260409081902054905163e113335f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163e113335f91610d489185916004016129b0565b600060405180830381600087803b158015610d6257600080fd5b505af1925050508015610d73575060015b610df6573d808015610da1576040519150601f19603f3d011682016040523d82523d6000602084013e610da6565b606091505b5080604051610db59190612980565b604051908190038120906001600160a01b038416907f5a6216e80d86159dc87dcebfe519205477a94005b7d9d6bd313606450a5344f690600090a350610e2b565b6040516001600160a01b038216907f9b227b0c1ae308b34f72d4fdf9a1943fa769ff4814933595e7bc5230a117698b90600090a25b610e3482611b70565b5050565b603c602052600090815260409020546001600160a01b031681565b60355481565b60345481565b333014610e7e5760405162461bcd60e51b815260040161088190612e49565b6033548110610e9f5760405162461bcd60e51b815260040161088190612d6d565b603a55565b333014610ec35760405162461bcd60e51b815260040161088190612e49565b603755565b7f000000000000000000000000000000000000000000000000000000000000000081565b336000908152603c60205260409020546001600160a01b031680610f225760405162461bcd60e51b815260040161088190612fec565b336000818152603c602052604080822080546001600160a01b0319169055516001600160a01b03841692917f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7291a350565b610f7b6109a4565b6001600160a01b0316336001600160a01b031614610fab5760405162461bcd60e51b815260040161088190612f7f565b604051633a08bde160e21b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e822f78490610ff7908490600401612ab6565b600060405180830381600087803b15801561101157600080fd5b505af115801561098b573d6000803e3d6000fd5b3330146110445760405162461bcd60e51b815260040161088190612e49565b603455565b603b6020526000908152604090205481565b7f000000000000000000000000000000000000000000000000000000000000000081565b60365481565b603f6020526000908152604090205481565b6040546001600160a01b031681565b60385481565b336000818152603b60205260409081902054905163e113335f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163e113335f916111099185916004016129b0565b600060405180830381600087803b15801561112357600080fd5b505af1925050508015611134575060015b6111b7573d808015611162576040519150601f19603f3d011682016040523d82523d6000602084013e611167565b606091505b50806040516111769190612980565b604051908190038120906001600160a01b038416907f5a6216e80d86159dc87dcebfe519205477a94005b7d9d6bd313606450a5344f690600090a3506111ec565b6040516001600160a01b038216907f9b227b0c1ae308b34f72d4fdf9a1943fa769ff4814933595e7bc5230a117698b90600090a25b610e3482611c54565b60008351116112165760405162461bcd60e51b815260040161088190612e1f565b61123e838383611226863361157e565b1580156112395750611237866109bc565b155b611c5e565b505050565b3330146112625760405162461bcd60e51b815260040161088190612e49565b603955565b600054610100900460ff16806112805750611280611ea1565b8061128e575060005460ff16155b6112aa5760405162461bcd60e51b815260040161088190612f31565b600054610100900460ff161580156112d5576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b038085166001600160a01b03199283161783558251610100818101855230825261dead602083019081526000958301868152606084018781526080850188815260a08601898152600160c0880181815260e089018c8152603d80549384018155909c52975160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b16928c169290921790915594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc4860180549190991699169890981790965590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc5830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc682015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc784015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc8830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990910180549351151590920261ff001991151560ff199094169390931716919091179055611495611ea7565b8015610e34576000805461ff00191690555050565b60395481565b60375481565b60006114c3338484611b48565b90505b92915050565b603d546000190190565b60416020526000908152604090205481565b6114f06125d2565b603d83815481106114fd57fe5b600091825260208083206001600160a01b0395909516835260089190910290930160070183526040908190208151606081018352815460ff8082161515835261010090910416151594810194909452600101549083015250919050565b3330146115795760405162461bcd60e51b815260040161088190612e49565b603355565b6000603d838154811061158d57fe5b600091825260208083206001600160a01b03861684526007600890930201919091019052604090205460ff16905092915050565b3330146115e05760405162461bcd60e51b815260040161088190612e49565b603855565b3330146116045760405162461bcd60e51b815260040161088190612e49565b603655565b6116116109a4565b6001600160a01b0316336001600160a01b0316146116415760405162461bcd60e51b815260040161088190612f7f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108fc6116788347611ee8565b6040518115909202916000818181858888f1935050505061169857600080fd5b50565b6001600160a01b038087166000908152603b60205260409081902054905163e113335f60e01b815288927f0000000000000000000000000000000000000000000000000000000000000000169163e113335f916116fc9185916004016129b0565b600060405180830381600087803b15801561171657600080fd5b505af1925050508015611727575060015b6117aa573d808015611755576040519150601f19603f3d011682016040523d82523d6000602084013e61175a565b606091505b50806040516117699190612980565b604051908190038120906001600160a01b038416907f5a6216e80d86159dc87dcebfe519205477a94005b7d9d6bd313606450a5344f690600090a3506117df565b6040516001600160a01b038216907f9b227b0c1ae308b34f72d4fdf9a1943fa769ff4814933595e7bc5230a117698b90600090a25b6117ed878787878787611efe565b50505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b3330141561183a5760405162461bcd60e51b815260040161088190612c36565b6000603d828154811061184957fe5b6000918252602080832060016008909302019182015485845260419091526040909220549092506001600160a01b0390911690813f90811461189d5760405162461bcd60e51b815260040161088190612d17565b6118a684611f7e565b50505050565b60016118b783610a10565b60068111156118c257fe5b146118df5760405162461bcd60e51b815260040161088190612bef565b6000603d83815481106118ee57fe5b600091825260208083206001600160a01b038816845260076008909302019182018152604080842060058401546004850154603b90945291909420549294501015908061194d5760405162461bcd60e51b815260040161088190612eb7565b825460ff161561199c578254610100900460ff1615611983576001830154600485015461197991611add565b600485015561199c565b6001830154600585015461199691611add565b60058501555b84156119bb5760048401546119b19082611b1f565b60048501556119d0565b60058401546119ca9082611b1f565b60058501555b6006840154610100900460ff16158015611a0057506039546119fe6119f3611b44565b600387015490611add565b105b15611a44576005840154600485015411158215158114611a425760068501805461ff001916610100179055603a546003860154611a3c91611b1f565b60038601555b505b8254600160ff19909116811761ff001916610100871515021784558301819055603354603454603a546003870154611a8f938b93611a8a9391926108f092839190611b1f565b612110565b841515876001600160a01b0316877f7c2de587c00d75474a0c6c6fa96fd3b45dc974cd4e8a75f712bb84c950dce1b584604051611acc9190612ab6565b60405180910390a450505050505050565b60006114c383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061214d565b6000828201838110156114c35760405162461bcd60e51b815260040161088190612ce0565b4290565b6000611b55848484612179565b6000818152604160205260409020933f909355509092915050565b336000908152603f6020526040902054611b88611b44565b11611ba55760405162461bcd60e51b815260040161088190612db1565b60408051808201825260208082527f476f7665726e616e63653a20696e73756666696369656e742062616c616e636581830152336000908152603b9091529190912054611bf391839061214d565b336000818152603b6020526040908190209290925590516391fe357360e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316916391fe357391610ff7919085906004016129b0565b61169833826124c7565b3381328214611c6e576000611c72565b6152085b61ffff168115611ddd5760005a905060005b8851811015611d3b576000898281518110611c9b57fe5b6020908102919091018101516001600160a01b038082166000908152603c90935260409092205490925016331480611cdb57506001600160a01b03811633145b611cf75760405162461bcd60e51b815260040161088190613036565b861580611d0b5750611d09898261157e565b155b611d275760405162461bcd60e51b8152600401610881906130a4565b611d32818a8a6118ac565b50600101611c84565b506000611d536127106108f0856108f05a8790611add565b60405163a99ce80760e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a99ce80790611da490889085906004016129b0565b600060405180830381600087803b158015611dbe57600080fd5b505af1158015611dd2573d6000803e3d6000fd5b5050505050506117ed565b60005b8751811015611e97576000888281518110611df757fe5b6020908102919091018101516001600160a01b038082166000908152603c90935260409092205490925016331480611e3757506001600160a01b03811633145b611e535760405162461bcd60e51b815260040161088190613036565b851580611e675750611e65888261157e565b155b611e835760405162461bcd60e51b8152600401610881906130a4565b611e8e8189896118ac565b50600101611de0565b5050505050505050565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b6000818310611ef757816114c3565b5090919050565b60408054905163d505accf60e01b81526001600160a01b039091169063d505accf90611f3a90899030908a908a908a908a908a90600401612a33565b600060405180830381600087803b158015611f5457600080fd5b505af1158015611f68573d6000803e3d6000fd5b50505050611f7686866124c7565b505050505050565b6004611f8982610a10565b6006811115611f9457fe5b14611fb15760405162461bcd60e51b815260040161088190612b29565b6000603d8281548110611fc057fe5b600091825260209091206006600890920201908101805460ff191660019081179091558101549091506001600160a01b0316611ffb816125cc565b6120175760405162461bcd60e51b815260040161088190612ae6565b60408051600481526024810182526020810180516001600160e01b03166306e60b1760e31b17905290516000916060916001600160a01b0385169161205b91612980565b600060405180830381855af49150503d8060008114612096576040519150601f19603f3d011682016040523d82523d6000602084013e61209b565b606091505b5091509150816120de578051156120c6578060405162461bcd60e51b81526004016108819190612ad3565b60405162461bcd60e51b81526004016108819061306d565b60405185907f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f90600090a25050505050565b6001600160a01b0382166000908152603f6020526040902054811115610e34576001600160a01b03919091166000908152603f6020526040902055565b600081848411156121715760405162461bcd60e51b81526004016108819190612ad3565b505050900390565b6001600160a01b0383166000908152603b60205260408120546036548110156121b45760405162461bcd60e51b815260040161088190612c83565b6121bd846125cc565b6121d95760405162461bcd60e51b815260040161088190612eee565b6001600160a01b0385166000908152603e6020526040902054801561224b57600061220382610a10565b9050600181600681111561221357fe5b1415801561222d5750600081600681111561222a57fe5b14155b6122495760405162461bcd60e51b815260040161088190612b74565b505b600061225b6037546108f0611b44565b9050600061227460385483611b1f90919063ffffffff16565b905061227e6125f2565b506040805161010080820183526001600160a01b03808c1683528a8116602084019081529383018681526060840186815260006080860181815260a0870182815260c0880183815260e08901848152603d80546001810182559086528a5160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b166001600160a01b03199384161790559b517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc48d01805491909a1691161790975594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc58a015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc6890155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc788015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc887015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990950180549251151590930261ff001995151560ff199093169290921794909416179055906124306114cc565b82516001600160a01b03166000908152603e60205260409020819055603354603454603a54929350612472928d92611a8a9290916108f0919082908a90611b1f565b896001600160a01b0316817f90ec05050aa23d54ba425e926fe646c318e85825bc400b13a46010abe86eb2f08b87878d6040516124b29493929190612a74565b60405180910390a39998505050505050505050565b6040805490516323b872dd60e01b81526001600160a01b03909116906323b872dd9061251b9085907f00000000000000000000000000000000000000000000000000000000000000009086906004016129c9565b602060405180830381600087803b15801561253557600080fd5b505af1158015612549573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061256d91906128c5565b6125895760405162461bcd60e51b815260040161088190612de8565b6001600160a01b0382166000908152603b60205260409020546125ac9082611b1f565b6001600160a01b039092166000908152603b602052604090209190915550565b3b151590565b604080516060810182526000808252602082018190529181019190915290565b60405180610100016040528060006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000151581526020016000151581525090565b80356001600160a01b03811681146114c657600080fd5b80356114c681613168565b600082601f83011261267f578081fd5b813567ffffffffffffffff811115612695578182fd5b6126a8601f8201601f1916602001613100565b91508082528360208285010111156126bf57600080fd5b8060208401602084013760009082016020015292915050565b6000602082840312156126e9578081fd5b6114c3838361264d565b600080600060608486031215612707578182fd5b833561271281613153565b9250602084013561272281613153565b9150604084013567ffffffffffffffff81111561273d578182fd5b6127498682870161266f565b9150509250925092565b60008060408385031215612765578182fd5b823561277081613153565b9150602083013567ffffffffffffffff81111561278b578182fd5b6127978582860161266f565b9150509250929050565b60008060008060008060c087890312156127b9578182fd5b6127c3888861264d565b95506020870135945060408701359350606087013560ff811681146127e6578283fd5b9598949750929560808101359460a0909101359350915050565b600080600060608486031215612814578283fd5b833567ffffffffffffffff8082111561282b578485fd5b818601915086601f83011261283e578485fd5b81358181111561284c578586fd5b6020915081810261285e838201613100565b8281528381019085850183870186018c101561287857898afd5b8996505b848710156128a25761288e8c8261264d565b83526001969096019591850191850161287c565b50975050505085013592506128bc90508560408601612664565b90509250925092565b6000602082840312156128d6578081fd5b81516114c381613168565b6000602082840312156128f2578081fd5b5035919050565b6000806040838503121561290b578182fd5b8235915061291c846020850161264d565b90509250929050565b60008060408385031215612937578182fd5b82359150602083013561294981613168565b809150509250929050565b6000815180845261296c816020860160208601613127565b601f01601f19169290920160200192915050565b60008251612992818460208701613127565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03988916815296909716602087015260408601949094526060850192909252608084015260a0830152151560c082015290151560e08201526101000190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b600060018060a01b038616825284602083015283604083015260806060830152612aa16080830184612954565b9695505050505050565b901515815260200190565b90815260200190565b6020810160078310612acd57fe5b91905290565b6000602082526114c36020830184612954565b60208082526023908201527f476f7665726e616e63653a3a657865637574653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602b908201527f476f7665726e616e63653a3a657865637574653a20696e76616c69642070726f60408201526a706f73616c20737461746560a81b606082015260800190565b60208082526055908201527f476f7665726e616e63653a3a70726f706f73653a206f6e65206c69766520707260408201527f6f706f73616c207065722070726f706f7365722c20666f756e6420616e20616c6060820152741c9958591e481858dd1a5d99481c1c9bdc1bdcd85b605a1b608082015260a00190565b60208082526027908201527f476f7665726e616e63653a3a5f63617374566f74653a20766f74696e672069736040820152660818db1bdcd95960ca1b606082015260800190565b6020808252602d908201527f476f7665726e616e63653a3a70726f706f73653a2070736575646f2d6578746560408201526c393730b610333ab731ba34b7b760991b606082015260800190565b6020808252603c908201527f476f7665726e616e63653a3a70726f706f73653a2070726f706f73657220766f60408201527f7465732062656c6f772070726f706f73616c207468726573686f6c6400000000606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526036908201527f476f7665726e616e63653a3a70726f706f73653a206d6574616d6f72706869636040820152750818dbdb9d1c9858dd1cc81b9bdd08185b1b1bddd95960521b606082015260800190565b60208082526024908201527f476f7665726e616e63653a20696e636f727265637420766f7465457874656e6460408201526354696d6560e01b606082015260800190565b6020808252601d908201527f476f7665726e616e63653a20746f6b656e7320617265206c6f636b6564000000604082015260600190565b60208082526019908201527f544f524e3a207472616e7366657246726f6d206661696c656400000000000000604082015260600190565b60208082526010908201526f43616e206e6f7420626520656d70747960801b604082015260600190565b60208082526018908201527f476f7665726e616e63653a20756e617574686f72697a65640000000000000000604082015260600190565b6020808252601d908201527f476f7665726e616e63653a20696e76616c69642064656c656761746565000000604082015260600190565b60208082526018908201527f476f7665726e616e63653a2062616c616e636520697320300000000000000000604082015260600190565b60208082526023908201527f476f7665726e616e63653a3a70726f706f73653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252600d908201526c6f6e6c79206d756c746973696760981b604082015260600190565b60208082526026908201527f476f7665726e616e63653a3a73746174653a20696e76616c69642070726f706f6040820152651cd85b081a5960d21b606082015260800190565b6020808252602a908201527f476f7665726e616e63653a20746f6b656e732061726520616c726561647920756040820152691b99195b1959d85d195960b21b606082015260800190565b6020808252601a908201527f476f7665726e616e63653a206e6f7420617574686f72697a6564000000000000604082015260600190565b60208082526019908201527f50726f706f73616c20657865637574696f6e206661696c656400000000000000604082015260600190565b60208082526019908201527f476f7665726e616e63653a20766f74656420616c726561647900000000000000604082015260600190565b8151151581526020808301511515908201526040918201519181019190915260600190565b60405181810167ffffffffffffffff8111828210171561311f57600080fd5b604052919050565b60005b8381101561314257818101518382015260200161312a565b838111156118a65750506000910152565b6001600160a01b038116811461169857600080fd5b801515811461169857600080fdfea2646970667358221220b75004153b6c8b4905c018daca78cb0fa6d3859298be55252bcf6ba75ea68d0e64736f6c634300060c0033"; +const isSuperArgs$8 = (xs) => xs.length > 1; +class GovernanceExploitPatchUpgrade__factory extends ContractFactory { + constructor(...args) { + if (isSuperArgs$8(args)) { + super(...args); + } else { + super(_abi$8, _bytecode$8, args[0]); + } + } + getDeployTransaction(stakingRewardsAddress, gasCompLogic, userVaultAddress, overrides) { + return super.getDeployTransaction( + stakingRewardsAddress, + gasCompLogic, + userVaultAddress, + overrides || {} + ); + } + deploy(stakingRewardsAddress, gasCompLogic, userVaultAddress, overrides) { + return super.deploy( + stakingRewardsAddress, + gasCompLogic, + userVaultAddress, + overrides || {} + ); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new Interface(_abi$8); + } + static connect(address, runner) { + return new Contract( + address, + _abi$8, + runner + ); + } +} +GovernanceExploitPatchUpgrade__factory.bytecode = _bytecode$8; +GovernanceExploitPatchUpgrade__factory.abi = _abi$8; + +const _abi$7 = [ + { + inputs: [ + { + internalType: "address", + name: "_deployedStakingProxyContractAddress", + type: "address" + }, + { + internalType: "address", + name: "_deployedRelayerRegistryImplementationAddress", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + inputs: [], + name: "TORN", + outputs: [ + { + internalType: "contract IERC20", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "deployedRelayerRegistryImplementationAddress", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "deployedStakingProxyContractAddress", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "executeProposal", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "gasCompensationVaultAddress", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "governanceProxyAddress", + outputs: [ + { + internalType: "address payable", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "oldStakingProxyAddress", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "registryProxyAddress", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "userVaultAddress", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + } +]; +const _bytecode$7 = "0x60c060405234801561001057600080fd5b50604051613adb380380613adb83398101604081905261002f9161004d565b6001600160601b0319606092831b8116608052911b1660a05261009e565b6000806040838503121561005f578182fd5b825161006a81610086565b602084015190925061007b81610086565b809150509250929050565b6001600160a01b038116811461009b57600080fd5b50565b60805160601c60a05160601c613a056100d66000398061027a52806104985250806102f952806103f452806104bc5250613a056000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c8063373058b811610066578063373058b8146100ce5780634655478f146100d857806361697d64146100e05780636fc6091d146100e85780639b49989a146100f057610093565b80630cc784761461009857806313f32237146100b657806324044543146100be57806332bf1039146100c6575b600080fd5b6100a06100f8565b6040516100ad9190610542565b60405180910390f35b6100a0610110565b6100a0610128565b6100a0610140565b6100d6610158565b005b6100a061047e565b6100a0610496565b6100a06104ba565b6100a06104de565b7358e8dcc13be9780fc42e8723d8ead4cf46943df281565b732fc93484614a34f26f7970cbb94615ba109bb4bf81565b73fa4c1f3f7d5dd7c12a9adb82cd7dda542e3d59ef81565b7377777feddddffc19ff86db637967013e6c6a116c81565b6040516370a0823160e01b8152732fc93484614a34f26f7970cbb94615ba109bb4bf90819063f58073b1907377777feddddffc19ff86db637967013e6c6a116c906370a08231906101ad908590600401610542565b60206040518083038186803b1580156101c557600080fd5b505afa1580156101d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101fd919061052a565b6040518263ffffffff1660e01b81526004016102199190610592565b600060405180830381600087803b15801561023357600080fd5b505af1158015610247573d6000803e3d6000fd5b5050604051631b2ce7f360e11b81527358e8dcc13be9780fc42e8723d8ead4cf46943df29250633659cfe691506102a2907f000000000000000000000000000000000000000000000000000000000000000090600401610542565b600060405180830381600087803b1580156102bc57600080fd5b505af11580156102d0573d6000803e3d6000fd5b50505050735efda50f22d34f262c29268506c5fa42cb56a1ce6001600160a01b0316633659cfe67f000000000000000000000000000000000000000000000000000000000000000073fa4c1f3f7d5dd7c12a9adb82cd7dda542e3d59ef732f50508a8a3d323b91336fa3ea6ae50e55f3218560405161034e906104f6565b61035a93929190610556565b604051809103906000f080158015610376573d6000803e3d6000fd5b506040518263ffffffff1660e01b81526004016103939190610542565b600060405180830381600087803b1580156103ad57600080fd5b505af11580156103c1573d6000803e3d6000fd5b505060405163a9059cbb60e01b81527377777feddddffc19ff86db637967013e6c6a116c925063a9059cbb9150610428907f0000000000000000000000000000000000000000000000000000000000000000906913ecbccf7737e6b0000090600401610579565b602060405180830381600087803b15801561044257600080fd5b505af1158015610456573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061047a9190610503565b5050565b735efda50f22d34f262c29268506c5fa42cb56a1ce81565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b732f50508a8a3d323b91336fa3ea6ae50e55f3218581565b6134348061059c83390190565b600060208284031215610514578081fd5b81518015158114610523578182fd5b9392505050565b60006020828403121561053b578081fd5b5051919050565b6001600160a01b0391909116815260200190565b6001600160a01b0393841681529183166020830152909116604082015260600190565b6001600160a01b03929092168252602082015260400190565b9081526020019056fe60e06040523480156200001157600080fd5b50604051620034343803806200343483398101604081905262000034916200016b565b82828281818181600060019054906101000a900460ff16806200005c57506200005c62000124565b806200006b575060005460ff16155b620000935760405162461bcd60e51b81526004016200008a90620001be565b60405180910390fd5b600054610100900460ff16158015620000bf576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b03191661dead179055620000dd6200012a565b8015620000f0576000805461ff00191690555b506001600160601b0319606091821b811660805291811b821660a0529590951b90941660c052506200022595505050505050565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b60008060006060848603121562000180578283fd5b83516200018d816200020c565b6020850151909350620001a0816200020c565b6040850151909250620001b3816200020c565b809150509250925092565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b6001600160a01b03811681146200022257600080fd5b50565b60805160601c60a05160601c60c05160601c6131ac6200028860003980610d1352806110d452806116c752806117f85250806109105280610eca5280610fc252806116435280611d6d52508061105d5280611c1652806124f152506131ac6000f3fe6080604052600436106102815760003560e01c80639daafec71161014f578063d6f0948c116100c1578063ea0217cf1161007a578063ea0217cf14610755578063ece40cc114610775578063ef3f8bb114610795578063f0b76892146107b5578063f57df22e146107d5578063fe0d94c1146107ea57610288565b8063d6f0948c14610693578063da35c664146106b3578063e01f5237146106c8578063e23a9a52146106e8578063e4917d9f14610715578063e525aa081461073557610288565b8063b54426c811610113578063b54426c8146105e9578063b859f11b14610609578063c0c0e82014610629578063c4d66de814610649578063ce25d71c14610669578063d6159fe51461067e57610288565b80639daafec714610575578063a6c266031461058a578063a72edda31461059f578063adf898a4146105bf578063b1610d7e146105d457610288565b80635c19a95c116101f357806370b0f660116101ac57806370b0f660146104cb5780638b34a960146104eb57806392ab89bb14610500578063932d5157146105155780639a9e3b6e146105355780639ae697bf1461055557610288565b80635c19a95c146104215780636198e3391461044157806365da126414610461578063671dd275146104815780636a661755146104965780636dc2dc6c146104ab57610288565b806332687ec11161024557806332687ec11461035b57806337f135d7146103885780633e4f49e61461039d57806354fd4d50146103ca578063587a6ecb146103ec57806358e9fff01461040157610288565b8063013cf08b1461028d57806302ec8f9e146102ca57806315373e3d146102ec57806317977c611461030c57806324b0435f1461033957610288565b3661028857005b600080fd5b34801561029957600080fd5b506102ad6102a83660046128e1565b6107fd565b6040516102c19897969594939291906129ed565b60405180910390f35b3480156102d657600080fd5b506102ea6102e53660046128e1565b610862565b005b3480156102f857600080fd5b506102ea610307366004612925565b61088f565b34801561031857600080fd5b5061032c6103273660046126d8565b610992565b6040516102c19190612ab6565b34801561034557600080fd5b5061034e6109a4565b6040516102c1919061299c565b34801561036757600080fd5b5061037b6103763660046128e1565b6109bc565b6040516102c19190612aab565b34801561039457600080fd5b5061032c610a0a565b3480156103a957600080fd5b506103bd6103b83660046128e1565b610a10565b6040516102c19190612abf565b3480156103d657600080fd5b506103df610b4c565b6040516102c19190612ad3565b3480156103f857600080fd5b5061032c610b75565b34801561040d57600080fd5b5061032c61041c3660046126f3565b610b7b565b34801561042d57600080fd5b506102ea61043c3660046126d8565b610bc9565b34801561044d57600080fd5b506102ea61045c3660046128e1565b610ceb565b34801561046d57600080fd5b5061034e61047c3660046126d8565b610e38565b34801561048d57600080fd5b5061032c610e53565b3480156104a257600080fd5b5061032c610e59565b3480156104b757600080fd5b506102ea6104c63660046128e1565b610e5f565b3480156104d757600080fd5b506102ea6104e63660046128e1565b610ea4565b3480156104f757600080fd5b5061034e610ec8565b34801561050c57600080fd5b506102ea610eec565b34801561052157600080fd5b506102ea6105303660046128e1565b610f73565b34801561054157600080fd5b506102ea6105503660046128e1565b611025565b34801561056157600080fd5b5061032c6105703660046126d8565b611049565b34801561058157600080fd5b5061034e61105b565b34801561059657600080fd5b5061032c61107f565b3480156105ab57600080fd5b5061032c6105ba3660046126d8565b611085565b3480156105cb57600080fd5b5061034e611097565b3480156105e057600080fd5b5061032c6110a6565b3480156105f557600080fd5b506102ea6106043660046128e1565b6110ac565b34801561061557600080fd5b506102ea610624366004612800565b6111f5565b34801561063557600080fd5b506102ea6106443660046128e1565b611243565b34801561065557600080fd5b506102ea6106643660046126d8565b611267565b34801561067557600080fd5b5061032c6114aa565b34801561068a57600080fd5b5061032c6114b0565b34801561069f57600080fd5b5061032c6106ae366004612753565b6114b6565b3480156106bf57600080fd5b5061032c6114cc565b3480156106d457600080fd5b5061032c6106e33660046128e1565b6114d6565b3480156106f457600080fd5b506107086107033660046128f9565b6114e8565b6040516102c191906130db565b34801561072157600080fd5b506102ea6107303660046128e1565b61155a565b34801561074157600080fd5b5061037b6107503660046128f9565b61157e565b34801561076157600080fd5b506102ea6107703660046128e1565b6115c1565b34801561078157600080fd5b506102ea6107903660046128e1565b6115e5565b3480156107a157600080fd5b506102ea6107b03660046128e1565b611609565b3480156107c157600080fd5b506102ea6107d03660046127a1565b61169b565b3480156107e157600080fd5b5061034e6117f6565b6102ea6107f83660046128e1565b61181a565b603d818154811061080a57fe5b600091825260209091206008909102018054600182015460028301546003840154600485015460058601546006909601546001600160a01b039586169750949093169491939092919060ff8082169161010090041688565b33301461088a5760405162461bcd60e51b815260040161088190612e49565b60405180910390fd5b603555565b3361089a833361157e565b1580156108ad57506108ab836109bc565b155b3332146108bb5760006108bf565b6152085b61ffff1681156109805760005a90506108d93387876118ac565b60006108f66127106108f0856108f05a8790611add565b90611b1f565b60405163a99ce80760e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a99ce8079061094790889085906004016129b0565b600060405180830381600087803b15801561096157600080fd5b505af1158015610975573d6000803e3d6000fd5b50505050505061098b565b61098b3386866118ac565b5050505050565b603e6020526000908152604090205481565b73b04e030140b30c27bcdfaafffa98c57d80eda7b490565b6000603554603d83815481106109ce57fe5b906000526020600020906008020160050154603d84815481106109ed57fe5b90600052602060002090600802016004015401101590505b919050565b60335481565b6000610a1a6114cc565b8211158015610a295750600082115b610a455760405162461bcd60e51b815260040161088190612fa6565b6000603d8381548110610a5457fe5b906000526020600020906008020190508060020154610a71611b44565b11610a80576000915050610a05565b8060030154610a8d611b44565b11610a9c576001915050610a05565b80600501548160040154111580610abe57506035548160050154826004015401105b15610acd576002915050610a05565b600681015460ff1615610ae4576005915050610a05565b610b036034546108f06033548460030154611b1f90919063ffffffff16565b610b0b611b44565b10610b1a576006915050610a05565b6033546003820154610b2b91611b1f565b610b33611b44565b10610b42576004915050610a05565b6003915050610a05565b60408051808201909152600f81526e0d0b9c185d18da0b595e1c1b1bda5d608a1b602082015290565b603a5481565b6001600160a01b038381166000908152603c60205260408120549091163314610bb65760405162461bcd60e51b815260040161088190613036565b610bc1848484611b48565b949350505050565b336000818152603c60205260409020546001600160a01b039081169190831614801590610bff57506001600160a01b0382163014155b8015610c1357506001600160a01b03821615155b8015610c315750806001600160a01b0316826001600160a01b031614155b610c4d5760405162461bcd60e51b815260040161088190612e80565b6001600160a01b03811615610c93576040516001600160a01b0382169033907f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7290600090a35b336000818152603c602052604080822080546001600160a01b0319166001600160a01b03871690811790915590519092917f4bc154dd35d6a5cb9206482ecb473cdbf2473006d6bce728b9cc0741bcc59ea291a35050565b336000818152603b60205260409081902054905163e113335f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163e113335f91610d489185916004016129b0565b600060405180830381600087803b158015610d6257600080fd5b505af1925050508015610d73575060015b610df6573d808015610da1576040519150601f19603f3d011682016040523d82523d6000602084013e610da6565b606091505b5080604051610db59190612980565b604051908190038120906001600160a01b038416907f5a6216e80d86159dc87dcebfe519205477a94005b7d9d6bd313606450a5344f690600090a350610e2b565b6040516001600160a01b038216907f9b227b0c1ae308b34f72d4fdf9a1943fa769ff4814933595e7bc5230a117698b90600090a25b610e3482611b70565b5050565b603c602052600090815260409020546001600160a01b031681565b60355481565b60345481565b333014610e7e5760405162461bcd60e51b815260040161088190612e49565b6033548110610e9f5760405162461bcd60e51b815260040161088190612d6d565b603a55565b333014610ec35760405162461bcd60e51b815260040161088190612e49565b603755565b7f000000000000000000000000000000000000000000000000000000000000000081565b336000908152603c60205260409020546001600160a01b031680610f225760405162461bcd60e51b815260040161088190612fec565b336000818152603c602052604080822080546001600160a01b0319169055516001600160a01b03841692917f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7291a350565b610f7b6109a4565b6001600160a01b0316336001600160a01b031614610fab5760405162461bcd60e51b815260040161088190612f7f565b604051633a08bde160e21b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e822f78490610ff7908490600401612ab6565b600060405180830381600087803b15801561101157600080fd5b505af115801561098b573d6000803e3d6000fd5b3330146110445760405162461bcd60e51b815260040161088190612e49565b603455565b603b6020526000908152604090205481565b7f000000000000000000000000000000000000000000000000000000000000000081565b60365481565b603f6020526000908152604090205481565b6040546001600160a01b031681565b60385481565b336000818152603b60205260409081902054905163e113335f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163e113335f916111099185916004016129b0565b600060405180830381600087803b15801561112357600080fd5b505af1925050508015611134575060015b6111b7573d808015611162576040519150601f19603f3d011682016040523d82523d6000602084013e611167565b606091505b50806040516111769190612980565b604051908190038120906001600160a01b038416907f5a6216e80d86159dc87dcebfe519205477a94005b7d9d6bd313606450a5344f690600090a3506111ec565b6040516001600160a01b038216907f9b227b0c1ae308b34f72d4fdf9a1943fa769ff4814933595e7bc5230a117698b90600090a25b610e3482611c54565b60008351116112165760405162461bcd60e51b815260040161088190612e1f565b61123e838383611226863361157e565b1580156112395750611237866109bc565b155b611c5e565b505050565b3330146112625760405162461bcd60e51b815260040161088190612e49565b603955565b600054610100900460ff16806112805750611280611ea1565b8061128e575060005460ff16155b6112aa5760405162461bcd60e51b815260040161088190612f31565b600054610100900460ff161580156112d5576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b038085166001600160a01b03199283161783558251610100818101855230825261dead602083019081526000958301868152606084018781526080850188815260a08601898152600160c0880181815260e089018c8152603d80549384018155909c52975160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b16928c169290921790915594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc4860180549190991699169890981790965590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc5830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc682015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc784015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc8830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990910180549351151590920261ff001991151560ff199094169390931716919091179055611495611ea7565b8015610e34576000805461ff00191690555050565b60395481565b60375481565b60006114c3338484611b48565b90505b92915050565b603d546000190190565b60416020526000908152604090205481565b6114f06125d2565b603d83815481106114fd57fe5b600091825260208083206001600160a01b0395909516835260089190910290930160070183526040908190208151606081018352815460ff8082161515835261010090910416151594810194909452600101549083015250919050565b3330146115795760405162461bcd60e51b815260040161088190612e49565b603355565b6000603d838154811061158d57fe5b600091825260208083206001600160a01b03861684526007600890930201919091019052604090205460ff16905092915050565b3330146115e05760405162461bcd60e51b815260040161088190612e49565b603855565b3330146116045760405162461bcd60e51b815260040161088190612e49565b603655565b6116116109a4565b6001600160a01b0316336001600160a01b0316146116415760405162461bcd60e51b815260040161088190612f7f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108fc6116788347611ee8565b6040518115909202916000818181858888f1935050505061169857600080fd5b50565b6001600160a01b038087166000908152603b60205260409081902054905163e113335f60e01b815288927f0000000000000000000000000000000000000000000000000000000000000000169163e113335f916116fc9185916004016129b0565b600060405180830381600087803b15801561171657600080fd5b505af1925050508015611727575060015b6117aa573d808015611755576040519150601f19603f3d011682016040523d82523d6000602084013e61175a565b606091505b50806040516117699190612980565b604051908190038120906001600160a01b038416907f5a6216e80d86159dc87dcebfe519205477a94005b7d9d6bd313606450a5344f690600090a3506117df565b6040516001600160a01b038216907f9b227b0c1ae308b34f72d4fdf9a1943fa769ff4814933595e7bc5230a117698b90600090a25b6117ed878787878787611efe565b50505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b3330141561183a5760405162461bcd60e51b815260040161088190612c36565b6000603d828154811061184957fe5b6000918252602080832060016008909302019182015485845260419091526040909220549092506001600160a01b0390911690813f90811461189d5760405162461bcd60e51b815260040161088190612d17565b6118a684611f7e565b50505050565b60016118b783610a10565b60068111156118c257fe5b146118df5760405162461bcd60e51b815260040161088190612bef565b6000603d83815481106118ee57fe5b600091825260208083206001600160a01b038816845260076008909302019182018152604080842060058401546004850154603b90945291909420549294501015908061194d5760405162461bcd60e51b815260040161088190612eb7565b825460ff161561199c578254610100900460ff1615611983576001830154600485015461197991611add565b600485015561199c565b6001830154600585015461199691611add565b60058501555b84156119bb5760048401546119b19082611b1f565b60048501556119d0565b60058401546119ca9082611b1f565b60058501555b6006840154610100900460ff16158015611a0057506039546119fe6119f3611b44565b600387015490611add565b105b15611a44576005840154600485015411158215158114611a425760068501805461ff001916610100179055603a546003860154611a3c91611b1f565b60038601555b505b8254600160ff19909116811761ff001916610100871515021784558301819055603354603454603a546003870154611a8f938b93611a8a9391926108f092839190611b1f565b612110565b841515876001600160a01b0316877f7c2de587c00d75474a0c6c6fa96fd3b45dc974cd4e8a75f712bb84c950dce1b584604051611acc9190612ab6565b60405180910390a450505050505050565b60006114c383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061214d565b6000828201838110156114c35760405162461bcd60e51b815260040161088190612ce0565b4290565b6000611b55848484612179565b6000818152604160205260409020933f909355509092915050565b336000908152603f6020526040902054611b88611b44565b11611ba55760405162461bcd60e51b815260040161088190612db1565b60408051808201825260208082527f476f7665726e616e63653a20696e73756666696369656e742062616c616e636581830152336000908152603b9091529190912054611bf391839061214d565b336000818152603b6020526040908190209290925590516391fe357360e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316916391fe357391610ff7919085906004016129b0565b61169833826124c7565b3381328214611c6e576000611c72565b6152085b61ffff168115611ddd5760005a905060005b8851811015611d3b576000898281518110611c9b57fe5b6020908102919091018101516001600160a01b038082166000908152603c90935260409092205490925016331480611cdb57506001600160a01b03811633145b611cf75760405162461bcd60e51b815260040161088190613036565b861580611d0b5750611d09898261157e565b155b611d275760405162461bcd60e51b8152600401610881906130a4565b611d32818a8a6118ac565b50600101611c84565b506000611d536127106108f0856108f05a8790611add565b60405163a99ce80760e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a99ce80790611da490889085906004016129b0565b600060405180830381600087803b158015611dbe57600080fd5b505af1158015611dd2573d6000803e3d6000fd5b5050505050506117ed565b60005b8751811015611e97576000888281518110611df757fe5b6020908102919091018101516001600160a01b038082166000908152603c90935260409092205490925016331480611e3757506001600160a01b03811633145b611e535760405162461bcd60e51b815260040161088190613036565b851580611e675750611e65888261157e565b155b611e835760405162461bcd60e51b8152600401610881906130a4565b611e8e8189896118ac565b50600101611de0565b5050505050505050565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b6000818310611ef757816114c3565b5090919050565b60408054905163d505accf60e01b81526001600160a01b039091169063d505accf90611f3a90899030908a908a908a908a908a90600401612a33565b600060405180830381600087803b158015611f5457600080fd5b505af1158015611f68573d6000803e3d6000fd5b50505050611f7686866124c7565b505050505050565b6004611f8982610a10565b6006811115611f9457fe5b14611fb15760405162461bcd60e51b815260040161088190612b29565b6000603d8281548110611fc057fe5b600091825260209091206006600890920201908101805460ff191660019081179091558101549091506001600160a01b0316611ffb816125cc565b6120175760405162461bcd60e51b815260040161088190612ae6565b60408051600481526024810182526020810180516001600160e01b03166306e60b1760e31b17905290516000916060916001600160a01b0385169161205b91612980565b600060405180830381855af49150503d8060008114612096576040519150601f19603f3d011682016040523d82523d6000602084013e61209b565b606091505b5091509150816120de578051156120c6578060405162461bcd60e51b81526004016108819190612ad3565b60405162461bcd60e51b81526004016108819061306d565b60405185907f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f90600090a25050505050565b6001600160a01b0382166000908152603f6020526040902054811115610e34576001600160a01b03919091166000908152603f6020526040902055565b600081848411156121715760405162461bcd60e51b81526004016108819190612ad3565b505050900390565b6001600160a01b0383166000908152603b60205260408120546036548110156121b45760405162461bcd60e51b815260040161088190612c83565b6121bd846125cc565b6121d95760405162461bcd60e51b815260040161088190612eee565b6001600160a01b0385166000908152603e6020526040902054801561224b57600061220382610a10565b9050600181600681111561221357fe5b1415801561222d5750600081600681111561222a57fe5b14155b6122495760405162461bcd60e51b815260040161088190612b74565b505b600061225b6037546108f0611b44565b9050600061227460385483611b1f90919063ffffffff16565b905061227e6125f2565b506040805161010080820183526001600160a01b03808c1683528a8116602084019081529383018681526060840186815260006080860181815260a0870182815260c0880183815260e08901848152603d80546001810182559086528a5160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b166001600160a01b03199384161790559b517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc48d01805491909a1691161790975594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc58a015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc6890155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc788015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc887015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990950180549251151590930261ff001995151560ff199093169290921794909416179055906124306114cc565b82516001600160a01b03166000908152603e60205260409020819055603354603454603a54929350612472928d92611a8a9290916108f0919082908a90611b1f565b896001600160a01b0316817f90ec05050aa23d54ba425e926fe646c318e85825bc400b13a46010abe86eb2f08b87878d6040516124b29493929190612a74565b60405180910390a39998505050505050505050565b6040805490516323b872dd60e01b81526001600160a01b03909116906323b872dd9061251b9085907f00000000000000000000000000000000000000000000000000000000000000009086906004016129c9565b602060405180830381600087803b15801561253557600080fd5b505af1158015612549573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061256d91906128c5565b6125895760405162461bcd60e51b815260040161088190612de8565b6001600160a01b0382166000908152603b60205260409020546125ac9082611b1f565b6001600160a01b039092166000908152603b602052604090209190915550565b3b151590565b604080516060810182526000808252602082018190529181019190915290565b60405180610100016040528060006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000151581526020016000151581525090565b80356001600160a01b03811681146114c657600080fd5b80356114c681613168565b600082601f83011261267f578081fd5b813567ffffffffffffffff811115612695578182fd5b6126a8601f8201601f1916602001613100565b91508082528360208285010111156126bf57600080fd5b8060208401602084013760009082016020015292915050565b6000602082840312156126e9578081fd5b6114c3838361264d565b600080600060608486031215612707578182fd5b833561271281613153565b9250602084013561272281613153565b9150604084013567ffffffffffffffff81111561273d578182fd5b6127498682870161266f565b9150509250925092565b60008060408385031215612765578182fd5b823561277081613153565b9150602083013567ffffffffffffffff81111561278b578182fd5b6127978582860161266f565b9150509250929050565b60008060008060008060c087890312156127b9578182fd5b6127c3888861264d565b95506020870135945060408701359350606087013560ff811681146127e6578283fd5b9598949750929560808101359460a0909101359350915050565b600080600060608486031215612814578283fd5b833567ffffffffffffffff8082111561282b578485fd5b818601915086601f83011261283e578485fd5b81358181111561284c578586fd5b6020915081810261285e838201613100565b8281528381019085850183870186018c101561287857898afd5b8996505b848710156128a25761288e8c8261264d565b83526001969096019591850191850161287c565b50975050505085013592506128bc90508560408601612664565b90509250925092565b6000602082840312156128d6578081fd5b81516114c381613168565b6000602082840312156128f2578081fd5b5035919050565b6000806040838503121561290b578182fd5b8235915061291c846020850161264d565b90509250929050565b60008060408385031215612937578182fd5b82359150602083013561294981613168565b809150509250929050565b6000815180845261296c816020860160208601613127565b601f01601f19169290920160200192915050565b60008251612992818460208701613127565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03988916815296909716602087015260408601949094526060850192909252608084015260a0830152151560c082015290151560e08201526101000190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b600060018060a01b038616825284602083015283604083015260806060830152612aa16080830184612954565b9695505050505050565b901515815260200190565b90815260200190565b6020810160078310612acd57fe5b91905290565b6000602082526114c36020830184612954565b60208082526023908201527f476f7665726e616e63653a3a657865637574653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602b908201527f476f7665726e616e63653a3a657865637574653a20696e76616c69642070726f60408201526a706f73616c20737461746560a81b606082015260800190565b60208082526055908201527f476f7665726e616e63653a3a70726f706f73653a206f6e65206c69766520707260408201527f6f706f73616c207065722070726f706f7365722c20666f756e6420616e20616c6060820152741c9958591e481858dd1a5d99481c1c9bdc1bdcd85b605a1b608082015260a00190565b60208082526027908201527f476f7665726e616e63653a3a5f63617374566f74653a20766f74696e672069736040820152660818db1bdcd95960ca1b606082015260800190565b6020808252602d908201527f476f7665726e616e63653a3a70726f706f73653a2070736575646f2d6578746560408201526c393730b610333ab731ba34b7b760991b606082015260800190565b6020808252603c908201527f476f7665726e616e63653a3a70726f706f73653a2070726f706f73657220766f60408201527f7465732062656c6f772070726f706f73616c207468726573686f6c6400000000606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526036908201527f476f7665726e616e63653a3a70726f706f73653a206d6574616d6f72706869636040820152750818dbdb9d1c9858dd1cc81b9bdd08185b1b1bddd95960521b606082015260800190565b60208082526024908201527f476f7665726e616e63653a20696e636f727265637420766f7465457874656e6460408201526354696d6560e01b606082015260800190565b6020808252601d908201527f476f7665726e616e63653a20746f6b656e7320617265206c6f636b6564000000604082015260600190565b60208082526019908201527f544f524e3a207472616e7366657246726f6d206661696c656400000000000000604082015260600190565b60208082526010908201526f43616e206e6f7420626520656d70747960801b604082015260600190565b60208082526018908201527f476f7665726e616e63653a20756e617574686f72697a65640000000000000000604082015260600190565b6020808252601d908201527f476f7665726e616e63653a20696e76616c69642064656c656761746565000000604082015260600190565b60208082526018908201527f476f7665726e616e63653a2062616c616e636520697320300000000000000000604082015260600190565b60208082526023908201527f476f7665726e616e63653a3a70726f706f73653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252600d908201526c6f6e6c79206d756c746973696760981b604082015260600190565b60208082526026908201527f476f7665726e616e63653a3a73746174653a20696e76616c69642070726f706f6040820152651cd85b081a5960d21b606082015260800190565b6020808252602a908201527f476f7665726e616e63653a20746f6b656e732061726520616c726561647920756040820152691b99195b1959d85d195960b21b606082015260800190565b6020808252601a908201527f476f7665726e616e63653a206e6f7420617574686f72697a6564000000000000604082015260600190565b60208082526019908201527f50726f706f73616c20657865637574696f6e206661696c656400000000000000604082015260600190565b60208082526019908201527f476f7665726e616e63653a20766f74656420616c726561647900000000000000604082015260600190565b8151151581526020808301511515908201526040918201519181019190915260600190565b60405181810167ffffffffffffffff8111828210171561311f57600080fd5b604052919050565b60005b8381101561314257818101518382015260200161312a565b838111156118a65750506000910152565b6001600160a01b038116811461169857600080fd5b801515811461169857600080fdfea2646970667358221220b75004153b6c8b4905c018daca78cb0fa6d3859298be55252bcf6ba75ea68d0e64736f6c634300060c0033a26469706673582212204ba1758b9bff1354ea4f43c5374c01c2f89472a8eda340e802e2a467b5710b3764736f6c634300060c0033"; +const isSuperArgs$7 = (xs) => xs.length > 1; +class PatchProposal__factory extends ContractFactory { + constructor(...args) { + if (isSuperArgs$7(args)) { + super(...args); + } else { + super(_abi$7, _bytecode$7, args[0]); + } + } + getDeployTransaction(_deployedStakingProxyContractAddress, _deployedRelayerRegistryImplementationAddress, overrides) { + return super.getDeployTransaction( + _deployedStakingProxyContractAddress, + _deployedRelayerRegistryImplementationAddress, + overrides || {} + ); + } + deploy(_deployedStakingProxyContractAddress, _deployedRelayerRegistryImplementationAddress, overrides) { + return super.deploy( + _deployedStakingProxyContractAddress, + _deployedRelayerRegistryImplementationAddress, + overrides || {} + ); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new Interface(_abi$7); + } + static connect(address, runner) { + return new Contract(address, _abi$7, runner); + } +} +PatchProposal__factory.bytecode = _bytecode$7; +PatchProposal__factory.abi = _abi$7; + +var index$4 = /*#__PURE__*/Object.freeze({ + __proto__: null, + AdminUpgradeableProxy__factory: AdminUpgradeableProxy__factory$1, + GovernanceExploitPatchUpgrade__factory: GovernanceExploitPatchUpgrade__factory, + PatchProposal__factory: PatchProposal__factory, + metamorphic: index$7, + mock: index$5 +}); + +const _abi$6 = [ + { + inputs: [ + { + internalType: "address", + name: "stakingRewardsAddress", + type: "address" + }, + { + internalType: "address", + name: "gasCompLogic", + type: "address" + }, + { + internalType: "address", + name: "userVaultAddress", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address" + } + ], + name: "Delegated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "id", + type: "uint256" + }, + { + indexed: true, + internalType: "address", + name: "proposer", + type: "address" + }, + { + indexed: false, + internalType: "address", + name: "target", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "startTime", + type: "uint256" + }, + { + indexed: false, + internalType: "uint256", + name: "endTime", + type: "uint256" + }, + { + indexed: false, + internalType: "string", + name: "description", + type: "string" + } + ], + name: "ProposalCreated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "proposalId", + type: "uint256" + } + ], + name: "ProposalExecuted", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address" + }, + { + indexed: true, + internalType: "bytes", + name: "errorData", + type: "bytes" + } + ], + name: "RewardUpdateFailed", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address" + } + ], + name: "RewardUpdateSuccessful", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address" + }, + { + indexed: true, + internalType: "address", + name: "from", + type: "address" + } + ], + name: "Undelegated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + indexed: true, + internalType: "address", + name: "voter", + type: "address" + }, + { + indexed: true, + internalType: "bool", + name: "support", + type: "bool" + }, + { + indexed: false, + internalType: "uint256", + name: "votes", + type: "uint256" + } + ], + name: "Voted", + type: "event" + }, + { + inputs: [], + name: "CLOSING_PERIOD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "EXECUTION_DELAY", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "EXECUTION_EXPIRATION", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "PROPOSAL_THRESHOLD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "QUORUM_VOTES", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "Staking", + outputs: [ + { + internalType: "contract ITornadoStakingRewards", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "VOTE_EXTEND_TIME", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "VOTING_DELAY", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "VOTING_PERIOD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "canWithdrawAfter", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address[]", + name: "from", + type: "address[]" + }, + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + internalType: "bool", + name: "support", + type: "bool" + } + ], + name: "castDelegatedVote", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + internalType: "bool", + name: "support", + type: "bool" + } + ], + name: "castVote", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + } + ], + name: "checkIfQuorumReached", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address" + } + ], + name: "delegate", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "delegatedTo", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + } + ], + name: "execute", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [], + name: "gasCompensationVault", + outputs: [ + { + internalType: "contract IGasCompensationVault", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + internalType: "address", + name: "voter", + type: "address" + } + ], + name: "getReceipt", + outputs: [ + { + components: [ + { + internalType: "bool", + name: "hasVoted", + type: "bool" + }, + { + internalType: "bool", + name: "support", + type: "bool" + }, + { + internalType: "uint256", + name: "votes", + type: "uint256" + } + ], + internalType: "struct Governance.Receipt", + name: "", + type: "tuple" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + }, + { + internalType: "address", + name: "account", + type: "address" + } + ], + name: "hasAccountVoted", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "_torn", + type: "address" + } + ], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "latestProposalIds", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256" + }, + { + internalType: "uint8", + name: "v", + type: "uint8" + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32" + } + ], + name: "lock", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "lockWithApproval", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + name: "lockedBalance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + name: "proposalCodehashes", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "proposalCount", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + name: "proposals", + outputs: [ + { + internalType: "address", + name: "proposer", + type: "address" + }, + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "uint256", + name: "startTime", + type: "uint256" + }, + { + internalType: "uint256", + name: "endTime", + type: "uint256" + }, + { + internalType: "uint256", + name: "forVotes", + type: "uint256" + }, + { + internalType: "uint256", + name: "againstVotes", + type: "uint256" + }, + { + internalType: "bool", + name: "executed", + type: "bool" + }, + { + internalType: "bool", + name: "extended", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "string", + name: "description", + type: "string" + } + ], + name: "propose", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address" + }, + { + internalType: "address", + name: "target", + type: "address" + }, + { + internalType: "string", + name: "description", + type: "string" + } + ], + name: "proposeByDelegate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "returnMultisigAddress", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "pure", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "closingPeriod", + type: "uint256" + } + ], + name: "setClosingPeriod", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "executionDelay", + type: "uint256" + } + ], + name: "setExecutionDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "executionExpiration", + type: "uint256" + } + ], + name: "setExecutionExpiration", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "gasCompensationsLimit", + type: "uint256" + } + ], + name: "setGasCompensations", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalThreshold", + type: "uint256" + } + ], + name: "setProposalThreshold", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "quorumVotes", + type: "uint256" + } + ], + name: "setQuorumVotes", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "voteExtendTime", + type: "uint256" + } + ], + name: "setVoteExtendTime", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "votingDelay", + type: "uint256" + } + ], + name: "setVotingDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "votingPeriod", + type: "uint256" + } + ], + name: "setVotingPeriod", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256" + } + ], + name: "state", + outputs: [ + { + internalType: "enum Governance.ProposalState", + name: "", + type: "uint8" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "torn", + outputs: [ + { + internalType: "contract TORN", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "undelegate", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "unlock", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "userVault", + outputs: [ + { + internalType: "contract ITornadoVault", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "version", + outputs: [ + { + internalType: "string", + name: "", + type: "string" + } + ], + stateMutability: "pure", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "withdrawFromHelper", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + stateMutability: "payable", + type: "receive" + } +]; +const _bytecode$6 = "0x60e06040523480156200001157600080fd5b506040516200344138038062003441833981016040819052620000349162000171565b82828282828281818181600060019054906101000a900460ff16806200005f57506200005f6200012a565b806200006e575060005460ff16155b620000965760405162461bcd60e51b81526004016200008d90620001c4565b60405180910390fd5b600054610100900460ff16158015620000c2576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b03191661dead179055620000e062000130565b8015620000f3576000805461ff00191690555b506001600160601b0319606091821b811660805291811b821660a0529590951b90941660c052506200022b98505050505050505050565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b60008060006060848603121562000186578283fd5b8351620001938162000212565b6020850151909350620001a68162000212565b6040850151909250620001b98162000212565b809150509250925092565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b6001600160a01b03811681146200022857600080fd5b50565b60805160601c60a05160601c60c05160601c6131b36200028e60003980610d1a52806110db52806116ce52806117ff5250806109105280610ed15280610fc9528061164a5280611d745250806110645280611c1d52806124f852506131b36000f3fe6080604052600436106102815760003560e01c80639daafec71161014f578063d6f0948c116100c1578063ea0217cf1161007a578063ea0217cf14610755578063ece40cc114610775578063ef3f8bb114610795578063f0b76892146107b5578063f57df22e146107d5578063fe0d94c1146107ea57610288565b8063d6f0948c14610693578063da35c664146106b3578063e01f5237146106c8578063e23a9a52146106e8578063e4917d9f14610715578063e525aa081461073557610288565b8063b54426c811610113578063b54426c8146105e9578063b859f11b14610609578063c0c0e82014610629578063c4d66de814610649578063ce25d71c14610669578063d6159fe51461067e57610288565b80639daafec714610575578063a6c266031461058a578063a72edda31461059f578063adf898a4146105bf578063b1610d7e146105d457610288565b80635c19a95c116101f357806370b0f660116101ac57806370b0f660146104cb5780638b34a960146104eb57806392ab89bb14610500578063932d5157146105155780639a9e3b6e146105355780639ae697bf1461055557610288565b80635c19a95c146104215780636198e3391461044157806365da126414610461578063671dd275146104815780636a661755146104965780636dc2dc6c146104ab57610288565b806332687ec11161024557806332687ec11461035b57806337f135d7146103885780633e4f49e61461039d57806354fd4d50146103ca578063587a6ecb146103ec57806358e9fff01461040157610288565b8063013cf08b1461028d57806302ec8f9e146102ca57806315373e3d146102ec57806317977c611461030c57806324b0435f1461033957610288565b3661028857005b600080fd5b34801561029957600080fd5b506102ad6102a83660046128e8565b6107fd565b6040516102c19897969594939291906129f4565b60405180910390f35b3480156102d657600080fd5b506102ea6102e53660046128e8565b610862565b005b3480156102f857600080fd5b506102ea61030736600461292c565b61088f565b34801561031857600080fd5b5061032c6103273660046126df565b610992565b6040516102c19190612abd565b34801561034557600080fd5b5061034e6109a4565b6040516102c191906129a3565b34801561036757600080fd5b5061037b6103763660046128e8565b6109bc565b6040516102c19190612ab2565b34801561039457600080fd5b5061032c610a0a565b3480156103a957600080fd5b506103bd6103b83660046128e8565b610a10565b6040516102c19190612ac6565b3480156103d657600080fd5b506103df610b4c565b6040516102c19190612ada565b3480156103f857600080fd5b5061032c610b7c565b34801561040d57600080fd5b5061032c61041c3660046126fa565b610b82565b34801561042d57600080fd5b506102ea61043c3660046126df565b610bd0565b34801561044d57600080fd5b506102ea61045c3660046128e8565b610cf2565b34801561046d57600080fd5b5061034e61047c3660046126df565b610e3f565b34801561048d57600080fd5b5061032c610e5a565b3480156104a257600080fd5b5061032c610e60565b3480156104b757600080fd5b506102ea6104c63660046128e8565b610e66565b3480156104d757600080fd5b506102ea6104e63660046128e8565b610eab565b3480156104f757600080fd5b5061034e610ecf565b34801561050c57600080fd5b506102ea610ef3565b34801561052157600080fd5b506102ea6105303660046128e8565b610f7a565b34801561054157600080fd5b506102ea6105503660046128e8565b61102c565b34801561056157600080fd5b5061032c6105703660046126df565b611050565b34801561058157600080fd5b5061034e611062565b34801561059657600080fd5b5061032c611086565b3480156105ab57600080fd5b5061032c6105ba3660046126df565b61108c565b3480156105cb57600080fd5b5061034e61109e565b3480156105e057600080fd5b5061032c6110ad565b3480156105f557600080fd5b506102ea6106043660046128e8565b6110b3565b34801561061557600080fd5b506102ea610624366004612807565b6111fc565b34801561063557600080fd5b506102ea6106443660046128e8565b61124a565b34801561065557600080fd5b506102ea6106643660046126df565b61126e565b34801561067557600080fd5b5061032c6114b1565b34801561068a57600080fd5b5061032c6114b7565b34801561069f57600080fd5b5061032c6106ae36600461275a565b6114bd565b3480156106bf57600080fd5b5061032c6114d3565b3480156106d457600080fd5b5061032c6106e33660046128e8565b6114dd565b3480156106f457600080fd5b50610708610703366004612900565b6114ef565b6040516102c191906130e2565b34801561072157600080fd5b506102ea6107303660046128e8565b611561565b34801561074157600080fd5b5061037b610750366004612900565b611585565b34801561076157600080fd5b506102ea6107703660046128e8565b6115c8565b34801561078157600080fd5b506102ea6107903660046128e8565b6115ec565b3480156107a157600080fd5b506102ea6107b03660046128e8565b611610565b3480156107c157600080fd5b506102ea6107d03660046127a8565b6116a2565b3480156107e157600080fd5b5061034e6117fd565b6102ea6107f83660046128e8565b611821565b603d818154811061080a57fe5b600091825260209091206008909102018054600182015460028301546003840154600485015460058601546006909601546001600160a01b039586169750949093169491939092919060ff8082169161010090041688565b33301461088a5760405162461bcd60e51b815260040161088190612e50565b60405180910390fd5b603555565b3361089a8333611585565b1580156108ad57506108ab836109bc565b155b3332146108bb5760006108bf565b6152085b61ffff1681156109805760005a90506108d93387876118b3565b60006108f66127106108f0856108f05a8790611ae4565b90611b26565b60405163a99ce80760e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a99ce8079061094790889085906004016129b7565b600060405180830381600087803b15801561096157600080fd5b505af1158015610975573d6000803e3d6000fd5b50505050505061098b565b61098b3386866118b3565b5050505050565b603e6020526000908152604090205481565b73b04e030140b30c27bcdfaafffa98c57d80eda7b490565b6000603554603d83815481106109ce57fe5b906000526020600020906008020160050154603d84815481106109ed57fe5b90600052602060002090600802016004015401101590505b919050565b60335481565b6000610a1a6114d3565b8211158015610a295750600082115b610a455760405162461bcd60e51b815260040161088190612fad565b6000603d8381548110610a5457fe5b906000526020600020906008020190508060020154610a71611b4b565b11610a80576000915050610a05565b8060030154610a8d611b4b565b11610a9c576001915050610a05565b600681015460ff1615610ab3576005915050610a05565b80600501548160040154111580610ad557506035548160050154826004015401105b15610ae4576002915050610a05565b610b036034546108f06033548460030154611b2690919063ffffffff16565b610b0b611b4b565b10610b1a576006915050610a05565b6033546003820154610b2b91611b26565b610b33611b4b565b10610b42576004915050610a05565b6003915050610a05565b60408051808201909152601681527506a5ce0e4dee0dee6c2d85ae6e8c2e8ca5ae0c2e8c6d60531b602082015290565b603a5481565b6001600160a01b038381166000908152603c60205260408120549091163314610bbd5760405162461bcd60e51b81526004016108819061303d565b610bc8848484611b4f565b949350505050565b336000818152603c60205260409020546001600160a01b039081169190831614801590610c0657506001600160a01b0382163014155b8015610c1a57506001600160a01b03821615155b8015610c385750806001600160a01b0316826001600160a01b031614155b610c545760405162461bcd60e51b815260040161088190612e87565b6001600160a01b03811615610c9a576040516001600160a01b0382169033907f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7290600090a35b336000818152603c602052604080822080546001600160a01b0319166001600160a01b03871690811790915590519092917f4bc154dd35d6a5cb9206482ecb473cdbf2473006d6bce728b9cc0741bcc59ea291a35050565b336000818152603b60205260409081902054905163e113335f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163e113335f91610d4f9185916004016129b7565b600060405180830381600087803b158015610d6957600080fd5b505af1925050508015610d7a575060015b610dfd573d808015610da8576040519150601f19603f3d011682016040523d82523d6000602084013e610dad565b606091505b5080604051610dbc9190612987565b604051908190038120906001600160a01b038416907f5a6216e80d86159dc87dcebfe519205477a94005b7d9d6bd313606450a5344f690600090a350610e32565b6040516001600160a01b038216907f9b227b0c1ae308b34f72d4fdf9a1943fa769ff4814933595e7bc5230a117698b90600090a25b610e3b82611b77565b5050565b603c602052600090815260409020546001600160a01b031681565b60355481565b60345481565b333014610e855760405162461bcd60e51b815260040161088190612e50565b6033548110610ea65760405162461bcd60e51b815260040161088190612d74565b603a55565b333014610eca5760405162461bcd60e51b815260040161088190612e50565b603755565b7f000000000000000000000000000000000000000000000000000000000000000081565b336000908152603c60205260409020546001600160a01b031680610f295760405162461bcd60e51b815260040161088190612ff3565b336000818152603c602052604080822080546001600160a01b0319169055516001600160a01b03841692917f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7291a350565b610f826109a4565b6001600160a01b0316336001600160a01b031614610fb25760405162461bcd60e51b815260040161088190612f86565b604051633a08bde160e21b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e822f78490610ffe908490600401612abd565b600060405180830381600087803b15801561101857600080fd5b505af115801561098b573d6000803e3d6000fd5b33301461104b5760405162461bcd60e51b815260040161088190612e50565b603455565b603b6020526000908152604090205481565b7f000000000000000000000000000000000000000000000000000000000000000081565b60365481565b603f6020526000908152604090205481565b6040546001600160a01b031681565b60385481565b336000818152603b60205260409081902054905163e113335f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163e113335f916111109185916004016129b7565b600060405180830381600087803b15801561112a57600080fd5b505af192505050801561113b575060015b6111be573d808015611169576040519150601f19603f3d011682016040523d82523d6000602084013e61116e565b606091505b508060405161117d9190612987565b604051908190038120906001600160a01b038416907f5a6216e80d86159dc87dcebfe519205477a94005b7d9d6bd313606450a5344f690600090a3506111f3565b6040516001600160a01b038216907f9b227b0c1ae308b34f72d4fdf9a1943fa769ff4814933595e7bc5230a117698b90600090a25b610e3b82611c5b565b600083511161121d5760405162461bcd60e51b815260040161088190612e26565b61124583838361122d8633611585565b158015611240575061123e866109bc565b155b611c65565b505050565b3330146112695760405162461bcd60e51b815260040161088190612e50565b603955565b600054610100900460ff16806112875750611287611ea8565b80611295575060005460ff16155b6112b15760405162461bcd60e51b815260040161088190612f38565b600054610100900460ff161580156112dc576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b038085166001600160a01b03199283161783558251610100818101855230825261dead602083019081526000958301868152606084018781526080850188815260a08601898152600160c0880181815260e089018c8152603d80549384018155909c52975160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b16928c169290921790915594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc4860180549190991699169890981790965590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc5830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc682015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc784015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc8830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990910180549351151590920261ff001991151560ff19909416939093171691909117905561149c611eae565b8015610e3b576000805461ff00191690555050565b60395481565b60375481565b60006114ca338484611b4f565b90505b92915050565b603d546000190190565b60416020526000908152604090205481565b6114f76125d9565b603d838154811061150457fe5b600091825260208083206001600160a01b0395909516835260089190910290930160070183526040908190208151606081018352815460ff8082161515835261010090910416151594810194909452600101549083015250919050565b3330146115805760405162461bcd60e51b815260040161088190612e50565b603355565b6000603d838154811061159457fe5b600091825260208083206001600160a01b03861684526007600890930201919091019052604090205460ff16905092915050565b3330146115e75760405162461bcd60e51b815260040161088190612e50565b603855565b33301461160b5760405162461bcd60e51b815260040161088190612e50565b603655565b6116186109a4565b6001600160a01b0316336001600160a01b0316146116485760405162461bcd60e51b815260040161088190612f86565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108fc61167f8347611eef565b6040518115909202916000818181858888f1935050505061169f57600080fd5b50565b6001600160a01b038087166000908152603b60205260409081902054905163e113335f60e01b815288927f0000000000000000000000000000000000000000000000000000000000000000169163e113335f916117039185916004016129b7565b600060405180830381600087803b15801561171d57600080fd5b505af192505050801561172e575060015b6117b1573d80801561175c576040519150601f19603f3d011682016040523d82523d6000602084013e611761565b606091505b50806040516117709190612987565b604051908190038120906001600160a01b038416907f5a6216e80d86159dc87dcebfe519205477a94005b7d9d6bd313606450a5344f690600090a3506117e6565b6040516001600160a01b038216907f9b227b0c1ae308b34f72d4fdf9a1943fa769ff4814933595e7bc5230a117698b90600090a25b6117f4878787878787611f05565b50505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b333014156118415760405162461bcd60e51b815260040161088190612c3d565b6000603d828154811061185057fe5b6000918252602080832060016008909302019182015485845260419091526040909220549092506001600160a01b0390911690813f9081146118a45760405162461bcd60e51b815260040161088190612d1e565b6118ad84611f85565b50505050565b60016118be83610a10565b60068111156118c957fe5b146118e65760405162461bcd60e51b815260040161088190612bf6565b6000603d83815481106118f557fe5b600091825260208083206001600160a01b038816845260076008909302019182018152604080842060058401546004850154603b9094529190942054929450101590806119545760405162461bcd60e51b815260040161088190612ebe565b825460ff16156119a3578254610100900460ff161561198a576001830154600485015461198091611ae4565b60048501556119a3565b6001830154600585015461199d91611ae4565b60058501555b84156119c25760048401546119b89082611b26565b60048501556119d7565b60058401546119d19082611b26565b60058501555b6006840154610100900460ff16158015611a075750603954611a056119fa611b4b565b600387015490611ae4565b105b15611a4b576005840154600485015411158215158114611a495760068501805461ff001916610100179055603a546003860154611a4391611b26565b60038601555b505b8254600160ff19909116811761ff001916610100871515021784558301819055603354603454603a546003870154611a96938b93611a919391926108f092839190611b26565b612117565b841515876001600160a01b0316877f7c2de587c00d75474a0c6c6fa96fd3b45dc974cd4e8a75f712bb84c950dce1b584604051611ad39190612abd565b60405180910390a450505050505050565b60006114ca83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612154565b6000828201838110156114ca5760405162461bcd60e51b815260040161088190612ce7565b4290565b6000611b5c848484612180565b6000818152604160205260409020933f909355509092915050565b336000908152603f6020526040902054611b8f611b4b565b11611bac5760405162461bcd60e51b815260040161088190612db8565b60408051808201825260208082527f476f7665726e616e63653a20696e73756666696369656e742062616c616e636581830152336000908152603b9091529190912054611bfa918390612154565b336000818152603b6020526040908190209290925590516391fe357360e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316916391fe357391610ffe919085906004016129b7565b61169f33826124ce565b3381328214611c75576000611c79565b6152085b61ffff168115611de45760005a905060005b8851811015611d42576000898281518110611ca257fe5b6020908102919091018101516001600160a01b038082166000908152603c90935260409092205490925016331480611ce257506001600160a01b03811633145b611cfe5760405162461bcd60e51b81526004016108819061303d565b861580611d125750611d108982611585565b155b611d2e5760405162461bcd60e51b8152600401610881906130ab565b611d39818a8a6118b3565b50600101611c8b565b506000611d5a6127106108f0856108f05a8790611ae4565b60405163a99ce80760e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a99ce80790611dab90889085906004016129b7565b600060405180830381600087803b158015611dc557600080fd5b505af1158015611dd9573d6000803e3d6000fd5b5050505050506117f4565b60005b8751811015611e9e576000888281518110611dfe57fe5b6020908102919091018101516001600160a01b038082166000908152603c90935260409092205490925016331480611e3e57506001600160a01b03811633145b611e5a5760405162461bcd60e51b81526004016108819061303d565b851580611e6e5750611e6c8882611585565b155b611e8a5760405162461bcd60e51b8152600401610881906130ab565b611e958189896118b3565b50600101611de7565b5050505050505050565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b6000818310611efe57816114ca565b5090919050565b60408054905163d505accf60e01b81526001600160a01b039091169063d505accf90611f4190899030908a908a908a908a908a90600401612a3a565b600060405180830381600087803b158015611f5b57600080fd5b505af1158015611f6f573d6000803e3d6000fd5b50505050611f7d86866124ce565b505050505050565b6004611f9082610a10565b6006811115611f9b57fe5b14611fb85760405162461bcd60e51b815260040161088190612b30565b6000603d8281548110611fc757fe5b600091825260209091206006600890920201908101805460ff191660019081179091558101549091506001600160a01b0316612002816125d3565b61201e5760405162461bcd60e51b815260040161088190612aed565b60408051600481526024810182526020810180516001600160e01b03166306e60b1760e31b17905290516000916060916001600160a01b0385169161206291612987565b600060405180830381855af49150503d806000811461209d576040519150601f19603f3d011682016040523d82523d6000602084013e6120a2565b606091505b5091509150816120e5578051156120cd578060405162461bcd60e51b81526004016108819190612ada565b60405162461bcd60e51b815260040161088190613074565b60405185907f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f90600090a25050505050565b6001600160a01b0382166000908152603f6020526040902054811115610e3b576001600160a01b03919091166000908152603f6020526040902055565b600081848411156121785760405162461bcd60e51b81526004016108819190612ada565b505050900390565b6001600160a01b0383166000908152603b60205260408120546036548110156121bb5760405162461bcd60e51b815260040161088190612c8a565b6121c4846125d3565b6121e05760405162461bcd60e51b815260040161088190612ef5565b6001600160a01b0385166000908152603e6020526040902054801561225257600061220a82610a10565b9050600181600681111561221a57fe5b141580156122345750600081600681111561223157fe5b14155b6122505760405162461bcd60e51b815260040161088190612b7b565b505b60006122626037546108f0611b4b565b9050600061227b60385483611b2690919063ffffffff16565b90506122856125f9565b506040805161010080820183526001600160a01b03808c1683528a8116602084019081529383018681526060840186815260006080860181815260a0870182815260c0880183815260e08901848152603d80546001810182559086528a5160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b166001600160a01b03199384161790559b517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc48d01805491909a1691161790975594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc58a015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc6890155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc788015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc887015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990950180549251151590930261ff001995151560ff199093169290921794909416179055906124376114d3565b82516001600160a01b03166000908152603e60205260409020819055603354603454603a54929350612479928d92611a919290916108f0919082908a90611b26565b896001600160a01b0316817f90ec05050aa23d54ba425e926fe646c318e85825bc400b13a46010abe86eb2f08b87878d6040516124b99493929190612a7b565b60405180910390a39998505050505050505050565b6040805490516323b872dd60e01b81526001600160a01b03909116906323b872dd906125229085907f00000000000000000000000000000000000000000000000000000000000000009086906004016129d0565b602060405180830381600087803b15801561253c57600080fd5b505af1158015612550573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061257491906128cc565b6125905760405162461bcd60e51b815260040161088190612def565b6001600160a01b0382166000908152603b60205260409020546125b39082611b26565b6001600160a01b039092166000908152603b602052604090209190915550565b3b151590565b604080516060810182526000808252602082018190529181019190915290565b60405180610100016040528060006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000151581526020016000151581525090565b80356001600160a01b03811681146114cd57600080fd5b80356114cd8161316f565b600082601f830112612686578081fd5b813567ffffffffffffffff81111561269c578182fd5b6126af601f8201601f1916602001613107565b91508082528360208285010111156126c657600080fd5b8060208401602084013760009082016020015292915050565b6000602082840312156126f0578081fd5b6114ca8383612654565b60008060006060848603121561270e578182fd5b83356127198161315a565b925060208401356127298161315a565b9150604084013567ffffffffffffffff811115612744578182fd5b61275086828701612676565b9150509250925092565b6000806040838503121561276c578182fd5b82356127778161315a565b9150602083013567ffffffffffffffff811115612792578182fd5b61279e85828601612676565b9150509250929050565b60008060008060008060c087890312156127c0578182fd5b6127ca8888612654565b95506020870135945060408701359350606087013560ff811681146127ed578283fd5b9598949750929560808101359460a0909101359350915050565b60008060006060848603121561281b578283fd5b833567ffffffffffffffff80821115612832578485fd5b818601915086601f830112612845578485fd5b813581811115612853578586fd5b60209150818102612865838201613107565b8281528381019085850183870186018c101561287f57898afd5b8996505b848710156128a9576128958c82612654565b835260019690960195918501918501612883565b50975050505085013592506128c39050856040860161266b565b90509250925092565b6000602082840312156128dd578081fd5b81516114ca8161316f565b6000602082840312156128f9578081fd5b5035919050565b60008060408385031215612912578182fd5b823591506129238460208501612654565b90509250929050565b6000806040838503121561293e578182fd5b8235915060208301356129508161316f565b809150509250929050565b6000815180845261297381602086016020860161312e565b601f01601f19169290920160200192915050565b6000825161299981846020870161312e565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03988916815296909716602087015260408601949094526060850192909252608084015260a0830152151560c082015290151560e08201526101000190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b600060018060a01b038616825284602083015283604083015260806060830152612aa8608083018461295b565b9695505050505050565b901515815260200190565b90815260200190565b6020810160078310612ad457fe5b91905290565b6000602082526114ca602083018461295b565b60208082526023908201527f476f7665726e616e63653a3a657865637574653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602b908201527f476f7665726e616e63653a3a657865637574653a20696e76616c69642070726f60408201526a706f73616c20737461746560a81b606082015260800190565b60208082526055908201527f476f7665726e616e63653a3a70726f706f73653a206f6e65206c69766520707260408201527f6f706f73616c207065722070726f706f7365722c20666f756e6420616e20616c6060820152741c9958591e481858dd1a5d99481c1c9bdc1bdcd85b605a1b608082015260a00190565b60208082526027908201527f476f7665726e616e63653a3a5f63617374566f74653a20766f74696e672069736040820152660818db1bdcd95960ca1b606082015260800190565b6020808252602d908201527f476f7665726e616e63653a3a70726f706f73653a2070736575646f2d6578746560408201526c393730b610333ab731ba34b7b760991b606082015260800190565b6020808252603c908201527f476f7665726e616e63653a3a70726f706f73653a2070726f706f73657220766f60408201527f7465732062656c6f772070726f706f73616c207468726573686f6c6400000000606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526036908201527f476f7665726e616e63653a3a70726f706f73653a206d6574616d6f72706869636040820152750818dbdb9d1c9858dd1cc81b9bdd08185b1b1bddd95960521b606082015260800190565b60208082526024908201527f476f7665726e616e63653a20696e636f727265637420766f7465457874656e6460408201526354696d6560e01b606082015260800190565b6020808252601d908201527f476f7665726e616e63653a20746f6b656e7320617265206c6f636b6564000000604082015260600190565b60208082526019908201527f544f524e3a207472616e7366657246726f6d206661696c656400000000000000604082015260600190565b60208082526010908201526f43616e206e6f7420626520656d70747960801b604082015260600190565b60208082526018908201527f476f7665726e616e63653a20756e617574686f72697a65640000000000000000604082015260600190565b6020808252601d908201527f476f7665726e616e63653a20696e76616c69642064656c656761746565000000604082015260600190565b60208082526018908201527f476f7665726e616e63653a2062616c616e636520697320300000000000000000604082015260600190565b60208082526023908201527f476f7665726e616e63653a3a70726f706f73653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252600d908201526c6f6e6c79206d756c746973696760981b604082015260600190565b60208082526026908201527f476f7665726e616e63653a3a73746174653a20696e76616c69642070726f706f6040820152651cd85b081a5960d21b606082015260800190565b6020808252602a908201527f476f7665726e616e63653a20746f6b656e732061726520616c726561647920756040820152691b99195b1959d85d195960b21b606082015260800190565b6020808252601a908201527f476f7665726e616e63653a206e6f7420617574686f72697a6564000000000000604082015260600190565b60208082526019908201527f50726f706f73616c20657865637574696f6e206661696c656400000000000000604082015260600190565b60208082526019908201527f476f7665726e616e63653a20766f74656420616c726561647900000000000000604082015260600190565b8151151581526020808301511515908201526040918201519181019190915260600190565b60405181810167ffffffffffffffff8111828210171561312657600080fd5b604052919050565b60005b83811015613149578181015183820152602001613131565b838111156118ad5750506000910152565b6001600160a01b038116811461169f57600080fd5b801515811461169f57600080fdfea26469706673582212209ae80078297b488112cf4c0eaef3af85f34156332aa7d60065ce1ebb90ab93c264736f6c634300060c0033"; +const isSuperArgs$6 = (xs) => xs.length > 1; +class GovernanceProposalStateUpgrade__factory extends ContractFactory { + constructor(...args) { + if (isSuperArgs$6(args)) { + super(...args); + } else { + super(_abi$6, _bytecode$6, args[0]); + } + } + getDeployTransaction(stakingRewardsAddress, gasCompLogic, userVaultAddress, overrides) { + return super.getDeployTransaction( + stakingRewardsAddress, + gasCompLogic, + userVaultAddress, + overrides || {} + ); + } + deploy(stakingRewardsAddress, gasCompLogic, userVaultAddress, overrides) { + return super.deploy( + stakingRewardsAddress, + gasCompLogic, + userVaultAddress, + overrides || {} + ); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new Interface(_abi$6); + } + static connect(address, runner) { + return new Contract( + address, + _abi$6, + runner + ); + } +} +GovernanceProposalStateUpgrade__factory.bytecode = _bytecode$6; +GovernanceProposalStateUpgrade__factory.abi = _abi$6; + +var index$3 = /*#__PURE__*/Object.freeze({ + __proto__: null, + GovernanceProposalStateUpgrade__factory: GovernanceProposalStateUpgrade__factory +}); + +const _abi$5 = [ + { + inputs: [ + { + internalType: "address", + name: "_logic", + type: "address" + }, + { + internalType: "address", + name: "_admin", + type: "address" + }, + { + internalType: "bytes", + name: "_data", + type: "bytes" + } + ], + stateMutability: "payable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "previousAdmin", + type: "address" + }, + { + indexed: false, + internalType: "address", + name: "newAdmin", + type: "address" + } + ], + name: "AdminChanged", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "implementation", + type: "address" + } + ], + name: "Upgraded", + type: "event" + }, + { + stateMutability: "payable", + type: "fallback" + }, + { + inputs: [], + name: "admin", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "newAdmin", + type: "address" + } + ], + name: "changeAdmin", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "implementation", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "newImplementation", + type: "address" + } + ], + name: "upgradeTo", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "newImplementation", + type: "address" + }, + { + internalType: "bytes", + name: "data", + type: "bytes" + } + ], + name: "upgradeToAndCall", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + stateMutability: "payable", + type: "receive" + } +]; +const _bytecode$5 = "0x60806040526040516108403803806108408339818101604052606081101561002657600080fd5b8151602083015160408085018051915193959294830192918464010000000082111561005157600080fd5b90830190602082018581111561006657600080fd5b825164010000000081118282018810171561008057600080fd5b82525081516020918201929091019080838360005b838110156100ad578181015183820152602001610095565b50505050905090810190601f1680156100da5780820380516001836020036101000a031916815260200191505b50604052508491508390508282816100f1826101c5565b8051156101a9576000826001600160a01b0316826040518082805190602001908083835b602083106101345780518252601f199092019160209182019101610115565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610194576040519150601f19603f3d011682016040523d82523d6000602084013e610199565b606091505b50509050806101a757600080fd5b505b506101b19050565b6101ba82610237565b505050505050610261565b6101d88161025b60201b6103b41760201c565b6102135760405162461bcd60e51b815260040180806020018281038252603681526020018061080a6036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b3b151590565b61059a806102706000396000f3fe60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100985780635c60da1b146101185780638f28397014610149578063f851a4401461017c5761005d565b3661005d5761005b610191565b005b61005b610191565b34801561007157600080fd5b5061005b6004803603602081101561008857600080fd5b50356001600160a01b03166101ab565b61005b600480360360408110156100ae57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100d957600080fd5b8201836020820111156100eb57600080fd5b8035906020019184600183028401116401000000008311171561010d57600080fd5b5090925090506101e5565b34801561012457600080fd5b5061012d610292565b604080516001600160a01b039092168252519081900360200190f35b34801561015557600080fd5b5061005b6004803603602081101561016c57600080fd5b50356001600160a01b03166102cf565b34801561018857600080fd5b5061012d610389565b6101996101a9565b6101a96101a46103ba565b6103df565b565b6101b3610403565b6001600160a01b0316336001600160a01b031614156101da576101d581610428565b6101e2565b6101e2610191565b50565b6101ed610403565b6001600160a01b0316336001600160a01b031614156102855761020f83610428565b6000836001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d806000811461026c576040519150601f19603f3d011682016040523d82523d6000602084013e610271565b606091505b505090508061027f57600080fd5b5061028d565b61028d610191565b505050565b600061029c610403565b6001600160a01b0316336001600160a01b031614156102c4576102bd6103ba565b90506102cc565b6102cc610191565b90565b6102d7610403565b6001600160a01b0316336001600160a01b031614156101da576001600160a01b0381166103355760405162461bcd60e51b815260040180806020018281038252603a8152602001806104f5603a913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61035e610403565b604080516001600160a01b03928316815291841660208301528051918290030190a16101d581610468565b6000610393610403565b6001600160a01b0316336001600160a01b031614156102c4576102bd610403565b3b151590565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e8080156103fe573d6000f35b3d6000fd5b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b6104318161048c565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b610495816103b4565b6104d05760405162461bcd60e51b815260040180806020018281038252603681526020018061052f6036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5556fe5472616e73706172656e745570677261646561626c6550726f78793a206e65772061646d696e20697320746865207a65726f20616464726573735570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374a2646970667358221220f9da162f8a2d779a4f5f08577ac886bc4694791f749bd6ecc5d270427405583364736f6c634300060c00335570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374"; +const isSuperArgs$5 = (xs) => xs.length > 1; +class AdminUpgradeableProxy__factory extends ContractFactory { + constructor(...args) { + if (isSuperArgs$5(args)) { + super(...args); + } else { + super(_abi$5, _bytecode$5, args[0]); + } + } + getDeployTransaction(_logic, _admin, _data, overrides) { + return super.getDeployTransaction(_logic, _admin, _data, overrides || {}); + } + deploy(_logic, _admin, _data, overrides) { + return super.deploy(_logic, _admin, _data, overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new Interface(_abi$5); + } + static connect(address, runner) { + return new Contract( + address, + _abi$5, + runner + ); + } +} +AdminUpgradeableProxy__factory.bytecode = _bytecode$5; +AdminUpgradeableProxy__factory.abi = _abi$5; + +const _abi$4 = [ + { + inputs: [ + { + internalType: "address", + name: "_torn", + type: "address" + }, + { + internalType: "address", + name: "_governance", + type: "address" + }, + { + internalType: "address", + name: "_registry", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "instance", + type: "address" + }, + { + indexed: false, + internalType: "uint256", + name: "newFee", + type: "uint256" + } + ], + name: "FeeUpdated", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint24", + name: "newFee", + type: "uint24" + } + ], + name: "UniswapTornPoolSwappingFeeChanged", + type: "event" + }, + { + inputs: [], + name: "PROTOCOL_FEE_DIVIDER", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract ITornadoInstance", + name: "_instance", + type: "address" + } + ], + name: "calculatePoolFee", + outputs: [ + { + internalType: "uint160", + name: "", + type: "uint160" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "feeDeviations", + outputs: [ + { + components: [ + { + internalType: "address", + name: "instance", + type: "address" + }, + { + internalType: "int256", + name: "deviation", + type: "int256" + } + ], + internalType: "struct FeeManager.Deviation[]", + name: "results", + type: "tuple[]" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "governance", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract ITornadoInstance", + name: "", + type: "address" + } + ], + name: "instanceFee", + outputs: [ + { + internalType: "uint160", + name: "", + type: "uint160" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract ITornadoInstance", + name: "", + type: "address" + } + ], + name: "instanceFeeUpdated", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract ITornadoInstance", + name: "_instance", + type: "address" + } + ], + name: "instanceFeeWithUpdate", + outputs: [ + { + internalType: "uint160", + name: "", + type: "uint160" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "registry", + outputs: [ + { + internalType: "contract InstanceRegistry", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "uint32", + name: "newPeriod", + type: "uint32" + } + ], + name: "setPeriodForTWAPOracle", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint24", + name: "_uniswapTornPoolSwappingFee", + type: "uint24" + } + ], + name: "setUniswapTornPoolSwappingFee", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint24", + name: "newLimit", + type: "uint24" + } + ], + name: "setUpdateFeeTimeLimit", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "torn", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "uniswapTimePeriod", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "uniswapTornPoolSwappingFee", + outputs: [ + { + internalType: "uint24", + name: "", + type: "uint24" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "updateAllFees", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "contract ITornadoInstance", + name: "_instance", + type: "address" + } + ], + name: "updateFee", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "updateFeeTimeLimit", + outputs: [ + { + internalType: "uint24", + name: "", + type: "uint24" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract ITornadoInstance[]", + name: "_instances", + type: "address[]" + } + ], + name: "updateFees", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; +const _bytecode$4 = "0x60e06040523480156200001157600080fd5b5060405162001a7f38038062001a7f83398101604081905262000034916200005c565b6001600160601b0319606093841b811660805291831b821660a05290911b1660c052620000c8565b60008060006060848603121562000071578283fd5b83516200007e81620000af565b60208501519093506200009181620000af565b6040850151909250620000a481620000af565b809150509250925092565b6001600160a01b0381168114620000c557600080fd5b50565b60805160601c60a05160601c60c05160601c61195e62000121600039806102ce52806104f6528061077752806109945250806104b7528061052e528061060f528061070852508061068f528061087e525061195e6000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c8063a0287520116100a2578063bcc5ee6411610071578063bcc5ee641461020f578063c51c229714610217578063d8718fb11461022a578063e1f121561461023f578063f522d6d61461025257610116565b8063a0287520146101d9578063adf898a4146101ec578063aeb3077a146101f4578063b19a2972146101fc57610116565b8063603a54fe116100e9578063603a54fe146101815780637b103999146101945780637ccd2f481461019c57806380679eb3146101b157806380eb7bf0146101c657610116565b806305e343641461011b5780632efbf384146101445780634bf0a542146101645780635aa6e67514610179575b600080fd5b61012e610129366004611646565b61025a565b60405161013b919061188c565b60405180910390f35b610157610152366004611646565b61026c565b60405161013b91906116d3565b61016c6102c9565b60405161013b919061170f565b6101576104b5565b61015761018f366004611646565b6104d9565b6101576104f4565b6101a4610518565b60405161013b919061187c565b6101c46101bf366004611696565b610523565b005b6101c46101d4366004611646565b61057e565b6101c46101e7366004611662565b610604565b61015761068d565b61012e6106b1565b6101c461020a3660046113e4565b6106b7565b6101a46106eb565b6101c4610225366004611662565b6106fd565b61023261075a565b60405161013b9190611895565b61015761024d366004611646565b61076d565b6101c461098f565b60026020526000908152604090205481565b600080546001600160a01b038316825260026020526040822054600160381b90910462ffffff16429190910311156102a7576102a78261057e565b506001600160a01b03808216600090815260016020526040902054165b919050565b6060807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310c13ac36040518163ffffffff1660e01b815260040160006040518083038186803b15801561032557600080fd5b505afa158015610339573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610361919081019061147d565b9050805167ffffffffffffffff8111801561037b57600080fd5b506040519080825280602002602001820160405280156103b557816020015b6103a261131d565b81526020019060019003908161039a5790505b50915060005b81518110156104b05760006103e28383815181106103d557fe5b602002602001015161076d565b6001600160a01b031690506000811561045e576103e8826001600087878151811061040957fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060009054906101000a90046001600160a01b03166103e8026001600160a01b03168161045957fe5b040390505b604051806040016040528085858151811061047557fe5b60200260200101516001600160a01b031681526020018281525085848151811061049b57fe5b602090810291909101015250506001016103bb565b505090565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001602052600090815260409020546001600160a01b031681565b7f000000000000000000000000000000000000000000000000000000000000000081565b60005462ffffff1681565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461055857600080fd5b6000805463ffffffff90921663010000000266ffffffff00000019909216919091179055565b60006105898261076d565b6001600160a01b03838116600081815260016020908152604080832080546001600160a01b03191695871695909517909455600290528290204290559051919250907f6f0eaf2c2f89fb4cfe96a1dee5e764d60b52c7f48aaa590f0850e308aa1b953a906105f89084906116d3565b60405180910390a25050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461063957600080fd5b6000805462ffffff191662ffffff83811691909117918290556040517fbfe65cfc2359076c4468c9b895156c309c78f94fb09f6d2fc0463c4ca9a71ac29261068292169061187c565b60405180910390a150565b7f000000000000000000000000000000000000000000000000000000000000000081565b61271081565b60005b81518110156106e7576106df8282815181106106d257fe5b602002602001015161057e565b6001016106ba565b5050565b600054600160381b900462ffffff1681565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461073257600080fd5b6000805462ffffff909216600160381b0269ffffff0000000000000019909216919091179055565b6000546301000000900463ffffffff1681565b60008060008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663032bb443876040518263ffffffff1660e01b81526004016107c191906116d3565b60a06040518083038186803b1580156107d957600080fd5b505afa1580156107ed573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061081191906115cb565b9450945050935093508063ffffffff16600014156108365760009450505050506102c4565b6001600160a01b03831615801561084b575083155b610855578261086b565b73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25b6040805180820182526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081168252831660208083019190915282518084019093526000805462ffffff80821686528816928501929092529396506108e5929063ffffffff630100000090910416610a29565b905061098461271061097e8463ffffffff166109788561097e670de0b6b3a76400008e6001600160a01b0316638bca6d166040518163ffffffff1660e01b815260040160206040518083038186803b15801561094057600080fd5b505afa158015610954573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610978919061167e565b90610a75565b90610ac1565b979650505050505050565b610a277f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310c13ac36040518163ffffffff1660e01b815260040160006040518083038186803b1580156109eb57600080fd5b505afa1580156109ff573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261020a919081019061147d565b565b60208084015190830151600091610a409184610b03565b84518451610a6391670de0b6b3a764000091610a5d919087610b03565b90610b2d565b81610a6a57fe5b0490505b9392505050565b600082610a8457506000610abb565b82820282848281610a9157fe5b0414610ab85760405162461bcd60e51b8152600401610aaf9061183b565b60405180910390fd5b90505b92915050565b6000610ab883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610b51565b6000610b258473c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28585610b88565b949350505050565b6000821580610b4857505081810281838281610b4557fe5b04145b610abb57600080fd5b60008183610b725760405162461bcd60e51b8152600401610aaf91906117b1565b506000838581610b7e57fe5b0495945050505050565b600080846001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610bc457600080fd5b505afa158015610bd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bfc91906116b2565b60ff16600a0a90506001600160a01b038681169086161415610c28576001600160801b03169050610b25565b604051630b4c774160e11b8152610cc990610cc190731f98431c8ad98523631ae4a59f267346ea31f98490631698ee8290610c6b908b908b908b906004016116e7565b60206040518083038186803b158015610c8357600080fd5b505afa158015610c97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cbb91906113c8565b85610cda565b828888610e6f565b915050610b25565b50949350505050565b600063ffffffff8216610cff5760405162461bcd60e51b8152600401610aaf90611804565b60408051600280825260608083018452926020830190803683370190505090508281600081518110610d2d57fe5b602002602001019063ffffffff16908163ffffffff1681525050600081600181518110610d5657fe5b63ffffffff9092166020928302919091019091015260405163883bdbfd60e01b81526060906001600160a01b0386169063883bdbfd90610d9a908590600401611767565b60006040518083038186803b158015610db257600080fd5b505afa158015610dc6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610dee9190810190611509565b509050600081600081518110610e0057fe5b602002602001015182600181518110610e1557fe5b60200260200101510390508463ffffffff168160060b81610e3257fe5b05935060008160060b128015610e5957508463ffffffff168160060b81610e5557fe5b0715155b15610e6657600019909301925b50505092915050565b600080610e7b86610f59565b90506001600160801b036001600160a01b03821611610eea576001600160a01b0380821680029084811690861610610eca57610ec5600160c01b876001600160801b031683611272565b610ee2565b610ee281876001600160801b0316600160c01b611272565b925050610cd1565b6000610f096001600160a01b0383168068010000000000000000611272565b9050836001600160a01b0316856001600160a01b031610610f4157610f3c600160801b876001600160801b031683611272565b610984565b61098481876001600160801b0316600160801b611272565b60008060008360020b12610f70578260020b610f78565b8260020b6000035b9050620d89e8811115610f9d5760405162461bcd60e51b8152600401610aaf90611820565b600060018216610fb157600160801b610fc3565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615610ff7576ffff97272373d413259a46990580e213a0260801c5b6004821615611016576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615611035576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615611054576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615611073576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615611092576fff2ea16466c96a3843ec78b326b528610260801c5b60808216156110b1576ffe5dee046a99a2a811c461f1969c30530260801c5b6101008216156110d1576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b6102008216156110f1576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615611111576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615611131576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615611151576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615611171576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615611191576f70d869a156d2a1b890bb3df62baf32f70260801c5b6180008216156111b1576f31be135f97d08fd981231505542fcfa60260801c5b620100008216156111d2576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b620200008216156111f2576e5d6af8dedb81196699c329225ee6040260801c5b62040000821615611211576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561122e576b048a170391f7dc42444e8fa20260801c5b60008460020b131561124957806000198161124557fe5b0490505b64010000000081061561125d576001611260565b60005b60ff16602082901c0192505050919050565b60008080600019858709868602925082811090839003039050806112a8576000841161129d57600080fd5b508290049050610a6e565b8084116112b457600080fd5b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b604080518082019091526000808252602082015290565b600082601f830112611344578081fd5b8151611357611352826118cd565b6118a6565b81815291506020808301908481018184028601820187101561137857600080fd5b60005b848110156113a057815161138e816118ed565b8452928201929082019060010161137b565b505050505092915050565b8051610abb816118ed565b8051600681900b8114610abb57600080fd5b6000602082840312156113d9578081fd5b8151610ab8816118ed565b600060208083850312156113f6578182fd5b823567ffffffffffffffff81111561140c578283fd5b8301601f8101851361141c578283fd5b803561142a611352826118cd565b8181528381019083850185840285018601891015611446578687fd5b8694505b8385101561147157803561145d816118ed565b83526001949094019391850191850161144a565b50979650505050505050565b6000602080838503121561148f578182fd5b825167ffffffffffffffff8111156114a5578283fd5b8301601f810185136114b5578283fd5b80516114c3611352826118cd565b81815283810190838501858402850186018910156114df578687fd5b8694505b83851015611471576114f589826113ab565b8352600194909401939185019185016114e3565b6000806040838503121561151b578081fd5b825167ffffffffffffffff80821115611532578283fd5b818501915085601f830112611545578283fd5b8151611553611352826118cd565b80828252602080830192508086018a828387028901011115611573578788fd5b8796505b8487101561159d576115898b826113b6565b845260019690960195928101928101611577565b5088015190965093505050808211156115b4578283fd5b506115c185828601611334565b9150509250929050565b600080600080600060a086880312156115e2578081fd5b855180151581146115f1578182fd5b6020870151909550611602816118ed565b604087015190945060028110611616578182fd5b606087015190935061162781611905565b608087015190925061163881611916565b809150509295509295909350565b600060208284031215611657578081fd5b8135610ab8816118ed565b600060208284031215611673578081fd5b8135610ab881611905565b60006020828403121561168f578081fd5b5051919050565b6000602082840312156116a7578081fd5b8135610ab881611916565b6000602082840312156116c3578081fd5b815160ff81168114610ab8578182fd5b6001600160a01b0391909116815260200190565b6001600160a01b03938416815291909216602082015262ffffff909116604082015260600190565b602080825282518282018190526000919060409081850190868401855b8281101561175a57815180516001600160a01b0316855286015186850152928401929085019060010161172c565b5091979650505050505050565b6020808252825182820181905260009190848201906040850190845b818110156117a557835163ffffffff1683529284019291840191600101611783565b50909695505050505050565b6000602080835283518082850152825b818110156117dd578581018301518582016040015282016117c1565b818111156117ee5783604083870101525b50601f01601f1916929092016040019392505050565b602080825260029082015261042560f41b604082015260600190565b6020808252600190820152601560fa1b604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b62ffffff91909116815260200190565b90815260200190565b63ffffffff91909116815260200190565b60405181810167ffffffffffffffff811182821017156118c557600080fd5b604052919050565b600067ffffffffffffffff8211156118e3578081fd5b5060209081020190565b6001600160a01b038116811461190257600080fd5b50565b62ffffff8116811461190257600080fd5b63ffffffff8116811461190257600080fdfea26469706673582212205690be246e00d9bf30da35441a160026439ececfa962348f01e498d25f89f5d164736f6c634300060c0033"; +const isSuperArgs$4 = (xs) => xs.length > 1; +class FeeManager__factory extends ContractFactory { + constructor(...args) { + if (isSuperArgs$4(args)) { + super(...args); + } else { + super(_abi$4, _bytecode$4, args[0]); + } + } + getDeployTransaction(_torn, _governance, _registry, overrides) { + return super.getDeployTransaction( + _torn, + _governance, + _registry, + overrides || {} + ); + } + deploy(_torn, _governance, _registry, overrides) { + return super.deploy( + _torn, + _governance, + _registry, + overrides || {} + ); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new Interface(_abi$4); + } + static connect(address, runner) { + return new Contract(address, _abi$4, runner); + } +} +FeeManager__factory.bytecode = _bytecode$4; +FeeManager__factory.abi = _abi$4; + +const _abi$3 = [ + { + inputs: [ + { + internalType: "address", + name: "_governance", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + inputs: [], + name: "GovernanceAddress", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "gasAmount", + type: "uint256" + } + ], + name: "compensateGas", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "withdrawToGovernance", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + stateMutability: "payable", + type: "receive" + } +]; +const _bytecode$3 = "0x60a0604052348015600f57600080fd5b50604051610472380380610472833981016040819052602c91603c565b6001600160a01b0316608052606a565b600060208284031215604d57600080fd5b81516001600160a01b0381168114606357600080fd5b9392505050565b6080516103da6100986000396000818160560152818160e101528181610212015261027701526103da6000f3fe6080604052600436106100385760003560e01c8063a3221c2e14610044578063a99ce80714610094578063e822f784146100b657600080fd5b3661003f57005b600080fd5b34801561005057600080fd5b506100787f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b3480156100a057600080fd5b506100b46100af366004610328565b6100d6565b005b3480156100c257600080fd5b506100b46100d1366004610360565b610207565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461013e5760405162461bcd60e51b815260206004820152600860248201526737b7363c9033b7bb60c11b60448201526064015b60405180910390fd5b47600061014b4884610379565b90508160000361015b5750505050565b6000846001600160a01b03168383116101745782610176565b835b604051600081818185875af1925050503d80600081146101b2576040519150601f19603f3d011682016040523d82523d6000602084013e6101b7565b606091505b50509050806102005760405162461bcd60e51b815260206004820152601560248201527418dbdb5c195b9cd85d194819d85cc819985a5b1959605a1b6044820152606401610135565b5050505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461026a5760405162461bcd60e51b815260206004820152600860248201526737b7363c9033b7bb60c11b6044820152606401610135565b4760006001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168284116102a457836102a6565b825b604051600081818185875af1925050503d80600081146102e2576040519150601f19603f3d011682016040523d82523d6000602084013e6102e7565b606091505b50509050806103235760405162461bcd60e51b81526020600482015260086024820152671c185e4819985a5b60c21b6044820152606401610135565b505050565b6000806040838503121561033b57600080fd5b82356001600160a01b038116811461035257600080fd5b946020939093013593505050565b60006020828403121561037257600080fd5b5035919050565b808202811582820484141761039e57634e487b7160e01b600052601160045260246000fd5b9291505056fea264697066735822122073841dd5b5d8687d927814633a2fcb7944a306bb89a9b65a0aab4cc361c8312264736f6c63430008190033"; +const isSuperArgs$3 = (xs) => xs.length > 1; +class GasCompensationVault__factory extends ContractFactory { + constructor(...args) { + if (isSuperArgs$3(args)) { + super(...args); + } else { + super(_abi$3, _bytecode$3, args[0]); + } + } + getDeployTransaction(_governance, overrides) { + return super.getDeployTransaction(_governance, overrides || {}); + } + deploy(_governance, overrides) { + return super.deploy(_governance, overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new Interface(_abi$3); + } + static connect(address, runner) { + return new Contract( + address, + _abi$3, + runner + ); + } +} +GasCompensationVault__factory.bytecode = _bytecode$3; +GasCompensationVault__factory.abi = _abi$3; + +const _abi$2 = [ + { + inputs: [ + { + internalType: "address", + name: "_logic", + type: "address" + }, + { + internalType: "bytes", + name: "_data", + type: "bytes" + } + ], + stateMutability: "payable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "previousAdmin", + type: "address" + }, + { + indexed: false, + internalType: "address", + name: "newAdmin", + type: "address" + } + ], + name: "AdminChanged", + type: "event" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "implementation", + type: "address" + } + ], + name: "Upgraded", + type: "event" + }, + { + stateMutability: "payable", + type: "fallback" + }, + { + inputs: [], + name: "admin", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "newAdmin", + type: "address" + } + ], + name: "changeAdmin", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [], + name: "implementation", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "newImplementation", + type: "address" + } + ], + name: "upgradeTo", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "address", + name: "newImplementation", + type: "address" + }, + { + internalType: "bytes", + name: "data", + type: "bytes" + } + ], + name: "upgradeToAndCall", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + stateMutability: "payable", + type: "receive" + } +]; +const _bytecode$2 = "0x608060405260405161083b38038061083b8339818101604052604081101561002657600080fd5b81516020830180516040519294929383019291908464010000000082111561004d57600080fd5b90830190602082018581111561006257600080fd5b825164010000000081118282018810171561007c57600080fd5b82525081516020918201929091019080838360005b838110156100a9578181015183820152602001610091565b50505050905090810190601f1680156100d65780820380516001836020036101000a031916815260200191505b50604052508391503090508282816100ed826101c0565b8051156101a5576000826001600160a01b0316826040518082805190602001908083835b602083106101305780518252601f199092019160209182019101610111565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610190576040519150601f19603f3d011682016040523d82523d6000602084013e610195565b606091505b50509050806101a357600080fd5b505b506101ad9050565b6101b682610232565b505050505061025c565b6101d38161025660201b6103b41760201c565b61020e5760405162461bcd60e51b81526004018080602001828103825260368152602001806108056036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b3b151590565b61059a8061026b6000396000f3fe60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100985780635c60da1b146101185780638f28397014610149578063f851a4401461017c5761005d565b3661005d5761005b610191565b005b61005b610191565b34801561007157600080fd5b5061005b6004803603602081101561008857600080fd5b50356001600160a01b03166101ab565b61005b600480360360408110156100ae57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100d957600080fd5b8201836020820111156100eb57600080fd5b8035906020019184600183028401116401000000008311171561010d57600080fd5b5090925090506101e5565b34801561012457600080fd5b5061012d610292565b604080516001600160a01b039092168252519081900360200190f35b34801561015557600080fd5b5061005b6004803603602081101561016c57600080fd5b50356001600160a01b03166102cf565b34801561018857600080fd5b5061012d610389565b6101996101a9565b6101a96101a46103ba565b6103df565b565b6101b3610403565b6001600160a01b0316336001600160a01b031614156101da576101d581610428565b6101e2565b6101e2610191565b50565b6101ed610403565b6001600160a01b0316336001600160a01b031614156102855761020f83610428565b6000836001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d806000811461026c576040519150601f19603f3d011682016040523d82523d6000602084013e610271565b606091505b505090508061027f57600080fd5b5061028d565b61028d610191565b505050565b600061029c610403565b6001600160a01b0316336001600160a01b031614156102c4576102bd6103ba565b90506102cc565b6102cc610191565b90565b6102d7610403565b6001600160a01b0316336001600160a01b031614156101da576001600160a01b0381166103355760405162461bcd60e51b815260040180806020018281038252603a8152602001806104f5603a913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61035e610403565b604080516001600160a01b03928316815291841660208301528051918290030190a16101d581610468565b6000610393610403565b6001600160a01b0316336001600160a01b031614156102c4576102bd610403565b3b151590565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e8080156103fe573d6000f35b3d6000fd5b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b6104318161048c565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b610495816103b4565b6104d05760405162461bcd60e51b815260040180806020018281038252603681526020018061052f6036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5556fe5472616e73706172656e745570677261646561626c6550726f78793a206e65772061646d696e20697320746865207a65726f20616464726573735570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374a264697066735822122014d721b179bdff3154685a6f1f0fecdd0d99b7cfc61b3f1a2f7a95c6f6d2c2ae64736f6c634300060c00335570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374"; +const isSuperArgs$2 = (xs) => xs.length > 1; +class LoopbackProxy__factory extends ContractFactory { + constructor(...args) { + if (isSuperArgs$2(args)) { + super(...args); + } else { + super(_abi$2, _bytecode$2, args[0]); + } + } + getDeployTransaction(_logic, _data, overrides) { + return super.getDeployTransaction(_logic, _data, overrides || {}); + } + deploy(_logic, _data, overrides) { + return super.deploy(_logic, _data, overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new Interface(_abi$2); + } + static connect(address, runner) { + return new Contract(address, _abi$2, runner); + } +} +LoopbackProxy__factory.bytecode = _bytecode$2; +LoopbackProxy__factory.abi = _abi$2; + +const _abi$1 = [ + { + inputs: [ + { + internalType: "address", + name: "_governance", + type: "address" + }, + { + internalType: "address", + name: "_instanceRegistry", + type: "address" + }, + { + internalType: "address", + name: "_relayerRegistry", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address" + }, + { + indexed: false, + internalType: "bytes", + name: "encryptedNote", + type: "bytes" + } + ], + name: "EncryptedNote", + type: "event" + }, + { + inputs: [ + { + internalType: "contract IERC20", + name: "_token", + type: "address" + }, + { + internalType: "address", + name: "_spender", + type: "address" + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256" + } + ], + name: "approveExactToken", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "bytes[]", + name: "_encryptedNotes", + type: "bytes[]" + } + ], + name: "backupNotes", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "contract ITornadoInstance", + name: "_tornado", + type: "address" + }, + { + internalType: "bytes32", + name: "_commitment", + type: "bytes32" + }, + { + internalType: "bytes", + name: "_encryptedNote", + type: "bytes" + } + ], + name: "deposit", + outputs: [], + stateMutability: "payable", + type: "function" + }, + { + inputs: [], + name: "governance", + outputs: [ + { + internalType: "address", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "instanceRegistry", + outputs: [ + { + internalType: "contract InstanceRegistry", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [], + name: "relayerRegistry", + outputs: [ + { + internalType: "contract RelayerRegistry", + name: "", + type: "address" + } + ], + stateMutability: "view", + type: "function" + }, + { + inputs: [ + { + internalType: "contract IERC20", + name: "_token", + type: "address" + }, + { + internalType: "address payable", + name: "_to", + type: "address" + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256" + } + ], + name: "rescueTokens", + outputs: [], + stateMutability: "nonpayable", + type: "function" + }, + { + inputs: [ + { + internalType: "contract ITornadoInstance", + name: "_tornado", + type: "address" + }, + { + internalType: "bytes", + name: "_proof", + type: "bytes" + }, + { + internalType: "bytes32", + name: "_root", + type: "bytes32" + }, + { + internalType: "bytes32", + name: "_nullifierHash", + type: "bytes32" + }, + { + internalType: "address payable", + name: "_recipient", + type: "address" + }, + { + internalType: "address payable", + name: "_relayer", + type: "address" + }, + { + internalType: "uint256", + name: "_fee", + type: "uint256" + }, + { + internalType: "uint256", + name: "_refund", + type: "uint256" + } + ], + name: "withdraw", + outputs: [], + stateMutability: "payable", + type: "function" + } +]; +const _bytecode$1 = "0x60e060405234801561001057600080fd5b5060405161128438038061128483398101604081905261002f91610056565b6001600160601b0319606093841b811660805291831b821660a05290911b1660c0526100ba565b60008060006060848603121561006a578283fd5b8351610075816100a2565b6020850151909350610086816100a2565b6040850151909250610097816100a2565b809150509250925092565b6001600160a01b03811681146100b757600080fd5b50565b60805160601c60a05160601c60c05160601c61117c610108600039806103ff528061059e525080610164528061037a52806103a752806104c8525080610423528061068e525061117c6000f3fe60806040526004361061007b5760003560e01c80635aa6e6751161004e5780635aa6e675146100f55780636485ba2a1461010a578063b438689f1461012a578063cea9d26f1461013d5761007b565b806313d98d131461008057806336a3874b146100955780633ef10783146100c057806347ff589d146100e0575b600080fd5b61009361008e366004610c77565b61015d565b005b3480156100a157600080fd5b506100aa610378565b6040516100b79190610dd0565b60405180910390f35b3480156100cc57600080fd5b506100936100db366004610c37565b61039c565b3480156100ec57600080fd5b506100aa6103fd565b34801561010157600080fd5b506100aa610421565b34801561011657600080fd5b50610093610125366004610b26565b610445565b610093610138366004610cd1565b6104ae565b34801561014957600080fd5b50610093610158366004610c37565b610683565b60008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663032bb443886040518263ffffffff1660e01b81526004016101ae9190610dd0565b60a06040518083038186803b1580156101c657600080fd5b505afa1580156101da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101fe9190610bb1565b5092955090935091506000905081600181111561021757fe5b141561023e5760405162461bcd60e51b815260040161023590610f00565b60405180910390fd5b82156102cc576102cc3330896001600160a01b0316638bca6d166040518163ffffffff1660e01b815260040160206040518083038186803b15801561028257600080fd5b505afa158015610296573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102ba9190610d72565b6001600160a01b038616929190610817565b60405163b214faa560e01b81526001600160a01b0388169063b214faa59034906102fa908a90600401610e5e565b6000604051808303818588803b15801561031357600080fd5b505af1158015610327573d6000803e3d6000fd5b5050505050336001600160a01b03167ffa28df43db3553771f7209dcef046f3bdfea15870ab625dcda30ac58b82b40088686604051610367929190610e67565b60405180910390a250505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103e45760405162461bcd60e51b815260040161023590611087565b6103f86001600160a01b0384168383610875565b505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b60005b818110156103f857337ffa28df43db3553771f7209dcef046f3bdfea15870ab625dcda30ac58b82b400884848481811061047e57fe5b905060200281019061049091906110af565b60405161049e929190610e67565b60405180910390a2600101610448565b60405163032bb44360e01b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063032bb443906104fd908d90600401610dd0565b60a06040518083038186803b15801561051557600080fd5b505afa158015610529573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054d9190610bb1565b509093506000925061055d915050565b81600181111561056957fe5b14156105875760405162461bcd60e51b815260040161023590610f00565b604051631168473b60e21b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906345a11cec906105d790339088908f90600401610de4565b600060405180830381600087803b1580156105f157600080fd5b505af1158015610605573d6000803e3d6000fd5b50506040516310d056db60e11b81526001600160a01b038d1692506321a0adb691503490610645908d908d908d908d908d908d908d908d90600401610e7b565b6000604051808303818588803b15801561065e57600080fd5b505af1158015610672573d6000803e3d6000fd5b505050505050505050505050505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106cb5760405162461bcd60e51b815260040161023590611087565b6001600160a01b0382166106f15760405162461bcd60e51b815260040161023590610f6e565b6001600160a01b03831661074d5747600061070c8284610938565b6040519091506001600160a01b0385169082156108fc029083906000818181858888f19350505050158015610745573d6000803e3d6000fd5b5050506103f8565b6040516370a0823160e01b81526000906001600160a01b038516906370a082319061077c903090600401610dd0565b60206040518083038186803b15801561079457600080fd5b505afa1580156107a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107cc9190610d72565b905060006107da8284610938565b9050600081116107fc5760405162461bcd60e51b815260040161023590610ffa565b6108106001600160a01b0386168583610950565b5050505050565b61086f846323b872dd60e01b85858560405160240161083893929190610e21565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261096f565b50505050565b8015806108fd5750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e906108ab9030908690600401610e07565b60206040518083038186803b1580156108c357600080fd5b505afa1580156108d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108fb9190610d72565b155b6109195760405162461bcd60e51b815260040161023590611031565b6103f88363095ea7b360e01b8484604051602401610838929190610e45565b60008183106109475781610949565b825b9392505050565b6103f88363a9059cbb60e01b8484604051602401610838929190610e45565b60606109c4826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166109fe9092919063ffffffff16565b8051909150156103f857808060200190518101906109e29190610b95565b6103f85760405162461bcd60e51b815260040161023590610fb0565b6060610a0d8484600085610a15565b949350505050565b6060610a2085610ad9565b610a3c5760405162461bcd60e51b815260040161023590610f37565b60006060866001600160a01b03168587604051610a599190610db4565b60006040518083038185875af1925050503d8060008114610a96576040519150601f19603f3d011682016040523d82523d6000602084013e610a9b565b606091505b50915091508115610aaf579150610a0d9050565b805115610abf5780518082602001fd5b8360405162461bcd60e51b81526004016102359190610ecd565b3b151590565b60008083601f840112610af0578182fd5b50813567ffffffffffffffff811115610b07578182fd5b602083019150836020828501011115610b1f57600080fd5b9250929050565b60008060208385031215610b38578182fd5b823567ffffffffffffffff80821115610b4f578384fd5b818501915085601f830112610b62578384fd5b813581811115610b70578485fd5b8660208083028501011115610b83578485fd5b60209290920196919550909350505050565b600060208284031215610ba6578081fd5b815161094981611138565b600080600080600060a08688031215610bc8578081fd5b8551610bd381611138565b6020870151909550610be481611120565b604087015190945060028110610bf8578182fd5b606087015190935062ffffff81168114610c10578182fd5b608087015190925063ffffffff81168114610c29578182fd5b809150509295509295909350565b600080600060608486031215610c4b578283fd5b8335610c5681611120565b92506020840135610c6681611120565b929592945050506040919091013590565b60008060008060608587031215610c8c578384fd5b8435610c9781611120565b935060208501359250604085013567ffffffffffffffff811115610cb9578283fd5b610cc587828801610adf565b95989497509550505050565b60008060008060008060008060006101008a8c031215610cef578384fd5b8935610cfa81611120565b985060208a013567ffffffffffffffff811115610d15578485fd5b610d218c828d01610adf565b90995097505060408a0135955060608a0135945060808a0135610d4381611120565b935060a08a0135610d5381611120565b8093505060c08a0135915060e08a013590509295985092959850929598565b600060208284031215610d83578081fd5b5051919050565b60008284528282602086013780602084860101526020601f19601f85011685010190509392505050565b60008251610dc68184602087016110f4565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0393841681529183166020830152909116604082015260600190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03929092168252602082015260400190565b90815260200190565b600060208252610a0d602083018486610d8a565b600060e08252610e8f60e083018a8c610d8a565b60208301989098525060408101959095526001600160a01b03938416606086015291909216608084015260a083019190915260c09091015292915050565b6000602082528251806020840152610eec8160408501602087016110f4565b601f01601f19169190910160400192915050565b6020808252601d908201527f54686520696e7374616e6365206973206e6f7420737570706f72746564000000604082015260600190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b60208082526022908201527f544f524e3a2063616e206e6f742073656e6420746f207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b6020808252601e908201527f544f524e3a20747279696e6720746f2073656e6420302062616c616e63650000604082015260600190565b60208082526036908201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60408201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b606082015260800190565b6020808252600e908201526d139bdd08185d5d1a1bdc9a5e995960921b604082015260600190565b6000808335601e198436030181126110c5578283fd5b83018035915067ffffffffffffffff8211156110df578283fd5b602001915036819003821315610b1f57600080fd5b60005b8381101561110f5781810151838201526020016110f7565b8381111561086f5750506000910152565b6001600160a01b038116811461113557600080fd5b50565b801515811461113557600080fdfea26469706673582212209d7fe04aba36de62ec470c0d6176fa1eec04a15a73bce5d2370ff3ab967e9c2564736f6c634300060c0033"; +const isSuperArgs$1 = (xs) => xs.length > 1; +class TornadoRouter__factory extends ContractFactory { + constructor(...args) { + if (isSuperArgs$1(args)) { + super(...args); + } else { + super(_abi$1, _bytecode$1, args[0]); + } + } + getDeployTransaction(_governance, _instanceRegistry, _relayerRegistry, overrides) { + return super.getDeployTransaction( + _governance, + _instanceRegistry, + _relayerRegistry, + overrides || {} + ); + } + deploy(_governance, _instanceRegistry, _relayerRegistry, overrides) { + return super.deploy( + _governance, + _instanceRegistry, + _relayerRegistry, + overrides || {} + ); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new Interface(_abi$1); + } + static connect(address, runner) { + return new Contract(address, _abi$1, runner); + } +} +TornadoRouter__factory.bytecode = _bytecode$1; +TornadoRouter__factory.abi = _abi$1; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "_torn", + type: "address" + }, + { + internalType: "address", + name: "_governance", + type: "address" + } + ], + stateMutability: "nonpayable", + type: "constructor" + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address" + }, + { + internalType: "uint256", + name: "amount", + type: "uint256" + } + ], + name: "withdrawTorn", + outputs: [], + stateMutability: "nonpayable", + type: "function" + } +]; +const _bytecode = "0x60c060405234801561001057600080fd5b506040516104aa3803806104aa8339818101604052604081101561003357600080fd5b5080516020909101516001600160601b0319606092831b8116608052911b1660a05260805160601c60a05160601c61042e61007c60003980606952508060d3525061042e6000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c806391fe357314610030575b600080fd5b61005c6004803603604081101561004657600080fd5b506001600160a01b03813516906020013561005e565b005b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146100c6576040805162461bcd60e51b815260206004820152600860248201526737b7363c9033b7bb60c11b604482015290519081900360640190fd5b6100fa6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001683836100fe565b5050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610150908490610155565b505050565b60606101aa826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166102069092919063ffffffff16565b805190915015610150578080602001905160208110156101c957600080fd5b50516101505760405162461bcd60e51b815260040180806020018281038252602a8152602001806103cf602a913960400191505060405180910390fd5b6060610215848460008561021d565b949350505050565b6060610228856103c8565b610279576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106102b85780518252601f199092019160209182019101610299565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d806000811461031a576040519150601f19603f3d011682016040523d82523d6000602084013e61031f565b606091505b509150915081156103335791506102159050565b8051156103435780518082602001fd5b8360405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561038d578181015183820152602001610375565b50505050905090810190601f1680156103ba5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b3b15159056fe5361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a26469706673582212208fc65ae8299d617f6cff836a2822363849c7fb35b0b27a6f0aebfa62084005c764736f6c634300060c0033"; +const isSuperArgs = (xs) => xs.length > 1; +class TornadoVault__factory extends ContractFactory { + constructor(...args) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + getDeployTransaction(_torn, _governance, overrides) { + return super.getDeployTransaction(_torn, _governance, overrides || {}); + } + deploy(_torn, _governance, overrides) { + return super.deploy(_torn, _governance, overrides || {}); + } + connect(runner) { + return super.connect(runner); + } + static createInterface() { + return new Interface(_abi); + } + static connect(address, runner) { + return new Contract(address, _abi, runner); + } +} +TornadoVault__factory.bytecode = _bytecode; +TornadoVault__factory.abi = _abi; + +var index$2 = /*#__PURE__*/Object.freeze({ + __proto__: null, + AdminUpgradeableProxy__factory: AdminUpgradeableProxy__factory, + FeeManager__factory: FeeManager__factory, + GasCompensationVault__factory: GasCompensationVault__factory, + LoopbackProxy__factory: LoopbackProxy__factory, + TornadoRouter__factory: TornadoRouter__factory, + TornadoVault__factory: TornadoVault__factory, + aggregator: index$y, + deployerSol: index$x, + instanceRegistrySol: index$w, + interfaces: index$k, + libraries: index$i, + relayerRegistrySol: index$v, + testnet: index$r, + torn: index$s, + tornadoStakingRewardsSol: index$q, + uniswap: index$l, + v1: index$d, + v2VaultAndGas: index$a, + v3RelayerRegistry: index$8, + v4ExploitPatch: index$4, + v5ProposalStatePatch: index$3 +}); + +var index$1 = /*#__PURE__*/Object.freeze({ + __proto__: null, + classic: index$A, + governance: index$2 +}); + +var index = /*#__PURE__*/Object.freeze({ + __proto__: null, + contracts: index$1, + openzeppelin: index$H +}); + +export { AdminUpgradeableProxy__factory, Aggregator__factory, AirdropMock__factory, Airdrop__factory, BadRecipient__factory, CTornado__factory, Configuration__factory, Core__factory, Delegation__factory, Deployer__factory, DummySecond__factory, Dummy__factory, ENSMock__factory, ENS__factory, ERC20Basic__factory, ERC20Burnable__factory, ERC20Mock__factory, ERC20Permit__factory, ERC20Tornado__factory, ERC20__factory, ETHTornado__factory, Echoer__factory, EnsResolve__factory, FeeManager__factory, GasCompensationVault__factory, GasCompensator__factory, GovernanceAggregator__factory, GovernanceExploitPatchUpgrade__factory, GovernanceGasUpgrade__factory, GovernanceProposalStateUpgrade__factory, GovernanceStakingUpgrade__factory, GovernanceVaultUpgrade__factory, Governance__factory, IDeployer__factory$1 as IDeployer__factory, IENSRegistry__factory, IENSResolver__factory, IENS__factory, IERC1155Errors__factory, IERC20Decimals__factory, IERC20Errors__factory, IERC20Metadata__factory, IERC20__factory$1 as IERC20__factory, IERC721Errors__factory, IFeeManager__factory, IGasCompensationVault__factory, IGovernance__factory, IHasher__factory, IMetamorphicContractFactory__factory, IProxy__factory, IRelayerRegistry__factory, ITornadoGovernance__factory, ITornadoInstance__factory$1 as ITornadoInstance__factory, ITornadoRouter__factory, ITornadoStakingRewards__factory, ITornadoVault__factory$1 as ITornadoVault__factory, IUSDT__factory, IUniswapV3Factory__factory, IUniswapV3PoolActions__factory, IUniswapV3PoolDerivedState__factory, IUniswapV3PoolEvents__factory, IUniswapV3PoolImmutables__factory, IUniswapV3PoolOwnerActions__factory, IUniswapV3PoolState__factory, IUniswapV3Pool__factory, IVerifier__factory, InitialProposal__factory, InstanceRegistry__factory, LoopbackProxy__factory, MaliciousProposal__factory, MerkleTreeWithHistoryMock__factory, MerkleTreeWithHistory__factory, MockGovernance__factory, NewImplementation__factory, Ownable__factory, PatchProposal__factory, Pausable__factory, ProposalStateChangeGovernance__factory, ProposalUpgrade__factory, Proposal__factory, Proxy__factory, RelayerAggregator__factory, RelayerRegistry__factory, Resolver__factory, TORNMock__factory, TORN__factory, TestnetAdminProxy__factory, TestnetFeeManager__factory, TestnetGovernanceProxy__factory, Timestamp__factory, TornadoProxyLight__factory, TornadoRouter__factory, TornadoStakingRewards__factory, TornadoVault__factory, Tornado__factory, TransparentUpgradeableProxy__factory, UpgradeableProxy__factory, Verifier__factory, VestingMock__factory, Vesting__factory, VoucherMock__factory, Voucher__factory, index as factories }; diff --git a/typechain-types/@openzeppelin/contracts-v3/access/Ownable.ts b/typechain-types/@openzeppelin/contracts-v3/access/Ownable.ts new file mode 100644 index 0000000..c542110 --- /dev/null +++ b/typechain-types/@openzeppelin/contracts-v3/access/Ownable.ts @@ -0,0 +1,153 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../common"; + +export interface OwnableInterface extends Interface { + getFunction( + nameOrSignature: "owner" | "renounceOwnership" | "transferOwnership" + ): FunctionFragment; + + getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment; + + encodeFunctionData(functionFragment: "owner", values?: undefined): string; + encodeFunctionData( + functionFragment: "renounceOwnership", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transferOwnership", + values: [AddressLike] + ): string; + + decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "renounceOwnership", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "transferOwnership", + data: BytesLike + ): Result; +} + +export namespace OwnershipTransferredEvent { + export type InputTuple = [previousOwner: AddressLike, newOwner: AddressLike]; + export type OutputTuple = [previousOwner: string, newOwner: string]; + export interface OutputObject { + previousOwner: string; + newOwner: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface Ownable extends BaseContract { + connect(runner?: ContractRunner | null): Ownable; + waitForDeployment(): Promise; + + interface: OwnableInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + owner: TypedContractMethod<[], [string], "view">; + + renounceOwnership: TypedContractMethod<[], [void], "nonpayable">; + + transferOwnership: TypedContractMethod< + [newOwner: AddressLike], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "owner" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "renounceOwnership" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "transferOwnership" + ): TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">; + + getEvent( + key: "OwnershipTransferred" + ): TypedContractEvent< + OwnershipTransferredEvent.InputTuple, + OwnershipTransferredEvent.OutputTuple, + OwnershipTransferredEvent.OutputObject + >; + + filters: { + "OwnershipTransferred(address,address)": TypedContractEvent< + OwnershipTransferredEvent.InputTuple, + OwnershipTransferredEvent.OutputTuple, + OwnershipTransferredEvent.OutputObject + >; + OwnershipTransferred: TypedContractEvent< + OwnershipTransferredEvent.InputTuple, + OwnershipTransferredEvent.OutputTuple, + OwnershipTransferredEvent.OutputObject + >; + }; +} diff --git a/typechain-types/@openzeppelin/contracts-v3/access/index.ts b/typechain-types/@openzeppelin/contracts-v3/access/index.ts new file mode 100644 index 0000000..999bcc7 --- /dev/null +++ b/typechain-types/@openzeppelin/contracts-v3/access/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { Ownable } from "./Ownable"; diff --git a/typechain-types/@openzeppelin/contracts-v3/index.ts b/typechain-types/@openzeppelin/contracts-v3/index.ts new file mode 100644 index 0000000..2d75744 --- /dev/null +++ b/typechain-types/@openzeppelin/contracts-v3/index.ts @@ -0,0 +1,11 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as access from "./access"; +export type { access }; +import type * as proxy from "./proxy"; +export type { proxy }; +import type * as token from "./token"; +export type { token }; +import type * as utils from "./utils"; +export type { utils }; diff --git a/typechain-types/@openzeppelin/contracts-v3/proxy/Proxy.ts b/typechain-types/@openzeppelin/contracts-v3/proxy/Proxy.ts new file mode 100644 index 0000000..1cff7a0 --- /dev/null +++ b/typechain-types/@openzeppelin/contracts-v3/proxy/Proxy.ts @@ -0,0 +1,69 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + FunctionFragment, + Interface, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, +} from "../../../common"; + +export interface ProxyInterface extends Interface {} + +export interface Proxy extends BaseContract { + connect(runner?: ContractRunner | null): Proxy; + waitForDeployment(): Promise; + + interface: ProxyInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + getFunction( + key: string | FunctionFragment + ): T; + + filters: {}; +} diff --git a/typechain-types/@openzeppelin/contracts-v3/proxy/TransparentUpgradeableProxy.ts b/typechain-types/@openzeppelin/contracts-v3/proxy/TransparentUpgradeableProxy.ts new file mode 100644 index 0000000..a2db81b --- /dev/null +++ b/typechain-types/@openzeppelin/contracts-v3/proxy/TransparentUpgradeableProxy.ts @@ -0,0 +1,227 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../common"; + +export interface TransparentUpgradeableProxyInterface extends Interface { + getFunction( + nameOrSignature: + | "admin" + | "changeAdmin" + | "implementation" + | "upgradeTo" + | "upgradeToAndCall" + ): FunctionFragment; + + getEvent(nameOrSignatureOrTopic: "AdminChanged" | "Upgraded"): EventFragment; + + encodeFunctionData(functionFragment: "admin", values?: undefined): string; + encodeFunctionData( + functionFragment: "changeAdmin", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "implementation", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "upgradeTo", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "upgradeToAndCall", + values: [AddressLike, BytesLike] + ): string; + + decodeFunctionResult(functionFragment: "admin", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "changeAdmin", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "implementation", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "upgradeTo", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "upgradeToAndCall", + data: BytesLike + ): Result; +} + +export namespace AdminChangedEvent { + export type InputTuple = [previousAdmin: AddressLike, newAdmin: AddressLike]; + export type OutputTuple = [previousAdmin: string, newAdmin: string]; + export interface OutputObject { + previousAdmin: string; + newAdmin: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace UpgradedEvent { + export type InputTuple = [implementation: AddressLike]; + export type OutputTuple = [implementation: string]; + export interface OutputObject { + implementation: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface TransparentUpgradeableProxy extends BaseContract { + connect(runner?: ContractRunner | null): TransparentUpgradeableProxy; + waitForDeployment(): Promise; + + interface: TransparentUpgradeableProxyInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + admin: TypedContractMethod<[], [string], "nonpayable">; + + changeAdmin: TypedContractMethod< + [newAdmin: AddressLike], + [void], + "nonpayable" + >; + + implementation: TypedContractMethod<[], [string], "nonpayable">; + + upgradeTo: TypedContractMethod< + [newImplementation: AddressLike], + [void], + "nonpayable" + >; + + upgradeToAndCall: TypedContractMethod< + [newImplementation: AddressLike, data: BytesLike], + [void], + "payable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "admin" + ): TypedContractMethod<[], [string], "nonpayable">; + getFunction( + nameOrSignature: "changeAdmin" + ): TypedContractMethod<[newAdmin: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "implementation" + ): TypedContractMethod<[], [string], "nonpayable">; + getFunction( + nameOrSignature: "upgradeTo" + ): TypedContractMethod< + [newImplementation: AddressLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "upgradeToAndCall" + ): TypedContractMethod< + [newImplementation: AddressLike, data: BytesLike], + [void], + "payable" + >; + + getEvent( + key: "AdminChanged" + ): TypedContractEvent< + AdminChangedEvent.InputTuple, + AdminChangedEvent.OutputTuple, + AdminChangedEvent.OutputObject + >; + getEvent( + key: "Upgraded" + ): TypedContractEvent< + UpgradedEvent.InputTuple, + UpgradedEvent.OutputTuple, + UpgradedEvent.OutputObject + >; + + filters: { + "AdminChanged(address,address)": TypedContractEvent< + AdminChangedEvent.InputTuple, + AdminChangedEvent.OutputTuple, + AdminChangedEvent.OutputObject + >; + AdminChanged: TypedContractEvent< + AdminChangedEvent.InputTuple, + AdminChangedEvent.OutputTuple, + AdminChangedEvent.OutputObject + >; + + "Upgraded(address)": TypedContractEvent< + UpgradedEvent.InputTuple, + UpgradedEvent.OutputTuple, + UpgradedEvent.OutputObject + >; + Upgraded: TypedContractEvent< + UpgradedEvent.InputTuple, + UpgradedEvent.OutputTuple, + UpgradedEvent.OutputObject + >; + }; +} diff --git a/typechain-types/@openzeppelin/contracts-v3/proxy/UpgradeableProxy.ts b/typechain-types/@openzeppelin/contracts-v3/proxy/UpgradeableProxy.ts new file mode 100644 index 0000000..91d1f49 --- /dev/null +++ b/typechain-types/@openzeppelin/contracts-v3/proxy/UpgradeableProxy.ts @@ -0,0 +1,105 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + FunctionFragment, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, +} from "../../../common"; + +export interface UpgradeableProxyInterface extends Interface { + getEvent(nameOrSignatureOrTopic: "Upgraded"): EventFragment; +} + +export namespace UpgradedEvent { + export type InputTuple = [implementation: AddressLike]; + export type OutputTuple = [implementation: string]; + export interface OutputObject { + implementation: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface UpgradeableProxy extends BaseContract { + connect(runner?: ContractRunner | null): UpgradeableProxy; + waitForDeployment(): Promise; + + interface: UpgradeableProxyInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + getFunction( + key: string | FunctionFragment + ): T; + + getEvent( + key: "Upgraded" + ): TypedContractEvent< + UpgradedEvent.InputTuple, + UpgradedEvent.OutputTuple, + UpgradedEvent.OutputObject + >; + + filters: { + "Upgraded(address)": TypedContractEvent< + UpgradedEvent.InputTuple, + UpgradedEvent.OutputTuple, + UpgradedEvent.OutputObject + >; + Upgraded: TypedContractEvent< + UpgradedEvent.InputTuple, + UpgradedEvent.OutputTuple, + UpgradedEvent.OutputObject + >; + }; +} diff --git a/typechain-types/@openzeppelin/contracts-v3/proxy/index.ts b/typechain-types/@openzeppelin/contracts-v3/proxy/index.ts new file mode 100644 index 0000000..208ba3c --- /dev/null +++ b/typechain-types/@openzeppelin/contracts-v3/proxy/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { Proxy } from "./Proxy"; +export type { TransparentUpgradeableProxy } from "./TransparentUpgradeableProxy"; +export type { UpgradeableProxy } from "./UpgradeableProxy"; diff --git a/typechain-types/@openzeppelin/contracts-v3/token/ERC20/ERC20.ts b/typechain-types/@openzeppelin/contracts-v3/token/ERC20/ERC20.ts new file mode 100644 index 0000000..9ad4428 --- /dev/null +++ b/typechain-types/@openzeppelin/contracts-v3/token/ERC20/ERC20.ts @@ -0,0 +1,330 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../../common"; + +export interface ERC20Interface extends Interface { + getFunction( + nameOrSignature: + | "allowance" + | "approve" + | "balanceOf" + | "decimals" + | "decreaseAllowance" + | "increaseAllowance" + | "name" + | "symbol" + | "totalSupply" + | "transfer" + | "transferFrom" + ): FunctionFragment; + + getEvent(nameOrSignatureOrTopic: "Approval" | "Transfer"): EventFragment; + + encodeFunctionData( + functionFragment: "allowance", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "approve", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "balanceOf", + values: [AddressLike] + ): string; + encodeFunctionData(functionFragment: "decimals", values?: undefined): string; + encodeFunctionData( + functionFragment: "decreaseAllowance", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "increaseAllowance", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData(functionFragment: "symbol", values?: undefined): string; + encodeFunctionData( + functionFragment: "totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transfer", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "transferFrom", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "decreaseAllowance", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "increaseAllowance", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom", + data: BytesLike + ): Result; +} + +export namespace ApprovalEvent { + export type InputTuple = [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [owner: string, spender: string, value: bigint]; + export interface OutputObject { + owner: string; + spender: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace TransferEvent { + export type InputTuple = [ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [from: string, to: string, value: bigint]; + export interface OutputObject { + from: string; + to: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface ERC20 extends BaseContract { + connect(runner?: ContractRunner | null): ERC20; + waitForDeployment(): Promise; + + interface: ERC20Interface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + allowance: TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + + approve: TypedContractMethod< + [spender: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + balanceOf: TypedContractMethod<[account: AddressLike], [bigint], "view">; + + decimals: TypedContractMethod<[], [bigint], "view">; + + decreaseAllowance: TypedContractMethod< + [spender: AddressLike, subtractedValue: BigNumberish], + [boolean], + "nonpayable" + >; + + increaseAllowance: TypedContractMethod< + [spender: AddressLike, addedValue: BigNumberish], + [boolean], + "nonpayable" + >; + + name: TypedContractMethod<[], [string], "view">; + + symbol: TypedContractMethod<[], [string], "view">; + + totalSupply: TypedContractMethod<[], [bigint], "view">; + + transfer: TypedContractMethod< + [recipient: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + transferFrom: TypedContractMethod< + [sender: AddressLike, recipient: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "allowance" + ): TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + getFunction( + nameOrSignature: "approve" + ): TypedContractMethod< + [spender: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "balanceOf" + ): TypedContractMethod<[account: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "decimals" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "decreaseAllowance" + ): TypedContractMethod< + [spender: AddressLike, subtractedValue: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "increaseAllowance" + ): TypedContractMethod< + [spender: AddressLike, addedValue: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "name" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "symbol" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "totalSupply" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "transfer" + ): TypedContractMethod< + [recipient: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "transferFrom" + ): TypedContractMethod< + [sender: AddressLike, recipient: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + getEvent( + key: "Approval" + ): TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + getEvent( + key: "Transfer" + ): TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + + filters: { + "Approval(address,address,uint256)": TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + Approval: TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + + "Transfer(address,address,uint256)": TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + Transfer: TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + }; +} diff --git a/typechain-types/@openzeppelin/contracts-v3/token/ERC20/ERC20Burnable.ts b/typechain-types/@openzeppelin/contracts-v3/token/ERC20/ERC20Burnable.ts new file mode 100644 index 0000000..b10bc71 --- /dev/null +++ b/typechain-types/@openzeppelin/contracts-v3/token/ERC20/ERC20Burnable.ts @@ -0,0 +1,357 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../../common"; + +export interface ERC20BurnableInterface extends Interface { + getFunction( + nameOrSignature: + | "allowance" + | "approve" + | "balanceOf" + | "burn" + | "burnFrom" + | "decimals" + | "decreaseAllowance" + | "increaseAllowance" + | "name" + | "symbol" + | "totalSupply" + | "transfer" + | "transferFrom" + ): FunctionFragment; + + getEvent(nameOrSignatureOrTopic: "Approval" | "Transfer"): EventFragment; + + encodeFunctionData( + functionFragment: "allowance", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "approve", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "balanceOf", + values: [AddressLike] + ): string; + encodeFunctionData(functionFragment: "burn", values: [BigNumberish]): string; + encodeFunctionData( + functionFragment: "burnFrom", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData(functionFragment: "decimals", values?: undefined): string; + encodeFunctionData( + functionFragment: "decreaseAllowance", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "increaseAllowance", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData(functionFragment: "symbol", values?: undefined): string; + encodeFunctionData( + functionFragment: "totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transfer", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "transferFrom", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "burn", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "burnFrom", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "decreaseAllowance", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "increaseAllowance", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom", + data: BytesLike + ): Result; +} + +export namespace ApprovalEvent { + export type InputTuple = [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [owner: string, spender: string, value: bigint]; + export interface OutputObject { + owner: string; + spender: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace TransferEvent { + export type InputTuple = [ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [from: string, to: string, value: bigint]; + export interface OutputObject { + from: string; + to: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface ERC20Burnable extends BaseContract { + connect(runner?: ContractRunner | null): ERC20Burnable; + waitForDeployment(): Promise; + + interface: ERC20BurnableInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + allowance: TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + + approve: TypedContractMethod< + [spender: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + balanceOf: TypedContractMethod<[account: AddressLike], [bigint], "view">; + + burn: TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + + burnFrom: TypedContractMethod< + [account: AddressLike, amount: BigNumberish], + [void], + "nonpayable" + >; + + decimals: TypedContractMethod<[], [bigint], "view">; + + decreaseAllowance: TypedContractMethod< + [spender: AddressLike, subtractedValue: BigNumberish], + [boolean], + "nonpayable" + >; + + increaseAllowance: TypedContractMethod< + [spender: AddressLike, addedValue: BigNumberish], + [boolean], + "nonpayable" + >; + + name: TypedContractMethod<[], [string], "view">; + + symbol: TypedContractMethod<[], [string], "view">; + + totalSupply: TypedContractMethod<[], [bigint], "view">; + + transfer: TypedContractMethod< + [recipient: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + transferFrom: TypedContractMethod< + [sender: AddressLike, recipient: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "allowance" + ): TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + getFunction( + nameOrSignature: "approve" + ): TypedContractMethod< + [spender: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "balanceOf" + ): TypedContractMethod<[account: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "burn" + ): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "burnFrom" + ): TypedContractMethod< + [account: AddressLike, amount: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "decimals" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "decreaseAllowance" + ): TypedContractMethod< + [spender: AddressLike, subtractedValue: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "increaseAllowance" + ): TypedContractMethod< + [spender: AddressLike, addedValue: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "name" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "symbol" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "totalSupply" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "transfer" + ): TypedContractMethod< + [recipient: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "transferFrom" + ): TypedContractMethod< + [sender: AddressLike, recipient: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + getEvent( + key: "Approval" + ): TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + getEvent( + key: "Transfer" + ): TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + + filters: { + "Approval(address,address,uint256)": TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + Approval: TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + + "Transfer(address,address,uint256)": TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + Transfer: TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + }; +} diff --git a/typechain-types/@openzeppelin/contracts-v3/token/ERC20/IERC20.ts b/typechain-types/@openzeppelin/contracts-v3/token/ERC20/IERC20.ts new file mode 100644 index 0000000..2ffc282 --- /dev/null +++ b/typechain-types/@openzeppelin/contracts-v3/token/ERC20/IERC20.ts @@ -0,0 +1,262 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../../common"; + +export interface IERC20Interface extends Interface { + getFunction( + nameOrSignature: + | "allowance" + | "approve" + | "balanceOf" + | "totalSupply" + | "transfer" + | "transferFrom" + ): FunctionFragment; + + getEvent(nameOrSignatureOrTopic: "Approval" | "Transfer"): EventFragment; + + encodeFunctionData( + functionFragment: "allowance", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "approve", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "balanceOf", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transfer", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "transferFrom", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom", + data: BytesLike + ): Result; +} + +export namespace ApprovalEvent { + export type InputTuple = [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [owner: string, spender: string, value: bigint]; + export interface OutputObject { + owner: string; + spender: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace TransferEvent { + export type InputTuple = [ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [from: string, to: string, value: bigint]; + export interface OutputObject { + from: string; + to: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface IERC20 extends BaseContract { + connect(runner?: ContractRunner | null): IERC20; + waitForDeployment(): Promise; + + interface: IERC20Interface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + allowance: TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + + approve: TypedContractMethod< + [spender: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + balanceOf: TypedContractMethod<[account: AddressLike], [bigint], "view">; + + totalSupply: TypedContractMethod<[], [bigint], "view">; + + transfer: TypedContractMethod< + [recipient: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + transferFrom: TypedContractMethod< + [sender: AddressLike, recipient: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "allowance" + ): TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + getFunction( + nameOrSignature: "approve" + ): TypedContractMethod< + [spender: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "balanceOf" + ): TypedContractMethod<[account: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "totalSupply" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "transfer" + ): TypedContractMethod< + [recipient: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "transferFrom" + ): TypedContractMethod< + [sender: AddressLike, recipient: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + getEvent( + key: "Approval" + ): TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + getEvent( + key: "Transfer" + ): TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + + filters: { + "Approval(address,address,uint256)": TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + Approval: TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + + "Transfer(address,address,uint256)": TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + Transfer: TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + }; +} diff --git a/typechain-types/@openzeppelin/contracts-v3/token/ERC20/index.ts b/typechain-types/@openzeppelin/contracts-v3/token/ERC20/index.ts new file mode 100644 index 0000000..dcfee22 --- /dev/null +++ b/typechain-types/@openzeppelin/contracts-v3/token/ERC20/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { ERC20 } from "./ERC20"; +export type { ERC20Burnable } from "./ERC20Burnable"; +export type { IERC20 } from "./IERC20"; diff --git a/typechain-types/@openzeppelin/contracts-v3/token/index.ts b/typechain-types/@openzeppelin/contracts-v3/token/index.ts new file mode 100644 index 0000000..5c4062a --- /dev/null +++ b/typechain-types/@openzeppelin/contracts-v3/token/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as erc20 from "./ERC20"; +export type { erc20 }; diff --git a/typechain-types/@openzeppelin/contracts-v3/utils/Pausable.ts b/typechain-types/@openzeppelin/contracts-v3/utils/Pausable.ts new file mode 100644 index 0000000..783de9e --- /dev/null +++ b/typechain-types/@openzeppelin/contracts-v3/utils/Pausable.ts @@ -0,0 +1,150 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../common"; + +export interface PausableInterface extends Interface { + getFunction(nameOrSignature: "paused"): FunctionFragment; + + getEvent(nameOrSignatureOrTopic: "Paused" | "Unpaused"): EventFragment; + + encodeFunctionData(functionFragment: "paused", values?: undefined): string; + + decodeFunctionResult(functionFragment: "paused", data: BytesLike): Result; +} + +export namespace PausedEvent { + export type InputTuple = [account: AddressLike]; + export type OutputTuple = [account: string]; + export interface OutputObject { + account: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace UnpausedEvent { + export type InputTuple = [account: AddressLike]; + export type OutputTuple = [account: string]; + export interface OutputObject { + account: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface Pausable extends BaseContract { + connect(runner?: ContractRunner | null): Pausable; + waitForDeployment(): Promise; + + interface: PausableInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + paused: TypedContractMethod<[], [boolean], "view">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "paused" + ): TypedContractMethod<[], [boolean], "view">; + + getEvent( + key: "Paused" + ): TypedContractEvent< + PausedEvent.InputTuple, + PausedEvent.OutputTuple, + PausedEvent.OutputObject + >; + getEvent( + key: "Unpaused" + ): TypedContractEvent< + UnpausedEvent.InputTuple, + UnpausedEvent.OutputTuple, + UnpausedEvent.OutputObject + >; + + filters: { + "Paused(address)": TypedContractEvent< + PausedEvent.InputTuple, + PausedEvent.OutputTuple, + PausedEvent.OutputObject + >; + Paused: TypedContractEvent< + PausedEvent.InputTuple, + PausedEvent.OutputTuple, + PausedEvent.OutputObject + >; + + "Unpaused(address)": TypedContractEvent< + UnpausedEvent.InputTuple, + UnpausedEvent.OutputTuple, + UnpausedEvent.OutputObject + >; + Unpaused: TypedContractEvent< + UnpausedEvent.InputTuple, + UnpausedEvent.OutputTuple, + UnpausedEvent.OutputObject + >; + }; +} diff --git a/typechain-types/@openzeppelin/contracts-v3/utils/index.ts b/typechain-types/@openzeppelin/contracts-v3/utils/index.ts new file mode 100644 index 0000000..ed703c8 --- /dev/null +++ b/typechain-types/@openzeppelin/contracts-v3/utils/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { Pausable } from "./Pausable"; diff --git a/typechain-types/@openzeppelin/contracts/index.ts b/typechain-types/@openzeppelin/contracts/index.ts new file mode 100644 index 0000000..b248dd2 --- /dev/null +++ b/typechain-types/@openzeppelin/contracts/index.ts @@ -0,0 +1,7 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as interfaces from "./interfaces"; +export type { interfaces }; +import type * as token from "./token"; +export type { token }; diff --git a/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors.ts b/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors.ts new file mode 100644 index 0000000..959e42d --- /dev/null +++ b/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors.ts @@ -0,0 +1,69 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + FunctionFragment, + Interface, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, +} from "../../../../common"; + +export interface IERC1155ErrorsInterface extends Interface {} + +export interface IERC1155Errors extends BaseContract { + connect(runner?: ContractRunner | null): IERC1155Errors; + waitForDeployment(): Promise; + + interface: IERC1155ErrorsInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + getFunction( + key: string | FunctionFragment + ): T; + + filters: {}; +} diff --git a/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC20Errors.ts b/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC20Errors.ts new file mode 100644 index 0000000..0469922 --- /dev/null +++ b/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC20Errors.ts @@ -0,0 +1,69 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + FunctionFragment, + Interface, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, +} from "../../../../common"; + +export interface IERC20ErrorsInterface extends Interface {} + +export interface IERC20Errors extends BaseContract { + connect(runner?: ContractRunner | null): IERC20Errors; + waitForDeployment(): Promise; + + interface: IERC20ErrorsInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + getFunction( + key: string | FunctionFragment + ): T; + + filters: {}; +} diff --git a/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC721Errors.ts b/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC721Errors.ts new file mode 100644 index 0000000..39b0d2b --- /dev/null +++ b/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC721Errors.ts @@ -0,0 +1,69 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + FunctionFragment, + Interface, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, +} from "../../../../common"; + +export interface IERC721ErrorsInterface extends Interface {} + +export interface IERC721Errors extends BaseContract { + connect(runner?: ContractRunner | null): IERC721Errors; + waitForDeployment(): Promise; + + interface: IERC721ErrorsInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + getFunction( + key: string | FunctionFragment + ): T; + + filters: {}; +} diff --git a/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/index.ts b/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/index.ts new file mode 100644 index 0000000..9415fdf --- /dev/null +++ b/typechain-types/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { IERC1155Errors } from "./IERC1155Errors"; +export type { IERC20Errors } from "./IERC20Errors"; +export type { IERC721Errors } from "./IERC721Errors"; diff --git a/typechain-types/@openzeppelin/contracts/interfaces/index.ts b/typechain-types/@openzeppelin/contracts/interfaces/index.ts new file mode 100644 index 0000000..d70b374 --- /dev/null +++ b/typechain-types/@openzeppelin/contracts/interfaces/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as draftIerc6093Sol from "./draft-IERC6093.sol"; +export type { draftIerc6093Sol }; diff --git a/typechain-types/@openzeppelin/contracts/token/ERC20/ERC20.ts b/typechain-types/@openzeppelin/contracts/token/ERC20/ERC20.ts new file mode 100644 index 0000000..4673689 --- /dev/null +++ b/typechain-types/@openzeppelin/contracts/token/ERC20/ERC20.ts @@ -0,0 +1,286 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../../common"; + +export interface ERC20Interface extends Interface { + getFunction( + nameOrSignature: + | "allowance" + | "approve" + | "balanceOf" + | "decimals" + | "name" + | "symbol" + | "totalSupply" + | "transfer" + | "transferFrom" + ): FunctionFragment; + + getEvent(nameOrSignatureOrTopic: "Approval" | "Transfer"): EventFragment; + + encodeFunctionData( + functionFragment: "allowance", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "approve", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "balanceOf", + values: [AddressLike] + ): string; + encodeFunctionData(functionFragment: "decimals", values?: undefined): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData(functionFragment: "symbol", values?: undefined): string; + encodeFunctionData( + functionFragment: "totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transfer", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "transferFrom", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom", + data: BytesLike + ): Result; +} + +export namespace ApprovalEvent { + export type InputTuple = [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [owner: string, spender: string, value: bigint]; + export interface OutputObject { + owner: string; + spender: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace TransferEvent { + export type InputTuple = [ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [from: string, to: string, value: bigint]; + export interface OutputObject { + from: string; + to: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface ERC20 extends BaseContract { + connect(runner?: ContractRunner | null): ERC20; + waitForDeployment(): Promise; + + interface: ERC20Interface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + allowance: TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + + approve: TypedContractMethod< + [spender: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + balanceOf: TypedContractMethod<[account: AddressLike], [bigint], "view">; + + decimals: TypedContractMethod<[], [bigint], "view">; + + name: TypedContractMethod<[], [string], "view">; + + symbol: TypedContractMethod<[], [string], "view">; + + totalSupply: TypedContractMethod<[], [bigint], "view">; + + transfer: TypedContractMethod< + [to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + transferFrom: TypedContractMethod< + [from: AddressLike, to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "allowance" + ): TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + getFunction( + nameOrSignature: "approve" + ): TypedContractMethod< + [spender: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "balanceOf" + ): TypedContractMethod<[account: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "decimals" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "name" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "symbol" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "totalSupply" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "transfer" + ): TypedContractMethod< + [to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "transferFrom" + ): TypedContractMethod< + [from: AddressLike, to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + getEvent( + key: "Approval" + ): TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + getEvent( + key: "Transfer" + ): TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + + filters: { + "Approval(address,address,uint256)": TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + Approval: TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + + "Transfer(address,address,uint256)": TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + Transfer: TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + }; +} diff --git a/typechain-types/@openzeppelin/contracts/token/ERC20/IERC20.ts b/typechain-types/@openzeppelin/contracts/token/ERC20/IERC20.ts new file mode 100644 index 0000000..d800ff3 --- /dev/null +++ b/typechain-types/@openzeppelin/contracts/token/ERC20/IERC20.ts @@ -0,0 +1,262 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../../common"; + +export interface IERC20Interface extends Interface { + getFunction( + nameOrSignature: + | "allowance" + | "approve" + | "balanceOf" + | "totalSupply" + | "transfer" + | "transferFrom" + ): FunctionFragment; + + getEvent(nameOrSignatureOrTopic: "Approval" | "Transfer"): EventFragment; + + encodeFunctionData( + functionFragment: "allowance", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "approve", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "balanceOf", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transfer", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "transferFrom", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom", + data: BytesLike + ): Result; +} + +export namespace ApprovalEvent { + export type InputTuple = [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [owner: string, spender: string, value: bigint]; + export interface OutputObject { + owner: string; + spender: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace TransferEvent { + export type InputTuple = [ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [from: string, to: string, value: bigint]; + export interface OutputObject { + from: string; + to: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface IERC20 extends BaseContract { + connect(runner?: ContractRunner | null): IERC20; + waitForDeployment(): Promise; + + interface: IERC20Interface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + allowance: TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + + approve: TypedContractMethod< + [spender: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + balanceOf: TypedContractMethod<[account: AddressLike], [bigint], "view">; + + totalSupply: TypedContractMethod<[], [bigint], "view">; + + transfer: TypedContractMethod< + [to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + transferFrom: TypedContractMethod< + [from: AddressLike, to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "allowance" + ): TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + getFunction( + nameOrSignature: "approve" + ): TypedContractMethod< + [spender: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "balanceOf" + ): TypedContractMethod<[account: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "totalSupply" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "transfer" + ): TypedContractMethod< + [to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "transferFrom" + ): TypedContractMethod< + [from: AddressLike, to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + getEvent( + key: "Approval" + ): TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + getEvent( + key: "Transfer" + ): TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + + filters: { + "Approval(address,address,uint256)": TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + Approval: TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + + "Transfer(address,address,uint256)": TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + Transfer: TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + }; +} diff --git a/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.ts b/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.ts new file mode 100644 index 0000000..6b50935 --- /dev/null +++ b/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.ts @@ -0,0 +1,286 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../../../common"; + +export interface IERC20MetadataInterface extends Interface { + getFunction( + nameOrSignature: + | "allowance" + | "approve" + | "balanceOf" + | "decimals" + | "name" + | "symbol" + | "totalSupply" + | "transfer" + | "transferFrom" + ): FunctionFragment; + + getEvent(nameOrSignatureOrTopic: "Approval" | "Transfer"): EventFragment; + + encodeFunctionData( + functionFragment: "allowance", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "approve", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "balanceOf", + values: [AddressLike] + ): string; + encodeFunctionData(functionFragment: "decimals", values?: undefined): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData(functionFragment: "symbol", values?: undefined): string; + encodeFunctionData( + functionFragment: "totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transfer", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "transferFrom", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom", + data: BytesLike + ): Result; +} + +export namespace ApprovalEvent { + export type InputTuple = [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [owner: string, spender: string, value: bigint]; + export interface OutputObject { + owner: string; + spender: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace TransferEvent { + export type InputTuple = [ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [from: string, to: string, value: bigint]; + export interface OutputObject { + from: string; + to: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface IERC20Metadata extends BaseContract { + connect(runner?: ContractRunner | null): IERC20Metadata; + waitForDeployment(): Promise; + + interface: IERC20MetadataInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + allowance: TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + + approve: TypedContractMethod< + [spender: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + balanceOf: TypedContractMethod<[account: AddressLike], [bigint], "view">; + + decimals: TypedContractMethod<[], [bigint], "view">; + + name: TypedContractMethod<[], [string], "view">; + + symbol: TypedContractMethod<[], [string], "view">; + + totalSupply: TypedContractMethod<[], [bigint], "view">; + + transfer: TypedContractMethod< + [to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + transferFrom: TypedContractMethod< + [from: AddressLike, to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "allowance" + ): TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + getFunction( + nameOrSignature: "approve" + ): TypedContractMethod< + [spender: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "balanceOf" + ): TypedContractMethod<[account: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "decimals" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "name" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "symbol" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "totalSupply" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "transfer" + ): TypedContractMethod< + [to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "transferFrom" + ): TypedContractMethod< + [from: AddressLike, to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + getEvent( + key: "Approval" + ): TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + getEvent( + key: "Transfer" + ): TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + + filters: { + "Approval(address,address,uint256)": TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + Approval: TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + + "Transfer(address,address,uint256)": TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + Transfer: TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + }; +} diff --git a/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/index.ts b/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/index.ts new file mode 100644 index 0000000..6044cde --- /dev/null +++ b/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { IERC20Metadata } from "./IERC20Metadata"; diff --git a/typechain-types/@openzeppelin/contracts/token/ERC20/index.ts b/typechain-types/@openzeppelin/contracts/token/ERC20/index.ts new file mode 100644 index 0000000..cc19697 --- /dev/null +++ b/typechain-types/@openzeppelin/contracts/token/ERC20/index.ts @@ -0,0 +1,7 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as extensions from "./extensions"; +export type { extensions }; +export type { ERC20 } from "./ERC20"; +export type { IERC20 } from "./IERC20"; diff --git a/typechain-types/@openzeppelin/contracts/token/index.ts b/typechain-types/@openzeppelin/contracts/token/index.ts new file mode 100644 index 0000000..5c4062a --- /dev/null +++ b/typechain-types/@openzeppelin/contracts/token/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as erc20 from "./ERC20"; +export type { erc20 }; diff --git a/typechain-types/@openzeppelin/index.ts b/typechain-types/@openzeppelin/index.ts new file mode 100644 index 0000000..ca9dec9 --- /dev/null +++ b/typechain-types/@openzeppelin/index.ts @@ -0,0 +1,7 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as contracts from "./contracts"; +export type { contracts }; +import type * as contractsV3 from "./contracts-v3"; +export type { contractsV3 }; diff --git a/typechain-types/common.ts b/typechain-types/common.ts new file mode 100644 index 0000000..56b5f21 --- /dev/null +++ b/typechain-types/common.ts @@ -0,0 +1,131 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + FunctionFragment, + Typed, + EventFragment, + ContractTransaction, + ContractTransactionResponse, + DeferredTopicFilter, + EventLog, + TransactionRequest, + LogDescription, +} from "ethers"; + +export interface TypedDeferredTopicFilter<_TCEvent extends TypedContractEvent> + extends DeferredTopicFilter {} + +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 __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 TypedLogDescription + extends Omit { + args: __TypechainAOutputTuple & __TypechainOutputObject; +} + +export type TypedListener = ( + ...listenerArg: [ + ...__TypechainAOutputTuple, + TypedEventLog, + ...undefined[] + ] +) => void; + +export type MinEthersFactory = { + deploy(...a: ARGS[]): Promise; +}; + +export type GetContractTypeFromFactory = F extends MinEthersFactory< + infer C, + any +> + ? 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/typechain-types/contracts/Classic/CTornado.ts b/typechain-types/contracts/Classic/CTornado.ts new file mode 100644 index 0000000..e8f5e3d --- /dev/null +++ b/typechain-types/contracts/Classic/CTornado.ts @@ -0,0 +1,485 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../common"; + +export interface CTornadoInterface extends Interface { + getFunction( + nameOrSignature: + | "FIELD_SIZE" + | "ROOT_HISTORY_SIZE" + | "ZERO_VALUE" + | "claimComp" + | "commitments" + | "comp" + | "currentRootIndex" + | "denomination" + | "deposit" + | "filledSubtrees" + | "getLastRoot" + | "governance" + | "hashLeftRight" + | "hasher" + | "isKnownRoot" + | "isSpent" + | "isSpentArray" + | "levels" + | "nextIndex" + | "nullifierHashes" + | "roots" + | "token" + | "verifier" + | "withdraw" + | "zeros" + ): FunctionFragment; + + getEvent(nameOrSignatureOrTopic: "Deposit" | "Withdrawal"): EventFragment; + + encodeFunctionData( + functionFragment: "FIELD_SIZE", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "ROOT_HISTORY_SIZE", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "ZERO_VALUE", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "claimComp", values?: undefined): string; + encodeFunctionData( + functionFragment: "commitments", + values: [BytesLike] + ): string; + encodeFunctionData(functionFragment: "comp", values?: undefined): string; + encodeFunctionData( + functionFragment: "currentRootIndex", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "denomination", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "deposit", values: [BytesLike]): string; + encodeFunctionData( + functionFragment: "filledSubtrees", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "getLastRoot", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "governance", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "hashLeftRight", + values: [AddressLike, BytesLike, BytesLike] + ): string; + encodeFunctionData(functionFragment: "hasher", values?: undefined): string; + encodeFunctionData( + functionFragment: "isKnownRoot", + values: [BytesLike] + ): string; + encodeFunctionData(functionFragment: "isSpent", values: [BytesLike]): string; + encodeFunctionData( + functionFragment: "isSpentArray", + values: [BytesLike[]] + ): string; + encodeFunctionData(functionFragment: "levels", values?: undefined): string; + encodeFunctionData(functionFragment: "nextIndex", values?: undefined): string; + encodeFunctionData( + functionFragment: "nullifierHashes", + values: [BytesLike] + ): string; + encodeFunctionData(functionFragment: "roots", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "token", values?: undefined): string; + encodeFunctionData(functionFragment: "verifier", values?: undefined): string; + encodeFunctionData( + functionFragment: "withdraw", + values: [ + BytesLike, + BytesLike, + BytesLike, + AddressLike, + AddressLike, + BigNumberish, + BigNumberish + ] + ): string; + encodeFunctionData(functionFragment: "zeros", values: [BigNumberish]): string; + + decodeFunctionResult(functionFragment: "FIELD_SIZE", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "ROOT_HISTORY_SIZE", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "ZERO_VALUE", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "claimComp", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "commitments", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "comp", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "currentRootIndex", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "denomination", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "filledSubtrees", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getLastRoot", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "governance", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "hashLeftRight", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "hasher", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "isKnownRoot", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "isSpent", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "isSpentArray", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "levels", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "nextIndex", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "nullifierHashes", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "roots", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "token", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "verifier", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "zeros", data: BytesLike): Result; +} + +export namespace DepositEvent { + export type InputTuple = [ + commitment: BytesLike, + leafIndex: BigNumberish, + timestamp: BigNumberish + ]; + export type OutputTuple = [ + commitment: string, + leafIndex: bigint, + timestamp: bigint + ]; + export interface OutputObject { + commitment: string; + leafIndex: bigint; + timestamp: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace WithdrawalEvent { + export type InputTuple = [ + to: AddressLike, + nullifierHash: BytesLike, + relayer: AddressLike, + fee: BigNumberish + ]; + export type OutputTuple = [ + to: string, + nullifierHash: string, + relayer: string, + fee: bigint + ]; + export interface OutputObject { + to: string; + nullifierHash: string; + relayer: string; + fee: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface CTornado extends BaseContract { + connect(runner?: ContractRunner | null): CTornado; + waitForDeployment(): Promise; + + interface: CTornadoInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + FIELD_SIZE: TypedContractMethod<[], [bigint], "view">; + + ROOT_HISTORY_SIZE: TypedContractMethod<[], [bigint], "view">; + + ZERO_VALUE: TypedContractMethod<[], [bigint], "view">; + + claimComp: TypedContractMethod<[], [void], "nonpayable">; + + commitments: TypedContractMethod<[arg0: BytesLike], [boolean], "view">; + + comp: TypedContractMethod<[], [string], "view">; + + currentRootIndex: TypedContractMethod<[], [bigint], "view">; + + denomination: TypedContractMethod<[], [bigint], "view">; + + deposit: TypedContractMethod<[_commitment: BytesLike], [void], "payable">; + + filledSubtrees: TypedContractMethod<[arg0: BigNumberish], [string], "view">; + + getLastRoot: TypedContractMethod<[], [string], "view">; + + governance: TypedContractMethod<[], [string], "view">; + + hashLeftRight: TypedContractMethod< + [_hasher: AddressLike, _left: BytesLike, _right: BytesLike], + [string], + "view" + >; + + hasher: TypedContractMethod<[], [string], "view">; + + isKnownRoot: TypedContractMethod<[_root: BytesLike], [boolean], "view">; + + isSpent: TypedContractMethod<[_nullifierHash: BytesLike], [boolean], "view">; + + isSpentArray: TypedContractMethod< + [_nullifierHashes: BytesLike[]], + [boolean[]], + "view" + >; + + levels: TypedContractMethod<[], [bigint], "view">; + + nextIndex: TypedContractMethod<[], [bigint], "view">; + + nullifierHashes: TypedContractMethod<[arg0: BytesLike], [boolean], "view">; + + roots: TypedContractMethod<[arg0: BigNumberish], [string], "view">; + + token: TypedContractMethod<[], [string], "view">; + + verifier: TypedContractMethod<[], [string], "view">; + + withdraw: TypedContractMethod< + [ + _proof: BytesLike, + _root: BytesLike, + _nullifierHash: BytesLike, + _recipient: AddressLike, + _relayer: AddressLike, + _fee: BigNumberish, + _refund: BigNumberish + ], + [void], + "payable" + >; + + zeros: TypedContractMethod<[arg0: BigNumberish], [string], "view">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "FIELD_SIZE" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "ROOT_HISTORY_SIZE" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "ZERO_VALUE" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "claimComp" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "commitments" + ): TypedContractMethod<[arg0: BytesLike], [boolean], "view">; + getFunction( + nameOrSignature: "comp" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "currentRootIndex" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "denomination" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "deposit" + ): TypedContractMethod<[_commitment: BytesLike], [void], "payable">; + getFunction( + nameOrSignature: "filledSubtrees" + ): TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getFunction( + nameOrSignature: "getLastRoot" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "governance" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "hashLeftRight" + ): TypedContractMethod< + [_hasher: AddressLike, _left: BytesLike, _right: BytesLike], + [string], + "view" + >; + getFunction( + nameOrSignature: "hasher" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "isKnownRoot" + ): TypedContractMethod<[_root: BytesLike], [boolean], "view">; + getFunction( + nameOrSignature: "isSpent" + ): TypedContractMethod<[_nullifierHash: BytesLike], [boolean], "view">; + getFunction( + nameOrSignature: "isSpentArray" + ): TypedContractMethod<[_nullifierHashes: BytesLike[]], [boolean[]], "view">; + getFunction( + nameOrSignature: "levels" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "nextIndex" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "nullifierHashes" + ): TypedContractMethod<[arg0: BytesLike], [boolean], "view">; + getFunction( + nameOrSignature: "roots" + ): TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getFunction( + nameOrSignature: "token" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "verifier" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "withdraw" + ): TypedContractMethod< + [ + _proof: BytesLike, + _root: BytesLike, + _nullifierHash: BytesLike, + _recipient: AddressLike, + _relayer: AddressLike, + _fee: BigNumberish, + _refund: BigNumberish + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "zeros" + ): TypedContractMethod<[arg0: BigNumberish], [string], "view">; + + getEvent( + key: "Deposit" + ): TypedContractEvent< + DepositEvent.InputTuple, + DepositEvent.OutputTuple, + DepositEvent.OutputObject + >; + getEvent( + key: "Withdrawal" + ): TypedContractEvent< + WithdrawalEvent.InputTuple, + WithdrawalEvent.OutputTuple, + WithdrawalEvent.OutputObject + >; + + filters: { + "Deposit(bytes32,uint32,uint256)": TypedContractEvent< + DepositEvent.InputTuple, + DepositEvent.OutputTuple, + DepositEvent.OutputObject + >; + Deposit: TypedContractEvent< + DepositEvent.InputTuple, + DepositEvent.OutputTuple, + DepositEvent.OutputObject + >; + + "Withdrawal(address,bytes32,address,uint256)": TypedContractEvent< + WithdrawalEvent.InputTuple, + WithdrawalEvent.OutputTuple, + WithdrawalEvent.OutputObject + >; + Withdrawal: TypedContractEvent< + WithdrawalEvent.InputTuple, + WithdrawalEvent.OutputTuple, + WithdrawalEvent.OutputObject + >; + }; +} diff --git a/typechain-types/contracts/Classic/ERC20Tornado.ts b/typechain-types/contracts/Classic/ERC20Tornado.ts new file mode 100644 index 0000000..acc217c --- /dev/null +++ b/typechain-types/contracts/Classic/ERC20Tornado.ts @@ -0,0 +1,458 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../common"; + +export interface ERC20TornadoInterface extends Interface { + getFunction( + nameOrSignature: + | "FIELD_SIZE" + | "ROOT_HISTORY_SIZE" + | "ZERO_VALUE" + | "commitments" + | "currentRootIndex" + | "denomination" + | "deposit" + | "filledSubtrees" + | "getLastRoot" + | "hashLeftRight" + | "hasher" + | "isKnownRoot" + | "isSpent" + | "isSpentArray" + | "levels" + | "nextIndex" + | "nullifierHashes" + | "roots" + | "token" + | "verifier" + | "withdraw" + | "zeros" + ): FunctionFragment; + + getEvent(nameOrSignatureOrTopic: "Deposit" | "Withdrawal"): EventFragment; + + encodeFunctionData( + functionFragment: "FIELD_SIZE", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "ROOT_HISTORY_SIZE", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "ZERO_VALUE", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "commitments", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "currentRootIndex", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "denomination", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "deposit", values: [BytesLike]): string; + encodeFunctionData( + functionFragment: "filledSubtrees", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "getLastRoot", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "hashLeftRight", + values: [AddressLike, BytesLike, BytesLike] + ): string; + encodeFunctionData(functionFragment: "hasher", values?: undefined): string; + encodeFunctionData( + functionFragment: "isKnownRoot", + values: [BytesLike] + ): string; + encodeFunctionData(functionFragment: "isSpent", values: [BytesLike]): string; + encodeFunctionData( + functionFragment: "isSpentArray", + values: [BytesLike[]] + ): string; + encodeFunctionData(functionFragment: "levels", values?: undefined): string; + encodeFunctionData(functionFragment: "nextIndex", values?: undefined): string; + encodeFunctionData( + functionFragment: "nullifierHashes", + values: [BytesLike] + ): string; + encodeFunctionData(functionFragment: "roots", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "token", values?: undefined): string; + encodeFunctionData(functionFragment: "verifier", values?: undefined): string; + encodeFunctionData( + functionFragment: "withdraw", + values: [ + BytesLike, + BytesLike, + BytesLike, + AddressLike, + AddressLike, + BigNumberish, + BigNumberish + ] + ): string; + encodeFunctionData(functionFragment: "zeros", values: [BigNumberish]): string; + + decodeFunctionResult(functionFragment: "FIELD_SIZE", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "ROOT_HISTORY_SIZE", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "ZERO_VALUE", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "commitments", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "currentRootIndex", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "denomination", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "filledSubtrees", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getLastRoot", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "hashLeftRight", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "hasher", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "isKnownRoot", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "isSpent", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "isSpentArray", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "levels", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "nextIndex", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "nullifierHashes", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "roots", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "token", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "verifier", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "zeros", data: BytesLike): Result; +} + +export namespace DepositEvent { + export type InputTuple = [ + commitment: BytesLike, + leafIndex: BigNumberish, + timestamp: BigNumberish + ]; + export type OutputTuple = [ + commitment: string, + leafIndex: bigint, + timestamp: bigint + ]; + export interface OutputObject { + commitment: string; + leafIndex: bigint; + timestamp: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace WithdrawalEvent { + export type InputTuple = [ + to: AddressLike, + nullifierHash: BytesLike, + relayer: AddressLike, + fee: BigNumberish + ]; + export type OutputTuple = [ + to: string, + nullifierHash: string, + relayer: string, + fee: bigint + ]; + export interface OutputObject { + to: string; + nullifierHash: string; + relayer: string; + fee: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface ERC20Tornado extends BaseContract { + connect(runner?: ContractRunner | null): ERC20Tornado; + waitForDeployment(): Promise; + + interface: ERC20TornadoInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + FIELD_SIZE: TypedContractMethod<[], [bigint], "view">; + + ROOT_HISTORY_SIZE: TypedContractMethod<[], [bigint], "view">; + + ZERO_VALUE: TypedContractMethod<[], [bigint], "view">; + + commitments: TypedContractMethod<[arg0: BytesLike], [boolean], "view">; + + currentRootIndex: TypedContractMethod<[], [bigint], "view">; + + denomination: TypedContractMethod<[], [bigint], "view">; + + deposit: TypedContractMethod<[_commitment: BytesLike], [void], "payable">; + + filledSubtrees: TypedContractMethod<[arg0: BigNumberish], [string], "view">; + + getLastRoot: TypedContractMethod<[], [string], "view">; + + hashLeftRight: TypedContractMethod< + [_hasher: AddressLike, _left: BytesLike, _right: BytesLike], + [string], + "view" + >; + + hasher: TypedContractMethod<[], [string], "view">; + + isKnownRoot: TypedContractMethod<[_root: BytesLike], [boolean], "view">; + + isSpent: TypedContractMethod<[_nullifierHash: BytesLike], [boolean], "view">; + + isSpentArray: TypedContractMethod< + [_nullifierHashes: BytesLike[]], + [boolean[]], + "view" + >; + + levels: TypedContractMethod<[], [bigint], "view">; + + nextIndex: TypedContractMethod<[], [bigint], "view">; + + nullifierHashes: TypedContractMethod<[arg0: BytesLike], [boolean], "view">; + + roots: TypedContractMethod<[arg0: BigNumberish], [string], "view">; + + token: TypedContractMethod<[], [string], "view">; + + verifier: TypedContractMethod<[], [string], "view">; + + withdraw: TypedContractMethod< + [ + _proof: BytesLike, + _root: BytesLike, + _nullifierHash: BytesLike, + _recipient: AddressLike, + _relayer: AddressLike, + _fee: BigNumberish, + _refund: BigNumberish + ], + [void], + "payable" + >; + + zeros: TypedContractMethod<[arg0: BigNumberish], [string], "view">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "FIELD_SIZE" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "ROOT_HISTORY_SIZE" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "ZERO_VALUE" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "commitments" + ): TypedContractMethod<[arg0: BytesLike], [boolean], "view">; + getFunction( + nameOrSignature: "currentRootIndex" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "denomination" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "deposit" + ): TypedContractMethod<[_commitment: BytesLike], [void], "payable">; + getFunction( + nameOrSignature: "filledSubtrees" + ): TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getFunction( + nameOrSignature: "getLastRoot" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "hashLeftRight" + ): TypedContractMethod< + [_hasher: AddressLike, _left: BytesLike, _right: BytesLike], + [string], + "view" + >; + getFunction( + nameOrSignature: "hasher" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "isKnownRoot" + ): TypedContractMethod<[_root: BytesLike], [boolean], "view">; + getFunction( + nameOrSignature: "isSpent" + ): TypedContractMethod<[_nullifierHash: BytesLike], [boolean], "view">; + getFunction( + nameOrSignature: "isSpentArray" + ): TypedContractMethod<[_nullifierHashes: BytesLike[]], [boolean[]], "view">; + getFunction( + nameOrSignature: "levels" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "nextIndex" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "nullifierHashes" + ): TypedContractMethod<[arg0: BytesLike], [boolean], "view">; + getFunction( + nameOrSignature: "roots" + ): TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getFunction( + nameOrSignature: "token" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "verifier" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "withdraw" + ): TypedContractMethod< + [ + _proof: BytesLike, + _root: BytesLike, + _nullifierHash: BytesLike, + _recipient: AddressLike, + _relayer: AddressLike, + _fee: BigNumberish, + _refund: BigNumberish + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "zeros" + ): TypedContractMethod<[arg0: BigNumberish], [string], "view">; + + getEvent( + key: "Deposit" + ): TypedContractEvent< + DepositEvent.InputTuple, + DepositEvent.OutputTuple, + DepositEvent.OutputObject + >; + getEvent( + key: "Withdrawal" + ): TypedContractEvent< + WithdrawalEvent.InputTuple, + WithdrawalEvent.OutputTuple, + WithdrawalEvent.OutputObject + >; + + filters: { + "Deposit(bytes32,uint32,uint256)": TypedContractEvent< + DepositEvent.InputTuple, + DepositEvent.OutputTuple, + DepositEvent.OutputObject + >; + Deposit: TypedContractEvent< + DepositEvent.InputTuple, + DepositEvent.OutputTuple, + DepositEvent.OutputObject + >; + + "Withdrawal(address,bytes32,address,uint256)": TypedContractEvent< + WithdrawalEvent.InputTuple, + WithdrawalEvent.OutputTuple, + WithdrawalEvent.OutputObject + >; + Withdrawal: TypedContractEvent< + WithdrawalEvent.InputTuple, + WithdrawalEvent.OutputTuple, + WithdrawalEvent.OutputObject + >; + }; +} diff --git a/typechain-types/contracts/Classic/ETHTornado.ts b/typechain-types/contracts/Classic/ETHTornado.ts new file mode 100644 index 0000000..01caad8 --- /dev/null +++ b/typechain-types/contracts/Classic/ETHTornado.ts @@ -0,0 +1,450 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../common"; + +export interface ETHTornadoInterface extends Interface { + getFunction( + nameOrSignature: + | "FIELD_SIZE" + | "ROOT_HISTORY_SIZE" + | "ZERO_VALUE" + | "commitments" + | "currentRootIndex" + | "denomination" + | "deposit" + | "filledSubtrees" + | "getLastRoot" + | "hashLeftRight" + | "hasher" + | "isKnownRoot" + | "isSpent" + | "isSpentArray" + | "levels" + | "nextIndex" + | "nullifierHashes" + | "roots" + | "verifier" + | "withdraw" + | "zeros" + ): FunctionFragment; + + getEvent(nameOrSignatureOrTopic: "Deposit" | "Withdrawal"): EventFragment; + + encodeFunctionData( + functionFragment: "FIELD_SIZE", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "ROOT_HISTORY_SIZE", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "ZERO_VALUE", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "commitments", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "currentRootIndex", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "denomination", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "deposit", values: [BytesLike]): string; + encodeFunctionData( + functionFragment: "filledSubtrees", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "getLastRoot", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "hashLeftRight", + values: [AddressLike, BytesLike, BytesLike] + ): string; + encodeFunctionData(functionFragment: "hasher", values?: undefined): string; + encodeFunctionData( + functionFragment: "isKnownRoot", + values: [BytesLike] + ): string; + encodeFunctionData(functionFragment: "isSpent", values: [BytesLike]): string; + encodeFunctionData( + functionFragment: "isSpentArray", + values: [BytesLike[]] + ): string; + encodeFunctionData(functionFragment: "levels", values?: undefined): string; + encodeFunctionData(functionFragment: "nextIndex", values?: undefined): string; + encodeFunctionData( + functionFragment: "nullifierHashes", + values: [BytesLike] + ): string; + encodeFunctionData(functionFragment: "roots", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "verifier", values?: undefined): string; + encodeFunctionData( + functionFragment: "withdraw", + values: [ + BytesLike, + BytesLike, + BytesLike, + AddressLike, + AddressLike, + BigNumberish, + BigNumberish + ] + ): string; + encodeFunctionData(functionFragment: "zeros", values: [BigNumberish]): string; + + decodeFunctionResult(functionFragment: "FIELD_SIZE", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "ROOT_HISTORY_SIZE", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "ZERO_VALUE", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "commitments", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "currentRootIndex", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "denomination", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "filledSubtrees", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getLastRoot", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "hashLeftRight", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "hasher", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "isKnownRoot", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "isSpent", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "isSpentArray", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "levels", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "nextIndex", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "nullifierHashes", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "roots", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "verifier", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "zeros", data: BytesLike): Result; +} + +export namespace DepositEvent { + export type InputTuple = [ + commitment: BytesLike, + leafIndex: BigNumberish, + timestamp: BigNumberish + ]; + export type OutputTuple = [ + commitment: string, + leafIndex: bigint, + timestamp: bigint + ]; + export interface OutputObject { + commitment: string; + leafIndex: bigint; + timestamp: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace WithdrawalEvent { + export type InputTuple = [ + to: AddressLike, + nullifierHash: BytesLike, + relayer: AddressLike, + fee: BigNumberish + ]; + export type OutputTuple = [ + to: string, + nullifierHash: string, + relayer: string, + fee: bigint + ]; + export interface OutputObject { + to: string; + nullifierHash: string; + relayer: string; + fee: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface ETHTornado extends BaseContract { + connect(runner?: ContractRunner | null): ETHTornado; + waitForDeployment(): Promise; + + interface: ETHTornadoInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + FIELD_SIZE: TypedContractMethod<[], [bigint], "view">; + + ROOT_HISTORY_SIZE: TypedContractMethod<[], [bigint], "view">; + + ZERO_VALUE: TypedContractMethod<[], [bigint], "view">; + + commitments: TypedContractMethod<[arg0: BytesLike], [boolean], "view">; + + currentRootIndex: TypedContractMethod<[], [bigint], "view">; + + denomination: TypedContractMethod<[], [bigint], "view">; + + deposit: TypedContractMethod<[_commitment: BytesLike], [void], "payable">; + + filledSubtrees: TypedContractMethod<[arg0: BigNumberish], [string], "view">; + + getLastRoot: TypedContractMethod<[], [string], "view">; + + hashLeftRight: TypedContractMethod< + [_hasher: AddressLike, _left: BytesLike, _right: BytesLike], + [string], + "view" + >; + + hasher: TypedContractMethod<[], [string], "view">; + + isKnownRoot: TypedContractMethod<[_root: BytesLike], [boolean], "view">; + + isSpent: TypedContractMethod<[_nullifierHash: BytesLike], [boolean], "view">; + + isSpentArray: TypedContractMethod< + [_nullifierHashes: BytesLike[]], + [boolean[]], + "view" + >; + + levels: TypedContractMethod<[], [bigint], "view">; + + nextIndex: TypedContractMethod<[], [bigint], "view">; + + nullifierHashes: TypedContractMethod<[arg0: BytesLike], [boolean], "view">; + + roots: TypedContractMethod<[arg0: BigNumberish], [string], "view">; + + verifier: TypedContractMethod<[], [string], "view">; + + withdraw: TypedContractMethod< + [ + _proof: BytesLike, + _root: BytesLike, + _nullifierHash: BytesLike, + _recipient: AddressLike, + _relayer: AddressLike, + _fee: BigNumberish, + _refund: BigNumberish + ], + [void], + "payable" + >; + + zeros: TypedContractMethod<[arg0: BigNumberish], [string], "view">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "FIELD_SIZE" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "ROOT_HISTORY_SIZE" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "ZERO_VALUE" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "commitments" + ): TypedContractMethod<[arg0: BytesLike], [boolean], "view">; + getFunction( + nameOrSignature: "currentRootIndex" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "denomination" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "deposit" + ): TypedContractMethod<[_commitment: BytesLike], [void], "payable">; + getFunction( + nameOrSignature: "filledSubtrees" + ): TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getFunction( + nameOrSignature: "getLastRoot" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "hashLeftRight" + ): TypedContractMethod< + [_hasher: AddressLike, _left: BytesLike, _right: BytesLike], + [string], + "view" + >; + getFunction( + nameOrSignature: "hasher" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "isKnownRoot" + ): TypedContractMethod<[_root: BytesLike], [boolean], "view">; + getFunction( + nameOrSignature: "isSpent" + ): TypedContractMethod<[_nullifierHash: BytesLike], [boolean], "view">; + getFunction( + nameOrSignature: "isSpentArray" + ): TypedContractMethod<[_nullifierHashes: BytesLike[]], [boolean[]], "view">; + getFunction( + nameOrSignature: "levels" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "nextIndex" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "nullifierHashes" + ): TypedContractMethod<[arg0: BytesLike], [boolean], "view">; + getFunction( + nameOrSignature: "roots" + ): TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getFunction( + nameOrSignature: "verifier" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "withdraw" + ): TypedContractMethod< + [ + _proof: BytesLike, + _root: BytesLike, + _nullifierHash: BytesLike, + _recipient: AddressLike, + _relayer: AddressLike, + _fee: BigNumberish, + _refund: BigNumberish + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "zeros" + ): TypedContractMethod<[arg0: BigNumberish], [string], "view">; + + getEvent( + key: "Deposit" + ): TypedContractEvent< + DepositEvent.InputTuple, + DepositEvent.OutputTuple, + DepositEvent.OutputObject + >; + getEvent( + key: "Withdrawal" + ): TypedContractEvent< + WithdrawalEvent.InputTuple, + WithdrawalEvent.OutputTuple, + WithdrawalEvent.OutputObject + >; + + filters: { + "Deposit(bytes32,uint32,uint256)": TypedContractEvent< + DepositEvent.InputTuple, + DepositEvent.OutputTuple, + DepositEvent.OutputObject + >; + Deposit: TypedContractEvent< + DepositEvent.InputTuple, + DepositEvent.OutputTuple, + DepositEvent.OutputObject + >; + + "Withdrawal(address,bytes32,address,uint256)": TypedContractEvent< + WithdrawalEvent.InputTuple, + WithdrawalEvent.OutputTuple, + WithdrawalEvent.OutputObject + >; + Withdrawal: TypedContractEvent< + WithdrawalEvent.InputTuple, + WithdrawalEvent.OutputTuple, + WithdrawalEvent.OutputObject + >; + }; +} diff --git a/typechain-types/contracts/Classic/Echoer.ts b/typechain-types/contracts/Classic/Echoer.ts new file mode 100644 index 0000000..09c9e06 --- /dev/null +++ b/typechain-types/contracts/Classic/Echoer.ts @@ -0,0 +1,121 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../common"; + +export interface EchoerInterface extends Interface { + getFunction(nameOrSignature: "echo"): FunctionFragment; + + getEvent(nameOrSignatureOrTopic: "Echo"): EventFragment; + + encodeFunctionData(functionFragment: "echo", values: [BytesLike]): string; + + decodeFunctionResult(functionFragment: "echo", data: BytesLike): Result; +} + +export namespace EchoEvent { + export type InputTuple = [who: AddressLike, data: BytesLike]; + export type OutputTuple = [who: string, data: string]; + export interface OutputObject { + who: string; + data: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface Echoer extends BaseContract { + connect(runner?: ContractRunner | null): Echoer; + waitForDeployment(): Promise; + + interface: EchoerInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + echo: TypedContractMethod<[_data: BytesLike], [void], "nonpayable">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "echo" + ): TypedContractMethod<[_data: BytesLike], [void], "nonpayable">; + + getEvent( + key: "Echo" + ): TypedContractEvent< + EchoEvent.InputTuple, + EchoEvent.OutputTuple, + EchoEvent.OutputObject + >; + + filters: { + "Echo(address,bytes)": TypedContractEvent< + EchoEvent.InputTuple, + EchoEvent.OutputTuple, + EchoEvent.OutputObject + >; + Echo: TypedContractEvent< + EchoEvent.InputTuple, + EchoEvent.OutputTuple, + EchoEvent.OutputObject + >; + }; +} diff --git a/typechain-types/contracts/Classic/MerkleTreeWithHistory.sol/IHasher.ts b/typechain-types/contracts/Classic/MerkleTreeWithHistory.sol/IHasher.ts new file mode 100644 index 0000000..c5c3583 --- /dev/null +++ b/typechain-types/contracts/Classic/MerkleTreeWithHistory.sol/IHasher.ts @@ -0,0 +1,96 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../common"; + +export interface IHasherInterface extends Interface { + getFunction(nameOrSignature: "MiMCSponge"): FunctionFragment; + + encodeFunctionData( + functionFragment: "MiMCSponge", + values: [BigNumberish, BigNumberish] + ): string; + + decodeFunctionResult(functionFragment: "MiMCSponge", data: BytesLike): Result; +} + +export interface IHasher extends BaseContract { + connect(runner?: ContractRunner | null): IHasher; + waitForDeployment(): Promise; + + interface: IHasherInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + MiMCSponge: TypedContractMethod< + [in_xL: BigNumberish, in_xR: BigNumberish], + [[bigint, bigint] & { xL: bigint; xR: bigint }], + "view" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "MiMCSponge" + ): TypedContractMethod< + [in_xL: BigNumberish, in_xR: BigNumberish], + [[bigint, bigint] & { xL: bigint; xR: bigint }], + "view" + >; + + filters: {}; +} diff --git a/typechain-types/contracts/Classic/MerkleTreeWithHistory.sol/MerkleTreeWithHistory.ts b/typechain-types/contracts/Classic/MerkleTreeWithHistory.sol/MerkleTreeWithHistory.ts new file mode 100644 index 0000000..e494486 --- /dev/null +++ b/typechain-types/contracts/Classic/MerkleTreeWithHistory.sol/MerkleTreeWithHistory.ts @@ -0,0 +1,235 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../common"; + +export interface MerkleTreeWithHistoryInterface extends Interface { + getFunction( + nameOrSignature: + | "FIELD_SIZE" + | "ROOT_HISTORY_SIZE" + | "ZERO_VALUE" + | "currentRootIndex" + | "filledSubtrees" + | "getLastRoot" + | "hashLeftRight" + | "hasher" + | "isKnownRoot" + | "levels" + | "nextIndex" + | "roots" + | "zeros" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "FIELD_SIZE", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "ROOT_HISTORY_SIZE", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "ZERO_VALUE", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "currentRootIndex", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "filledSubtrees", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "getLastRoot", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "hashLeftRight", + values: [AddressLike, BytesLike, BytesLike] + ): string; + encodeFunctionData(functionFragment: "hasher", values?: undefined): string; + encodeFunctionData( + functionFragment: "isKnownRoot", + values: [BytesLike] + ): string; + encodeFunctionData(functionFragment: "levels", values?: undefined): string; + encodeFunctionData(functionFragment: "nextIndex", values?: undefined): string; + encodeFunctionData(functionFragment: "roots", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "zeros", values: [BigNumberish]): string; + + decodeFunctionResult(functionFragment: "FIELD_SIZE", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "ROOT_HISTORY_SIZE", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "ZERO_VALUE", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "currentRootIndex", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "filledSubtrees", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getLastRoot", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "hashLeftRight", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "hasher", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "isKnownRoot", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "levels", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "nextIndex", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "roots", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "zeros", data: BytesLike): Result; +} + +export interface MerkleTreeWithHistory extends BaseContract { + connect(runner?: ContractRunner | null): MerkleTreeWithHistory; + waitForDeployment(): Promise; + + interface: MerkleTreeWithHistoryInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + FIELD_SIZE: TypedContractMethod<[], [bigint], "view">; + + ROOT_HISTORY_SIZE: TypedContractMethod<[], [bigint], "view">; + + ZERO_VALUE: TypedContractMethod<[], [bigint], "view">; + + currentRootIndex: TypedContractMethod<[], [bigint], "view">; + + filledSubtrees: TypedContractMethod<[arg0: BigNumberish], [string], "view">; + + getLastRoot: TypedContractMethod<[], [string], "view">; + + hashLeftRight: TypedContractMethod< + [_hasher: AddressLike, _left: BytesLike, _right: BytesLike], + [string], + "view" + >; + + hasher: TypedContractMethod<[], [string], "view">; + + isKnownRoot: TypedContractMethod<[_root: BytesLike], [boolean], "view">; + + levels: TypedContractMethod<[], [bigint], "view">; + + nextIndex: TypedContractMethod<[], [bigint], "view">; + + roots: TypedContractMethod<[arg0: BigNumberish], [string], "view">; + + zeros: TypedContractMethod<[arg0: BigNumberish], [string], "view">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "FIELD_SIZE" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "ROOT_HISTORY_SIZE" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "ZERO_VALUE" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "currentRootIndex" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "filledSubtrees" + ): TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getFunction( + nameOrSignature: "getLastRoot" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "hashLeftRight" + ): TypedContractMethod< + [_hasher: AddressLike, _left: BytesLike, _right: BytesLike], + [string], + "view" + >; + getFunction( + nameOrSignature: "hasher" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "isKnownRoot" + ): TypedContractMethod<[_root: BytesLike], [boolean], "view">; + getFunction( + nameOrSignature: "levels" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "nextIndex" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "roots" + ): TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getFunction( + nameOrSignature: "zeros" + ): TypedContractMethod<[arg0: BigNumberish], [string], "view">; + + filters: {}; +} diff --git a/typechain-types/contracts/Classic/MerkleTreeWithHistory.sol/index.ts b/typechain-types/contracts/Classic/MerkleTreeWithHistory.sol/index.ts new file mode 100644 index 0000000..047d5f3 --- /dev/null +++ b/typechain-types/contracts/Classic/MerkleTreeWithHistory.sol/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { IHasher } from "./IHasher"; +export type { MerkleTreeWithHistory } from "./MerkleTreeWithHistory"; diff --git a/typechain-types/contracts/Classic/Mocks/BadRecipient.ts b/typechain-types/contracts/Classic/Mocks/BadRecipient.ts new file mode 100644 index 0000000..df8dfa9 --- /dev/null +++ b/typechain-types/contracts/Classic/Mocks/BadRecipient.ts @@ -0,0 +1,69 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + FunctionFragment, + Interface, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, +} from "../../../common"; + +export interface BadRecipientInterface extends Interface {} + +export interface BadRecipient extends BaseContract { + connect(runner?: ContractRunner | null): BadRecipient; + waitForDeployment(): Promise; + + interface: BadRecipientInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + getFunction( + key: string | FunctionFragment + ): T; + + filters: {}; +} diff --git a/typechain-types/contracts/Classic/Mocks/ERC20Mock.ts b/typechain-types/contracts/Classic/Mocks/ERC20Mock.ts new file mode 100644 index 0000000..46d6598 --- /dev/null +++ b/typechain-types/contracts/Classic/Mocks/ERC20Mock.ts @@ -0,0 +1,305 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../common"; + +export interface ERC20MockInterface extends Interface { + getFunction( + nameOrSignature: + | "allowance" + | "approve" + | "balanceOf" + | "decimals" + | "mint" + | "name" + | "symbol" + | "totalSupply" + | "transfer" + | "transferFrom" + ): FunctionFragment; + + getEvent(nameOrSignatureOrTopic: "Approval" | "Transfer"): EventFragment; + + encodeFunctionData( + functionFragment: "allowance", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "approve", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "balanceOf", + values: [AddressLike] + ): string; + encodeFunctionData(functionFragment: "decimals", values?: undefined): string; + encodeFunctionData( + functionFragment: "mint", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData(functionFragment: "symbol", values?: undefined): string; + encodeFunctionData( + functionFragment: "totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transfer", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "transferFrom", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "mint", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom", + data: BytesLike + ): Result; +} + +export namespace ApprovalEvent { + export type InputTuple = [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [owner: string, spender: string, value: bigint]; + export interface OutputObject { + owner: string; + spender: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace TransferEvent { + export type InputTuple = [ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [from: string, to: string, value: bigint]; + export interface OutputObject { + from: string; + to: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface ERC20Mock extends BaseContract { + connect(runner?: ContractRunner | null): ERC20Mock; + waitForDeployment(): Promise; + + interface: ERC20MockInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + allowance: TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + + approve: TypedContractMethod< + [spender: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + balanceOf: TypedContractMethod<[account: AddressLike], [bigint], "view">; + + decimals: TypedContractMethod<[], [bigint], "view">; + + mint: TypedContractMethod< + [account: AddressLike, amount: BigNumberish], + [void], + "nonpayable" + >; + + name: TypedContractMethod<[], [string], "view">; + + symbol: TypedContractMethod<[], [string], "view">; + + totalSupply: TypedContractMethod<[], [bigint], "view">; + + transfer: TypedContractMethod< + [to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + transferFrom: TypedContractMethod< + [from: AddressLike, to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "allowance" + ): TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + getFunction( + nameOrSignature: "approve" + ): TypedContractMethod< + [spender: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "balanceOf" + ): TypedContractMethod<[account: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "decimals" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "mint" + ): TypedContractMethod< + [account: AddressLike, amount: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "name" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "symbol" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "totalSupply" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "transfer" + ): TypedContractMethod< + [to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "transferFrom" + ): TypedContractMethod< + [from: AddressLike, to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + getEvent( + key: "Approval" + ): TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + getEvent( + key: "Transfer" + ): TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + + filters: { + "Approval(address,address,uint256)": TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + Approval: TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + + "Transfer(address,address,uint256)": TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + Transfer: TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + }; +} diff --git a/typechain-types/contracts/Classic/Mocks/IDeployer.ts b/typechain-types/contracts/Classic/Mocks/IDeployer.ts new file mode 100644 index 0000000..c69cec4 --- /dev/null +++ b/typechain-types/contracts/Classic/Mocks/IDeployer.ts @@ -0,0 +1,95 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BytesLike, + FunctionFragment, + Result, + Interface, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../common"; + +export interface IDeployerInterface extends Interface { + getFunction(nameOrSignature: "deploy"): FunctionFragment; + + encodeFunctionData( + functionFragment: "deploy", + values: [BytesLike, BytesLike] + ): string; + + decodeFunctionResult(functionFragment: "deploy", data: BytesLike): Result; +} + +export interface IDeployer extends BaseContract { + connect(runner?: ContractRunner | null): IDeployer; + waitForDeployment(): Promise; + + interface: IDeployerInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + deploy: TypedContractMethod< + [_initCode: BytesLike, _salt: BytesLike], + [string], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "deploy" + ): TypedContractMethod< + [_initCode: BytesLike, _salt: BytesLike], + [string], + "nonpayable" + >; + + filters: {}; +} diff --git a/typechain-types/contracts/Classic/Mocks/IUSDT.sol/ERC20Basic.ts b/typechain-types/contracts/Classic/Mocks/IUSDT.sol/ERC20Basic.ts new file mode 100644 index 0000000..d232b8b --- /dev/null +++ b/typechain-types/contracts/Classic/Mocks/IUSDT.sol/ERC20Basic.ts @@ -0,0 +1,176 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../../common"; + +export interface ERC20BasicInterface extends Interface { + getFunction( + nameOrSignature: "_totalSupply" | "balanceOf" | "totalSupply" | "transfer" + ): FunctionFragment; + + getEvent(nameOrSignatureOrTopic: "Transfer"): EventFragment; + + encodeFunctionData( + functionFragment: "_totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "balanceOf", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transfer", + values: [AddressLike, BigNumberish] + ): string; + + decodeFunctionResult( + functionFragment: "_totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; +} + +export namespace TransferEvent { + export type InputTuple = [ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [from: string, to: string, value: bigint]; + export interface OutputObject { + from: string; + to: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface ERC20Basic extends BaseContract { + connect(runner?: ContractRunner | null): ERC20Basic; + waitForDeployment(): Promise; + + interface: ERC20BasicInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + _totalSupply: TypedContractMethod<[], [bigint], "nonpayable">; + + balanceOf: TypedContractMethod<[who: AddressLike], [bigint], "view">; + + totalSupply: TypedContractMethod<[], [bigint], "view">; + + transfer: TypedContractMethod< + [to: AddressLike, value: BigNumberish], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "_totalSupply" + ): TypedContractMethod<[], [bigint], "nonpayable">; + getFunction( + nameOrSignature: "balanceOf" + ): TypedContractMethod<[who: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "totalSupply" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "transfer" + ): TypedContractMethod< + [to: AddressLike, value: BigNumberish], + [void], + "nonpayable" + >; + + getEvent( + key: "Transfer" + ): TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + + filters: { + "Transfer(address,address,uint256)": TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + Transfer: TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + }; +} diff --git a/typechain-types/contracts/Classic/Mocks/IUSDT.sol/IUSDT.ts b/typechain-types/contracts/Classic/Mocks/IUSDT.sol/IUSDT.ts new file mode 100644 index 0000000..4a8ae95 --- /dev/null +++ b/typechain-types/contracts/Classic/Mocks/IUSDT.sol/IUSDT.ts @@ -0,0 +1,276 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../../common"; + +export interface IUSDTInterface extends Interface { + getFunction( + nameOrSignature: + | "_totalSupply" + | "allowance" + | "approve" + | "balanceOf" + | "totalSupply" + | "transfer" + | "transferFrom" + ): FunctionFragment; + + getEvent(nameOrSignatureOrTopic: "Approval" | "Transfer"): EventFragment; + + encodeFunctionData( + functionFragment: "_totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "allowance", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "approve", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "balanceOf", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transfer", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "transferFrom", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + + decodeFunctionResult( + functionFragment: "_totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom", + data: BytesLike + ): Result; +} + +export namespace ApprovalEvent { + export type InputTuple = [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [owner: string, spender: string, value: bigint]; + export interface OutputObject { + owner: string; + spender: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace TransferEvent { + export type InputTuple = [ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [from: string, to: string, value: bigint]; + export interface OutputObject { + from: string; + to: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface IUSDT extends BaseContract { + connect(runner?: ContractRunner | null): IUSDT; + waitForDeployment(): Promise; + + interface: IUSDTInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + _totalSupply: TypedContractMethod<[], [bigint], "nonpayable">; + + allowance: TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + + approve: TypedContractMethod< + [spender: AddressLike, value: BigNumberish], + [void], + "nonpayable" + >; + + balanceOf: TypedContractMethod<[who: AddressLike], [bigint], "view">; + + totalSupply: TypedContractMethod<[], [bigint], "view">; + + transfer: TypedContractMethod< + [to: AddressLike, value: BigNumberish], + [void], + "nonpayable" + >; + + transferFrom: TypedContractMethod< + [from: AddressLike, to: AddressLike, value: BigNumberish], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "_totalSupply" + ): TypedContractMethod<[], [bigint], "nonpayable">; + getFunction( + nameOrSignature: "allowance" + ): TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + getFunction( + nameOrSignature: "approve" + ): TypedContractMethod< + [spender: AddressLike, value: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "balanceOf" + ): TypedContractMethod<[who: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "totalSupply" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "transfer" + ): TypedContractMethod< + [to: AddressLike, value: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "transferFrom" + ): TypedContractMethod< + [from: AddressLike, to: AddressLike, value: BigNumberish], + [void], + "nonpayable" + >; + + getEvent( + key: "Approval" + ): TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + getEvent( + key: "Transfer" + ): TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + + filters: { + "Approval(address,address,uint256)": TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + Approval: TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + + "Transfer(address,address,uint256)": TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + Transfer: TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + }; +} diff --git a/typechain-types/contracts/Classic/Mocks/IUSDT.sol/index.ts b/typechain-types/contracts/Classic/Mocks/IUSDT.sol/index.ts new file mode 100644 index 0000000..ebff32e --- /dev/null +++ b/typechain-types/contracts/Classic/Mocks/IUSDT.sol/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { ERC20Basic } from "./ERC20Basic"; +export type { IUSDT } from "./IUSDT"; diff --git a/typechain-types/contracts/Classic/Mocks/MerkleTreeWithHistoryMock.ts b/typechain-types/contracts/Classic/Mocks/MerkleTreeWithHistoryMock.ts new file mode 100644 index 0000000..f824017 --- /dev/null +++ b/typechain-types/contracts/Classic/Mocks/MerkleTreeWithHistoryMock.ts @@ -0,0 +1,243 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../common"; + +export interface MerkleTreeWithHistoryMockInterface extends Interface { + getFunction( + nameOrSignature: + | "FIELD_SIZE" + | "ROOT_HISTORY_SIZE" + | "ZERO_VALUE" + | "currentRootIndex" + | "filledSubtrees" + | "getLastRoot" + | "hashLeftRight" + | "hasher" + | "insert" + | "isKnownRoot" + | "levels" + | "nextIndex" + | "roots" + | "zeros" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "FIELD_SIZE", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "ROOT_HISTORY_SIZE", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "ZERO_VALUE", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "currentRootIndex", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "filledSubtrees", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "getLastRoot", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "hashLeftRight", + values: [AddressLike, BytesLike, BytesLike] + ): string; + encodeFunctionData(functionFragment: "hasher", values?: undefined): string; + encodeFunctionData(functionFragment: "insert", values: [BytesLike]): string; + encodeFunctionData( + functionFragment: "isKnownRoot", + values: [BytesLike] + ): string; + encodeFunctionData(functionFragment: "levels", values?: undefined): string; + encodeFunctionData(functionFragment: "nextIndex", values?: undefined): string; + encodeFunctionData(functionFragment: "roots", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "zeros", values: [BigNumberish]): string; + + decodeFunctionResult(functionFragment: "FIELD_SIZE", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "ROOT_HISTORY_SIZE", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "ZERO_VALUE", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "currentRootIndex", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "filledSubtrees", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getLastRoot", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "hashLeftRight", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "hasher", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "insert", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "isKnownRoot", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "levels", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "nextIndex", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "roots", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "zeros", data: BytesLike): Result; +} + +export interface MerkleTreeWithHistoryMock extends BaseContract { + connect(runner?: ContractRunner | null): MerkleTreeWithHistoryMock; + waitForDeployment(): Promise; + + interface: MerkleTreeWithHistoryMockInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + FIELD_SIZE: TypedContractMethod<[], [bigint], "view">; + + ROOT_HISTORY_SIZE: TypedContractMethod<[], [bigint], "view">; + + ZERO_VALUE: TypedContractMethod<[], [bigint], "view">; + + currentRootIndex: TypedContractMethod<[], [bigint], "view">; + + filledSubtrees: TypedContractMethod<[arg0: BigNumberish], [string], "view">; + + getLastRoot: TypedContractMethod<[], [string], "view">; + + hashLeftRight: TypedContractMethod< + [_hasher: AddressLike, _left: BytesLike, _right: BytesLike], + [string], + "view" + >; + + hasher: TypedContractMethod<[], [string], "view">; + + insert: TypedContractMethod<[_leaf: BytesLike], [void], "nonpayable">; + + isKnownRoot: TypedContractMethod<[_root: BytesLike], [boolean], "view">; + + levels: TypedContractMethod<[], [bigint], "view">; + + nextIndex: TypedContractMethod<[], [bigint], "view">; + + roots: TypedContractMethod<[arg0: BigNumberish], [string], "view">; + + zeros: TypedContractMethod<[arg0: BigNumberish], [string], "view">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "FIELD_SIZE" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "ROOT_HISTORY_SIZE" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "ZERO_VALUE" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "currentRootIndex" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "filledSubtrees" + ): TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getFunction( + nameOrSignature: "getLastRoot" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "hashLeftRight" + ): TypedContractMethod< + [_hasher: AddressLike, _left: BytesLike, _right: BytesLike], + [string], + "view" + >; + getFunction( + nameOrSignature: "hasher" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "insert" + ): TypedContractMethod<[_leaf: BytesLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "isKnownRoot" + ): TypedContractMethod<[_root: BytesLike], [boolean], "view">; + getFunction( + nameOrSignature: "levels" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "nextIndex" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "roots" + ): TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getFunction( + nameOrSignature: "zeros" + ): TypedContractMethod<[arg0: BigNumberish], [string], "view">; + + filters: {}; +} diff --git a/typechain-types/contracts/Classic/Mocks/index.ts b/typechain-types/contracts/Classic/Mocks/index.ts new file mode 100644 index 0000000..28a49ab --- /dev/null +++ b/typechain-types/contracts/Classic/Mocks/index.ts @@ -0,0 +1,9 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as iusdtSol from "./IUSDT.sol"; +export type { iusdtSol }; +export type { BadRecipient } from "./BadRecipient"; +export type { ERC20Mock } from "./ERC20Mock"; +export type { IDeployer } from "./IDeployer"; +export type { MerkleTreeWithHistoryMock } from "./MerkleTreeWithHistoryMock"; diff --git a/typechain-types/contracts/Classic/Tornado.sol/IVerifier.ts b/typechain-types/contracts/Classic/Tornado.sol/IVerifier.ts new file mode 100644 index 0000000..7769ebb --- /dev/null +++ b/typechain-types/contracts/Classic/Tornado.sol/IVerifier.ts @@ -0,0 +1,99 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../common"; + +export interface IVerifierInterface extends Interface { + getFunction(nameOrSignature: "verifyProof"): FunctionFragment; + + encodeFunctionData( + functionFragment: "verifyProof", + values: [BytesLike, BigNumberish[]] + ): string; + + decodeFunctionResult( + functionFragment: "verifyProof", + data: BytesLike + ): Result; +} + +export interface IVerifier extends BaseContract { + connect(runner?: ContractRunner | null): IVerifier; + waitForDeployment(): Promise; + + interface: IVerifierInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + verifyProof: TypedContractMethod< + [_proof: BytesLike, _input: BigNumberish[]], + [boolean], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "verifyProof" + ): TypedContractMethod< + [_proof: BytesLike, _input: BigNumberish[]], + [boolean], + "nonpayable" + >; + + filters: {}; +} diff --git a/typechain-types/contracts/Classic/Tornado.sol/Tornado.ts b/typechain-types/contracts/Classic/Tornado.sol/Tornado.ts new file mode 100644 index 0000000..a03e96f --- /dev/null +++ b/typechain-types/contracts/Classic/Tornado.sol/Tornado.ts @@ -0,0 +1,450 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../common"; + +export interface TornadoInterface extends Interface { + getFunction( + nameOrSignature: + | "FIELD_SIZE" + | "ROOT_HISTORY_SIZE" + | "ZERO_VALUE" + | "commitments" + | "currentRootIndex" + | "denomination" + | "deposit" + | "filledSubtrees" + | "getLastRoot" + | "hashLeftRight" + | "hasher" + | "isKnownRoot" + | "isSpent" + | "isSpentArray" + | "levels" + | "nextIndex" + | "nullifierHashes" + | "roots" + | "verifier" + | "withdraw" + | "zeros" + ): FunctionFragment; + + getEvent(nameOrSignatureOrTopic: "Deposit" | "Withdrawal"): EventFragment; + + encodeFunctionData( + functionFragment: "FIELD_SIZE", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "ROOT_HISTORY_SIZE", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "ZERO_VALUE", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "commitments", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "currentRootIndex", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "denomination", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "deposit", values: [BytesLike]): string; + encodeFunctionData( + functionFragment: "filledSubtrees", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "getLastRoot", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "hashLeftRight", + values: [AddressLike, BytesLike, BytesLike] + ): string; + encodeFunctionData(functionFragment: "hasher", values?: undefined): string; + encodeFunctionData( + functionFragment: "isKnownRoot", + values: [BytesLike] + ): string; + encodeFunctionData(functionFragment: "isSpent", values: [BytesLike]): string; + encodeFunctionData( + functionFragment: "isSpentArray", + values: [BytesLike[]] + ): string; + encodeFunctionData(functionFragment: "levels", values?: undefined): string; + encodeFunctionData(functionFragment: "nextIndex", values?: undefined): string; + encodeFunctionData( + functionFragment: "nullifierHashes", + values: [BytesLike] + ): string; + encodeFunctionData(functionFragment: "roots", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "verifier", values?: undefined): string; + encodeFunctionData( + functionFragment: "withdraw", + values: [ + BytesLike, + BytesLike, + BytesLike, + AddressLike, + AddressLike, + BigNumberish, + BigNumberish + ] + ): string; + encodeFunctionData(functionFragment: "zeros", values: [BigNumberish]): string; + + decodeFunctionResult(functionFragment: "FIELD_SIZE", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "ROOT_HISTORY_SIZE", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "ZERO_VALUE", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "commitments", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "currentRootIndex", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "denomination", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "filledSubtrees", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getLastRoot", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "hashLeftRight", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "hasher", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "isKnownRoot", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "isSpent", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "isSpentArray", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "levels", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "nextIndex", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "nullifierHashes", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "roots", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "verifier", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "zeros", data: BytesLike): Result; +} + +export namespace DepositEvent { + export type InputTuple = [ + commitment: BytesLike, + leafIndex: BigNumberish, + timestamp: BigNumberish + ]; + export type OutputTuple = [ + commitment: string, + leafIndex: bigint, + timestamp: bigint + ]; + export interface OutputObject { + commitment: string; + leafIndex: bigint; + timestamp: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace WithdrawalEvent { + export type InputTuple = [ + to: AddressLike, + nullifierHash: BytesLike, + relayer: AddressLike, + fee: BigNumberish + ]; + export type OutputTuple = [ + to: string, + nullifierHash: string, + relayer: string, + fee: bigint + ]; + export interface OutputObject { + to: string; + nullifierHash: string; + relayer: string; + fee: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface Tornado extends BaseContract { + connect(runner?: ContractRunner | null): Tornado; + waitForDeployment(): Promise; + + interface: TornadoInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + FIELD_SIZE: TypedContractMethod<[], [bigint], "view">; + + ROOT_HISTORY_SIZE: TypedContractMethod<[], [bigint], "view">; + + ZERO_VALUE: TypedContractMethod<[], [bigint], "view">; + + commitments: TypedContractMethod<[arg0: BytesLike], [boolean], "view">; + + currentRootIndex: TypedContractMethod<[], [bigint], "view">; + + denomination: TypedContractMethod<[], [bigint], "view">; + + deposit: TypedContractMethod<[_commitment: BytesLike], [void], "payable">; + + filledSubtrees: TypedContractMethod<[arg0: BigNumberish], [string], "view">; + + getLastRoot: TypedContractMethod<[], [string], "view">; + + hashLeftRight: TypedContractMethod< + [_hasher: AddressLike, _left: BytesLike, _right: BytesLike], + [string], + "view" + >; + + hasher: TypedContractMethod<[], [string], "view">; + + isKnownRoot: TypedContractMethod<[_root: BytesLike], [boolean], "view">; + + isSpent: TypedContractMethod<[_nullifierHash: BytesLike], [boolean], "view">; + + isSpentArray: TypedContractMethod< + [_nullifierHashes: BytesLike[]], + [boolean[]], + "view" + >; + + levels: TypedContractMethod<[], [bigint], "view">; + + nextIndex: TypedContractMethod<[], [bigint], "view">; + + nullifierHashes: TypedContractMethod<[arg0: BytesLike], [boolean], "view">; + + roots: TypedContractMethod<[arg0: BigNumberish], [string], "view">; + + verifier: TypedContractMethod<[], [string], "view">; + + withdraw: TypedContractMethod< + [ + _proof: BytesLike, + _root: BytesLike, + _nullifierHash: BytesLike, + _recipient: AddressLike, + _relayer: AddressLike, + _fee: BigNumberish, + _refund: BigNumberish + ], + [void], + "payable" + >; + + zeros: TypedContractMethod<[arg0: BigNumberish], [string], "view">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "FIELD_SIZE" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "ROOT_HISTORY_SIZE" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "ZERO_VALUE" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "commitments" + ): TypedContractMethod<[arg0: BytesLike], [boolean], "view">; + getFunction( + nameOrSignature: "currentRootIndex" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "denomination" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "deposit" + ): TypedContractMethod<[_commitment: BytesLike], [void], "payable">; + getFunction( + nameOrSignature: "filledSubtrees" + ): TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getFunction( + nameOrSignature: "getLastRoot" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "hashLeftRight" + ): TypedContractMethod< + [_hasher: AddressLike, _left: BytesLike, _right: BytesLike], + [string], + "view" + >; + getFunction( + nameOrSignature: "hasher" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "isKnownRoot" + ): TypedContractMethod<[_root: BytesLike], [boolean], "view">; + getFunction( + nameOrSignature: "isSpent" + ): TypedContractMethod<[_nullifierHash: BytesLike], [boolean], "view">; + getFunction( + nameOrSignature: "isSpentArray" + ): TypedContractMethod<[_nullifierHashes: BytesLike[]], [boolean[]], "view">; + getFunction( + nameOrSignature: "levels" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "nextIndex" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "nullifierHashes" + ): TypedContractMethod<[arg0: BytesLike], [boolean], "view">; + getFunction( + nameOrSignature: "roots" + ): TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getFunction( + nameOrSignature: "verifier" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "withdraw" + ): TypedContractMethod< + [ + _proof: BytesLike, + _root: BytesLike, + _nullifierHash: BytesLike, + _recipient: AddressLike, + _relayer: AddressLike, + _fee: BigNumberish, + _refund: BigNumberish + ], + [void], + "payable" + >; + getFunction( + nameOrSignature: "zeros" + ): TypedContractMethod<[arg0: BigNumberish], [string], "view">; + + getEvent( + key: "Deposit" + ): TypedContractEvent< + DepositEvent.InputTuple, + DepositEvent.OutputTuple, + DepositEvent.OutputObject + >; + getEvent( + key: "Withdrawal" + ): TypedContractEvent< + WithdrawalEvent.InputTuple, + WithdrawalEvent.OutputTuple, + WithdrawalEvent.OutputObject + >; + + filters: { + "Deposit(bytes32,uint32,uint256)": TypedContractEvent< + DepositEvent.InputTuple, + DepositEvent.OutputTuple, + DepositEvent.OutputObject + >; + Deposit: TypedContractEvent< + DepositEvent.InputTuple, + DepositEvent.OutputTuple, + DepositEvent.OutputObject + >; + + "Withdrawal(address,bytes32,address,uint256)": TypedContractEvent< + WithdrawalEvent.InputTuple, + WithdrawalEvent.OutputTuple, + WithdrawalEvent.OutputObject + >; + Withdrawal: TypedContractEvent< + WithdrawalEvent.InputTuple, + WithdrawalEvent.OutputTuple, + WithdrawalEvent.OutputObject + >; + }; +} diff --git a/typechain-types/contracts/Classic/Tornado.sol/index.ts b/typechain-types/contracts/Classic/Tornado.sol/index.ts new file mode 100644 index 0000000..8e73c13 --- /dev/null +++ b/typechain-types/contracts/Classic/Tornado.sol/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { IVerifier } from "./IVerifier"; +export type { Tornado } from "./Tornado"; diff --git a/typechain-types/contracts/Classic/TornadoProxyLight.sol/ITornadoInstance.ts b/typechain-types/contracts/Classic/TornadoProxyLight.sol/ITornadoInstance.ts new file mode 100644 index 0000000..37afa36 --- /dev/null +++ b/typechain-types/contracts/Classic/TornadoProxyLight.sol/ITornadoInstance.ts @@ -0,0 +1,150 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../common"; + +export interface ITornadoInstanceInterface extends Interface { + getFunction( + nameOrSignature: "denomination" | "deposit" | "token" | "withdraw" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "denomination", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "deposit", values: [BytesLike]): string; + encodeFunctionData(functionFragment: "token", values?: undefined): string; + encodeFunctionData( + functionFragment: "withdraw", + values: [ + BytesLike, + BytesLike, + BytesLike, + AddressLike, + AddressLike, + BigNumberish, + BigNumberish + ] + ): string; + + decodeFunctionResult( + functionFragment: "denomination", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "token", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; +} + +export interface ITornadoInstance extends BaseContract { + connect(runner?: ContractRunner | null): ITornadoInstance; + waitForDeployment(): Promise; + + interface: ITornadoInstanceInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + denomination: TypedContractMethod<[], [bigint], "view">; + + deposit: TypedContractMethod<[commitment: BytesLike], [void], "payable">; + + token: TypedContractMethod<[], [string], "view">; + + withdraw: TypedContractMethod< + [ + proof: BytesLike, + root: BytesLike, + nullifierHash: BytesLike, + recipient: AddressLike, + relayer: AddressLike, + fee: BigNumberish, + refund: BigNumberish + ], + [void], + "payable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "denomination" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "deposit" + ): TypedContractMethod<[commitment: BytesLike], [void], "payable">; + getFunction( + nameOrSignature: "token" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "withdraw" + ): TypedContractMethod< + [ + proof: BytesLike, + root: BytesLike, + nullifierHash: BytesLike, + recipient: AddressLike, + relayer: AddressLike, + fee: BigNumberish, + refund: BigNumberish + ], + [void], + "payable" + >; + + filters: {}; +} diff --git a/typechain-types/contracts/Classic/TornadoProxyLight.sol/TornadoProxyLight.ts b/typechain-types/contracts/Classic/TornadoProxyLight.sol/TornadoProxyLight.ts new file mode 100644 index 0000000..02d9264 --- /dev/null +++ b/typechain-types/contracts/Classic/TornadoProxyLight.sol/TornadoProxyLight.ts @@ -0,0 +1,197 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../common"; + +export interface TornadoProxyLightInterface extends Interface { + getFunction( + nameOrSignature: "backupNotes" | "deposit" | "withdraw" + ): FunctionFragment; + + getEvent(nameOrSignatureOrTopic: "EncryptedNote"): EventFragment; + + encodeFunctionData( + functionFragment: "backupNotes", + values: [BytesLike[]] + ): string; + encodeFunctionData( + functionFragment: "deposit", + values: [AddressLike, BytesLike, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "withdraw", + values: [ + AddressLike, + BytesLike, + BytesLike, + BytesLike, + AddressLike, + AddressLike, + BigNumberish, + BigNumberish + ] + ): string; + + decodeFunctionResult( + functionFragment: "backupNotes", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; +} + +export namespace EncryptedNoteEvent { + export type InputTuple = [sender: AddressLike, encryptedNote: BytesLike]; + export type OutputTuple = [sender: string, encryptedNote: string]; + export interface OutputObject { + sender: string; + encryptedNote: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface TornadoProxyLight extends BaseContract { + connect(runner?: ContractRunner | null): TornadoProxyLight; + waitForDeployment(): Promise; + + interface: TornadoProxyLightInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + backupNotes: TypedContractMethod< + [_encryptedNotes: BytesLike[]], + [void], + "nonpayable" + >; + + deposit: TypedContractMethod< + [_tornado: AddressLike, _commitment: BytesLike, _encryptedNote: BytesLike], + [void], + "payable" + >; + + withdraw: TypedContractMethod< + [ + _tornado: AddressLike, + _proof: BytesLike, + _root: BytesLike, + _nullifierHash: BytesLike, + _recipient: AddressLike, + _relayer: AddressLike, + _fee: BigNumberish, + _refund: BigNumberish + ], + [void], + "payable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "backupNotes" + ): TypedContractMethod<[_encryptedNotes: BytesLike[]], [void], "nonpayable">; + getFunction( + nameOrSignature: "deposit" + ): TypedContractMethod< + [_tornado: AddressLike, _commitment: BytesLike, _encryptedNote: BytesLike], + [void], + "payable" + >; + getFunction( + nameOrSignature: "withdraw" + ): TypedContractMethod< + [ + _tornado: AddressLike, + _proof: BytesLike, + _root: BytesLike, + _nullifierHash: BytesLike, + _recipient: AddressLike, + _relayer: AddressLike, + _fee: BigNumberish, + _refund: BigNumberish + ], + [void], + "payable" + >; + + getEvent( + key: "EncryptedNote" + ): TypedContractEvent< + EncryptedNoteEvent.InputTuple, + EncryptedNoteEvent.OutputTuple, + EncryptedNoteEvent.OutputObject + >; + + filters: { + "EncryptedNote(address,bytes)": TypedContractEvent< + EncryptedNoteEvent.InputTuple, + EncryptedNoteEvent.OutputTuple, + EncryptedNoteEvent.OutputObject + >; + EncryptedNote: TypedContractEvent< + EncryptedNoteEvent.InputTuple, + EncryptedNoteEvent.OutputTuple, + EncryptedNoteEvent.OutputObject + >; + }; +} diff --git a/typechain-types/contracts/Classic/TornadoProxyLight.sol/index.ts b/typechain-types/contracts/Classic/TornadoProxyLight.sol/index.ts new file mode 100644 index 0000000..a737d7c --- /dev/null +++ b/typechain-types/contracts/Classic/TornadoProxyLight.sol/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { ITornadoInstance } from "./ITornadoInstance"; +export type { TornadoProxyLight } from "./TornadoProxyLight"; diff --git a/typechain-types/contracts/Classic/Verifier.ts b/typechain-types/contracts/Classic/Verifier.ts new file mode 100644 index 0000000..aef0542 --- /dev/null +++ b/typechain-types/contracts/Classic/Verifier.ts @@ -0,0 +1,99 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../common"; + +export interface VerifierInterface extends Interface { + getFunction(nameOrSignature: "verifyProof"): FunctionFragment; + + encodeFunctionData( + functionFragment: "verifyProof", + values: [BytesLike, BigNumberish[]] + ): string; + + decodeFunctionResult( + functionFragment: "verifyProof", + data: BytesLike + ): Result; +} + +export interface Verifier extends BaseContract { + connect(runner?: ContractRunner | null): Verifier; + waitForDeployment(): Promise; + + interface: VerifierInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + verifyProof: TypedContractMethod< + [proof: BytesLike, input: BigNumberish[]], + [boolean], + "view" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "verifyProof" + ): TypedContractMethod< + [proof: BytesLike, input: BigNumberish[]], + [boolean], + "view" + >; + + filters: {}; +} diff --git a/typechain-types/contracts/Classic/index.ts b/typechain-types/contracts/Classic/index.ts new file mode 100644 index 0000000..6bbfa48 --- /dev/null +++ b/typechain-types/contracts/Classic/index.ts @@ -0,0 +1,18 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as merkleTreeWithHistorySol from "./MerkleTreeWithHistory.sol"; +export type { merkleTreeWithHistorySol }; +import type * as mocks from "./Mocks"; +export type { mocks }; +import type * as tornadoSol from "./Tornado.sol"; +export type { tornadoSol }; +import type * as tornadoProxyLightSol from "./TornadoProxyLight.sol"; +export type { tornadoProxyLightSol }; +import type * as interfaces from "./interfaces"; +export type { interfaces }; +export type { ERC20Tornado } from "./ERC20Tornado"; +export type { ETHTornado } from "./ETHTornado"; +export type { Echoer } from "./Echoer"; +export type { Verifier } from "./Verifier"; +export type { CTornado } from "./CTornado"; diff --git a/typechain-types/contracts/Classic/interfaces/IERC20.ts b/typechain-types/contracts/Classic/interfaces/IERC20.ts new file mode 100644 index 0000000..d29105f --- /dev/null +++ b/typechain-types/contracts/Classic/interfaces/IERC20.ts @@ -0,0 +1,250 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../common"; + +export interface IERC20Interface extends Interface { + getFunction( + nameOrSignature: + | "DOMAIN_SEPARATOR" + | "allowance" + | "approve" + | "balanceOf" + | "nonces" + | "permit" + | "totalSupply" + | "transfer" + | "transferFrom" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "DOMAIN_SEPARATOR", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "allowance", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "approve", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "balanceOf", + values: [AddressLike] + ): string; + encodeFunctionData(functionFragment: "nonces", values: [AddressLike]): string; + encodeFunctionData( + functionFragment: "permit", + values: [ + AddressLike, + AddressLike, + BigNumberish, + BigNumberish, + BigNumberish, + BytesLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transfer", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "transferFrom", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + + decodeFunctionResult( + functionFragment: "DOMAIN_SEPARATOR", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "nonces", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom", + data: BytesLike + ): Result; +} + +export interface IERC20 extends BaseContract { + connect(runner?: ContractRunner | null): IERC20; + waitForDeployment(): Promise; + + interface: IERC20Interface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + DOMAIN_SEPARATOR: TypedContractMethod<[], [string], "view">; + + allowance: TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + + approve: TypedContractMethod< + [spender: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + balanceOf: TypedContractMethod<[account: AddressLike], [bigint], "view">; + + nonces: TypedContractMethod<[owner: AddressLike], [bigint], "view">; + + permit: TypedContractMethod< + [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], + [void], + "nonpayable" + >; + + totalSupply: TypedContractMethod<[], [bigint], "view">; + + transfer: TypedContractMethod< + [recipient: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + transferFrom: TypedContractMethod< + [sender: AddressLike, recipient: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "DOMAIN_SEPARATOR" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "allowance" + ): TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + getFunction( + nameOrSignature: "approve" + ): TypedContractMethod< + [spender: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "balanceOf" + ): TypedContractMethod<[account: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "nonces" + ): TypedContractMethod<[owner: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "permit" + ): TypedContractMethod< + [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "totalSupply" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "transfer" + ): TypedContractMethod< + [recipient: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "transferFrom" + ): TypedContractMethod< + [sender: AddressLike, recipient: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + filters: {}; +} diff --git a/typechain-types/contracts/Classic/interfaces/index.ts b/typechain-types/contracts/Classic/interfaces/index.ts new file mode 100644 index 0000000..8312ccd --- /dev/null +++ b/typechain-types/contracts/Classic/interfaces/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { IERC20 } from "./IERC20"; diff --git a/typechain-types/contracts/Governance/AdminUpgradeableProxy.ts b/typechain-types/contracts/Governance/AdminUpgradeableProxy.ts new file mode 100644 index 0000000..103aebb --- /dev/null +++ b/typechain-types/contracts/Governance/AdminUpgradeableProxy.ts @@ -0,0 +1,227 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../common"; + +export interface AdminUpgradeableProxyInterface extends Interface { + getFunction( + nameOrSignature: + | "admin" + | "changeAdmin" + | "implementation" + | "upgradeTo" + | "upgradeToAndCall" + ): FunctionFragment; + + getEvent(nameOrSignatureOrTopic: "AdminChanged" | "Upgraded"): EventFragment; + + encodeFunctionData(functionFragment: "admin", values?: undefined): string; + encodeFunctionData( + functionFragment: "changeAdmin", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "implementation", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "upgradeTo", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "upgradeToAndCall", + values: [AddressLike, BytesLike] + ): string; + + decodeFunctionResult(functionFragment: "admin", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "changeAdmin", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "implementation", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "upgradeTo", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "upgradeToAndCall", + data: BytesLike + ): Result; +} + +export namespace AdminChangedEvent { + export type InputTuple = [previousAdmin: AddressLike, newAdmin: AddressLike]; + export type OutputTuple = [previousAdmin: string, newAdmin: string]; + export interface OutputObject { + previousAdmin: string; + newAdmin: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace UpgradedEvent { + export type InputTuple = [implementation: AddressLike]; + export type OutputTuple = [implementation: string]; + export interface OutputObject { + implementation: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface AdminUpgradeableProxy extends BaseContract { + connect(runner?: ContractRunner | null): AdminUpgradeableProxy; + waitForDeployment(): Promise; + + interface: AdminUpgradeableProxyInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + admin: TypedContractMethod<[], [string], "nonpayable">; + + changeAdmin: TypedContractMethod< + [newAdmin: AddressLike], + [void], + "nonpayable" + >; + + implementation: TypedContractMethod<[], [string], "nonpayable">; + + upgradeTo: TypedContractMethod< + [newImplementation: AddressLike], + [void], + "nonpayable" + >; + + upgradeToAndCall: TypedContractMethod< + [newImplementation: AddressLike, data: BytesLike], + [void], + "payable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "admin" + ): TypedContractMethod<[], [string], "nonpayable">; + getFunction( + nameOrSignature: "changeAdmin" + ): TypedContractMethod<[newAdmin: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "implementation" + ): TypedContractMethod<[], [string], "nonpayable">; + getFunction( + nameOrSignature: "upgradeTo" + ): TypedContractMethod< + [newImplementation: AddressLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "upgradeToAndCall" + ): TypedContractMethod< + [newImplementation: AddressLike, data: BytesLike], + [void], + "payable" + >; + + getEvent( + key: "AdminChanged" + ): TypedContractEvent< + AdminChangedEvent.InputTuple, + AdminChangedEvent.OutputTuple, + AdminChangedEvent.OutputObject + >; + getEvent( + key: "Upgraded" + ): TypedContractEvent< + UpgradedEvent.InputTuple, + UpgradedEvent.OutputTuple, + UpgradedEvent.OutputObject + >; + + filters: { + "AdminChanged(address,address)": TypedContractEvent< + AdminChangedEvent.InputTuple, + AdminChangedEvent.OutputTuple, + AdminChangedEvent.OutputObject + >; + AdminChanged: TypedContractEvent< + AdminChangedEvent.InputTuple, + AdminChangedEvent.OutputTuple, + AdminChangedEvent.OutputObject + >; + + "Upgraded(address)": TypedContractEvent< + UpgradedEvent.InputTuple, + UpgradedEvent.OutputTuple, + UpgradedEvent.OutputObject + >; + Upgraded: TypedContractEvent< + UpgradedEvent.InputTuple, + UpgradedEvent.OutputTuple, + UpgradedEvent.OutputObject + >; + }; +} diff --git a/typechain-types/contracts/Governance/Aggregator/Aggregator.ts b/typechain-types/contracts/Governance/Aggregator/Aggregator.ts new file mode 100644 index 0000000..c271314 --- /dev/null +++ b/typechain-types/contracts/Governance/Aggregator/Aggregator.ts @@ -0,0 +1,268 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../common"; + +export type RelayerStruct = { + owner: AddressLike; + balance: BigNumberish; + isRegistered: boolean; + records: string[]; +}; + +export type RelayerStructOutput = [ + owner: string, + balance: bigint, + isRegistered: boolean, + records: string[] +] & { + owner: string; + balance: bigint; + isRegistered: boolean; + records: string[]; +}; + +export declare namespace GovernanceAggregator { + export type ProposalStruct = { + proposer: AddressLike; + target: AddressLike; + startTime: BigNumberish; + endTime: BigNumberish; + forVotes: BigNumberish; + againstVotes: BigNumberish; + executed: boolean; + extended: boolean; + state: BigNumberish; + }; + + export type ProposalStructOutput = [ + proposer: string, + target: string, + startTime: bigint, + endTime: bigint, + forVotes: bigint, + againstVotes: bigint, + executed: boolean, + extended: boolean, + state: bigint + ] & { + proposer: string; + target: string; + startTime: bigint; + endTime: bigint; + forVotes: bigint; + againstVotes: bigint; + executed: boolean; + extended: boolean; + state: bigint; + }; +} + +export interface AggregatorInterface extends Interface { + getFunction( + nameOrSignature: + | "ENSRegistry" + | "RelayerRegistry" + | "getAllProposals" + | "getGovernanceBalances" + | "getUserData" + | "relayersData" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "ENSRegistry", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "RelayerRegistry", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getAllProposals", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "getGovernanceBalances", + values: [AddressLike, AddressLike[]] + ): string; + encodeFunctionData( + functionFragment: "getUserData", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "relayersData", + values: [BytesLike[], string[]] + ): string; + + decodeFunctionResult( + functionFragment: "ENSRegistry", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "RelayerRegistry", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getAllProposals", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getGovernanceBalances", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getUserData", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "relayersData", + data: BytesLike + ): Result; +} + +export interface Aggregator extends BaseContract { + connect(runner?: ContractRunner | null): Aggregator; + waitForDeployment(): Promise; + + interface: AggregatorInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + ENSRegistry: TypedContractMethod<[], [string], "view">; + + RelayerRegistry: TypedContractMethod<[], [string], "view">; + + getAllProposals: TypedContractMethod< + [governance: AddressLike], + [GovernanceAggregator.ProposalStructOutput[]], + "view" + >; + + getGovernanceBalances: TypedContractMethod< + [governance: AddressLike, accs: AddressLike[]], + [bigint[]], + "view" + >; + + getUserData: TypedContractMethod< + [governance: AddressLike, account: AddressLike], + [ + [bigint, bigint, bigint, bigint, string] & { + balance: bigint; + latestProposalId: bigint; + latestProposalIdState: bigint; + timelock: bigint; + delegatee: string; + } + ], + "view" + >; + + relayersData: TypedContractMethod< + [_relayers: BytesLike[], _subdomains: string[]], + [RelayerStructOutput[]], + "view" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "ENSRegistry" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "RelayerRegistry" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "getAllProposals" + ): TypedContractMethod< + [governance: AddressLike], + [GovernanceAggregator.ProposalStructOutput[]], + "view" + >; + getFunction( + nameOrSignature: "getGovernanceBalances" + ): TypedContractMethod< + [governance: AddressLike, accs: AddressLike[]], + [bigint[]], + "view" + >; + getFunction( + nameOrSignature: "getUserData" + ): TypedContractMethod< + [governance: AddressLike, account: AddressLike], + [ + [bigint, bigint, bigint, bigint, string] & { + balance: bigint; + latestProposalId: bigint; + latestProposalIdState: bigint; + timelock: bigint; + delegatee: string; + } + ], + "view" + >; + getFunction( + nameOrSignature: "relayersData" + ): TypedContractMethod< + [_relayers: BytesLike[], _subdomains: string[]], + [RelayerStructOutput[]], + "view" + >; + + filters: {}; +} diff --git a/typechain-types/contracts/Governance/Aggregator/GovernanceAggregator.ts b/typechain-types/contracts/Governance/Aggregator/GovernanceAggregator.ts new file mode 100644 index 0000000..9c8257c --- /dev/null +++ b/typechain-types/contracts/Governance/Aggregator/GovernanceAggregator.ts @@ -0,0 +1,196 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../common"; + +export declare namespace GovernanceAggregator { + export type ProposalStruct = { + proposer: AddressLike; + target: AddressLike; + startTime: BigNumberish; + endTime: BigNumberish; + forVotes: BigNumberish; + againstVotes: BigNumberish; + executed: boolean; + extended: boolean; + state: BigNumberish; + }; + + export type ProposalStructOutput = [ + proposer: string, + target: string, + startTime: bigint, + endTime: bigint, + forVotes: bigint, + againstVotes: bigint, + executed: boolean, + extended: boolean, + state: bigint + ] & { + proposer: string; + target: string; + startTime: bigint; + endTime: bigint; + forVotes: bigint; + againstVotes: bigint; + executed: boolean; + extended: boolean; + state: bigint; + }; +} + +export interface GovernanceAggregatorInterface extends Interface { + getFunction( + nameOrSignature: "getAllProposals" | "getGovernanceBalances" | "getUserData" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "getAllProposals", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "getGovernanceBalances", + values: [AddressLike, AddressLike[]] + ): string; + encodeFunctionData( + functionFragment: "getUserData", + values: [AddressLike, AddressLike] + ): string; + + decodeFunctionResult( + functionFragment: "getAllProposals", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getGovernanceBalances", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getUserData", + data: BytesLike + ): Result; +} + +export interface GovernanceAggregator extends BaseContract { + connect(runner?: ContractRunner | null): GovernanceAggregator; + waitForDeployment(): Promise; + + interface: GovernanceAggregatorInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + getAllProposals: TypedContractMethod< + [governance: AddressLike], + [GovernanceAggregator.ProposalStructOutput[]], + "view" + >; + + getGovernanceBalances: TypedContractMethod< + [governance: AddressLike, accs: AddressLike[]], + [bigint[]], + "view" + >; + + getUserData: TypedContractMethod< + [governance: AddressLike, account: AddressLike], + [ + [bigint, bigint, bigint, bigint, string] & { + balance: bigint; + latestProposalId: bigint; + latestProposalIdState: bigint; + timelock: bigint; + delegatee: string; + } + ], + "view" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "getAllProposals" + ): TypedContractMethod< + [governance: AddressLike], + [GovernanceAggregator.ProposalStructOutput[]], + "view" + >; + getFunction( + nameOrSignature: "getGovernanceBalances" + ): TypedContractMethod< + [governance: AddressLike, accs: AddressLike[]], + [bigint[]], + "view" + >; + getFunction( + nameOrSignature: "getUserData" + ): TypedContractMethod< + [governance: AddressLike, account: AddressLike], + [ + [bigint, bigint, bigint, bigint, string] & { + balance: bigint; + latestProposalId: bigint; + latestProposalIdState: bigint; + timelock: bigint; + delegatee: string; + } + ], + "view" + >; + + filters: {}; +} diff --git a/typechain-types/contracts/Governance/Aggregator/RelayerAggregator.sol/IENSRegistry.ts b/typechain-types/contracts/Governance/Aggregator/RelayerAggregator.sol/IENSRegistry.ts new file mode 100644 index 0000000..cc96039 --- /dev/null +++ b/typechain-types/contracts/Governance/Aggregator/RelayerAggregator.sol/IENSRegistry.ts @@ -0,0 +1,489 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../../common"; + +export interface IENSRegistryInterface extends Interface { + getFunction( + nameOrSignature: + | "isApprovedForAll" + | "owner" + | "recordExists" + | "resolver" + | "setApprovalForAll" + | "setOwner" + | "setRecord" + | "setResolver" + | "setSubnodeOwner" + | "setSubnodeRecord" + | "setTTL" + | "ttl" + ): FunctionFragment; + + getEvent( + nameOrSignatureOrTopic: + | "ApprovalForAll" + | "NewOwner" + | "NewResolver" + | "NewTTL" + | "Transfer" + ): EventFragment; + + encodeFunctionData( + functionFragment: "isApprovedForAll", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData(functionFragment: "owner", values: [BytesLike]): string; + encodeFunctionData( + functionFragment: "recordExists", + values: [BytesLike] + ): string; + encodeFunctionData(functionFragment: "resolver", values: [BytesLike]): string; + encodeFunctionData( + functionFragment: "setApprovalForAll", + values: [AddressLike, boolean] + ): string; + encodeFunctionData( + functionFragment: "setOwner", + values: [BytesLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "setRecord", + values: [BytesLike, AddressLike, AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setResolver", + values: [BytesLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "setSubnodeOwner", + values: [BytesLike, BytesLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "setSubnodeRecord", + values: [BytesLike, BytesLike, AddressLike, AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setTTL", + values: [BytesLike, BigNumberish] + ): string; + encodeFunctionData(functionFragment: "ttl", values: [BytesLike]): string; + + decodeFunctionResult( + functionFragment: "isApprovedForAll", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "recordExists", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "resolver", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setApprovalForAll", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "setOwner", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setRecord", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setResolver", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setSubnodeOwner", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setSubnodeRecord", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "setTTL", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "ttl", data: BytesLike): Result; +} + +export namespace ApprovalForAllEvent { + export type InputTuple = [ + owner: AddressLike, + operator: AddressLike, + approved: boolean + ]; + export type OutputTuple = [ + owner: string, + operator: string, + approved: boolean + ]; + export interface OutputObject { + owner: string; + operator: string; + approved: boolean; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace NewOwnerEvent { + export type InputTuple = [ + node: BytesLike, + label: BytesLike, + owner: AddressLike + ]; + export type OutputTuple = [node: string, label: string, owner: string]; + export interface OutputObject { + node: string; + label: string; + owner: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace NewResolverEvent { + export type InputTuple = [node: BytesLike, resolver: AddressLike]; + export type OutputTuple = [node: string, resolver: string]; + export interface OutputObject { + node: string; + resolver: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace NewTTLEvent { + export type InputTuple = [node: BytesLike, ttl: BigNumberish]; + export type OutputTuple = [node: string, ttl: bigint]; + export interface OutputObject { + node: string; + ttl: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace TransferEvent { + export type InputTuple = [node: BytesLike, owner: AddressLike]; + export type OutputTuple = [node: string, owner: string]; + export interface OutputObject { + node: string; + owner: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface IENSRegistry extends BaseContract { + connect(runner?: ContractRunner | null): IENSRegistry; + waitForDeployment(): Promise; + + interface: IENSRegistryInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + isApprovedForAll: TypedContractMethod< + [owner: AddressLike, operator: AddressLike], + [boolean], + "view" + >; + + owner: TypedContractMethod<[node: BytesLike], [string], "view">; + + recordExists: TypedContractMethod<[node: BytesLike], [boolean], "view">; + + resolver: TypedContractMethod<[node: BytesLike], [string], "view">; + + setApprovalForAll: TypedContractMethod< + [operator: AddressLike, approved: boolean], + [void], + "nonpayable" + >; + + setOwner: TypedContractMethod< + [node: BytesLike, owner: AddressLike], + [void], + "nonpayable" + >; + + setRecord: TypedContractMethod< + [ + node: BytesLike, + owner: AddressLike, + resolver: AddressLike, + ttl: BigNumberish + ], + [void], + "nonpayable" + >; + + setResolver: TypedContractMethod< + [node: BytesLike, resolver: AddressLike], + [void], + "nonpayable" + >; + + setSubnodeOwner: TypedContractMethod< + [node: BytesLike, label: BytesLike, owner: AddressLike], + [string], + "nonpayable" + >; + + setSubnodeRecord: TypedContractMethod< + [ + node: BytesLike, + label: BytesLike, + owner: AddressLike, + resolver: AddressLike, + ttl: BigNumberish + ], + [void], + "nonpayable" + >; + + setTTL: TypedContractMethod< + [node: BytesLike, ttl: BigNumberish], + [void], + "nonpayable" + >; + + ttl: TypedContractMethod<[node: BytesLike], [bigint], "view">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "isApprovedForAll" + ): TypedContractMethod< + [owner: AddressLike, operator: AddressLike], + [boolean], + "view" + >; + getFunction( + nameOrSignature: "owner" + ): TypedContractMethod<[node: BytesLike], [string], "view">; + getFunction( + nameOrSignature: "recordExists" + ): TypedContractMethod<[node: BytesLike], [boolean], "view">; + getFunction( + nameOrSignature: "resolver" + ): TypedContractMethod<[node: BytesLike], [string], "view">; + getFunction( + nameOrSignature: "setApprovalForAll" + ): TypedContractMethod< + [operator: AddressLike, approved: boolean], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setOwner" + ): TypedContractMethod< + [node: BytesLike, owner: AddressLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setRecord" + ): TypedContractMethod< + [ + node: BytesLike, + owner: AddressLike, + resolver: AddressLike, + ttl: BigNumberish + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setResolver" + ): TypedContractMethod< + [node: BytesLike, resolver: AddressLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setSubnodeOwner" + ): TypedContractMethod< + [node: BytesLike, label: BytesLike, owner: AddressLike], + [string], + "nonpayable" + >; + getFunction( + nameOrSignature: "setSubnodeRecord" + ): TypedContractMethod< + [ + node: BytesLike, + label: BytesLike, + owner: AddressLike, + resolver: AddressLike, + ttl: BigNumberish + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setTTL" + ): TypedContractMethod< + [node: BytesLike, ttl: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "ttl" + ): TypedContractMethod<[node: BytesLike], [bigint], "view">; + + getEvent( + key: "ApprovalForAll" + ): TypedContractEvent< + ApprovalForAllEvent.InputTuple, + ApprovalForAllEvent.OutputTuple, + ApprovalForAllEvent.OutputObject + >; + getEvent( + key: "NewOwner" + ): TypedContractEvent< + NewOwnerEvent.InputTuple, + NewOwnerEvent.OutputTuple, + NewOwnerEvent.OutputObject + >; + getEvent( + key: "NewResolver" + ): TypedContractEvent< + NewResolverEvent.InputTuple, + NewResolverEvent.OutputTuple, + NewResolverEvent.OutputObject + >; + getEvent( + key: "NewTTL" + ): TypedContractEvent< + NewTTLEvent.InputTuple, + NewTTLEvent.OutputTuple, + NewTTLEvent.OutputObject + >; + getEvent( + key: "Transfer" + ): TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + + filters: { + "ApprovalForAll(address,address,bool)": TypedContractEvent< + ApprovalForAllEvent.InputTuple, + ApprovalForAllEvent.OutputTuple, + ApprovalForAllEvent.OutputObject + >; + ApprovalForAll: TypedContractEvent< + ApprovalForAllEvent.InputTuple, + ApprovalForAllEvent.OutputTuple, + ApprovalForAllEvent.OutputObject + >; + + "NewOwner(bytes32,bytes32,address)": TypedContractEvent< + NewOwnerEvent.InputTuple, + NewOwnerEvent.OutputTuple, + NewOwnerEvent.OutputObject + >; + NewOwner: TypedContractEvent< + NewOwnerEvent.InputTuple, + NewOwnerEvent.OutputTuple, + NewOwnerEvent.OutputObject + >; + + "NewResolver(bytes32,address)": TypedContractEvent< + NewResolverEvent.InputTuple, + NewResolverEvent.OutputTuple, + NewResolverEvent.OutputObject + >; + NewResolver: TypedContractEvent< + NewResolverEvent.InputTuple, + NewResolverEvent.OutputTuple, + NewResolverEvent.OutputObject + >; + + "NewTTL(bytes32,uint64)": TypedContractEvent< + NewTTLEvent.InputTuple, + NewTTLEvent.OutputTuple, + NewTTLEvent.OutputObject + >; + NewTTL: TypedContractEvent< + NewTTLEvent.InputTuple, + NewTTLEvent.OutputTuple, + NewTTLEvent.OutputObject + >; + + "Transfer(bytes32,address)": TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + Transfer: TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + }; +} diff --git a/typechain-types/contracts/Governance/Aggregator/RelayerAggregator.sol/IENSResolver.ts b/typechain-types/contracts/Governance/Aggregator/RelayerAggregator.sol/IENSResolver.ts new file mode 100644 index 0000000..669fb86 --- /dev/null +++ b/typechain-types/contracts/Governance/Aggregator/RelayerAggregator.sol/IENSResolver.ts @@ -0,0 +1,94 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BytesLike, + FunctionFragment, + Result, + Interface, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../common"; + +export interface IENSResolverInterface extends Interface { + getFunction(nameOrSignature: "addr" | "text"): FunctionFragment; + + encodeFunctionData(functionFragment: "addr", values: [BytesLike]): string; + encodeFunctionData( + functionFragment: "text", + values: [BytesLike, string] + ): string; + + decodeFunctionResult(functionFragment: "addr", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "text", data: BytesLike): Result; +} + +export interface IENSResolver extends BaseContract { + connect(runner?: ContractRunner | null): IENSResolver; + waitForDeployment(): Promise; + + interface: IENSResolverInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + addr: TypedContractMethod<[node: BytesLike], [string], "view">; + + text: TypedContractMethod<[node: BytesLike, key: string], [string], "view">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "addr" + ): TypedContractMethod<[node: BytesLike], [string], "view">; + getFunction( + nameOrSignature: "text" + ): TypedContractMethod<[node: BytesLike, key: string], [string], "view">; + + filters: {}; +} diff --git a/typechain-types/contracts/Governance/Aggregator/RelayerAggregator.sol/IRelayerRegistry.ts b/typechain-types/contracts/Governance/Aggregator/RelayerAggregator.sol/IRelayerRegistry.ts new file mode 100644 index 0000000..6078bc5 --- /dev/null +++ b/typechain-types/contracts/Governance/Aggregator/RelayerAggregator.sol/IRelayerRegistry.ts @@ -0,0 +1,118 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../common"; + +export interface IRelayerRegistryInterface extends Interface { + getFunction( + nameOrSignature: "getRelayerBalance" | "isRelayerRegistered" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "getRelayerBalance", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "isRelayerRegistered", + values: [AddressLike, AddressLike] + ): string; + + decodeFunctionResult( + functionFragment: "getRelayerBalance", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "isRelayerRegistered", + data: BytesLike + ): Result; +} + +export interface IRelayerRegistry extends BaseContract { + connect(runner?: ContractRunner | null): IRelayerRegistry; + waitForDeployment(): Promise; + + interface: IRelayerRegistryInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + getRelayerBalance: TypedContractMethod< + [relayer: AddressLike], + [bigint], + "view" + >; + + isRelayerRegistered: TypedContractMethod< + [relayer: AddressLike, toResolve: AddressLike], + [boolean], + "view" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "getRelayerBalance" + ): TypedContractMethod<[relayer: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "isRelayerRegistered" + ): TypedContractMethod< + [relayer: AddressLike, toResolve: AddressLike], + [boolean], + "view" + >; + + filters: {}; +} diff --git a/typechain-types/contracts/Governance/Aggregator/RelayerAggregator.sol/RelayerAggregator.ts b/typechain-types/contracts/Governance/Aggregator/RelayerAggregator.sol/RelayerAggregator.ts new file mode 100644 index 0000000..ee26649 --- /dev/null +++ b/typechain-types/contracts/Governance/Aggregator/RelayerAggregator.sol/RelayerAggregator.ts @@ -0,0 +1,147 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../common"; + +export type RelayerStruct = { + owner: AddressLike; + balance: BigNumberish; + isRegistered: boolean; + records: string[]; +}; + +export type RelayerStructOutput = [ + owner: string, + balance: bigint, + isRegistered: boolean, + records: string[] +] & { + owner: string; + balance: bigint; + isRegistered: boolean; + records: string[]; +}; + +export interface RelayerAggregatorInterface extends Interface { + getFunction( + nameOrSignature: "ENSRegistry" | "RelayerRegistry" | "relayersData" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "ENSRegistry", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "RelayerRegistry", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "relayersData", + values: [BytesLike[], string[]] + ): string; + + decodeFunctionResult( + functionFragment: "ENSRegistry", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "RelayerRegistry", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "relayersData", + data: BytesLike + ): Result; +} + +export interface RelayerAggregator extends BaseContract { + connect(runner?: ContractRunner | null): RelayerAggregator; + waitForDeployment(): Promise; + + interface: RelayerAggregatorInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + ENSRegistry: TypedContractMethod<[], [string], "view">; + + RelayerRegistry: TypedContractMethod<[], [string], "view">; + + relayersData: TypedContractMethod< + [_relayers: BytesLike[], _subdomains: string[]], + [RelayerStructOutput[]], + "view" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "ENSRegistry" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "RelayerRegistry" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "relayersData" + ): TypedContractMethod< + [_relayers: BytesLike[], _subdomains: string[]], + [RelayerStructOutput[]], + "view" + >; + + filters: {}; +} diff --git a/typechain-types/contracts/Governance/Aggregator/RelayerAggregator.sol/index.ts b/typechain-types/contracts/Governance/Aggregator/RelayerAggregator.sol/index.ts new file mode 100644 index 0000000..5201a75 --- /dev/null +++ b/typechain-types/contracts/Governance/Aggregator/RelayerAggregator.sol/index.ts @@ -0,0 +1,7 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { IENSRegistry } from "./IENSRegistry"; +export type { IENSResolver } from "./IENSResolver"; +export type { IRelayerRegistry } from "./IRelayerRegistry"; +export type { RelayerAggregator } from "./RelayerAggregator"; diff --git a/typechain-types/contracts/Governance/Aggregator/index.ts b/typechain-types/contracts/Governance/Aggregator/index.ts new file mode 100644 index 0000000..555c909 --- /dev/null +++ b/typechain-types/contracts/Governance/Aggregator/index.ts @@ -0,0 +1,7 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as relayerAggregatorSol from "./RelayerAggregator.sol"; +export type { relayerAggregatorSol }; +export type { Aggregator } from "./Aggregator"; +export type { GovernanceAggregator } from "./GovernanceAggregator"; diff --git a/typechain-types/contracts/Governance/Deployer.sol/Deployer.ts b/typechain-types/contracts/Governance/Deployer.sol/Deployer.ts new file mode 100644 index 0000000..4ac683f --- /dev/null +++ b/typechain-types/contracts/Governance/Deployer.sol/Deployer.ts @@ -0,0 +1,139 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../common"; + +export interface DeployerInterface extends Interface { + getFunction(nameOrSignature: "deploy" | "deployer"): FunctionFragment; + + getEvent(nameOrSignatureOrTopic: "Deployed"): EventFragment; + + encodeFunctionData( + functionFragment: "deploy", + values: [BytesLike, BytesLike] + ): string; + encodeFunctionData(functionFragment: "deployer", values?: undefined): string; + + decodeFunctionResult(functionFragment: "deploy", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "deployer", data: BytesLike): Result; +} + +export namespace DeployedEvent { + export type InputTuple = [sender: AddressLike, addr: AddressLike]; + export type OutputTuple = [sender: string, addr: string]; + export interface OutputObject { + sender: string; + addr: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface Deployer extends BaseContract { + connect(runner?: ContractRunner | null): Deployer; + waitForDeployment(): Promise; + + interface: DeployerInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + deploy: TypedContractMethod< + [_initCode: BytesLike, _salt: BytesLike], + [void], + "nonpayable" + >; + + deployer: TypedContractMethod<[], [string], "view">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "deploy" + ): TypedContractMethod< + [_initCode: BytesLike, _salt: BytesLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "deployer" + ): TypedContractMethod<[], [string], "view">; + + getEvent( + key: "Deployed" + ): TypedContractEvent< + DeployedEvent.InputTuple, + DeployedEvent.OutputTuple, + DeployedEvent.OutputObject + >; + + filters: { + "Deployed(address,address)": TypedContractEvent< + DeployedEvent.InputTuple, + DeployedEvent.OutputTuple, + DeployedEvent.OutputObject + >; + Deployed: TypedContractEvent< + DeployedEvent.InputTuple, + DeployedEvent.OutputTuple, + DeployedEvent.OutputObject + >; + }; +} diff --git a/typechain-types/contracts/Governance/Deployer.sol/IDeployer.ts b/typechain-types/contracts/Governance/Deployer.sol/IDeployer.ts new file mode 100644 index 0000000..c69cec4 --- /dev/null +++ b/typechain-types/contracts/Governance/Deployer.sol/IDeployer.ts @@ -0,0 +1,95 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BytesLike, + FunctionFragment, + Result, + Interface, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../common"; + +export interface IDeployerInterface extends Interface { + getFunction(nameOrSignature: "deploy"): FunctionFragment; + + encodeFunctionData( + functionFragment: "deploy", + values: [BytesLike, BytesLike] + ): string; + + decodeFunctionResult(functionFragment: "deploy", data: BytesLike): Result; +} + +export interface IDeployer extends BaseContract { + connect(runner?: ContractRunner | null): IDeployer; + waitForDeployment(): Promise; + + interface: IDeployerInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + deploy: TypedContractMethod< + [_initCode: BytesLike, _salt: BytesLike], + [string], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "deploy" + ): TypedContractMethod< + [_initCode: BytesLike, _salt: BytesLike], + [string], + "nonpayable" + >; + + filters: {}; +} diff --git a/typechain-types/contracts/Governance/Deployer.sol/index.ts b/typechain-types/contracts/Governance/Deployer.sol/index.ts new file mode 100644 index 0000000..8b17919 --- /dev/null +++ b/typechain-types/contracts/Governance/Deployer.sol/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { Deployer } from "./Deployer"; +export type { IDeployer } from "./IDeployer"; diff --git a/typechain-types/contracts/Governance/FeeManager.ts b/typechain-types/contracts/Governance/FeeManager.ts new file mode 100644 index 0000000..d670b84 --- /dev/null +++ b/typechain-types/contracts/Governance/FeeManager.ts @@ -0,0 +1,432 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../common"; + +export declare namespace FeeManager { + export type DeviationStruct = { + instance: AddressLike; + deviation: BigNumberish; + }; + + export type DeviationStructOutput = [instance: string, deviation: bigint] & { + instance: string; + deviation: bigint; + }; +} + +export interface FeeManagerInterface extends Interface { + getFunction( + nameOrSignature: + | "PROTOCOL_FEE_DIVIDER" + | "calculatePoolFee" + | "feeDeviations" + | "governance" + | "instanceFee" + | "instanceFeeUpdated" + | "instanceFeeWithUpdate" + | "registry" + | "setPeriodForTWAPOracle" + | "setUniswapTornPoolSwappingFee" + | "setUpdateFeeTimeLimit" + | "torn" + | "uniswapTimePeriod" + | "uniswapTornPoolSwappingFee" + | "updateAllFees" + | "updateFee" + | "updateFeeTimeLimit" + | "updateFees" + ): FunctionFragment; + + getEvent( + nameOrSignatureOrTopic: "FeeUpdated" | "UniswapTornPoolSwappingFeeChanged" + ): EventFragment; + + encodeFunctionData( + functionFragment: "PROTOCOL_FEE_DIVIDER", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "calculatePoolFee", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "feeDeviations", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "governance", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "instanceFee", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "instanceFeeUpdated", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "instanceFeeWithUpdate", + values: [AddressLike] + ): string; + encodeFunctionData(functionFragment: "registry", values?: undefined): string; + encodeFunctionData( + functionFragment: "setPeriodForTWAPOracle", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setUniswapTornPoolSwappingFee", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setUpdateFeeTimeLimit", + values: [BigNumberish] + ): string; + encodeFunctionData(functionFragment: "torn", values?: undefined): string; + encodeFunctionData( + functionFragment: "uniswapTimePeriod", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "uniswapTornPoolSwappingFee", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "updateAllFees", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "updateFee", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "updateFeeTimeLimit", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "updateFees", + values: [AddressLike[]] + ): string; + + decodeFunctionResult( + functionFragment: "PROTOCOL_FEE_DIVIDER", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "calculatePoolFee", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "feeDeviations", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "governance", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "instanceFee", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "instanceFeeUpdated", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "instanceFeeWithUpdate", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "registry", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setPeriodForTWAPOracle", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setUniswapTornPoolSwappingFee", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setUpdateFeeTimeLimit", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "torn", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "uniswapTimePeriod", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "uniswapTornPoolSwappingFee", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "updateAllFees", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "updateFee", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "updateFeeTimeLimit", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "updateFees", data: BytesLike): Result; +} + +export namespace FeeUpdatedEvent { + export type InputTuple = [instance: AddressLike, newFee: BigNumberish]; + export type OutputTuple = [instance: string, newFee: bigint]; + export interface OutputObject { + instance: string; + newFee: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace UniswapTornPoolSwappingFeeChangedEvent { + export type InputTuple = [newFee: BigNumberish]; + export type OutputTuple = [newFee: bigint]; + export interface OutputObject { + newFee: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface FeeManager extends BaseContract { + connect(runner?: ContractRunner | null): FeeManager; + waitForDeployment(): Promise; + + interface: FeeManagerInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + PROTOCOL_FEE_DIVIDER: TypedContractMethod<[], [bigint], "view">; + + calculatePoolFee: TypedContractMethod< + [_instance: AddressLike], + [bigint], + "view" + >; + + feeDeviations: TypedContractMethod< + [], + [FeeManager.DeviationStructOutput[]], + "view" + >; + + governance: TypedContractMethod<[], [string], "view">; + + instanceFee: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + + instanceFeeUpdated: TypedContractMethod< + [arg0: AddressLike], + [bigint], + "view" + >; + + instanceFeeWithUpdate: TypedContractMethod< + [_instance: AddressLike], + [bigint], + "nonpayable" + >; + + registry: TypedContractMethod<[], [string], "view">; + + setPeriodForTWAPOracle: TypedContractMethod< + [newPeriod: BigNumberish], + [void], + "nonpayable" + >; + + setUniswapTornPoolSwappingFee: TypedContractMethod< + [_uniswapTornPoolSwappingFee: BigNumberish], + [void], + "nonpayable" + >; + + setUpdateFeeTimeLimit: TypedContractMethod< + [newLimit: BigNumberish], + [void], + "nonpayable" + >; + + torn: TypedContractMethod<[], [string], "view">; + + uniswapTimePeriod: TypedContractMethod<[], [bigint], "view">; + + uniswapTornPoolSwappingFee: TypedContractMethod<[], [bigint], "view">; + + updateAllFees: TypedContractMethod<[], [void], "nonpayable">; + + updateFee: TypedContractMethod< + [_instance: AddressLike], + [void], + "nonpayable" + >; + + updateFeeTimeLimit: TypedContractMethod<[], [bigint], "view">; + + updateFees: TypedContractMethod< + [_instances: AddressLike[]], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "PROTOCOL_FEE_DIVIDER" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "calculatePoolFee" + ): TypedContractMethod<[_instance: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "feeDeviations" + ): TypedContractMethod<[], [FeeManager.DeviationStructOutput[]], "view">; + getFunction( + nameOrSignature: "governance" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "instanceFee" + ): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "instanceFeeUpdated" + ): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "instanceFeeWithUpdate" + ): TypedContractMethod<[_instance: AddressLike], [bigint], "nonpayable">; + getFunction( + nameOrSignature: "registry" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "setPeriodForTWAPOracle" + ): TypedContractMethod<[newPeriod: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "setUniswapTornPoolSwappingFee" + ): TypedContractMethod< + [_uniswapTornPoolSwappingFee: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setUpdateFeeTimeLimit" + ): TypedContractMethod<[newLimit: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "torn" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "uniswapTimePeriod" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "uniswapTornPoolSwappingFee" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "updateAllFees" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "updateFee" + ): TypedContractMethod<[_instance: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "updateFeeTimeLimit" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "updateFees" + ): TypedContractMethod<[_instances: AddressLike[]], [void], "nonpayable">; + + getEvent( + key: "FeeUpdated" + ): TypedContractEvent< + FeeUpdatedEvent.InputTuple, + FeeUpdatedEvent.OutputTuple, + FeeUpdatedEvent.OutputObject + >; + getEvent( + key: "UniswapTornPoolSwappingFeeChanged" + ): TypedContractEvent< + UniswapTornPoolSwappingFeeChangedEvent.InputTuple, + UniswapTornPoolSwappingFeeChangedEvent.OutputTuple, + UniswapTornPoolSwappingFeeChangedEvent.OutputObject + >; + + filters: { + "FeeUpdated(address,uint256)": TypedContractEvent< + FeeUpdatedEvent.InputTuple, + FeeUpdatedEvent.OutputTuple, + FeeUpdatedEvent.OutputObject + >; + FeeUpdated: TypedContractEvent< + FeeUpdatedEvent.InputTuple, + FeeUpdatedEvent.OutputTuple, + FeeUpdatedEvent.OutputObject + >; + + "UniswapTornPoolSwappingFeeChanged(uint24)": TypedContractEvent< + UniswapTornPoolSwappingFeeChangedEvent.InputTuple, + UniswapTornPoolSwappingFeeChangedEvent.OutputTuple, + UniswapTornPoolSwappingFeeChangedEvent.OutputObject + >; + UniswapTornPoolSwappingFeeChanged: TypedContractEvent< + UniswapTornPoolSwappingFeeChangedEvent.InputTuple, + UniswapTornPoolSwappingFeeChangedEvent.OutputTuple, + UniswapTornPoolSwappingFeeChangedEvent.OutputObject + >; + }; +} diff --git a/typechain-types/contracts/Governance/GasCompensationVault.ts b/typechain-types/contracts/Governance/GasCompensationVault.ts new file mode 100644 index 0000000..c7f0ac1 --- /dev/null +++ b/typechain-types/contracts/Governance/GasCompensationVault.ts @@ -0,0 +1,135 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../common"; + +export interface GasCompensationVaultInterface extends Interface { + getFunction( + nameOrSignature: + | "GovernanceAddress" + | "compensateGas" + | "withdrawToGovernance" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "GovernanceAddress", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "compensateGas", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "withdrawToGovernance", + values: [BigNumberish] + ): string; + + decodeFunctionResult( + functionFragment: "GovernanceAddress", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "compensateGas", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "withdrawToGovernance", + data: BytesLike + ): Result; +} + +export interface GasCompensationVault extends BaseContract { + connect(runner?: ContractRunner | null): GasCompensationVault; + waitForDeployment(): Promise; + + interface: GasCompensationVaultInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + GovernanceAddress: TypedContractMethod<[], [string], "view">; + + compensateGas: TypedContractMethod< + [recipient: AddressLike, gasAmount: BigNumberish], + [void], + "nonpayable" + >; + + withdrawToGovernance: TypedContractMethod< + [amount: BigNumberish], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "GovernanceAddress" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "compensateGas" + ): TypedContractMethod< + [recipient: AddressLike, gasAmount: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "withdrawToGovernance" + ): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + + filters: {}; +} diff --git a/typechain-types/contracts/Governance/InstanceRegistry.sol/ITornadoRouter.ts b/typechain-types/contracts/Governance/InstanceRegistry.sol/ITornadoRouter.ts new file mode 100644 index 0000000..a7296c3 --- /dev/null +++ b/typechain-types/contracts/Governance/InstanceRegistry.sol/ITornadoRouter.ts @@ -0,0 +1,100 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../common"; + +export interface ITornadoRouterInterface extends Interface { + getFunction(nameOrSignature: "approveExactToken"): FunctionFragment; + + encodeFunctionData( + functionFragment: "approveExactToken", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + + decodeFunctionResult( + functionFragment: "approveExactToken", + data: BytesLike + ): Result; +} + +export interface ITornadoRouter extends BaseContract { + connect(runner?: ContractRunner | null): ITornadoRouter; + waitForDeployment(): Promise; + + interface: ITornadoRouterInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + approveExactToken: TypedContractMethod< + [_token: AddressLike, _spender: AddressLike, _amount: BigNumberish], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "approveExactToken" + ): TypedContractMethod< + [_token: AddressLike, _spender: AddressLike, _amount: BigNumberish], + [void], + "nonpayable" + >; + + filters: {}; +} diff --git a/typechain-types/contracts/Governance/InstanceRegistry.sol/InstanceRegistry.ts b/typechain-types/contracts/Governance/InstanceRegistry.sol/InstanceRegistry.ts new file mode 100644 index 0000000..5ec88a3 --- /dev/null +++ b/typechain-types/contracts/Governance/InstanceRegistry.sol/InstanceRegistry.ts @@ -0,0 +1,396 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../common"; + +export declare namespace InstanceRegistry { + export type InstanceStruct = { + isERC20: boolean; + token: AddressLike; + state: BigNumberish; + uniswapPoolSwappingFee: BigNumberish; + protocolFeePercentage: BigNumberish; + }; + + export type InstanceStructOutput = [ + isERC20: boolean, + token: string, + state: bigint, + uniswapPoolSwappingFee: bigint, + protocolFeePercentage: bigint + ] & { + isERC20: boolean; + token: string; + state: bigint; + uniswapPoolSwappingFee: bigint; + protocolFeePercentage: bigint; + }; + + export type TornadoStruct = { + addr: AddressLike; + instance: InstanceRegistry.InstanceStruct; + }; + + export type TornadoStructOutput = [ + addr: string, + instance: InstanceRegistry.InstanceStructOutput + ] & { addr: string; instance: InstanceRegistry.InstanceStructOutput }; +} + +export interface InstanceRegistryInterface extends Interface { + getFunction( + nameOrSignature: + | "getAllInstanceAddresses" + | "getAllInstances" + | "getPoolToken" + | "governance" + | "initialize" + | "instanceIds" + | "instances" + | "removeInstance" + | "router" + | "setProtocolFee" + | "setTornadoRouter" + | "updateInstance" + ): FunctionFragment; + + getEvent( + nameOrSignatureOrTopic: "InstanceStateUpdated" | "RouterRegistered" + ): EventFragment; + + encodeFunctionData( + functionFragment: "getAllInstanceAddresses", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getAllInstances", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getPoolToken", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "governance", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "initialize", + values: [InstanceRegistry.TornadoStruct[], AddressLike] + ): string; + encodeFunctionData( + functionFragment: "instanceIds", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "instances", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "removeInstance", + values: [BigNumberish] + ): string; + encodeFunctionData(functionFragment: "router", values?: undefined): string; + encodeFunctionData( + functionFragment: "setProtocolFee", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setTornadoRouter", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "updateInstance", + values: [InstanceRegistry.TornadoStruct] + ): string; + + decodeFunctionResult( + functionFragment: "getAllInstanceAddresses", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getAllInstances", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getPoolToken", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "governance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "instanceIds", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "instances", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "removeInstance", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "router", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setProtocolFee", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setTornadoRouter", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "updateInstance", + data: BytesLike + ): Result; +} + +export namespace InstanceStateUpdatedEvent { + export type InputTuple = [instance: AddressLike, state: BigNumberish]; + export type OutputTuple = [instance: string, state: bigint]; + export interface OutputObject { + instance: string; + state: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace RouterRegisteredEvent { + export type InputTuple = [tornadoRouter: AddressLike]; + export type OutputTuple = [tornadoRouter: string]; + export interface OutputObject { + tornadoRouter: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface InstanceRegistry extends BaseContract { + connect(runner?: ContractRunner | null): InstanceRegistry; + waitForDeployment(): Promise; + + interface: InstanceRegistryInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + getAllInstanceAddresses: TypedContractMethod<[], [string[]], "view">; + + getAllInstances: TypedContractMethod< + [], + [InstanceRegistry.TornadoStructOutput[]], + "view" + >; + + getPoolToken: TypedContractMethod<[instance: AddressLike], [string], "view">; + + governance: TypedContractMethod<[], [string], "view">; + + initialize: TypedContractMethod< + [_instances: InstanceRegistry.TornadoStruct[], _router: AddressLike], + [void], + "nonpayable" + >; + + instanceIds: TypedContractMethod<[arg0: BigNumberish], [string], "view">; + + instances: TypedContractMethod< + [arg0: AddressLike], + [ + [boolean, string, bigint, bigint, bigint] & { + isERC20: boolean; + token: string; + state: bigint; + uniswapPoolSwappingFee: bigint; + protocolFeePercentage: bigint; + } + ], + "view" + >; + + removeInstance: TypedContractMethod< + [_instanceId: BigNumberish], + [void], + "nonpayable" + >; + + router: TypedContractMethod<[], [string], "view">; + + setProtocolFee: TypedContractMethod< + [instance: AddressLike, newFee: BigNumberish], + [void], + "nonpayable" + >; + + setTornadoRouter: TypedContractMethod< + [routerAddress: AddressLike], + [void], + "nonpayable" + >; + + updateInstance: TypedContractMethod< + [_tornado: InstanceRegistry.TornadoStruct], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "getAllInstanceAddresses" + ): TypedContractMethod<[], [string[]], "view">; + getFunction( + nameOrSignature: "getAllInstances" + ): TypedContractMethod<[], [InstanceRegistry.TornadoStructOutput[]], "view">; + getFunction( + nameOrSignature: "getPoolToken" + ): TypedContractMethod<[instance: AddressLike], [string], "view">; + getFunction( + nameOrSignature: "governance" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "initialize" + ): TypedContractMethod< + [_instances: InstanceRegistry.TornadoStruct[], _router: AddressLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "instanceIds" + ): TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getFunction( + nameOrSignature: "instances" + ): TypedContractMethod< + [arg0: AddressLike], + [ + [boolean, string, bigint, bigint, bigint] & { + isERC20: boolean; + token: string; + state: bigint; + uniswapPoolSwappingFee: bigint; + protocolFeePercentage: bigint; + } + ], + "view" + >; + getFunction( + nameOrSignature: "removeInstance" + ): TypedContractMethod<[_instanceId: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "router" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "setProtocolFee" + ): TypedContractMethod< + [instance: AddressLike, newFee: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setTornadoRouter" + ): TypedContractMethod<[routerAddress: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "updateInstance" + ): TypedContractMethod< + [_tornado: InstanceRegistry.TornadoStruct], + [void], + "nonpayable" + >; + + getEvent( + key: "InstanceStateUpdated" + ): TypedContractEvent< + InstanceStateUpdatedEvent.InputTuple, + InstanceStateUpdatedEvent.OutputTuple, + InstanceStateUpdatedEvent.OutputObject + >; + getEvent( + key: "RouterRegistered" + ): TypedContractEvent< + RouterRegisteredEvent.InputTuple, + RouterRegisteredEvent.OutputTuple, + RouterRegisteredEvent.OutputObject + >; + + filters: { + "InstanceStateUpdated(address,uint8)": TypedContractEvent< + InstanceStateUpdatedEvent.InputTuple, + InstanceStateUpdatedEvent.OutputTuple, + InstanceStateUpdatedEvent.OutputObject + >; + InstanceStateUpdated: TypedContractEvent< + InstanceStateUpdatedEvent.InputTuple, + InstanceStateUpdatedEvent.OutputTuple, + InstanceStateUpdatedEvent.OutputObject + >; + + "RouterRegistered(address)": TypedContractEvent< + RouterRegisteredEvent.InputTuple, + RouterRegisteredEvent.OutputTuple, + RouterRegisteredEvent.OutputObject + >; + RouterRegistered: TypedContractEvent< + RouterRegisteredEvent.InputTuple, + RouterRegisteredEvent.OutputTuple, + RouterRegisteredEvent.OutputObject + >; + }; +} diff --git a/typechain-types/contracts/Governance/InstanceRegistry.sol/index.ts b/typechain-types/contracts/Governance/InstanceRegistry.sol/index.ts new file mode 100644 index 0000000..175cd3d --- /dev/null +++ b/typechain-types/contracts/Governance/InstanceRegistry.sol/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { ITornadoRouter } from "./ITornadoRouter"; +export type { InstanceRegistry } from "./InstanceRegistry"; diff --git a/typechain-types/contracts/Governance/LoopbackProxy.ts b/typechain-types/contracts/Governance/LoopbackProxy.ts new file mode 100644 index 0000000..912de8d --- /dev/null +++ b/typechain-types/contracts/Governance/LoopbackProxy.ts @@ -0,0 +1,227 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../common"; + +export interface LoopbackProxyInterface extends Interface { + getFunction( + nameOrSignature: + | "admin" + | "changeAdmin" + | "implementation" + | "upgradeTo" + | "upgradeToAndCall" + ): FunctionFragment; + + getEvent(nameOrSignatureOrTopic: "AdminChanged" | "Upgraded"): EventFragment; + + encodeFunctionData(functionFragment: "admin", values?: undefined): string; + encodeFunctionData( + functionFragment: "changeAdmin", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "implementation", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "upgradeTo", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "upgradeToAndCall", + values: [AddressLike, BytesLike] + ): string; + + decodeFunctionResult(functionFragment: "admin", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "changeAdmin", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "implementation", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "upgradeTo", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "upgradeToAndCall", + data: BytesLike + ): Result; +} + +export namespace AdminChangedEvent { + export type InputTuple = [previousAdmin: AddressLike, newAdmin: AddressLike]; + export type OutputTuple = [previousAdmin: string, newAdmin: string]; + export interface OutputObject { + previousAdmin: string; + newAdmin: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace UpgradedEvent { + export type InputTuple = [implementation: AddressLike]; + export type OutputTuple = [implementation: string]; + export interface OutputObject { + implementation: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface LoopbackProxy extends BaseContract { + connect(runner?: ContractRunner | null): LoopbackProxy; + waitForDeployment(): Promise; + + interface: LoopbackProxyInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + admin: TypedContractMethod<[], [string], "nonpayable">; + + changeAdmin: TypedContractMethod< + [newAdmin: AddressLike], + [void], + "nonpayable" + >; + + implementation: TypedContractMethod<[], [string], "nonpayable">; + + upgradeTo: TypedContractMethod< + [newImplementation: AddressLike], + [void], + "nonpayable" + >; + + upgradeToAndCall: TypedContractMethod< + [newImplementation: AddressLike, data: BytesLike], + [void], + "payable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "admin" + ): TypedContractMethod<[], [string], "nonpayable">; + getFunction( + nameOrSignature: "changeAdmin" + ): TypedContractMethod<[newAdmin: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "implementation" + ): TypedContractMethod<[], [string], "nonpayable">; + getFunction( + nameOrSignature: "upgradeTo" + ): TypedContractMethod< + [newImplementation: AddressLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "upgradeToAndCall" + ): TypedContractMethod< + [newImplementation: AddressLike, data: BytesLike], + [void], + "payable" + >; + + getEvent( + key: "AdminChanged" + ): TypedContractEvent< + AdminChangedEvent.InputTuple, + AdminChangedEvent.OutputTuple, + AdminChangedEvent.OutputObject + >; + getEvent( + key: "Upgraded" + ): TypedContractEvent< + UpgradedEvent.InputTuple, + UpgradedEvent.OutputTuple, + UpgradedEvent.OutputObject + >; + + filters: { + "AdminChanged(address,address)": TypedContractEvent< + AdminChangedEvent.InputTuple, + AdminChangedEvent.OutputTuple, + AdminChangedEvent.OutputObject + >; + AdminChanged: TypedContractEvent< + AdminChangedEvent.InputTuple, + AdminChangedEvent.OutputTuple, + AdminChangedEvent.OutputObject + >; + + "Upgraded(address)": TypedContractEvent< + UpgradedEvent.InputTuple, + UpgradedEvent.OutputTuple, + UpgradedEvent.OutputObject + >; + Upgraded: TypedContractEvent< + UpgradedEvent.InputTuple, + UpgradedEvent.OutputTuple, + UpgradedEvent.OutputObject + >; + }; +} diff --git a/typechain-types/contracts/Governance/RelayerRegistry.sol/IENS.ts b/typechain-types/contracts/Governance/RelayerRegistry.sol/IENS.ts new file mode 100644 index 0000000..0db7c40 --- /dev/null +++ b/typechain-types/contracts/Governance/RelayerRegistry.sol/IENS.ts @@ -0,0 +1,84 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BytesLike, + FunctionFragment, + Result, + Interface, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../common"; + +export interface IENSInterface extends Interface { + getFunction(nameOrSignature: "owner"): FunctionFragment; + + encodeFunctionData(functionFragment: "owner", values: [BytesLike]): string; + + decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; +} + +export interface IENS extends BaseContract { + connect(runner?: ContractRunner | null): IENS; + waitForDeployment(): Promise; + + interface: IENSInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + owner: TypedContractMethod<[node: BytesLike], [string], "view">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "owner" + ): TypedContractMethod<[node: BytesLike], [string], "view">; + + filters: {}; +} diff --git a/typechain-types/contracts/Governance/RelayerRegistry.sol/IFeeManager.ts b/typechain-types/contracts/Governance/RelayerRegistry.sol/IFeeManager.ts new file mode 100644 index 0000000..9934c2f --- /dev/null +++ b/typechain-types/contracts/Governance/RelayerRegistry.sol/IFeeManager.ts @@ -0,0 +1,95 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../common"; + +export interface IFeeManagerInterface extends Interface { + getFunction(nameOrSignature: "instanceFeeWithUpdate"): FunctionFragment; + + encodeFunctionData( + functionFragment: "instanceFeeWithUpdate", + values: [AddressLike] + ): string; + + decodeFunctionResult( + functionFragment: "instanceFeeWithUpdate", + data: BytesLike + ): Result; +} + +export interface IFeeManager extends BaseContract { + connect(runner?: ContractRunner | null): IFeeManager; + waitForDeployment(): Promise; + + interface: IFeeManagerInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + instanceFeeWithUpdate: TypedContractMethod< + [_instance: AddressLike], + [bigint], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "instanceFeeWithUpdate" + ): TypedContractMethod<[_instance: AddressLike], [bigint], "nonpayable">; + + filters: {}; +} diff --git a/typechain-types/contracts/Governance/RelayerRegistry.sol/RelayerRegistry.ts b/typechain-types/contracts/Governance/RelayerRegistry.sol/RelayerRegistry.ts new file mode 100644 index 0000000..27adacb --- /dev/null +++ b/typechain-types/contracts/Governance/RelayerRegistry.sol/RelayerRegistry.ts @@ -0,0 +1,797 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../common"; + +export interface RelayerRegistryInterface extends Interface { + getFunction( + nameOrSignature: + | "burn" + | "ens" + | "feeManager" + | "getRelayerBalance" + | "getRelayerEnsHash" + | "governance" + | "initialize" + | "isRelayer" + | "isRelayerRegistered" + | "minStakeAmount" + | "nullifyBalance" + | "register" + | "registerPermit" + | "registerWorker" + | "relayers" + | "setMinStakeAmount" + | "setTornadoRouter" + | "stakeToRelayer" + | "stakeToRelayerPermit" + | "staking" + | "torn" + | "tornadoRouter" + | "unregisterWorker" + | "workers" + ): FunctionFragment; + + getEvent( + nameOrSignatureOrTopic: + | "MinimumStakeAmount" + | "RelayerBalanceNullified" + | "RelayerRegistered" + | "RouterRegistered" + | "StakeAddedToRelayer" + | "StakeBurned" + | "WorkerRegistered" + | "WorkerUnregistered" + ): EventFragment; + + encodeFunctionData( + functionFragment: "burn", + values: [AddressLike, AddressLike, AddressLike] + ): string; + encodeFunctionData(functionFragment: "ens", values?: undefined): string; + encodeFunctionData( + functionFragment: "feeManager", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getRelayerBalance", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "getRelayerEnsHash", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "governance", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "initialize", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "isRelayer", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "isRelayerRegistered", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "minStakeAmount", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "nullifyBalance", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "register", + values: [string, BigNumberish, AddressLike[]] + ): string; + encodeFunctionData( + functionFragment: "registerPermit", + values: [ + string, + BigNumberish, + AddressLike[], + AddressLike, + BigNumberish, + BigNumberish, + BytesLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "registerWorker", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "relayers", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "setMinStakeAmount", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setTornadoRouter", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "stakeToRelayer", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "stakeToRelayerPermit", + values: [ + AddressLike, + BigNumberish, + AddressLike, + BigNumberish, + BigNumberish, + BytesLike, + BytesLike + ] + ): string; + encodeFunctionData(functionFragment: "staking", values?: undefined): string; + encodeFunctionData(functionFragment: "torn", values?: undefined): string; + encodeFunctionData( + functionFragment: "tornadoRouter", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "unregisterWorker", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "workers", + values: [AddressLike] + ): string; + + decodeFunctionResult(functionFragment: "burn", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "ens", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "feeManager", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "getRelayerBalance", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getRelayerEnsHash", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "governance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "isRelayer", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "isRelayerRegistered", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "minStakeAmount", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "nullifyBalance", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "register", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "registerPermit", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "registerWorker", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "relayers", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setMinStakeAmount", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setTornadoRouter", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "stakeToRelayer", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "stakeToRelayerPermit", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "staking", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "torn", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "tornadoRouter", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "unregisterWorker", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "workers", data: BytesLike): Result; +} + +export namespace MinimumStakeAmountEvent { + export type InputTuple = [minStakeAmount: BigNumberish]; + export type OutputTuple = [minStakeAmount: bigint]; + export interface OutputObject { + minStakeAmount: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace RelayerBalanceNullifiedEvent { + export type InputTuple = [relayer: AddressLike]; + export type OutputTuple = [relayer: string]; + export interface OutputObject { + relayer: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace RelayerRegisteredEvent { + export type InputTuple = [ + relayer: BytesLike, + ensName: string, + relayerAddress: AddressLike, + stakedAmount: BigNumberish + ]; + export type OutputTuple = [ + relayer: string, + ensName: string, + relayerAddress: string, + stakedAmount: bigint + ]; + export interface OutputObject { + relayer: string; + ensName: string; + relayerAddress: string; + stakedAmount: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace RouterRegisteredEvent { + export type InputTuple = [tornadoRouter: AddressLike]; + export type OutputTuple = [tornadoRouter: string]; + export interface OutputObject { + tornadoRouter: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace StakeAddedToRelayerEvent { + export type InputTuple = [ + relayer: AddressLike, + amountStakeAdded: BigNumberish + ]; + export type OutputTuple = [relayer: string, amountStakeAdded: bigint]; + export interface OutputObject { + relayer: string; + amountStakeAdded: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace StakeBurnedEvent { + export type InputTuple = [relayer: AddressLike, amountBurned: BigNumberish]; + export type OutputTuple = [relayer: string, amountBurned: bigint]; + export interface OutputObject { + relayer: string; + amountBurned: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace WorkerRegisteredEvent { + export type InputTuple = [relayer: AddressLike, worker: AddressLike]; + export type OutputTuple = [relayer: string, worker: string]; + export interface OutputObject { + relayer: string; + worker: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace WorkerUnregisteredEvent { + export type InputTuple = [relayer: AddressLike, worker: AddressLike]; + export type OutputTuple = [relayer: string, worker: string]; + export interface OutputObject { + relayer: string; + worker: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface RelayerRegistry extends BaseContract { + connect(runner?: ContractRunner | null): RelayerRegistry; + waitForDeployment(): Promise; + + interface: RelayerRegistryInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + burn: TypedContractMethod< + [sender: AddressLike, relayer: AddressLike, pool: AddressLike], + [void], + "nonpayable" + >; + + ens: TypedContractMethod<[], [string], "view">; + + feeManager: TypedContractMethod<[], [string], "view">; + + getRelayerBalance: TypedContractMethod< + [relayer: AddressLike], + [bigint], + "view" + >; + + getRelayerEnsHash: TypedContractMethod< + [relayer: AddressLike], + [string], + "view" + >; + + governance: TypedContractMethod<[], [string], "view">; + + initialize: TypedContractMethod< + [_tornadoRouter: AddressLike], + [void], + "nonpayable" + >; + + isRelayer: TypedContractMethod<[toResolve: AddressLike], [boolean], "view">; + + isRelayerRegistered: TypedContractMethod< + [relayer: AddressLike, toResolve: AddressLike], + [boolean], + "view" + >; + + minStakeAmount: TypedContractMethod<[], [bigint], "view">; + + nullifyBalance: TypedContractMethod< + [relayer: AddressLike], + [void], + "nonpayable" + >; + + register: TypedContractMethod< + [ensName: string, stake: BigNumberish, workersToRegister: AddressLike[]], + [void], + "nonpayable" + >; + + registerPermit: TypedContractMethod< + [ + ensName: string, + stake: BigNumberish, + workersToRegister: AddressLike[], + relayer: AddressLike, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], + [void], + "nonpayable" + >; + + registerWorker: TypedContractMethod< + [relayer: AddressLike, worker: AddressLike], + [void], + "nonpayable" + >; + + relayers: TypedContractMethod< + [arg0: AddressLike], + [[bigint, string] & { balance: bigint; ensHash: string }], + "view" + >; + + setMinStakeAmount: TypedContractMethod< + [minAmount: BigNumberish], + [void], + "nonpayable" + >; + + setTornadoRouter: TypedContractMethod< + [tornadoRouterAddress: AddressLike], + [void], + "nonpayable" + >; + + stakeToRelayer: TypedContractMethod< + [relayer: AddressLike, stake: BigNumberish], + [void], + "nonpayable" + >; + + stakeToRelayerPermit: TypedContractMethod< + [ + relayer: AddressLike, + stake: BigNumberish, + staker: AddressLike, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], + [void], + "nonpayable" + >; + + staking: TypedContractMethod<[], [string], "view">; + + torn: TypedContractMethod<[], [string], "view">; + + tornadoRouter: TypedContractMethod<[], [string], "view">; + + unregisterWorker: TypedContractMethod< + [worker: AddressLike], + [void], + "nonpayable" + >; + + workers: TypedContractMethod<[arg0: AddressLike], [string], "view">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "burn" + ): TypedContractMethod< + [sender: AddressLike, relayer: AddressLike, pool: AddressLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "ens" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "feeManager" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "getRelayerBalance" + ): TypedContractMethod<[relayer: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "getRelayerEnsHash" + ): TypedContractMethod<[relayer: AddressLike], [string], "view">; + getFunction( + nameOrSignature: "governance" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "initialize" + ): TypedContractMethod<[_tornadoRouter: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "isRelayer" + ): TypedContractMethod<[toResolve: AddressLike], [boolean], "view">; + getFunction( + nameOrSignature: "isRelayerRegistered" + ): TypedContractMethod< + [relayer: AddressLike, toResolve: AddressLike], + [boolean], + "view" + >; + getFunction( + nameOrSignature: "minStakeAmount" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "nullifyBalance" + ): TypedContractMethod<[relayer: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "register" + ): TypedContractMethod< + [ensName: string, stake: BigNumberish, workersToRegister: AddressLike[]], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "registerPermit" + ): TypedContractMethod< + [ + ensName: string, + stake: BigNumberish, + workersToRegister: AddressLike[], + relayer: AddressLike, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "registerWorker" + ): TypedContractMethod< + [relayer: AddressLike, worker: AddressLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "relayers" + ): TypedContractMethod< + [arg0: AddressLike], + [[bigint, string] & { balance: bigint; ensHash: string }], + "view" + >; + getFunction( + nameOrSignature: "setMinStakeAmount" + ): TypedContractMethod<[minAmount: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "setTornadoRouter" + ): TypedContractMethod< + [tornadoRouterAddress: AddressLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "stakeToRelayer" + ): TypedContractMethod< + [relayer: AddressLike, stake: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "stakeToRelayerPermit" + ): TypedContractMethod< + [ + relayer: AddressLike, + stake: BigNumberish, + staker: AddressLike, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "staking" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "torn" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "tornadoRouter" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "unregisterWorker" + ): TypedContractMethod<[worker: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "workers" + ): TypedContractMethod<[arg0: AddressLike], [string], "view">; + + getEvent( + key: "MinimumStakeAmount" + ): TypedContractEvent< + MinimumStakeAmountEvent.InputTuple, + MinimumStakeAmountEvent.OutputTuple, + MinimumStakeAmountEvent.OutputObject + >; + getEvent( + key: "RelayerBalanceNullified" + ): TypedContractEvent< + RelayerBalanceNullifiedEvent.InputTuple, + RelayerBalanceNullifiedEvent.OutputTuple, + RelayerBalanceNullifiedEvent.OutputObject + >; + getEvent( + key: "RelayerRegistered" + ): TypedContractEvent< + RelayerRegisteredEvent.InputTuple, + RelayerRegisteredEvent.OutputTuple, + RelayerRegisteredEvent.OutputObject + >; + getEvent( + key: "RouterRegistered" + ): TypedContractEvent< + RouterRegisteredEvent.InputTuple, + RouterRegisteredEvent.OutputTuple, + RouterRegisteredEvent.OutputObject + >; + getEvent( + key: "StakeAddedToRelayer" + ): TypedContractEvent< + StakeAddedToRelayerEvent.InputTuple, + StakeAddedToRelayerEvent.OutputTuple, + StakeAddedToRelayerEvent.OutputObject + >; + getEvent( + key: "StakeBurned" + ): TypedContractEvent< + StakeBurnedEvent.InputTuple, + StakeBurnedEvent.OutputTuple, + StakeBurnedEvent.OutputObject + >; + getEvent( + key: "WorkerRegistered" + ): TypedContractEvent< + WorkerRegisteredEvent.InputTuple, + WorkerRegisteredEvent.OutputTuple, + WorkerRegisteredEvent.OutputObject + >; + getEvent( + key: "WorkerUnregistered" + ): TypedContractEvent< + WorkerUnregisteredEvent.InputTuple, + WorkerUnregisteredEvent.OutputTuple, + WorkerUnregisteredEvent.OutputObject + >; + + filters: { + "MinimumStakeAmount(uint256)": TypedContractEvent< + MinimumStakeAmountEvent.InputTuple, + MinimumStakeAmountEvent.OutputTuple, + MinimumStakeAmountEvent.OutputObject + >; + MinimumStakeAmount: TypedContractEvent< + MinimumStakeAmountEvent.InputTuple, + MinimumStakeAmountEvent.OutputTuple, + MinimumStakeAmountEvent.OutputObject + >; + + "RelayerBalanceNullified(address)": TypedContractEvent< + RelayerBalanceNullifiedEvent.InputTuple, + RelayerBalanceNullifiedEvent.OutputTuple, + RelayerBalanceNullifiedEvent.OutputObject + >; + RelayerBalanceNullified: TypedContractEvent< + RelayerBalanceNullifiedEvent.InputTuple, + RelayerBalanceNullifiedEvent.OutputTuple, + RelayerBalanceNullifiedEvent.OutputObject + >; + + "RelayerRegistered(bytes32,string,address,uint256)": TypedContractEvent< + RelayerRegisteredEvent.InputTuple, + RelayerRegisteredEvent.OutputTuple, + RelayerRegisteredEvent.OutputObject + >; + RelayerRegistered: TypedContractEvent< + RelayerRegisteredEvent.InputTuple, + RelayerRegisteredEvent.OutputTuple, + RelayerRegisteredEvent.OutputObject + >; + + "RouterRegistered(address)": TypedContractEvent< + RouterRegisteredEvent.InputTuple, + RouterRegisteredEvent.OutputTuple, + RouterRegisteredEvent.OutputObject + >; + RouterRegistered: TypedContractEvent< + RouterRegisteredEvent.InputTuple, + RouterRegisteredEvent.OutputTuple, + RouterRegisteredEvent.OutputObject + >; + + "StakeAddedToRelayer(address,uint256)": TypedContractEvent< + StakeAddedToRelayerEvent.InputTuple, + StakeAddedToRelayerEvent.OutputTuple, + StakeAddedToRelayerEvent.OutputObject + >; + StakeAddedToRelayer: TypedContractEvent< + StakeAddedToRelayerEvent.InputTuple, + StakeAddedToRelayerEvent.OutputTuple, + StakeAddedToRelayerEvent.OutputObject + >; + + "StakeBurned(address,uint256)": TypedContractEvent< + StakeBurnedEvent.InputTuple, + StakeBurnedEvent.OutputTuple, + StakeBurnedEvent.OutputObject + >; + StakeBurned: TypedContractEvent< + StakeBurnedEvent.InputTuple, + StakeBurnedEvent.OutputTuple, + StakeBurnedEvent.OutputObject + >; + + "WorkerRegistered(address,address)": TypedContractEvent< + WorkerRegisteredEvent.InputTuple, + WorkerRegisteredEvent.OutputTuple, + WorkerRegisteredEvent.OutputObject + >; + WorkerRegistered: TypedContractEvent< + WorkerRegisteredEvent.InputTuple, + WorkerRegisteredEvent.OutputTuple, + WorkerRegisteredEvent.OutputObject + >; + + "WorkerUnregistered(address,address)": TypedContractEvent< + WorkerUnregisteredEvent.InputTuple, + WorkerUnregisteredEvent.OutputTuple, + WorkerUnregisteredEvent.OutputObject + >; + WorkerUnregistered: TypedContractEvent< + WorkerUnregisteredEvent.InputTuple, + WorkerUnregisteredEvent.OutputTuple, + WorkerUnregisteredEvent.OutputObject + >; + }; +} diff --git a/typechain-types/contracts/Governance/RelayerRegistry.sol/index.ts b/typechain-types/contracts/Governance/RelayerRegistry.sol/index.ts new file mode 100644 index 0000000..942b09f --- /dev/null +++ b/typechain-types/contracts/Governance/RelayerRegistry.sol/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { IENS } from "./IENS"; +export type { IFeeManager } from "./IFeeManager"; +export type { RelayerRegistry } from "./RelayerRegistry"; diff --git a/typechain-types/contracts/Governance/TORN/Airdrop.ts b/typechain-types/contracts/Governance/TORN/Airdrop.ts new file mode 100644 index 0000000..138ebe6 --- /dev/null +++ b/typechain-types/contracts/Governance/TORN/Airdrop.ts @@ -0,0 +1,108 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../common"; + +export declare namespace Airdrop { + export type RecipientStruct = { to: AddressLike; amount: BigNumberish }; + + export type RecipientStructOutput = [to: string, amount: bigint] & { + to: string; + amount: bigint; + }; +} + +export interface AirdropInterface extends Interface { + getFunction(nameOrSignature: "bulkResolve" | "resolve"): FunctionFragment; + + encodeFunctionData( + functionFragment: "bulkResolve", + values: [BytesLike[]] + ): string; + encodeFunctionData(functionFragment: "resolve", values: [BytesLike]): string; + + decodeFunctionResult( + functionFragment: "bulkResolve", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "resolve", data: BytesLike): Result; +} + +export interface Airdrop extends BaseContract { + connect(runner?: ContractRunner | null): Airdrop; + waitForDeployment(): Promise; + + interface: AirdropInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + bulkResolve: TypedContractMethod<[domains: BytesLike[]], [string[]], "view">; + + resolve: TypedContractMethod<[node: BytesLike], [string], "view">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "bulkResolve" + ): TypedContractMethod<[domains: BytesLike[]], [string[]], "view">; + getFunction( + nameOrSignature: "resolve" + ): TypedContractMethod<[node: BytesLike], [string], "view">; + + filters: {}; +} diff --git a/typechain-types/contracts/Governance/TORN/ENS.sol/ENS.ts b/typechain-types/contracts/Governance/TORN/ENS.sol/ENS.ts new file mode 100644 index 0000000..d6e3f4a --- /dev/null +++ b/typechain-types/contracts/Governance/TORN/ENS.sol/ENS.ts @@ -0,0 +1,84 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BytesLike, + FunctionFragment, + Result, + Interface, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../common"; + +export interface ENSInterface extends Interface { + getFunction(nameOrSignature: "resolver"): FunctionFragment; + + encodeFunctionData(functionFragment: "resolver", values: [BytesLike]): string; + + decodeFunctionResult(functionFragment: "resolver", data: BytesLike): Result; +} + +export interface ENS extends BaseContract { + connect(runner?: ContractRunner | null): ENS; + waitForDeployment(): Promise; + + interface: ENSInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + resolver: TypedContractMethod<[node: BytesLike], [string], "view">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "resolver" + ): TypedContractMethod<[node: BytesLike], [string], "view">; + + filters: {}; +} diff --git a/typechain-types/contracts/Governance/TORN/ENS.sol/EnsResolve.ts b/typechain-types/contracts/Governance/TORN/ENS.sol/EnsResolve.ts new file mode 100644 index 0000000..bd44c90 --- /dev/null +++ b/typechain-types/contracts/Governance/TORN/ENS.sol/EnsResolve.ts @@ -0,0 +1,97 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BytesLike, + FunctionFragment, + Result, + Interface, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../common"; + +export interface EnsResolveInterface extends Interface { + getFunction(nameOrSignature: "bulkResolve" | "resolve"): FunctionFragment; + + encodeFunctionData( + functionFragment: "bulkResolve", + values: [BytesLike[]] + ): string; + encodeFunctionData(functionFragment: "resolve", values: [BytesLike]): string; + + decodeFunctionResult( + functionFragment: "bulkResolve", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "resolve", data: BytesLike): Result; +} + +export interface EnsResolve extends BaseContract { + connect(runner?: ContractRunner | null): EnsResolve; + waitForDeployment(): Promise; + + interface: EnsResolveInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + bulkResolve: TypedContractMethod<[domains: BytesLike[]], [string[]], "view">; + + resolve: TypedContractMethod<[node: BytesLike], [string], "view">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "bulkResolve" + ): TypedContractMethod<[domains: BytesLike[]], [string[]], "view">; + getFunction( + nameOrSignature: "resolve" + ): TypedContractMethod<[node: BytesLike], [string], "view">; + + filters: {}; +} diff --git a/typechain-types/contracts/Governance/TORN/ENS.sol/Resolver.ts b/typechain-types/contracts/Governance/TORN/ENS.sol/Resolver.ts new file mode 100644 index 0000000..41e4604 --- /dev/null +++ b/typechain-types/contracts/Governance/TORN/ENS.sol/Resolver.ts @@ -0,0 +1,84 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BytesLike, + FunctionFragment, + Result, + Interface, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../common"; + +export interface ResolverInterface extends Interface { + getFunction(nameOrSignature: "addr"): FunctionFragment; + + encodeFunctionData(functionFragment: "addr", values: [BytesLike]): string; + + decodeFunctionResult(functionFragment: "addr", data: BytesLike): Result; +} + +export interface Resolver extends BaseContract { + connect(runner?: ContractRunner | null): Resolver; + waitForDeployment(): Promise; + + interface: ResolverInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + addr: TypedContractMethod<[node: BytesLike], [string], "view">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "addr" + ): TypedContractMethod<[node: BytesLike], [string], "view">; + + filters: {}; +} diff --git a/typechain-types/contracts/Governance/TORN/ENS.sol/index.ts b/typechain-types/contracts/Governance/TORN/ENS.sol/index.ts new file mode 100644 index 0000000..50595eb --- /dev/null +++ b/typechain-types/contracts/Governance/TORN/ENS.sol/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { ENS } from "./ENS"; +export type { EnsResolve } from "./EnsResolve"; +export type { Resolver } from "./Resolver"; diff --git a/typechain-types/contracts/Governance/TORN/ERC20Permit.ts b/typechain-types/contracts/Governance/TORN/ERC20Permit.ts new file mode 100644 index 0000000..3dc0032 --- /dev/null +++ b/typechain-types/contracts/Governance/TORN/ERC20Permit.ts @@ -0,0 +1,403 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../common"; + +export interface ERC20PermitInterface extends Interface { + getFunction( + nameOrSignature: + | "allowance" + | "approve" + | "balanceOf" + | "blockTimestamp" + | "chainID" + | "decimals" + | "decreaseAllowance" + | "increaseAllowance" + | "name" + | "nonces" + | "permit" + | "symbol" + | "totalSupply" + | "transfer" + | "transferFrom" + ): FunctionFragment; + + getEvent(nameOrSignatureOrTopic: "Approval" | "Transfer"): EventFragment; + + encodeFunctionData( + functionFragment: "allowance", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "approve", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "balanceOf", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "blockTimestamp", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "chainID", values?: undefined): string; + encodeFunctionData(functionFragment: "decimals", values?: undefined): string; + encodeFunctionData( + functionFragment: "decreaseAllowance", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "increaseAllowance", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData(functionFragment: "nonces", values: [AddressLike]): string; + encodeFunctionData( + functionFragment: "permit", + values: [ + AddressLike, + AddressLike, + BigNumberish, + BigNumberish, + BigNumberish, + BytesLike, + BytesLike + ] + ): string; + encodeFunctionData(functionFragment: "symbol", values?: undefined): string; + encodeFunctionData( + functionFragment: "totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transfer", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "transferFrom", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "blockTimestamp", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "chainID", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "decreaseAllowance", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "increaseAllowance", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "nonces", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom", + data: BytesLike + ): Result; +} + +export namespace ApprovalEvent { + export type InputTuple = [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [owner: string, spender: string, value: bigint]; + export interface OutputObject { + owner: string; + spender: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace TransferEvent { + export type InputTuple = [ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [from: string, to: string, value: bigint]; + export interface OutputObject { + from: string; + to: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface ERC20Permit extends BaseContract { + connect(runner?: ContractRunner | null): ERC20Permit; + waitForDeployment(): Promise; + + interface: ERC20PermitInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + allowance: TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + + approve: TypedContractMethod< + [spender: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + balanceOf: TypedContractMethod<[account: AddressLike], [bigint], "view">; + + blockTimestamp: TypedContractMethod<[], [bigint], "view">; + + chainID: TypedContractMethod<[], [bigint], "view">; + + decimals: TypedContractMethod<[], [bigint], "view">; + + decreaseAllowance: TypedContractMethod< + [spender: AddressLike, subtractedValue: BigNumberish], + [boolean], + "nonpayable" + >; + + increaseAllowance: TypedContractMethod< + [spender: AddressLike, addedValue: BigNumberish], + [boolean], + "nonpayable" + >; + + name: TypedContractMethod<[], [string], "view">; + + nonces: TypedContractMethod<[owner: AddressLike], [bigint], "view">; + + permit: TypedContractMethod< + [ + owner: AddressLike, + spender: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], + [void], + "nonpayable" + >; + + symbol: TypedContractMethod<[], [string], "view">; + + totalSupply: TypedContractMethod<[], [bigint], "view">; + + transfer: TypedContractMethod< + [recipient: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + transferFrom: TypedContractMethod< + [sender: AddressLike, recipient: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "allowance" + ): TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + getFunction( + nameOrSignature: "approve" + ): TypedContractMethod< + [spender: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "balanceOf" + ): TypedContractMethod<[account: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "blockTimestamp" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "chainID" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "decimals" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "decreaseAllowance" + ): TypedContractMethod< + [spender: AddressLike, subtractedValue: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "increaseAllowance" + ): TypedContractMethod< + [spender: AddressLike, addedValue: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "name" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "nonces" + ): TypedContractMethod<[owner: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "permit" + ): TypedContractMethod< + [ + owner: AddressLike, + spender: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "symbol" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "totalSupply" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "transfer" + ): TypedContractMethod< + [recipient: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "transferFrom" + ): TypedContractMethod< + [sender: AddressLike, recipient: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + getEvent( + key: "Approval" + ): TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + getEvent( + key: "Transfer" + ): TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + + filters: { + "Approval(address,address,uint256)": TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + Approval: TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + + "Transfer(address,address,uint256)": TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + Transfer: TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + }; +} diff --git a/typechain-types/contracts/Governance/TORN/TORN.ts b/typechain-types/contracts/Governance/TORN/TORN.ts new file mode 100644 index 0000000..9c1d395 --- /dev/null +++ b/typechain-types/contracts/Governance/TORN/TORN.ts @@ -0,0 +1,694 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../common"; + +export declare namespace TORN { + export type RecipientStruct = { to: AddressLike; amount: BigNumberish }; + + export type RecipientStructOutput = [to: string, amount: bigint] & { + to: string; + amount: bigint; + }; +} + +export interface TORNInterface extends Interface { + getFunction( + nameOrSignature: + | "addToAllowedList" + | "allowance" + | "allowedTransferee" + | "approve" + | "balanceOf" + | "blockTimestamp" + | "burn" + | "burnFrom" + | "canUnpauseAfter" + | "chainID" + | "changeTransferability" + | "decimals" + | "decreaseAllowance" + | "governance" + | "increaseAllowance" + | "name" + | "nonces" + | "paused" + | "permit" + | "removeFromAllowedList" + | "rescueTokens" + | "symbol" + | "totalSupply" + | "transfer" + | "transferFrom" + ): FunctionFragment; + + getEvent( + nameOrSignatureOrTopic: + | "Allowed" + | "Approval" + | "Disallowed" + | "Paused" + | "Transfer" + | "Unpaused" + ): EventFragment; + + encodeFunctionData( + functionFragment: "addToAllowedList", + values: [AddressLike[]] + ): string; + encodeFunctionData( + functionFragment: "allowance", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "allowedTransferee", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "approve", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "balanceOf", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "blockTimestamp", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "burn", values: [BigNumberish]): string; + encodeFunctionData( + functionFragment: "burnFrom", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "canUnpauseAfter", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "chainID", values?: undefined): string; + encodeFunctionData( + functionFragment: "changeTransferability", + values: [boolean] + ): string; + encodeFunctionData(functionFragment: "decimals", values?: undefined): string; + encodeFunctionData( + functionFragment: "decreaseAllowance", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "governance", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "increaseAllowance", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData(functionFragment: "nonces", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "paused", values?: undefined): string; + encodeFunctionData( + functionFragment: "permit", + values: [ + AddressLike, + AddressLike, + BigNumberish, + BigNumberish, + BigNumberish, + BytesLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "removeFromAllowedList", + values: [AddressLike[]] + ): string; + encodeFunctionData( + functionFragment: "rescueTokens", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + encodeFunctionData(functionFragment: "symbol", values?: undefined): string; + encodeFunctionData( + functionFragment: "totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transfer", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "transferFrom", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + + decodeFunctionResult( + functionFragment: "addToAllowedList", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "allowedTransferee", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "blockTimestamp", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "burn", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "burnFrom", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "canUnpauseAfter", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "chainID", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "changeTransferability", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "decreaseAllowance", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "governance", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "increaseAllowance", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "nonces", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "paused", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "removeFromAllowedList", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "rescueTokens", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom", + data: BytesLike + ): Result; +} + +export namespace AllowedEvent { + export type InputTuple = [target: AddressLike]; + export type OutputTuple = [target: string]; + export interface OutputObject { + target: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace ApprovalEvent { + export type InputTuple = [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [owner: string, spender: string, value: bigint]; + export interface OutputObject { + owner: string; + spender: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace DisallowedEvent { + export type InputTuple = [target: AddressLike]; + export type OutputTuple = [target: string]; + export interface OutputObject { + target: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace PausedEvent { + export type InputTuple = [account: AddressLike]; + export type OutputTuple = [account: string]; + export interface OutputObject { + account: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace TransferEvent { + export type InputTuple = [ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [from: string, to: string, value: bigint]; + export interface OutputObject { + from: string; + to: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace UnpausedEvent { + export type InputTuple = [account: AddressLike]; + export type OutputTuple = [account: string]; + export interface OutputObject { + account: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface TORN extends BaseContract { + connect(runner?: ContractRunner | null): TORN; + waitForDeployment(): Promise; + + interface: TORNInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + addToAllowedList: TypedContractMethod< + [target: AddressLike[]], + [void], + "nonpayable" + >; + + allowance: TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + + allowedTransferee: TypedContractMethod< + [arg0: AddressLike], + [boolean], + "view" + >; + + approve: TypedContractMethod< + [spender: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + balanceOf: TypedContractMethod<[account: AddressLike], [bigint], "view">; + + blockTimestamp: TypedContractMethod<[], [bigint], "view">; + + burn: TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + + burnFrom: TypedContractMethod< + [account: AddressLike, amount: BigNumberish], + [void], + "nonpayable" + >; + + canUnpauseAfter: TypedContractMethod<[], [bigint], "view">; + + chainID: TypedContractMethod<[], [bigint], "view">; + + changeTransferability: TypedContractMethod< + [decision: boolean], + [void], + "nonpayable" + >; + + decimals: TypedContractMethod<[], [bigint], "view">; + + decreaseAllowance: TypedContractMethod< + [spender: AddressLike, subtractedValue: BigNumberish], + [boolean], + "nonpayable" + >; + + governance: TypedContractMethod<[], [string], "view">; + + increaseAllowance: TypedContractMethod< + [spender: AddressLike, addedValue: BigNumberish], + [boolean], + "nonpayable" + >; + + name: TypedContractMethod<[], [string], "view">; + + nonces: TypedContractMethod<[owner: AddressLike], [bigint], "view">; + + paused: TypedContractMethod<[], [boolean], "view">; + + permit: TypedContractMethod< + [ + owner: AddressLike, + spender: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], + [void], + "nonpayable" + >; + + removeFromAllowedList: TypedContractMethod< + [target: AddressLike[]], + [void], + "nonpayable" + >; + + rescueTokens: TypedContractMethod< + [_token: AddressLike, _to: AddressLike, _balance: BigNumberish], + [void], + "nonpayable" + >; + + symbol: TypedContractMethod<[], [string], "view">; + + totalSupply: TypedContractMethod<[], [bigint], "view">; + + transfer: TypedContractMethod< + [recipient: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + transferFrom: TypedContractMethod< + [sender: AddressLike, recipient: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "addToAllowedList" + ): TypedContractMethod<[target: AddressLike[]], [void], "nonpayable">; + getFunction( + nameOrSignature: "allowance" + ): TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + getFunction( + nameOrSignature: "allowedTransferee" + ): TypedContractMethod<[arg0: AddressLike], [boolean], "view">; + getFunction( + nameOrSignature: "approve" + ): TypedContractMethod< + [spender: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "balanceOf" + ): TypedContractMethod<[account: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "blockTimestamp" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "burn" + ): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "burnFrom" + ): TypedContractMethod< + [account: AddressLike, amount: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "canUnpauseAfter" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "chainID" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "changeTransferability" + ): TypedContractMethod<[decision: boolean], [void], "nonpayable">; + getFunction( + nameOrSignature: "decimals" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "decreaseAllowance" + ): TypedContractMethod< + [spender: AddressLike, subtractedValue: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "governance" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "increaseAllowance" + ): TypedContractMethod< + [spender: AddressLike, addedValue: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "name" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "nonces" + ): TypedContractMethod<[owner: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "paused" + ): TypedContractMethod<[], [boolean], "view">; + getFunction( + nameOrSignature: "permit" + ): TypedContractMethod< + [ + owner: AddressLike, + spender: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "removeFromAllowedList" + ): TypedContractMethod<[target: AddressLike[]], [void], "nonpayable">; + getFunction( + nameOrSignature: "rescueTokens" + ): TypedContractMethod< + [_token: AddressLike, _to: AddressLike, _balance: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "symbol" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "totalSupply" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "transfer" + ): TypedContractMethod< + [recipient: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "transferFrom" + ): TypedContractMethod< + [sender: AddressLike, recipient: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + getEvent( + key: "Allowed" + ): TypedContractEvent< + AllowedEvent.InputTuple, + AllowedEvent.OutputTuple, + AllowedEvent.OutputObject + >; + getEvent( + key: "Approval" + ): TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + getEvent( + key: "Disallowed" + ): TypedContractEvent< + DisallowedEvent.InputTuple, + DisallowedEvent.OutputTuple, + DisallowedEvent.OutputObject + >; + getEvent( + key: "Paused" + ): TypedContractEvent< + PausedEvent.InputTuple, + PausedEvent.OutputTuple, + PausedEvent.OutputObject + >; + getEvent( + key: "Transfer" + ): TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + getEvent( + key: "Unpaused" + ): TypedContractEvent< + UnpausedEvent.InputTuple, + UnpausedEvent.OutputTuple, + UnpausedEvent.OutputObject + >; + + filters: { + "Allowed(address)": TypedContractEvent< + AllowedEvent.InputTuple, + AllowedEvent.OutputTuple, + AllowedEvent.OutputObject + >; + Allowed: TypedContractEvent< + AllowedEvent.InputTuple, + AllowedEvent.OutputTuple, + AllowedEvent.OutputObject + >; + + "Approval(address,address,uint256)": TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + Approval: TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + + "Disallowed(address)": TypedContractEvent< + DisallowedEvent.InputTuple, + DisallowedEvent.OutputTuple, + DisallowedEvent.OutputObject + >; + Disallowed: TypedContractEvent< + DisallowedEvent.InputTuple, + DisallowedEvent.OutputTuple, + DisallowedEvent.OutputObject + >; + + "Paused(address)": TypedContractEvent< + PausedEvent.InputTuple, + PausedEvent.OutputTuple, + PausedEvent.OutputObject + >; + Paused: TypedContractEvent< + PausedEvent.InputTuple, + PausedEvent.OutputTuple, + PausedEvent.OutputObject + >; + + "Transfer(address,address,uint256)": TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + Transfer: TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + + "Unpaused(address)": TypedContractEvent< + UnpausedEvent.InputTuple, + UnpausedEvent.OutputTuple, + UnpausedEvent.OutputObject + >; + Unpaused: TypedContractEvent< + UnpausedEvent.InputTuple, + UnpausedEvent.OutputTuple, + UnpausedEvent.OutputObject + >; + }; +} diff --git a/typechain-types/contracts/Governance/TORN/Vesting.ts b/typechain-types/contracts/Governance/TORN/Vesting.ts new file mode 100644 index 0000000..0f02aaa --- /dev/null +++ b/typechain-types/contracts/Governance/TORN/Vesting.ts @@ -0,0 +1,237 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../common"; + +export interface VestingInterface extends Interface { + getFunction( + nameOrSignature: + | "SECONDS_PER_MONTH" + | "beneficiary" + | "blockTimestamp" + | "cliffInMonths" + | "durationInMonths" + | "release" + | "released" + | "startTimestamp" + | "token" + | "vestedAmount" + ): FunctionFragment; + + getEvent(nameOrSignatureOrTopic: "Released"): EventFragment; + + encodeFunctionData( + functionFragment: "SECONDS_PER_MONTH", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "beneficiary", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "blockTimestamp", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "cliffInMonths", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "durationInMonths", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "release", values?: undefined): string; + encodeFunctionData(functionFragment: "released", values?: undefined): string; + encodeFunctionData( + functionFragment: "startTimestamp", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "token", values?: undefined): string; + encodeFunctionData( + functionFragment: "vestedAmount", + values?: undefined + ): string; + + decodeFunctionResult( + functionFragment: "SECONDS_PER_MONTH", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "beneficiary", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "blockTimestamp", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "cliffInMonths", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "durationInMonths", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "release", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "released", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "startTimestamp", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "token", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "vestedAmount", + data: BytesLike + ): Result; +} + +export namespace ReleasedEvent { + export type InputTuple = [amount: BigNumberish]; + export type OutputTuple = [amount: bigint]; + export interface OutputObject { + amount: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface Vesting extends BaseContract { + connect(runner?: ContractRunner | null): Vesting; + waitForDeployment(): Promise; + + interface: VestingInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + SECONDS_PER_MONTH: TypedContractMethod<[], [bigint], "view">; + + beneficiary: TypedContractMethod<[], [string], "view">; + + blockTimestamp: TypedContractMethod<[], [bigint], "view">; + + cliffInMonths: TypedContractMethod<[], [bigint], "view">; + + durationInMonths: TypedContractMethod<[], [bigint], "view">; + + release: TypedContractMethod<[], [void], "nonpayable">; + + released: TypedContractMethod<[], [bigint], "view">; + + startTimestamp: TypedContractMethod<[], [bigint], "view">; + + token: TypedContractMethod<[], [string], "view">; + + vestedAmount: TypedContractMethod<[], [bigint], "view">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "SECONDS_PER_MONTH" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "beneficiary" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "blockTimestamp" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "cliffInMonths" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "durationInMonths" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "release" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "released" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "startTimestamp" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "token" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "vestedAmount" + ): TypedContractMethod<[], [bigint], "view">; + + getEvent( + key: "Released" + ): TypedContractEvent< + ReleasedEvent.InputTuple, + ReleasedEvent.OutputTuple, + ReleasedEvent.OutputObject + >; + + filters: { + "Released(uint256)": TypedContractEvent< + ReleasedEvent.InputTuple, + ReleasedEvent.OutputTuple, + ReleasedEvent.OutputObject + >; + Released: TypedContractEvent< + ReleasedEvent.InputTuple, + ReleasedEvent.OutputTuple, + ReleasedEvent.OutputObject + >; + }; +} diff --git a/typechain-types/contracts/Governance/TORN/Voucher.ts b/typechain-types/contracts/Governance/TORN/Voucher.ts new file mode 100644 index 0000000..85c6bc8 --- /dev/null +++ b/typechain-types/contracts/Governance/TORN/Voucher.ts @@ -0,0 +1,442 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../common"; + +export declare namespace Voucher { + export type RecipientStruct = { to: AddressLike; amount: BigNumberish }; + + export type RecipientStructOutput = [to: string, amount: bigint] & { + to: string; + amount: bigint; + }; +} + +export interface VoucherInterface extends Interface { + getFunction( + nameOrSignature: + | "allowance" + | "allowedTransferee" + | "approve" + | "balanceOf" + | "blockTimestamp" + | "bulkResolve" + | "decimals" + | "decreaseAllowance" + | "expiresAt" + | "governance" + | "increaseAllowance" + | "name" + | "redeem" + | "rescueExpiredTokens" + | "resolve" + | "symbol" + | "torn" + | "totalSupply" + | "transfer" + | "transferFrom" + ): FunctionFragment; + + getEvent(nameOrSignatureOrTopic: "Approval" | "Transfer"): EventFragment; + + encodeFunctionData( + functionFragment: "allowance", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "allowedTransferee", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "approve", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "balanceOf", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "blockTimestamp", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "bulkResolve", + values: [BytesLike[]] + ): string; + encodeFunctionData(functionFragment: "decimals", values?: undefined): string; + encodeFunctionData( + functionFragment: "decreaseAllowance", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData(functionFragment: "expiresAt", values?: undefined): string; + encodeFunctionData( + functionFragment: "governance", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "increaseAllowance", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData(functionFragment: "redeem", values?: undefined): string; + encodeFunctionData( + functionFragment: "rescueExpiredTokens", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "resolve", values: [BytesLike]): string; + encodeFunctionData(functionFragment: "symbol", values?: undefined): string; + encodeFunctionData(functionFragment: "torn", values?: undefined): string; + encodeFunctionData( + functionFragment: "totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transfer", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "transferFrom", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "allowedTransferee", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "blockTimestamp", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "bulkResolve", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "decreaseAllowance", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "expiresAt", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "governance", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "increaseAllowance", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "redeem", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "rescueExpiredTokens", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "resolve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "torn", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom", + data: BytesLike + ): Result; +} + +export namespace ApprovalEvent { + export type InputTuple = [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [owner: string, spender: string, value: bigint]; + export interface OutputObject { + owner: string; + spender: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace TransferEvent { + export type InputTuple = [ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [from: string, to: string, value: bigint]; + export interface OutputObject { + from: string; + to: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface Voucher extends BaseContract { + connect(runner?: ContractRunner | null): Voucher; + waitForDeployment(): Promise; + + interface: VoucherInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + allowance: TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + + allowedTransferee: TypedContractMethod< + [arg0: AddressLike], + [boolean], + "view" + >; + + approve: TypedContractMethod< + [spender: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + balanceOf: TypedContractMethod<[account: AddressLike], [bigint], "view">; + + blockTimestamp: TypedContractMethod<[], [bigint], "view">; + + bulkResolve: TypedContractMethod<[domains: BytesLike[]], [string[]], "view">; + + decimals: TypedContractMethod<[], [bigint], "view">; + + decreaseAllowance: TypedContractMethod< + [spender: AddressLike, subtractedValue: BigNumberish], + [boolean], + "nonpayable" + >; + + expiresAt: TypedContractMethod<[], [bigint], "view">; + + governance: TypedContractMethod<[], [string], "view">; + + increaseAllowance: TypedContractMethod< + [spender: AddressLike, addedValue: BigNumberish], + [boolean], + "nonpayable" + >; + + name: TypedContractMethod<[], [string], "view">; + + redeem: TypedContractMethod<[], [void], "nonpayable">; + + rescueExpiredTokens: TypedContractMethod<[], [void], "nonpayable">; + + resolve: TypedContractMethod<[node: BytesLike], [string], "view">; + + symbol: TypedContractMethod<[], [string], "view">; + + torn: TypedContractMethod<[], [string], "view">; + + totalSupply: TypedContractMethod<[], [bigint], "view">; + + transfer: TypedContractMethod< + [recipient: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + transferFrom: TypedContractMethod< + [sender: AddressLike, recipient: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "allowance" + ): TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + getFunction( + nameOrSignature: "allowedTransferee" + ): TypedContractMethod<[arg0: AddressLike], [boolean], "view">; + getFunction( + nameOrSignature: "approve" + ): TypedContractMethod< + [spender: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "balanceOf" + ): TypedContractMethod<[account: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "blockTimestamp" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "bulkResolve" + ): TypedContractMethod<[domains: BytesLike[]], [string[]], "view">; + getFunction( + nameOrSignature: "decimals" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "decreaseAllowance" + ): TypedContractMethod< + [spender: AddressLike, subtractedValue: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "expiresAt" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "governance" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "increaseAllowance" + ): TypedContractMethod< + [spender: AddressLike, addedValue: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "name" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "redeem" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "rescueExpiredTokens" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "resolve" + ): TypedContractMethod<[node: BytesLike], [string], "view">; + getFunction( + nameOrSignature: "symbol" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "torn" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "totalSupply" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "transfer" + ): TypedContractMethod< + [recipient: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "transferFrom" + ): TypedContractMethod< + [sender: AddressLike, recipient: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + getEvent( + key: "Approval" + ): TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + getEvent( + key: "Transfer" + ): TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + + filters: { + "Approval(address,address,uint256)": TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + Approval: TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + + "Transfer(address,address,uint256)": TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + Transfer: TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + }; +} diff --git a/typechain-types/contracts/Governance/TORN/index.ts b/typechain-types/contracts/Governance/TORN/index.ts new file mode 100644 index 0000000..652cdbe --- /dev/null +++ b/typechain-types/contracts/Governance/TORN/index.ts @@ -0,0 +1,12 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as ensSol from "./ENS.sol"; +export type { ensSol }; +import type * as mocks from "./mocks"; +export type { mocks }; +export type { Airdrop } from "./Airdrop"; +export type { ERC20Permit } from "./ERC20Permit"; +export type { TORN } from "./TORN"; +export type { Vesting } from "./Vesting"; +export type { Voucher } from "./Voucher"; diff --git a/typechain-types/contracts/Governance/TORN/mocks/AirdropMock.ts b/typechain-types/contracts/Governance/TORN/mocks/AirdropMock.ts new file mode 100644 index 0000000..dce499f --- /dev/null +++ b/typechain-types/contracts/Governance/TORN/mocks/AirdropMock.ts @@ -0,0 +1,108 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../common"; + +export declare namespace Airdrop { + export type RecipientStruct = { to: AddressLike; amount: BigNumberish }; + + export type RecipientStructOutput = [to: string, amount: bigint] & { + to: string; + amount: bigint; + }; +} + +export interface AirdropMockInterface extends Interface { + getFunction(nameOrSignature: "bulkResolve" | "resolve"): FunctionFragment; + + encodeFunctionData( + functionFragment: "bulkResolve", + values: [BytesLike[]] + ): string; + encodeFunctionData(functionFragment: "resolve", values: [BytesLike]): string; + + decodeFunctionResult( + functionFragment: "bulkResolve", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "resolve", data: BytesLike): Result; +} + +export interface AirdropMock extends BaseContract { + connect(runner?: ContractRunner | null): AirdropMock; + waitForDeployment(): Promise; + + interface: AirdropMockInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + bulkResolve: TypedContractMethod<[domains: BytesLike[]], [string[]], "view">; + + resolve: TypedContractMethod<[addr: BytesLike], [string], "view">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "bulkResolve" + ): TypedContractMethod<[domains: BytesLike[]], [string[]], "view">; + getFunction( + nameOrSignature: "resolve" + ): TypedContractMethod<[addr: BytesLike], [string], "view">; + + filters: {}; +} diff --git a/typechain-types/contracts/Governance/TORN/mocks/ENSMock.ts b/typechain-types/contracts/Governance/TORN/mocks/ENSMock.ts new file mode 100644 index 0000000..b3ef8c1 --- /dev/null +++ b/typechain-types/contracts/Governance/TORN/mocks/ENSMock.ts @@ -0,0 +1,129 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../common"; + +export interface ENSMockInterface extends Interface { + getFunction( + nameOrSignature: "addr" | "multicall" | "registry" | "resolver" | "setAddr" + ): FunctionFragment; + + encodeFunctionData(functionFragment: "addr", values: [BytesLike]): string; + encodeFunctionData( + functionFragment: "multicall", + values: [BytesLike[]] + ): string; + encodeFunctionData(functionFragment: "registry", values: [BytesLike]): string; + encodeFunctionData(functionFragment: "resolver", values: [BytesLike]): string; + encodeFunctionData( + functionFragment: "setAddr", + values: [BytesLike, AddressLike] + ): string; + + decodeFunctionResult(functionFragment: "addr", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "multicall", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "registry", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "resolver", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setAddr", data: BytesLike): Result; +} + +export interface ENSMock extends BaseContract { + connect(runner?: ContractRunner | null): ENSMock; + waitForDeployment(): Promise; + + interface: ENSMockInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + addr: TypedContractMethod<[_node: BytesLike], [string], "view">; + + multicall: TypedContractMethod<[data: BytesLike[]], [string[]], "nonpayable">; + + registry: TypedContractMethod<[arg0: BytesLike], [string], "view">; + + resolver: TypedContractMethod<[arg0: BytesLike], [string], "view">; + + setAddr: TypedContractMethod< + [_node: BytesLike, _addr: AddressLike], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "addr" + ): TypedContractMethod<[_node: BytesLike], [string], "view">; + getFunction( + nameOrSignature: "multicall" + ): TypedContractMethod<[data: BytesLike[]], [string[]], "nonpayable">; + getFunction( + nameOrSignature: "registry" + ): TypedContractMethod<[arg0: BytesLike], [string], "view">; + getFunction( + nameOrSignature: "resolver" + ): TypedContractMethod<[arg0: BytesLike], [string], "view">; + getFunction( + nameOrSignature: "setAddr" + ): TypedContractMethod< + [_node: BytesLike, _addr: AddressLike], + [void], + "nonpayable" + >; + + filters: {}; +} diff --git a/typechain-types/contracts/Governance/TORN/mocks/TORNMock.ts b/typechain-types/contracts/Governance/TORN/mocks/TORNMock.ts new file mode 100644 index 0000000..84ae87e --- /dev/null +++ b/typechain-types/contracts/Governance/TORN/mocks/TORNMock.ts @@ -0,0 +1,749 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../../common"; + +export declare namespace TORN { + export type RecipientStruct = { to: AddressLike; amount: BigNumberish }; + + export type RecipientStructOutput = [to: string, amount: bigint] & { + to: string; + amount: bigint; + }; +} + +export interface TORNMockInterface extends Interface { + getFunction( + nameOrSignature: + | "addToAllowedList" + | "allowance" + | "allowedTransferee" + | "approve" + | "balanceOf" + | "blockTimestamp" + | "burn" + | "burnFrom" + | "canUnpauseAfter" + | "chainID" + | "chainId" + | "changeTransferability" + | "decimals" + | "decreaseAllowance" + | "fakeTimestamp" + | "governance" + | "increaseAllowance" + | "name" + | "nonces" + | "paused" + | "permit" + | "removeFromAllowedList" + | "rescueTokens" + | "setChainId" + | "setFakeTimestamp" + | "symbol" + | "totalSupply" + | "transfer" + | "transferFrom" + ): FunctionFragment; + + getEvent( + nameOrSignatureOrTopic: + | "Allowed" + | "Approval" + | "Disallowed" + | "Paused" + | "Transfer" + | "Unpaused" + ): EventFragment; + + encodeFunctionData( + functionFragment: "addToAllowedList", + values: [AddressLike[]] + ): string; + encodeFunctionData( + functionFragment: "allowance", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "allowedTransferee", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "approve", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "balanceOf", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "blockTimestamp", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "burn", values: [BigNumberish]): string; + encodeFunctionData( + functionFragment: "burnFrom", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "canUnpauseAfter", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "chainID", values?: undefined): string; + encodeFunctionData(functionFragment: "chainId", values?: undefined): string; + encodeFunctionData( + functionFragment: "changeTransferability", + values: [boolean] + ): string; + encodeFunctionData(functionFragment: "decimals", values?: undefined): string; + encodeFunctionData( + functionFragment: "decreaseAllowance", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "fakeTimestamp", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "governance", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "increaseAllowance", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData(functionFragment: "nonces", values: [AddressLike]): string; + encodeFunctionData(functionFragment: "paused", values?: undefined): string; + encodeFunctionData( + functionFragment: "permit", + values: [ + AddressLike, + AddressLike, + BigNumberish, + BigNumberish, + BigNumberish, + BytesLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "removeFromAllowedList", + values: [AddressLike[]] + ): string; + encodeFunctionData( + functionFragment: "rescueTokens", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setChainId", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setFakeTimestamp", + values: [BigNumberish] + ): string; + encodeFunctionData(functionFragment: "symbol", values?: undefined): string; + encodeFunctionData( + functionFragment: "totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transfer", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "transferFrom", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + + decodeFunctionResult( + functionFragment: "addToAllowedList", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "allowedTransferee", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "blockTimestamp", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "burn", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "burnFrom", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "canUnpauseAfter", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "chainID", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "chainId", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "changeTransferability", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "decreaseAllowance", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "fakeTimestamp", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "governance", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "increaseAllowance", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "nonces", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "paused", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "removeFromAllowedList", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "rescueTokens", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "setChainId", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setFakeTimestamp", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom", + data: BytesLike + ): Result; +} + +export namespace AllowedEvent { + export type InputTuple = [target: AddressLike]; + export type OutputTuple = [target: string]; + export interface OutputObject { + target: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace ApprovalEvent { + export type InputTuple = [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [owner: string, spender: string, value: bigint]; + export interface OutputObject { + owner: string; + spender: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace DisallowedEvent { + export type InputTuple = [target: AddressLike]; + export type OutputTuple = [target: string]; + export interface OutputObject { + target: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace PausedEvent { + export type InputTuple = [account: AddressLike]; + export type OutputTuple = [account: string]; + export interface OutputObject { + account: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace TransferEvent { + export type InputTuple = [ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [from: string, to: string, value: bigint]; + export interface OutputObject { + from: string; + to: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace UnpausedEvent { + export type InputTuple = [account: AddressLike]; + export type OutputTuple = [account: string]; + export interface OutputObject { + account: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface TORNMock extends BaseContract { + connect(runner?: ContractRunner | null): TORNMock; + waitForDeployment(): Promise; + + interface: TORNMockInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + addToAllowedList: TypedContractMethod< + [target: AddressLike[]], + [void], + "nonpayable" + >; + + allowance: TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + + allowedTransferee: TypedContractMethod< + [arg0: AddressLike], + [boolean], + "view" + >; + + approve: TypedContractMethod< + [spender: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + balanceOf: TypedContractMethod<[account: AddressLike], [bigint], "view">; + + blockTimestamp: TypedContractMethod<[], [bigint], "view">; + + burn: TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + + burnFrom: TypedContractMethod< + [account: AddressLike, amount: BigNumberish], + [void], + "nonpayable" + >; + + canUnpauseAfter: TypedContractMethod<[], [bigint], "view">; + + chainID: TypedContractMethod<[], [bigint], "view">; + + chainId: TypedContractMethod<[], [bigint], "view">; + + changeTransferability: TypedContractMethod< + [decision: boolean], + [void], + "nonpayable" + >; + + decimals: TypedContractMethod<[], [bigint], "view">; + + decreaseAllowance: TypedContractMethod< + [spender: AddressLike, subtractedValue: BigNumberish], + [boolean], + "nonpayable" + >; + + fakeTimestamp: TypedContractMethod<[], [bigint], "view">; + + governance: TypedContractMethod<[], [string], "view">; + + increaseAllowance: TypedContractMethod< + [spender: AddressLike, addedValue: BigNumberish], + [boolean], + "nonpayable" + >; + + name: TypedContractMethod<[], [string], "view">; + + nonces: TypedContractMethod<[owner: AddressLike], [bigint], "view">; + + paused: TypedContractMethod<[], [boolean], "view">; + + permit: TypedContractMethod< + [ + owner: AddressLike, + spender: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], + [void], + "nonpayable" + >; + + removeFromAllowedList: TypedContractMethod< + [target: AddressLike[]], + [void], + "nonpayable" + >; + + rescueTokens: TypedContractMethod< + [_token: AddressLike, _to: AddressLike, _balance: BigNumberish], + [void], + "nonpayable" + >; + + setChainId: TypedContractMethod< + [_chainId: BigNumberish], + [void], + "nonpayable" + >; + + setFakeTimestamp: TypedContractMethod< + [_fakeTimestamp: BigNumberish], + [void], + "nonpayable" + >; + + symbol: TypedContractMethod<[], [string], "view">; + + totalSupply: TypedContractMethod<[], [bigint], "view">; + + transfer: TypedContractMethod< + [recipient: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + transferFrom: TypedContractMethod< + [sender: AddressLike, recipient: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "addToAllowedList" + ): TypedContractMethod<[target: AddressLike[]], [void], "nonpayable">; + getFunction( + nameOrSignature: "allowance" + ): TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + getFunction( + nameOrSignature: "allowedTransferee" + ): TypedContractMethod<[arg0: AddressLike], [boolean], "view">; + getFunction( + nameOrSignature: "approve" + ): TypedContractMethod< + [spender: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "balanceOf" + ): TypedContractMethod<[account: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "blockTimestamp" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "burn" + ): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "burnFrom" + ): TypedContractMethod< + [account: AddressLike, amount: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "canUnpauseAfter" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "chainID" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "chainId" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "changeTransferability" + ): TypedContractMethod<[decision: boolean], [void], "nonpayable">; + getFunction( + nameOrSignature: "decimals" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "decreaseAllowance" + ): TypedContractMethod< + [spender: AddressLike, subtractedValue: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "fakeTimestamp" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "governance" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "increaseAllowance" + ): TypedContractMethod< + [spender: AddressLike, addedValue: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "name" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "nonces" + ): TypedContractMethod<[owner: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "paused" + ): TypedContractMethod<[], [boolean], "view">; + getFunction( + nameOrSignature: "permit" + ): TypedContractMethod< + [ + owner: AddressLike, + spender: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "removeFromAllowedList" + ): TypedContractMethod<[target: AddressLike[]], [void], "nonpayable">; + getFunction( + nameOrSignature: "rescueTokens" + ): TypedContractMethod< + [_token: AddressLike, _to: AddressLike, _balance: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setChainId" + ): TypedContractMethod<[_chainId: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "setFakeTimestamp" + ): TypedContractMethod<[_fakeTimestamp: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "symbol" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "totalSupply" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "transfer" + ): TypedContractMethod< + [recipient: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "transferFrom" + ): TypedContractMethod< + [sender: AddressLike, recipient: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + getEvent( + key: "Allowed" + ): TypedContractEvent< + AllowedEvent.InputTuple, + AllowedEvent.OutputTuple, + AllowedEvent.OutputObject + >; + getEvent( + key: "Approval" + ): TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + getEvent( + key: "Disallowed" + ): TypedContractEvent< + DisallowedEvent.InputTuple, + DisallowedEvent.OutputTuple, + DisallowedEvent.OutputObject + >; + getEvent( + key: "Paused" + ): TypedContractEvent< + PausedEvent.InputTuple, + PausedEvent.OutputTuple, + PausedEvent.OutputObject + >; + getEvent( + key: "Transfer" + ): TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + getEvent( + key: "Unpaused" + ): TypedContractEvent< + UnpausedEvent.InputTuple, + UnpausedEvent.OutputTuple, + UnpausedEvent.OutputObject + >; + + filters: { + "Allowed(address)": TypedContractEvent< + AllowedEvent.InputTuple, + AllowedEvent.OutputTuple, + AllowedEvent.OutputObject + >; + Allowed: TypedContractEvent< + AllowedEvent.InputTuple, + AllowedEvent.OutputTuple, + AllowedEvent.OutputObject + >; + + "Approval(address,address,uint256)": TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + Approval: TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + + "Disallowed(address)": TypedContractEvent< + DisallowedEvent.InputTuple, + DisallowedEvent.OutputTuple, + DisallowedEvent.OutputObject + >; + Disallowed: TypedContractEvent< + DisallowedEvent.InputTuple, + DisallowedEvent.OutputTuple, + DisallowedEvent.OutputObject + >; + + "Paused(address)": TypedContractEvent< + PausedEvent.InputTuple, + PausedEvent.OutputTuple, + PausedEvent.OutputObject + >; + Paused: TypedContractEvent< + PausedEvent.InputTuple, + PausedEvent.OutputTuple, + PausedEvent.OutputObject + >; + + "Transfer(address,address,uint256)": TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + Transfer: TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + + "Unpaused(address)": TypedContractEvent< + UnpausedEvent.InputTuple, + UnpausedEvent.OutputTuple, + UnpausedEvent.OutputObject + >; + Unpaused: TypedContractEvent< + UnpausedEvent.InputTuple, + UnpausedEvent.OutputTuple, + UnpausedEvent.OutputObject + >; + }; +} diff --git a/typechain-types/contracts/Governance/TORN/mocks/Timestamp.ts b/typechain-types/contracts/Governance/TORN/mocks/Timestamp.ts new file mode 100644 index 0000000..b761eb1 --- /dev/null +++ b/typechain-types/contracts/Governance/TORN/mocks/Timestamp.ts @@ -0,0 +1,123 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../common"; + +export interface TimestampInterface extends Interface { + getFunction( + nameOrSignature: "blockTimestamp" | "fakeTimestamp" | "setFakeTimestamp" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "blockTimestamp", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "fakeTimestamp", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "setFakeTimestamp", + values: [BigNumberish] + ): string; + + decodeFunctionResult( + functionFragment: "blockTimestamp", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "fakeTimestamp", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setFakeTimestamp", + data: BytesLike + ): Result; +} + +export interface Timestamp extends BaseContract { + connect(runner?: ContractRunner | null): Timestamp; + waitForDeployment(): Promise; + + interface: TimestampInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + blockTimestamp: TypedContractMethod<[], [bigint], "view">; + + fakeTimestamp: TypedContractMethod<[], [bigint], "view">; + + setFakeTimestamp: TypedContractMethod< + [_fakeTimestamp: BigNumberish], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "blockTimestamp" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "fakeTimestamp" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "setFakeTimestamp" + ): TypedContractMethod<[_fakeTimestamp: BigNumberish], [void], "nonpayable">; + + filters: {}; +} diff --git a/typechain-types/contracts/Governance/TORN/mocks/VestingMock.ts b/typechain-types/contracts/Governance/TORN/mocks/VestingMock.ts new file mode 100644 index 0000000..acffe49 --- /dev/null +++ b/typechain-types/contracts/Governance/TORN/mocks/VestingMock.ts @@ -0,0 +1,269 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../../common"; + +export interface VestingMockInterface extends Interface { + getFunction( + nameOrSignature: + | "SECONDS_PER_MONTH" + | "beneficiary" + | "blockTimestamp" + | "cliffInMonths" + | "durationInMonths" + | "fakeTimestamp" + | "release" + | "released" + | "setFakeTimestamp" + | "startTimestamp" + | "token" + | "vestedAmount" + ): FunctionFragment; + + getEvent(nameOrSignatureOrTopic: "Released"): EventFragment; + + encodeFunctionData( + functionFragment: "SECONDS_PER_MONTH", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "beneficiary", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "blockTimestamp", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "cliffInMonths", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "durationInMonths", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "fakeTimestamp", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "release", values?: undefined): string; + encodeFunctionData(functionFragment: "released", values?: undefined): string; + encodeFunctionData( + functionFragment: "setFakeTimestamp", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "startTimestamp", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "token", values?: undefined): string; + encodeFunctionData( + functionFragment: "vestedAmount", + values?: undefined + ): string; + + decodeFunctionResult( + functionFragment: "SECONDS_PER_MONTH", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "beneficiary", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "blockTimestamp", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "cliffInMonths", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "durationInMonths", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "fakeTimestamp", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "release", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "released", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setFakeTimestamp", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "startTimestamp", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "token", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "vestedAmount", + data: BytesLike + ): Result; +} + +export namespace ReleasedEvent { + export type InputTuple = [amount: BigNumberish]; + export type OutputTuple = [amount: bigint]; + export interface OutputObject { + amount: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface VestingMock extends BaseContract { + connect(runner?: ContractRunner | null): VestingMock; + waitForDeployment(): Promise; + + interface: VestingMockInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + SECONDS_PER_MONTH: TypedContractMethod<[], [bigint], "view">; + + beneficiary: TypedContractMethod<[], [string], "view">; + + blockTimestamp: TypedContractMethod<[], [bigint], "view">; + + cliffInMonths: TypedContractMethod<[], [bigint], "view">; + + durationInMonths: TypedContractMethod<[], [bigint], "view">; + + fakeTimestamp: TypedContractMethod<[], [bigint], "view">; + + release: TypedContractMethod<[], [void], "nonpayable">; + + released: TypedContractMethod<[], [bigint], "view">; + + setFakeTimestamp: TypedContractMethod< + [_fakeTimestamp: BigNumberish], + [void], + "nonpayable" + >; + + startTimestamp: TypedContractMethod<[], [bigint], "view">; + + token: TypedContractMethod<[], [string], "view">; + + vestedAmount: TypedContractMethod<[], [bigint], "view">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "SECONDS_PER_MONTH" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "beneficiary" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "blockTimestamp" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "cliffInMonths" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "durationInMonths" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "fakeTimestamp" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "release" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "released" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "setFakeTimestamp" + ): TypedContractMethod<[_fakeTimestamp: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "startTimestamp" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "token" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "vestedAmount" + ): TypedContractMethod<[], [bigint], "view">; + + getEvent( + key: "Released" + ): TypedContractEvent< + ReleasedEvent.InputTuple, + ReleasedEvent.OutputTuple, + ReleasedEvent.OutputObject + >; + + filters: { + "Released(uint256)": TypedContractEvent< + ReleasedEvent.InputTuple, + ReleasedEvent.OutputTuple, + ReleasedEvent.OutputObject + >; + Released: TypedContractEvent< + ReleasedEvent.InputTuple, + ReleasedEvent.OutputTuple, + ReleasedEvent.OutputObject + >; + }; +} diff --git a/typechain-types/contracts/Governance/TORN/mocks/VoucherMock.ts b/typechain-types/contracts/Governance/TORN/mocks/VoucherMock.ts new file mode 100644 index 0000000..42da9d0 --- /dev/null +++ b/typechain-types/contracts/Governance/TORN/mocks/VoucherMock.ts @@ -0,0 +1,474 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../../common"; + +export declare namespace Voucher { + export type RecipientStruct = { to: AddressLike; amount: BigNumberish }; + + export type RecipientStructOutput = [to: string, amount: bigint] & { + to: string; + amount: bigint; + }; +} + +export interface VoucherMockInterface extends Interface { + getFunction( + nameOrSignature: + | "allowance" + | "allowedTransferee" + | "approve" + | "balanceOf" + | "blockTimestamp" + | "bulkResolve" + | "decimals" + | "decreaseAllowance" + | "expiresAt" + | "fakeTimestamp" + | "governance" + | "increaseAllowance" + | "name" + | "redeem" + | "rescueExpiredTokens" + | "resolve" + | "setFakeTimestamp" + | "symbol" + | "torn" + | "totalSupply" + | "transfer" + | "transferFrom" + ): FunctionFragment; + + getEvent(nameOrSignatureOrTopic: "Approval" | "Transfer"): EventFragment; + + encodeFunctionData( + functionFragment: "allowance", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "allowedTransferee", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "approve", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "balanceOf", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "blockTimestamp", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "bulkResolve", + values: [BytesLike[]] + ): string; + encodeFunctionData(functionFragment: "decimals", values?: undefined): string; + encodeFunctionData( + functionFragment: "decreaseAllowance", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData(functionFragment: "expiresAt", values?: undefined): string; + encodeFunctionData( + functionFragment: "fakeTimestamp", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "governance", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "increaseAllowance", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData(functionFragment: "redeem", values?: undefined): string; + encodeFunctionData( + functionFragment: "rescueExpiredTokens", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "resolve", values: [BytesLike]): string; + encodeFunctionData( + functionFragment: "setFakeTimestamp", + values: [BigNumberish] + ): string; + encodeFunctionData(functionFragment: "symbol", values?: undefined): string; + encodeFunctionData(functionFragment: "torn", values?: undefined): string; + encodeFunctionData( + functionFragment: "totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transfer", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "transferFrom", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "allowedTransferee", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "blockTimestamp", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "bulkResolve", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "decreaseAllowance", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "expiresAt", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "fakeTimestamp", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "governance", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "increaseAllowance", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "redeem", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "rescueExpiredTokens", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "resolve", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setFakeTimestamp", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "torn", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom", + data: BytesLike + ): Result; +} + +export namespace ApprovalEvent { + export type InputTuple = [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [owner: string, spender: string, value: bigint]; + export interface OutputObject { + owner: string; + spender: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace TransferEvent { + export type InputTuple = [ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [from: string, to: string, value: bigint]; + export interface OutputObject { + from: string; + to: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface VoucherMock extends BaseContract { + connect(runner?: ContractRunner | null): VoucherMock; + waitForDeployment(): Promise; + + interface: VoucherMockInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + allowance: TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + + allowedTransferee: TypedContractMethod< + [arg0: AddressLike], + [boolean], + "view" + >; + + approve: TypedContractMethod< + [spender: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + balanceOf: TypedContractMethod<[account: AddressLike], [bigint], "view">; + + blockTimestamp: TypedContractMethod<[], [bigint], "view">; + + bulkResolve: TypedContractMethod<[domains: BytesLike[]], [string[]], "view">; + + decimals: TypedContractMethod<[], [bigint], "view">; + + decreaseAllowance: TypedContractMethod< + [spender: AddressLike, subtractedValue: BigNumberish], + [boolean], + "nonpayable" + >; + + expiresAt: TypedContractMethod<[], [bigint], "view">; + + fakeTimestamp: TypedContractMethod<[], [bigint], "view">; + + governance: TypedContractMethod<[], [string], "view">; + + increaseAllowance: TypedContractMethod< + [spender: AddressLike, addedValue: BigNumberish], + [boolean], + "nonpayable" + >; + + name: TypedContractMethod<[], [string], "view">; + + redeem: TypedContractMethod<[], [void], "nonpayable">; + + rescueExpiredTokens: TypedContractMethod<[], [void], "nonpayable">; + + resolve: TypedContractMethod<[addr: BytesLike], [string], "view">; + + setFakeTimestamp: TypedContractMethod< + [_fakeTimestamp: BigNumberish], + [void], + "nonpayable" + >; + + symbol: TypedContractMethod<[], [string], "view">; + + torn: TypedContractMethod<[], [string], "view">; + + totalSupply: TypedContractMethod<[], [bigint], "view">; + + transfer: TypedContractMethod< + [recipient: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + transferFrom: TypedContractMethod< + [sender: AddressLike, recipient: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "allowance" + ): TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + getFunction( + nameOrSignature: "allowedTransferee" + ): TypedContractMethod<[arg0: AddressLike], [boolean], "view">; + getFunction( + nameOrSignature: "approve" + ): TypedContractMethod< + [spender: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "balanceOf" + ): TypedContractMethod<[account: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "blockTimestamp" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "bulkResolve" + ): TypedContractMethod<[domains: BytesLike[]], [string[]], "view">; + getFunction( + nameOrSignature: "decimals" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "decreaseAllowance" + ): TypedContractMethod< + [spender: AddressLike, subtractedValue: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "expiresAt" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "fakeTimestamp" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "governance" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "increaseAllowance" + ): TypedContractMethod< + [spender: AddressLike, addedValue: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "name" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "redeem" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "rescueExpiredTokens" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "resolve" + ): TypedContractMethod<[addr: BytesLike], [string], "view">; + getFunction( + nameOrSignature: "setFakeTimestamp" + ): TypedContractMethod<[_fakeTimestamp: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "symbol" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "torn" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "totalSupply" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "transfer" + ): TypedContractMethod< + [recipient: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "transferFrom" + ): TypedContractMethod< + [sender: AddressLike, recipient: AddressLike, amount: BigNumberish], + [boolean], + "nonpayable" + >; + + getEvent( + key: "Approval" + ): TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + getEvent( + key: "Transfer" + ): TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + + filters: { + "Approval(address,address,uint256)": TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + Approval: TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + + "Transfer(address,address,uint256)": TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + Transfer: TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + }; +} diff --git a/typechain-types/contracts/Governance/TORN/mocks/index.ts b/typechain-types/contracts/Governance/TORN/mocks/index.ts new file mode 100644 index 0000000..cf25831 --- /dev/null +++ b/typechain-types/contracts/Governance/TORN/mocks/index.ts @@ -0,0 +1,9 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { AirdropMock } from "./AirdropMock"; +export type { ENSMock } from "./ENSMock"; +export type { TORNMock } from "./TORNMock"; +export type { Timestamp } from "./Timestamp"; +export type { VestingMock } from "./VestingMock"; +export type { VoucherMock } from "./VoucherMock"; diff --git a/typechain-types/contracts/Governance/Testnet/TestnetAdminProxy.ts b/typechain-types/contracts/Governance/Testnet/TestnetAdminProxy.ts new file mode 100644 index 0000000..97e21f0 --- /dev/null +++ b/typechain-types/contracts/Governance/Testnet/TestnetAdminProxy.ts @@ -0,0 +1,325 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../common"; + +export interface TestnetAdminProxyInterface extends Interface { + getFunction( + nameOrSignature: + | "admin" + | "callToOwner" + | "changeAdmin" + | "changeOwner" + | "delegateToOwner" + | "getCurrentOwner" + | "implementation" + | "upgradeTo" + | "upgradeToAndCall" + | "upgradeToOwner" + ): FunctionFragment; + + getEvent(nameOrSignatureOrTopic: "AdminChanged" | "Upgraded"): EventFragment; + + encodeFunctionData(functionFragment: "admin", values?: undefined): string; + encodeFunctionData( + functionFragment: "callToOwner", + values: [AddressLike, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "changeAdmin", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "changeOwner", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "delegateToOwner", + values: [AddressLike, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "getCurrentOwner", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "implementation", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "upgradeTo", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "upgradeToAndCall", + values: [AddressLike, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "upgradeToOwner", + values: [AddressLike] + ): string; + + decodeFunctionResult(functionFragment: "admin", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "callToOwner", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "changeAdmin", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "changeOwner", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "delegateToOwner", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getCurrentOwner", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "implementation", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "upgradeTo", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "upgradeToAndCall", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "upgradeToOwner", + data: BytesLike + ): Result; +} + +export namespace AdminChangedEvent { + export type InputTuple = [previousAdmin: AddressLike, newAdmin: AddressLike]; + export type OutputTuple = [previousAdmin: string, newAdmin: string]; + export interface OutputObject { + previousAdmin: string; + newAdmin: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace UpgradedEvent { + export type InputTuple = [implementation: AddressLike]; + export type OutputTuple = [implementation: string]; + export interface OutputObject { + implementation: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface TestnetAdminProxy extends BaseContract { + connect(runner?: ContractRunner | null): TestnetAdminProxy; + waitForDeployment(): Promise; + + interface: TestnetAdminProxyInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + admin: TypedContractMethod<[], [string], "nonpayable">; + + callToOwner: TypedContractMethod< + [target: AddressLike, data: BytesLike], + [void], + "payable" + >; + + changeAdmin: TypedContractMethod< + [newAdmin: AddressLike], + [void], + "nonpayable" + >; + + changeOwner: TypedContractMethod< + [newOwner: AddressLike], + [void], + "nonpayable" + >; + + delegateToOwner: TypedContractMethod< + [target: AddressLike, data: BytesLike], + [void], + "payable" + >; + + getCurrentOwner: TypedContractMethod<[], [string], "view">; + + implementation: TypedContractMethod<[], [string], "nonpayable">; + + upgradeTo: TypedContractMethod< + [newImplementation: AddressLike], + [void], + "nonpayable" + >; + + upgradeToAndCall: TypedContractMethod< + [newImplementation: AddressLike, data: BytesLike], + [void], + "payable" + >; + + upgradeToOwner: TypedContractMethod< + [newImplementation: AddressLike], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "admin" + ): TypedContractMethod<[], [string], "nonpayable">; + getFunction( + nameOrSignature: "callToOwner" + ): TypedContractMethod< + [target: AddressLike, data: BytesLike], + [void], + "payable" + >; + getFunction( + nameOrSignature: "changeAdmin" + ): TypedContractMethod<[newAdmin: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "changeOwner" + ): TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "delegateToOwner" + ): TypedContractMethod< + [target: AddressLike, data: BytesLike], + [void], + "payable" + >; + getFunction( + nameOrSignature: "getCurrentOwner" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "implementation" + ): TypedContractMethod<[], [string], "nonpayable">; + getFunction( + nameOrSignature: "upgradeTo" + ): TypedContractMethod< + [newImplementation: AddressLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "upgradeToAndCall" + ): TypedContractMethod< + [newImplementation: AddressLike, data: BytesLike], + [void], + "payable" + >; + getFunction( + nameOrSignature: "upgradeToOwner" + ): TypedContractMethod< + [newImplementation: AddressLike], + [void], + "nonpayable" + >; + + getEvent( + key: "AdminChanged" + ): TypedContractEvent< + AdminChangedEvent.InputTuple, + AdminChangedEvent.OutputTuple, + AdminChangedEvent.OutputObject + >; + getEvent( + key: "Upgraded" + ): TypedContractEvent< + UpgradedEvent.InputTuple, + UpgradedEvent.OutputTuple, + UpgradedEvent.OutputObject + >; + + filters: { + "AdminChanged(address,address)": TypedContractEvent< + AdminChangedEvent.InputTuple, + AdminChangedEvent.OutputTuple, + AdminChangedEvent.OutputObject + >; + AdminChanged: TypedContractEvent< + AdminChangedEvent.InputTuple, + AdminChangedEvent.OutputTuple, + AdminChangedEvent.OutputObject + >; + + "Upgraded(address)": TypedContractEvent< + UpgradedEvent.InputTuple, + UpgradedEvent.OutputTuple, + UpgradedEvent.OutputObject + >; + Upgraded: TypedContractEvent< + UpgradedEvent.InputTuple, + UpgradedEvent.OutputTuple, + UpgradedEvent.OutputObject + >; + }; +} diff --git a/typechain-types/contracts/Governance/Testnet/TestnetFeeManager.ts b/typechain-types/contracts/Governance/Testnet/TestnetFeeManager.ts new file mode 100644 index 0000000..e236e2a --- /dev/null +++ b/typechain-types/contracts/Governance/Testnet/TestnetFeeManager.ts @@ -0,0 +1,476 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../common"; + +export declare namespace FeeManager { + export type DeviationStruct = { + instance: AddressLike; + deviation: BigNumberish; + }; + + export type DeviationStructOutput = [instance: string, deviation: bigint] & { + instance: string; + deviation: bigint; + }; +} + +export interface TestnetFeeManagerInterface extends Interface { + getFunction( + nameOrSignature: + | "PROTOCOL_FEE_DIVIDER" + | "calculatePoolFee" + | "feeDeviations" + | "getTokenPriceRatio" + | "governance" + | "instanceFee" + | "instanceFeeUpdated" + | "instanceFeeWithUpdate" + | "registry" + | "setPeriodForTWAPOracle" + | "setTokenPrice" + | "setUniswapTornPoolSwappingFee" + | "setUpdateFeeTimeLimit" + | "torn" + | "uniswapTimePeriod" + | "uniswapTornPoolSwappingFee" + | "updateAllFees" + | "updateFee" + | "updateFeeTimeLimit" + | "updateFees" + ): FunctionFragment; + + getEvent( + nameOrSignatureOrTopic: "FeeUpdated" | "UniswapTornPoolSwappingFeeChanged" + ): EventFragment; + + encodeFunctionData( + functionFragment: "PROTOCOL_FEE_DIVIDER", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "calculatePoolFee", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "feeDeviations", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getTokenPriceRatio", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "governance", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "instanceFee", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "instanceFeeUpdated", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "instanceFeeWithUpdate", + values: [AddressLike] + ): string; + encodeFunctionData(functionFragment: "registry", values?: undefined): string; + encodeFunctionData( + functionFragment: "setPeriodForTWAPOracle", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setTokenPrice", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setUniswapTornPoolSwappingFee", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setUpdateFeeTimeLimit", + values: [BigNumberish] + ): string; + encodeFunctionData(functionFragment: "torn", values?: undefined): string; + encodeFunctionData( + functionFragment: "uniswapTimePeriod", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "uniswapTornPoolSwappingFee", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "updateAllFees", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "updateFee", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "updateFeeTimeLimit", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "updateFees", + values: [AddressLike[]] + ): string; + + decodeFunctionResult( + functionFragment: "PROTOCOL_FEE_DIVIDER", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "calculatePoolFee", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "feeDeviations", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getTokenPriceRatio", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "governance", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "instanceFee", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "instanceFeeUpdated", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "instanceFeeWithUpdate", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "registry", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setPeriodForTWAPOracle", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setTokenPrice", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setUniswapTornPoolSwappingFee", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setUpdateFeeTimeLimit", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "torn", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "uniswapTimePeriod", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "uniswapTornPoolSwappingFee", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "updateAllFees", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "updateFee", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "updateFeeTimeLimit", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "updateFees", data: BytesLike): Result; +} + +export namespace FeeUpdatedEvent { + export type InputTuple = [instance: AddressLike, newFee: BigNumberish]; + export type OutputTuple = [instance: string, newFee: bigint]; + export interface OutputObject { + instance: string; + newFee: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace UniswapTornPoolSwappingFeeChangedEvent { + export type InputTuple = [newFee: BigNumberish]; + export type OutputTuple = [newFee: bigint]; + export interface OutputObject { + newFee: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface TestnetFeeManager extends BaseContract { + connect(runner?: ContractRunner | null): TestnetFeeManager; + waitForDeployment(): Promise; + + interface: TestnetFeeManagerInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + PROTOCOL_FEE_DIVIDER: TypedContractMethod<[], [bigint], "view">; + + calculatePoolFee: TypedContractMethod< + [_instance: AddressLike], + [bigint], + "view" + >; + + feeDeviations: TypedContractMethod< + [], + [FeeManager.DeviationStructOutput[]], + "view" + >; + + getTokenPriceRatio: TypedContractMethod< + [_token: AddressLike, _uniswapPoolSwappingFee: BigNumberish], + [bigint], + "view" + >; + + governance: TypedContractMethod<[], [string], "view">; + + instanceFee: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + + instanceFeeUpdated: TypedContractMethod< + [arg0: AddressLike], + [bigint], + "view" + >; + + instanceFeeWithUpdate: TypedContractMethod< + [_instance: AddressLike], + [bigint], + "nonpayable" + >; + + registry: TypedContractMethod<[], [string], "view">; + + setPeriodForTWAPOracle: TypedContractMethod< + [newPeriod: BigNumberish], + [void], + "nonpayable" + >; + + setTokenPrice: TypedContractMethod< + [_token: AddressLike, _price: BigNumberish], + [void], + "nonpayable" + >; + + setUniswapTornPoolSwappingFee: TypedContractMethod< + [_uniswapTornPoolSwappingFee: BigNumberish], + [void], + "nonpayable" + >; + + setUpdateFeeTimeLimit: TypedContractMethod< + [newLimit: BigNumberish], + [void], + "nonpayable" + >; + + torn: TypedContractMethod<[], [string], "view">; + + uniswapTimePeriod: TypedContractMethod<[], [bigint], "view">; + + uniswapTornPoolSwappingFee: TypedContractMethod<[], [bigint], "view">; + + updateAllFees: TypedContractMethod<[], [void], "nonpayable">; + + updateFee: TypedContractMethod< + [_instance: AddressLike], + [void], + "nonpayable" + >; + + updateFeeTimeLimit: TypedContractMethod<[], [bigint], "view">; + + updateFees: TypedContractMethod< + [_instances: AddressLike[]], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "PROTOCOL_FEE_DIVIDER" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "calculatePoolFee" + ): TypedContractMethod<[_instance: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "feeDeviations" + ): TypedContractMethod<[], [FeeManager.DeviationStructOutput[]], "view">; + getFunction( + nameOrSignature: "getTokenPriceRatio" + ): TypedContractMethod< + [_token: AddressLike, _uniswapPoolSwappingFee: BigNumberish], + [bigint], + "view" + >; + getFunction( + nameOrSignature: "governance" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "instanceFee" + ): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "instanceFeeUpdated" + ): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "instanceFeeWithUpdate" + ): TypedContractMethod<[_instance: AddressLike], [bigint], "nonpayable">; + getFunction( + nameOrSignature: "registry" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "setPeriodForTWAPOracle" + ): TypedContractMethod<[newPeriod: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "setTokenPrice" + ): TypedContractMethod< + [_token: AddressLike, _price: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setUniswapTornPoolSwappingFee" + ): TypedContractMethod< + [_uniswapTornPoolSwappingFee: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setUpdateFeeTimeLimit" + ): TypedContractMethod<[newLimit: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "torn" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "uniswapTimePeriod" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "uniswapTornPoolSwappingFee" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "updateAllFees" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "updateFee" + ): TypedContractMethod<[_instance: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "updateFeeTimeLimit" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "updateFees" + ): TypedContractMethod<[_instances: AddressLike[]], [void], "nonpayable">; + + getEvent( + key: "FeeUpdated" + ): TypedContractEvent< + FeeUpdatedEvent.InputTuple, + FeeUpdatedEvent.OutputTuple, + FeeUpdatedEvent.OutputObject + >; + getEvent( + key: "UniswapTornPoolSwappingFeeChanged" + ): TypedContractEvent< + UniswapTornPoolSwappingFeeChangedEvent.InputTuple, + UniswapTornPoolSwappingFeeChangedEvent.OutputTuple, + UniswapTornPoolSwappingFeeChangedEvent.OutputObject + >; + + filters: { + "FeeUpdated(address,uint256)": TypedContractEvent< + FeeUpdatedEvent.InputTuple, + FeeUpdatedEvent.OutputTuple, + FeeUpdatedEvent.OutputObject + >; + FeeUpdated: TypedContractEvent< + FeeUpdatedEvent.InputTuple, + FeeUpdatedEvent.OutputTuple, + FeeUpdatedEvent.OutputObject + >; + + "UniswapTornPoolSwappingFeeChanged(uint24)": TypedContractEvent< + UniswapTornPoolSwappingFeeChangedEvent.InputTuple, + UniswapTornPoolSwappingFeeChangedEvent.OutputTuple, + UniswapTornPoolSwappingFeeChangedEvent.OutputObject + >; + UniswapTornPoolSwappingFeeChanged: TypedContractEvent< + UniswapTornPoolSwappingFeeChangedEvent.InputTuple, + UniswapTornPoolSwappingFeeChangedEvent.OutputTuple, + UniswapTornPoolSwappingFeeChangedEvent.OutputObject + >; + }; +} diff --git a/typechain-types/contracts/Governance/Testnet/TestnetGovernanceProxy.ts b/typechain-types/contracts/Governance/Testnet/TestnetGovernanceProxy.ts new file mode 100644 index 0000000..0f7ad60 --- /dev/null +++ b/typechain-types/contracts/Governance/Testnet/TestnetGovernanceProxy.ts @@ -0,0 +1,325 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../common"; + +export interface TestnetGovernanceProxyInterface extends Interface { + getFunction( + nameOrSignature: + | "admin" + | "callToOwner" + | "changeAdmin" + | "changeOwner" + | "delegateToOwner" + | "getCurrentOwner" + | "implementation" + | "upgradeTo" + | "upgradeToAndCall" + | "upgradeToOwner" + ): FunctionFragment; + + getEvent(nameOrSignatureOrTopic: "AdminChanged" | "Upgraded"): EventFragment; + + encodeFunctionData(functionFragment: "admin", values?: undefined): string; + encodeFunctionData( + functionFragment: "callToOwner", + values: [AddressLike, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "changeAdmin", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "changeOwner", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "delegateToOwner", + values: [AddressLike, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "getCurrentOwner", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "implementation", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "upgradeTo", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "upgradeToAndCall", + values: [AddressLike, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "upgradeToOwner", + values: [AddressLike] + ): string; + + decodeFunctionResult(functionFragment: "admin", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "callToOwner", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "changeAdmin", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "changeOwner", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "delegateToOwner", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getCurrentOwner", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "implementation", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "upgradeTo", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "upgradeToAndCall", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "upgradeToOwner", + data: BytesLike + ): Result; +} + +export namespace AdminChangedEvent { + export type InputTuple = [previousAdmin: AddressLike, newAdmin: AddressLike]; + export type OutputTuple = [previousAdmin: string, newAdmin: string]; + export interface OutputObject { + previousAdmin: string; + newAdmin: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace UpgradedEvent { + export type InputTuple = [implementation: AddressLike]; + export type OutputTuple = [implementation: string]; + export interface OutputObject { + implementation: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface TestnetGovernanceProxy extends BaseContract { + connect(runner?: ContractRunner | null): TestnetGovernanceProxy; + waitForDeployment(): Promise; + + interface: TestnetGovernanceProxyInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + admin: TypedContractMethod<[], [string], "nonpayable">; + + callToOwner: TypedContractMethod< + [target: AddressLike, data: BytesLike], + [void], + "payable" + >; + + changeAdmin: TypedContractMethod< + [newAdmin: AddressLike], + [void], + "nonpayable" + >; + + changeOwner: TypedContractMethod< + [newOwner: AddressLike], + [void], + "nonpayable" + >; + + delegateToOwner: TypedContractMethod< + [target: AddressLike, data: BytesLike], + [void], + "payable" + >; + + getCurrentOwner: TypedContractMethod<[], [string], "view">; + + implementation: TypedContractMethod<[], [string], "nonpayable">; + + upgradeTo: TypedContractMethod< + [newImplementation: AddressLike], + [void], + "nonpayable" + >; + + upgradeToAndCall: TypedContractMethod< + [newImplementation: AddressLike, data: BytesLike], + [void], + "payable" + >; + + upgradeToOwner: TypedContractMethod< + [newImplementation: AddressLike], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "admin" + ): TypedContractMethod<[], [string], "nonpayable">; + getFunction( + nameOrSignature: "callToOwner" + ): TypedContractMethod< + [target: AddressLike, data: BytesLike], + [void], + "payable" + >; + getFunction( + nameOrSignature: "changeAdmin" + ): TypedContractMethod<[newAdmin: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "changeOwner" + ): TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "delegateToOwner" + ): TypedContractMethod< + [target: AddressLike, data: BytesLike], + [void], + "payable" + >; + getFunction( + nameOrSignature: "getCurrentOwner" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "implementation" + ): TypedContractMethod<[], [string], "nonpayable">; + getFunction( + nameOrSignature: "upgradeTo" + ): TypedContractMethod< + [newImplementation: AddressLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "upgradeToAndCall" + ): TypedContractMethod< + [newImplementation: AddressLike, data: BytesLike], + [void], + "payable" + >; + getFunction( + nameOrSignature: "upgradeToOwner" + ): TypedContractMethod< + [newImplementation: AddressLike], + [void], + "nonpayable" + >; + + getEvent( + key: "AdminChanged" + ): TypedContractEvent< + AdminChangedEvent.InputTuple, + AdminChangedEvent.OutputTuple, + AdminChangedEvent.OutputObject + >; + getEvent( + key: "Upgraded" + ): TypedContractEvent< + UpgradedEvent.InputTuple, + UpgradedEvent.OutputTuple, + UpgradedEvent.OutputObject + >; + + filters: { + "AdminChanged(address,address)": TypedContractEvent< + AdminChangedEvent.InputTuple, + AdminChangedEvent.OutputTuple, + AdminChangedEvent.OutputObject + >; + AdminChanged: TypedContractEvent< + AdminChangedEvent.InputTuple, + AdminChangedEvent.OutputTuple, + AdminChangedEvent.OutputObject + >; + + "Upgraded(address)": TypedContractEvent< + UpgradedEvent.InputTuple, + UpgradedEvent.OutputTuple, + UpgradedEvent.OutputObject + >; + Upgraded: TypedContractEvent< + UpgradedEvent.InputTuple, + UpgradedEvent.OutputTuple, + UpgradedEvent.OutputObject + >; + }; +} diff --git a/typechain-types/contracts/Governance/Testnet/index.ts b/typechain-types/contracts/Governance/Testnet/index.ts new file mode 100644 index 0000000..9e28a0e --- /dev/null +++ b/typechain-types/contracts/Governance/Testnet/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { TestnetAdminProxy } from "./TestnetAdminProxy"; +export type { TestnetFeeManager } from "./TestnetFeeManager"; +export type { TestnetGovernanceProxy } from "./TestnetGovernanceProxy"; diff --git a/typechain-types/contracts/Governance/TornadoRouter.ts b/typechain-types/contracts/Governance/TornadoRouter.ts new file mode 100644 index 0000000..f96b874 --- /dev/null +++ b/typechain-types/contracts/Governance/TornadoRouter.ts @@ -0,0 +1,283 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../common"; + +export interface TornadoRouterInterface extends Interface { + getFunction( + nameOrSignature: + | "approveExactToken" + | "backupNotes" + | "deposit" + | "governance" + | "instanceRegistry" + | "relayerRegistry" + | "rescueTokens" + | "withdraw" + ): FunctionFragment; + + getEvent(nameOrSignatureOrTopic: "EncryptedNote"): EventFragment; + + encodeFunctionData( + functionFragment: "approveExactToken", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "backupNotes", + values: [BytesLike[]] + ): string; + encodeFunctionData( + functionFragment: "deposit", + values: [AddressLike, BytesLike, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "governance", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "instanceRegistry", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "relayerRegistry", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "rescueTokens", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "withdraw", + values: [ + AddressLike, + BytesLike, + BytesLike, + BytesLike, + AddressLike, + AddressLike, + BigNumberish, + BigNumberish + ] + ): string; + + decodeFunctionResult( + functionFragment: "approveExactToken", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "backupNotes", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "governance", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "instanceRegistry", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "relayerRegistry", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "rescueTokens", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; +} + +export namespace EncryptedNoteEvent { + export type InputTuple = [sender: AddressLike, encryptedNote: BytesLike]; + export type OutputTuple = [sender: string, encryptedNote: string]; + export interface OutputObject { + sender: string; + encryptedNote: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface TornadoRouter extends BaseContract { + connect(runner?: ContractRunner | null): TornadoRouter; + waitForDeployment(): Promise; + + interface: TornadoRouterInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + approveExactToken: TypedContractMethod< + [_token: AddressLike, _spender: AddressLike, _amount: BigNumberish], + [void], + "nonpayable" + >; + + backupNotes: TypedContractMethod< + [_encryptedNotes: BytesLike[]], + [void], + "nonpayable" + >; + + deposit: TypedContractMethod< + [_tornado: AddressLike, _commitment: BytesLike, _encryptedNote: BytesLike], + [void], + "payable" + >; + + governance: TypedContractMethod<[], [string], "view">; + + instanceRegistry: TypedContractMethod<[], [string], "view">; + + relayerRegistry: TypedContractMethod<[], [string], "view">; + + rescueTokens: TypedContractMethod< + [_token: AddressLike, _to: AddressLike, _amount: BigNumberish], + [void], + "nonpayable" + >; + + withdraw: TypedContractMethod< + [ + _tornado: AddressLike, + _proof: BytesLike, + _root: BytesLike, + _nullifierHash: BytesLike, + _recipient: AddressLike, + _relayer: AddressLike, + _fee: BigNumberish, + _refund: BigNumberish + ], + [void], + "payable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "approveExactToken" + ): TypedContractMethod< + [_token: AddressLike, _spender: AddressLike, _amount: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "backupNotes" + ): TypedContractMethod<[_encryptedNotes: BytesLike[]], [void], "nonpayable">; + getFunction( + nameOrSignature: "deposit" + ): TypedContractMethod< + [_tornado: AddressLike, _commitment: BytesLike, _encryptedNote: BytesLike], + [void], + "payable" + >; + getFunction( + nameOrSignature: "governance" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "instanceRegistry" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "relayerRegistry" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "rescueTokens" + ): TypedContractMethod< + [_token: AddressLike, _to: AddressLike, _amount: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "withdraw" + ): TypedContractMethod< + [ + _tornado: AddressLike, + _proof: BytesLike, + _root: BytesLike, + _nullifierHash: BytesLike, + _recipient: AddressLike, + _relayer: AddressLike, + _fee: BigNumberish, + _refund: BigNumberish + ], + [void], + "payable" + >; + + getEvent( + key: "EncryptedNote" + ): TypedContractEvent< + EncryptedNoteEvent.InputTuple, + EncryptedNoteEvent.OutputTuple, + EncryptedNoteEvent.OutputObject + >; + + filters: { + "EncryptedNote(address,bytes)": TypedContractEvent< + EncryptedNoteEvent.InputTuple, + EncryptedNoteEvent.OutputTuple, + EncryptedNoteEvent.OutputObject + >; + EncryptedNote: TypedContractEvent< + EncryptedNoteEvent.InputTuple, + EncryptedNoteEvent.OutputTuple, + EncryptedNoteEvent.OutputObject + >; + }; +} diff --git a/typechain-types/contracts/Governance/TornadoStakingRewards.sol/ITornadoGovernance.ts b/typechain-types/contracts/Governance/TornadoStakingRewards.sol/ITornadoGovernance.ts new file mode 100644 index 0000000..a2bd671 --- /dev/null +++ b/typechain-types/contracts/Governance/TornadoStakingRewards.sol/ITornadoGovernance.ts @@ -0,0 +1,98 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../common"; + +export interface ITornadoGovernanceInterface extends Interface { + getFunction(nameOrSignature: "lockedBalance" | "userVault"): FunctionFragment; + + encodeFunctionData( + functionFragment: "lockedBalance", + values: [AddressLike] + ): string; + encodeFunctionData(functionFragment: "userVault", values?: undefined): string; + + decodeFunctionResult( + functionFragment: "lockedBalance", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "userVault", data: BytesLike): Result; +} + +export interface ITornadoGovernance extends BaseContract { + connect(runner?: ContractRunner | null): ITornadoGovernance; + waitForDeployment(): Promise; + + interface: ITornadoGovernanceInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + lockedBalance: TypedContractMethod<[account: AddressLike], [bigint], "view">; + + userVault: TypedContractMethod<[], [string], "view">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "lockedBalance" + ): TypedContractMethod<[account: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "userVault" + ): TypedContractMethod<[], [string], "view">; + + filters: {}; +} diff --git a/typechain-types/contracts/Governance/TornadoStakingRewards.sol/ITornadoVault.ts b/typechain-types/contracts/Governance/TornadoStakingRewards.sol/ITornadoVault.ts new file mode 100644 index 0000000..5a75943 --- /dev/null +++ b/typechain-types/contracts/Governance/TornadoStakingRewards.sol/ITornadoVault.ts @@ -0,0 +1,100 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../common"; + +export interface ITornadoVaultInterface extends Interface { + getFunction(nameOrSignature: "withdrawTorn"): FunctionFragment; + + encodeFunctionData( + functionFragment: "withdrawTorn", + values: [AddressLike, BigNumberish] + ): string; + + decodeFunctionResult( + functionFragment: "withdrawTorn", + data: BytesLike + ): Result; +} + +export interface ITornadoVault extends BaseContract { + connect(runner?: ContractRunner | null): ITornadoVault; + waitForDeployment(): Promise; + + interface: ITornadoVaultInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + withdrawTorn: TypedContractMethod< + [recipient: AddressLike, amount: BigNumberish], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "withdrawTorn" + ): TypedContractMethod< + [recipient: AddressLike, amount: BigNumberish], + [void], + "nonpayable" + >; + + filters: {}; +} diff --git a/typechain-types/contracts/Governance/TornadoStakingRewards.sol/TornadoStakingRewards.ts b/typechain-types/contracts/Governance/TornadoStakingRewards.sol/TornadoStakingRewards.ts new file mode 100644 index 0000000..4fa84a4 --- /dev/null +++ b/typechain-types/contracts/Governance/TornadoStakingRewards.sol/TornadoStakingRewards.ts @@ -0,0 +1,327 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../common"; + +export interface TornadoStakingRewardsInterface extends Interface { + getFunction( + nameOrSignature: + | "Governance" + | "accumulatedRewardPerTorn" + | "accumulatedRewardRateOnLastUpdate" + | "accumulatedRewards" + | "addBurnRewards" + | "checkReward" + | "getReward" + | "ratioConstant" + | "relayerRegistry" + | "torn" + | "updateRewardsOnLockedBalanceChange" + | "withdrawTorn" + ): FunctionFragment; + + getEvent( + nameOrSignatureOrTopic: "RewardsClaimed" | "RewardsUpdated" + ): EventFragment; + + encodeFunctionData( + functionFragment: "Governance", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "accumulatedRewardPerTorn", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "accumulatedRewardRateOnLastUpdate", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "accumulatedRewards", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "addBurnRewards", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "checkReward", + values: [AddressLike] + ): string; + encodeFunctionData(functionFragment: "getReward", values?: undefined): string; + encodeFunctionData( + functionFragment: "ratioConstant", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "relayerRegistry", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "torn", values?: undefined): string; + encodeFunctionData( + functionFragment: "updateRewardsOnLockedBalanceChange", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "withdrawTorn", + values: [BigNumberish] + ): string; + + decodeFunctionResult(functionFragment: "Governance", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "accumulatedRewardPerTorn", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "accumulatedRewardRateOnLastUpdate", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "accumulatedRewards", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "addBurnRewards", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "checkReward", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "getReward", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "ratioConstant", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "relayerRegistry", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "torn", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "updateRewardsOnLockedBalanceChange", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "withdrawTorn", + data: BytesLike + ): Result; +} + +export namespace RewardsClaimedEvent { + export type InputTuple = [account: AddressLike, rewardsClaimed: BigNumberish]; + export type OutputTuple = [account: string, rewardsClaimed: bigint]; + export interface OutputObject { + account: string; + rewardsClaimed: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace RewardsUpdatedEvent { + export type InputTuple = [account: AddressLike, rewards: BigNumberish]; + export type OutputTuple = [account: string, rewards: bigint]; + export interface OutputObject { + account: string; + rewards: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface TornadoStakingRewards extends BaseContract { + connect(runner?: ContractRunner | null): TornadoStakingRewards; + waitForDeployment(): Promise; + + interface: TornadoStakingRewardsInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + Governance: TypedContractMethod<[], [string], "view">; + + accumulatedRewardPerTorn: TypedContractMethod<[], [bigint], "view">; + + accumulatedRewardRateOnLastUpdate: TypedContractMethod< + [arg0: AddressLike], + [bigint], + "view" + >; + + accumulatedRewards: TypedContractMethod< + [arg0: AddressLike], + [bigint], + "view" + >; + + addBurnRewards: TypedContractMethod< + [amount: BigNumberish], + [void], + "nonpayable" + >; + + checkReward: TypedContractMethod<[account: AddressLike], [bigint], "view">; + + getReward: TypedContractMethod<[], [void], "nonpayable">; + + ratioConstant: TypedContractMethod<[], [bigint], "view">; + + relayerRegistry: TypedContractMethod<[], [string], "view">; + + torn: TypedContractMethod<[], [string], "view">; + + updateRewardsOnLockedBalanceChange: TypedContractMethod< + [account: AddressLike, amountLockedBeforehand: BigNumberish], + [void], + "nonpayable" + >; + + withdrawTorn: TypedContractMethod< + [amount: BigNumberish], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "Governance" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "accumulatedRewardPerTorn" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "accumulatedRewardRateOnLastUpdate" + ): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "accumulatedRewards" + ): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "addBurnRewards" + ): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "checkReward" + ): TypedContractMethod<[account: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "getReward" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "ratioConstant" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "relayerRegistry" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "torn" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "updateRewardsOnLockedBalanceChange" + ): TypedContractMethod< + [account: AddressLike, amountLockedBeforehand: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "withdrawTorn" + ): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + + getEvent( + key: "RewardsClaimed" + ): TypedContractEvent< + RewardsClaimedEvent.InputTuple, + RewardsClaimedEvent.OutputTuple, + RewardsClaimedEvent.OutputObject + >; + getEvent( + key: "RewardsUpdated" + ): TypedContractEvent< + RewardsUpdatedEvent.InputTuple, + RewardsUpdatedEvent.OutputTuple, + RewardsUpdatedEvent.OutputObject + >; + + filters: { + "RewardsClaimed(address,uint256)": TypedContractEvent< + RewardsClaimedEvent.InputTuple, + RewardsClaimedEvent.OutputTuple, + RewardsClaimedEvent.OutputObject + >; + RewardsClaimed: TypedContractEvent< + RewardsClaimedEvent.InputTuple, + RewardsClaimedEvent.OutputTuple, + RewardsClaimedEvent.OutputObject + >; + + "RewardsUpdated(address,uint256)": TypedContractEvent< + RewardsUpdatedEvent.InputTuple, + RewardsUpdatedEvent.OutputTuple, + RewardsUpdatedEvent.OutputObject + >; + RewardsUpdated: TypedContractEvent< + RewardsUpdatedEvent.InputTuple, + RewardsUpdatedEvent.OutputTuple, + RewardsUpdatedEvent.OutputObject + >; + }; +} diff --git a/typechain-types/contracts/Governance/TornadoStakingRewards.sol/index.ts b/typechain-types/contracts/Governance/TornadoStakingRewards.sol/index.ts new file mode 100644 index 0000000..44788c1 --- /dev/null +++ b/typechain-types/contracts/Governance/TornadoStakingRewards.sol/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { ITornadoGovernance } from "./ITornadoGovernance"; +export type { ITornadoVault } from "./ITornadoVault"; +export type { TornadoStakingRewards } from "./TornadoStakingRewards"; diff --git a/typechain-types/contracts/Governance/TornadoVault.ts b/typechain-types/contracts/Governance/TornadoVault.ts new file mode 100644 index 0000000..9eea781 --- /dev/null +++ b/typechain-types/contracts/Governance/TornadoVault.ts @@ -0,0 +1,100 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../common"; + +export interface TornadoVaultInterface extends Interface { + getFunction(nameOrSignature: "withdrawTorn"): FunctionFragment; + + encodeFunctionData( + functionFragment: "withdrawTorn", + values: [AddressLike, BigNumberish] + ): string; + + decodeFunctionResult( + functionFragment: "withdrawTorn", + data: BytesLike + ): Result; +} + +export interface TornadoVault extends BaseContract { + connect(runner?: ContractRunner | null): TornadoVault; + waitForDeployment(): Promise; + + interface: TornadoVaultInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + withdrawTorn: TypedContractMethod< + [recipient: AddressLike, amount: BigNumberish], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "withdrawTorn" + ): TypedContractMethod< + [recipient: AddressLike, amount: BigNumberish], + [void], + "nonpayable" + >; + + filters: {}; +} diff --git a/typechain-types/contracts/Governance/Uniswap/index.ts b/typechain-types/contracts/Governance/Uniswap/index.ts new file mode 100644 index 0000000..2aaf583 --- /dev/null +++ b/typechain-types/contracts/Governance/Uniswap/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as v3Core from "./v3-core"; +export type { v3Core }; diff --git a/typechain-types/contracts/Governance/Uniswap/v3-core/contracts/index.ts b/typechain-types/contracts/Governance/Uniswap/v3-core/contracts/index.ts new file mode 100644 index 0000000..9215923 --- /dev/null +++ b/typechain-types/contracts/Governance/Uniswap/v3-core/contracts/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as interfaces from "./interfaces"; +export type { interfaces }; diff --git a/typechain-types/contracts/Governance/Uniswap/v3-core/contracts/interfaces/IUniswapV3Factory.ts b/typechain-types/contracts/Governance/Uniswap/v3-core/contracts/interfaces/IUniswapV3Factory.ts new file mode 100644 index 0000000..830f19b --- /dev/null +++ b/typechain-types/contracts/Governance/Uniswap/v3-core/contracts/interfaces/IUniswapV3Factory.ts @@ -0,0 +1,293 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../../../../common"; + +export interface IUniswapV3FactoryInterface extends Interface { + getFunction( + nameOrSignature: + | "createPool" + | "enableFeeAmount" + | "feeAmountTickSpacing" + | "getPool" + | "owner" + | "setOwner" + ): FunctionFragment; + + getEvent( + nameOrSignatureOrTopic: "FeeAmountEnabled" | "OwnerChanged" | "PoolCreated" + ): EventFragment; + + encodeFunctionData( + functionFragment: "createPool", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "enableFeeAmount", + values: [BigNumberish, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "feeAmountTickSpacing", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "getPool", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + encodeFunctionData(functionFragment: "owner", values?: undefined): string; + encodeFunctionData( + functionFragment: "setOwner", + values: [AddressLike] + ): string; + + decodeFunctionResult(functionFragment: "createPool", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "enableFeeAmount", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "feeAmountTickSpacing", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "getPool", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "setOwner", data: BytesLike): Result; +} + +export namespace FeeAmountEnabledEvent { + export type InputTuple = [fee: BigNumberish, tickSpacing: BigNumberish]; + export type OutputTuple = [fee: bigint, tickSpacing: bigint]; + export interface OutputObject { + fee: bigint; + tickSpacing: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace OwnerChangedEvent { + export type InputTuple = [oldOwner: AddressLike, newOwner: AddressLike]; + export type OutputTuple = [oldOwner: string, newOwner: string]; + export interface OutputObject { + oldOwner: string; + newOwner: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace PoolCreatedEvent { + export type InputTuple = [ + token0: AddressLike, + token1: AddressLike, + fee: BigNumberish, + tickSpacing: BigNumberish, + pool: AddressLike + ]; + export type OutputTuple = [ + token0: string, + token1: string, + fee: bigint, + tickSpacing: bigint, + pool: string + ]; + export interface OutputObject { + token0: string; + token1: string; + fee: bigint; + tickSpacing: bigint; + pool: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface IUniswapV3Factory extends BaseContract { + connect(runner?: ContractRunner | null): IUniswapV3Factory; + waitForDeployment(): Promise; + + interface: IUniswapV3FactoryInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + createPool: TypedContractMethod< + [tokenA: AddressLike, tokenB: AddressLike, fee: BigNumberish], + [string], + "nonpayable" + >; + + enableFeeAmount: TypedContractMethod< + [fee: BigNumberish, tickSpacing: BigNumberish], + [void], + "nonpayable" + >; + + feeAmountTickSpacing: TypedContractMethod< + [fee: BigNumberish], + [bigint], + "view" + >; + + getPool: TypedContractMethod< + [tokenA: AddressLike, tokenB: AddressLike, fee: BigNumberish], + [string], + "view" + >; + + owner: TypedContractMethod<[], [string], "view">; + + setOwner: TypedContractMethod<[_owner: AddressLike], [void], "nonpayable">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "createPool" + ): TypedContractMethod< + [tokenA: AddressLike, tokenB: AddressLike, fee: BigNumberish], + [string], + "nonpayable" + >; + getFunction( + nameOrSignature: "enableFeeAmount" + ): TypedContractMethod< + [fee: BigNumberish, tickSpacing: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "feeAmountTickSpacing" + ): TypedContractMethod<[fee: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "getPool" + ): TypedContractMethod< + [tokenA: AddressLike, tokenB: AddressLike, fee: BigNumberish], + [string], + "view" + >; + getFunction( + nameOrSignature: "owner" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "setOwner" + ): TypedContractMethod<[_owner: AddressLike], [void], "nonpayable">; + + getEvent( + key: "FeeAmountEnabled" + ): TypedContractEvent< + FeeAmountEnabledEvent.InputTuple, + FeeAmountEnabledEvent.OutputTuple, + FeeAmountEnabledEvent.OutputObject + >; + getEvent( + key: "OwnerChanged" + ): TypedContractEvent< + OwnerChangedEvent.InputTuple, + OwnerChangedEvent.OutputTuple, + OwnerChangedEvent.OutputObject + >; + getEvent( + key: "PoolCreated" + ): TypedContractEvent< + PoolCreatedEvent.InputTuple, + PoolCreatedEvent.OutputTuple, + PoolCreatedEvent.OutputObject + >; + + filters: { + "FeeAmountEnabled(uint24,int24)": TypedContractEvent< + FeeAmountEnabledEvent.InputTuple, + FeeAmountEnabledEvent.OutputTuple, + FeeAmountEnabledEvent.OutputObject + >; + FeeAmountEnabled: TypedContractEvent< + FeeAmountEnabledEvent.InputTuple, + FeeAmountEnabledEvent.OutputTuple, + FeeAmountEnabledEvent.OutputObject + >; + + "OwnerChanged(address,address)": TypedContractEvent< + OwnerChangedEvent.InputTuple, + OwnerChangedEvent.OutputTuple, + OwnerChangedEvent.OutputObject + >; + OwnerChanged: TypedContractEvent< + OwnerChangedEvent.InputTuple, + OwnerChangedEvent.OutputTuple, + OwnerChangedEvent.OutputObject + >; + + "PoolCreated(address,address,uint24,int24,address)": TypedContractEvent< + PoolCreatedEvent.InputTuple, + PoolCreatedEvent.OutputTuple, + PoolCreatedEvent.OutputObject + >; + PoolCreated: TypedContractEvent< + PoolCreatedEvent.InputTuple, + PoolCreatedEvent.OutputTuple, + PoolCreatedEvent.OutputObject + >; + }; +} diff --git a/typechain-types/contracts/Governance/Uniswap/v3-core/contracts/interfaces/IUniswapV3Pool.ts b/typechain-types/contracts/Governance/Uniswap/v3-core/contracts/interfaces/IUniswapV3Pool.ts new file mode 100644 index 0000000..ce6e107 --- /dev/null +++ b/typechain-types/contracts/Governance/Uniswap/v3-core/contracts/interfaces/IUniswapV3Pool.ts @@ -0,0 +1,1079 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../../../../common"; + +export interface IUniswapV3PoolInterface extends Interface { + getFunction( + nameOrSignature: + | "burn" + | "collect" + | "collectProtocol" + | "factory" + | "fee" + | "feeGrowthGlobal0X128" + | "feeGrowthGlobal1X128" + | "flash" + | "increaseObservationCardinalityNext" + | "initialize" + | "liquidity" + | "maxLiquidityPerTick" + | "mint" + | "observations" + | "observe" + | "positions" + | "protocolFees" + | "setFeeProtocol" + | "slot0" + | "snapshotCumulativesInside" + | "swap" + | "tickBitmap" + | "tickSpacing" + | "ticks" + | "token0" + | "token1" + ): FunctionFragment; + + getEvent( + nameOrSignatureOrTopic: + | "Burn" + | "Collect" + | "CollectProtocol" + | "Flash" + | "IncreaseObservationCardinalityNext" + | "Initialize" + | "Mint" + | "SetFeeProtocol" + | "Swap" + ): EventFragment; + + encodeFunctionData( + functionFragment: "burn", + values: [BigNumberish, BigNumberish, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "collect", + values: [ + AddressLike, + BigNumberish, + BigNumberish, + BigNumberish, + BigNumberish + ] + ): string; + encodeFunctionData( + functionFragment: "collectProtocol", + values: [AddressLike, BigNumberish, BigNumberish] + ): string; + encodeFunctionData(functionFragment: "factory", values?: undefined): string; + encodeFunctionData(functionFragment: "fee", values?: undefined): string; + encodeFunctionData( + functionFragment: "feeGrowthGlobal0X128", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "feeGrowthGlobal1X128", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "flash", + values: [AddressLike, BigNumberish, BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "increaseObservationCardinalityNext", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "initialize", + values: [BigNumberish] + ): string; + encodeFunctionData(functionFragment: "liquidity", values?: undefined): string; + encodeFunctionData( + functionFragment: "maxLiquidityPerTick", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "mint", + values: [AddressLike, BigNumberish, BigNumberish, BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "observations", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "observe", + values: [BigNumberish[]] + ): string; + encodeFunctionData( + functionFragment: "positions", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "protocolFees", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "setFeeProtocol", + values: [BigNumberish, BigNumberish] + ): string; + encodeFunctionData(functionFragment: "slot0", values?: undefined): string; + encodeFunctionData( + functionFragment: "snapshotCumulativesInside", + values: [BigNumberish, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "swap", + values: [AddressLike, boolean, BigNumberish, BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "tickBitmap", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "tickSpacing", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "ticks", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "token0", values?: undefined): string; + encodeFunctionData(functionFragment: "token1", values?: undefined): string; + + decodeFunctionResult(functionFragment: "burn", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "collect", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "collectProtocol", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "factory", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "fee", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "feeGrowthGlobal0X128", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "feeGrowthGlobal1X128", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "flash", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "increaseObservationCardinalityNext", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "liquidity", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "maxLiquidityPerTick", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "mint", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "observations", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "observe", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "positions", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "protocolFees", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setFeeProtocol", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "slot0", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "snapshotCumulativesInside", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "swap", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "tickBitmap", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "tickSpacing", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "ticks", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "token0", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "token1", data: BytesLike): Result; +} + +export namespace BurnEvent { + export type InputTuple = [ + owner: AddressLike, + tickLower: BigNumberish, + tickUpper: BigNumberish, + amount: BigNumberish, + amount0: BigNumberish, + amount1: BigNumberish + ]; + export type OutputTuple = [ + owner: string, + tickLower: bigint, + tickUpper: bigint, + amount: bigint, + amount0: bigint, + amount1: bigint + ]; + export interface OutputObject { + owner: string; + tickLower: bigint; + tickUpper: bigint; + amount: bigint; + amount0: bigint; + amount1: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace CollectEvent { + export type InputTuple = [ + owner: AddressLike, + recipient: AddressLike, + tickLower: BigNumberish, + tickUpper: BigNumberish, + amount0: BigNumberish, + amount1: BigNumberish + ]; + export type OutputTuple = [ + owner: string, + recipient: string, + tickLower: bigint, + tickUpper: bigint, + amount0: bigint, + amount1: bigint + ]; + export interface OutputObject { + owner: string; + recipient: string; + tickLower: bigint; + tickUpper: bigint; + amount0: bigint; + amount1: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace CollectProtocolEvent { + export type InputTuple = [ + sender: AddressLike, + recipient: AddressLike, + amount0: BigNumberish, + amount1: BigNumberish + ]; + export type OutputTuple = [ + sender: string, + recipient: string, + amount0: bigint, + amount1: bigint + ]; + export interface OutputObject { + sender: string; + recipient: string; + amount0: bigint; + amount1: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace FlashEvent { + export type InputTuple = [ + sender: AddressLike, + recipient: AddressLike, + amount0: BigNumberish, + amount1: BigNumberish, + paid0: BigNumberish, + paid1: BigNumberish + ]; + export type OutputTuple = [ + sender: string, + recipient: string, + amount0: bigint, + amount1: bigint, + paid0: bigint, + paid1: bigint + ]; + export interface OutputObject { + sender: string; + recipient: string; + amount0: bigint; + amount1: bigint; + paid0: bigint; + paid1: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace IncreaseObservationCardinalityNextEvent { + export type InputTuple = [ + observationCardinalityNextOld: BigNumberish, + observationCardinalityNextNew: BigNumberish + ]; + export type OutputTuple = [ + observationCardinalityNextOld: bigint, + observationCardinalityNextNew: bigint + ]; + export interface OutputObject { + observationCardinalityNextOld: bigint; + observationCardinalityNextNew: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace InitializeEvent { + export type InputTuple = [sqrtPriceX96: BigNumberish, tick: BigNumberish]; + export type OutputTuple = [sqrtPriceX96: bigint, tick: bigint]; + export interface OutputObject { + sqrtPriceX96: bigint; + tick: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace MintEvent { + export type InputTuple = [ + sender: AddressLike, + owner: AddressLike, + tickLower: BigNumberish, + tickUpper: BigNumberish, + amount: BigNumberish, + amount0: BigNumberish, + amount1: BigNumberish + ]; + export type OutputTuple = [ + sender: string, + owner: string, + tickLower: bigint, + tickUpper: bigint, + amount: bigint, + amount0: bigint, + amount1: bigint + ]; + export interface OutputObject { + sender: string; + owner: string; + tickLower: bigint; + tickUpper: bigint; + amount: bigint; + amount0: bigint; + amount1: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace SetFeeProtocolEvent { + export type InputTuple = [ + feeProtocol0Old: BigNumberish, + feeProtocol1Old: BigNumberish, + feeProtocol0New: BigNumberish, + feeProtocol1New: BigNumberish + ]; + export type OutputTuple = [ + feeProtocol0Old: bigint, + feeProtocol1Old: bigint, + feeProtocol0New: bigint, + feeProtocol1New: bigint + ]; + export interface OutputObject { + feeProtocol0Old: bigint; + feeProtocol1Old: bigint; + feeProtocol0New: bigint; + feeProtocol1New: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace SwapEvent { + export type InputTuple = [ + sender: AddressLike, + recipient: AddressLike, + amount0: BigNumberish, + amount1: BigNumberish, + sqrtPriceX96: BigNumberish, + liquidity: BigNumberish, + tick: BigNumberish + ]; + export type OutputTuple = [ + sender: string, + recipient: string, + amount0: bigint, + amount1: bigint, + sqrtPriceX96: bigint, + liquidity: bigint, + tick: bigint + ]; + export interface OutputObject { + sender: string; + recipient: string; + amount0: bigint; + amount1: bigint; + sqrtPriceX96: bigint; + liquidity: bigint; + tick: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface IUniswapV3Pool extends BaseContract { + connect(runner?: ContractRunner | null): IUniswapV3Pool; + waitForDeployment(): Promise; + + interface: IUniswapV3PoolInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + burn: TypedContractMethod< + [tickLower: BigNumberish, tickUpper: BigNumberish, amount: BigNumberish], + [[bigint, bigint] & { amount0: bigint; amount1: bigint }], + "nonpayable" + >; + + collect: TypedContractMethod< + [ + recipient: AddressLike, + tickLower: BigNumberish, + tickUpper: BigNumberish, + amount0Requested: BigNumberish, + amount1Requested: BigNumberish + ], + [[bigint, bigint] & { amount0: bigint; amount1: bigint }], + "nonpayable" + >; + + collectProtocol: TypedContractMethod< + [ + recipient: AddressLike, + amount0Requested: BigNumberish, + amount1Requested: BigNumberish + ], + [[bigint, bigint] & { amount0: bigint; amount1: bigint }], + "nonpayable" + >; + + factory: TypedContractMethod<[], [string], "view">; + + fee: TypedContractMethod<[], [bigint], "view">; + + feeGrowthGlobal0X128: TypedContractMethod<[], [bigint], "view">; + + feeGrowthGlobal1X128: TypedContractMethod<[], [bigint], "view">; + + flash: TypedContractMethod< + [ + recipient: AddressLike, + amount0: BigNumberish, + amount1: BigNumberish, + data: BytesLike + ], + [void], + "nonpayable" + >; + + increaseObservationCardinalityNext: TypedContractMethod< + [observationCardinalityNext: BigNumberish], + [void], + "nonpayable" + >; + + initialize: TypedContractMethod< + [sqrtPriceX96: BigNumberish], + [void], + "nonpayable" + >; + + liquidity: TypedContractMethod<[], [bigint], "view">; + + maxLiquidityPerTick: TypedContractMethod<[], [bigint], "view">; + + mint: TypedContractMethod< + [ + recipient: AddressLike, + tickLower: BigNumberish, + tickUpper: BigNumberish, + amount: BigNumberish, + data: BytesLike + ], + [[bigint, bigint] & { amount0: bigint; amount1: bigint }], + "nonpayable" + >; + + observations: TypedContractMethod< + [index: BigNumberish], + [ + [bigint, bigint, bigint, boolean] & { + blockTimestamp: bigint; + tickCumulative: bigint; + secondsPerLiquidityCumulativeX128: bigint; + initialized: boolean; + } + ], + "view" + >; + + observe: TypedContractMethod< + [secondsAgos: BigNumberish[]], + [ + [bigint[], bigint[]] & { + tickCumulatives: bigint[]; + secondsPerLiquidityCumulativeX128s: bigint[]; + } + ], + "view" + >; + + positions: TypedContractMethod< + [key: BytesLike], + [ + [bigint, bigint, bigint, bigint, bigint] & { + _liquidity: bigint; + feeGrowthInside0LastX128: bigint; + feeGrowthInside1LastX128: bigint; + tokensOwed0: bigint; + tokensOwed1: bigint; + } + ], + "view" + >; + + protocolFees: TypedContractMethod< + [], + [[bigint, bigint] & { token0: bigint; token1: bigint }], + "view" + >; + + setFeeProtocol: TypedContractMethod< + [feeProtocol0: BigNumberish, feeProtocol1: BigNumberish], + [void], + "nonpayable" + >; + + slot0: TypedContractMethod< + [], + [ + [bigint, bigint, bigint, bigint, bigint, bigint, boolean] & { + sqrtPriceX96: bigint; + tick: bigint; + observationIndex: bigint; + observationCardinality: bigint; + observationCardinalityNext: bigint; + feeProtocol: bigint; + unlocked: boolean; + } + ], + "view" + >; + + snapshotCumulativesInside: TypedContractMethod< + [tickLower: BigNumberish, tickUpper: BigNumberish], + [ + [bigint, bigint, bigint] & { + tickCumulativeInside: bigint; + secondsPerLiquidityInsideX128: bigint; + secondsInside: bigint; + } + ], + "view" + >; + + swap: TypedContractMethod< + [ + recipient: AddressLike, + zeroForOne: boolean, + amountSpecified: BigNumberish, + sqrtPriceLimitX96: BigNumberish, + data: BytesLike + ], + [[bigint, bigint] & { amount0: bigint; amount1: bigint }], + "nonpayable" + >; + + tickBitmap: TypedContractMethod< + [wordPosition: BigNumberish], + [bigint], + "view" + >; + + tickSpacing: TypedContractMethod<[], [bigint], "view">; + + ticks: TypedContractMethod< + [tick: BigNumberish], + [ + [bigint, bigint, bigint, bigint, bigint, bigint, bigint, boolean] & { + liquidityGross: bigint; + liquidityNet: bigint; + feeGrowthOutside0X128: bigint; + feeGrowthOutside1X128: bigint; + tickCumulativeOutside: bigint; + secondsPerLiquidityOutsideX128: bigint; + secondsOutside: bigint; + initialized: boolean; + } + ], + "view" + >; + + token0: TypedContractMethod<[], [string], "view">; + + token1: TypedContractMethod<[], [string], "view">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "burn" + ): TypedContractMethod< + [tickLower: BigNumberish, tickUpper: BigNumberish, amount: BigNumberish], + [[bigint, bigint] & { amount0: bigint; amount1: bigint }], + "nonpayable" + >; + getFunction( + nameOrSignature: "collect" + ): TypedContractMethod< + [ + recipient: AddressLike, + tickLower: BigNumberish, + tickUpper: BigNumberish, + amount0Requested: BigNumberish, + amount1Requested: BigNumberish + ], + [[bigint, bigint] & { amount0: bigint; amount1: bigint }], + "nonpayable" + >; + getFunction( + nameOrSignature: "collectProtocol" + ): TypedContractMethod< + [ + recipient: AddressLike, + amount0Requested: BigNumberish, + amount1Requested: BigNumberish + ], + [[bigint, bigint] & { amount0: bigint; amount1: bigint }], + "nonpayable" + >; + getFunction( + nameOrSignature: "factory" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "fee" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "feeGrowthGlobal0X128" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "feeGrowthGlobal1X128" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "flash" + ): TypedContractMethod< + [ + recipient: AddressLike, + amount0: BigNumberish, + amount1: BigNumberish, + data: BytesLike + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "increaseObservationCardinalityNext" + ): TypedContractMethod< + [observationCardinalityNext: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "initialize" + ): TypedContractMethod<[sqrtPriceX96: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "liquidity" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "maxLiquidityPerTick" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "mint" + ): TypedContractMethod< + [ + recipient: AddressLike, + tickLower: BigNumberish, + tickUpper: BigNumberish, + amount: BigNumberish, + data: BytesLike + ], + [[bigint, bigint] & { amount0: bigint; amount1: bigint }], + "nonpayable" + >; + getFunction( + nameOrSignature: "observations" + ): TypedContractMethod< + [index: BigNumberish], + [ + [bigint, bigint, bigint, boolean] & { + blockTimestamp: bigint; + tickCumulative: bigint; + secondsPerLiquidityCumulativeX128: bigint; + initialized: boolean; + } + ], + "view" + >; + getFunction( + nameOrSignature: "observe" + ): TypedContractMethod< + [secondsAgos: BigNumberish[]], + [ + [bigint[], bigint[]] & { + tickCumulatives: bigint[]; + secondsPerLiquidityCumulativeX128s: bigint[]; + } + ], + "view" + >; + getFunction( + nameOrSignature: "positions" + ): TypedContractMethod< + [key: BytesLike], + [ + [bigint, bigint, bigint, bigint, bigint] & { + _liquidity: bigint; + feeGrowthInside0LastX128: bigint; + feeGrowthInside1LastX128: bigint; + tokensOwed0: bigint; + tokensOwed1: bigint; + } + ], + "view" + >; + getFunction( + nameOrSignature: "protocolFees" + ): TypedContractMethod< + [], + [[bigint, bigint] & { token0: bigint; token1: bigint }], + "view" + >; + getFunction( + nameOrSignature: "setFeeProtocol" + ): TypedContractMethod< + [feeProtocol0: BigNumberish, feeProtocol1: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "slot0" + ): TypedContractMethod< + [], + [ + [bigint, bigint, bigint, bigint, bigint, bigint, boolean] & { + sqrtPriceX96: bigint; + tick: bigint; + observationIndex: bigint; + observationCardinality: bigint; + observationCardinalityNext: bigint; + feeProtocol: bigint; + unlocked: boolean; + } + ], + "view" + >; + getFunction( + nameOrSignature: "snapshotCumulativesInside" + ): TypedContractMethod< + [tickLower: BigNumberish, tickUpper: BigNumberish], + [ + [bigint, bigint, bigint] & { + tickCumulativeInside: bigint; + secondsPerLiquidityInsideX128: bigint; + secondsInside: bigint; + } + ], + "view" + >; + getFunction( + nameOrSignature: "swap" + ): TypedContractMethod< + [ + recipient: AddressLike, + zeroForOne: boolean, + amountSpecified: BigNumberish, + sqrtPriceLimitX96: BigNumberish, + data: BytesLike + ], + [[bigint, bigint] & { amount0: bigint; amount1: bigint }], + "nonpayable" + >; + getFunction( + nameOrSignature: "tickBitmap" + ): TypedContractMethod<[wordPosition: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "tickSpacing" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "ticks" + ): TypedContractMethod< + [tick: BigNumberish], + [ + [bigint, bigint, bigint, bigint, bigint, bigint, bigint, boolean] & { + liquidityGross: bigint; + liquidityNet: bigint; + feeGrowthOutside0X128: bigint; + feeGrowthOutside1X128: bigint; + tickCumulativeOutside: bigint; + secondsPerLiquidityOutsideX128: bigint; + secondsOutside: bigint; + initialized: boolean; + } + ], + "view" + >; + getFunction( + nameOrSignature: "token0" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "token1" + ): TypedContractMethod<[], [string], "view">; + + getEvent( + key: "Burn" + ): TypedContractEvent< + BurnEvent.InputTuple, + BurnEvent.OutputTuple, + BurnEvent.OutputObject + >; + getEvent( + key: "Collect" + ): TypedContractEvent< + CollectEvent.InputTuple, + CollectEvent.OutputTuple, + CollectEvent.OutputObject + >; + getEvent( + key: "CollectProtocol" + ): TypedContractEvent< + CollectProtocolEvent.InputTuple, + CollectProtocolEvent.OutputTuple, + CollectProtocolEvent.OutputObject + >; + getEvent( + key: "Flash" + ): TypedContractEvent< + FlashEvent.InputTuple, + FlashEvent.OutputTuple, + FlashEvent.OutputObject + >; + getEvent( + key: "IncreaseObservationCardinalityNext" + ): TypedContractEvent< + IncreaseObservationCardinalityNextEvent.InputTuple, + IncreaseObservationCardinalityNextEvent.OutputTuple, + IncreaseObservationCardinalityNextEvent.OutputObject + >; + getEvent( + key: "Initialize" + ): TypedContractEvent< + InitializeEvent.InputTuple, + InitializeEvent.OutputTuple, + InitializeEvent.OutputObject + >; + getEvent( + key: "Mint" + ): TypedContractEvent< + MintEvent.InputTuple, + MintEvent.OutputTuple, + MintEvent.OutputObject + >; + getEvent( + key: "SetFeeProtocol" + ): TypedContractEvent< + SetFeeProtocolEvent.InputTuple, + SetFeeProtocolEvent.OutputTuple, + SetFeeProtocolEvent.OutputObject + >; + getEvent( + key: "Swap" + ): TypedContractEvent< + SwapEvent.InputTuple, + SwapEvent.OutputTuple, + SwapEvent.OutputObject + >; + + filters: { + "Burn(address,int24,int24,uint128,uint256,uint256)": TypedContractEvent< + BurnEvent.InputTuple, + BurnEvent.OutputTuple, + BurnEvent.OutputObject + >; + Burn: TypedContractEvent< + BurnEvent.InputTuple, + BurnEvent.OutputTuple, + BurnEvent.OutputObject + >; + + "Collect(address,address,int24,int24,uint128,uint128)": TypedContractEvent< + CollectEvent.InputTuple, + CollectEvent.OutputTuple, + CollectEvent.OutputObject + >; + Collect: TypedContractEvent< + CollectEvent.InputTuple, + CollectEvent.OutputTuple, + CollectEvent.OutputObject + >; + + "CollectProtocol(address,address,uint128,uint128)": TypedContractEvent< + CollectProtocolEvent.InputTuple, + CollectProtocolEvent.OutputTuple, + CollectProtocolEvent.OutputObject + >; + CollectProtocol: TypedContractEvent< + CollectProtocolEvent.InputTuple, + CollectProtocolEvent.OutputTuple, + CollectProtocolEvent.OutputObject + >; + + "Flash(address,address,uint256,uint256,uint256,uint256)": TypedContractEvent< + FlashEvent.InputTuple, + FlashEvent.OutputTuple, + FlashEvent.OutputObject + >; + Flash: TypedContractEvent< + FlashEvent.InputTuple, + FlashEvent.OutputTuple, + FlashEvent.OutputObject + >; + + "IncreaseObservationCardinalityNext(uint16,uint16)": TypedContractEvent< + IncreaseObservationCardinalityNextEvent.InputTuple, + IncreaseObservationCardinalityNextEvent.OutputTuple, + IncreaseObservationCardinalityNextEvent.OutputObject + >; + IncreaseObservationCardinalityNext: TypedContractEvent< + IncreaseObservationCardinalityNextEvent.InputTuple, + IncreaseObservationCardinalityNextEvent.OutputTuple, + IncreaseObservationCardinalityNextEvent.OutputObject + >; + + "Initialize(uint160,int24)": TypedContractEvent< + InitializeEvent.InputTuple, + InitializeEvent.OutputTuple, + InitializeEvent.OutputObject + >; + Initialize: TypedContractEvent< + InitializeEvent.InputTuple, + InitializeEvent.OutputTuple, + InitializeEvent.OutputObject + >; + + "Mint(address,address,int24,int24,uint128,uint256,uint256)": TypedContractEvent< + MintEvent.InputTuple, + MintEvent.OutputTuple, + MintEvent.OutputObject + >; + Mint: TypedContractEvent< + MintEvent.InputTuple, + MintEvent.OutputTuple, + MintEvent.OutputObject + >; + + "SetFeeProtocol(uint8,uint8,uint8,uint8)": TypedContractEvent< + SetFeeProtocolEvent.InputTuple, + SetFeeProtocolEvent.OutputTuple, + SetFeeProtocolEvent.OutputObject + >; + SetFeeProtocol: TypedContractEvent< + SetFeeProtocolEvent.InputTuple, + SetFeeProtocolEvent.OutputTuple, + SetFeeProtocolEvent.OutputObject + >; + + "Swap(address,address,int256,int256,uint160,uint128,int24)": TypedContractEvent< + SwapEvent.InputTuple, + SwapEvent.OutputTuple, + SwapEvent.OutputObject + >; + Swap: TypedContractEvent< + SwapEvent.InputTuple, + SwapEvent.OutputTuple, + SwapEvent.OutputObject + >; + }; +} diff --git a/typechain-types/contracts/Governance/Uniswap/v3-core/contracts/interfaces/index.ts b/typechain-types/contracts/Governance/Uniswap/v3-core/contracts/interfaces/index.ts new file mode 100644 index 0000000..ce377b5 --- /dev/null +++ b/typechain-types/contracts/Governance/Uniswap/v3-core/contracts/interfaces/index.ts @@ -0,0 +1,7 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as pool from "./pool"; +export type { pool }; +export type { IUniswapV3Factory } from "./IUniswapV3Factory"; +export type { IUniswapV3Pool } from "./IUniswapV3Pool"; diff --git a/typechain-types/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.ts b/typechain-types/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.ts new file mode 100644 index 0000000..662cc37 --- /dev/null +++ b/typechain-types/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.ts @@ -0,0 +1,265 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../../../../common"; + +export interface IUniswapV3PoolActionsInterface extends Interface { + getFunction( + nameOrSignature: + | "burn" + | "collect" + | "flash" + | "increaseObservationCardinalityNext" + | "initialize" + | "mint" + | "swap" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "burn", + values: [BigNumberish, BigNumberish, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "collect", + values: [ + AddressLike, + BigNumberish, + BigNumberish, + BigNumberish, + BigNumberish + ] + ): string; + encodeFunctionData( + functionFragment: "flash", + values: [AddressLike, BigNumberish, BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "increaseObservationCardinalityNext", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "initialize", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "mint", + values: [AddressLike, BigNumberish, BigNumberish, BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "swap", + values: [AddressLike, boolean, BigNumberish, BigNumberish, BytesLike] + ): string; + + decodeFunctionResult(functionFragment: "burn", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "collect", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "flash", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "increaseObservationCardinalityNext", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "mint", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "swap", data: BytesLike): Result; +} + +export interface IUniswapV3PoolActions extends BaseContract { + connect(runner?: ContractRunner | null): IUniswapV3PoolActions; + waitForDeployment(): Promise; + + interface: IUniswapV3PoolActionsInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + burn: TypedContractMethod< + [tickLower: BigNumberish, tickUpper: BigNumberish, amount: BigNumberish], + [[bigint, bigint] & { amount0: bigint; amount1: bigint }], + "nonpayable" + >; + + collect: TypedContractMethod< + [ + recipient: AddressLike, + tickLower: BigNumberish, + tickUpper: BigNumberish, + amount0Requested: BigNumberish, + amount1Requested: BigNumberish + ], + [[bigint, bigint] & { amount0: bigint; amount1: bigint }], + "nonpayable" + >; + + flash: TypedContractMethod< + [ + recipient: AddressLike, + amount0: BigNumberish, + amount1: BigNumberish, + data: BytesLike + ], + [void], + "nonpayable" + >; + + increaseObservationCardinalityNext: TypedContractMethod< + [observationCardinalityNext: BigNumberish], + [void], + "nonpayable" + >; + + initialize: TypedContractMethod< + [sqrtPriceX96: BigNumberish], + [void], + "nonpayable" + >; + + mint: TypedContractMethod< + [ + recipient: AddressLike, + tickLower: BigNumberish, + tickUpper: BigNumberish, + amount: BigNumberish, + data: BytesLike + ], + [[bigint, bigint] & { amount0: bigint; amount1: bigint }], + "nonpayable" + >; + + swap: TypedContractMethod< + [ + recipient: AddressLike, + zeroForOne: boolean, + amountSpecified: BigNumberish, + sqrtPriceLimitX96: BigNumberish, + data: BytesLike + ], + [[bigint, bigint] & { amount0: bigint; amount1: bigint }], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "burn" + ): TypedContractMethod< + [tickLower: BigNumberish, tickUpper: BigNumberish, amount: BigNumberish], + [[bigint, bigint] & { amount0: bigint; amount1: bigint }], + "nonpayable" + >; + getFunction( + nameOrSignature: "collect" + ): TypedContractMethod< + [ + recipient: AddressLike, + tickLower: BigNumberish, + tickUpper: BigNumberish, + amount0Requested: BigNumberish, + amount1Requested: BigNumberish + ], + [[bigint, bigint] & { amount0: bigint; amount1: bigint }], + "nonpayable" + >; + getFunction( + nameOrSignature: "flash" + ): TypedContractMethod< + [ + recipient: AddressLike, + amount0: BigNumberish, + amount1: BigNumberish, + data: BytesLike + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "increaseObservationCardinalityNext" + ): TypedContractMethod< + [observationCardinalityNext: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "initialize" + ): TypedContractMethod<[sqrtPriceX96: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "mint" + ): TypedContractMethod< + [ + recipient: AddressLike, + tickLower: BigNumberish, + tickUpper: BigNumberish, + amount: BigNumberish, + data: BytesLike + ], + [[bigint, bigint] & { amount0: bigint; amount1: bigint }], + "nonpayable" + >; + getFunction( + nameOrSignature: "swap" + ): TypedContractMethod< + [ + recipient: AddressLike, + zeroForOne: boolean, + amountSpecified: BigNumberish, + sqrtPriceLimitX96: BigNumberish, + data: BytesLike + ], + [[bigint, bigint] & { amount0: bigint; amount1: bigint }], + "nonpayable" + >; + + filters: {}; +} diff --git a/typechain-types/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.ts b/typechain-types/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.ts new file mode 100644 index 0000000..2a5d6ce --- /dev/null +++ b/typechain-types/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.ts @@ -0,0 +1,141 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../../../../common"; + +export interface IUniswapV3PoolDerivedStateInterface extends Interface { + getFunction( + nameOrSignature: "observe" | "snapshotCumulativesInside" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "observe", + values: [BigNumberish[]] + ): string; + encodeFunctionData( + functionFragment: "snapshotCumulativesInside", + values: [BigNumberish, BigNumberish] + ): string; + + decodeFunctionResult(functionFragment: "observe", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "snapshotCumulativesInside", + data: BytesLike + ): Result; +} + +export interface IUniswapV3PoolDerivedState extends BaseContract { + connect(runner?: ContractRunner | null): IUniswapV3PoolDerivedState; + waitForDeployment(): Promise; + + interface: IUniswapV3PoolDerivedStateInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + observe: TypedContractMethod< + [secondsAgos: BigNumberish[]], + [ + [bigint[], bigint[]] & { + tickCumulatives: bigint[]; + secondsPerLiquidityCumulativeX128s: bigint[]; + } + ], + "view" + >; + + snapshotCumulativesInside: TypedContractMethod< + [tickLower: BigNumberish, tickUpper: BigNumberish], + [ + [bigint, bigint, bigint] & { + tickCumulativeInside: bigint; + secondsPerLiquidityInsideX128: bigint; + secondsInside: bigint; + } + ], + "view" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "observe" + ): TypedContractMethod< + [secondsAgos: BigNumberish[]], + [ + [bigint[], bigint[]] & { + tickCumulatives: bigint[]; + secondsPerLiquidityCumulativeX128s: bigint[]; + } + ], + "view" + >; + getFunction( + nameOrSignature: "snapshotCumulativesInside" + ): TypedContractMethod< + [tickLower: BigNumberish, tickUpper: BigNumberish], + [ + [bigint, bigint, bigint] & { + tickCumulativeInside: bigint; + secondsPerLiquidityInsideX128: bigint; + secondsInside: bigint; + } + ], + "view" + >; + + filters: {}; +} diff --git a/typechain-types/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.ts b/typechain-types/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.ts new file mode 100644 index 0000000..ec8b1af --- /dev/null +++ b/typechain-types/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.ts @@ -0,0 +1,492 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + FunctionFragment, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, +} from "../../../../../../../common"; + +export interface IUniswapV3PoolEventsInterface extends Interface { + getEvent( + nameOrSignatureOrTopic: + | "Burn" + | "Collect" + | "CollectProtocol" + | "Flash" + | "IncreaseObservationCardinalityNext" + | "Initialize" + | "Mint" + | "SetFeeProtocol" + | "Swap" + ): EventFragment; +} + +export namespace BurnEvent { + export type InputTuple = [ + owner: AddressLike, + tickLower: BigNumberish, + tickUpper: BigNumberish, + amount: BigNumberish, + amount0: BigNumberish, + amount1: BigNumberish + ]; + export type OutputTuple = [ + owner: string, + tickLower: bigint, + tickUpper: bigint, + amount: bigint, + amount0: bigint, + amount1: bigint + ]; + export interface OutputObject { + owner: string; + tickLower: bigint; + tickUpper: bigint; + amount: bigint; + amount0: bigint; + amount1: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace CollectEvent { + export type InputTuple = [ + owner: AddressLike, + recipient: AddressLike, + tickLower: BigNumberish, + tickUpper: BigNumberish, + amount0: BigNumberish, + amount1: BigNumberish + ]; + export type OutputTuple = [ + owner: string, + recipient: string, + tickLower: bigint, + tickUpper: bigint, + amount0: bigint, + amount1: bigint + ]; + export interface OutputObject { + owner: string; + recipient: string; + tickLower: bigint; + tickUpper: bigint; + amount0: bigint; + amount1: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace CollectProtocolEvent { + export type InputTuple = [ + sender: AddressLike, + recipient: AddressLike, + amount0: BigNumberish, + amount1: BigNumberish + ]; + export type OutputTuple = [ + sender: string, + recipient: string, + amount0: bigint, + amount1: bigint + ]; + export interface OutputObject { + sender: string; + recipient: string; + amount0: bigint; + amount1: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace FlashEvent { + export type InputTuple = [ + sender: AddressLike, + recipient: AddressLike, + amount0: BigNumberish, + amount1: BigNumberish, + paid0: BigNumberish, + paid1: BigNumberish + ]; + export type OutputTuple = [ + sender: string, + recipient: string, + amount0: bigint, + amount1: bigint, + paid0: bigint, + paid1: bigint + ]; + export interface OutputObject { + sender: string; + recipient: string; + amount0: bigint; + amount1: bigint; + paid0: bigint; + paid1: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace IncreaseObservationCardinalityNextEvent { + export type InputTuple = [ + observationCardinalityNextOld: BigNumberish, + observationCardinalityNextNew: BigNumberish + ]; + export type OutputTuple = [ + observationCardinalityNextOld: bigint, + observationCardinalityNextNew: bigint + ]; + export interface OutputObject { + observationCardinalityNextOld: bigint; + observationCardinalityNextNew: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace InitializeEvent { + export type InputTuple = [sqrtPriceX96: BigNumberish, tick: BigNumberish]; + export type OutputTuple = [sqrtPriceX96: bigint, tick: bigint]; + export interface OutputObject { + sqrtPriceX96: bigint; + tick: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace MintEvent { + export type InputTuple = [ + sender: AddressLike, + owner: AddressLike, + tickLower: BigNumberish, + tickUpper: BigNumberish, + amount: BigNumberish, + amount0: BigNumberish, + amount1: BigNumberish + ]; + export type OutputTuple = [ + sender: string, + owner: string, + tickLower: bigint, + tickUpper: bigint, + amount: bigint, + amount0: bigint, + amount1: bigint + ]; + export interface OutputObject { + sender: string; + owner: string; + tickLower: bigint; + tickUpper: bigint; + amount: bigint; + amount0: bigint; + amount1: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace SetFeeProtocolEvent { + export type InputTuple = [ + feeProtocol0Old: BigNumberish, + feeProtocol1Old: BigNumberish, + feeProtocol0New: BigNumberish, + feeProtocol1New: BigNumberish + ]; + export type OutputTuple = [ + feeProtocol0Old: bigint, + feeProtocol1Old: bigint, + feeProtocol0New: bigint, + feeProtocol1New: bigint + ]; + export interface OutputObject { + feeProtocol0Old: bigint; + feeProtocol1Old: bigint; + feeProtocol0New: bigint; + feeProtocol1New: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace SwapEvent { + export type InputTuple = [ + sender: AddressLike, + recipient: AddressLike, + amount0: BigNumberish, + amount1: BigNumberish, + sqrtPriceX96: BigNumberish, + liquidity: BigNumberish, + tick: BigNumberish + ]; + export type OutputTuple = [ + sender: string, + recipient: string, + amount0: bigint, + amount1: bigint, + sqrtPriceX96: bigint, + liquidity: bigint, + tick: bigint + ]; + export interface OutputObject { + sender: string; + recipient: string; + amount0: bigint; + amount1: bigint; + sqrtPriceX96: bigint; + liquidity: bigint; + tick: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface IUniswapV3PoolEvents extends BaseContract { + connect(runner?: ContractRunner | null): IUniswapV3PoolEvents; + waitForDeployment(): Promise; + + interface: IUniswapV3PoolEventsInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + getFunction( + key: string | FunctionFragment + ): T; + + getEvent( + key: "Burn" + ): TypedContractEvent< + BurnEvent.InputTuple, + BurnEvent.OutputTuple, + BurnEvent.OutputObject + >; + getEvent( + key: "Collect" + ): TypedContractEvent< + CollectEvent.InputTuple, + CollectEvent.OutputTuple, + CollectEvent.OutputObject + >; + getEvent( + key: "CollectProtocol" + ): TypedContractEvent< + CollectProtocolEvent.InputTuple, + CollectProtocolEvent.OutputTuple, + CollectProtocolEvent.OutputObject + >; + getEvent( + key: "Flash" + ): TypedContractEvent< + FlashEvent.InputTuple, + FlashEvent.OutputTuple, + FlashEvent.OutputObject + >; + getEvent( + key: "IncreaseObservationCardinalityNext" + ): TypedContractEvent< + IncreaseObservationCardinalityNextEvent.InputTuple, + IncreaseObservationCardinalityNextEvent.OutputTuple, + IncreaseObservationCardinalityNextEvent.OutputObject + >; + getEvent( + key: "Initialize" + ): TypedContractEvent< + InitializeEvent.InputTuple, + InitializeEvent.OutputTuple, + InitializeEvent.OutputObject + >; + getEvent( + key: "Mint" + ): TypedContractEvent< + MintEvent.InputTuple, + MintEvent.OutputTuple, + MintEvent.OutputObject + >; + getEvent( + key: "SetFeeProtocol" + ): TypedContractEvent< + SetFeeProtocolEvent.InputTuple, + SetFeeProtocolEvent.OutputTuple, + SetFeeProtocolEvent.OutputObject + >; + getEvent( + key: "Swap" + ): TypedContractEvent< + SwapEvent.InputTuple, + SwapEvent.OutputTuple, + SwapEvent.OutputObject + >; + + filters: { + "Burn(address,int24,int24,uint128,uint256,uint256)": TypedContractEvent< + BurnEvent.InputTuple, + BurnEvent.OutputTuple, + BurnEvent.OutputObject + >; + Burn: TypedContractEvent< + BurnEvent.InputTuple, + BurnEvent.OutputTuple, + BurnEvent.OutputObject + >; + + "Collect(address,address,int24,int24,uint128,uint128)": TypedContractEvent< + CollectEvent.InputTuple, + CollectEvent.OutputTuple, + CollectEvent.OutputObject + >; + Collect: TypedContractEvent< + CollectEvent.InputTuple, + CollectEvent.OutputTuple, + CollectEvent.OutputObject + >; + + "CollectProtocol(address,address,uint128,uint128)": TypedContractEvent< + CollectProtocolEvent.InputTuple, + CollectProtocolEvent.OutputTuple, + CollectProtocolEvent.OutputObject + >; + CollectProtocol: TypedContractEvent< + CollectProtocolEvent.InputTuple, + CollectProtocolEvent.OutputTuple, + CollectProtocolEvent.OutputObject + >; + + "Flash(address,address,uint256,uint256,uint256,uint256)": TypedContractEvent< + FlashEvent.InputTuple, + FlashEvent.OutputTuple, + FlashEvent.OutputObject + >; + Flash: TypedContractEvent< + FlashEvent.InputTuple, + FlashEvent.OutputTuple, + FlashEvent.OutputObject + >; + + "IncreaseObservationCardinalityNext(uint16,uint16)": TypedContractEvent< + IncreaseObservationCardinalityNextEvent.InputTuple, + IncreaseObservationCardinalityNextEvent.OutputTuple, + IncreaseObservationCardinalityNextEvent.OutputObject + >; + IncreaseObservationCardinalityNext: TypedContractEvent< + IncreaseObservationCardinalityNextEvent.InputTuple, + IncreaseObservationCardinalityNextEvent.OutputTuple, + IncreaseObservationCardinalityNextEvent.OutputObject + >; + + "Initialize(uint160,int24)": TypedContractEvent< + InitializeEvent.InputTuple, + InitializeEvent.OutputTuple, + InitializeEvent.OutputObject + >; + Initialize: TypedContractEvent< + InitializeEvent.InputTuple, + InitializeEvent.OutputTuple, + InitializeEvent.OutputObject + >; + + "Mint(address,address,int24,int24,uint128,uint256,uint256)": TypedContractEvent< + MintEvent.InputTuple, + MintEvent.OutputTuple, + MintEvent.OutputObject + >; + Mint: TypedContractEvent< + MintEvent.InputTuple, + MintEvent.OutputTuple, + MintEvent.OutputObject + >; + + "SetFeeProtocol(uint8,uint8,uint8,uint8)": TypedContractEvent< + SetFeeProtocolEvent.InputTuple, + SetFeeProtocolEvent.OutputTuple, + SetFeeProtocolEvent.OutputObject + >; + SetFeeProtocol: TypedContractEvent< + SetFeeProtocolEvent.InputTuple, + SetFeeProtocolEvent.OutputTuple, + SetFeeProtocolEvent.OutputObject + >; + + "Swap(address,address,int256,int256,uint160,uint128,int24)": TypedContractEvent< + SwapEvent.InputTuple, + SwapEvent.OutputTuple, + SwapEvent.OutputObject + >; + Swap: TypedContractEvent< + SwapEvent.InputTuple, + SwapEvent.OutputTuple, + SwapEvent.OutputObject + >; + }; +} diff --git a/typechain-types/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.ts b/typechain-types/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.ts new file mode 100644 index 0000000..7b618dd --- /dev/null +++ b/typechain-types/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.ts @@ -0,0 +1,139 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BytesLike, + FunctionFragment, + Result, + Interface, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../../../../common"; + +export interface IUniswapV3PoolImmutablesInterface extends Interface { + getFunction( + nameOrSignature: + | "factory" + | "fee" + | "maxLiquidityPerTick" + | "tickSpacing" + | "token0" + | "token1" + ): FunctionFragment; + + encodeFunctionData(functionFragment: "factory", values?: undefined): string; + encodeFunctionData(functionFragment: "fee", values?: undefined): string; + encodeFunctionData( + functionFragment: "maxLiquidityPerTick", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "tickSpacing", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "token0", values?: undefined): string; + encodeFunctionData(functionFragment: "token1", values?: undefined): string; + + decodeFunctionResult(functionFragment: "factory", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "fee", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "maxLiquidityPerTick", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "tickSpacing", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "token0", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "token1", data: BytesLike): Result; +} + +export interface IUniswapV3PoolImmutables extends BaseContract { + connect(runner?: ContractRunner | null): IUniswapV3PoolImmutables; + waitForDeployment(): Promise; + + interface: IUniswapV3PoolImmutablesInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + factory: TypedContractMethod<[], [string], "view">; + + fee: TypedContractMethod<[], [bigint], "view">; + + maxLiquidityPerTick: TypedContractMethod<[], [bigint], "view">; + + tickSpacing: TypedContractMethod<[], [bigint], "view">; + + token0: TypedContractMethod<[], [string], "view">; + + token1: TypedContractMethod<[], [string], "view">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "factory" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "fee" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "maxLiquidityPerTick" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "tickSpacing" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "token0" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "token1" + ): TypedContractMethod<[], [string], "view">; + + filters: {}; +} diff --git a/typechain-types/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.ts b/typechain-types/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.ts new file mode 100644 index 0000000..54f6817 --- /dev/null +++ b/typechain-types/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.ts @@ -0,0 +1,131 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../../../../common"; + +export interface IUniswapV3PoolOwnerActionsInterface extends Interface { + getFunction( + nameOrSignature: "collectProtocol" | "setFeeProtocol" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "collectProtocol", + values: [AddressLike, BigNumberish, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setFeeProtocol", + values: [BigNumberish, BigNumberish] + ): string; + + decodeFunctionResult( + functionFragment: "collectProtocol", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setFeeProtocol", + data: BytesLike + ): Result; +} + +export interface IUniswapV3PoolOwnerActions extends BaseContract { + connect(runner?: ContractRunner | null): IUniswapV3PoolOwnerActions; + waitForDeployment(): Promise; + + interface: IUniswapV3PoolOwnerActionsInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + collectProtocol: TypedContractMethod< + [ + recipient: AddressLike, + amount0Requested: BigNumberish, + amount1Requested: BigNumberish + ], + [[bigint, bigint] & { amount0: bigint; amount1: bigint }], + "nonpayable" + >; + + setFeeProtocol: TypedContractMethod< + [feeProtocol0: BigNumberish, feeProtocol1: BigNumberish], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "collectProtocol" + ): TypedContractMethod< + [ + recipient: AddressLike, + amount0Requested: BigNumberish, + amount1Requested: BigNumberish + ], + [[bigint, bigint] & { amount0: bigint; amount1: bigint }], + "nonpayable" + >; + getFunction( + nameOrSignature: "setFeeProtocol" + ): TypedContractMethod< + [feeProtocol0: BigNumberish, feeProtocol1: BigNumberish], + [void], + "nonpayable" + >; + + filters: {}; +} diff --git a/typechain-types/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.ts b/typechain-types/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.ts new file mode 100644 index 0000000..fea44ff --- /dev/null +++ b/typechain-types/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.ts @@ -0,0 +1,298 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../../../../common"; + +export interface IUniswapV3PoolStateInterface extends Interface { + getFunction( + nameOrSignature: + | "feeGrowthGlobal0X128" + | "feeGrowthGlobal1X128" + | "liquidity" + | "observations" + | "positions" + | "protocolFees" + | "slot0" + | "tickBitmap" + | "ticks" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "feeGrowthGlobal0X128", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "feeGrowthGlobal1X128", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "liquidity", values?: undefined): string; + encodeFunctionData( + functionFragment: "observations", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "positions", + values: [BytesLike] + ): string; + encodeFunctionData( + functionFragment: "protocolFees", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "slot0", values?: undefined): string; + encodeFunctionData( + functionFragment: "tickBitmap", + values: [BigNumberish] + ): string; + encodeFunctionData(functionFragment: "ticks", values: [BigNumberish]): string; + + decodeFunctionResult( + functionFragment: "feeGrowthGlobal0X128", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "feeGrowthGlobal1X128", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "liquidity", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "observations", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "positions", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "protocolFees", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "slot0", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "tickBitmap", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "ticks", data: BytesLike): Result; +} + +export interface IUniswapV3PoolState extends BaseContract { + connect(runner?: ContractRunner | null): IUniswapV3PoolState; + waitForDeployment(): Promise; + + interface: IUniswapV3PoolStateInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + feeGrowthGlobal0X128: TypedContractMethod<[], [bigint], "view">; + + feeGrowthGlobal1X128: TypedContractMethod<[], [bigint], "view">; + + liquidity: TypedContractMethod<[], [bigint], "view">; + + observations: TypedContractMethod< + [index: BigNumberish], + [ + [bigint, bigint, bigint, boolean] & { + blockTimestamp: bigint; + tickCumulative: bigint; + secondsPerLiquidityCumulativeX128: bigint; + initialized: boolean; + } + ], + "view" + >; + + positions: TypedContractMethod< + [key: BytesLike], + [ + [bigint, bigint, bigint, bigint, bigint] & { + _liquidity: bigint; + feeGrowthInside0LastX128: bigint; + feeGrowthInside1LastX128: bigint; + tokensOwed0: bigint; + tokensOwed1: bigint; + } + ], + "view" + >; + + protocolFees: TypedContractMethod< + [], + [[bigint, bigint] & { token0: bigint; token1: bigint }], + "view" + >; + + slot0: TypedContractMethod< + [], + [ + [bigint, bigint, bigint, bigint, bigint, bigint, boolean] & { + sqrtPriceX96: bigint; + tick: bigint; + observationIndex: bigint; + observationCardinality: bigint; + observationCardinalityNext: bigint; + feeProtocol: bigint; + unlocked: boolean; + } + ], + "view" + >; + + tickBitmap: TypedContractMethod< + [wordPosition: BigNumberish], + [bigint], + "view" + >; + + ticks: TypedContractMethod< + [tick: BigNumberish], + [ + [bigint, bigint, bigint, bigint, bigint, bigint, bigint, boolean] & { + liquidityGross: bigint; + liquidityNet: bigint; + feeGrowthOutside0X128: bigint; + feeGrowthOutside1X128: bigint; + tickCumulativeOutside: bigint; + secondsPerLiquidityOutsideX128: bigint; + secondsOutside: bigint; + initialized: boolean; + } + ], + "view" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "feeGrowthGlobal0X128" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "feeGrowthGlobal1X128" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "liquidity" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "observations" + ): TypedContractMethod< + [index: BigNumberish], + [ + [bigint, bigint, bigint, boolean] & { + blockTimestamp: bigint; + tickCumulative: bigint; + secondsPerLiquidityCumulativeX128: bigint; + initialized: boolean; + } + ], + "view" + >; + getFunction( + nameOrSignature: "positions" + ): TypedContractMethod< + [key: BytesLike], + [ + [bigint, bigint, bigint, bigint, bigint] & { + _liquidity: bigint; + feeGrowthInside0LastX128: bigint; + feeGrowthInside1LastX128: bigint; + tokensOwed0: bigint; + tokensOwed1: bigint; + } + ], + "view" + >; + getFunction( + nameOrSignature: "protocolFees" + ): TypedContractMethod< + [], + [[bigint, bigint] & { token0: bigint; token1: bigint }], + "view" + >; + getFunction( + nameOrSignature: "slot0" + ): TypedContractMethod< + [], + [ + [bigint, bigint, bigint, bigint, bigint, bigint, boolean] & { + sqrtPriceX96: bigint; + tick: bigint; + observationIndex: bigint; + observationCardinality: bigint; + observationCardinalityNext: bigint; + feeProtocol: bigint; + unlocked: boolean; + } + ], + "view" + >; + getFunction( + nameOrSignature: "tickBitmap" + ): TypedContractMethod<[wordPosition: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "ticks" + ): TypedContractMethod< + [tick: BigNumberish], + [ + [bigint, bigint, bigint, bigint, bigint, bigint, bigint, boolean] & { + liquidityGross: bigint; + liquidityNet: bigint; + feeGrowthOutside0X128: bigint; + feeGrowthOutside1X128: bigint; + tickCumulativeOutside: bigint; + secondsPerLiquidityOutsideX128: bigint; + secondsOutside: bigint; + initialized: boolean; + } + ], + "view" + >; + + filters: {}; +} diff --git a/typechain-types/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/index.ts b/typechain-types/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/index.ts new file mode 100644 index 0000000..459d8ec --- /dev/null +++ b/typechain-types/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/index.ts @@ -0,0 +1,9 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { IUniswapV3PoolActions } from "./IUniswapV3PoolActions"; +export type { IUniswapV3PoolDerivedState } from "./IUniswapV3PoolDerivedState"; +export type { IUniswapV3PoolEvents } from "./IUniswapV3PoolEvents"; +export type { IUniswapV3PoolImmutables } from "./IUniswapV3PoolImmutables"; +export type { IUniswapV3PoolOwnerActions } from "./IUniswapV3PoolOwnerActions"; +export type { IUniswapV3PoolState } from "./IUniswapV3PoolState"; diff --git a/typechain-types/contracts/Governance/Uniswap/v3-core/index.ts b/typechain-types/contracts/Governance/Uniswap/v3-core/index.ts new file mode 100644 index 0000000..a11e4ca --- /dev/null +++ b/typechain-types/contracts/Governance/Uniswap/v3-core/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as contracts from "./contracts"; +export type { contracts }; diff --git a/typechain-types/contracts/Governance/index.ts b/typechain-types/contracts/Governance/index.ts new file mode 100644 index 0000000..1681ccb --- /dev/null +++ b/typechain-types/contracts/Governance/index.ts @@ -0,0 +1,39 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as aggregator from "./Aggregator"; +export type { aggregator }; +import type * as deployerSol from "./Deployer.sol"; +export type { deployerSol }; +import type * as instanceRegistrySol from "./InstanceRegistry.sol"; +export type { instanceRegistrySol }; +import type * as relayerRegistrySol from "./RelayerRegistry.sol"; +export type { relayerRegistrySol }; +import type * as torn from "./TORN"; +export type { torn }; +import type * as testnet from "./Testnet"; +export type { testnet }; +import type * as tornadoStakingRewardsSol from "./TornadoStakingRewards.sol"; +export type { tornadoStakingRewardsSol }; +import type * as uniswap from "./Uniswap"; +export type { uniswap }; +import type * as interfaces from "./interfaces"; +export type { interfaces }; +import type * as libraries from "./libraries"; +export type { libraries }; +import type * as v1 from "./v1"; +export type { v1 }; +import type * as v2VaultAndGas from "./v2-vault-and-gas"; +export type { v2VaultAndGas }; +import type * as v3RelayerRegistry from "./v3-relayer-registry"; +export type { v3RelayerRegistry }; +import type * as v4ExploitPatch from "./v4-exploit-patch"; +export type { v4ExploitPatch }; +import type * as v5ProposalStatePatch from "./v5-proposal-state-patch"; +export type { v5ProposalStatePatch }; +export type { AdminUpgradeableProxy } from "./AdminUpgradeableProxy"; +export type { FeeManager } from "./FeeManager"; +export type { GasCompensationVault } from "./GasCompensationVault"; +export type { LoopbackProxy } from "./LoopbackProxy"; +export type { TornadoRouter } from "./TornadoRouter"; +export type { TornadoVault } from "./TornadoVault"; diff --git a/typechain-types/contracts/Governance/interfaces/ITornadoInstance.ts b/typechain-types/contracts/Governance/interfaces/ITornadoInstance.ts new file mode 100644 index 0000000..37afa36 --- /dev/null +++ b/typechain-types/contracts/Governance/interfaces/ITornadoInstance.ts @@ -0,0 +1,150 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../common"; + +export interface ITornadoInstanceInterface extends Interface { + getFunction( + nameOrSignature: "denomination" | "deposit" | "token" | "withdraw" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "denomination", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "deposit", values: [BytesLike]): string; + encodeFunctionData(functionFragment: "token", values?: undefined): string; + encodeFunctionData( + functionFragment: "withdraw", + values: [ + BytesLike, + BytesLike, + BytesLike, + AddressLike, + AddressLike, + BigNumberish, + BigNumberish + ] + ): string; + + decodeFunctionResult( + functionFragment: "denomination", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "token", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; +} + +export interface ITornadoInstance extends BaseContract { + connect(runner?: ContractRunner | null): ITornadoInstance; + waitForDeployment(): Promise; + + interface: ITornadoInstanceInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + denomination: TypedContractMethod<[], [bigint], "view">; + + deposit: TypedContractMethod<[commitment: BytesLike], [void], "payable">; + + token: TypedContractMethod<[], [string], "view">; + + withdraw: TypedContractMethod< + [ + proof: BytesLike, + root: BytesLike, + nullifierHash: BytesLike, + recipient: AddressLike, + relayer: AddressLike, + fee: BigNumberish, + refund: BigNumberish + ], + [void], + "payable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "denomination" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "deposit" + ): TypedContractMethod<[commitment: BytesLike], [void], "payable">; + getFunction( + nameOrSignature: "token" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "withdraw" + ): TypedContractMethod< + [ + proof: BytesLike, + root: BytesLike, + nullifierHash: BytesLike, + recipient: AddressLike, + relayer: AddressLike, + fee: BigNumberish, + refund: BigNumberish + ], + [void], + "payable" + >; + + filters: {}; +} diff --git a/typechain-types/contracts/Governance/interfaces/index.ts b/typechain-types/contracts/Governance/interfaces/index.ts new file mode 100644 index 0000000..286a1e5 --- /dev/null +++ b/typechain-types/contracts/Governance/interfaces/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { ITornadoInstance } from "./ITornadoInstance"; diff --git a/typechain-types/contracts/Governance/libraries/UniswapV3OracleHelper.sol/IERC20Decimals.ts b/typechain-types/contracts/Governance/libraries/UniswapV3OracleHelper.sol/IERC20Decimals.ts new file mode 100644 index 0000000..6548d48 --- /dev/null +++ b/typechain-types/contracts/Governance/libraries/UniswapV3OracleHelper.sol/IERC20Decimals.ts @@ -0,0 +1,84 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BytesLike, + FunctionFragment, + Result, + Interface, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../common"; + +export interface IERC20DecimalsInterface extends Interface { + getFunction(nameOrSignature: "decimals"): FunctionFragment; + + encodeFunctionData(functionFragment: "decimals", values?: undefined): string; + + decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; +} + +export interface IERC20Decimals extends BaseContract { + connect(runner?: ContractRunner | null): IERC20Decimals; + waitForDeployment(): Promise; + + interface: IERC20DecimalsInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + decimals: TypedContractMethod<[], [bigint], "view">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "decimals" + ): TypedContractMethod<[], [bigint], "view">; + + filters: {}; +} diff --git a/typechain-types/contracts/Governance/libraries/UniswapV3OracleHelper.sol/index.ts b/typechain-types/contracts/Governance/libraries/UniswapV3OracleHelper.sol/index.ts new file mode 100644 index 0000000..03a3a12 --- /dev/null +++ b/typechain-types/contracts/Governance/libraries/UniswapV3OracleHelper.sol/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { IERC20Decimals } from "./IERC20Decimals"; diff --git a/typechain-types/contracts/Governance/libraries/index.ts b/typechain-types/contracts/Governance/libraries/index.ts new file mode 100644 index 0000000..cc36623 --- /dev/null +++ b/typechain-types/contracts/Governance/libraries/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as uniswapV3OracleHelperSol from "./UniswapV3OracleHelper.sol"; +export type { uniswapV3OracleHelperSol }; diff --git a/typechain-types/contracts/Governance/v1/Configuration.ts b/typechain-types/contracts/Governance/v1/Configuration.ts new file mode 100644 index 0000000..34205b5 --- /dev/null +++ b/typechain-types/contracts/Governance/v1/Configuration.ts @@ -0,0 +1,344 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../common"; + +export interface ConfigurationInterface extends Interface { + getFunction( + nameOrSignature: + | "CLOSING_PERIOD" + | "EXECUTION_DELAY" + | "EXECUTION_EXPIRATION" + | "PROPOSAL_THRESHOLD" + | "QUORUM_VOTES" + | "VOTE_EXTEND_TIME" + | "VOTING_DELAY" + | "VOTING_PERIOD" + | "setClosingPeriod" + | "setExecutionDelay" + | "setExecutionExpiration" + | "setProposalThreshold" + | "setQuorumVotes" + | "setVoteExtendTime" + | "setVotingDelay" + | "setVotingPeriod" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "CLOSING_PERIOD", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "EXECUTION_DELAY", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "EXECUTION_EXPIRATION", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "PROPOSAL_THRESHOLD", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "QUORUM_VOTES", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "VOTE_EXTEND_TIME", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "VOTING_DELAY", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "VOTING_PERIOD", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "setClosingPeriod", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setExecutionDelay", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setExecutionExpiration", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setProposalThreshold", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setQuorumVotes", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setVoteExtendTime", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setVotingDelay", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setVotingPeriod", + values: [BigNumberish] + ): string; + + decodeFunctionResult( + functionFragment: "CLOSING_PERIOD", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "EXECUTION_DELAY", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "EXECUTION_EXPIRATION", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "PROPOSAL_THRESHOLD", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "QUORUM_VOTES", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "VOTE_EXTEND_TIME", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "VOTING_DELAY", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "VOTING_PERIOD", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setClosingPeriod", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setExecutionDelay", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setExecutionExpiration", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setProposalThreshold", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setQuorumVotes", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setVoteExtendTime", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setVotingDelay", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setVotingPeriod", + data: BytesLike + ): Result; +} + +export interface Configuration extends BaseContract { + connect(runner?: ContractRunner | null): Configuration; + waitForDeployment(): Promise; + + interface: ConfigurationInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + CLOSING_PERIOD: TypedContractMethod<[], [bigint], "view">; + + EXECUTION_DELAY: TypedContractMethod<[], [bigint], "view">; + + EXECUTION_EXPIRATION: TypedContractMethod<[], [bigint], "view">; + + PROPOSAL_THRESHOLD: TypedContractMethod<[], [bigint], "view">; + + QUORUM_VOTES: TypedContractMethod<[], [bigint], "view">; + + VOTE_EXTEND_TIME: TypedContractMethod<[], [bigint], "view">; + + VOTING_DELAY: TypedContractMethod<[], [bigint], "view">; + + VOTING_PERIOD: TypedContractMethod<[], [bigint], "view">; + + setClosingPeriod: TypedContractMethod< + [closingPeriod: BigNumberish], + [void], + "nonpayable" + >; + + setExecutionDelay: TypedContractMethod< + [executionDelay: BigNumberish], + [void], + "nonpayable" + >; + + setExecutionExpiration: TypedContractMethod< + [executionExpiration: BigNumberish], + [void], + "nonpayable" + >; + + setProposalThreshold: TypedContractMethod< + [proposalThreshold: BigNumberish], + [void], + "nonpayable" + >; + + setQuorumVotes: TypedContractMethod< + [quorumVotes: BigNumberish], + [void], + "nonpayable" + >; + + setVoteExtendTime: TypedContractMethod< + [voteExtendTime: BigNumberish], + [void], + "nonpayable" + >; + + setVotingDelay: TypedContractMethod< + [votingDelay: BigNumberish], + [void], + "nonpayable" + >; + + setVotingPeriod: TypedContractMethod< + [votingPeriod: BigNumberish], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "CLOSING_PERIOD" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "EXECUTION_DELAY" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "EXECUTION_EXPIRATION" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "PROPOSAL_THRESHOLD" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "QUORUM_VOTES" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "VOTE_EXTEND_TIME" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "VOTING_DELAY" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "VOTING_PERIOD" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "setClosingPeriod" + ): TypedContractMethod<[closingPeriod: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "setExecutionDelay" + ): TypedContractMethod<[executionDelay: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "setExecutionExpiration" + ): TypedContractMethod< + [executionExpiration: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setProposalThreshold" + ): TypedContractMethod< + [proposalThreshold: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setQuorumVotes" + ): TypedContractMethod<[quorumVotes: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "setVoteExtendTime" + ): TypedContractMethod<[voteExtendTime: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "setVotingDelay" + ): TypedContractMethod<[votingDelay: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "setVotingPeriod" + ): TypedContractMethod<[votingPeriod: BigNumberish], [void], "nonpayable">; + + filters: {}; +} diff --git a/typechain-types/contracts/Governance/v1/Core.ts b/typechain-types/contracts/Governance/v1/Core.ts new file mode 100644 index 0000000..39852f1 --- /dev/null +++ b/typechain-types/contracts/Governance/v1/Core.ts @@ -0,0 +1,91 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../common"; + +export interface CoreInterface extends Interface { + getFunction(nameOrSignature: "lockedBalance"): FunctionFragment; + + encodeFunctionData( + functionFragment: "lockedBalance", + values: [AddressLike] + ): string; + + decodeFunctionResult( + functionFragment: "lockedBalance", + data: BytesLike + ): Result; +} + +export interface Core extends BaseContract { + connect(runner?: ContractRunner | null): Core; + waitForDeployment(): Promise; + + interface: CoreInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + lockedBalance: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "lockedBalance" + ): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + + filters: {}; +} diff --git a/typechain-types/contracts/Governance/v1/Delegation.ts b/typechain-types/contracts/Governance/v1/Delegation.ts new file mode 100644 index 0000000..8902a28 --- /dev/null +++ b/typechain-types/contracts/Governance/v1/Delegation.ts @@ -0,0 +1,242 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../common"; + +export interface DelegationInterface extends Interface { + getFunction( + nameOrSignature: + | "castDelegatedVote" + | "delegate" + | "delegatedTo" + | "lockedBalance" + | "proposeByDelegate" + | "undelegate" + ): FunctionFragment; + + getEvent(nameOrSignatureOrTopic: "Delegated" | "Undelegated"): EventFragment; + + encodeFunctionData( + functionFragment: "castDelegatedVote", + values: [AddressLike[], BigNumberish, boolean] + ): string; + encodeFunctionData( + functionFragment: "delegate", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "delegatedTo", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "lockedBalance", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "proposeByDelegate", + values: [AddressLike, AddressLike, string] + ): string; + encodeFunctionData( + functionFragment: "undelegate", + values?: undefined + ): string; + + decodeFunctionResult( + functionFragment: "castDelegatedVote", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "delegate", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "delegatedTo", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "lockedBalance", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "proposeByDelegate", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "undelegate", data: BytesLike): Result; +} + +export namespace DelegatedEvent { + export type InputTuple = [account: AddressLike, to: AddressLike]; + export type OutputTuple = [account: string, to: string]; + export interface OutputObject { + account: string; + to: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace UndelegatedEvent { + export type InputTuple = [account: AddressLike, from: AddressLike]; + export type OutputTuple = [account: string, from: string]; + export interface OutputObject { + account: string; + from: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface Delegation extends BaseContract { + connect(runner?: ContractRunner | null): Delegation; + waitForDeployment(): Promise; + + interface: DelegationInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + castDelegatedVote: TypedContractMethod< + [from: AddressLike[], proposalId: BigNumberish, support: boolean], + [void], + "nonpayable" + >; + + delegate: TypedContractMethod<[to: AddressLike], [void], "nonpayable">; + + delegatedTo: TypedContractMethod<[arg0: AddressLike], [string], "view">; + + lockedBalance: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + + proposeByDelegate: TypedContractMethod< + [from: AddressLike, target: AddressLike, description: string], + [bigint], + "nonpayable" + >; + + undelegate: TypedContractMethod<[], [void], "nonpayable">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "castDelegatedVote" + ): TypedContractMethod< + [from: AddressLike[], proposalId: BigNumberish, support: boolean], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "delegate" + ): TypedContractMethod<[to: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "delegatedTo" + ): TypedContractMethod<[arg0: AddressLike], [string], "view">; + getFunction( + nameOrSignature: "lockedBalance" + ): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "proposeByDelegate" + ): TypedContractMethod< + [from: AddressLike, target: AddressLike, description: string], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "undelegate" + ): TypedContractMethod<[], [void], "nonpayable">; + + getEvent( + key: "Delegated" + ): TypedContractEvent< + DelegatedEvent.InputTuple, + DelegatedEvent.OutputTuple, + DelegatedEvent.OutputObject + >; + getEvent( + key: "Undelegated" + ): TypedContractEvent< + UndelegatedEvent.InputTuple, + UndelegatedEvent.OutputTuple, + UndelegatedEvent.OutputObject + >; + + filters: { + "Delegated(address,address)": TypedContractEvent< + DelegatedEvent.InputTuple, + DelegatedEvent.OutputTuple, + DelegatedEvent.OutputObject + >; + Delegated: TypedContractEvent< + DelegatedEvent.InputTuple, + DelegatedEvent.OutputTuple, + DelegatedEvent.OutputObject + >; + + "Undelegated(address,address)": TypedContractEvent< + UndelegatedEvent.InputTuple, + UndelegatedEvent.OutputTuple, + UndelegatedEvent.OutputObject + >; + Undelegated: TypedContractEvent< + UndelegatedEvent.InputTuple, + UndelegatedEvent.OutputTuple, + UndelegatedEvent.OutputObject + >; + }; +} diff --git a/typechain-types/contracts/Governance/v1/Governance.ts b/typechain-types/contracts/Governance/v1/Governance.ts new file mode 100644 index 0000000..b52cacb --- /dev/null +++ b/typechain-types/contracts/Governance/v1/Governance.ts @@ -0,0 +1,896 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../common"; + +export declare namespace Governance { + export type ReceiptStruct = { + hasVoted: boolean; + support: boolean; + votes: BigNumberish; + }; + + export type ReceiptStructOutput = [ + hasVoted: boolean, + support: boolean, + votes: bigint + ] & { hasVoted: boolean; support: boolean; votes: bigint }; +} + +export interface GovernanceInterface extends Interface { + getFunction( + nameOrSignature: + | "CLOSING_PERIOD" + | "EXECUTION_DELAY" + | "EXECUTION_EXPIRATION" + | "PROPOSAL_THRESHOLD" + | "QUORUM_VOTES" + | "VOTE_EXTEND_TIME" + | "VOTING_DELAY" + | "VOTING_PERIOD" + | "canWithdrawAfter" + | "castDelegatedVote" + | "castVote" + | "delegate" + | "delegatedTo" + | "execute" + | "getReceipt" + | "initialize" + | "latestProposalIds" + | "lock" + | "lockWithApproval" + | "lockedBalance" + | "proposalCount" + | "proposals" + | "propose" + | "proposeByDelegate" + | "setClosingPeriod" + | "setExecutionDelay" + | "setExecutionExpiration" + | "setProposalThreshold" + | "setQuorumVotes" + | "setVoteExtendTime" + | "setVotingDelay" + | "setVotingPeriod" + | "state" + | "torn" + | "undelegate" + | "unlock" + ): FunctionFragment; + + getEvent( + nameOrSignatureOrTopic: + | "Delegated" + | "ProposalCreated" + | "ProposalExecuted" + | "Undelegated" + | "Voted" + ): EventFragment; + + encodeFunctionData( + functionFragment: "CLOSING_PERIOD", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "EXECUTION_DELAY", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "EXECUTION_EXPIRATION", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "PROPOSAL_THRESHOLD", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "QUORUM_VOTES", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "VOTE_EXTEND_TIME", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "VOTING_DELAY", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "VOTING_PERIOD", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "canWithdrawAfter", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "castDelegatedVote", + values: [AddressLike[], BigNumberish, boolean] + ): string; + encodeFunctionData( + functionFragment: "castVote", + values: [BigNumberish, boolean] + ): string; + encodeFunctionData( + functionFragment: "delegate", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "delegatedTo", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "execute", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "getReceipt", + values: [BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "initialize", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "latestProposalIds", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "lock", + values: [ + AddressLike, + BigNumberish, + BigNumberish, + BigNumberish, + BytesLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "lockWithApproval", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "lockedBalance", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "proposalCount", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "proposals", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "propose", + values: [AddressLike, string] + ): string; + encodeFunctionData( + functionFragment: "proposeByDelegate", + values: [AddressLike, AddressLike, string] + ): string; + encodeFunctionData( + functionFragment: "setClosingPeriod", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setExecutionDelay", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setExecutionExpiration", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setProposalThreshold", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setQuorumVotes", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setVoteExtendTime", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setVotingDelay", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setVotingPeriod", + values: [BigNumberish] + ): string; + encodeFunctionData(functionFragment: "state", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "torn", values?: undefined): string; + encodeFunctionData( + functionFragment: "undelegate", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "unlock", + values: [BigNumberish] + ): string; + + decodeFunctionResult( + functionFragment: "CLOSING_PERIOD", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "EXECUTION_DELAY", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "EXECUTION_EXPIRATION", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "PROPOSAL_THRESHOLD", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "QUORUM_VOTES", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "VOTE_EXTEND_TIME", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "VOTING_DELAY", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "VOTING_PERIOD", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "canWithdrawAfter", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "castDelegatedVote", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "castVote", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "delegate", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "delegatedTo", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "execute", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "getReceipt", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "latestProposalIds", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "lock", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "lockWithApproval", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "lockedBalance", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "proposalCount", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "proposals", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "propose", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "proposeByDelegate", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setClosingPeriod", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setExecutionDelay", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setExecutionExpiration", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setProposalThreshold", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setQuorumVotes", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setVoteExtendTime", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setVotingDelay", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setVotingPeriod", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "state", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "torn", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "undelegate", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "unlock", data: BytesLike): Result; +} + +export namespace DelegatedEvent { + export type InputTuple = [account: AddressLike, to: AddressLike]; + export type OutputTuple = [account: string, to: string]; + export interface OutputObject { + account: string; + to: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace ProposalCreatedEvent { + export type InputTuple = [ + id: BigNumberish, + proposer: AddressLike, + target: AddressLike, + startTime: BigNumberish, + endTime: BigNumberish, + description: string + ]; + export type OutputTuple = [ + id: bigint, + proposer: string, + target: string, + startTime: bigint, + endTime: bigint, + description: string + ]; + export interface OutputObject { + id: bigint; + proposer: string; + target: string; + startTime: bigint; + endTime: bigint; + description: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace ProposalExecutedEvent { + export type InputTuple = [proposalId: BigNumberish]; + export type OutputTuple = [proposalId: bigint]; + export interface OutputObject { + proposalId: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace UndelegatedEvent { + export type InputTuple = [account: AddressLike, from: AddressLike]; + export type OutputTuple = [account: string, from: string]; + export interface OutputObject { + account: string; + from: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace VotedEvent { + export type InputTuple = [ + proposalId: BigNumberish, + voter: AddressLike, + support: boolean, + votes: BigNumberish + ]; + export type OutputTuple = [ + proposalId: bigint, + voter: string, + support: boolean, + votes: bigint + ]; + export interface OutputObject { + proposalId: bigint; + voter: string; + support: boolean; + votes: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface Governance extends BaseContract { + connect(runner?: ContractRunner | null): Governance; + waitForDeployment(): Promise; + + interface: GovernanceInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + CLOSING_PERIOD: TypedContractMethod<[], [bigint], "view">; + + EXECUTION_DELAY: TypedContractMethod<[], [bigint], "view">; + + EXECUTION_EXPIRATION: TypedContractMethod<[], [bigint], "view">; + + PROPOSAL_THRESHOLD: TypedContractMethod<[], [bigint], "view">; + + QUORUM_VOTES: TypedContractMethod<[], [bigint], "view">; + + VOTE_EXTEND_TIME: TypedContractMethod<[], [bigint], "view">; + + VOTING_DELAY: TypedContractMethod<[], [bigint], "view">; + + VOTING_PERIOD: TypedContractMethod<[], [bigint], "view">; + + canWithdrawAfter: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + + castDelegatedVote: TypedContractMethod< + [from: AddressLike[], proposalId: BigNumberish, support: boolean], + [void], + "nonpayable" + >; + + castVote: TypedContractMethod< + [proposalId: BigNumberish, support: boolean], + [void], + "nonpayable" + >; + + delegate: TypedContractMethod<[to: AddressLike], [void], "nonpayable">; + + delegatedTo: TypedContractMethod<[arg0: AddressLike], [string], "view">; + + execute: TypedContractMethod<[proposalId: BigNumberish], [void], "payable">; + + getReceipt: TypedContractMethod< + [proposalId: BigNumberish, voter: AddressLike], + [Governance.ReceiptStructOutput], + "view" + >; + + initialize: TypedContractMethod<[_torn: AddressLike], [void], "nonpayable">; + + latestProposalIds: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + + lock: TypedContractMethod< + [ + owner: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], + [void], + "nonpayable" + >; + + lockWithApproval: TypedContractMethod< + [amount: BigNumberish], + [void], + "nonpayable" + >; + + lockedBalance: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + + proposalCount: TypedContractMethod<[], [bigint], "view">; + + proposals: TypedContractMethod< + [arg0: BigNumberish], + [ + [string, string, bigint, bigint, bigint, bigint, boolean, boolean] & { + proposer: string; + target: string; + startTime: bigint; + endTime: bigint; + forVotes: bigint; + againstVotes: bigint; + executed: boolean; + extended: boolean; + } + ], + "view" + >; + + propose: TypedContractMethod< + [target: AddressLike, description: string], + [bigint], + "nonpayable" + >; + + proposeByDelegate: TypedContractMethod< + [from: AddressLike, target: AddressLike, description: string], + [bigint], + "nonpayable" + >; + + setClosingPeriod: TypedContractMethod< + [closingPeriod: BigNumberish], + [void], + "nonpayable" + >; + + setExecutionDelay: TypedContractMethod< + [executionDelay: BigNumberish], + [void], + "nonpayable" + >; + + setExecutionExpiration: TypedContractMethod< + [executionExpiration: BigNumberish], + [void], + "nonpayable" + >; + + setProposalThreshold: TypedContractMethod< + [proposalThreshold: BigNumberish], + [void], + "nonpayable" + >; + + setQuorumVotes: TypedContractMethod< + [quorumVotes: BigNumberish], + [void], + "nonpayable" + >; + + setVoteExtendTime: TypedContractMethod< + [voteExtendTime: BigNumberish], + [void], + "nonpayable" + >; + + setVotingDelay: TypedContractMethod< + [votingDelay: BigNumberish], + [void], + "nonpayable" + >; + + setVotingPeriod: TypedContractMethod< + [votingPeriod: BigNumberish], + [void], + "nonpayable" + >; + + state: TypedContractMethod<[proposalId: BigNumberish], [bigint], "view">; + + torn: TypedContractMethod<[], [string], "view">; + + undelegate: TypedContractMethod<[], [void], "nonpayable">; + + unlock: TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "CLOSING_PERIOD" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "EXECUTION_DELAY" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "EXECUTION_EXPIRATION" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "PROPOSAL_THRESHOLD" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "QUORUM_VOTES" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "VOTE_EXTEND_TIME" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "VOTING_DELAY" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "VOTING_PERIOD" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "canWithdrawAfter" + ): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "castDelegatedVote" + ): TypedContractMethod< + [from: AddressLike[], proposalId: BigNumberish, support: boolean], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "castVote" + ): TypedContractMethod< + [proposalId: BigNumberish, support: boolean], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "delegate" + ): TypedContractMethod<[to: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "delegatedTo" + ): TypedContractMethod<[arg0: AddressLike], [string], "view">; + getFunction( + nameOrSignature: "execute" + ): TypedContractMethod<[proposalId: BigNumberish], [void], "payable">; + getFunction( + nameOrSignature: "getReceipt" + ): TypedContractMethod< + [proposalId: BigNumberish, voter: AddressLike], + [Governance.ReceiptStructOutput], + "view" + >; + getFunction( + nameOrSignature: "initialize" + ): TypedContractMethod<[_torn: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "latestProposalIds" + ): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "lock" + ): TypedContractMethod< + [ + owner: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "lockWithApproval" + ): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "lockedBalance" + ): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "proposalCount" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "proposals" + ): TypedContractMethod< + [arg0: BigNumberish], + [ + [string, string, bigint, bigint, bigint, bigint, boolean, boolean] & { + proposer: string; + target: string; + startTime: bigint; + endTime: bigint; + forVotes: bigint; + againstVotes: bigint; + executed: boolean; + extended: boolean; + } + ], + "view" + >; + getFunction( + nameOrSignature: "propose" + ): TypedContractMethod< + [target: AddressLike, description: string], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "proposeByDelegate" + ): TypedContractMethod< + [from: AddressLike, target: AddressLike, description: string], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "setClosingPeriod" + ): TypedContractMethod<[closingPeriod: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "setExecutionDelay" + ): TypedContractMethod<[executionDelay: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "setExecutionExpiration" + ): TypedContractMethod< + [executionExpiration: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setProposalThreshold" + ): TypedContractMethod< + [proposalThreshold: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setQuorumVotes" + ): TypedContractMethod<[quorumVotes: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "setVoteExtendTime" + ): TypedContractMethod<[voteExtendTime: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "setVotingDelay" + ): TypedContractMethod<[votingDelay: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "setVotingPeriod" + ): TypedContractMethod<[votingPeriod: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "state" + ): TypedContractMethod<[proposalId: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "torn" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "undelegate" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "unlock" + ): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + + getEvent( + key: "Delegated" + ): TypedContractEvent< + DelegatedEvent.InputTuple, + DelegatedEvent.OutputTuple, + DelegatedEvent.OutputObject + >; + getEvent( + key: "ProposalCreated" + ): TypedContractEvent< + ProposalCreatedEvent.InputTuple, + ProposalCreatedEvent.OutputTuple, + ProposalCreatedEvent.OutputObject + >; + getEvent( + key: "ProposalExecuted" + ): TypedContractEvent< + ProposalExecutedEvent.InputTuple, + ProposalExecutedEvent.OutputTuple, + ProposalExecutedEvent.OutputObject + >; + getEvent( + key: "Undelegated" + ): TypedContractEvent< + UndelegatedEvent.InputTuple, + UndelegatedEvent.OutputTuple, + UndelegatedEvent.OutputObject + >; + getEvent( + key: "Voted" + ): TypedContractEvent< + VotedEvent.InputTuple, + VotedEvent.OutputTuple, + VotedEvent.OutputObject + >; + + filters: { + "Delegated(address,address)": TypedContractEvent< + DelegatedEvent.InputTuple, + DelegatedEvent.OutputTuple, + DelegatedEvent.OutputObject + >; + Delegated: TypedContractEvent< + DelegatedEvent.InputTuple, + DelegatedEvent.OutputTuple, + DelegatedEvent.OutputObject + >; + + "ProposalCreated(uint256,address,address,uint256,uint256,string)": TypedContractEvent< + ProposalCreatedEvent.InputTuple, + ProposalCreatedEvent.OutputTuple, + ProposalCreatedEvent.OutputObject + >; + ProposalCreated: TypedContractEvent< + ProposalCreatedEvent.InputTuple, + ProposalCreatedEvent.OutputTuple, + ProposalCreatedEvent.OutputObject + >; + + "ProposalExecuted(uint256)": TypedContractEvent< + ProposalExecutedEvent.InputTuple, + ProposalExecutedEvent.OutputTuple, + ProposalExecutedEvent.OutputObject + >; + ProposalExecuted: TypedContractEvent< + ProposalExecutedEvent.InputTuple, + ProposalExecutedEvent.OutputTuple, + ProposalExecutedEvent.OutputObject + >; + + "Undelegated(address,address)": TypedContractEvent< + UndelegatedEvent.InputTuple, + UndelegatedEvent.OutputTuple, + UndelegatedEvent.OutputObject + >; + Undelegated: TypedContractEvent< + UndelegatedEvent.InputTuple, + UndelegatedEvent.OutputTuple, + UndelegatedEvent.OutputObject + >; + + "Voted(uint256,address,bool,uint256)": TypedContractEvent< + VotedEvent.InputTuple, + VotedEvent.OutputTuple, + VotedEvent.OutputObject + >; + Voted: TypedContractEvent< + VotedEvent.InputTuple, + VotedEvent.OutputTuple, + VotedEvent.OutputObject + >; + }; +} diff --git a/typechain-types/contracts/Governance/v1/Mocks/Dummy.sol/Dummy.ts b/typechain-types/contracts/Governance/v1/Mocks/Dummy.sol/Dummy.ts new file mode 100644 index 0000000..12c35dd --- /dev/null +++ b/typechain-types/contracts/Governance/v1/Mocks/Dummy.sol/Dummy.ts @@ -0,0 +1,103 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BytesLike, + FunctionFragment, + Result, + Interface, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../../common"; + +export interface DummyInterface extends Interface { + getFunction( + nameOrSignature: "initialize" | "text" | "value" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "initialize", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "text", values?: undefined): string; + encodeFunctionData(functionFragment: "value", values?: undefined): string; + + decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "text", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "value", data: BytesLike): Result; +} + +export interface Dummy extends BaseContract { + connect(runner?: ContractRunner | null): Dummy; + waitForDeployment(): Promise; + + interface: DummyInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + initialize: TypedContractMethod<[], [void], "nonpayable">; + + text: TypedContractMethod<[], [string], "view">; + + value: TypedContractMethod<[], [bigint], "view">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "initialize" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "text" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "value" + ): TypedContractMethod<[], [bigint], "view">; + + filters: {}; +} diff --git a/typechain-types/contracts/Governance/v1/Mocks/Dummy.sol/DummySecond.ts b/typechain-types/contracts/Governance/v1/Mocks/Dummy.sol/DummySecond.ts new file mode 100644 index 0000000..38a9c38 --- /dev/null +++ b/typechain-types/contracts/Governance/v1/Mocks/Dummy.sol/DummySecond.ts @@ -0,0 +1,103 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BytesLike, + FunctionFragment, + Result, + Interface, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../../common"; + +export interface DummySecondInterface extends Interface { + getFunction( + nameOrSignature: "initialize" | "text" | "value" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "initialize", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "text", values?: undefined): string; + encodeFunctionData(functionFragment: "value", values?: undefined): string; + + decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "text", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "value", data: BytesLike): Result; +} + +export interface DummySecond extends BaseContract { + connect(runner?: ContractRunner | null): DummySecond; + waitForDeployment(): Promise; + + interface: DummySecondInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + initialize: TypedContractMethod<[], [void], "nonpayable">; + + text: TypedContractMethod<[], [string], "view">; + + value: TypedContractMethod<[], [bigint], "view">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "initialize" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "text" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "value" + ): TypedContractMethod<[], [bigint], "view">; + + filters: {}; +} diff --git a/typechain-types/contracts/Governance/v1/Mocks/Dummy.sol/index.ts b/typechain-types/contracts/Governance/v1/Mocks/Dummy.sol/index.ts new file mode 100644 index 0000000..e0448b8 --- /dev/null +++ b/typechain-types/contracts/Governance/v1/Mocks/Dummy.sol/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { Dummy } from "./Dummy"; +export type { DummySecond } from "./DummySecond"; diff --git a/typechain-types/contracts/Governance/v1/Mocks/MockGovernance.ts b/typechain-types/contracts/Governance/v1/Mocks/MockGovernance.ts new file mode 100644 index 0000000..39da12f --- /dev/null +++ b/typechain-types/contracts/Governance/v1/Mocks/MockGovernance.ts @@ -0,0 +1,933 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../../common"; + +export declare namespace Governance { + export type ReceiptStruct = { + hasVoted: boolean; + support: boolean; + votes: BigNumberish; + }; + + export type ReceiptStructOutput = [ + hasVoted: boolean, + support: boolean, + votes: bigint + ] & { hasVoted: boolean; support: boolean; votes: bigint }; +} + +export interface MockGovernanceInterface extends Interface { + getFunction( + nameOrSignature: + | "CLOSING_PERIOD" + | "EXECUTION_DELAY" + | "EXECUTION_EXPIRATION" + | "PROPOSAL_THRESHOLD" + | "QUORUM_VOTES" + | "VOTE_EXTEND_TIME" + | "VOTING_DELAY" + | "VOTING_PERIOD" + | "canWithdrawAfter" + | "castDelegatedVote" + | "castVote" + | "delegate" + | "delegatedTo" + | "execute" + | "getReceipt" + | "initialize" + | "latestProposalIds" + | "lock" + | "lockWithApproval" + | "lockedBalance" + | "proposalCount" + | "proposals" + | "propose" + | "proposeByDelegate" + | "setClosingPeriod" + | "setExecutionDelay" + | "setExecutionExpiration" + | "setProposalThreshold" + | "setQuorumVotes" + | "setTimestamp" + | "setTorn" + | "setVoteExtendTime" + | "setVotingDelay" + | "setVotingPeriod" + | "state" + | "time" + | "torn" + | "undelegate" + | "unlock" + ): FunctionFragment; + + getEvent( + nameOrSignatureOrTopic: + | "Delegated" + | "ProposalCreated" + | "ProposalExecuted" + | "Undelegated" + | "Voted" + ): EventFragment; + + encodeFunctionData( + functionFragment: "CLOSING_PERIOD", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "EXECUTION_DELAY", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "EXECUTION_EXPIRATION", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "PROPOSAL_THRESHOLD", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "QUORUM_VOTES", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "VOTE_EXTEND_TIME", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "VOTING_DELAY", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "VOTING_PERIOD", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "canWithdrawAfter", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "castDelegatedVote", + values: [AddressLike[], BigNumberish, boolean] + ): string; + encodeFunctionData( + functionFragment: "castVote", + values: [BigNumberish, boolean] + ): string; + encodeFunctionData( + functionFragment: "delegate", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "delegatedTo", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "execute", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "getReceipt", + values: [BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "initialize", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "latestProposalIds", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "lock", + values: [ + AddressLike, + BigNumberish, + BigNumberish, + BigNumberish, + BytesLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "lockWithApproval", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "lockedBalance", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "proposalCount", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "proposals", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "propose", + values: [AddressLike, string] + ): string; + encodeFunctionData( + functionFragment: "proposeByDelegate", + values: [AddressLike, AddressLike, string] + ): string; + encodeFunctionData( + functionFragment: "setClosingPeriod", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setExecutionDelay", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setExecutionExpiration", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setProposalThreshold", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setQuorumVotes", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setTimestamp", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setTorn", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "setVoteExtendTime", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setVotingDelay", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setVotingPeriod", + values: [BigNumberish] + ): string; + encodeFunctionData(functionFragment: "state", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "time", values?: undefined): string; + encodeFunctionData(functionFragment: "torn", values?: undefined): string; + encodeFunctionData( + functionFragment: "undelegate", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "unlock", + values: [BigNumberish] + ): string; + + decodeFunctionResult( + functionFragment: "CLOSING_PERIOD", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "EXECUTION_DELAY", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "EXECUTION_EXPIRATION", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "PROPOSAL_THRESHOLD", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "QUORUM_VOTES", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "VOTE_EXTEND_TIME", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "VOTING_DELAY", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "VOTING_PERIOD", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "canWithdrawAfter", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "castDelegatedVote", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "castVote", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "delegate", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "delegatedTo", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "execute", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "getReceipt", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "latestProposalIds", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "lock", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "lockWithApproval", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "lockedBalance", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "proposalCount", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "proposals", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "propose", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "proposeByDelegate", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setClosingPeriod", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setExecutionDelay", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setExecutionExpiration", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setProposalThreshold", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setQuorumVotes", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setTimestamp", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "setTorn", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setVoteExtendTime", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setVotingDelay", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setVotingPeriod", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "state", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "time", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "torn", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "undelegate", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "unlock", data: BytesLike): Result; +} + +export namespace DelegatedEvent { + export type InputTuple = [account: AddressLike, to: AddressLike]; + export type OutputTuple = [account: string, to: string]; + export interface OutputObject { + account: string; + to: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace ProposalCreatedEvent { + export type InputTuple = [ + id: BigNumberish, + proposer: AddressLike, + target: AddressLike, + startTime: BigNumberish, + endTime: BigNumberish, + description: string + ]; + export type OutputTuple = [ + id: bigint, + proposer: string, + target: string, + startTime: bigint, + endTime: bigint, + description: string + ]; + export interface OutputObject { + id: bigint; + proposer: string; + target: string; + startTime: bigint; + endTime: bigint; + description: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace ProposalExecutedEvent { + export type InputTuple = [proposalId: BigNumberish]; + export type OutputTuple = [proposalId: bigint]; + export interface OutputObject { + proposalId: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace UndelegatedEvent { + export type InputTuple = [account: AddressLike, from: AddressLike]; + export type OutputTuple = [account: string, from: string]; + export interface OutputObject { + account: string; + from: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace VotedEvent { + export type InputTuple = [ + proposalId: BigNumberish, + voter: AddressLike, + support: boolean, + votes: BigNumberish + ]; + export type OutputTuple = [ + proposalId: bigint, + voter: string, + support: boolean, + votes: bigint + ]; + export interface OutputObject { + proposalId: bigint; + voter: string; + support: boolean; + votes: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface MockGovernance extends BaseContract { + connect(runner?: ContractRunner | null): MockGovernance; + waitForDeployment(): Promise; + + interface: MockGovernanceInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + CLOSING_PERIOD: TypedContractMethod<[], [bigint], "view">; + + EXECUTION_DELAY: TypedContractMethod<[], [bigint], "view">; + + EXECUTION_EXPIRATION: TypedContractMethod<[], [bigint], "view">; + + PROPOSAL_THRESHOLD: TypedContractMethod<[], [bigint], "view">; + + QUORUM_VOTES: TypedContractMethod<[], [bigint], "view">; + + VOTE_EXTEND_TIME: TypedContractMethod<[], [bigint], "view">; + + VOTING_DELAY: TypedContractMethod<[], [bigint], "view">; + + VOTING_PERIOD: TypedContractMethod<[], [bigint], "view">; + + canWithdrawAfter: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + + castDelegatedVote: TypedContractMethod< + [from: AddressLike[], proposalId: BigNumberish, support: boolean], + [void], + "nonpayable" + >; + + castVote: TypedContractMethod< + [proposalId: BigNumberish, support: boolean], + [void], + "nonpayable" + >; + + delegate: TypedContractMethod<[to: AddressLike], [void], "nonpayable">; + + delegatedTo: TypedContractMethod<[arg0: AddressLike], [string], "view">; + + execute: TypedContractMethod<[proposalId: BigNumberish], [void], "payable">; + + getReceipt: TypedContractMethod< + [proposalId: BigNumberish, voter: AddressLike], + [Governance.ReceiptStructOutput], + "view" + >; + + initialize: TypedContractMethod<[_torn: AddressLike], [void], "nonpayable">; + + latestProposalIds: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + + lock: TypedContractMethod< + [ + owner: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], + [void], + "nonpayable" + >; + + lockWithApproval: TypedContractMethod< + [amount: BigNumberish], + [void], + "nonpayable" + >; + + lockedBalance: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + + proposalCount: TypedContractMethod<[], [bigint], "view">; + + proposals: TypedContractMethod< + [arg0: BigNumberish], + [ + [string, string, bigint, bigint, bigint, bigint, boolean, boolean] & { + proposer: string; + target: string; + startTime: bigint; + endTime: bigint; + forVotes: bigint; + againstVotes: bigint; + executed: boolean; + extended: boolean; + } + ], + "view" + >; + + propose: TypedContractMethod< + [target: AddressLike, description: string], + [bigint], + "nonpayable" + >; + + proposeByDelegate: TypedContractMethod< + [from: AddressLike, target: AddressLike, description: string], + [bigint], + "nonpayable" + >; + + setClosingPeriod: TypedContractMethod< + [closingPeriod: BigNumberish], + [void], + "nonpayable" + >; + + setExecutionDelay: TypedContractMethod< + [executionDelay: BigNumberish], + [void], + "nonpayable" + >; + + setExecutionExpiration: TypedContractMethod< + [executionExpiration: BigNumberish], + [void], + "nonpayable" + >; + + setProposalThreshold: TypedContractMethod< + [proposalThreshold: BigNumberish], + [void], + "nonpayable" + >; + + setQuorumVotes: TypedContractMethod< + [quorumVotes: BigNumberish], + [void], + "nonpayable" + >; + + setTimestamp: TypedContractMethod< + [time_: BigNumberish], + [void], + "nonpayable" + >; + + setTorn: TypedContractMethod<[torna: AddressLike], [void], "nonpayable">; + + setVoteExtendTime: TypedContractMethod< + [voteExtendTime: BigNumberish], + [void], + "nonpayable" + >; + + setVotingDelay: TypedContractMethod< + [votingDelay: BigNumberish], + [void], + "nonpayable" + >; + + setVotingPeriod: TypedContractMethod< + [votingPeriod: BigNumberish], + [void], + "nonpayable" + >; + + state: TypedContractMethod<[proposalId: BigNumberish], [bigint], "view">; + + time: TypedContractMethod<[], [bigint], "view">; + + torn: TypedContractMethod<[], [string], "view">; + + undelegate: TypedContractMethod<[], [void], "nonpayable">; + + unlock: TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "CLOSING_PERIOD" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "EXECUTION_DELAY" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "EXECUTION_EXPIRATION" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "PROPOSAL_THRESHOLD" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "QUORUM_VOTES" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "VOTE_EXTEND_TIME" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "VOTING_DELAY" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "VOTING_PERIOD" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "canWithdrawAfter" + ): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "castDelegatedVote" + ): TypedContractMethod< + [from: AddressLike[], proposalId: BigNumberish, support: boolean], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "castVote" + ): TypedContractMethod< + [proposalId: BigNumberish, support: boolean], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "delegate" + ): TypedContractMethod<[to: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "delegatedTo" + ): TypedContractMethod<[arg0: AddressLike], [string], "view">; + getFunction( + nameOrSignature: "execute" + ): TypedContractMethod<[proposalId: BigNumberish], [void], "payable">; + getFunction( + nameOrSignature: "getReceipt" + ): TypedContractMethod< + [proposalId: BigNumberish, voter: AddressLike], + [Governance.ReceiptStructOutput], + "view" + >; + getFunction( + nameOrSignature: "initialize" + ): TypedContractMethod<[_torn: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "latestProposalIds" + ): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "lock" + ): TypedContractMethod< + [ + owner: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "lockWithApproval" + ): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "lockedBalance" + ): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "proposalCount" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "proposals" + ): TypedContractMethod< + [arg0: BigNumberish], + [ + [string, string, bigint, bigint, bigint, bigint, boolean, boolean] & { + proposer: string; + target: string; + startTime: bigint; + endTime: bigint; + forVotes: bigint; + againstVotes: bigint; + executed: boolean; + extended: boolean; + } + ], + "view" + >; + getFunction( + nameOrSignature: "propose" + ): TypedContractMethod< + [target: AddressLike, description: string], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "proposeByDelegate" + ): TypedContractMethod< + [from: AddressLike, target: AddressLike, description: string], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "setClosingPeriod" + ): TypedContractMethod<[closingPeriod: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "setExecutionDelay" + ): TypedContractMethod<[executionDelay: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "setExecutionExpiration" + ): TypedContractMethod< + [executionExpiration: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setProposalThreshold" + ): TypedContractMethod< + [proposalThreshold: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setQuorumVotes" + ): TypedContractMethod<[quorumVotes: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "setTimestamp" + ): TypedContractMethod<[time_: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "setTorn" + ): TypedContractMethod<[torna: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "setVoteExtendTime" + ): TypedContractMethod<[voteExtendTime: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "setVotingDelay" + ): TypedContractMethod<[votingDelay: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "setVotingPeriod" + ): TypedContractMethod<[votingPeriod: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "state" + ): TypedContractMethod<[proposalId: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "time" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "torn" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "undelegate" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "unlock" + ): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + + getEvent( + key: "Delegated" + ): TypedContractEvent< + DelegatedEvent.InputTuple, + DelegatedEvent.OutputTuple, + DelegatedEvent.OutputObject + >; + getEvent( + key: "ProposalCreated" + ): TypedContractEvent< + ProposalCreatedEvent.InputTuple, + ProposalCreatedEvent.OutputTuple, + ProposalCreatedEvent.OutputObject + >; + getEvent( + key: "ProposalExecuted" + ): TypedContractEvent< + ProposalExecutedEvent.InputTuple, + ProposalExecutedEvent.OutputTuple, + ProposalExecutedEvent.OutputObject + >; + getEvent( + key: "Undelegated" + ): TypedContractEvent< + UndelegatedEvent.InputTuple, + UndelegatedEvent.OutputTuple, + UndelegatedEvent.OutputObject + >; + getEvent( + key: "Voted" + ): TypedContractEvent< + VotedEvent.InputTuple, + VotedEvent.OutputTuple, + VotedEvent.OutputObject + >; + + filters: { + "Delegated(address,address)": TypedContractEvent< + DelegatedEvent.InputTuple, + DelegatedEvent.OutputTuple, + DelegatedEvent.OutputObject + >; + Delegated: TypedContractEvent< + DelegatedEvent.InputTuple, + DelegatedEvent.OutputTuple, + DelegatedEvent.OutputObject + >; + + "ProposalCreated(uint256,address,address,uint256,uint256,string)": TypedContractEvent< + ProposalCreatedEvent.InputTuple, + ProposalCreatedEvent.OutputTuple, + ProposalCreatedEvent.OutputObject + >; + ProposalCreated: TypedContractEvent< + ProposalCreatedEvent.InputTuple, + ProposalCreatedEvent.OutputTuple, + ProposalCreatedEvent.OutputObject + >; + + "ProposalExecuted(uint256)": TypedContractEvent< + ProposalExecutedEvent.InputTuple, + ProposalExecutedEvent.OutputTuple, + ProposalExecutedEvent.OutputObject + >; + ProposalExecuted: TypedContractEvent< + ProposalExecutedEvent.InputTuple, + ProposalExecutedEvent.OutputTuple, + ProposalExecutedEvent.OutputObject + >; + + "Undelegated(address,address)": TypedContractEvent< + UndelegatedEvent.InputTuple, + UndelegatedEvent.OutputTuple, + UndelegatedEvent.OutputObject + >; + Undelegated: TypedContractEvent< + UndelegatedEvent.InputTuple, + UndelegatedEvent.OutputTuple, + UndelegatedEvent.OutputObject + >; + + "Voted(uint256,address,bool,uint256)": TypedContractEvent< + VotedEvent.InputTuple, + VotedEvent.OutputTuple, + VotedEvent.OutputObject + >; + Voted: TypedContractEvent< + VotedEvent.InputTuple, + VotedEvent.OutputTuple, + VotedEvent.OutputObject + >; + }; +} diff --git a/typechain-types/contracts/Governance/v1/Mocks/Proposal.ts b/typechain-types/contracts/Governance/v1/Mocks/Proposal.ts new file mode 100644 index 0000000..1345ddc --- /dev/null +++ b/typechain-types/contracts/Governance/v1/Mocks/Proposal.ts @@ -0,0 +1,126 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../../common"; + +export interface ProposalInterface extends Interface { + getFunction(nameOrSignature: "executeProposal"): FunctionFragment; + + getEvent(nameOrSignatureOrTopic: "Debug"): EventFragment; + + encodeFunctionData( + functionFragment: "executeProposal", + values?: undefined + ): string; + + decodeFunctionResult( + functionFragment: "executeProposal", + data: BytesLike + ): Result; +} + +export namespace DebugEvent { + export type InputTuple = [output: AddressLike]; + export type OutputTuple = [output: string]; + export interface OutputObject { + output: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface Proposal extends BaseContract { + connect(runner?: ContractRunner | null): Proposal; + waitForDeployment(): Promise; + + interface: ProposalInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + executeProposal: TypedContractMethod<[], [void], "nonpayable">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "executeProposal" + ): TypedContractMethod<[], [void], "nonpayable">; + + getEvent( + key: "Debug" + ): TypedContractEvent< + DebugEvent.InputTuple, + DebugEvent.OutputTuple, + DebugEvent.OutputObject + >; + + filters: { + "Debug(address)": TypedContractEvent< + DebugEvent.InputTuple, + DebugEvent.OutputTuple, + DebugEvent.OutputObject + >; + Debug: TypedContractEvent< + DebugEvent.InputTuple, + DebugEvent.OutputTuple, + DebugEvent.OutputObject + >; + }; +} diff --git a/typechain-types/contracts/Governance/v1/Mocks/ProposalStateChangeGovernance.sol/IGovernance.ts b/typechain-types/contracts/Governance/v1/Mocks/ProposalStateChangeGovernance.sol/IGovernance.ts new file mode 100644 index 0000000..40aa50a --- /dev/null +++ b/typechain-types/contracts/Governance/v1/Mocks/ProposalStateChangeGovernance.sol/IGovernance.ts @@ -0,0 +1,95 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../../common"; + +export interface IGovernanceInterface extends Interface { + getFunction(nameOrSignature: "setExecutionDelay"): FunctionFragment; + + encodeFunctionData( + functionFragment: "setExecutionDelay", + values: [BigNumberish] + ): string; + + decodeFunctionResult( + functionFragment: "setExecutionDelay", + data: BytesLike + ): Result; +} + +export interface IGovernance extends BaseContract { + connect(runner?: ContractRunner | null): IGovernance; + waitForDeployment(): Promise; + + interface: IGovernanceInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + setExecutionDelay: TypedContractMethod< + [delay: BigNumberish], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "setExecutionDelay" + ): TypedContractMethod<[delay: BigNumberish], [void], "nonpayable">; + + filters: {}; +} diff --git a/typechain-types/contracts/Governance/v1/Mocks/ProposalStateChangeGovernance.sol/ProposalStateChangeGovernance.ts b/typechain-types/contracts/Governance/v1/Mocks/ProposalStateChangeGovernance.sol/ProposalStateChangeGovernance.ts new file mode 100644 index 0000000..0d7bee5 --- /dev/null +++ b/typechain-types/contracts/Governance/v1/Mocks/ProposalStateChangeGovernance.sol/ProposalStateChangeGovernance.ts @@ -0,0 +1,90 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BytesLike, + FunctionFragment, + Result, + Interface, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../../common"; + +export interface ProposalStateChangeGovernanceInterface extends Interface { + getFunction(nameOrSignature: "executeProposal"): FunctionFragment; + + encodeFunctionData( + functionFragment: "executeProposal", + values?: undefined + ): string; + + decodeFunctionResult( + functionFragment: "executeProposal", + data: BytesLike + ): Result; +} + +export interface ProposalStateChangeGovernance extends BaseContract { + connect(runner?: ContractRunner | null): ProposalStateChangeGovernance; + waitForDeployment(): Promise; + + interface: ProposalStateChangeGovernanceInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + executeProposal: TypedContractMethod<[], [void], "nonpayable">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "executeProposal" + ): TypedContractMethod<[], [void], "nonpayable">; + + filters: {}; +} diff --git a/typechain-types/contracts/Governance/v1/Mocks/ProposalStateChangeGovernance.sol/index.ts b/typechain-types/contracts/Governance/v1/Mocks/ProposalStateChangeGovernance.sol/index.ts new file mode 100644 index 0000000..a7f08bd --- /dev/null +++ b/typechain-types/contracts/Governance/v1/Mocks/ProposalStateChangeGovernance.sol/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { IGovernance } from "./IGovernance"; +export type { ProposalStateChangeGovernance } from "./ProposalStateChangeGovernance"; diff --git a/typechain-types/contracts/Governance/v1/Mocks/ProposalUpgrade.sol/IProxy.ts b/typechain-types/contracts/Governance/v1/Mocks/ProposalUpgrade.sol/IProxy.ts new file mode 100644 index 0000000..7bfc3b3 --- /dev/null +++ b/typechain-types/contracts/Governance/v1/Mocks/ProposalUpgrade.sol/IProxy.ts @@ -0,0 +1,96 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../../common"; + +export interface IProxyInterface extends Interface { + getFunction(nameOrSignature: "upgradeTo"): FunctionFragment; + + encodeFunctionData( + functionFragment: "upgradeTo", + values: [AddressLike] + ): string; + + decodeFunctionResult(functionFragment: "upgradeTo", data: BytesLike): Result; +} + +export interface IProxy extends BaseContract { + connect(runner?: ContractRunner | null): IProxy; + waitForDeployment(): Promise; + + interface: IProxyInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + upgradeTo: TypedContractMethod< + [newImplementation: AddressLike], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "upgradeTo" + ): TypedContractMethod< + [newImplementation: AddressLike], + [void], + "nonpayable" + >; + + filters: {}; +} diff --git a/typechain-types/contracts/Governance/v1/Mocks/ProposalUpgrade.sol/NewImplementation.ts b/typechain-types/contracts/Governance/v1/Mocks/ProposalUpgrade.sol/NewImplementation.ts new file mode 100644 index 0000000..22c4955 --- /dev/null +++ b/typechain-types/contracts/Governance/v1/Mocks/ProposalUpgrade.sol/NewImplementation.ts @@ -0,0 +1,978 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../../../common"; + +export declare namespace Governance { + export type ReceiptStruct = { + hasVoted: boolean; + support: boolean; + votes: BigNumberish; + }; + + export type ReceiptStructOutput = [ + hasVoted: boolean, + support: boolean, + votes: bigint + ] & { hasVoted: boolean; support: boolean; votes: bigint }; +} + +export interface NewImplementationInterface extends Interface { + getFunction( + nameOrSignature: + | "CLOSING_PERIOD" + | "EXECUTION_DELAY" + | "EXECUTION_EXPIRATION" + | "PROPOSAL_THRESHOLD" + | "QUORUM_VOTES" + | "VOTE_EXTEND_TIME" + | "VOTING_DELAY" + | "VOTING_PERIOD" + | "canWithdrawAfter" + | "castDelegatedVote" + | "castVote" + | "delegate" + | "delegatedTo" + | "execute" + | "getReceipt" + | "initialize" + | "latestProposalIds" + | "lock" + | "lockWithApproval" + | "lockedBalance" + | "newVariable" + | "proposalCount" + | "proposals" + | "propose" + | "proposeByDelegate" + | "setClosingPeriod" + | "setExecutionDelay" + | "setExecutionExpiration" + | "setProposalThreshold" + | "setQuorumVotes" + | "setTimestamp" + | "setTorn" + | "setVoteExtendTime" + | "setVotingDelay" + | "setVotingPeriod" + | "state" + | "time" + | "torn" + | "undelegate" + | "unlock" + ): FunctionFragment; + + getEvent( + nameOrSignatureOrTopic: + | "Delegated" + | "Overriden" + | "ProposalCreated" + | "ProposalExecuted" + | "Undelegated" + | "Voted" + ): EventFragment; + + encodeFunctionData( + functionFragment: "CLOSING_PERIOD", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "EXECUTION_DELAY", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "EXECUTION_EXPIRATION", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "PROPOSAL_THRESHOLD", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "QUORUM_VOTES", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "VOTE_EXTEND_TIME", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "VOTING_DELAY", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "VOTING_PERIOD", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "canWithdrawAfter", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "castDelegatedVote", + values: [AddressLike[], BigNumberish, boolean] + ): string; + encodeFunctionData( + functionFragment: "castVote", + values: [BigNumberish, boolean] + ): string; + encodeFunctionData( + functionFragment: "delegate", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "delegatedTo", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "execute", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "getReceipt", + values: [BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "initialize", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "latestProposalIds", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "lock", + values: [ + AddressLike, + BigNumberish, + BigNumberish, + BigNumberish, + BytesLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "lockWithApproval", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "lockedBalance", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "newVariable", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "proposalCount", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "proposals", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "propose", + values: [AddressLike, string] + ): string; + encodeFunctionData( + functionFragment: "proposeByDelegate", + values: [AddressLike, AddressLike, string] + ): string; + encodeFunctionData( + functionFragment: "setClosingPeriod", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setExecutionDelay", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setExecutionExpiration", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setProposalThreshold", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setQuorumVotes", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setTimestamp", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setTorn", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "setVoteExtendTime", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setVotingDelay", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setVotingPeriod", + values: [BigNumberish] + ): string; + encodeFunctionData(functionFragment: "state", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "time", values?: undefined): string; + encodeFunctionData(functionFragment: "torn", values?: undefined): string; + encodeFunctionData( + functionFragment: "undelegate", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "unlock", + values: [BigNumberish] + ): string; + + decodeFunctionResult( + functionFragment: "CLOSING_PERIOD", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "EXECUTION_DELAY", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "EXECUTION_EXPIRATION", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "PROPOSAL_THRESHOLD", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "QUORUM_VOTES", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "VOTE_EXTEND_TIME", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "VOTING_DELAY", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "VOTING_PERIOD", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "canWithdrawAfter", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "castDelegatedVote", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "castVote", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "delegate", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "delegatedTo", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "execute", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "getReceipt", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "latestProposalIds", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "lock", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "lockWithApproval", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "lockedBalance", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "newVariable", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "proposalCount", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "proposals", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "propose", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "proposeByDelegate", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setClosingPeriod", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setExecutionDelay", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setExecutionExpiration", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setProposalThreshold", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setQuorumVotes", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setTimestamp", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "setTorn", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setVoteExtendTime", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setVotingDelay", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setVotingPeriod", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "state", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "time", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "torn", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "undelegate", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "unlock", data: BytesLike): Result; +} + +export namespace DelegatedEvent { + export type InputTuple = [account: AddressLike, to: AddressLike]; + export type OutputTuple = [account: string, to: string]; + export interface OutputObject { + account: string; + to: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace OverridenEvent { + export type InputTuple = [x: BigNumberish]; + export type OutputTuple = [x: bigint]; + export interface OutputObject { + x: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace ProposalCreatedEvent { + export type InputTuple = [ + id: BigNumberish, + proposer: AddressLike, + target: AddressLike, + startTime: BigNumberish, + endTime: BigNumberish, + description: string + ]; + export type OutputTuple = [ + id: bigint, + proposer: string, + target: string, + startTime: bigint, + endTime: bigint, + description: string + ]; + export interface OutputObject { + id: bigint; + proposer: string; + target: string; + startTime: bigint; + endTime: bigint; + description: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace ProposalExecutedEvent { + export type InputTuple = [proposalId: BigNumberish]; + export type OutputTuple = [proposalId: bigint]; + export interface OutputObject { + proposalId: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace UndelegatedEvent { + export type InputTuple = [account: AddressLike, from: AddressLike]; + export type OutputTuple = [account: string, from: string]; + export interface OutputObject { + account: string; + from: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace VotedEvent { + export type InputTuple = [ + proposalId: BigNumberish, + voter: AddressLike, + support: boolean, + votes: BigNumberish + ]; + export type OutputTuple = [ + proposalId: bigint, + voter: string, + support: boolean, + votes: bigint + ]; + export interface OutputObject { + proposalId: bigint; + voter: string; + support: boolean; + votes: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface NewImplementation extends BaseContract { + connect(runner?: ContractRunner | null): NewImplementation; + waitForDeployment(): Promise; + + interface: NewImplementationInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + CLOSING_PERIOD: TypedContractMethod<[], [bigint], "view">; + + EXECUTION_DELAY: TypedContractMethod<[], [bigint], "view">; + + EXECUTION_EXPIRATION: TypedContractMethod<[], [bigint], "view">; + + PROPOSAL_THRESHOLD: TypedContractMethod<[], [bigint], "view">; + + QUORUM_VOTES: TypedContractMethod<[], [bigint], "view">; + + VOTE_EXTEND_TIME: TypedContractMethod<[], [bigint], "view">; + + VOTING_DELAY: TypedContractMethod<[], [bigint], "view">; + + VOTING_PERIOD: TypedContractMethod<[], [bigint], "view">; + + canWithdrawAfter: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + + castDelegatedVote: TypedContractMethod< + [from: AddressLike[], proposalId: BigNumberish, support: boolean], + [void], + "nonpayable" + >; + + castVote: TypedContractMethod< + [proposalId: BigNumberish, support: boolean], + [void], + "nonpayable" + >; + + delegate: TypedContractMethod<[to: AddressLike], [void], "nonpayable">; + + delegatedTo: TypedContractMethod<[arg0: AddressLike], [string], "view">; + + execute: TypedContractMethod<[proposalId: BigNumberish], [void], "payable">; + + getReceipt: TypedContractMethod< + [proposalId: BigNumberish, voter: AddressLike], + [Governance.ReceiptStructOutput], + "view" + >; + + initialize: TypedContractMethod<[_torn: AddressLike], [void], "nonpayable">; + + latestProposalIds: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + + lock: TypedContractMethod< + [ + owner: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], + [void], + "nonpayable" + >; + + lockWithApproval: TypedContractMethod< + [amount: BigNumberish], + [void], + "nonpayable" + >; + + lockedBalance: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + + newVariable: TypedContractMethod<[], [bigint], "view">; + + proposalCount: TypedContractMethod<[], [bigint], "view">; + + proposals: TypedContractMethod< + [arg0: BigNumberish], + [ + [string, string, bigint, bigint, bigint, bigint, boolean, boolean] & { + proposer: string; + target: string; + startTime: bigint; + endTime: bigint; + forVotes: bigint; + againstVotes: bigint; + executed: boolean; + extended: boolean; + } + ], + "view" + >; + + propose: TypedContractMethod< + [target: AddressLike, description: string], + [bigint], + "nonpayable" + >; + + proposeByDelegate: TypedContractMethod< + [from: AddressLike, target: AddressLike, description: string], + [bigint], + "nonpayable" + >; + + setClosingPeriod: TypedContractMethod< + [closingPeriod: BigNumberish], + [void], + "nonpayable" + >; + + setExecutionDelay: TypedContractMethod< + [executionDelay: BigNumberish], + [void], + "nonpayable" + >; + + setExecutionExpiration: TypedContractMethod< + [executionExpiration: BigNumberish], + [void], + "nonpayable" + >; + + setProposalThreshold: TypedContractMethod< + [proposalThreshold: BigNumberish], + [void], + "nonpayable" + >; + + setQuorumVotes: TypedContractMethod< + [quorumVotes: BigNumberish], + [void], + "nonpayable" + >; + + setTimestamp: TypedContractMethod< + [time_: BigNumberish], + [void], + "nonpayable" + >; + + setTorn: TypedContractMethod<[torna: AddressLike], [void], "nonpayable">; + + setVoteExtendTime: TypedContractMethod< + [voteExtendTime: BigNumberish], + [void], + "nonpayable" + >; + + setVotingDelay: TypedContractMethod< + [votingDelay: BigNumberish], + [void], + "nonpayable" + >; + + setVotingPeriod: TypedContractMethod< + [votingPeriod: BigNumberish], + [void], + "nonpayable" + >; + + state: TypedContractMethod<[proposalId: BigNumberish], [bigint], "view">; + + time: TypedContractMethod<[], [bigint], "view">; + + torn: TypedContractMethod<[], [string], "view">; + + undelegate: TypedContractMethod<[], [void], "nonpayable">; + + unlock: TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "CLOSING_PERIOD" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "EXECUTION_DELAY" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "EXECUTION_EXPIRATION" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "PROPOSAL_THRESHOLD" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "QUORUM_VOTES" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "VOTE_EXTEND_TIME" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "VOTING_DELAY" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "VOTING_PERIOD" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "canWithdrawAfter" + ): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "castDelegatedVote" + ): TypedContractMethod< + [from: AddressLike[], proposalId: BigNumberish, support: boolean], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "castVote" + ): TypedContractMethod< + [proposalId: BigNumberish, support: boolean], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "delegate" + ): TypedContractMethod<[to: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "delegatedTo" + ): TypedContractMethod<[arg0: AddressLike], [string], "view">; + getFunction( + nameOrSignature: "execute" + ): TypedContractMethod<[proposalId: BigNumberish], [void], "payable">; + getFunction( + nameOrSignature: "getReceipt" + ): TypedContractMethod< + [proposalId: BigNumberish, voter: AddressLike], + [Governance.ReceiptStructOutput], + "view" + >; + getFunction( + nameOrSignature: "initialize" + ): TypedContractMethod<[_torn: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "latestProposalIds" + ): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "lock" + ): TypedContractMethod< + [ + owner: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "lockWithApproval" + ): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "lockedBalance" + ): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "newVariable" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "proposalCount" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "proposals" + ): TypedContractMethod< + [arg0: BigNumberish], + [ + [string, string, bigint, bigint, bigint, bigint, boolean, boolean] & { + proposer: string; + target: string; + startTime: bigint; + endTime: bigint; + forVotes: bigint; + againstVotes: bigint; + executed: boolean; + extended: boolean; + } + ], + "view" + >; + getFunction( + nameOrSignature: "propose" + ): TypedContractMethod< + [target: AddressLike, description: string], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "proposeByDelegate" + ): TypedContractMethod< + [from: AddressLike, target: AddressLike, description: string], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "setClosingPeriod" + ): TypedContractMethod<[closingPeriod: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "setExecutionDelay" + ): TypedContractMethod<[executionDelay: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "setExecutionExpiration" + ): TypedContractMethod< + [executionExpiration: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setProposalThreshold" + ): TypedContractMethod< + [proposalThreshold: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setQuorumVotes" + ): TypedContractMethod<[quorumVotes: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "setTimestamp" + ): TypedContractMethod<[time_: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "setTorn" + ): TypedContractMethod<[torna: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "setVoteExtendTime" + ): TypedContractMethod<[voteExtendTime: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "setVotingDelay" + ): TypedContractMethod<[votingDelay: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "setVotingPeriod" + ): TypedContractMethod<[votingPeriod: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "state" + ): TypedContractMethod<[proposalId: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "time" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "torn" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "undelegate" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "unlock" + ): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + + getEvent( + key: "Delegated" + ): TypedContractEvent< + DelegatedEvent.InputTuple, + DelegatedEvent.OutputTuple, + DelegatedEvent.OutputObject + >; + getEvent( + key: "Overriden" + ): TypedContractEvent< + OverridenEvent.InputTuple, + OverridenEvent.OutputTuple, + OverridenEvent.OutputObject + >; + getEvent( + key: "ProposalCreated" + ): TypedContractEvent< + ProposalCreatedEvent.InputTuple, + ProposalCreatedEvent.OutputTuple, + ProposalCreatedEvent.OutputObject + >; + getEvent( + key: "ProposalExecuted" + ): TypedContractEvent< + ProposalExecutedEvent.InputTuple, + ProposalExecutedEvent.OutputTuple, + ProposalExecutedEvent.OutputObject + >; + getEvent( + key: "Undelegated" + ): TypedContractEvent< + UndelegatedEvent.InputTuple, + UndelegatedEvent.OutputTuple, + UndelegatedEvent.OutputObject + >; + getEvent( + key: "Voted" + ): TypedContractEvent< + VotedEvent.InputTuple, + VotedEvent.OutputTuple, + VotedEvent.OutputObject + >; + + filters: { + "Delegated(address,address)": TypedContractEvent< + DelegatedEvent.InputTuple, + DelegatedEvent.OutputTuple, + DelegatedEvent.OutputObject + >; + Delegated: TypedContractEvent< + DelegatedEvent.InputTuple, + DelegatedEvent.OutputTuple, + DelegatedEvent.OutputObject + >; + + "Overriden(uint256)": TypedContractEvent< + OverridenEvent.InputTuple, + OverridenEvent.OutputTuple, + OverridenEvent.OutputObject + >; + Overriden: TypedContractEvent< + OverridenEvent.InputTuple, + OverridenEvent.OutputTuple, + OverridenEvent.OutputObject + >; + + "ProposalCreated(uint256,address,address,uint256,uint256,string)": TypedContractEvent< + ProposalCreatedEvent.InputTuple, + ProposalCreatedEvent.OutputTuple, + ProposalCreatedEvent.OutputObject + >; + ProposalCreated: TypedContractEvent< + ProposalCreatedEvent.InputTuple, + ProposalCreatedEvent.OutputTuple, + ProposalCreatedEvent.OutputObject + >; + + "ProposalExecuted(uint256)": TypedContractEvent< + ProposalExecutedEvent.InputTuple, + ProposalExecutedEvent.OutputTuple, + ProposalExecutedEvent.OutputObject + >; + ProposalExecuted: TypedContractEvent< + ProposalExecutedEvent.InputTuple, + ProposalExecutedEvent.OutputTuple, + ProposalExecutedEvent.OutputObject + >; + + "Undelegated(address,address)": TypedContractEvent< + UndelegatedEvent.InputTuple, + UndelegatedEvent.OutputTuple, + UndelegatedEvent.OutputObject + >; + Undelegated: TypedContractEvent< + UndelegatedEvent.InputTuple, + UndelegatedEvent.OutputTuple, + UndelegatedEvent.OutputObject + >; + + "Voted(uint256,address,bool,uint256)": TypedContractEvent< + VotedEvent.InputTuple, + VotedEvent.OutputTuple, + VotedEvent.OutputObject + >; + Voted: TypedContractEvent< + VotedEvent.InputTuple, + VotedEvent.OutputTuple, + VotedEvent.OutputObject + >; + }; +} diff --git a/typechain-types/contracts/Governance/v1/Mocks/ProposalUpgrade.sol/ProposalUpgrade.ts b/typechain-types/contracts/Governance/v1/Mocks/ProposalUpgrade.sol/ProposalUpgrade.ts new file mode 100644 index 0000000..93fe754 --- /dev/null +++ b/typechain-types/contracts/Governance/v1/Mocks/ProposalUpgrade.sol/ProposalUpgrade.ts @@ -0,0 +1,99 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BytesLike, + FunctionFragment, + Result, + Interface, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../../common"; + +export interface ProposalUpgradeInterface extends Interface { + getFunction( + nameOrSignature: "executeProposal" | "newLogic" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "executeProposal", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "newLogic", values?: undefined): string; + + decodeFunctionResult( + functionFragment: "executeProposal", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "newLogic", data: BytesLike): Result; +} + +export interface ProposalUpgrade extends BaseContract { + connect(runner?: ContractRunner | null): ProposalUpgrade; + waitForDeployment(): Promise; + + interface: ProposalUpgradeInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + executeProposal: TypedContractMethod<[], [void], "nonpayable">; + + newLogic: TypedContractMethod<[], [string], "view">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "executeProposal" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "newLogic" + ): TypedContractMethod<[], [string], "view">; + + filters: {}; +} diff --git a/typechain-types/contracts/Governance/v1/Mocks/ProposalUpgrade.sol/index.ts b/typechain-types/contracts/Governance/v1/Mocks/ProposalUpgrade.sol/index.ts new file mode 100644 index 0000000..a58c731 --- /dev/null +++ b/typechain-types/contracts/Governance/v1/Mocks/ProposalUpgrade.sol/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { IProxy } from "./IProxy"; +export type { NewImplementation } from "./NewImplementation"; +export type { ProposalUpgrade } from "./ProposalUpgrade"; diff --git a/typechain-types/contracts/Governance/v1/Mocks/index.ts b/typechain-types/contracts/Governance/v1/Mocks/index.ts new file mode 100644 index 0000000..1003536 --- /dev/null +++ b/typechain-types/contracts/Governance/v1/Mocks/index.ts @@ -0,0 +1,11 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as dummySol from "./Dummy.sol"; +export type { dummySol }; +import type * as proposalStateChangeGovernanceSol from "./ProposalStateChangeGovernance.sol"; +export type { proposalStateChangeGovernanceSol }; +import type * as proposalUpgradeSol from "./ProposalUpgrade.sol"; +export type { proposalUpgradeSol }; +export type { MockGovernance } from "./MockGovernance"; +export type { Proposal } from "./Proposal"; diff --git a/typechain-types/contracts/Governance/v1/index.ts b/typechain-types/contracts/Governance/v1/index.ts new file mode 100644 index 0000000..f182c20 --- /dev/null +++ b/typechain-types/contracts/Governance/v1/index.ts @@ -0,0 +1,9 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as mocks from "./Mocks"; +export type { mocks }; +export type { Configuration } from "./Configuration"; +export type { Core } from "./Core"; +export type { Delegation } from "./Delegation"; +export type { Governance } from "./Governance"; diff --git a/typechain-types/contracts/Governance/v2-vault-and-gas/GasCompensator.sol/GasCompensator.ts b/typechain-types/contracts/Governance/v2-vault-and-gas/GasCompensator.sol/GasCompensator.ts new file mode 100644 index 0000000..e114bf8 --- /dev/null +++ b/typechain-types/contracts/Governance/v2-vault-and-gas/GasCompensator.sol/GasCompensator.ts @@ -0,0 +1,134 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../common"; + +export interface GasCompensatorInterface extends Interface { + getFunction( + nameOrSignature: + | "gasCompensationVault" + | "setGasCompensations" + | "withdrawFromHelper" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "gasCompensationVault", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "setGasCompensations", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "withdrawFromHelper", + values: [BigNumberish] + ): string; + + decodeFunctionResult( + functionFragment: "gasCompensationVault", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setGasCompensations", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "withdrawFromHelper", + data: BytesLike + ): Result; +} + +export interface GasCompensator extends BaseContract { + connect(runner?: ContractRunner | null): GasCompensator; + waitForDeployment(): Promise; + + interface: GasCompensatorInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + gasCompensationVault: TypedContractMethod<[], [string], "view">; + + setGasCompensations: TypedContractMethod< + [_gasCompensationsLimit: BigNumberish], + [void], + "nonpayable" + >; + + withdrawFromHelper: TypedContractMethod< + [amount: BigNumberish], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "gasCompensationVault" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "setGasCompensations" + ): TypedContractMethod< + [_gasCompensationsLimit: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "withdrawFromHelper" + ): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + + filters: {}; +} diff --git a/typechain-types/contracts/Governance/v2-vault-and-gas/GasCompensator.sol/IGasCompensationVault.ts b/typechain-types/contracts/Governance/v2-vault-and-gas/GasCompensator.sol/IGasCompensationVault.ts new file mode 100644 index 0000000..0b6930d --- /dev/null +++ b/typechain-types/contracts/Governance/v2-vault-and-gas/GasCompensator.sol/IGasCompensationVault.ts @@ -0,0 +1,119 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../common"; + +export interface IGasCompensationVaultInterface extends Interface { + getFunction( + nameOrSignature: "compensateGas" | "withdrawToGovernance" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "compensateGas", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "withdrawToGovernance", + values: [BigNumberish] + ): string; + + decodeFunctionResult( + functionFragment: "compensateGas", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "withdrawToGovernance", + data: BytesLike + ): Result; +} + +export interface IGasCompensationVault extends BaseContract { + connect(runner?: ContractRunner | null): IGasCompensationVault; + waitForDeployment(): Promise; + + interface: IGasCompensationVaultInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + compensateGas: TypedContractMethod< + [recipient: AddressLike, gasAmount: BigNumberish], + [void], + "nonpayable" + >; + + withdrawToGovernance: TypedContractMethod< + [amount: BigNumberish], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "compensateGas" + ): TypedContractMethod< + [recipient: AddressLike, gasAmount: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "withdrawToGovernance" + ): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + + filters: {}; +} diff --git a/typechain-types/contracts/Governance/v2-vault-and-gas/GasCompensator.sol/index.ts b/typechain-types/contracts/Governance/v2-vault-and-gas/GasCompensator.sol/index.ts new file mode 100644 index 0000000..7e974c5 --- /dev/null +++ b/typechain-types/contracts/Governance/v2-vault-and-gas/GasCompensator.sol/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { GasCompensator } from "./GasCompensator"; +export type { IGasCompensationVault } from "./IGasCompensationVault"; diff --git a/typechain-types/contracts/Governance/v2-vault-and-gas/GovernanceGasUpgrade.ts b/typechain-types/contracts/Governance/v2-vault-and-gas/GovernanceGasUpgrade.ts new file mode 100644 index 0000000..16413a6 --- /dev/null +++ b/typechain-types/contracts/Governance/v2-vault-and-gas/GovernanceGasUpgrade.ts @@ -0,0 +1,1020 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../common"; + +export declare namespace Governance { + export type ReceiptStruct = { + hasVoted: boolean; + support: boolean; + votes: BigNumberish; + }; + + export type ReceiptStructOutput = [ + hasVoted: boolean, + support: boolean, + votes: bigint + ] & { hasVoted: boolean; support: boolean; votes: bigint }; +} + +export interface GovernanceGasUpgradeInterface extends Interface { + getFunction( + nameOrSignature: + | "CLOSING_PERIOD" + | "EXECUTION_DELAY" + | "EXECUTION_EXPIRATION" + | "PROPOSAL_THRESHOLD" + | "QUORUM_VOTES" + | "VOTE_EXTEND_TIME" + | "VOTING_DELAY" + | "VOTING_PERIOD" + | "canWithdrawAfter" + | "castDelegatedVote" + | "castVote" + | "checkIfQuorumReached" + | "delegate" + | "delegatedTo" + | "execute" + | "gasCompensationVault" + | "getReceipt" + | "hasAccountVoted" + | "initialize" + | "latestProposalIds" + | "lock" + | "lockWithApproval" + | "lockedBalance" + | "proposalCount" + | "proposals" + | "propose" + | "proposeByDelegate" + | "returnMultisigAddress" + | "setClosingPeriod" + | "setExecutionDelay" + | "setExecutionExpiration" + | "setGasCompensations" + | "setProposalThreshold" + | "setQuorumVotes" + | "setVoteExtendTime" + | "setVotingDelay" + | "setVotingPeriod" + | "state" + | "torn" + | "undelegate" + | "unlock" + | "userVault" + | "version" + | "withdrawFromHelper" + ): FunctionFragment; + + getEvent( + nameOrSignatureOrTopic: + | "Delegated" + | "ProposalCreated" + | "ProposalExecuted" + | "Undelegated" + | "Voted" + ): EventFragment; + + encodeFunctionData( + functionFragment: "CLOSING_PERIOD", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "EXECUTION_DELAY", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "EXECUTION_EXPIRATION", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "PROPOSAL_THRESHOLD", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "QUORUM_VOTES", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "VOTE_EXTEND_TIME", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "VOTING_DELAY", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "VOTING_PERIOD", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "canWithdrawAfter", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "castDelegatedVote", + values: [AddressLike[], BigNumberish, boolean] + ): string; + encodeFunctionData( + functionFragment: "castVote", + values: [BigNumberish, boolean] + ): string; + encodeFunctionData( + functionFragment: "checkIfQuorumReached", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "delegate", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "delegatedTo", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "execute", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "gasCompensationVault", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getReceipt", + values: [BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "hasAccountVoted", + values: [BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "initialize", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "latestProposalIds", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "lock", + values: [ + AddressLike, + BigNumberish, + BigNumberish, + BigNumberish, + BytesLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "lockWithApproval", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "lockedBalance", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "proposalCount", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "proposals", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "propose", + values: [AddressLike, string] + ): string; + encodeFunctionData( + functionFragment: "proposeByDelegate", + values: [AddressLike, AddressLike, string] + ): string; + encodeFunctionData( + functionFragment: "returnMultisigAddress", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "setClosingPeriod", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setExecutionDelay", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setExecutionExpiration", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setGasCompensations", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setProposalThreshold", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setQuorumVotes", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setVoteExtendTime", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setVotingDelay", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setVotingPeriod", + values: [BigNumberish] + ): string; + encodeFunctionData(functionFragment: "state", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "torn", values?: undefined): string; + encodeFunctionData( + functionFragment: "undelegate", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "unlock", + values: [BigNumberish] + ): string; + encodeFunctionData(functionFragment: "userVault", values?: undefined): string; + encodeFunctionData(functionFragment: "version", values?: undefined): string; + encodeFunctionData( + functionFragment: "withdrawFromHelper", + values: [BigNumberish] + ): string; + + decodeFunctionResult( + functionFragment: "CLOSING_PERIOD", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "EXECUTION_DELAY", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "EXECUTION_EXPIRATION", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "PROPOSAL_THRESHOLD", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "QUORUM_VOTES", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "VOTE_EXTEND_TIME", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "VOTING_DELAY", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "VOTING_PERIOD", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "canWithdrawAfter", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "castDelegatedVote", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "castVote", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "checkIfQuorumReached", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "delegate", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "delegatedTo", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "execute", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "gasCompensationVault", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "getReceipt", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "hasAccountVoted", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "latestProposalIds", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "lock", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "lockWithApproval", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "lockedBalance", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "proposalCount", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "proposals", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "propose", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "proposeByDelegate", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "returnMultisigAddress", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setClosingPeriod", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setExecutionDelay", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setExecutionExpiration", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setGasCompensations", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setProposalThreshold", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setQuorumVotes", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setVoteExtendTime", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setVotingDelay", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setVotingPeriod", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "state", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "torn", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "undelegate", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "unlock", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "userVault", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "version", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "withdrawFromHelper", + data: BytesLike + ): Result; +} + +export namespace DelegatedEvent { + export type InputTuple = [account: AddressLike, to: AddressLike]; + export type OutputTuple = [account: string, to: string]; + export interface OutputObject { + account: string; + to: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace ProposalCreatedEvent { + export type InputTuple = [ + id: BigNumberish, + proposer: AddressLike, + target: AddressLike, + startTime: BigNumberish, + endTime: BigNumberish, + description: string + ]; + export type OutputTuple = [ + id: bigint, + proposer: string, + target: string, + startTime: bigint, + endTime: bigint, + description: string + ]; + export interface OutputObject { + id: bigint; + proposer: string; + target: string; + startTime: bigint; + endTime: bigint; + description: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace ProposalExecutedEvent { + export type InputTuple = [proposalId: BigNumberish]; + export type OutputTuple = [proposalId: bigint]; + export interface OutputObject { + proposalId: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace UndelegatedEvent { + export type InputTuple = [account: AddressLike, from: AddressLike]; + export type OutputTuple = [account: string, from: string]; + export interface OutputObject { + account: string; + from: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace VotedEvent { + export type InputTuple = [ + proposalId: BigNumberish, + voter: AddressLike, + support: boolean, + votes: BigNumberish + ]; + export type OutputTuple = [ + proposalId: bigint, + voter: string, + support: boolean, + votes: bigint + ]; + export interface OutputObject { + proposalId: bigint; + voter: string; + support: boolean; + votes: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface GovernanceGasUpgrade extends BaseContract { + connect(runner?: ContractRunner | null): GovernanceGasUpgrade; + waitForDeployment(): Promise; + + interface: GovernanceGasUpgradeInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + CLOSING_PERIOD: TypedContractMethod<[], [bigint], "view">; + + EXECUTION_DELAY: TypedContractMethod<[], [bigint], "view">; + + EXECUTION_EXPIRATION: TypedContractMethod<[], [bigint], "view">; + + PROPOSAL_THRESHOLD: TypedContractMethod<[], [bigint], "view">; + + QUORUM_VOTES: TypedContractMethod<[], [bigint], "view">; + + VOTE_EXTEND_TIME: TypedContractMethod<[], [bigint], "view">; + + VOTING_DELAY: TypedContractMethod<[], [bigint], "view">; + + VOTING_PERIOD: TypedContractMethod<[], [bigint], "view">; + + canWithdrawAfter: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + + castDelegatedVote: TypedContractMethod< + [from: AddressLike[], proposalId: BigNumberish, support: boolean], + [void], + "nonpayable" + >; + + castVote: TypedContractMethod< + [proposalId: BigNumberish, support: boolean], + [void], + "nonpayable" + >; + + checkIfQuorumReached: TypedContractMethod< + [proposalId: BigNumberish], + [boolean], + "view" + >; + + delegate: TypedContractMethod<[to: AddressLike], [void], "nonpayable">; + + delegatedTo: TypedContractMethod<[arg0: AddressLike], [string], "view">; + + execute: TypedContractMethod<[proposalId: BigNumberish], [void], "payable">; + + gasCompensationVault: TypedContractMethod<[], [string], "view">; + + getReceipt: TypedContractMethod< + [proposalId: BigNumberish, voter: AddressLike], + [Governance.ReceiptStructOutput], + "view" + >; + + hasAccountVoted: TypedContractMethod< + [proposalId: BigNumberish, account: AddressLike], + [boolean], + "view" + >; + + initialize: TypedContractMethod<[_torn: AddressLike], [void], "nonpayable">; + + latestProposalIds: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + + lock: TypedContractMethod< + [ + owner: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], + [void], + "nonpayable" + >; + + lockWithApproval: TypedContractMethod< + [amount: BigNumberish], + [void], + "nonpayable" + >; + + lockedBalance: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + + proposalCount: TypedContractMethod<[], [bigint], "view">; + + proposals: TypedContractMethod< + [arg0: BigNumberish], + [ + [string, string, bigint, bigint, bigint, bigint, boolean, boolean] & { + proposer: string; + target: string; + startTime: bigint; + endTime: bigint; + forVotes: bigint; + againstVotes: bigint; + executed: boolean; + extended: boolean; + } + ], + "view" + >; + + propose: TypedContractMethod< + [target: AddressLike, description: string], + [bigint], + "nonpayable" + >; + + proposeByDelegate: TypedContractMethod< + [from: AddressLike, target: AddressLike, description: string], + [bigint], + "nonpayable" + >; + + returnMultisigAddress: TypedContractMethod<[], [string], "view">; + + setClosingPeriod: TypedContractMethod< + [closingPeriod: BigNumberish], + [void], + "nonpayable" + >; + + setExecutionDelay: TypedContractMethod< + [executionDelay: BigNumberish], + [void], + "nonpayable" + >; + + setExecutionExpiration: TypedContractMethod< + [executionExpiration: BigNumberish], + [void], + "nonpayable" + >; + + setGasCompensations: TypedContractMethod< + [gasCompensationsLimit: BigNumberish], + [void], + "nonpayable" + >; + + setProposalThreshold: TypedContractMethod< + [proposalThreshold: BigNumberish], + [void], + "nonpayable" + >; + + setQuorumVotes: TypedContractMethod< + [quorumVotes: BigNumberish], + [void], + "nonpayable" + >; + + setVoteExtendTime: TypedContractMethod< + [voteExtendTime: BigNumberish], + [void], + "nonpayable" + >; + + setVotingDelay: TypedContractMethod< + [votingDelay: BigNumberish], + [void], + "nonpayable" + >; + + setVotingPeriod: TypedContractMethod< + [votingPeriod: BigNumberish], + [void], + "nonpayable" + >; + + state: TypedContractMethod<[proposalId: BigNumberish], [bigint], "view">; + + torn: TypedContractMethod<[], [string], "view">; + + undelegate: TypedContractMethod<[], [void], "nonpayable">; + + unlock: TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + + userVault: TypedContractMethod<[], [string], "view">; + + version: TypedContractMethod<[], [string], "view">; + + withdrawFromHelper: TypedContractMethod< + [amount: BigNumberish], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "CLOSING_PERIOD" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "EXECUTION_DELAY" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "EXECUTION_EXPIRATION" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "PROPOSAL_THRESHOLD" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "QUORUM_VOTES" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "VOTE_EXTEND_TIME" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "VOTING_DELAY" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "VOTING_PERIOD" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "canWithdrawAfter" + ): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "castDelegatedVote" + ): TypedContractMethod< + [from: AddressLike[], proposalId: BigNumberish, support: boolean], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "castVote" + ): TypedContractMethod< + [proposalId: BigNumberish, support: boolean], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "checkIfQuorumReached" + ): TypedContractMethod<[proposalId: BigNumberish], [boolean], "view">; + getFunction( + nameOrSignature: "delegate" + ): TypedContractMethod<[to: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "delegatedTo" + ): TypedContractMethod<[arg0: AddressLike], [string], "view">; + getFunction( + nameOrSignature: "execute" + ): TypedContractMethod<[proposalId: BigNumberish], [void], "payable">; + getFunction( + nameOrSignature: "gasCompensationVault" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "getReceipt" + ): TypedContractMethod< + [proposalId: BigNumberish, voter: AddressLike], + [Governance.ReceiptStructOutput], + "view" + >; + getFunction( + nameOrSignature: "hasAccountVoted" + ): TypedContractMethod< + [proposalId: BigNumberish, account: AddressLike], + [boolean], + "view" + >; + getFunction( + nameOrSignature: "initialize" + ): TypedContractMethod<[_torn: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "latestProposalIds" + ): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "lock" + ): TypedContractMethod< + [ + owner: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "lockWithApproval" + ): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "lockedBalance" + ): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "proposalCount" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "proposals" + ): TypedContractMethod< + [arg0: BigNumberish], + [ + [string, string, bigint, bigint, bigint, bigint, boolean, boolean] & { + proposer: string; + target: string; + startTime: bigint; + endTime: bigint; + forVotes: bigint; + againstVotes: bigint; + executed: boolean; + extended: boolean; + } + ], + "view" + >; + getFunction( + nameOrSignature: "propose" + ): TypedContractMethod< + [target: AddressLike, description: string], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "proposeByDelegate" + ): TypedContractMethod< + [from: AddressLike, target: AddressLike, description: string], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "returnMultisigAddress" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "setClosingPeriod" + ): TypedContractMethod<[closingPeriod: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "setExecutionDelay" + ): TypedContractMethod<[executionDelay: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "setExecutionExpiration" + ): TypedContractMethod< + [executionExpiration: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setGasCompensations" + ): TypedContractMethod< + [gasCompensationsLimit: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setProposalThreshold" + ): TypedContractMethod< + [proposalThreshold: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setQuorumVotes" + ): TypedContractMethod<[quorumVotes: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "setVoteExtendTime" + ): TypedContractMethod<[voteExtendTime: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "setVotingDelay" + ): TypedContractMethod<[votingDelay: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "setVotingPeriod" + ): TypedContractMethod<[votingPeriod: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "state" + ): TypedContractMethod<[proposalId: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "torn" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "undelegate" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "unlock" + ): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "userVault" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "version" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "withdrawFromHelper" + ): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + + getEvent( + key: "Delegated" + ): TypedContractEvent< + DelegatedEvent.InputTuple, + DelegatedEvent.OutputTuple, + DelegatedEvent.OutputObject + >; + getEvent( + key: "ProposalCreated" + ): TypedContractEvent< + ProposalCreatedEvent.InputTuple, + ProposalCreatedEvent.OutputTuple, + ProposalCreatedEvent.OutputObject + >; + getEvent( + key: "ProposalExecuted" + ): TypedContractEvent< + ProposalExecutedEvent.InputTuple, + ProposalExecutedEvent.OutputTuple, + ProposalExecutedEvent.OutputObject + >; + getEvent( + key: "Undelegated" + ): TypedContractEvent< + UndelegatedEvent.InputTuple, + UndelegatedEvent.OutputTuple, + UndelegatedEvent.OutputObject + >; + getEvent( + key: "Voted" + ): TypedContractEvent< + VotedEvent.InputTuple, + VotedEvent.OutputTuple, + VotedEvent.OutputObject + >; + + filters: { + "Delegated(address,address)": TypedContractEvent< + DelegatedEvent.InputTuple, + DelegatedEvent.OutputTuple, + DelegatedEvent.OutputObject + >; + Delegated: TypedContractEvent< + DelegatedEvent.InputTuple, + DelegatedEvent.OutputTuple, + DelegatedEvent.OutputObject + >; + + "ProposalCreated(uint256,address,address,uint256,uint256,string)": TypedContractEvent< + ProposalCreatedEvent.InputTuple, + ProposalCreatedEvent.OutputTuple, + ProposalCreatedEvent.OutputObject + >; + ProposalCreated: TypedContractEvent< + ProposalCreatedEvent.InputTuple, + ProposalCreatedEvent.OutputTuple, + ProposalCreatedEvent.OutputObject + >; + + "ProposalExecuted(uint256)": TypedContractEvent< + ProposalExecutedEvent.InputTuple, + ProposalExecutedEvent.OutputTuple, + ProposalExecutedEvent.OutputObject + >; + ProposalExecuted: TypedContractEvent< + ProposalExecutedEvent.InputTuple, + ProposalExecutedEvent.OutputTuple, + ProposalExecutedEvent.OutputObject + >; + + "Undelegated(address,address)": TypedContractEvent< + UndelegatedEvent.InputTuple, + UndelegatedEvent.OutputTuple, + UndelegatedEvent.OutputObject + >; + Undelegated: TypedContractEvent< + UndelegatedEvent.InputTuple, + UndelegatedEvent.OutputTuple, + UndelegatedEvent.OutputObject + >; + + "Voted(uint256,address,bool,uint256)": TypedContractEvent< + VotedEvent.InputTuple, + VotedEvent.OutputTuple, + VotedEvent.OutputObject + >; + Voted: TypedContractEvent< + VotedEvent.InputTuple, + VotedEvent.OutputTuple, + VotedEvent.OutputObject + >; + }; +} diff --git a/typechain-types/contracts/Governance/v2-vault-and-gas/GovernanceVaultUpgrade.ts b/typechain-types/contracts/Governance/v2-vault-and-gas/GovernanceVaultUpgrade.ts new file mode 100644 index 0000000..1a4b6aa --- /dev/null +++ b/typechain-types/contracts/Governance/v2-vault-and-gas/GovernanceVaultUpgrade.ts @@ -0,0 +1,912 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../common"; + +export declare namespace Governance { + export type ReceiptStruct = { + hasVoted: boolean; + support: boolean; + votes: BigNumberish; + }; + + export type ReceiptStructOutput = [ + hasVoted: boolean, + support: boolean, + votes: bigint + ] & { hasVoted: boolean; support: boolean; votes: bigint }; +} + +export interface GovernanceVaultUpgradeInterface extends Interface { + getFunction( + nameOrSignature: + | "CLOSING_PERIOD" + | "EXECUTION_DELAY" + | "EXECUTION_EXPIRATION" + | "PROPOSAL_THRESHOLD" + | "QUORUM_VOTES" + | "VOTE_EXTEND_TIME" + | "VOTING_DELAY" + | "VOTING_PERIOD" + | "canWithdrawAfter" + | "castDelegatedVote" + | "castVote" + | "delegate" + | "delegatedTo" + | "execute" + | "getReceipt" + | "initialize" + | "latestProposalIds" + | "lock" + | "lockWithApproval" + | "lockedBalance" + | "proposalCount" + | "proposals" + | "propose" + | "proposeByDelegate" + | "setClosingPeriod" + | "setExecutionDelay" + | "setExecutionExpiration" + | "setProposalThreshold" + | "setQuorumVotes" + | "setVoteExtendTime" + | "setVotingDelay" + | "setVotingPeriod" + | "state" + | "torn" + | "undelegate" + | "unlock" + | "userVault" + | "version" + ): FunctionFragment; + + getEvent( + nameOrSignatureOrTopic: + | "Delegated" + | "ProposalCreated" + | "ProposalExecuted" + | "Undelegated" + | "Voted" + ): EventFragment; + + encodeFunctionData( + functionFragment: "CLOSING_PERIOD", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "EXECUTION_DELAY", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "EXECUTION_EXPIRATION", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "PROPOSAL_THRESHOLD", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "QUORUM_VOTES", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "VOTE_EXTEND_TIME", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "VOTING_DELAY", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "VOTING_PERIOD", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "canWithdrawAfter", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "castDelegatedVote", + values: [AddressLike[], BigNumberish, boolean] + ): string; + encodeFunctionData( + functionFragment: "castVote", + values: [BigNumberish, boolean] + ): string; + encodeFunctionData( + functionFragment: "delegate", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "delegatedTo", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "execute", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "getReceipt", + values: [BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "initialize", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "latestProposalIds", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "lock", + values: [ + AddressLike, + BigNumberish, + BigNumberish, + BigNumberish, + BytesLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "lockWithApproval", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "lockedBalance", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "proposalCount", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "proposals", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "propose", + values: [AddressLike, string] + ): string; + encodeFunctionData( + functionFragment: "proposeByDelegate", + values: [AddressLike, AddressLike, string] + ): string; + encodeFunctionData( + functionFragment: "setClosingPeriod", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setExecutionDelay", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setExecutionExpiration", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setProposalThreshold", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setQuorumVotes", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setVoteExtendTime", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setVotingDelay", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setVotingPeriod", + values: [BigNumberish] + ): string; + encodeFunctionData(functionFragment: "state", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "torn", values?: undefined): string; + encodeFunctionData( + functionFragment: "undelegate", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "unlock", + values: [BigNumberish] + ): string; + encodeFunctionData(functionFragment: "userVault", values?: undefined): string; + encodeFunctionData(functionFragment: "version", values?: undefined): string; + + decodeFunctionResult( + functionFragment: "CLOSING_PERIOD", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "EXECUTION_DELAY", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "EXECUTION_EXPIRATION", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "PROPOSAL_THRESHOLD", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "QUORUM_VOTES", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "VOTE_EXTEND_TIME", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "VOTING_DELAY", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "VOTING_PERIOD", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "canWithdrawAfter", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "castDelegatedVote", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "castVote", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "delegate", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "delegatedTo", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "execute", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "getReceipt", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "latestProposalIds", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "lock", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "lockWithApproval", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "lockedBalance", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "proposalCount", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "proposals", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "propose", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "proposeByDelegate", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setClosingPeriod", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setExecutionDelay", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setExecutionExpiration", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setProposalThreshold", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setQuorumVotes", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setVoteExtendTime", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setVotingDelay", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setVotingPeriod", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "state", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "torn", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "undelegate", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "unlock", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "userVault", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "version", data: BytesLike): Result; +} + +export namespace DelegatedEvent { + export type InputTuple = [account: AddressLike, to: AddressLike]; + export type OutputTuple = [account: string, to: string]; + export interface OutputObject { + account: string; + to: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace ProposalCreatedEvent { + export type InputTuple = [ + id: BigNumberish, + proposer: AddressLike, + target: AddressLike, + startTime: BigNumberish, + endTime: BigNumberish, + description: string + ]; + export type OutputTuple = [ + id: bigint, + proposer: string, + target: string, + startTime: bigint, + endTime: bigint, + description: string + ]; + export interface OutputObject { + id: bigint; + proposer: string; + target: string; + startTime: bigint; + endTime: bigint; + description: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace ProposalExecutedEvent { + export type InputTuple = [proposalId: BigNumberish]; + export type OutputTuple = [proposalId: bigint]; + export interface OutputObject { + proposalId: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace UndelegatedEvent { + export type InputTuple = [account: AddressLike, from: AddressLike]; + export type OutputTuple = [account: string, from: string]; + export interface OutputObject { + account: string; + from: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace VotedEvent { + export type InputTuple = [ + proposalId: BigNumberish, + voter: AddressLike, + support: boolean, + votes: BigNumberish + ]; + export type OutputTuple = [ + proposalId: bigint, + voter: string, + support: boolean, + votes: bigint + ]; + export interface OutputObject { + proposalId: bigint; + voter: string; + support: boolean; + votes: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface GovernanceVaultUpgrade extends BaseContract { + connect(runner?: ContractRunner | null): GovernanceVaultUpgrade; + waitForDeployment(): Promise; + + interface: GovernanceVaultUpgradeInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + CLOSING_PERIOD: TypedContractMethod<[], [bigint], "view">; + + EXECUTION_DELAY: TypedContractMethod<[], [bigint], "view">; + + EXECUTION_EXPIRATION: TypedContractMethod<[], [bigint], "view">; + + PROPOSAL_THRESHOLD: TypedContractMethod<[], [bigint], "view">; + + QUORUM_VOTES: TypedContractMethod<[], [bigint], "view">; + + VOTE_EXTEND_TIME: TypedContractMethod<[], [bigint], "view">; + + VOTING_DELAY: TypedContractMethod<[], [bigint], "view">; + + VOTING_PERIOD: TypedContractMethod<[], [bigint], "view">; + + canWithdrawAfter: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + + castDelegatedVote: TypedContractMethod< + [from: AddressLike[], proposalId: BigNumberish, support: boolean], + [void], + "nonpayable" + >; + + castVote: TypedContractMethod< + [proposalId: BigNumberish, support: boolean], + [void], + "nonpayable" + >; + + delegate: TypedContractMethod<[to: AddressLike], [void], "nonpayable">; + + delegatedTo: TypedContractMethod<[arg0: AddressLike], [string], "view">; + + execute: TypedContractMethod<[proposalId: BigNumberish], [void], "payable">; + + getReceipt: TypedContractMethod< + [proposalId: BigNumberish, voter: AddressLike], + [Governance.ReceiptStructOutput], + "view" + >; + + initialize: TypedContractMethod<[_torn: AddressLike], [void], "nonpayable">; + + latestProposalIds: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + + lock: TypedContractMethod< + [ + owner: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], + [void], + "nonpayable" + >; + + lockWithApproval: TypedContractMethod< + [amount: BigNumberish], + [void], + "nonpayable" + >; + + lockedBalance: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + + proposalCount: TypedContractMethod<[], [bigint], "view">; + + proposals: TypedContractMethod< + [arg0: BigNumberish], + [ + [string, string, bigint, bigint, bigint, bigint, boolean, boolean] & { + proposer: string; + target: string; + startTime: bigint; + endTime: bigint; + forVotes: bigint; + againstVotes: bigint; + executed: boolean; + extended: boolean; + } + ], + "view" + >; + + propose: TypedContractMethod< + [target: AddressLike, description: string], + [bigint], + "nonpayable" + >; + + proposeByDelegate: TypedContractMethod< + [from: AddressLike, target: AddressLike, description: string], + [bigint], + "nonpayable" + >; + + setClosingPeriod: TypedContractMethod< + [closingPeriod: BigNumberish], + [void], + "nonpayable" + >; + + setExecutionDelay: TypedContractMethod< + [executionDelay: BigNumberish], + [void], + "nonpayable" + >; + + setExecutionExpiration: TypedContractMethod< + [executionExpiration: BigNumberish], + [void], + "nonpayable" + >; + + setProposalThreshold: TypedContractMethod< + [proposalThreshold: BigNumberish], + [void], + "nonpayable" + >; + + setQuorumVotes: TypedContractMethod< + [quorumVotes: BigNumberish], + [void], + "nonpayable" + >; + + setVoteExtendTime: TypedContractMethod< + [voteExtendTime: BigNumberish], + [void], + "nonpayable" + >; + + setVotingDelay: TypedContractMethod< + [votingDelay: BigNumberish], + [void], + "nonpayable" + >; + + setVotingPeriod: TypedContractMethod< + [votingPeriod: BigNumberish], + [void], + "nonpayable" + >; + + state: TypedContractMethod<[proposalId: BigNumberish], [bigint], "view">; + + torn: TypedContractMethod<[], [string], "view">; + + undelegate: TypedContractMethod<[], [void], "nonpayable">; + + unlock: TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + + userVault: TypedContractMethod<[], [string], "view">; + + version: TypedContractMethod<[], [string], "view">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "CLOSING_PERIOD" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "EXECUTION_DELAY" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "EXECUTION_EXPIRATION" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "PROPOSAL_THRESHOLD" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "QUORUM_VOTES" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "VOTE_EXTEND_TIME" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "VOTING_DELAY" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "VOTING_PERIOD" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "canWithdrawAfter" + ): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "castDelegatedVote" + ): TypedContractMethod< + [from: AddressLike[], proposalId: BigNumberish, support: boolean], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "castVote" + ): TypedContractMethod< + [proposalId: BigNumberish, support: boolean], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "delegate" + ): TypedContractMethod<[to: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "delegatedTo" + ): TypedContractMethod<[arg0: AddressLike], [string], "view">; + getFunction( + nameOrSignature: "execute" + ): TypedContractMethod<[proposalId: BigNumberish], [void], "payable">; + getFunction( + nameOrSignature: "getReceipt" + ): TypedContractMethod< + [proposalId: BigNumberish, voter: AddressLike], + [Governance.ReceiptStructOutput], + "view" + >; + getFunction( + nameOrSignature: "initialize" + ): TypedContractMethod<[_torn: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "latestProposalIds" + ): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "lock" + ): TypedContractMethod< + [ + owner: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "lockWithApproval" + ): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "lockedBalance" + ): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "proposalCount" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "proposals" + ): TypedContractMethod< + [arg0: BigNumberish], + [ + [string, string, bigint, bigint, bigint, bigint, boolean, boolean] & { + proposer: string; + target: string; + startTime: bigint; + endTime: bigint; + forVotes: bigint; + againstVotes: bigint; + executed: boolean; + extended: boolean; + } + ], + "view" + >; + getFunction( + nameOrSignature: "propose" + ): TypedContractMethod< + [target: AddressLike, description: string], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "proposeByDelegate" + ): TypedContractMethod< + [from: AddressLike, target: AddressLike, description: string], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "setClosingPeriod" + ): TypedContractMethod<[closingPeriod: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "setExecutionDelay" + ): TypedContractMethod<[executionDelay: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "setExecutionExpiration" + ): TypedContractMethod< + [executionExpiration: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setProposalThreshold" + ): TypedContractMethod< + [proposalThreshold: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setQuorumVotes" + ): TypedContractMethod<[quorumVotes: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "setVoteExtendTime" + ): TypedContractMethod<[voteExtendTime: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "setVotingDelay" + ): TypedContractMethod<[votingDelay: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "setVotingPeriod" + ): TypedContractMethod<[votingPeriod: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "state" + ): TypedContractMethod<[proposalId: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "torn" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "undelegate" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "unlock" + ): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "userVault" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "version" + ): TypedContractMethod<[], [string], "view">; + + getEvent( + key: "Delegated" + ): TypedContractEvent< + DelegatedEvent.InputTuple, + DelegatedEvent.OutputTuple, + DelegatedEvent.OutputObject + >; + getEvent( + key: "ProposalCreated" + ): TypedContractEvent< + ProposalCreatedEvent.InputTuple, + ProposalCreatedEvent.OutputTuple, + ProposalCreatedEvent.OutputObject + >; + getEvent( + key: "ProposalExecuted" + ): TypedContractEvent< + ProposalExecutedEvent.InputTuple, + ProposalExecutedEvent.OutputTuple, + ProposalExecutedEvent.OutputObject + >; + getEvent( + key: "Undelegated" + ): TypedContractEvent< + UndelegatedEvent.InputTuple, + UndelegatedEvent.OutputTuple, + UndelegatedEvent.OutputObject + >; + getEvent( + key: "Voted" + ): TypedContractEvent< + VotedEvent.InputTuple, + VotedEvent.OutputTuple, + VotedEvent.OutputObject + >; + + filters: { + "Delegated(address,address)": TypedContractEvent< + DelegatedEvent.InputTuple, + DelegatedEvent.OutputTuple, + DelegatedEvent.OutputObject + >; + Delegated: TypedContractEvent< + DelegatedEvent.InputTuple, + DelegatedEvent.OutputTuple, + DelegatedEvent.OutputObject + >; + + "ProposalCreated(uint256,address,address,uint256,uint256,string)": TypedContractEvent< + ProposalCreatedEvent.InputTuple, + ProposalCreatedEvent.OutputTuple, + ProposalCreatedEvent.OutputObject + >; + ProposalCreated: TypedContractEvent< + ProposalCreatedEvent.InputTuple, + ProposalCreatedEvent.OutputTuple, + ProposalCreatedEvent.OutputObject + >; + + "ProposalExecuted(uint256)": TypedContractEvent< + ProposalExecutedEvent.InputTuple, + ProposalExecutedEvent.OutputTuple, + ProposalExecutedEvent.OutputObject + >; + ProposalExecuted: TypedContractEvent< + ProposalExecutedEvent.InputTuple, + ProposalExecutedEvent.OutputTuple, + ProposalExecutedEvent.OutputObject + >; + + "Undelegated(address,address)": TypedContractEvent< + UndelegatedEvent.InputTuple, + UndelegatedEvent.OutputTuple, + UndelegatedEvent.OutputObject + >; + Undelegated: TypedContractEvent< + UndelegatedEvent.InputTuple, + UndelegatedEvent.OutputTuple, + UndelegatedEvent.OutputObject + >; + + "Voted(uint256,address,bool,uint256)": TypedContractEvent< + VotedEvent.InputTuple, + VotedEvent.OutputTuple, + VotedEvent.OutputObject + >; + Voted: TypedContractEvent< + VotedEvent.InputTuple, + VotedEvent.OutputTuple, + VotedEvent.OutputObject + >; + }; +} diff --git a/typechain-types/contracts/Governance/v2-vault-and-gas/index.ts b/typechain-types/contracts/Governance/v2-vault-and-gas/index.ts new file mode 100644 index 0000000..00c5ca7 --- /dev/null +++ b/typechain-types/contracts/Governance/v2-vault-and-gas/index.ts @@ -0,0 +1,9 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as gasCompensatorSol from "./GasCompensator.sol"; +export type { gasCompensatorSol }; +import type * as interfaces from "./interfaces"; +export type { interfaces }; +export type { GovernanceGasUpgrade } from "./GovernanceGasUpgrade"; +export type { GovernanceVaultUpgrade } from "./GovernanceVaultUpgrade"; diff --git a/typechain-types/contracts/Governance/v2-vault-and-gas/interfaces/ITornadoVault.ts b/typechain-types/contracts/Governance/v2-vault-and-gas/interfaces/ITornadoVault.ts new file mode 100644 index 0000000..eb6a5a4 --- /dev/null +++ b/typechain-types/contracts/Governance/v2-vault-and-gas/interfaces/ITornadoVault.ts @@ -0,0 +1,100 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../common"; + +export interface ITornadoVaultInterface extends Interface { + getFunction(nameOrSignature: "withdrawTorn"): FunctionFragment; + + encodeFunctionData( + functionFragment: "withdrawTorn", + values: [AddressLike, BigNumberish] + ): string; + + decodeFunctionResult( + functionFragment: "withdrawTorn", + data: BytesLike + ): Result; +} + +export interface ITornadoVault extends BaseContract { + connect(runner?: ContractRunner | null): ITornadoVault; + waitForDeployment(): Promise; + + interface: ITornadoVaultInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + withdrawTorn: TypedContractMethod< + [recipient: AddressLike, amount: BigNumberish], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "withdrawTorn" + ): TypedContractMethod< + [recipient: AddressLike, amount: BigNumberish], + [void], + "nonpayable" + >; + + filters: {}; +} diff --git a/typechain-types/contracts/Governance/v2-vault-and-gas/interfaces/index.ts b/typechain-types/contracts/Governance/v2-vault-and-gas/interfaces/index.ts new file mode 100644 index 0000000..73144ca --- /dev/null +++ b/typechain-types/contracts/Governance/v2-vault-and-gas/interfaces/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { ITornadoVault } from "./ITornadoVault"; diff --git a/typechain-types/contracts/Governance/v3-relayer-registry/GovernanceStakingUpgrade.ts b/typechain-types/contracts/Governance/v3-relayer-registry/GovernanceStakingUpgrade.ts new file mode 100644 index 0000000..003fcaa --- /dev/null +++ b/typechain-types/contracts/Governance/v3-relayer-registry/GovernanceStakingUpgrade.ts @@ -0,0 +1,1091 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../common"; + +export declare namespace Governance { + export type ReceiptStruct = { + hasVoted: boolean; + support: boolean; + votes: BigNumberish; + }; + + export type ReceiptStructOutput = [ + hasVoted: boolean, + support: boolean, + votes: bigint + ] & { hasVoted: boolean; support: boolean; votes: bigint }; +} + +export interface GovernanceStakingUpgradeInterface extends Interface { + getFunction( + nameOrSignature: + | "CLOSING_PERIOD" + | "EXECUTION_DELAY" + | "EXECUTION_EXPIRATION" + | "PROPOSAL_THRESHOLD" + | "QUORUM_VOTES" + | "Staking" + | "VOTE_EXTEND_TIME" + | "VOTING_DELAY" + | "VOTING_PERIOD" + | "canWithdrawAfter" + | "castDelegatedVote" + | "castVote" + | "checkIfQuorumReached" + | "delegate" + | "delegatedTo" + | "execute" + | "gasCompensationVault" + | "getReceipt" + | "hasAccountVoted" + | "initialize" + | "latestProposalIds" + | "lock" + | "lockWithApproval" + | "lockedBalance" + | "proposalCount" + | "proposals" + | "propose" + | "proposeByDelegate" + | "returnMultisigAddress" + | "setClosingPeriod" + | "setExecutionDelay" + | "setExecutionExpiration" + | "setGasCompensations" + | "setProposalThreshold" + | "setQuorumVotes" + | "setVoteExtendTime" + | "setVotingDelay" + | "setVotingPeriod" + | "state" + | "torn" + | "undelegate" + | "unlock" + | "userVault" + | "version" + | "withdrawFromHelper" + ): FunctionFragment; + + getEvent( + nameOrSignatureOrTopic: + | "Delegated" + | "ProposalCreated" + | "ProposalExecuted" + | "RewardUpdateFailed" + | "RewardUpdateSuccessful" + | "Undelegated" + | "Voted" + ): EventFragment; + + encodeFunctionData( + functionFragment: "CLOSING_PERIOD", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "EXECUTION_DELAY", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "EXECUTION_EXPIRATION", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "PROPOSAL_THRESHOLD", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "QUORUM_VOTES", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "Staking", values?: undefined): string; + encodeFunctionData( + functionFragment: "VOTE_EXTEND_TIME", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "VOTING_DELAY", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "VOTING_PERIOD", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "canWithdrawAfter", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "castDelegatedVote", + values: [AddressLike[], BigNumberish, boolean] + ): string; + encodeFunctionData( + functionFragment: "castVote", + values: [BigNumberish, boolean] + ): string; + encodeFunctionData( + functionFragment: "checkIfQuorumReached", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "delegate", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "delegatedTo", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "execute", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "gasCompensationVault", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getReceipt", + values: [BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "hasAccountVoted", + values: [BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "initialize", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "latestProposalIds", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "lock", + values: [ + AddressLike, + BigNumberish, + BigNumberish, + BigNumberish, + BytesLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "lockWithApproval", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "lockedBalance", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "proposalCount", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "proposals", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "propose", + values: [AddressLike, string] + ): string; + encodeFunctionData( + functionFragment: "proposeByDelegate", + values: [AddressLike, AddressLike, string] + ): string; + encodeFunctionData( + functionFragment: "returnMultisigAddress", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "setClosingPeriod", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setExecutionDelay", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setExecutionExpiration", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setGasCompensations", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setProposalThreshold", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setQuorumVotes", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setVoteExtendTime", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setVotingDelay", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setVotingPeriod", + values: [BigNumberish] + ): string; + encodeFunctionData(functionFragment: "state", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "torn", values?: undefined): string; + encodeFunctionData( + functionFragment: "undelegate", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "unlock", + values: [BigNumberish] + ): string; + encodeFunctionData(functionFragment: "userVault", values?: undefined): string; + encodeFunctionData(functionFragment: "version", values?: undefined): string; + encodeFunctionData( + functionFragment: "withdrawFromHelper", + values: [BigNumberish] + ): string; + + decodeFunctionResult( + functionFragment: "CLOSING_PERIOD", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "EXECUTION_DELAY", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "EXECUTION_EXPIRATION", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "PROPOSAL_THRESHOLD", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "QUORUM_VOTES", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "Staking", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "VOTE_EXTEND_TIME", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "VOTING_DELAY", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "VOTING_PERIOD", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "canWithdrawAfter", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "castDelegatedVote", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "castVote", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "checkIfQuorumReached", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "delegate", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "delegatedTo", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "execute", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "gasCompensationVault", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "getReceipt", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "hasAccountVoted", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "latestProposalIds", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "lock", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "lockWithApproval", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "lockedBalance", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "proposalCount", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "proposals", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "propose", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "proposeByDelegate", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "returnMultisigAddress", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setClosingPeriod", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setExecutionDelay", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setExecutionExpiration", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setGasCompensations", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setProposalThreshold", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setQuorumVotes", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setVoteExtendTime", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setVotingDelay", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setVotingPeriod", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "state", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "torn", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "undelegate", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "unlock", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "userVault", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "version", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "withdrawFromHelper", + data: BytesLike + ): Result; +} + +export namespace DelegatedEvent { + export type InputTuple = [account: AddressLike, to: AddressLike]; + export type OutputTuple = [account: string, to: string]; + export interface OutputObject { + account: string; + to: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace ProposalCreatedEvent { + export type InputTuple = [ + id: BigNumberish, + proposer: AddressLike, + target: AddressLike, + startTime: BigNumberish, + endTime: BigNumberish, + description: string + ]; + export type OutputTuple = [ + id: bigint, + proposer: string, + target: string, + startTime: bigint, + endTime: bigint, + description: string + ]; + export interface OutputObject { + id: bigint; + proposer: string; + target: string; + startTime: bigint; + endTime: bigint; + description: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace ProposalExecutedEvent { + export type InputTuple = [proposalId: BigNumberish]; + export type OutputTuple = [proposalId: bigint]; + export interface OutputObject { + proposalId: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace RewardUpdateFailedEvent { + export type InputTuple = [account: AddressLike, errorData: BytesLike]; + export type OutputTuple = [account: string, errorData: string]; + export interface OutputObject { + account: string; + errorData: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace RewardUpdateSuccessfulEvent { + export type InputTuple = [account: AddressLike]; + export type OutputTuple = [account: string]; + export interface OutputObject { + account: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace UndelegatedEvent { + export type InputTuple = [account: AddressLike, from: AddressLike]; + export type OutputTuple = [account: string, from: string]; + export interface OutputObject { + account: string; + from: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace VotedEvent { + export type InputTuple = [ + proposalId: BigNumberish, + voter: AddressLike, + support: boolean, + votes: BigNumberish + ]; + export type OutputTuple = [ + proposalId: bigint, + voter: string, + support: boolean, + votes: bigint + ]; + export interface OutputObject { + proposalId: bigint; + voter: string; + support: boolean; + votes: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface GovernanceStakingUpgrade extends BaseContract { + connect(runner?: ContractRunner | null): GovernanceStakingUpgrade; + waitForDeployment(): Promise; + + interface: GovernanceStakingUpgradeInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + CLOSING_PERIOD: TypedContractMethod<[], [bigint], "view">; + + EXECUTION_DELAY: TypedContractMethod<[], [bigint], "view">; + + EXECUTION_EXPIRATION: TypedContractMethod<[], [bigint], "view">; + + PROPOSAL_THRESHOLD: TypedContractMethod<[], [bigint], "view">; + + QUORUM_VOTES: TypedContractMethod<[], [bigint], "view">; + + Staking: TypedContractMethod<[], [string], "view">; + + VOTE_EXTEND_TIME: TypedContractMethod<[], [bigint], "view">; + + VOTING_DELAY: TypedContractMethod<[], [bigint], "view">; + + VOTING_PERIOD: TypedContractMethod<[], [bigint], "view">; + + canWithdrawAfter: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + + castDelegatedVote: TypedContractMethod< + [from: AddressLike[], proposalId: BigNumberish, support: boolean], + [void], + "nonpayable" + >; + + castVote: TypedContractMethod< + [proposalId: BigNumberish, support: boolean], + [void], + "nonpayable" + >; + + checkIfQuorumReached: TypedContractMethod< + [proposalId: BigNumberish], + [boolean], + "view" + >; + + delegate: TypedContractMethod<[to: AddressLike], [void], "nonpayable">; + + delegatedTo: TypedContractMethod<[arg0: AddressLike], [string], "view">; + + execute: TypedContractMethod<[proposalId: BigNumberish], [void], "payable">; + + gasCompensationVault: TypedContractMethod<[], [string], "view">; + + getReceipt: TypedContractMethod< + [proposalId: BigNumberish, voter: AddressLike], + [Governance.ReceiptStructOutput], + "view" + >; + + hasAccountVoted: TypedContractMethod< + [proposalId: BigNumberish, account: AddressLike], + [boolean], + "view" + >; + + initialize: TypedContractMethod<[_torn: AddressLike], [void], "nonpayable">; + + latestProposalIds: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + + lock: TypedContractMethod< + [ + owner: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], + [void], + "nonpayable" + >; + + lockWithApproval: TypedContractMethod< + [amount: BigNumberish], + [void], + "nonpayable" + >; + + lockedBalance: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + + proposalCount: TypedContractMethod<[], [bigint], "view">; + + proposals: TypedContractMethod< + [arg0: BigNumberish], + [ + [string, string, bigint, bigint, bigint, bigint, boolean, boolean] & { + proposer: string; + target: string; + startTime: bigint; + endTime: bigint; + forVotes: bigint; + againstVotes: bigint; + executed: boolean; + extended: boolean; + } + ], + "view" + >; + + propose: TypedContractMethod< + [target: AddressLike, description: string], + [bigint], + "nonpayable" + >; + + proposeByDelegate: TypedContractMethod< + [from: AddressLike, target: AddressLike, description: string], + [bigint], + "nonpayable" + >; + + returnMultisigAddress: TypedContractMethod<[], [string], "view">; + + setClosingPeriod: TypedContractMethod< + [closingPeriod: BigNumberish], + [void], + "nonpayable" + >; + + setExecutionDelay: TypedContractMethod< + [executionDelay: BigNumberish], + [void], + "nonpayable" + >; + + setExecutionExpiration: TypedContractMethod< + [executionExpiration: BigNumberish], + [void], + "nonpayable" + >; + + setGasCompensations: TypedContractMethod< + [gasCompensationsLimit: BigNumberish], + [void], + "nonpayable" + >; + + setProposalThreshold: TypedContractMethod< + [proposalThreshold: BigNumberish], + [void], + "nonpayable" + >; + + setQuorumVotes: TypedContractMethod< + [quorumVotes: BigNumberish], + [void], + "nonpayable" + >; + + setVoteExtendTime: TypedContractMethod< + [voteExtendTime: BigNumberish], + [void], + "nonpayable" + >; + + setVotingDelay: TypedContractMethod< + [votingDelay: BigNumberish], + [void], + "nonpayable" + >; + + setVotingPeriod: TypedContractMethod< + [votingPeriod: BigNumberish], + [void], + "nonpayable" + >; + + state: TypedContractMethod<[proposalId: BigNumberish], [bigint], "view">; + + torn: TypedContractMethod<[], [string], "view">; + + undelegate: TypedContractMethod<[], [void], "nonpayable">; + + unlock: TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + + userVault: TypedContractMethod<[], [string], "view">; + + version: TypedContractMethod<[], [string], "view">; + + withdrawFromHelper: TypedContractMethod< + [amount: BigNumberish], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "CLOSING_PERIOD" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "EXECUTION_DELAY" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "EXECUTION_EXPIRATION" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "PROPOSAL_THRESHOLD" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "QUORUM_VOTES" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "Staking" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "VOTE_EXTEND_TIME" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "VOTING_DELAY" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "VOTING_PERIOD" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "canWithdrawAfter" + ): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "castDelegatedVote" + ): TypedContractMethod< + [from: AddressLike[], proposalId: BigNumberish, support: boolean], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "castVote" + ): TypedContractMethod< + [proposalId: BigNumberish, support: boolean], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "checkIfQuorumReached" + ): TypedContractMethod<[proposalId: BigNumberish], [boolean], "view">; + getFunction( + nameOrSignature: "delegate" + ): TypedContractMethod<[to: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "delegatedTo" + ): TypedContractMethod<[arg0: AddressLike], [string], "view">; + getFunction( + nameOrSignature: "execute" + ): TypedContractMethod<[proposalId: BigNumberish], [void], "payable">; + getFunction( + nameOrSignature: "gasCompensationVault" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "getReceipt" + ): TypedContractMethod< + [proposalId: BigNumberish, voter: AddressLike], + [Governance.ReceiptStructOutput], + "view" + >; + getFunction( + nameOrSignature: "hasAccountVoted" + ): TypedContractMethod< + [proposalId: BigNumberish, account: AddressLike], + [boolean], + "view" + >; + getFunction( + nameOrSignature: "initialize" + ): TypedContractMethod<[_torn: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "latestProposalIds" + ): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "lock" + ): TypedContractMethod< + [ + owner: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "lockWithApproval" + ): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "lockedBalance" + ): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "proposalCount" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "proposals" + ): TypedContractMethod< + [arg0: BigNumberish], + [ + [string, string, bigint, bigint, bigint, bigint, boolean, boolean] & { + proposer: string; + target: string; + startTime: bigint; + endTime: bigint; + forVotes: bigint; + againstVotes: bigint; + executed: boolean; + extended: boolean; + } + ], + "view" + >; + getFunction( + nameOrSignature: "propose" + ): TypedContractMethod< + [target: AddressLike, description: string], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "proposeByDelegate" + ): TypedContractMethod< + [from: AddressLike, target: AddressLike, description: string], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "returnMultisigAddress" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "setClosingPeriod" + ): TypedContractMethod<[closingPeriod: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "setExecutionDelay" + ): TypedContractMethod<[executionDelay: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "setExecutionExpiration" + ): TypedContractMethod< + [executionExpiration: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setGasCompensations" + ): TypedContractMethod< + [gasCompensationsLimit: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setProposalThreshold" + ): TypedContractMethod< + [proposalThreshold: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setQuorumVotes" + ): TypedContractMethod<[quorumVotes: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "setVoteExtendTime" + ): TypedContractMethod<[voteExtendTime: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "setVotingDelay" + ): TypedContractMethod<[votingDelay: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "setVotingPeriod" + ): TypedContractMethod<[votingPeriod: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "state" + ): TypedContractMethod<[proposalId: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "torn" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "undelegate" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "unlock" + ): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "userVault" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "version" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "withdrawFromHelper" + ): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + + getEvent( + key: "Delegated" + ): TypedContractEvent< + DelegatedEvent.InputTuple, + DelegatedEvent.OutputTuple, + DelegatedEvent.OutputObject + >; + getEvent( + key: "ProposalCreated" + ): TypedContractEvent< + ProposalCreatedEvent.InputTuple, + ProposalCreatedEvent.OutputTuple, + ProposalCreatedEvent.OutputObject + >; + getEvent( + key: "ProposalExecuted" + ): TypedContractEvent< + ProposalExecutedEvent.InputTuple, + ProposalExecutedEvent.OutputTuple, + ProposalExecutedEvent.OutputObject + >; + getEvent( + key: "RewardUpdateFailed" + ): TypedContractEvent< + RewardUpdateFailedEvent.InputTuple, + RewardUpdateFailedEvent.OutputTuple, + RewardUpdateFailedEvent.OutputObject + >; + getEvent( + key: "RewardUpdateSuccessful" + ): TypedContractEvent< + RewardUpdateSuccessfulEvent.InputTuple, + RewardUpdateSuccessfulEvent.OutputTuple, + RewardUpdateSuccessfulEvent.OutputObject + >; + getEvent( + key: "Undelegated" + ): TypedContractEvent< + UndelegatedEvent.InputTuple, + UndelegatedEvent.OutputTuple, + UndelegatedEvent.OutputObject + >; + getEvent( + key: "Voted" + ): TypedContractEvent< + VotedEvent.InputTuple, + VotedEvent.OutputTuple, + VotedEvent.OutputObject + >; + + filters: { + "Delegated(address,address)": TypedContractEvent< + DelegatedEvent.InputTuple, + DelegatedEvent.OutputTuple, + DelegatedEvent.OutputObject + >; + Delegated: TypedContractEvent< + DelegatedEvent.InputTuple, + DelegatedEvent.OutputTuple, + DelegatedEvent.OutputObject + >; + + "ProposalCreated(uint256,address,address,uint256,uint256,string)": TypedContractEvent< + ProposalCreatedEvent.InputTuple, + ProposalCreatedEvent.OutputTuple, + ProposalCreatedEvent.OutputObject + >; + ProposalCreated: TypedContractEvent< + ProposalCreatedEvent.InputTuple, + ProposalCreatedEvent.OutputTuple, + ProposalCreatedEvent.OutputObject + >; + + "ProposalExecuted(uint256)": TypedContractEvent< + ProposalExecutedEvent.InputTuple, + ProposalExecutedEvent.OutputTuple, + ProposalExecutedEvent.OutputObject + >; + ProposalExecuted: TypedContractEvent< + ProposalExecutedEvent.InputTuple, + ProposalExecutedEvent.OutputTuple, + ProposalExecutedEvent.OutputObject + >; + + "RewardUpdateFailed(address,bytes)": TypedContractEvent< + RewardUpdateFailedEvent.InputTuple, + RewardUpdateFailedEvent.OutputTuple, + RewardUpdateFailedEvent.OutputObject + >; + RewardUpdateFailed: TypedContractEvent< + RewardUpdateFailedEvent.InputTuple, + RewardUpdateFailedEvent.OutputTuple, + RewardUpdateFailedEvent.OutputObject + >; + + "RewardUpdateSuccessful(address)": TypedContractEvent< + RewardUpdateSuccessfulEvent.InputTuple, + RewardUpdateSuccessfulEvent.OutputTuple, + RewardUpdateSuccessfulEvent.OutputObject + >; + RewardUpdateSuccessful: TypedContractEvent< + RewardUpdateSuccessfulEvent.InputTuple, + RewardUpdateSuccessfulEvent.OutputTuple, + RewardUpdateSuccessfulEvent.OutputObject + >; + + "Undelegated(address,address)": TypedContractEvent< + UndelegatedEvent.InputTuple, + UndelegatedEvent.OutputTuple, + UndelegatedEvent.OutputObject + >; + Undelegated: TypedContractEvent< + UndelegatedEvent.InputTuple, + UndelegatedEvent.OutputTuple, + UndelegatedEvent.OutputObject + >; + + "Voted(uint256,address,bool,uint256)": TypedContractEvent< + VotedEvent.InputTuple, + VotedEvent.OutputTuple, + VotedEvent.OutputObject + >; + Voted: TypedContractEvent< + VotedEvent.InputTuple, + VotedEvent.OutputTuple, + VotedEvent.OutputObject + >; + }; +} diff --git a/typechain-types/contracts/Governance/v3-relayer-registry/index.ts b/typechain-types/contracts/Governance/v3-relayer-registry/index.ts new file mode 100644 index 0000000..481624a --- /dev/null +++ b/typechain-types/contracts/Governance/v3-relayer-registry/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as interfaces from "./interfaces"; +export type { interfaces }; +export type { GovernanceStakingUpgrade } from "./GovernanceStakingUpgrade"; diff --git a/typechain-types/contracts/Governance/v3-relayer-registry/interfaces/ITornadoStakingRewards.ts b/typechain-types/contracts/Governance/v3-relayer-registry/interfaces/ITornadoStakingRewards.ts new file mode 100644 index 0000000..6ba9f3e --- /dev/null +++ b/typechain-types/contracts/Governance/v3-relayer-registry/interfaces/ITornadoStakingRewards.ts @@ -0,0 +1,102 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../common"; + +export interface ITornadoStakingRewardsInterface extends Interface { + getFunction( + nameOrSignature: "updateRewardsOnLockedBalanceChange" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "updateRewardsOnLockedBalanceChange", + values: [AddressLike, BigNumberish] + ): string; + + decodeFunctionResult( + functionFragment: "updateRewardsOnLockedBalanceChange", + data: BytesLike + ): Result; +} + +export interface ITornadoStakingRewards extends BaseContract { + connect(runner?: ContractRunner | null): ITornadoStakingRewards; + waitForDeployment(): Promise; + + interface: ITornadoStakingRewardsInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + updateRewardsOnLockedBalanceChange: TypedContractMethod< + [account: AddressLike, amountLockedBeforehand: BigNumberish], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "updateRewardsOnLockedBalanceChange" + ): TypedContractMethod< + [account: AddressLike, amountLockedBeforehand: BigNumberish], + [void], + "nonpayable" + >; + + filters: {}; +} diff --git a/typechain-types/contracts/Governance/v3-relayer-registry/interfaces/index.ts b/typechain-types/contracts/Governance/v3-relayer-registry/interfaces/index.ts new file mode 100644 index 0000000..993dd29 --- /dev/null +++ b/typechain-types/contracts/Governance/v3-relayer-registry/interfaces/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { ITornadoStakingRewards } from "./ITornadoStakingRewards"; diff --git a/typechain-types/contracts/Governance/v4-exploit-patch/AdminUpgradeableProxy.ts b/typechain-types/contracts/Governance/v4-exploit-patch/AdminUpgradeableProxy.ts new file mode 100644 index 0000000..6fc2a82 --- /dev/null +++ b/typechain-types/contracts/Governance/v4-exploit-patch/AdminUpgradeableProxy.ts @@ -0,0 +1,227 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../common"; + +export interface AdminUpgradeableProxyInterface extends Interface { + getFunction( + nameOrSignature: + | "admin" + | "changeAdmin" + | "implementation" + | "upgradeTo" + | "upgradeToAndCall" + ): FunctionFragment; + + getEvent(nameOrSignatureOrTopic: "AdminChanged" | "Upgraded"): EventFragment; + + encodeFunctionData(functionFragment: "admin", values?: undefined): string; + encodeFunctionData( + functionFragment: "changeAdmin", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "implementation", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "upgradeTo", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "upgradeToAndCall", + values: [AddressLike, BytesLike] + ): string; + + decodeFunctionResult(functionFragment: "admin", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "changeAdmin", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "implementation", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "upgradeTo", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "upgradeToAndCall", + data: BytesLike + ): Result; +} + +export namespace AdminChangedEvent { + export type InputTuple = [previousAdmin: AddressLike, newAdmin: AddressLike]; + export type OutputTuple = [previousAdmin: string, newAdmin: string]; + export interface OutputObject { + previousAdmin: string; + newAdmin: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace UpgradedEvent { + export type InputTuple = [implementation: AddressLike]; + export type OutputTuple = [implementation: string]; + export interface OutputObject { + implementation: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface AdminUpgradeableProxy extends BaseContract { + connect(runner?: ContractRunner | null): AdminUpgradeableProxy; + waitForDeployment(): Promise; + + interface: AdminUpgradeableProxyInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + admin: TypedContractMethod<[], [string], "nonpayable">; + + changeAdmin: TypedContractMethod< + [newAdmin: AddressLike], + [void], + "nonpayable" + >; + + implementation: TypedContractMethod<[], [string], "nonpayable">; + + upgradeTo: TypedContractMethod< + [newImplementation: AddressLike], + [void], + "nonpayable" + >; + + upgradeToAndCall: TypedContractMethod< + [newImplementation: AddressLike, data: BytesLike], + [void], + "payable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "admin" + ): TypedContractMethod<[], [string], "nonpayable">; + getFunction( + nameOrSignature: "changeAdmin" + ): TypedContractMethod<[newAdmin: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "implementation" + ): TypedContractMethod<[], [string], "nonpayable">; + getFunction( + nameOrSignature: "upgradeTo" + ): TypedContractMethod< + [newImplementation: AddressLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "upgradeToAndCall" + ): TypedContractMethod< + [newImplementation: AddressLike, data: BytesLike], + [void], + "payable" + >; + + getEvent( + key: "AdminChanged" + ): TypedContractEvent< + AdminChangedEvent.InputTuple, + AdminChangedEvent.OutputTuple, + AdminChangedEvent.OutputObject + >; + getEvent( + key: "Upgraded" + ): TypedContractEvent< + UpgradedEvent.InputTuple, + UpgradedEvent.OutputTuple, + UpgradedEvent.OutputObject + >; + + filters: { + "AdminChanged(address,address)": TypedContractEvent< + AdminChangedEvent.InputTuple, + AdminChangedEvent.OutputTuple, + AdminChangedEvent.OutputObject + >; + AdminChanged: TypedContractEvent< + AdminChangedEvent.InputTuple, + AdminChangedEvent.OutputTuple, + AdminChangedEvent.OutputObject + >; + + "Upgraded(address)": TypedContractEvent< + UpgradedEvent.InputTuple, + UpgradedEvent.OutputTuple, + UpgradedEvent.OutputObject + >; + Upgraded: TypedContractEvent< + UpgradedEvent.InputTuple, + UpgradedEvent.OutputTuple, + UpgradedEvent.OutputObject + >; + }; +} diff --git a/typechain-types/contracts/Governance/v4-exploit-patch/GovernanceExploitPatchUpgrade.ts b/typechain-types/contracts/Governance/v4-exploit-patch/GovernanceExploitPatchUpgrade.ts new file mode 100644 index 0000000..bd9bf4b --- /dev/null +++ b/typechain-types/contracts/Governance/v4-exploit-patch/GovernanceExploitPatchUpgrade.ts @@ -0,0 +1,1109 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../common"; + +export declare namespace Governance { + export type ReceiptStruct = { + hasVoted: boolean; + support: boolean; + votes: BigNumberish; + }; + + export type ReceiptStructOutput = [ + hasVoted: boolean, + support: boolean, + votes: bigint + ] & { hasVoted: boolean; support: boolean; votes: bigint }; +} + +export interface GovernanceExploitPatchUpgradeInterface extends Interface { + getFunction( + nameOrSignature: + | "CLOSING_PERIOD" + | "EXECUTION_DELAY" + | "EXECUTION_EXPIRATION" + | "PROPOSAL_THRESHOLD" + | "QUORUM_VOTES" + | "Staking" + | "VOTE_EXTEND_TIME" + | "VOTING_DELAY" + | "VOTING_PERIOD" + | "canWithdrawAfter" + | "castDelegatedVote" + | "castVote" + | "checkIfQuorumReached" + | "delegate" + | "delegatedTo" + | "execute" + | "gasCompensationVault" + | "getReceipt" + | "hasAccountVoted" + | "initialize" + | "latestProposalIds" + | "lock" + | "lockWithApproval" + | "lockedBalance" + | "proposalCodehashes" + | "proposalCount" + | "proposals" + | "propose" + | "proposeByDelegate" + | "returnMultisigAddress" + | "setClosingPeriod" + | "setExecutionDelay" + | "setExecutionExpiration" + | "setGasCompensations" + | "setProposalThreshold" + | "setQuorumVotes" + | "setVoteExtendTime" + | "setVotingDelay" + | "setVotingPeriod" + | "state" + | "torn" + | "undelegate" + | "unlock" + | "userVault" + | "version" + | "withdrawFromHelper" + ): FunctionFragment; + + getEvent( + nameOrSignatureOrTopic: + | "Delegated" + | "ProposalCreated" + | "ProposalExecuted" + | "RewardUpdateFailed" + | "RewardUpdateSuccessful" + | "Undelegated" + | "Voted" + ): EventFragment; + + encodeFunctionData( + functionFragment: "CLOSING_PERIOD", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "EXECUTION_DELAY", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "EXECUTION_EXPIRATION", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "PROPOSAL_THRESHOLD", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "QUORUM_VOTES", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "Staking", values?: undefined): string; + encodeFunctionData( + functionFragment: "VOTE_EXTEND_TIME", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "VOTING_DELAY", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "VOTING_PERIOD", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "canWithdrawAfter", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "castDelegatedVote", + values: [AddressLike[], BigNumberish, boolean] + ): string; + encodeFunctionData( + functionFragment: "castVote", + values: [BigNumberish, boolean] + ): string; + encodeFunctionData( + functionFragment: "checkIfQuorumReached", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "delegate", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "delegatedTo", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "execute", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "gasCompensationVault", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getReceipt", + values: [BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "hasAccountVoted", + values: [BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "initialize", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "latestProposalIds", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "lock", + values: [ + AddressLike, + BigNumberish, + BigNumberish, + BigNumberish, + BytesLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "lockWithApproval", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "lockedBalance", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "proposalCodehashes", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "proposalCount", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "proposals", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "propose", + values: [AddressLike, string] + ): string; + encodeFunctionData( + functionFragment: "proposeByDelegate", + values: [AddressLike, AddressLike, string] + ): string; + encodeFunctionData( + functionFragment: "returnMultisigAddress", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "setClosingPeriod", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setExecutionDelay", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setExecutionExpiration", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setGasCompensations", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setProposalThreshold", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setQuorumVotes", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setVoteExtendTime", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setVotingDelay", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setVotingPeriod", + values: [BigNumberish] + ): string; + encodeFunctionData(functionFragment: "state", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "torn", values?: undefined): string; + encodeFunctionData( + functionFragment: "undelegate", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "unlock", + values: [BigNumberish] + ): string; + encodeFunctionData(functionFragment: "userVault", values?: undefined): string; + encodeFunctionData(functionFragment: "version", values?: undefined): string; + encodeFunctionData( + functionFragment: "withdrawFromHelper", + values: [BigNumberish] + ): string; + + decodeFunctionResult( + functionFragment: "CLOSING_PERIOD", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "EXECUTION_DELAY", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "EXECUTION_EXPIRATION", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "PROPOSAL_THRESHOLD", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "QUORUM_VOTES", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "Staking", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "VOTE_EXTEND_TIME", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "VOTING_DELAY", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "VOTING_PERIOD", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "canWithdrawAfter", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "castDelegatedVote", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "castVote", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "checkIfQuorumReached", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "delegate", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "delegatedTo", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "execute", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "gasCompensationVault", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "getReceipt", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "hasAccountVoted", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "latestProposalIds", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "lock", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "lockWithApproval", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "lockedBalance", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "proposalCodehashes", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "proposalCount", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "proposals", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "propose", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "proposeByDelegate", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "returnMultisigAddress", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setClosingPeriod", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setExecutionDelay", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setExecutionExpiration", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setGasCompensations", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setProposalThreshold", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setQuorumVotes", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setVoteExtendTime", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setVotingDelay", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setVotingPeriod", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "state", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "torn", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "undelegate", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "unlock", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "userVault", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "version", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "withdrawFromHelper", + data: BytesLike + ): Result; +} + +export namespace DelegatedEvent { + export type InputTuple = [account: AddressLike, to: AddressLike]; + export type OutputTuple = [account: string, to: string]; + export interface OutputObject { + account: string; + to: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace ProposalCreatedEvent { + export type InputTuple = [ + id: BigNumberish, + proposer: AddressLike, + target: AddressLike, + startTime: BigNumberish, + endTime: BigNumberish, + description: string + ]; + export type OutputTuple = [ + id: bigint, + proposer: string, + target: string, + startTime: bigint, + endTime: bigint, + description: string + ]; + export interface OutputObject { + id: bigint; + proposer: string; + target: string; + startTime: bigint; + endTime: bigint; + description: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace ProposalExecutedEvent { + export type InputTuple = [proposalId: BigNumberish]; + export type OutputTuple = [proposalId: bigint]; + export interface OutputObject { + proposalId: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace RewardUpdateFailedEvent { + export type InputTuple = [account: AddressLike, errorData: BytesLike]; + export type OutputTuple = [account: string, errorData: string]; + export interface OutputObject { + account: string; + errorData: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace RewardUpdateSuccessfulEvent { + export type InputTuple = [account: AddressLike]; + export type OutputTuple = [account: string]; + export interface OutputObject { + account: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace UndelegatedEvent { + export type InputTuple = [account: AddressLike, from: AddressLike]; + export type OutputTuple = [account: string, from: string]; + export interface OutputObject { + account: string; + from: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace VotedEvent { + export type InputTuple = [ + proposalId: BigNumberish, + voter: AddressLike, + support: boolean, + votes: BigNumberish + ]; + export type OutputTuple = [ + proposalId: bigint, + voter: string, + support: boolean, + votes: bigint + ]; + export interface OutputObject { + proposalId: bigint; + voter: string; + support: boolean; + votes: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface GovernanceExploitPatchUpgrade extends BaseContract { + connect(runner?: ContractRunner | null): GovernanceExploitPatchUpgrade; + waitForDeployment(): Promise; + + interface: GovernanceExploitPatchUpgradeInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + CLOSING_PERIOD: TypedContractMethod<[], [bigint], "view">; + + EXECUTION_DELAY: TypedContractMethod<[], [bigint], "view">; + + EXECUTION_EXPIRATION: TypedContractMethod<[], [bigint], "view">; + + PROPOSAL_THRESHOLD: TypedContractMethod<[], [bigint], "view">; + + QUORUM_VOTES: TypedContractMethod<[], [bigint], "view">; + + Staking: TypedContractMethod<[], [string], "view">; + + VOTE_EXTEND_TIME: TypedContractMethod<[], [bigint], "view">; + + VOTING_DELAY: TypedContractMethod<[], [bigint], "view">; + + VOTING_PERIOD: TypedContractMethod<[], [bigint], "view">; + + canWithdrawAfter: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + + castDelegatedVote: TypedContractMethod< + [from: AddressLike[], proposalId: BigNumberish, support: boolean], + [void], + "nonpayable" + >; + + castVote: TypedContractMethod< + [proposalId: BigNumberish, support: boolean], + [void], + "nonpayable" + >; + + checkIfQuorumReached: TypedContractMethod< + [proposalId: BigNumberish], + [boolean], + "view" + >; + + delegate: TypedContractMethod<[to: AddressLike], [void], "nonpayable">; + + delegatedTo: TypedContractMethod<[arg0: AddressLike], [string], "view">; + + execute: TypedContractMethod<[proposalId: BigNumberish], [void], "payable">; + + gasCompensationVault: TypedContractMethod<[], [string], "view">; + + getReceipt: TypedContractMethod< + [proposalId: BigNumberish, voter: AddressLike], + [Governance.ReceiptStructOutput], + "view" + >; + + hasAccountVoted: TypedContractMethod< + [proposalId: BigNumberish, account: AddressLike], + [boolean], + "view" + >; + + initialize: TypedContractMethod<[_torn: AddressLike], [void], "nonpayable">; + + latestProposalIds: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + + lock: TypedContractMethod< + [ + owner: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], + [void], + "nonpayable" + >; + + lockWithApproval: TypedContractMethod< + [amount: BigNumberish], + [void], + "nonpayable" + >; + + lockedBalance: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + + proposalCodehashes: TypedContractMethod< + [arg0: BigNumberish], + [string], + "view" + >; + + proposalCount: TypedContractMethod<[], [bigint], "view">; + + proposals: TypedContractMethod< + [arg0: BigNumberish], + [ + [string, string, bigint, bigint, bigint, bigint, boolean, boolean] & { + proposer: string; + target: string; + startTime: bigint; + endTime: bigint; + forVotes: bigint; + againstVotes: bigint; + executed: boolean; + extended: boolean; + } + ], + "view" + >; + + propose: TypedContractMethod< + [target: AddressLike, description: string], + [bigint], + "nonpayable" + >; + + proposeByDelegate: TypedContractMethod< + [from: AddressLike, target: AddressLike, description: string], + [bigint], + "nonpayable" + >; + + returnMultisigAddress: TypedContractMethod<[], [string], "view">; + + setClosingPeriod: TypedContractMethod< + [closingPeriod: BigNumberish], + [void], + "nonpayable" + >; + + setExecutionDelay: TypedContractMethod< + [executionDelay: BigNumberish], + [void], + "nonpayable" + >; + + setExecutionExpiration: TypedContractMethod< + [executionExpiration: BigNumberish], + [void], + "nonpayable" + >; + + setGasCompensations: TypedContractMethod< + [gasCompensationsLimit: BigNumberish], + [void], + "nonpayable" + >; + + setProposalThreshold: TypedContractMethod< + [proposalThreshold: BigNumberish], + [void], + "nonpayable" + >; + + setQuorumVotes: TypedContractMethod< + [quorumVotes: BigNumberish], + [void], + "nonpayable" + >; + + setVoteExtendTime: TypedContractMethod< + [voteExtendTime: BigNumberish], + [void], + "nonpayable" + >; + + setVotingDelay: TypedContractMethod< + [votingDelay: BigNumberish], + [void], + "nonpayable" + >; + + setVotingPeriod: TypedContractMethod< + [votingPeriod: BigNumberish], + [void], + "nonpayable" + >; + + state: TypedContractMethod<[proposalId: BigNumberish], [bigint], "view">; + + torn: TypedContractMethod<[], [string], "view">; + + undelegate: TypedContractMethod<[], [void], "nonpayable">; + + unlock: TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + + userVault: TypedContractMethod<[], [string], "view">; + + version: TypedContractMethod<[], [string], "view">; + + withdrawFromHelper: TypedContractMethod< + [amount: BigNumberish], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "CLOSING_PERIOD" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "EXECUTION_DELAY" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "EXECUTION_EXPIRATION" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "PROPOSAL_THRESHOLD" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "QUORUM_VOTES" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "Staking" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "VOTE_EXTEND_TIME" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "VOTING_DELAY" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "VOTING_PERIOD" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "canWithdrawAfter" + ): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "castDelegatedVote" + ): TypedContractMethod< + [from: AddressLike[], proposalId: BigNumberish, support: boolean], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "castVote" + ): TypedContractMethod< + [proposalId: BigNumberish, support: boolean], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "checkIfQuorumReached" + ): TypedContractMethod<[proposalId: BigNumberish], [boolean], "view">; + getFunction( + nameOrSignature: "delegate" + ): TypedContractMethod<[to: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "delegatedTo" + ): TypedContractMethod<[arg0: AddressLike], [string], "view">; + getFunction( + nameOrSignature: "execute" + ): TypedContractMethod<[proposalId: BigNumberish], [void], "payable">; + getFunction( + nameOrSignature: "gasCompensationVault" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "getReceipt" + ): TypedContractMethod< + [proposalId: BigNumberish, voter: AddressLike], + [Governance.ReceiptStructOutput], + "view" + >; + getFunction( + nameOrSignature: "hasAccountVoted" + ): TypedContractMethod< + [proposalId: BigNumberish, account: AddressLike], + [boolean], + "view" + >; + getFunction( + nameOrSignature: "initialize" + ): TypedContractMethod<[_torn: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "latestProposalIds" + ): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "lock" + ): TypedContractMethod< + [ + owner: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "lockWithApproval" + ): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "lockedBalance" + ): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "proposalCodehashes" + ): TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getFunction( + nameOrSignature: "proposalCount" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "proposals" + ): TypedContractMethod< + [arg0: BigNumberish], + [ + [string, string, bigint, bigint, bigint, bigint, boolean, boolean] & { + proposer: string; + target: string; + startTime: bigint; + endTime: bigint; + forVotes: bigint; + againstVotes: bigint; + executed: boolean; + extended: boolean; + } + ], + "view" + >; + getFunction( + nameOrSignature: "propose" + ): TypedContractMethod< + [target: AddressLike, description: string], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "proposeByDelegate" + ): TypedContractMethod< + [from: AddressLike, target: AddressLike, description: string], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "returnMultisigAddress" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "setClosingPeriod" + ): TypedContractMethod<[closingPeriod: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "setExecutionDelay" + ): TypedContractMethod<[executionDelay: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "setExecutionExpiration" + ): TypedContractMethod< + [executionExpiration: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setGasCompensations" + ): TypedContractMethod< + [gasCompensationsLimit: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setProposalThreshold" + ): TypedContractMethod< + [proposalThreshold: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setQuorumVotes" + ): TypedContractMethod<[quorumVotes: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "setVoteExtendTime" + ): TypedContractMethod<[voteExtendTime: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "setVotingDelay" + ): TypedContractMethod<[votingDelay: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "setVotingPeriod" + ): TypedContractMethod<[votingPeriod: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "state" + ): TypedContractMethod<[proposalId: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "torn" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "undelegate" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "unlock" + ): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "userVault" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "version" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "withdrawFromHelper" + ): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + + getEvent( + key: "Delegated" + ): TypedContractEvent< + DelegatedEvent.InputTuple, + DelegatedEvent.OutputTuple, + DelegatedEvent.OutputObject + >; + getEvent( + key: "ProposalCreated" + ): TypedContractEvent< + ProposalCreatedEvent.InputTuple, + ProposalCreatedEvent.OutputTuple, + ProposalCreatedEvent.OutputObject + >; + getEvent( + key: "ProposalExecuted" + ): TypedContractEvent< + ProposalExecutedEvent.InputTuple, + ProposalExecutedEvent.OutputTuple, + ProposalExecutedEvent.OutputObject + >; + getEvent( + key: "RewardUpdateFailed" + ): TypedContractEvent< + RewardUpdateFailedEvent.InputTuple, + RewardUpdateFailedEvent.OutputTuple, + RewardUpdateFailedEvent.OutputObject + >; + getEvent( + key: "RewardUpdateSuccessful" + ): TypedContractEvent< + RewardUpdateSuccessfulEvent.InputTuple, + RewardUpdateSuccessfulEvent.OutputTuple, + RewardUpdateSuccessfulEvent.OutputObject + >; + getEvent( + key: "Undelegated" + ): TypedContractEvent< + UndelegatedEvent.InputTuple, + UndelegatedEvent.OutputTuple, + UndelegatedEvent.OutputObject + >; + getEvent( + key: "Voted" + ): TypedContractEvent< + VotedEvent.InputTuple, + VotedEvent.OutputTuple, + VotedEvent.OutputObject + >; + + filters: { + "Delegated(address,address)": TypedContractEvent< + DelegatedEvent.InputTuple, + DelegatedEvent.OutputTuple, + DelegatedEvent.OutputObject + >; + Delegated: TypedContractEvent< + DelegatedEvent.InputTuple, + DelegatedEvent.OutputTuple, + DelegatedEvent.OutputObject + >; + + "ProposalCreated(uint256,address,address,uint256,uint256,string)": TypedContractEvent< + ProposalCreatedEvent.InputTuple, + ProposalCreatedEvent.OutputTuple, + ProposalCreatedEvent.OutputObject + >; + ProposalCreated: TypedContractEvent< + ProposalCreatedEvent.InputTuple, + ProposalCreatedEvent.OutputTuple, + ProposalCreatedEvent.OutputObject + >; + + "ProposalExecuted(uint256)": TypedContractEvent< + ProposalExecutedEvent.InputTuple, + ProposalExecutedEvent.OutputTuple, + ProposalExecutedEvent.OutputObject + >; + ProposalExecuted: TypedContractEvent< + ProposalExecutedEvent.InputTuple, + ProposalExecutedEvent.OutputTuple, + ProposalExecutedEvent.OutputObject + >; + + "RewardUpdateFailed(address,bytes)": TypedContractEvent< + RewardUpdateFailedEvent.InputTuple, + RewardUpdateFailedEvent.OutputTuple, + RewardUpdateFailedEvent.OutputObject + >; + RewardUpdateFailed: TypedContractEvent< + RewardUpdateFailedEvent.InputTuple, + RewardUpdateFailedEvent.OutputTuple, + RewardUpdateFailedEvent.OutputObject + >; + + "RewardUpdateSuccessful(address)": TypedContractEvent< + RewardUpdateSuccessfulEvent.InputTuple, + RewardUpdateSuccessfulEvent.OutputTuple, + RewardUpdateSuccessfulEvent.OutputObject + >; + RewardUpdateSuccessful: TypedContractEvent< + RewardUpdateSuccessfulEvent.InputTuple, + RewardUpdateSuccessfulEvent.OutputTuple, + RewardUpdateSuccessfulEvent.OutputObject + >; + + "Undelegated(address,address)": TypedContractEvent< + UndelegatedEvent.InputTuple, + UndelegatedEvent.OutputTuple, + UndelegatedEvent.OutputObject + >; + Undelegated: TypedContractEvent< + UndelegatedEvent.InputTuple, + UndelegatedEvent.OutputTuple, + UndelegatedEvent.OutputObject + >; + + "Voted(uint256,address,bool,uint256)": TypedContractEvent< + VotedEvent.InputTuple, + VotedEvent.OutputTuple, + VotedEvent.OutputObject + >; + Voted: TypedContractEvent< + VotedEvent.InputTuple, + VotedEvent.OutputTuple, + VotedEvent.OutputObject + >; + }; +} diff --git a/typechain-types/contracts/Governance/v4-exploit-patch/PatchProposal.ts b/typechain-types/contracts/Governance/v4-exploit-patch/PatchProposal.ts new file mode 100644 index 0000000..e4c3858 --- /dev/null +++ b/typechain-types/contracts/Governance/v4-exploit-patch/PatchProposal.ts @@ -0,0 +1,207 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BytesLike, + FunctionFragment, + Result, + Interface, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../common"; + +export interface PatchProposalInterface extends Interface { + getFunction( + nameOrSignature: + | "TORN" + | "deployedRelayerRegistryImplementationAddress" + | "deployedStakingProxyContractAddress" + | "executeProposal" + | "gasCompensationVaultAddress" + | "governanceProxyAddress" + | "oldStakingProxyAddress" + | "registryProxyAddress" + | "userVaultAddress" + ): FunctionFragment; + + encodeFunctionData(functionFragment: "TORN", values?: undefined): string; + encodeFunctionData( + functionFragment: "deployedRelayerRegistryImplementationAddress", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "deployedStakingProxyContractAddress", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "executeProposal", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "gasCompensationVaultAddress", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "governanceProxyAddress", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "oldStakingProxyAddress", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "registryProxyAddress", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "userVaultAddress", + values?: undefined + ): string; + + decodeFunctionResult(functionFragment: "TORN", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "deployedRelayerRegistryImplementationAddress", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "deployedStakingProxyContractAddress", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "executeProposal", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "gasCompensationVaultAddress", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "governanceProxyAddress", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "oldStakingProxyAddress", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "registryProxyAddress", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "userVaultAddress", + data: BytesLike + ): Result; +} + +export interface PatchProposal extends BaseContract { + connect(runner?: ContractRunner | null): PatchProposal; + waitForDeployment(): Promise; + + interface: PatchProposalInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + TORN: TypedContractMethod<[], [string], "view">; + + deployedRelayerRegistryImplementationAddress: TypedContractMethod< + [], + [string], + "view" + >; + + deployedStakingProxyContractAddress: TypedContractMethod< + [], + [string], + "view" + >; + + executeProposal: TypedContractMethod<[], [void], "nonpayable">; + + gasCompensationVaultAddress: TypedContractMethod<[], [string], "view">; + + governanceProxyAddress: TypedContractMethod<[], [string], "view">; + + oldStakingProxyAddress: TypedContractMethod<[], [string], "view">; + + registryProxyAddress: TypedContractMethod<[], [string], "view">; + + userVaultAddress: TypedContractMethod<[], [string], "view">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "TORN" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "deployedRelayerRegistryImplementationAddress" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "deployedStakingProxyContractAddress" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "executeProposal" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "gasCompensationVaultAddress" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "governanceProxyAddress" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "oldStakingProxyAddress" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "registryProxyAddress" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "userVaultAddress" + ): TypedContractMethod<[], [string], "view">; + + filters: {}; +} diff --git a/typechain-types/contracts/Governance/v4-exploit-patch/index.ts b/typechain-types/contracts/Governance/v4-exploit-patch/index.ts new file mode 100644 index 0000000..ddec214 --- /dev/null +++ b/typechain-types/contracts/Governance/v4-exploit-patch/index.ts @@ -0,0 +1,10 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as metamorphic from "./metamorphic"; +export type { metamorphic }; +import type * as mock from "./mock"; +export type { mock }; +export type { AdminUpgradeableProxy } from "./AdminUpgradeableProxy"; +export type { GovernanceExploitPatchUpgrade } from "./GovernanceExploitPatchUpgrade"; +export type { PatchProposal } from "./PatchProposal"; diff --git a/typechain-types/contracts/Governance/v4-exploit-patch/metamorphic/IMetamorphicContractFactory.ts b/typechain-types/contracts/Governance/v4-exploit-patch/metamorphic/IMetamorphicContractFactory.ts new file mode 100644 index 0000000..3c2d617 --- /dev/null +++ b/typechain-types/contracts/Governance/v4-exploit-patch/metamorphic/IMetamorphicContractFactory.ts @@ -0,0 +1,128 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BytesLike, + FunctionFragment, + Result, + Interface, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedListener, + TypedContractMethod, +} from "../../../../common"; + +export interface IMetamorphicContractFactoryInterface extends Interface { + getFunction( + nameOrSignature: + | "deployMetamorphicContractFromExistingImplementation" + | "findMetamorphicContractAddress" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "deployMetamorphicContractFromExistingImplementation", + values: [BytesLike, AddressLike, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "findMetamorphicContractAddress", + values: [BytesLike] + ): string; + + decodeFunctionResult( + functionFragment: "deployMetamorphicContractFromExistingImplementation", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "findMetamorphicContractAddress", + data: BytesLike + ): Result; +} + +export interface IMetamorphicContractFactory extends BaseContract { + connect(runner?: ContractRunner | null): IMetamorphicContractFactory; + waitForDeployment(): Promise; + + interface: IMetamorphicContractFactoryInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + deployMetamorphicContractFromExistingImplementation: TypedContractMethod< + [ + salt: BytesLike, + implementationContract: AddressLike, + metamorphicContractInitializationCalldata: BytesLike + ], + [string], + "payable" + >; + + findMetamorphicContractAddress: TypedContractMethod< + [salt: BytesLike], + [string], + "view" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "deployMetamorphicContractFromExistingImplementation" + ): TypedContractMethod< + [ + salt: BytesLike, + implementationContract: AddressLike, + metamorphicContractInitializationCalldata: BytesLike + ], + [string], + "payable" + >; + getFunction( + nameOrSignature: "findMetamorphicContractAddress" + ): TypedContractMethod<[salt: BytesLike], [string], "view">; + + filters: {}; +} diff --git a/typechain-types/contracts/Governance/v4-exploit-patch/metamorphic/index.ts b/typechain-types/contracts/Governance/v4-exploit-patch/metamorphic/index.ts new file mode 100644 index 0000000..649e0d8 --- /dev/null +++ b/typechain-types/contracts/Governance/v4-exploit-patch/metamorphic/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { IMetamorphicContractFactory } from "./IMetamorphicContractFactory"; diff --git a/typechain-types/contracts/Governance/v4-exploit-patch/mock/MockProposals.sol/InitialProposal.ts b/typechain-types/contracts/Governance/v4-exploit-patch/mock/MockProposals.sol/InitialProposal.ts new file mode 100644 index 0000000..a93e7ef --- /dev/null +++ b/typechain-types/contracts/Governance/v4-exploit-patch/mock/MockProposals.sol/InitialProposal.ts @@ -0,0 +1,141 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../../../common"; + +export interface InitialProposalInterface extends Interface { + getFunction( + nameOrSignature: "emergencyStop" | "executeProposal" + ): FunctionFragment; + + getEvent(nameOrSignatureOrTopic: "MockExecuted"): EventFragment; + + encodeFunctionData( + functionFragment: "emergencyStop", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "executeProposal", + values?: undefined + ): string; + + decodeFunctionResult( + functionFragment: "emergencyStop", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "executeProposal", + data: BytesLike + ): Result; +} + +export namespace MockExecutedEvent { + export type InputTuple = [num: BigNumberish]; + export type OutputTuple = [num: bigint]; + export interface OutputObject { + num: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface InitialProposal extends BaseContract { + connect(runner?: ContractRunner | null): InitialProposal; + waitForDeployment(): Promise; + + interface: InitialProposalInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + emergencyStop: TypedContractMethod<[], [void], "nonpayable">; + + executeProposal: TypedContractMethod<[], [void], "nonpayable">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "emergencyStop" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "executeProposal" + ): TypedContractMethod<[], [void], "nonpayable">; + + getEvent( + key: "MockExecuted" + ): TypedContractEvent< + MockExecutedEvent.InputTuple, + MockExecutedEvent.OutputTuple, + MockExecutedEvent.OutputObject + >; + + filters: { + "MockExecuted(uint256)": TypedContractEvent< + MockExecutedEvent.InputTuple, + MockExecutedEvent.OutputTuple, + MockExecutedEvent.OutputObject + >; + MockExecuted: TypedContractEvent< + MockExecutedEvent.InputTuple, + MockExecutedEvent.OutputTuple, + MockExecutedEvent.OutputObject + >; + }; +} diff --git a/typechain-types/contracts/Governance/v4-exploit-patch/mock/MockProposals.sol/MaliciousProposal.ts b/typechain-types/contracts/Governance/v4-exploit-patch/mock/MockProposals.sol/MaliciousProposal.ts new file mode 100644 index 0000000..ae626e2 --- /dev/null +++ b/typechain-types/contracts/Governance/v4-exploit-patch/mock/MockProposals.sol/MaliciousProposal.ts @@ -0,0 +1,148 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../../../common"; + +export interface MaliciousProposalInterface extends Interface { + getFunction( + nameOrSignature: "deployer" | "emergencyStop" | "executeProposal" + ): FunctionFragment; + + getEvent(nameOrSignatureOrTopic: "MockExecuted"): EventFragment; + + encodeFunctionData(functionFragment: "deployer", values?: undefined): string; + encodeFunctionData( + functionFragment: "emergencyStop", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "executeProposal", + values?: undefined + ): string; + + decodeFunctionResult(functionFragment: "deployer", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "emergencyStop", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "executeProposal", + data: BytesLike + ): Result; +} + +export namespace MockExecutedEvent { + export type InputTuple = [num: BigNumberish]; + export type OutputTuple = [num: bigint]; + export interface OutputObject { + num: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface MaliciousProposal extends BaseContract { + connect(runner?: ContractRunner | null): MaliciousProposal; + waitForDeployment(): Promise; + + interface: MaliciousProposalInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + deployer: TypedContractMethod<[], [string], "view">; + + emergencyStop: TypedContractMethod<[], [void], "nonpayable">; + + executeProposal: TypedContractMethod<[], [void], "nonpayable">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "deployer" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "emergencyStop" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "executeProposal" + ): TypedContractMethod<[], [void], "nonpayable">; + + getEvent( + key: "MockExecuted" + ): TypedContractEvent< + MockExecutedEvent.InputTuple, + MockExecutedEvent.OutputTuple, + MockExecutedEvent.OutputObject + >; + + filters: { + "MockExecuted(uint256)": TypedContractEvent< + MockExecutedEvent.InputTuple, + MockExecutedEvent.OutputTuple, + MockExecutedEvent.OutputObject + >; + MockExecuted: TypedContractEvent< + MockExecutedEvent.InputTuple, + MockExecutedEvent.OutputTuple, + MockExecutedEvent.OutputObject + >; + }; +} diff --git a/typechain-types/contracts/Governance/v4-exploit-patch/mock/MockProposals.sol/index.ts b/typechain-types/contracts/Governance/v4-exploit-patch/mock/MockProposals.sol/index.ts new file mode 100644 index 0000000..b4ffbf9 --- /dev/null +++ b/typechain-types/contracts/Governance/v4-exploit-patch/mock/MockProposals.sol/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { InitialProposal } from "./InitialProposal"; +export type { MaliciousProposal } from "./MaliciousProposal"; diff --git a/typechain-types/contracts/Governance/v4-exploit-patch/mock/index.ts b/typechain-types/contracts/Governance/v4-exploit-patch/mock/index.ts new file mode 100644 index 0000000..70f9a56 --- /dev/null +++ b/typechain-types/contracts/Governance/v4-exploit-patch/mock/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as mockProposalsSol from "./MockProposals.sol"; +export type { mockProposalsSol }; diff --git a/typechain-types/contracts/Governance/v5-proposal-state-patch/GovernanceProposalStateUpgrade.ts b/typechain-types/contracts/Governance/v5-proposal-state-patch/GovernanceProposalStateUpgrade.ts new file mode 100644 index 0000000..b026382 --- /dev/null +++ b/typechain-types/contracts/Governance/v5-proposal-state-patch/GovernanceProposalStateUpgrade.ts @@ -0,0 +1,1109 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../../../common"; + +export declare namespace Governance { + export type ReceiptStruct = { + hasVoted: boolean; + support: boolean; + votes: BigNumberish; + }; + + export type ReceiptStructOutput = [ + hasVoted: boolean, + support: boolean, + votes: bigint + ] & { hasVoted: boolean; support: boolean; votes: bigint }; +} + +export interface GovernanceProposalStateUpgradeInterface extends Interface { + getFunction( + nameOrSignature: + | "CLOSING_PERIOD" + | "EXECUTION_DELAY" + | "EXECUTION_EXPIRATION" + | "PROPOSAL_THRESHOLD" + | "QUORUM_VOTES" + | "Staking" + | "VOTE_EXTEND_TIME" + | "VOTING_DELAY" + | "VOTING_PERIOD" + | "canWithdrawAfter" + | "castDelegatedVote" + | "castVote" + | "checkIfQuorumReached" + | "delegate" + | "delegatedTo" + | "execute" + | "gasCompensationVault" + | "getReceipt" + | "hasAccountVoted" + | "initialize" + | "latestProposalIds" + | "lock" + | "lockWithApproval" + | "lockedBalance" + | "proposalCodehashes" + | "proposalCount" + | "proposals" + | "propose" + | "proposeByDelegate" + | "returnMultisigAddress" + | "setClosingPeriod" + | "setExecutionDelay" + | "setExecutionExpiration" + | "setGasCompensations" + | "setProposalThreshold" + | "setQuorumVotes" + | "setVoteExtendTime" + | "setVotingDelay" + | "setVotingPeriod" + | "state" + | "torn" + | "undelegate" + | "unlock" + | "userVault" + | "version" + | "withdrawFromHelper" + ): FunctionFragment; + + getEvent( + nameOrSignatureOrTopic: + | "Delegated" + | "ProposalCreated" + | "ProposalExecuted" + | "RewardUpdateFailed" + | "RewardUpdateSuccessful" + | "Undelegated" + | "Voted" + ): EventFragment; + + encodeFunctionData( + functionFragment: "CLOSING_PERIOD", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "EXECUTION_DELAY", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "EXECUTION_EXPIRATION", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "PROPOSAL_THRESHOLD", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "QUORUM_VOTES", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "Staking", values?: undefined): string; + encodeFunctionData( + functionFragment: "VOTE_EXTEND_TIME", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "VOTING_DELAY", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "VOTING_PERIOD", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "canWithdrawAfter", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "castDelegatedVote", + values: [AddressLike[], BigNumberish, boolean] + ): string; + encodeFunctionData( + functionFragment: "castVote", + values: [BigNumberish, boolean] + ): string; + encodeFunctionData( + functionFragment: "checkIfQuorumReached", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "delegate", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "delegatedTo", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "execute", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "gasCompensationVault", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getReceipt", + values: [BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "hasAccountVoted", + values: [BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "initialize", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "latestProposalIds", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "lock", + values: [ + AddressLike, + BigNumberish, + BigNumberish, + BigNumberish, + BytesLike, + BytesLike + ] + ): string; + encodeFunctionData( + functionFragment: "lockWithApproval", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "lockedBalance", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "proposalCodehashes", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "proposalCount", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "proposals", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "propose", + values: [AddressLike, string] + ): string; + encodeFunctionData( + functionFragment: "proposeByDelegate", + values: [AddressLike, AddressLike, string] + ): string; + encodeFunctionData( + functionFragment: "returnMultisigAddress", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "setClosingPeriod", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setExecutionDelay", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setExecutionExpiration", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setGasCompensations", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setProposalThreshold", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setQuorumVotes", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setVoteExtendTime", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setVotingDelay", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setVotingPeriod", + values: [BigNumberish] + ): string; + encodeFunctionData(functionFragment: "state", values: [BigNumberish]): string; + encodeFunctionData(functionFragment: "torn", values?: undefined): string; + encodeFunctionData( + functionFragment: "undelegate", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "unlock", + values: [BigNumberish] + ): string; + encodeFunctionData(functionFragment: "userVault", values?: undefined): string; + encodeFunctionData(functionFragment: "version", values?: undefined): string; + encodeFunctionData( + functionFragment: "withdrawFromHelper", + values: [BigNumberish] + ): string; + + decodeFunctionResult( + functionFragment: "CLOSING_PERIOD", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "EXECUTION_DELAY", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "EXECUTION_EXPIRATION", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "PROPOSAL_THRESHOLD", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "QUORUM_VOTES", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "Staking", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "VOTE_EXTEND_TIME", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "VOTING_DELAY", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "VOTING_PERIOD", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "canWithdrawAfter", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "castDelegatedVote", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "castVote", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "checkIfQuorumReached", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "delegate", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "delegatedTo", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "execute", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "gasCompensationVault", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "getReceipt", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "hasAccountVoted", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "latestProposalIds", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "lock", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "lockWithApproval", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "lockedBalance", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "proposalCodehashes", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "proposalCount", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "proposals", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "propose", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "proposeByDelegate", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "returnMultisigAddress", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setClosingPeriod", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setExecutionDelay", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setExecutionExpiration", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setGasCompensations", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setProposalThreshold", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setQuorumVotes", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setVoteExtendTime", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setVotingDelay", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setVotingPeriod", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "state", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "torn", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "undelegate", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "unlock", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "userVault", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "version", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "withdrawFromHelper", + data: BytesLike + ): Result; +} + +export namespace DelegatedEvent { + export type InputTuple = [account: AddressLike, to: AddressLike]; + export type OutputTuple = [account: string, to: string]; + export interface OutputObject { + account: string; + to: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace ProposalCreatedEvent { + export type InputTuple = [ + id: BigNumberish, + proposer: AddressLike, + target: AddressLike, + startTime: BigNumberish, + endTime: BigNumberish, + description: string + ]; + export type OutputTuple = [ + id: bigint, + proposer: string, + target: string, + startTime: bigint, + endTime: bigint, + description: string + ]; + export interface OutputObject { + id: bigint; + proposer: string; + target: string; + startTime: bigint; + endTime: bigint; + description: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace ProposalExecutedEvent { + export type InputTuple = [proposalId: BigNumberish]; + export type OutputTuple = [proposalId: bigint]; + export interface OutputObject { + proposalId: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace RewardUpdateFailedEvent { + export type InputTuple = [account: AddressLike, errorData: BytesLike]; + export type OutputTuple = [account: string, errorData: string]; + export interface OutputObject { + account: string; + errorData: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace RewardUpdateSuccessfulEvent { + export type InputTuple = [account: AddressLike]; + export type OutputTuple = [account: string]; + export interface OutputObject { + account: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace UndelegatedEvent { + export type InputTuple = [account: AddressLike, from: AddressLike]; + export type OutputTuple = [account: string, from: string]; + export interface OutputObject { + account: string; + from: string; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace VotedEvent { + export type InputTuple = [ + proposalId: BigNumberish, + voter: AddressLike, + support: boolean, + votes: BigNumberish + ]; + export type OutputTuple = [ + proposalId: bigint, + voter: string, + support: boolean, + votes: bigint + ]; + export interface OutputObject { + proposalId: bigint; + voter: string; + support: boolean; + votes: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface GovernanceProposalStateUpgrade extends BaseContract { + connect(runner?: ContractRunner | null): GovernanceProposalStateUpgrade; + waitForDeployment(): Promise; + + interface: GovernanceProposalStateUpgradeInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): 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; + + CLOSING_PERIOD: TypedContractMethod<[], [bigint], "view">; + + EXECUTION_DELAY: TypedContractMethod<[], [bigint], "view">; + + EXECUTION_EXPIRATION: TypedContractMethod<[], [bigint], "view">; + + PROPOSAL_THRESHOLD: TypedContractMethod<[], [bigint], "view">; + + QUORUM_VOTES: TypedContractMethod<[], [bigint], "view">; + + Staking: TypedContractMethod<[], [string], "view">; + + VOTE_EXTEND_TIME: TypedContractMethod<[], [bigint], "view">; + + VOTING_DELAY: TypedContractMethod<[], [bigint], "view">; + + VOTING_PERIOD: TypedContractMethod<[], [bigint], "view">; + + canWithdrawAfter: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + + castDelegatedVote: TypedContractMethod< + [from: AddressLike[], proposalId: BigNumberish, support: boolean], + [void], + "nonpayable" + >; + + castVote: TypedContractMethod< + [proposalId: BigNumberish, support: boolean], + [void], + "nonpayable" + >; + + checkIfQuorumReached: TypedContractMethod< + [proposalId: BigNumberish], + [boolean], + "view" + >; + + delegate: TypedContractMethod<[to: AddressLike], [void], "nonpayable">; + + delegatedTo: TypedContractMethod<[arg0: AddressLike], [string], "view">; + + execute: TypedContractMethod<[proposalId: BigNumberish], [void], "payable">; + + gasCompensationVault: TypedContractMethod<[], [string], "view">; + + getReceipt: TypedContractMethod< + [proposalId: BigNumberish, voter: AddressLike], + [Governance.ReceiptStructOutput], + "view" + >; + + hasAccountVoted: TypedContractMethod< + [proposalId: BigNumberish, account: AddressLike], + [boolean], + "view" + >; + + initialize: TypedContractMethod<[_torn: AddressLike], [void], "nonpayable">; + + latestProposalIds: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + + lock: TypedContractMethod< + [ + owner: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], + [void], + "nonpayable" + >; + + lockWithApproval: TypedContractMethod< + [amount: BigNumberish], + [void], + "nonpayable" + >; + + lockedBalance: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + + proposalCodehashes: TypedContractMethod< + [arg0: BigNumberish], + [string], + "view" + >; + + proposalCount: TypedContractMethod<[], [bigint], "view">; + + proposals: TypedContractMethod< + [arg0: BigNumberish], + [ + [string, string, bigint, bigint, bigint, bigint, boolean, boolean] & { + proposer: string; + target: string; + startTime: bigint; + endTime: bigint; + forVotes: bigint; + againstVotes: bigint; + executed: boolean; + extended: boolean; + } + ], + "view" + >; + + propose: TypedContractMethod< + [target: AddressLike, description: string], + [bigint], + "nonpayable" + >; + + proposeByDelegate: TypedContractMethod< + [from: AddressLike, target: AddressLike, description: string], + [bigint], + "nonpayable" + >; + + returnMultisigAddress: TypedContractMethod<[], [string], "view">; + + setClosingPeriod: TypedContractMethod< + [closingPeriod: BigNumberish], + [void], + "nonpayable" + >; + + setExecutionDelay: TypedContractMethod< + [executionDelay: BigNumberish], + [void], + "nonpayable" + >; + + setExecutionExpiration: TypedContractMethod< + [executionExpiration: BigNumberish], + [void], + "nonpayable" + >; + + setGasCompensations: TypedContractMethod< + [gasCompensationsLimit: BigNumberish], + [void], + "nonpayable" + >; + + setProposalThreshold: TypedContractMethod< + [proposalThreshold: BigNumberish], + [void], + "nonpayable" + >; + + setQuorumVotes: TypedContractMethod< + [quorumVotes: BigNumberish], + [void], + "nonpayable" + >; + + setVoteExtendTime: TypedContractMethod< + [voteExtendTime: BigNumberish], + [void], + "nonpayable" + >; + + setVotingDelay: TypedContractMethod< + [votingDelay: BigNumberish], + [void], + "nonpayable" + >; + + setVotingPeriod: TypedContractMethod< + [votingPeriod: BigNumberish], + [void], + "nonpayable" + >; + + state: TypedContractMethod<[proposalId: BigNumberish], [bigint], "view">; + + torn: TypedContractMethod<[], [string], "view">; + + undelegate: TypedContractMethod<[], [void], "nonpayable">; + + unlock: TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + + userVault: TypedContractMethod<[], [string], "view">; + + version: TypedContractMethod<[], [string], "view">; + + withdrawFromHelper: TypedContractMethod< + [amount: BigNumberish], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "CLOSING_PERIOD" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "EXECUTION_DELAY" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "EXECUTION_EXPIRATION" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "PROPOSAL_THRESHOLD" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "QUORUM_VOTES" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "Staking" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "VOTE_EXTEND_TIME" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "VOTING_DELAY" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "VOTING_PERIOD" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "canWithdrawAfter" + ): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "castDelegatedVote" + ): TypedContractMethod< + [from: AddressLike[], proposalId: BigNumberish, support: boolean], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "castVote" + ): TypedContractMethod< + [proposalId: BigNumberish, support: boolean], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "checkIfQuorumReached" + ): TypedContractMethod<[proposalId: BigNumberish], [boolean], "view">; + getFunction( + nameOrSignature: "delegate" + ): TypedContractMethod<[to: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "delegatedTo" + ): TypedContractMethod<[arg0: AddressLike], [string], "view">; + getFunction( + nameOrSignature: "execute" + ): TypedContractMethod<[proposalId: BigNumberish], [void], "payable">; + getFunction( + nameOrSignature: "gasCompensationVault" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "getReceipt" + ): TypedContractMethod< + [proposalId: BigNumberish, voter: AddressLike], + [Governance.ReceiptStructOutput], + "view" + >; + getFunction( + nameOrSignature: "hasAccountVoted" + ): TypedContractMethod< + [proposalId: BigNumberish, account: AddressLike], + [boolean], + "view" + >; + getFunction( + nameOrSignature: "initialize" + ): TypedContractMethod<[_torn: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "latestProposalIds" + ): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "lock" + ): TypedContractMethod< + [ + owner: AddressLike, + amount: BigNumberish, + deadline: BigNumberish, + v: BigNumberish, + r: BytesLike, + s: BytesLike + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "lockWithApproval" + ): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "lockedBalance" + ): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "proposalCodehashes" + ): TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getFunction( + nameOrSignature: "proposalCount" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "proposals" + ): TypedContractMethod< + [arg0: BigNumberish], + [ + [string, string, bigint, bigint, bigint, bigint, boolean, boolean] & { + proposer: string; + target: string; + startTime: bigint; + endTime: bigint; + forVotes: bigint; + againstVotes: bigint; + executed: boolean; + extended: boolean; + } + ], + "view" + >; + getFunction( + nameOrSignature: "propose" + ): TypedContractMethod< + [target: AddressLike, description: string], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "proposeByDelegate" + ): TypedContractMethod< + [from: AddressLike, target: AddressLike, description: string], + [bigint], + "nonpayable" + >; + getFunction( + nameOrSignature: "returnMultisigAddress" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "setClosingPeriod" + ): TypedContractMethod<[closingPeriod: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "setExecutionDelay" + ): TypedContractMethod<[executionDelay: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "setExecutionExpiration" + ): TypedContractMethod< + [executionExpiration: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setGasCompensations" + ): TypedContractMethod< + [gasCompensationsLimit: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setProposalThreshold" + ): TypedContractMethod< + [proposalThreshold: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setQuorumVotes" + ): TypedContractMethod<[quorumVotes: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "setVoteExtendTime" + ): TypedContractMethod<[voteExtendTime: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "setVotingDelay" + ): TypedContractMethod<[votingDelay: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "setVotingPeriod" + ): TypedContractMethod<[votingPeriod: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "state" + ): TypedContractMethod<[proposalId: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "torn" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "undelegate" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "unlock" + ): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "userVault" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "version" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "withdrawFromHelper" + ): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + + getEvent( + key: "Delegated" + ): TypedContractEvent< + DelegatedEvent.InputTuple, + DelegatedEvent.OutputTuple, + DelegatedEvent.OutputObject + >; + getEvent( + key: "ProposalCreated" + ): TypedContractEvent< + ProposalCreatedEvent.InputTuple, + ProposalCreatedEvent.OutputTuple, + ProposalCreatedEvent.OutputObject + >; + getEvent( + key: "ProposalExecuted" + ): TypedContractEvent< + ProposalExecutedEvent.InputTuple, + ProposalExecutedEvent.OutputTuple, + ProposalExecutedEvent.OutputObject + >; + getEvent( + key: "RewardUpdateFailed" + ): TypedContractEvent< + RewardUpdateFailedEvent.InputTuple, + RewardUpdateFailedEvent.OutputTuple, + RewardUpdateFailedEvent.OutputObject + >; + getEvent( + key: "RewardUpdateSuccessful" + ): TypedContractEvent< + RewardUpdateSuccessfulEvent.InputTuple, + RewardUpdateSuccessfulEvent.OutputTuple, + RewardUpdateSuccessfulEvent.OutputObject + >; + getEvent( + key: "Undelegated" + ): TypedContractEvent< + UndelegatedEvent.InputTuple, + UndelegatedEvent.OutputTuple, + UndelegatedEvent.OutputObject + >; + getEvent( + key: "Voted" + ): TypedContractEvent< + VotedEvent.InputTuple, + VotedEvent.OutputTuple, + VotedEvent.OutputObject + >; + + filters: { + "Delegated(address,address)": TypedContractEvent< + DelegatedEvent.InputTuple, + DelegatedEvent.OutputTuple, + DelegatedEvent.OutputObject + >; + Delegated: TypedContractEvent< + DelegatedEvent.InputTuple, + DelegatedEvent.OutputTuple, + DelegatedEvent.OutputObject + >; + + "ProposalCreated(uint256,address,address,uint256,uint256,string)": TypedContractEvent< + ProposalCreatedEvent.InputTuple, + ProposalCreatedEvent.OutputTuple, + ProposalCreatedEvent.OutputObject + >; + ProposalCreated: TypedContractEvent< + ProposalCreatedEvent.InputTuple, + ProposalCreatedEvent.OutputTuple, + ProposalCreatedEvent.OutputObject + >; + + "ProposalExecuted(uint256)": TypedContractEvent< + ProposalExecutedEvent.InputTuple, + ProposalExecutedEvent.OutputTuple, + ProposalExecutedEvent.OutputObject + >; + ProposalExecuted: TypedContractEvent< + ProposalExecutedEvent.InputTuple, + ProposalExecutedEvent.OutputTuple, + ProposalExecutedEvent.OutputObject + >; + + "RewardUpdateFailed(address,bytes)": TypedContractEvent< + RewardUpdateFailedEvent.InputTuple, + RewardUpdateFailedEvent.OutputTuple, + RewardUpdateFailedEvent.OutputObject + >; + RewardUpdateFailed: TypedContractEvent< + RewardUpdateFailedEvent.InputTuple, + RewardUpdateFailedEvent.OutputTuple, + RewardUpdateFailedEvent.OutputObject + >; + + "RewardUpdateSuccessful(address)": TypedContractEvent< + RewardUpdateSuccessfulEvent.InputTuple, + RewardUpdateSuccessfulEvent.OutputTuple, + RewardUpdateSuccessfulEvent.OutputObject + >; + RewardUpdateSuccessful: TypedContractEvent< + RewardUpdateSuccessfulEvent.InputTuple, + RewardUpdateSuccessfulEvent.OutputTuple, + RewardUpdateSuccessfulEvent.OutputObject + >; + + "Undelegated(address,address)": TypedContractEvent< + UndelegatedEvent.InputTuple, + UndelegatedEvent.OutputTuple, + UndelegatedEvent.OutputObject + >; + Undelegated: TypedContractEvent< + UndelegatedEvent.InputTuple, + UndelegatedEvent.OutputTuple, + UndelegatedEvent.OutputObject + >; + + "Voted(uint256,address,bool,uint256)": TypedContractEvent< + VotedEvent.InputTuple, + VotedEvent.OutputTuple, + VotedEvent.OutputObject + >; + Voted: TypedContractEvent< + VotedEvent.InputTuple, + VotedEvent.OutputTuple, + VotedEvent.OutputObject + >; + }; +} diff --git a/typechain-types/contracts/Governance/v5-proposal-state-patch/index.ts b/typechain-types/contracts/Governance/v5-proposal-state-patch/index.ts new file mode 100644 index 0000000..e532c6c --- /dev/null +++ b/typechain-types/contracts/Governance/v5-proposal-state-patch/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { GovernanceProposalStateUpgrade } from "./GovernanceProposalStateUpgrade"; diff --git a/typechain-types/contracts/index.ts b/typechain-types/contracts/index.ts new file mode 100644 index 0000000..98c92a1 --- /dev/null +++ b/typechain-types/contracts/index.ts @@ -0,0 +1,7 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as classic from "./Classic"; +export type { classic }; +import type * as governance from "./Governance"; +export type { governance }; diff --git a/typechain-types/factories/@openzeppelin/contracts-v3/access/Ownable__factory.ts b/typechain-types/factories/@openzeppelin/contracts-v3/access/Ownable__factory.ts new file mode 100644 index 0000000..6c1a5a4 --- /dev/null +++ b/typechain-types/factories/@openzeppelin/contracts-v3/access/Ownable__factory.ts @@ -0,0 +1,74 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + Ownable, + OwnableInterface, +} from "../../../../@openzeppelin/contracts-v3/access/Ownable"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "previousOwner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "newOwner", + type: "address", + }, + ], + name: "OwnershipTransferred", + type: "event", + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "renounceOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newOwner", + type: "address", + }, + ], + name: "transferOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class Ownable__factory { + static readonly abi = _abi; + static createInterface(): OwnableInterface { + return new Interface(_abi) as OwnableInterface; + } + static connect(address: string, runner?: ContractRunner | null): Ownable { + return new Contract(address, _abi, runner) as unknown as Ownable; + } +} diff --git a/typechain-types/factories/@openzeppelin/contracts-v3/access/index.ts b/typechain-types/factories/@openzeppelin/contracts-v3/access/index.ts new file mode 100644 index 0000000..e332ae3 --- /dev/null +++ b/typechain-types/factories/@openzeppelin/contracts-v3/access/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { Ownable__factory } from "./Ownable__factory"; diff --git a/typechain-types/factories/@openzeppelin/contracts-v3/index.ts b/typechain-types/factories/@openzeppelin/contracts-v3/index.ts new file mode 100644 index 0000000..b576efc --- /dev/null +++ b/typechain-types/factories/@openzeppelin/contracts-v3/index.ts @@ -0,0 +1,7 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as access from "./access"; +export * as proxy from "./proxy"; +export * as token from "./token"; +export * as utils from "./utils"; diff --git a/typechain-types/factories/@openzeppelin/contracts-v3/proxy/Proxy__factory.ts b/typechain-types/factories/@openzeppelin/contracts-v3/proxy/Proxy__factory.ts new file mode 100644 index 0000000..5ac2cf3 --- /dev/null +++ b/typechain-types/factories/@openzeppelin/contracts-v3/proxy/Proxy__factory.ts @@ -0,0 +1,30 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + Proxy, + ProxyInterface, +} from "../../../../@openzeppelin/contracts-v3/proxy/Proxy"; + +const _abi = [ + { + stateMutability: "payable", + type: "fallback", + }, + { + stateMutability: "payable", + type: "receive", + }, +] as const; + +export class Proxy__factory { + static readonly abi = _abi; + static createInterface(): ProxyInterface { + return new Interface(_abi) as ProxyInterface; + } + static connect(address: string, runner?: ContractRunner | null): Proxy { + return new Contract(address, _abi, runner) as unknown as Proxy; + } +} diff --git a/typechain-types/factories/@openzeppelin/contracts-v3/proxy/TransparentUpgradeableProxy__factory.ts b/typechain-types/factories/@openzeppelin/contracts-v3/proxy/TransparentUpgradeableProxy__factory.ts new file mode 100644 index 0000000..0221923 --- /dev/null +++ b/typechain-types/factories/@openzeppelin/contracts-v3/proxy/TransparentUpgradeableProxy__factory.ts @@ -0,0 +1,218 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { + Signer, + BytesLike, + AddressLike, + ContractDeployTransaction, + ContractRunner, +} from "ethers"; +import type { PayableOverrides } from "../../../../common"; +import type { + TransparentUpgradeableProxy, + TransparentUpgradeableProxyInterface, +} from "../../../../@openzeppelin/contracts-v3/proxy/TransparentUpgradeableProxy"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "_logic", + type: "address", + }, + { + internalType: "address", + name: "_admin", + type: "address", + }, + { + internalType: "bytes", + name: "_data", + type: "bytes", + }, + ], + stateMutability: "payable", + type: "constructor", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "previousAdmin", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "newAdmin", + type: "address", + }, + ], + name: "AdminChanged", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "implementation", + type: "address", + }, + ], + name: "Upgraded", + type: "event", + }, + { + stateMutability: "payable", + type: "fallback", + }, + { + inputs: [], + name: "admin", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newAdmin", + type: "address", + }, + ], + name: "changeAdmin", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "implementation", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newImplementation", + type: "address", + }, + ], + name: "upgradeTo", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newImplementation", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "upgradeToAndCall", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + stateMutability: "payable", + type: "receive", + }, +] as const; + +const _bytecode = + "0x60806040526040516108dc3803806108dc8339818101604052606081101561002657600080fd5b8151602083015160408085018051915193959294830192918464010000000082111561005157600080fd5b90830190602082018581111561006657600080fd5b825164010000000081118282018810171561008057600080fd5b82525081516020918201929091019080838360005b838110156100ad578181015183820152602001610095565b50505050905090810190601f1680156100da5780820380516001836020036101000a031916815260200191505b50604052508491508290506100ee826101bf565b8051156101a6576000826001600160a01b0316826040518082805190602001908083835b602083106101315780518252601f199092019160209182019101610112565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610191576040519150601f19603f3d011682016040523d82523d6000602084013e610196565b606091505b50509050806101a457600080fd5b505b506101ae9050565b6101b782610231565b50505061025b565b6101d28161025560201b6103b41760201c565b61020d5760405162461bcd60e51b81526004018080602001828103825260368152602001806108a66036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b3b151590565b61063c8061026a6000396000f3fe60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100985780635c60da1b146101185780638f28397014610149578063f851a4401461017c5761005d565b3661005d5761005b610191565b005b61005b610191565b34801561007157600080fd5b5061005b6004803603602081101561008857600080fd5b50356001600160a01b03166101ab565b61005b600480360360408110156100ae57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100d957600080fd5b8201836020820111156100eb57600080fd5b8035906020019184600183028401116401000000008311171561010d57600080fd5b5090925090506101e5565b34801561012457600080fd5b5061012d610292565b604080516001600160a01b039092168252519081900360200190f35b34801561015557600080fd5b5061005b6004803603602081101561016c57600080fd5b50356001600160a01b03166102cf565b34801561018857600080fd5b5061012d610389565b6101996103ba565b6101a96101a461041a565b61043f565b565b6101b3610463565b6001600160a01b0316336001600160a01b031614156101da576101d581610488565b6101e2565b6101e2610191565b50565b6101ed610463565b6001600160a01b0316336001600160a01b031614156102855761020f83610488565b6000836001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d806000811461026c576040519150601f19603f3d011682016040523d82523d6000602084013e610271565b606091505b505090508061027f57600080fd5b5061028d565b61028d610191565b505050565b600061029c610463565b6001600160a01b0316336001600160a01b031614156102c4576102bd61041a565b90506102cc565b6102cc610191565b90565b6102d7610463565b6001600160a01b0316336001600160a01b031614156101da576001600160a01b0381166103355760405162461bcd60e51b815260040180806020018281038252603a815260200180610555603a913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61035e610463565b604080516001600160a01b03928316815291841660208301528051918290030190a16101d5816104c8565b6000610393610463565b6001600160a01b0316336001600160a01b031614156102c4576102bd610463565b3b151590565b6103c2610463565b6001600160a01b0316336001600160a01b031614156104125760405162461bcd60e51b81526004018080602001828103825260428152602001806105c56042913960600191505060405180910390fd5b6101a96101a9565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e80801561045e573d6000f35b3d6000fd5b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b610491816104ec565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b6104f5816103b4565b6105305760405162461bcd60e51b815260040180806020018281038252603681526020018061058f6036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5556fe5472616e73706172656e745570677261646561626c6550726f78793a206e65772061646d696e20697320746865207a65726f20616464726573735570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e74726163745472616e73706172656e745570677261646561626c6550726f78793a2061646d696e2063616e6e6f742066616c6c6261636b20746f2070726f787920746172676574a26469706673582212200bf5c74f32000c92994fb0de053047d19f9c526eb1b1953df8bcb7d7e0df8d2864736f6c634300060c00335570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374"; + +type TransparentUpgradeableProxyConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: TransparentUpgradeableProxyConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class TransparentUpgradeableProxy__factory extends ContractFactory { + constructor(...args: TransparentUpgradeableProxyConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + _logic: AddressLike, + _admin: AddressLike, + _data: BytesLike, + overrides?: PayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(_logic, _admin, _data, overrides || {}); + } + override deploy( + _logic: AddressLike, + _admin: AddressLike, + _data: BytesLike, + overrides?: PayableOverrides & { from?: string } + ) { + return super.deploy(_logic, _admin, _data, overrides || {}) as Promise< + TransparentUpgradeableProxy & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect( + runner: ContractRunner | null + ): TransparentUpgradeableProxy__factory { + return super.connect(runner) as TransparentUpgradeableProxy__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): TransparentUpgradeableProxyInterface { + return new Interface(_abi) as TransparentUpgradeableProxyInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): TransparentUpgradeableProxy { + return new Contract( + address, + _abi, + runner + ) as unknown as TransparentUpgradeableProxy; + } +} diff --git a/typechain-types/factories/@openzeppelin/contracts-v3/proxy/UpgradeableProxy__factory.ts b/typechain-types/factories/@openzeppelin/contracts-v3/proxy/UpgradeableProxy__factory.ts new file mode 100644 index 0000000..bace8d7 --- /dev/null +++ b/typechain-types/factories/@openzeppelin/contracts-v3/proxy/UpgradeableProxy__factory.ts @@ -0,0 +1,116 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { + Signer, + BytesLike, + AddressLike, + ContractDeployTransaction, + ContractRunner, +} from "ethers"; +import type { PayableOverrides } from "../../../../common"; +import type { + UpgradeableProxy, + UpgradeableProxyInterface, +} from "../../../../@openzeppelin/contracts-v3/proxy/UpgradeableProxy"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "_logic", + type: "address", + }, + { + internalType: "bytes", + name: "_data", + type: "bytes", + }, + ], + stateMutability: "payable", + type: "constructor", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "implementation", + type: "address", + }, + ], + name: "Upgraded", + type: "event", + }, + { + stateMutability: "payable", + type: "fallback", + }, + { + stateMutability: "payable", + type: "receive", + }, +] as const; + +const _bytecode = + "0x60806040526040516103123803806103128339818101604052604081101561002657600080fd5b81516020830180516040519294929383019291908464010000000082111561004d57600080fd5b90830190602082018581111561006257600080fd5b825164010000000081118282018810171561007c57600080fd5b82525081516020918201929091019080838360005b838110156100a9578181015183820152602001610091565b50505050905090810190601f1680156100d65780820380516001836020036101000a031916815260200191505b50604052506100e3915050565b6100ec826101ab565b8051156101a4576000826001600160a01b0316826040518082805190602001908083835b6020831061012f5780518252601f199092019160209182019101610110565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d806000811461018f576040519150601f19603f3d011682016040523d82523d6000602084013e610194565b606091505b50509050806101a257600080fd5b505b5050610223565b6101be8161021d60201b6100271760201c565b6101f95760405162461bcd60e51b81526004018080602001828103825260368152602001806102dc6036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b3b151590565b60ab806102316000396000f3fe608060405236601057600e6013565b005b600e5b60196025565b60256021602d565b6052565b565b3b151590565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e8080156070573d6000f35b3d6000fdfea2646970667358221220621b7042bfb847b4073a3c58bdbea5295ce2e761b4e2307ca010caaac996d80c64736f6c634300060c00335570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374"; + +type UpgradeableProxyConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: UpgradeableProxyConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class UpgradeableProxy__factory extends ContractFactory { + constructor(...args: UpgradeableProxyConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + _logic: AddressLike, + _data: BytesLike, + overrides?: PayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(_logic, _data, overrides || {}); + } + override deploy( + _logic: AddressLike, + _data: BytesLike, + overrides?: PayableOverrides & { from?: string } + ) { + return super.deploy(_logic, _data, overrides || {}) as Promise< + UpgradeableProxy & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): UpgradeableProxy__factory { + return super.connect(runner) as UpgradeableProxy__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): UpgradeableProxyInterface { + return new Interface(_abi) as UpgradeableProxyInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): UpgradeableProxy { + return new Contract(address, _abi, runner) as unknown as UpgradeableProxy; + } +} diff --git a/typechain-types/factories/@openzeppelin/contracts-v3/proxy/index.ts b/typechain-types/factories/@openzeppelin/contracts-v3/proxy/index.ts new file mode 100644 index 0000000..8f90893 --- /dev/null +++ b/typechain-types/factories/@openzeppelin/contracts-v3/proxy/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { Proxy__factory } from "./Proxy__factory"; +export { TransparentUpgradeableProxy__factory } from "./TransparentUpgradeableProxy__factory"; +export { UpgradeableProxy__factory } from "./UpgradeableProxy__factory"; diff --git a/typechain-types/factories/@openzeppelin/contracts-v3/token/ERC20/ERC20Burnable__factory.ts b/typechain-types/factories/@openzeppelin/contracts-v3/token/ERC20/ERC20Burnable__factory.ts new file mode 100644 index 0000000..7c8fb33 --- /dev/null +++ b/typechain-types/factories/@openzeppelin/contracts-v3/token/ERC20/ERC20Burnable__factory.ts @@ -0,0 +1,326 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + ERC20Burnable, + ERC20BurnableInterface, +} from "../../../../../@openzeppelin/contracts-v3/token/ERC20/ERC20Burnable"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Approval", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Transfer", + type: "event", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "burn", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "burnFrom", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "subtractedValue", + type: "uint256", + }, + ], + name: "decreaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256", + }, + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class ERC20Burnable__factory { + static readonly abi = _abi; + static createInterface(): ERC20BurnableInterface { + return new Interface(_abi) as ERC20BurnableInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): ERC20Burnable { + return new Contract(address, _abi, runner) as unknown as ERC20Burnable; + } +} diff --git a/typechain-types/factories/@openzeppelin/contracts-v3/token/ERC20/ERC20__factory.ts b/typechain-types/factories/@openzeppelin/contracts-v3/token/ERC20/ERC20__factory.ts new file mode 100644 index 0000000..b48849f --- /dev/null +++ b/typechain-types/factories/@openzeppelin/contracts-v3/token/ERC20/ERC20__factory.ts @@ -0,0 +1,356 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../../common"; +import type { + ERC20, + ERC20Interface, +} from "../../../../../@openzeppelin/contracts-v3/token/ERC20/ERC20"; + +const _abi = [ + { + inputs: [ + { + internalType: "string", + name: "name", + type: "string", + }, + { + internalType: "string", + name: "symbol", + type: "string", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Approval", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Transfer", + type: "event", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "subtractedValue", + type: "uint256", + }, + ], + name: "decreaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256", + }, + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +const _bytecode = + "0x608060405234801561001057600080fd5b5060405162000c6238038062000c628339818101604052604081101561003557600080fd5b810190808051604051939291908464010000000082111561005557600080fd5b90830190602082018581111561006a57600080fd5b825164010000000081118282018810171561008457600080fd5b82525081516020918201929091019080838360005b838110156100b1578181015183820152602001610099565b50505050905090810190601f1680156100de5780820380516001836020036101000a031916815260200191505b506040526020018051604051939291908464010000000082111561010157600080fd5b90830190602082018581111561011657600080fd5b825164010000000081118282018810171561013057600080fd5b82525081516020918201929091019080838360005b8381101561015d578181015183820152602001610145565b50505050905090810190601f16801561018a5780820380516001836020036101000a031916815260200191505b50604052505082516101a4915060039060208501906101cd565b5080516101b89060049060208401906101cd565b50506005805460ff1916601217905550610260565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061020e57805160ff191683800117855561023b565b8280016001018555821561023b579182015b8281111561023b578251825591602001919060010190610220565b5061024792915061024b565b5090565b5b80821115610247576000815560010161024c565b6109f280620002706000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c8063395093511161007157806339509351146101d957806370a082311461020557806395d89b411461022b578063a457c2d714610233578063a9059cbb1461025f578063dd62ed3e1461028b576100a9565b806306fdde03146100ae578063095ea7b31461012b57806318160ddd1461016b57806323b872dd14610185578063313ce567146101bb575b600080fd5b6100b66102b9565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100f05781810151838201526020016100d8565b50505050905090810190601f16801561011d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101576004803603604081101561014157600080fd5b506001600160a01b03813516906020013561034f565b604080519115158252519081900360200190f35b61017361036c565b60408051918252519081900360200190f35b6101576004803603606081101561019b57600080fd5b506001600160a01b03813581169160208101359091169060400135610372565b6101c36103f9565b6040805160ff9092168252519081900360200190f35b610157600480360360408110156101ef57600080fd5b506001600160a01b038135169060200135610402565b6101736004803603602081101561021b57600080fd5b50356001600160a01b0316610450565b6100b661046b565b6101576004803603604081101561024957600080fd5b506001600160a01b0381351690602001356104cc565b6101576004803603604081101561027557600080fd5b506001600160a01b038135169060200135610534565b610173600480360360408110156102a157600080fd5b506001600160a01b0381358116916020013516610548565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103455780601f1061031a57610100808354040283529160200191610345565b820191906000526020600020905b81548152906001019060200180831161032857829003601f168201915b5050505050905090565b600061036361035c610573565b8484610577565b50600192915050565b60025490565b600061037f848484610663565b6103ef8461038b610573565b6103ea85604051806060016040528060288152602001610927602891396001600160a01b038a166000908152600160205260408120906103c9610573565b6001600160a01b0316815260208101919091526040016000205491906107be565b610577565b5060019392505050565b60055460ff1690565b600061036361040f610573565b846103ea8560016000610420610573565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610855565b6001600160a01b031660009081526020819052604090205490565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103455780601f1061031a57610100808354040283529160200191610345565b60006103636104d9610573565b846103ea856040518060600160405280602581526020016109986025913960016000610503610573565b6001600160a01b03908116825260208083019390935260409182016000908120918d168152925290205491906107be565b6000610363610541610573565b8484610663565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3390565b6001600160a01b0383166105bc5760405162461bcd60e51b81526004018080602001828103825260248152602001806109746024913960400191505060405180910390fd5b6001600160a01b0382166106015760405162461bcd60e51b81526004018080602001828103825260228152602001806108df6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166106a85760405162461bcd60e51b815260040180806020018281038252602581526020018061094f6025913960400191505060405180910390fd5b6001600160a01b0382166106ed5760405162461bcd60e51b81526004018080602001828103825260238152602001806108bc6023913960400191505060405180910390fd5b6106f88383836108b6565b61073581604051806060016040528060268152602001610901602691396001600160a01b03861660009081526020819052604090205491906107be565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546107649082610855565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000818484111561084d5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156108125781810151838201526020016107fa565b50505050905090810190601f16801561083f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000828201838110156108af576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220347718b9db0288208ab5957df73278c6f781963df0e13918151971217fc2827964736f6c634300060c0033"; + +type ERC20ConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: ERC20ConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class ERC20__factory extends ContractFactory { + constructor(...args: ERC20ConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + name: string, + symbol: string, + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(name, symbol, overrides || {}); + } + override deploy( + name: string, + symbol: string, + overrides?: NonPayableOverrides & { from?: string } + ) { + return super.deploy(name, symbol, overrides || {}) as Promise< + ERC20 & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): ERC20__factory { + return super.connect(runner) as ERC20__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): ERC20Interface { + return new Interface(_abi) as ERC20Interface; + } + static connect(address: string, runner?: ContractRunner | null): ERC20 { + return new Contract(address, _abi, runner) as unknown as ERC20; + } +} diff --git a/typechain-types/factories/@openzeppelin/contracts-v3/token/ERC20/IERC20__factory.ts b/typechain-types/factories/@openzeppelin/contracts-v3/token/ERC20/IERC20__factory.ts new file mode 100644 index 0000000..bbc215b --- /dev/null +++ b/typechain-types/factories/@openzeppelin/contracts-v3/token/ERC20/IERC20__factory.ts @@ -0,0 +1,205 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IERC20, + IERC20Interface, +} from "../../../../../@openzeppelin/contracts-v3/token/ERC20/IERC20"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Approval", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Transfer", + type: "event", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IERC20__factory { + static readonly abi = _abi; + static createInterface(): IERC20Interface { + return new Interface(_abi) as IERC20Interface; + } + static connect(address: string, runner?: ContractRunner | null): IERC20 { + return new Contract(address, _abi, runner) as unknown as IERC20; + } +} diff --git a/typechain-types/factories/@openzeppelin/contracts-v3/token/ERC20/index.ts b/typechain-types/factories/@openzeppelin/contracts-v3/token/ERC20/index.ts new file mode 100644 index 0000000..fa68cdc --- /dev/null +++ b/typechain-types/factories/@openzeppelin/contracts-v3/token/ERC20/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { ERC20__factory } from "./ERC20__factory"; +export { ERC20Burnable__factory } from "./ERC20Burnable__factory"; +export { IERC20__factory } from "./IERC20__factory"; diff --git a/typechain-types/factories/@openzeppelin/contracts-v3/token/index.ts b/typechain-types/factories/@openzeppelin/contracts-v3/token/index.ts new file mode 100644 index 0000000..da1e061 --- /dev/null +++ b/typechain-types/factories/@openzeppelin/contracts-v3/token/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as erc20 from "./ERC20"; diff --git a/typechain-types/factories/@openzeppelin/contracts-v3/utils/Pausable__factory.ts b/typechain-types/factories/@openzeppelin/contracts-v3/utils/Pausable__factory.ts new file mode 100644 index 0000000..9f8d931 --- /dev/null +++ b/typechain-types/factories/@openzeppelin/contracts-v3/utils/Pausable__factory.ts @@ -0,0 +1,61 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + Pausable, + PausableInterface, +} from "../../../../@openzeppelin/contracts-v3/utils/Pausable"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "Paused", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "Unpaused", + type: "event", + }, + { + inputs: [], + name: "paused", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +export class Pausable__factory { + static readonly abi = _abi; + static createInterface(): PausableInterface { + return new Interface(_abi) as PausableInterface; + } + static connect(address: string, runner?: ContractRunner | null): Pausable { + return new Contract(address, _abi, runner) as unknown as Pausable; + } +} diff --git a/typechain-types/factories/@openzeppelin/contracts-v3/utils/index.ts b/typechain-types/factories/@openzeppelin/contracts-v3/utils/index.ts new file mode 100644 index 0000000..0d4ecd4 --- /dev/null +++ b/typechain-types/factories/@openzeppelin/contracts-v3/utils/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { Pausable__factory } from "./Pausable__factory"; diff --git a/typechain-types/factories/@openzeppelin/contracts/index.ts b/typechain-types/factories/@openzeppelin/contracts/index.ts new file mode 100644 index 0000000..074241c --- /dev/null +++ b/typechain-types/factories/@openzeppelin/contracts/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as interfaces from "./interfaces"; +export * as token from "./token"; diff --git a/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors__factory.ts b/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors__factory.ts new file mode 100644 index 0000000..0413f8c --- /dev/null +++ b/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors__factory.ts @@ -0,0 +1,127 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IERC1155Errors, + IERC1155ErrorsInterface, +} from "../../../../../@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + { + internalType: "uint256", + name: "balance", + type: "uint256", + }, + { + internalType: "uint256", + name: "needed", + type: "uint256", + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + ], + name: "ERC1155InsufficientBalance", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "approver", + type: "address", + }, + ], + name: "ERC1155InvalidApprover", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "idsLength", + type: "uint256", + }, + { + internalType: "uint256", + name: "valuesLength", + type: "uint256", + }, + ], + name: "ERC1155InvalidArrayLength", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "operator", + type: "address", + }, + ], + name: "ERC1155InvalidOperator", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "ERC1155InvalidReceiver", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + ], + name: "ERC1155InvalidSender", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "operator", + type: "address", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "ERC1155MissingApprovalForAll", + type: "error", + }, +] as const; + +export class IERC1155Errors__factory { + static readonly abi = _abi; + static createInterface(): IERC1155ErrorsInterface { + return new Interface(_abi) as IERC1155ErrorsInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): IERC1155Errors { + return new Contract(address, _abi, runner) as unknown as IERC1155Errors; + } +} diff --git a/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC20Errors__factory.ts b/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC20Errors__factory.ts new file mode 100644 index 0000000..695f3f0 --- /dev/null +++ b/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC20Errors__factory.ts @@ -0,0 +1,111 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IERC20Errors, + IERC20ErrorsInterface, +} from "../../../../../@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC20Errors"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "allowance", + type: "uint256", + }, + { + internalType: "uint256", + name: "needed", + type: "uint256", + }, + ], + name: "ERC20InsufficientAllowance", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + { + internalType: "uint256", + name: "balance", + type: "uint256", + }, + { + internalType: "uint256", + name: "needed", + type: "uint256", + }, + ], + name: "ERC20InsufficientBalance", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "approver", + type: "address", + }, + ], + name: "ERC20InvalidApprover", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "ERC20InvalidReceiver", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + ], + name: "ERC20InvalidSender", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + ], + name: "ERC20InvalidSpender", + type: "error", + }, +] as const; + +export class IERC20Errors__factory { + static readonly abi = _abi; + static createInterface(): IERC20ErrorsInterface { + return new Interface(_abi) as IERC20ErrorsInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): IERC20Errors { + return new Contract(address, _abi, runner) as unknown as IERC20Errors; + } +} diff --git a/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC721Errors__factory.ts b/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC721Errors__factory.ts new file mode 100644 index 0000000..8615d4d --- /dev/null +++ b/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC721Errors__factory.ts @@ -0,0 +1,128 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IERC721Errors, + IERC721ErrorsInterface, +} from "../../../../../@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC721Errors"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "ERC721IncorrectOwner", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "operator", + type: "address", + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + ], + name: "ERC721InsufficientApproval", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "approver", + type: "address", + }, + ], + name: "ERC721InvalidApprover", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "operator", + type: "address", + }, + ], + name: "ERC721InvalidOperator", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "ERC721InvalidOwner", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "ERC721InvalidReceiver", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + ], + name: "ERC721InvalidSender", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + ], + name: "ERC721NonexistentToken", + type: "error", + }, +] as const; + +export class IERC721Errors__factory { + static readonly abi = _abi; + static createInterface(): IERC721ErrorsInterface { + return new Interface(_abi) as IERC721ErrorsInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): IERC721Errors { + return new Contract(address, _abi, runner) as unknown as IERC721Errors; + } +} diff --git a/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/index.ts b/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/index.ts new file mode 100644 index 0000000..571330e --- /dev/null +++ b/typechain-types/factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { IERC1155Errors__factory } from "./IERC1155Errors__factory"; +export { IERC20Errors__factory } from "./IERC20Errors__factory"; +export { IERC721Errors__factory } from "./IERC721Errors__factory"; diff --git a/typechain-types/factories/@openzeppelin/contracts/interfaces/index.ts b/typechain-types/factories/@openzeppelin/contracts/interfaces/index.ts new file mode 100644 index 0000000..82d047e --- /dev/null +++ b/typechain-types/factories/@openzeppelin/contracts/interfaces/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as draftIerc6093Sol from "./draft-IERC6093.sol"; diff --git a/typechain-types/factories/@openzeppelin/contracts/token/ERC20/ERC20__factory.ts b/typechain-types/factories/@openzeppelin/contracts/token/ERC20/ERC20__factory.ts new file mode 100644 index 0000000..5d8981a --- /dev/null +++ b/typechain-types/factories/@openzeppelin/contracts/token/ERC20/ERC20__factory.ts @@ -0,0 +1,330 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + ERC20, + ERC20Interface, +} from "../../../../../@openzeppelin/contracts/token/ERC20/ERC20"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "allowance", + type: "uint256", + }, + { + internalType: "uint256", + name: "needed", + type: "uint256", + }, + ], + name: "ERC20InsufficientAllowance", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + { + internalType: "uint256", + name: "balance", + type: "uint256", + }, + { + internalType: "uint256", + name: "needed", + type: "uint256", + }, + ], + name: "ERC20InsufficientBalance", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "approver", + type: "address", + }, + ], + name: "ERC20InvalidApprover", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "ERC20InvalidReceiver", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + ], + name: "ERC20InvalidSender", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + ], + name: "ERC20InvalidSpender", + type: "error", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Approval", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Transfer", + type: "event", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class ERC20__factory { + static readonly abi = _abi; + static createInterface(): ERC20Interface { + return new Interface(_abi) as ERC20Interface; + } + static connect(address: string, runner?: ContractRunner | null): ERC20 { + return new Contract(address, _abi, runner) as unknown as ERC20; + } +} diff --git a/typechain-types/factories/@openzeppelin/contracts/token/ERC20/IERC20__factory.ts b/typechain-types/factories/@openzeppelin/contracts/token/ERC20/IERC20__factory.ts new file mode 100644 index 0000000..6768448 --- /dev/null +++ b/typechain-types/factories/@openzeppelin/contracts/token/ERC20/IERC20__factory.ts @@ -0,0 +1,205 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IERC20, + IERC20Interface, +} from "../../../../../@openzeppelin/contracts/token/ERC20/IERC20"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Approval", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Transfer", + type: "event", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IERC20__factory { + static readonly abi = _abi; + static createInterface(): IERC20Interface { + return new Interface(_abi) as IERC20Interface; + } + static connect(address: string, runner?: ContractRunner | null): IERC20 { + return new Contract(address, _abi, runner) as unknown as IERC20; + } +} diff --git a/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata__factory.ts b/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata__factory.ts new file mode 100644 index 0000000..80abf96 --- /dev/null +++ b/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata__factory.ts @@ -0,0 +1,247 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IERC20Metadata, + IERC20MetadataInterface, +} from "../../../../../../@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Approval", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Transfer", + type: "event", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IERC20Metadata__factory { + static readonly abi = _abi; + static createInterface(): IERC20MetadataInterface { + return new Interface(_abi) as IERC20MetadataInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): IERC20Metadata { + return new Contract(address, _abi, runner) as unknown as IERC20Metadata; + } +} diff --git a/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/index.ts b/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/index.ts new file mode 100644 index 0000000..b9477f8 --- /dev/null +++ b/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { IERC20Metadata__factory } from "./IERC20Metadata__factory"; diff --git a/typechain-types/factories/@openzeppelin/contracts/token/ERC20/index.ts b/typechain-types/factories/@openzeppelin/contracts/token/ERC20/index.ts new file mode 100644 index 0000000..3523dc7 --- /dev/null +++ b/typechain-types/factories/@openzeppelin/contracts/token/ERC20/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as extensions from "./extensions"; +export { ERC20__factory } from "./ERC20__factory"; +export { IERC20__factory } from "./IERC20__factory"; diff --git a/typechain-types/factories/@openzeppelin/contracts/token/index.ts b/typechain-types/factories/@openzeppelin/contracts/token/index.ts new file mode 100644 index 0000000..da1e061 --- /dev/null +++ b/typechain-types/factories/@openzeppelin/contracts/token/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as erc20 from "./ERC20"; diff --git a/typechain-types/factories/@openzeppelin/index.ts b/typechain-types/factories/@openzeppelin/index.ts new file mode 100644 index 0000000..8027139 --- /dev/null +++ b/typechain-types/factories/@openzeppelin/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as contracts from "./contracts"; +export * as contractsV3 from "./contracts-v3"; diff --git a/typechain-types/factories/contracts/Classic/CTornado__factory.ts b/typechain-types/factories/contracts/Classic/CTornado__factory.ts new file mode 100644 index 0000000..69f6a5a --- /dev/null +++ b/typechain-types/factories/contracts/Classic/CTornado__factory.ts @@ -0,0 +1,614 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { + Signer, + BigNumberish, + AddressLike, + ContractDeployTransaction, + ContractRunner, +} from "ethers"; +import type { NonPayableOverrides } from "../../../common"; +import type { + CTornado, + CTornadoInterface, +} from "../../../contracts/Classic/CTornado"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "_governance", + type: "address", + }, + { + internalType: "contract IERC20", + name: "_comp", + type: "address", + }, + { + internalType: "contract IVerifier", + name: "_verifier", + type: "address", + }, + { + internalType: "contract IHasher", + name: "_hasher", + type: "address", + }, + { + internalType: "uint256", + name: "_denomination", + type: "uint256", + }, + { + internalType: "uint32", + name: "_merkleTreeHeight", + type: "uint32", + }, + { + internalType: "contract IERC20", + name: "_token", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "commitment", + type: "bytes32", + }, + { + indexed: false, + internalType: "uint32", + name: "leafIndex", + type: "uint32", + }, + { + indexed: false, + internalType: "uint256", + name: "timestamp", + type: "uint256", + }, + ], + name: "Deposit", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "bytes32", + name: "nullifierHash", + type: "bytes32", + }, + { + indexed: true, + internalType: "address", + name: "relayer", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "fee", + type: "uint256", + }, + ], + name: "Withdrawal", + type: "event", + }, + { + inputs: [], + name: "FIELD_SIZE", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "ROOT_HISTORY_SIZE", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "ZERO_VALUE", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "claimComp", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + name: "commitments", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "comp", + outputs: [ + { + internalType: "contract IERC20", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "currentRootIndex", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "denomination", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_commitment", + type: "bytes32", + }, + ], + name: "deposit", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "filledSubtrees", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getLastRoot", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "governance", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "contract IHasher", + name: "_hasher", + type: "address", + }, + { + internalType: "bytes32", + name: "_left", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "_right", + type: "bytes32", + }, + ], + name: "hashLeftRight", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [], + name: "hasher", + outputs: [ + { + internalType: "contract IHasher", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_root", + type: "bytes32", + }, + ], + name: "isKnownRoot", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_nullifierHash", + type: "bytes32", + }, + ], + name: "isSpent", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32[]", + name: "_nullifierHashes", + type: "bytes32[]", + }, + ], + name: "isSpentArray", + outputs: [ + { + internalType: "bool[]", + name: "spent", + type: "bool[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "levels", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "nextIndex", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + name: "nullifierHashes", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "roots", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "token", + outputs: [ + { + internalType: "contract IERC20", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "verifier", + outputs: [ + { + internalType: "contract IVerifier", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes", + name: "_proof", + type: "bytes", + }, + { + internalType: "bytes32", + name: "_root", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "_nullifierHash", + type: "bytes32", + }, + { + internalType: "address payable", + name: "_recipient", + type: "address", + }, + { + internalType: "address payable", + name: "_relayer", + type: "address", + }, + { + internalType: "uint256", + name: "_fee", + type: "uint256", + }, + { + internalType: "uint256", + name: "_refund", + type: "uint256", + }, + ], + name: "withdraw", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "zeros", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +const _bytecode = + "0x610160604052600380546001600160401b031916905534801561002157600080fd5b5060405161205a38038061205a8339810160408190526100409161048f565b848484848484848484808360008263ffffffff16116100b25760405162461bcd60e51b815260206004820152602360248201527f5f6c6576656c732073686f756c642062652067726561746572207468616e207a60448201526265726f60e81b60648201526084015b60405180910390fd5b60208263ffffffff16106101085760405162461bcd60e51b815260206004820152601e60248201527f5f6c6576656c732073686f756c64206265206c657373207468616e203332000060448201526064016100a9565b63ffffffff821660a0526001600160a01b0381166080527f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c60005b8363ffffffff168163ffffffff1610156101905763ffffffff811660009081526001602090815260408083208590559082905290208290556101868383806102aa565b9150600101610143565b506000805260026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b55505060016004558161021e5760405162461bcd60e51b815260206004820152602560248201527f64656e6f6d696e6174696f6e2073686f756c6420626520677265617465722074604482015264068616e20360dc1b60648201526084016100a9565b506001600160a01b0392831660c05260e05250908116610100528a16935061028c925050505760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420434f4d5020746f6b656e206164647265737300000000000060448201526064016100a9565b5050506001600160a01b03938416610120525050166101405261054e565b600060008051602061203a83398151915283106103095760405162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c6460448201526064016100a9565b60008051602061203a83398151915282106103705760405162461bcd60e51b815260206004820152602160248201527f5f72696768742073686f756c6420626520696e7369646520746865206669656c6044820152601960fa1b60648201526084016100a9565b60405163f47d33b560e01b81526004810184905260006024820181905284916001600160a01b0387169063f47d33b5906044016040805180830381865afa1580156103bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103e3919061052a565b909250905060008051602061203a83398151915284830860405163f47d33b560e01b815260048101829052602481018390529092506001600160a01b0387169063f47d33b5906044016040805180830381865afa158015610448573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061046c919061052a565b509695505050505050565b6001600160a01b038116811461048c57600080fd5b50565b600080600080600080600060e0888a0312156104aa57600080fd5b87516104b581610477565b60208901519097506104c681610477565b60408901519096506104d781610477565b60608901519095506104e881610477565b608089015160a08a0151919550935063ffffffff8116811461050957600080fd5b60c089015190925061051a81610477565b8091505092959891949750929550565b6000806040838503121561053d57600080fd5b505080516020909101519092909150565b60805160a05160c05160e051610100516101205161014051611a3e6105fc6000396000818161017d01526105d40152600081816102e5015261060501526000818161057801528181610ecc01528181610f0601526112600152600081816103690152818161074101528181610e9e015261128401526000818161023801526108aa01526000818161029c01528181610fe7015261108901526000818161051701526111210152611a3e6000f3fe6080604052600436106101665760003560e01c806390eeb02b116100d1578063e5285dcc1161008a578063ed33639f11610064578063ed33639f14610505578063f178e47c14610539578063fc0c546a14610566578063fc7e9c6f1461059a57600080fd5b8063e5285dcc14610474578063e8295588146104a4578063ec732959146104d157600080fd5b806390eeb02b146103ab5780639fa12d0b146103c8578063b214faa5146103f5578063ba70f75714610408578063c2b40ae414610432578063cd87a3b41461045f57600080fd5b80634ecf518b116101235780634ecf518b1461028a5780635aa6e675146102d35780636d9833e314610307578063839df945146103275780638bca6d16146103575780638ea3099e1461038b57600080fd5b8063109d0af81461016b57806317cc915c146101bc5780631bd85bdb146101fc57806321a0adb6146102135780632b7ac3f314610226578063414a37ba1461025a575b600080fd5b34801561017757600080fd5b5061019f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156101c857600080fd5b506101ec6101d73660046114ef565b60056020526000908152604090205460ff1681565b60405190151581526020016101b3565b34801561020857600080fd5b506102116105bf565b005b61021161022136600461152d565b6106e3565b34801561023257600080fd5b5061019f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561026657600080fd5b5061027c6000805160206119e983398151915281565b6040519081526020016101b3565b34801561029657600080fd5b506102be7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016101b3565b3480156102df57600080fd5b5061019f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561031357600080fd5b506101ec6103223660046114ef565b6109ee565b34801561033357600080fd5b506101ec6103423660046114ef565b60066020526000908152604090205460ff1681565b34801561036357600080fd5b5061027c7f000000000000000000000000000000000000000000000000000000000000000081565b34801561039757600080fd5b5061027c6103a63660046115e3565b610a6c565b3480156103b757600080fd5b506003546102be9063ffffffff1681565b3480156103d457600080fd5b506103e86103e3366004611618565b610c39565b6040516101b3919061168d565b6102116104033660046114ef565b610cf5565b34801561041457600080fd5b5060035463ffffffff1660009081526002602052604090205461027c565b34801561043e57600080fd5b5061027c61044d3660046114ef565b60026020526000908152604090205481565b34801561046b57600080fd5b506102be601e81565b34801561048057600080fd5b506101ec61048f3660046114ef565b60009081526005602052604090205460ff1690565b3480156104b057600080fd5b5061027c6104bf3660046114ef565b60016020526000908152604090205481565b3480156104dd57600080fd5b5061027c7f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c81565b34801561051157600080fd5b5061019f7f000000000000000000000000000000000000000000000000000000000000000081565b34801561054557600080fd5b5061027c6105543660046114ef565b60006020819052908152604090205481565b34801561057257600080fd5b5061019f7f000000000000000000000000000000000000000000000000000000000000000081565b3480156105a657600080fd5b506003546102be90640100000000900463ffffffff1681565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a9059cbb907f00000000000000000000000000000000000000000000000000000000000000009083906370a0823190602401602060405180830381865afa15801561064d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061067191906116d3565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156106bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e091906116ec565b50565b60026004540361073a5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b60026004557f00000000000000000000000000000000000000000000000000000000000000008211156107af5760405162461bcd60e51b815260206004820152601a60248201527f4665652065786365656473207472616e736665722076616c75650000000000006044820152606401610731565b60008581526005602052604090205460ff161561080e5760405162461bcd60e51b815260206004820152601f60248201527f546865206e6f746520686173206265656e20616c7265616479207370656e74006044820152606401610731565b610817866109ee565b6108635760405162461bcd60e51b815260206004820152601c60248201527f43616e6e6f742066696e6420796f7572206d65726b6c6520726f6f74000000006044820152606401610731565b6040805160c081018252878152602081018790526001600160a01b038681168284015285811660608301526080820185905260a08201849052915163695ef6f960e01b81527f00000000000000000000000000000000000000000000000000000000000000009092169163695ef6f9916108e3918c918c91600401611715565b6020604051808303816000875af1158015610902573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092691906116ec565b61096b5760405162461bcd60e51b815260206004820152601660248201527524b73b30b634b2103bb4ba34323930bb90383937b7b360511b6044820152606401610731565b6000858152600560205260409020805460ff1916600117905561099084848484610e2c565b604080516001600160a01b03868116825260208201889052918101849052908416907fe9e508bad6d4c3227e881ca19068f099da81b5164dd6d62b2eaf1e8bc6c349319060600160405180910390a250506001600455505050505050565b60008181036109ff57506000919050565b60035463ffffffff16805b63ffffffff81166000908152600260205260409020548403610a30575060019392505050565b8063ffffffff16600003610a425750601e5b80610a4c81611789565b9150508163ffffffff168163ffffffff1603610a0a575060009392505050565b60006000805160206119e98339815191528310610acb5760405162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c646044820152606401610731565b6000805160206119e98339815191528210610b325760405162461bcd60e51b815260206004820152602160248201527f5f72696768742073686f756c6420626520696e7369646520746865206669656c6044820152601960fa1b6064820152608401610731565b60405163f47d33b560e01b81526004810184905260006024820181905284916001600160a01b0387169063f47d33b5906044016040805180830381865afa158015610b81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ba591906117a9565b90925090506000805160206119e983398151915284830860405163f47d33b560e01b815260048101829052602481018390529092506001600160a01b0387169063f47d33b5906044016040805180830381865afa158015610c0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c2e91906117a9565b509695505050505050565b60608167ffffffffffffffff811115610c5457610c546117e3565b604051908082528060200260200182016040528015610c7d578160200160208202803683370190505b50905060005b82811015610cee57610cbc848483818110610ca057610ca06117f9565b9050602002013560009081526005602052604090205460ff1690565b15610ce6576001828281518110610cd557610cd56117f9565b911515602092830291909101909101525b600101610c83565b5092915050565b600260045403610d475760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610731565b600260045560008181526006602052604090205460ff1615610db55760405162461bcd60e51b815260206004820152602160248201527f54686520636f6d6d69746d656e7420686173206265656e207375626d697474656044820152601960fa1b6064820152608401610731565b6000610dc082610fce565b6000838152600660205260409020805460ff191660011790559050610de36111ec565b6040805163ffffffff8316815242602082015283917fa945e51eec50ab98c161376f0db4cf2aeba3ec92755fe2fcd388bdbbb80ff196910160405180910390a250506001600455565b803414610e945760405162461bcd60e51b815260206004820152603060248201527f496e636f727265637420726566756e6420616d6f756e7420726563656976656460448201526f08189e481d1a194818dbdb9d1c9858dd60821b6064820152608401610731565b610ef384610ec2847f000000000000000000000000000000000000000000000000000000000000000061180f565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691906112aa565b8115610f2d57610f2d6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001684846112aa565b8015610fc8576000846001600160a01b03168260405160006040518083038185875af1925050503d8060008114610f80576040519150601f19603f3d011682016040523d82523d6000602084013e610f85565b606091505b5050905080610fc6576040516001600160a01b0385169083156108fc029084906000818181858888f19350505050158015610fc4573d6000803e3d6000fd5b505b505b50505050565b600354600090640100000000900463ffffffff1661100d7f00000000000000000000000000000000000000000000000000000000000000006002611939565b63ffffffff168163ffffffff16036110805760405162461bcd60e51b815260206004820152603060248201527f4d65726b6c6520747265652069732066756c6c2e204e6f206d6f7265206c656160448201526f1d995cc818d85b88189948185919195960821b6064820152608401610731565b8083600080805b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff168163ffffffff16101561115e576110c6600286611956565b63ffffffff166000036111005763ffffffff811660009081526001602090815260408083205491839052909120859055849350915061111c565b63ffffffff811660009081526020819052604090205492508391505b6111477f00000000000000000000000000000000000000000000000000000000000000008484610a6c565b9350611154600286611979565b9450600101611087565b50600354600090601e906111799063ffffffff16600161199c565b6111839190611956565b6003805463ffffffff191663ffffffff8316908117909155600090815260026020526040902085905590506111b986600161199c565b6003805463ffffffff929092166401000000000267ffffffff000000001990921691909117905550939695505050505050565b34156112535760405162461bcd60e51b815260206004820152603060248201527f4554482076616c756520697320737570706f73656420746f206265203020666f60448201526f7220455243323020696e7374616e636560801b6064820152608401610731565b6112a86001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633307f00000000000000000000000000000000000000000000000000000000000000006113c3565b565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b179052915160009283929087169161130691906119b9565b6000604051808303816000865af19150503d8060008114611343576040519150601f19603f3d011682016040523d82523d6000602084013e611348565b606091505b50915091508161135a57805181602001fd5b8051158061137757508080602001905181019061137791906116ec565b610fc65760405162461bcd60e51b815260206004820152601e60248201527f5361666545524332303a20736166655472616e73666572206661696c656400006044820152606401610731565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b179052915160009283929088169161142791906119b9565b6000604051808303816000865af19150503d8060008114611464576040519150601f19603f3d011682016040523d82523d6000602084013e611469565b606091505b50915091508161147b57805181602001fd5b8051158061149857508080602001905181019061149891906116ec565b610fc45760405162461bcd60e51b815260206004820152602260248201527f5361666545524332303a20736166655472616e7366657246726f6d206661696c604482015261195960f21b6064820152608401610731565b60006020828403121561150157600080fd5b5035919050565b6001600160a01b03811681146106e057600080fd5b803561152881611508565b919050565b60008060008060008060008060e0898b03121561154957600080fd5b883567ffffffffffffffff8082111561156157600080fd5b818b0191508b601f83011261157557600080fd5b81358181111561158457600080fd5b8c602082850101111561159657600080fd5b60209283019a509850508901359550604089013594506115b860608a0161151d565b93506115c660808a0161151d565b925060a0890135915060c089013590509295985092959890939650565b6000806000606084860312156115f857600080fd5b833561160381611508565b95602085013595506040909401359392505050565b6000806020838503121561162b57600080fd5b823567ffffffffffffffff8082111561164357600080fd5b818501915085601f83011261165757600080fd5b81358181111561166657600080fd5b8660208260051b850101111561167b57600080fd5b60209290920196919550909350505050565b6020808252825182820181905260009190848201906040850190845b818110156116c75783511515835292840192918401916001016116a9565b50909695505050505050565b6000602082840312156116e557600080fd5b5051919050565b6000602082840312156116fe57600080fd5b8151801515811461170e57600080fd5b9392505050565b60e081528260e08201526000610100848682850137600081868501015280601f19601f87011684010191505060208083018460005b60068110156117675781518352918301919083019060010161174a565b50505050949350505050565b634e487b7160e01b600052601160045260246000fd5b600063ffffffff82168061179f5761179f611773565b6000190192915050565b600080604083850312156117bc57600080fd5b505080516020909101519092909150565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b8181038181111561182257611822611773565b92915050565b600181815b80851115611865578163ffffffff0482111561184b5761184b611773565b8085161561185857918102915b93841c939080029061182d565b509250929050565b60008261187c57506001611822565b8161188957506000611822565b816001811461189f57600281146118a9576118da565b6001915050611822565b60ff8411156118ba576118ba611773565b6001841b915063ffffffff8211156118d4576118d4611773565b50611822565b5060208310610133831016604e8410600b8410161715611911575081810a63ffffffff81111561190c5761190c611773565b611822565b61191b8383611828565b8063ffffffff0482111561193157611931611773565b029392505050565b600063ffffffff61194e81851682851661186d565b949350505050565b600063ffffffff8084168061196d5761196d6117cd565b92169190910692915050565b600063ffffffff80841680611990576119906117cd565b92169190910492915050565b63ffffffff818116838216019080821115610cee57610cee611773565b6000825160005b818110156119da57602081860181015185830152016119c0565b50600092019182525091905056fe30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001a26469706673582212202fd93128e9fd6b3843a3df70f2fb8c1a7a326556fae702731ec0c55aa4921a8364736f6c6343000819003330644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001"; + +type CTornadoConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: CTornadoConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class CTornado__factory extends ContractFactory { + constructor(...args: CTornadoConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + _governance: AddressLike, + _comp: AddressLike, + _verifier: AddressLike, + _hasher: AddressLike, + _denomination: BigNumberish, + _merkleTreeHeight: BigNumberish, + _token: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction( + _governance, + _comp, + _verifier, + _hasher, + _denomination, + _merkleTreeHeight, + _token, + overrides || {} + ); + } + override deploy( + _governance: AddressLike, + _comp: AddressLike, + _verifier: AddressLike, + _hasher: AddressLike, + _denomination: BigNumberish, + _merkleTreeHeight: BigNumberish, + _token: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ) { + return super.deploy( + _governance, + _comp, + _verifier, + _hasher, + _denomination, + _merkleTreeHeight, + _token, + overrides || {} + ) as Promise< + CTornado & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): CTornado__factory { + return super.connect(runner) as CTornado__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): CTornadoInterface { + return new Interface(_abi) as CTornadoInterface; + } + static connect(address: string, runner?: ContractRunner | null): CTornado { + return new Contract(address, _abi, runner) as unknown as CTornado; + } +} diff --git a/typechain-types/factories/contracts/Classic/ERC20Tornado__factory.ts b/typechain-types/factories/contracts/Classic/ERC20Tornado__factory.ts new file mode 100644 index 0000000..b45e63a --- /dev/null +++ b/typechain-types/factories/contracts/Classic/ERC20Tornado__factory.ts @@ -0,0 +1,566 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { + Signer, + BigNumberish, + AddressLike, + ContractDeployTransaction, + ContractRunner, +} from "ethers"; +import type { NonPayableOverrides } from "../../../common"; +import type { + ERC20Tornado, + ERC20TornadoInterface, +} from "../../../contracts/Classic/ERC20Tornado"; + +const _abi = [ + { + inputs: [ + { + internalType: "contract IVerifier", + name: "_verifier", + type: "address", + }, + { + internalType: "contract IHasher", + name: "_hasher", + type: "address", + }, + { + internalType: "uint256", + name: "_denomination", + type: "uint256", + }, + { + internalType: "uint32", + name: "_merkleTreeHeight", + type: "uint32", + }, + { + internalType: "contract IERC20", + name: "_token", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "commitment", + type: "bytes32", + }, + { + indexed: false, + internalType: "uint32", + name: "leafIndex", + type: "uint32", + }, + { + indexed: false, + internalType: "uint256", + name: "timestamp", + type: "uint256", + }, + ], + name: "Deposit", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "bytes32", + name: "nullifierHash", + type: "bytes32", + }, + { + indexed: true, + internalType: "address", + name: "relayer", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "fee", + type: "uint256", + }, + ], + name: "Withdrawal", + type: "event", + }, + { + inputs: [], + name: "FIELD_SIZE", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "ROOT_HISTORY_SIZE", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "ZERO_VALUE", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + name: "commitments", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "currentRootIndex", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "denomination", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_commitment", + type: "bytes32", + }, + ], + name: "deposit", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "filledSubtrees", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getLastRoot", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "contract IHasher", + name: "_hasher", + type: "address", + }, + { + internalType: "bytes32", + name: "_left", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "_right", + type: "bytes32", + }, + ], + name: "hashLeftRight", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [], + name: "hasher", + outputs: [ + { + internalType: "contract IHasher", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_root", + type: "bytes32", + }, + ], + name: "isKnownRoot", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_nullifierHash", + type: "bytes32", + }, + ], + name: "isSpent", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32[]", + name: "_nullifierHashes", + type: "bytes32[]", + }, + ], + name: "isSpentArray", + outputs: [ + { + internalType: "bool[]", + name: "spent", + type: "bool[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "levels", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "nextIndex", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + name: "nullifierHashes", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "roots", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "token", + outputs: [ + { + internalType: "contract IERC20", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "verifier", + outputs: [ + { + internalType: "contract IVerifier", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes", + name: "_proof", + type: "bytes", + }, + { + internalType: "bytes32", + name: "_root", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "_nullifierHash", + type: "bytes32", + }, + { + internalType: "address payable", + name: "_recipient", + type: "address", + }, + { + internalType: "address payable", + name: "_relayer", + type: "address", + }, + { + internalType: "uint256", + name: "_fee", + type: "uint256", + }, + { + internalType: "uint256", + name: "_refund", + type: "uint256", + }, + ], + name: "withdraw", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "zeros", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +const _bytecode = + "0x610120604052600380546001600160401b031916905534801561002157600080fd5b50604051611db8380380611db883398101604081905261004091610420565b84848484808360008263ffffffff16116100ad5760405162461bcd60e51b815260206004820152602360248201527f5f6c6576656c732073686f756c642062652067726561746572207468616e207a60448201526265726f60e81b60648201526084015b60405180910390fd5b60208263ffffffff16106101035760405162461bcd60e51b815260206004820152601e60248201527f5f6c6576656c732073686f756c64206265206c657373207468616e203332000060448201526064016100a4565b63ffffffff821660a0526001600160a01b0381166080527f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c60005b8363ffffffff168163ffffffff16101561018b5763ffffffff8116600090815260016020908152604080832085905590829052902082905561018183838061023b565b915060010161013e565b506000805260026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5550506001600455816102195760405162461bcd60e51b815260206004820152602560248201527f64656e6f6d696e6174696f6e2073686f756c6420626520677265617465722074604482015264068616e20360dc1b60648201526084016100a4565b506001600160a01b0392831660c05260e052501661010052506104b892505050565b6000600080516020611d98833981519152831061029a5760405162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c6460448201526064016100a4565b600080516020611d9883398151915282106103015760405162461bcd60e51b815260206004820152602160248201527f5f72696768742073686f756c6420626520696e7369646520746865206669656c6044820152601960fa1b60648201526084016100a4565b60405163f47d33b560e01b81526004810184905260006024820181905284916001600160a01b0387169063f47d33b5906044016040805180830381865afa158015610350573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103749190610494565b9092509050600080516020611d9883398151915284830860405163f47d33b560e01b815260048101829052602481018390529092506001600160a01b0387169063f47d33b5906044016040805180830381865afa1580156103d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103fd9190610494565b509695505050505050565b6001600160a01b038116811461041d57600080fd5b50565b600080600080600060a0868803121561043857600080fd5b855161044381610408565b602087015190955061045481610408565b60408701516060880151919550935063ffffffff8116811461047557600080fd5b608087015190925061048681610408565b809150509295509295909350565b600080604083850312156104a757600080fd5b505080516020909101519092909150565b60805160a05160c05160e05161010051611856610542600039600081816104ca01528181610cfa01528181610d34015261108e0152600081816102bb0152818161056f01528181610ccc01526110b20152600081816101a601526106d801526000818161022201528181610e150152610eb70152600081816104690152610f4f01526118566000f3fe6080604052600436106101355760003560e01c8063b214faa5116100ab578063e82955881161006f578063e8295588146103f6578063ec73295914610423578063ed33639f14610457578063f178e47c1461048b578063fc0c546a146104b8578063fc7e9c6f146104ec57600080fd5b8063b214faa514610347578063ba70f7571461035a578063c2b40ae414610384578063cd87a3b4146103b1578063e5285dcc146103c657600080fd5b80636d9833e3116100fd5780636d9833e314610259578063839df945146102795780638bca6d16146102a95780638ea3099e146102dd57806390eeb02b146102fd5780639fa12d0b1461031a57600080fd5b806317cc915c1461013a57806321a0adb61461017f5780632b7ac3f314610194578063414a37ba146101e05780634ecf518b14610210575b600080fd5b34801561014657600080fd5b5061016a61015536600461131d565b60056020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b61019261018d36600461135e565b610511565b005b3480156101a057600080fd5b506101c87f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610176565b3480156101ec57600080fd5b5061020260008051602061180183398151915281565b604051908152602001610176565b34801561021c57600080fd5b506102447f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff9091168152602001610176565b34801561026557600080fd5b5061016a61027436600461131d565b61081c565b34801561028557600080fd5b5061016a61029436600461131d565b60066020526000908152604090205460ff1681565b3480156102b557600080fd5b506102027f000000000000000000000000000000000000000000000000000000000000000081565b3480156102e957600080fd5b506102026102f8366004611414565b61089a565b34801561030957600080fd5b506003546102449063ffffffff1681565b34801561032657600080fd5b5061033a610335366004611449565b610a67565b60405161017691906114be565b61019261035536600461131d565b610b23565b34801561036657600080fd5b5060035463ffffffff16600090815260026020526040902054610202565b34801561039057600080fd5b5061020261039f36600461131d565b60026020526000908152604090205481565b3480156103bd57600080fd5b50610244601e81565b3480156103d257600080fd5b5061016a6103e136600461131d565b60009081526005602052604090205460ff1690565b34801561040257600080fd5b5061020261041136600461131d565b60016020526000908152604090205481565b34801561042f57600080fd5b506102027f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c81565b34801561046357600080fd5b506101c87f000000000000000000000000000000000000000000000000000000000000000081565b34801561049757600080fd5b506102026104a636600461131d565b60006020819052908152604090205481565b3480156104c457600080fd5b506101c87f000000000000000000000000000000000000000000000000000000000000000081565b3480156104f857600080fd5b5060035461024490640100000000900463ffffffff1681565b6002600454036105685760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b60026004557f00000000000000000000000000000000000000000000000000000000000000008211156105dd5760405162461bcd60e51b815260206004820152601a60248201527f4665652065786365656473207472616e736665722076616c7565000000000000604482015260640161055f565b60008581526005602052604090205460ff161561063c5760405162461bcd60e51b815260206004820152601f60248201527f546865206e6f746520686173206265656e20616c7265616479207370656e7400604482015260640161055f565b6106458661081c565b6106915760405162461bcd60e51b815260206004820152601c60248201527f43616e6e6f742066696e6420796f7572206d65726b6c6520726f6f7400000000604482015260640161055f565b6040805160c081018252878152602081018790526001600160a01b038681168284015285811660608301526080820185905260a08201849052915163695ef6f960e01b81527f00000000000000000000000000000000000000000000000000000000000000009092169163695ef6f991610711918c918c91600401611504565b6020604051808303816000875af1158015610730573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107549190611562565b6107995760405162461bcd60e51b815260206004820152601660248201527524b73b30b634b2103bb4ba34323930bb90383937b7b360511b604482015260640161055f565b6000858152600560205260409020805460ff191660011790556107be84848484610c5a565b604080516001600160a01b03868116825260208201889052918101849052908416907fe9e508bad6d4c3227e881ca19068f099da81b5164dd6d62b2eaf1e8bc6c349319060600160405180910390a250506001600455505050505050565b600081810361082d57506000919050565b60035463ffffffff16805b63ffffffff8116600090815260026020526040902054840361085e575060019392505050565b8063ffffffff166000036108705750601e5b8061087a816115a1565b9150508163ffffffff168163ffffffff1603610838575060009392505050565b600060008051602061180183398151915283106108f95760405162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c64604482015260640161055f565b60008051602061180183398151915282106109605760405162461bcd60e51b815260206004820152602160248201527f5f72696768742073686f756c6420626520696e7369646520746865206669656c6044820152601960fa1b606482015260840161055f565b60405163f47d33b560e01b81526004810184905260006024820181905284916001600160a01b0387169063f47d33b5906044016040805180830381865afa1580156109af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d391906115c1565b909250905060008051602061180183398151915284830860405163f47d33b560e01b815260048101829052602481018390529092506001600160a01b0387169063f47d33b5906044016040805180830381865afa158015610a38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a5c91906115c1565b509695505050505050565b60608167ffffffffffffffff811115610a8257610a826115fb565b604051908082528060200260200182016040528015610aab578160200160208202803683370190505b50905060005b82811015610b1c57610aea848483818110610ace57610ace611611565b9050602002013560009081526005602052604090205460ff1690565b15610b14576001828281518110610b0357610b03611611565b911515602092830291909101909101525b600101610ab1565b5092915050565b600260045403610b755760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161055f565b600260045560008181526006602052604090205460ff1615610be35760405162461bcd60e51b815260206004820152602160248201527f54686520636f6d6d69746d656e7420686173206265656e207375626d697474656044820152601960fa1b606482015260840161055f565b6000610bee82610dfc565b6000838152600660205260409020805460ff191660011790559050610c1161101a565b6040805163ffffffff8316815242602082015283917fa945e51eec50ab98c161376f0db4cf2aeba3ec92755fe2fcd388bdbbb80ff196910160405180910390a250506001600455565b803414610cc25760405162461bcd60e51b815260206004820152603060248201527f496e636f727265637420726566756e6420616d6f756e7420726563656976656460448201526f08189e481d1a194818dbdb9d1c9858dd60821b606482015260840161055f565b610d2184610cf0847f0000000000000000000000000000000000000000000000000000000000000000611627565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691906110d8565b8115610d5b57610d5b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001684846110d8565b8015610df6576000846001600160a01b03168260405160006040518083038185875af1925050503d8060008114610dae576040519150601f19603f3d011682016040523d82523d6000602084013e610db3565b606091505b5050905080610df4576040516001600160a01b0385169083156108fc029084906000818181858888f19350505050158015610df2573d6000803e3d6000fd5b505b505b50505050565b600354600090640100000000900463ffffffff16610e3b7f00000000000000000000000000000000000000000000000000000000000000006002611751565b63ffffffff168163ffffffff1603610eae5760405162461bcd60e51b815260206004820152603060248201527f4d65726b6c6520747265652069732066756c6c2e204e6f206d6f7265206c656160448201526f1d995cc818d85b88189948185919195960821b606482015260840161055f565b8083600080805b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff168163ffffffff161015610f8c57610ef460028661176e565b63ffffffff16600003610f2e5763ffffffff8116600090815260016020908152604080832054918390529091208590558493509150610f4a565b63ffffffff811660009081526020819052604090205492508391505b610f757f0000000000000000000000000000000000000000000000000000000000000000848461089a565b9350610f82600286611791565b9450600101610eb5565b50600354600090601e90610fa79063ffffffff1660016117b4565b610fb1919061176e565b6003805463ffffffff191663ffffffff831690811790915560009081526002602052604090208590559050610fe78660016117b4565b6003805463ffffffff929092166401000000000267ffffffff000000001990921691909117905550939695505050505050565b34156110815760405162461bcd60e51b815260206004820152603060248201527f4554482076616c756520697320737570706f73656420746f206265203020666f60448201526f7220455243323020696e7374616e636560801b606482015260840161055f565b6110d66001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633307f00000000000000000000000000000000000000000000000000000000000000006111f1565b565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b179052915160009283929087169161113491906117d1565b6000604051808303816000865af19150503d8060008114611171576040519150601f19603f3d011682016040523d82523d6000602084013e611176565b606091505b50915091508161118857805181602001fd5b805115806111a55750808060200190518101906111a59190611562565b610df45760405162461bcd60e51b815260206004820152601e60248201527f5361666545524332303a20736166655472616e73666572206661696c65640000604482015260640161055f565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b179052915160009283929088169161125591906117d1565b6000604051808303816000865af19150503d8060008114611292576040519150601f19603f3d011682016040523d82523d6000602084013e611297565b606091505b5091509150816112a957805181602001fd5b805115806112c65750808060200190518101906112c69190611562565b610df25760405162461bcd60e51b815260206004820152602260248201527f5361666545524332303a20736166655472616e7366657246726f6d206661696c604482015261195960f21b606482015260840161055f565b60006020828403121561132f57600080fd5b5035919050565b6001600160a01b038116811461134b57600080fd5b50565b803561135981611336565b919050565b60008060008060008060008060e0898b03121561137a57600080fd5b883567ffffffffffffffff8082111561139257600080fd5b818b0191508b601f8301126113a657600080fd5b8135818111156113b557600080fd5b8c60208285010111156113c757600080fd5b60209283019a509850508901359550604089013594506113e960608a0161134e565b93506113f760808a0161134e565b925060a0890135915060c089013590509295985092959890939650565b60008060006060848603121561142957600080fd5b833561143481611336565b95602085013595506040909401359392505050565b6000806020838503121561145c57600080fd5b823567ffffffffffffffff8082111561147457600080fd5b818501915085601f83011261148857600080fd5b81358181111561149757600080fd5b8660208260051b85010111156114ac57600080fd5b60209290920196919550909350505050565b6020808252825182820181905260009190848201906040850190845b818110156114f85783511515835292840192918401916001016114da565b50909695505050505050565b60e081528260e08201526000610100848682850137600081868501015280601f19601f87011684010191505060208083018460005b600681101561155657815183529183019190830190600101611539565b50505050949350505050565b60006020828403121561157457600080fd5b8151801515811461158457600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b600063ffffffff8216806115b7576115b761158b565b6000190192915050565b600080604083850312156115d457600080fd5b505080516020909101519092909150565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b8181038181111561163a5761163a61158b565b92915050565b600181815b8085111561167d578163ffffffff048211156116635761166361158b565b8085161561167057918102915b93841c9390800290611645565b509250929050565b6000826116945750600161163a565b816116a15750600061163a565b81600181146116b757600281146116c1576116f2565b600191505061163a565b60ff8411156116d2576116d261158b565b6001841b915063ffffffff8211156116ec576116ec61158b565b5061163a565b5060208310610133831016604e8410600b8410161715611729575081810a63ffffffff8111156117245761172461158b565b61163a565b6117338383611640565b8063ffffffff048211156117495761174961158b565b029392505050565b600063ffffffff611766818516828516611685565b949350505050565b600063ffffffff80841680611785576117856115e5565b92169190910692915050565b600063ffffffff808416806117a8576117a86115e5565b92169190910492915050565b63ffffffff818116838216019080821115610b1c57610b1c61158b565b6000825160005b818110156117f257602081860181015185830152016117d8565b50600092019182525091905056fe30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001a264697066735822122090d9706fb3f8afcde53068158f22289b2796e92f9b67b63271c1f6de497a540f64736f6c6343000819003330644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001"; + +type ERC20TornadoConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: ERC20TornadoConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class ERC20Tornado__factory extends ContractFactory { + constructor(...args: ERC20TornadoConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + _verifier: AddressLike, + _hasher: AddressLike, + _denomination: BigNumberish, + _merkleTreeHeight: BigNumberish, + _token: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction( + _verifier, + _hasher, + _denomination, + _merkleTreeHeight, + _token, + overrides || {} + ); + } + override deploy( + _verifier: AddressLike, + _hasher: AddressLike, + _denomination: BigNumberish, + _merkleTreeHeight: BigNumberish, + _token: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ) { + return super.deploy( + _verifier, + _hasher, + _denomination, + _merkleTreeHeight, + _token, + overrides || {} + ) as Promise< + ERC20Tornado & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): ERC20Tornado__factory { + return super.connect(runner) as ERC20Tornado__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): ERC20TornadoInterface { + return new Interface(_abi) as ERC20TornadoInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): ERC20Tornado { + return new Contract(address, _abi, runner) as unknown as ERC20Tornado; + } +} diff --git a/typechain-types/factories/contracts/Classic/ETHTornado__factory.ts b/typechain-types/factories/contracts/Classic/ETHTornado__factory.ts new file mode 100644 index 0000000..56c432c --- /dev/null +++ b/typechain-types/factories/contracts/Classic/ETHTornado__factory.ts @@ -0,0 +1,541 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { + Signer, + BigNumberish, + AddressLike, + ContractDeployTransaction, + ContractRunner, +} from "ethers"; +import type { NonPayableOverrides } from "../../../common"; +import type { + ETHTornado, + ETHTornadoInterface, +} from "../../../contracts/Classic/ETHTornado"; + +const _abi = [ + { + inputs: [ + { + internalType: "contract IVerifier", + name: "_verifier", + type: "address", + }, + { + internalType: "contract IHasher", + name: "_hasher", + type: "address", + }, + { + internalType: "uint256", + name: "_denomination", + type: "uint256", + }, + { + internalType: "uint32", + name: "_merkleTreeHeight", + type: "uint32", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "commitment", + type: "bytes32", + }, + { + indexed: false, + internalType: "uint32", + name: "leafIndex", + type: "uint32", + }, + { + indexed: false, + internalType: "uint256", + name: "timestamp", + type: "uint256", + }, + ], + name: "Deposit", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "bytes32", + name: "nullifierHash", + type: "bytes32", + }, + { + indexed: true, + internalType: "address", + name: "relayer", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "fee", + type: "uint256", + }, + ], + name: "Withdrawal", + type: "event", + }, + { + inputs: [], + name: "FIELD_SIZE", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "ROOT_HISTORY_SIZE", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "ZERO_VALUE", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + name: "commitments", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "currentRootIndex", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "denomination", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_commitment", + type: "bytes32", + }, + ], + name: "deposit", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "filledSubtrees", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getLastRoot", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "contract IHasher", + name: "_hasher", + type: "address", + }, + { + internalType: "bytes32", + name: "_left", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "_right", + type: "bytes32", + }, + ], + name: "hashLeftRight", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [], + name: "hasher", + outputs: [ + { + internalType: "contract IHasher", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_root", + type: "bytes32", + }, + ], + name: "isKnownRoot", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_nullifierHash", + type: "bytes32", + }, + ], + name: "isSpent", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32[]", + name: "_nullifierHashes", + type: "bytes32[]", + }, + ], + name: "isSpentArray", + outputs: [ + { + internalType: "bool[]", + name: "spent", + type: "bool[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "levels", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "nextIndex", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + name: "nullifierHashes", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "roots", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "verifier", + outputs: [ + { + internalType: "contract IVerifier", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes", + name: "_proof", + type: "bytes", + }, + { + internalType: "bytes32", + name: "_root", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "_nullifierHash", + type: "bytes32", + }, + { + internalType: "address payable", + name: "_recipient", + type: "address", + }, + { + internalType: "address payable", + name: "_relayer", + type: "address", + }, + { + internalType: "uint256", + name: "_fee", + type: "uint256", + }, + { + internalType: "uint256", + name: "_refund", + type: "uint256", + }, + ], + name: "withdraw", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "zeros", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +const _bytecode = + "0x610100604052600380546001600160401b031916905534801561002157600080fd5b50604051611b68380380611b688339810160408190526100409161041b565b83838383808360008263ffffffff16116100ad5760405162461bcd60e51b815260206004820152602360248201527f5f6c6576656c732073686f756c642062652067726561746572207468616e207a60448201526265726f60e81b60648201526084015b60405180910390fd5b60208263ffffffff16106101035760405162461bcd60e51b815260206004820152601e60248201527f5f6c6576656c732073686f756c64206265206c657373207468616e203332000060448201526064016100a4565b63ffffffff821660a0526001600160a01b0381166080527f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c60005b8363ffffffff168163ffffffff16101561018b5763ffffffff81166000908152600160209081526040808320859055908290529020829055610181838380610236565b915060010161013e565b506000805260026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5550506001600455816102195760405162461bcd60e51b815260206004820152602560248201527f64656e6f6d696e6174696f6e2073686f756c6420626520677265617465722074604482015264068616e20360dc1b60648201526084016100a4565b506001600160a01b0390921660c0525060e0525061049d92505050565b6000600080516020611b4883398151915283106102955760405162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c6460448201526064016100a4565b600080516020611b4883398151915282106102fc5760405162461bcd60e51b815260206004820152602160248201527f5f72696768742073686f756c6420626520696e7369646520746865206669656c6044820152601960fa1b60648201526084016100a4565b60405163f47d33b560e01b81526004810184905260006024820181905284916001600160a01b0387169063f47d33b5906044016040805180830381865afa15801561034b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061036f9190610479565b9092509050600080516020611b4883398151915284830860405163f47d33b560e01b815260048101829052602481018390529092506001600160a01b0387169063f47d33b5906044016040805180830381865afa1580156103d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103f89190610479565b509695505050505050565b6001600160a01b038116811461041857600080fd5b50565b6000806000806080858703121561043157600080fd5b845161043c81610403565b602086015190945061044d81610403565b60408601516060870151919450925063ffffffff8116811461046e57600080fd5b939692955090935050565b6000806040838503121561048c57600080fd5b505080516020909101519092909150565b60805160a05160c05160e051611641610507600039600081816102b00152818161053001528181610d0401526110a201526000818161019b015261069901526000818161021701528181610e9b0152610f3d01526000818161045e0152610fd501526116416000f3fe60806040526004361061012a5760003560e01c80639fa12d0b116100ab578063e5285dcc1161006f578063e5285dcc146103bb578063e8295588146103eb578063ec73295914610418578063ed33639f1461044c578063f178e47c14610480578063fc7e9c6f146104ad57600080fd5b80639fa12d0b1461030f578063b214faa51461033c578063ba70f7571461034f578063c2b40ae414610379578063cd87a3b4146103a657600080fd5b80636d9833e3116100f25780636d9833e31461024e578063839df9451461026e5780638bca6d161461029e5780638ea3099e146102d257806390eeb02b146102f257600080fd5b806317cc915c1461012f57806321a0adb6146101745780632b7ac3f314610189578063414a37ba146101d55780634ecf518b14610205575b600080fd5b34801561013b57600080fd5b5061015f61014a366004611137565b60056020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b610187610182366004611178565b6104d2565b005b34801561019557600080fd5b506101bd7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200161016b565b3480156101e157600080fd5b506101f76000805160206115ec83398151915281565b60405190815260200161016b565b34801561021157600080fd5b506102397f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff909116815260200161016b565b34801561025a57600080fd5b5061015f610269366004611137565b6107dd565b34801561027a57600080fd5b5061015f610289366004611137565b60066020526000908152604090205460ff1681565b3480156102aa57600080fd5b506101f77f000000000000000000000000000000000000000000000000000000000000000081565b3480156102de57600080fd5b506101f76102ed36600461122e565b61085b565b3480156102fe57600080fd5b506003546102399063ffffffff1681565b34801561031b57600080fd5b5061032f61032a366004611263565b610a28565b60405161016b91906112d8565b61018761034a366004611137565b610ae4565b34801561035b57600080fd5b5060035463ffffffff166000908152600260205260409020546101f7565b34801561038557600080fd5b506101f7610394366004611137565b60026020526000908152604090205481565b3480156103b257600080fd5b50610239601e81565b3480156103c757600080fd5b5061015f6103d6366004611137565b60009081526005602052604090205460ff1690565b3480156103f757600080fd5b506101f7610406366004611137565b60016020526000908152604090205481565b34801561042457600080fd5b506101f77f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c81565b34801561045857600080fd5b506101bd7f000000000000000000000000000000000000000000000000000000000000000081565b34801561048c57600080fd5b506101f761049b366004611137565b60006020819052908152604090205481565b3480156104b957600080fd5b5060035461023990640100000000900463ffffffff1681565b6002600454036105295760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b60026004557f000000000000000000000000000000000000000000000000000000000000000082111561059e5760405162461bcd60e51b815260206004820152601a60248201527f4665652065786365656473207472616e736665722076616c75650000000000006044820152606401610520565b60008581526005602052604090205460ff16156105fd5760405162461bcd60e51b815260206004820152601f60248201527f546865206e6f746520686173206265656e20616c7265616479207370656e74006044820152606401610520565b610606866107dd565b6106525760405162461bcd60e51b815260206004820152601c60248201527f43616e6e6f742066696e6420796f7572206d65726b6c6520726f6f74000000006044820152606401610520565b6040805160c081018252878152602081018790526001600160a01b038681168284015285811660608301526080820185905260a08201849052915163695ef6f960e01b81527f00000000000000000000000000000000000000000000000000000000000000009092169163695ef6f9916106d2918c918c9160040161131e565b6020604051808303816000875af11580156106f1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610715919061137c565b61075a5760405162461bcd60e51b815260206004820152601660248201527524b73b30b634b2103bb4ba34323930bb90383937b7b360511b6044820152606401610520565b6000858152600560205260409020805460ff1916600117905561077f84848484610c1b565b604080516001600160a01b03868116825260208201889052918101849052908416907fe9e508bad6d4c3227e881ca19068f099da81b5164dd6d62b2eaf1e8bc6c349319060600160405180910390a250506001600455505050505050565b60008181036107ee57506000919050565b60035463ffffffff16805b63ffffffff8116600090815260026020526040902054840361081f575060019392505050565b8063ffffffff166000036108315750601e5b8061083b816113bb565b9150508163ffffffff168163ffffffff16036107f9575060009392505050565b60006000805160206115ec83398151915283106108ba5760405162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c646044820152606401610520565b6000805160206115ec83398151915282106109215760405162461bcd60e51b815260206004820152602160248201527f5f72696768742073686f756c6420626520696e7369646520746865206669656c6044820152601960fa1b6064820152608401610520565b60405163f47d33b560e01b81526004810184905260006024820181905284916001600160a01b0387169063f47d33b5906044016040805180830381865afa158015610970573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099491906113db565b90925090506000805160206115ec83398151915284830860405163f47d33b560e01b815260048101829052602481018390529092506001600160a01b0387169063f47d33b5906044016040805180830381865afa1580156109f9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1d91906113db565b509695505050505050565b60608167ffffffffffffffff811115610a4357610a43611415565b604051908082528060200260200182016040528015610a6c578160200160208202803683370190505b50905060005b82811015610add57610aab848483818110610a8f57610a8f61142b565b9050602002013560009081526005602052604090205460ff1690565b15610ad5576001828281518110610ac457610ac461142b565b911515602092830291909101909101525b600101610a72565b5092915050565b600260045403610b365760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610520565b600260045560008181526006602052604090205460ff1615610ba45760405162461bcd60e51b815260206004820152602160248201527f54686520636f6d6d69746d656e7420686173206265656e207375626d697474656044820152601960fa1b6064820152608401610520565b6000610baf82610e82565b6000838152600660205260409020805460ff191660011790559050610bd26110a0565b6040805163ffffffff8316815242602082015283917fa945e51eec50ab98c161376f0db4cf2aeba3ec92755fe2fcd388bdbbb80ff196910160405180910390a250506001600455565b3415610c875760405162461bcd60e51b815260206004820152603560248201527f4d6573736167652076616c756520697320737570706f73656420746f206265206044820152747a65726f20666f722045544820696e7374616e636560581b6064820152608401610520565b8015610cf25760405162461bcd60e51b815260206004820152603460248201527f526566756e642076616c756520697320737570706f73656420746f206265207a60448201527365726f20666f722045544820696e7374616e636560601b6064820152608401610520565b60006001600160a01b038516610d28847f0000000000000000000000000000000000000000000000000000000000000000611441565b604051600081818185875af1925050503d8060008114610d64576040519150601f19603f3d011682016040523d82523d6000602084013e610d69565b606091505b5050905080610dc85760405162461bcd60e51b815260206004820152602560248201527f7061796d656e7420746f205f726563697069656e7420646964206e6f7420676f604482015264207468727560d81b6064820152608401610520565b8215610e7b576040516001600160a01b038516908490600081818185875af1925050503d8060008114610e17576040519150601f19603f3d011682016040523d82523d6000602084013e610e1c565b606091505b50508091505080610e7b5760405162461bcd60e51b815260206004820152602360248201527f7061796d656e7420746f205f72656c6179657220646964206e6f7420676f207460448201526268727560e81b6064820152608401610520565b5050505050565b600354600090640100000000900463ffffffff16610ec17f0000000000000000000000000000000000000000000000000000000000000000600261156b565b63ffffffff168163ffffffff1603610f345760405162461bcd60e51b815260206004820152603060248201527f4d65726b6c6520747265652069732066756c6c2e204e6f206d6f7265206c656160448201526f1d995cc818d85b88189948185919195960821b6064820152608401610520565b8083600080805b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff168163ffffffff16101561101257610f7a600286611588565b63ffffffff16600003610fb45763ffffffff8116600090815260016020908152604080832054918390529091208590558493509150610fd0565b63ffffffff811660009081526020819052604090205492508391505b610ffb7f0000000000000000000000000000000000000000000000000000000000000000848461085b565b93506110086002866115ab565b9450600101610f3b565b50600354600090601e9061102d9063ffffffff1660016115ce565b6110379190611588565b6003805463ffffffff191663ffffffff83169081179091556000908152600260205260409020859055905061106d8660016115ce565b6003805463ffffffff929092166401000000000267ffffffff000000001990921691909117905550939695505050505050565b7f000000000000000000000000000000000000000000000000000000000000000034146111355760405162461bcd60e51b815260206004820152603860248201527f506c656173652073656e6420606d697844656e6f6d696e6174696f6e6020455460448201527f4820616c6f6e672077697468207472616e73616374696f6e00000000000000006064820152608401610520565b565b60006020828403121561114957600080fd5b5035919050565b6001600160a01b038116811461116557600080fd5b50565b803561117381611150565b919050565b60008060008060008060008060e0898b03121561119457600080fd5b883567ffffffffffffffff808211156111ac57600080fd5b818b0191508b601f8301126111c057600080fd5b8135818111156111cf57600080fd5b8c60208285010111156111e157600080fd5b60209283019a5098505089013595506040890135945061120360608a01611168565b935061121160808a01611168565b925060a0890135915060c089013590509295985092959890939650565b60008060006060848603121561124357600080fd5b833561124e81611150565b95602085013595506040909401359392505050565b6000806020838503121561127657600080fd5b823567ffffffffffffffff8082111561128e57600080fd5b818501915085601f8301126112a257600080fd5b8135818111156112b157600080fd5b8660208260051b85010111156112c657600080fd5b60209290920196919550909350505050565b6020808252825182820181905260009190848201906040850190845b818110156113125783511515835292840192918401916001016112f4565b50909695505050505050565b60e081528260e08201526000610100848682850137600081868501015280601f19601f87011684010191505060208083018460005b600681101561137057815183529183019190830190600101611353565b50505050949350505050565b60006020828403121561138e57600080fd5b8151801515811461139e57600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b600063ffffffff8216806113d1576113d16113a5565b6000190192915050565b600080604083850312156113ee57600080fd5b505080516020909101519092909150565b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b81810381811115611454576114546113a5565b92915050565b600181815b80851115611497578163ffffffff0482111561147d5761147d6113a5565b8085161561148a57918102915b93841c939080029061145f565b509250929050565b6000826114ae57506001611454565b816114bb57506000611454565b81600181146114d157600281146114db5761150c565b6001915050611454565b60ff8411156114ec576114ec6113a5565b6001841b915063ffffffff821115611506576115066113a5565b50611454565b5060208310610133831016604e8410600b8410161715611543575081810a63ffffffff81111561153e5761153e6113a5565b611454565b61154d838361145a565b8063ffffffff04821115611563576115636113a5565b029392505050565b600063ffffffff61158081851682851661149f565b949350505050565b600063ffffffff8084168061159f5761159f6113ff565b92169190910692915050565b600063ffffffff808416806115c2576115c26113ff565b92169190910492915050565b63ffffffff818116838216019080821115610add57610add6113a556fe30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001a2646970667358221220267f40202364f981d5a2318bca43d1a8beff64b8785905fc2621de01f8449b3964736f6c6343000819003330644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001"; + +type ETHTornadoConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: ETHTornadoConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class ETHTornado__factory extends ContractFactory { + constructor(...args: ETHTornadoConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + _verifier: AddressLike, + _hasher: AddressLike, + _denomination: BigNumberish, + _merkleTreeHeight: BigNumberish, + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction( + _verifier, + _hasher, + _denomination, + _merkleTreeHeight, + overrides || {} + ); + } + override deploy( + _verifier: AddressLike, + _hasher: AddressLike, + _denomination: BigNumberish, + _merkleTreeHeight: BigNumberish, + overrides?: NonPayableOverrides & { from?: string } + ) { + return super.deploy( + _verifier, + _hasher, + _denomination, + _merkleTreeHeight, + overrides || {} + ) as Promise< + ETHTornado & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): ETHTornado__factory { + return super.connect(runner) as ETHTornado__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): ETHTornadoInterface { + return new Interface(_abi) as ETHTornadoInterface; + } + static connect(address: string, runner?: ContractRunner | null): ETHTornado { + return new Contract(address, _abi, runner) as unknown as ETHTornado; + } +} diff --git a/typechain-types/factories/contracts/Classic/Echoer__factory.ts b/typechain-types/factories/contracts/Classic/Echoer__factory.ts new file mode 100644 index 0000000..bebcde8 --- /dev/null +++ b/typechain-types/factories/contracts/Classic/Echoer__factory.ts @@ -0,0 +1,96 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../common"; +import type { + Echoer, + EchoerInterface, +} from "../../../contracts/Classic/Echoer"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "who", + type: "address", + }, + { + indexed: false, + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "Echo", + type: "event", + }, + { + inputs: [ + { + internalType: "bytes", + name: "_data", + type: "bytes", + }, + ], + name: "echo", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +const _bytecode = + "0x6080604052348015600f57600080fd5b506101638061001f6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063624fbfdc14610030575b600080fd5b61004361003e36600461008c565b610045565b005b336001600160a01b03167f50d6f3fc915efd1695d8a4cb50da185984f50d256834b9cb308295eb3c872c9c83836040516100809291906100fe565b60405180910390a25050565b6000806020838503121561009f57600080fd5b823567ffffffffffffffff808211156100b757600080fd5b818501915085601f8301126100cb57600080fd5b8135818111156100da57600080fd5b8660208285010111156100ec57600080fd5b60209290920196919550909350505050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f1916010191905056fea2646970667358221220cadc2288aafcfeb373ae536503c025419ca51a0b1642ad003ff215a6bff8658464736f6c63430008190033"; + +type EchoerConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: EchoerConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class Echoer__factory extends ContractFactory { + constructor(...args: EchoerConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(overrides || {}); + } + override deploy(overrides?: NonPayableOverrides & { from?: string }) { + return super.deploy(overrides || {}) as Promise< + Echoer & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): Echoer__factory { + return super.connect(runner) as Echoer__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): EchoerInterface { + return new Interface(_abi) as EchoerInterface; + } + static connect(address: string, runner?: ContractRunner | null): Echoer { + return new Contract(address, _abi, runner) as unknown as Echoer; + } +} diff --git a/typechain-types/factories/contracts/Classic/MerkleTreeWithHistory.sol/IHasher__factory.ts b/typechain-types/factories/contracts/Classic/MerkleTreeWithHistory.sol/IHasher__factory.ts new file mode 100644 index 0000000..52b8c0c --- /dev/null +++ b/typechain-types/factories/contracts/Classic/MerkleTreeWithHistory.sol/IHasher__factory.ts @@ -0,0 +1,51 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IHasher, + IHasherInterface, +} from "../../../../contracts/Classic/MerkleTreeWithHistory.sol/IHasher"; + +const _abi = [ + { + inputs: [ + { + internalType: "uint256", + name: "in_xL", + type: "uint256", + }, + { + internalType: "uint256", + name: "in_xR", + type: "uint256", + }, + ], + name: "MiMCSponge", + outputs: [ + { + internalType: "uint256", + name: "xL", + type: "uint256", + }, + { + internalType: "uint256", + name: "xR", + type: "uint256", + }, + ], + stateMutability: "pure", + type: "function", + }, +] as const; + +export class IHasher__factory { + static readonly abi = _abi; + static createInterface(): IHasherInterface { + return new Interface(_abi) as IHasherInterface; + } + static connect(address: string, runner?: ContractRunner | null): IHasher { + return new Contract(address, _abi, runner) as unknown as IHasher; + } +} diff --git a/typechain-types/factories/contracts/Classic/MerkleTreeWithHistory.sol/MerkleTreeWithHistory__factory.ts b/typechain-types/factories/contracts/Classic/MerkleTreeWithHistory.sol/MerkleTreeWithHistory__factory.ts new file mode 100644 index 0000000..c8f5f8d --- /dev/null +++ b/typechain-types/factories/contracts/Classic/MerkleTreeWithHistory.sol/MerkleTreeWithHistory__factory.ts @@ -0,0 +1,310 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { + Signer, + BigNumberish, + AddressLike, + ContractDeployTransaction, + ContractRunner, +} from "ethers"; +import type { NonPayableOverrides } from "../../../../common"; +import type { + MerkleTreeWithHistory, + MerkleTreeWithHistoryInterface, +} from "../../../../contracts/Classic/MerkleTreeWithHistory.sol/MerkleTreeWithHistory"; + +const _abi = [ + { + inputs: [ + { + internalType: "uint32", + name: "_levels", + type: "uint32", + }, + { + internalType: "contract IHasher", + name: "_hasher", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + inputs: [], + name: "FIELD_SIZE", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "ROOT_HISTORY_SIZE", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "ZERO_VALUE", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "currentRootIndex", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "filledSubtrees", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getLastRoot", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "contract IHasher", + name: "_hasher", + type: "address", + }, + { + internalType: "bytes32", + name: "_left", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "_right", + type: "bytes32", + }, + ], + name: "hashLeftRight", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [], + name: "hasher", + outputs: [ + { + internalType: "contract IHasher", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_root", + type: "bytes32", + }, + ], + name: "isKnownRoot", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "levels", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "nextIndex", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "roots", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "zeros", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +const _bytecode = + "0x60c0604052600380546001600160401b031916905534801561002057600080fd5b50604051610a10380380610a1083398101604081905261003f91610385565b60008263ffffffff16116100a65760405162461bcd60e51b815260206004820152602360248201527f5f6c6576656c732073686f756c642062652067726561746572207468616e207a60448201526265726f60e81b60648201526084015b60405180910390fd5b60208263ffffffff16106100fc5760405162461bcd60e51b815260206004820152601e60248201527f5f6c6576656c732073686f756c64206265206c657373207468616e2033320000604482015260640161009d565b63ffffffff821660a0526001600160a01b0381166080527f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c60005b8363ffffffff168163ffffffff1610156101845763ffffffff8116600090815260016020908152604080832085905590829052902082905561017a8383806101b8565b9150600101610137565b506000805260026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b55506103f89050565b60006000805160206109f083398151915283106102175760405162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c64604482015260640161009d565b6000805160206109f0833981519152821061027e5760405162461bcd60e51b815260206004820152602160248201527f5f72696768742073686f756c6420626520696e7369646520746865206669656c6044820152601960fa1b606482015260840161009d565b60405163f47d33b560e01b81526004810184905260006024820181905284916001600160a01b0387169063f47d33b5906044016040805180830381865afa1580156102cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f191906103d4565b90925090506000805160206109f083398151915284830860405163f47d33b560e01b815260048101829052602481018390529092506001600160a01b0387169063f47d33b5906044016040805180830381865afa158015610356573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061037a91906103d4565b509695505050505050565b6000806040838503121561039857600080fd5b825163ffffffff811681146103ac57600080fd5b60208401519092506001600160a01b03811681146103c957600080fd5b809150509250929050565b600080604083850312156103e757600080fd5b505080516020909101519092909150565b60805160a0516105d361041d60003960006101010152600061020f01526105d36000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063c2b40ae41161008c578063ec73295911610066578063ec732959146101e3578063ed33639f1461020a578063f178e47c14610249578063fc7e9c6f1461026957600080fd5b8063c2b40ae41461019b578063cd87a3b4146101bb578063e8295588146101c357600080fd5b8063414a37ba146100d45780634ecf518b146100fc5780636d9833e3146101385780638ea3099e1461015b57806390eeb02b1461016e578063ba70f7571461017e575b600080fd5b6100e960008051602061057e83398151915281565b6040519081526020015b60405180910390f35b6101237f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016100f3565b61014b6101463660046104d1565b610281565b60405190151581526020016100f3565b6100e96101693660046104ea565b6102ff565b6003546101239063ffffffff1681565b60035463ffffffff166000908152600260205260409020546100e9565b6100e96101a93660046104d1565b60026020526000908152604090205481565b610123601e81565b6100e96101d13660046104d1565b60016020526000908152604090205481565b6100e97f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c81565b6102317f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100f3565b6100e96102573660046104d1565b60006020819052908152604090205481565b60035461012390640100000000900463ffffffff1681565b600081810361029257506000919050565b60035463ffffffff16805b63ffffffff811660009081526002602052604090205484036102c3575060019392505050565b8063ffffffff166000036102d55750601e5b806102df8161052b565b9150508163ffffffff168163ffffffff160361029d575060009392505050565b600060008051602061057e83398151915283106103635760405162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c6460448201526064015b60405180910390fd5b60008051602061057e83398151915282106103ca5760405162461bcd60e51b815260206004820152602160248201527f5f72696768742073686f756c6420626520696e7369646520746865206669656c6044820152601960fa1b606482015260840161035a565b60405163f47d33b560e01b81526004810184905260006024820181905284916001600160a01b0387169063f47d33b5906044016040805180830381865afa158015610419573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061043d9190610559565b909250905060008051602061057e83398151915284830860405163f47d33b560e01b815260048101829052602481018390529092506001600160a01b0387169063f47d33b5906044016040805180830381865afa1580156104a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104c69190610559565b509695505050505050565b6000602082840312156104e357600080fd5b5035919050565b6000806000606084860312156104ff57600080fd5b83356001600160a01b038116811461051657600080fd5b95602085013595506040909401359392505050565b600063ffffffff82168061054f57634e487b7160e01b600052601160045260246000fd5b6000190192915050565b6000806040838503121561056c57600080fd5b50508051602090910151909290915056fe30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001a2646970667358221220073b750aae4dba8655a2e525b0e8b02446e762412e24ec1684e134ada3303bda64736f6c6343000819003330644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001"; + +type MerkleTreeWithHistoryConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: MerkleTreeWithHistoryConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class MerkleTreeWithHistory__factory extends ContractFactory { + constructor(...args: MerkleTreeWithHistoryConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + _levels: BigNumberish, + _hasher: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(_levels, _hasher, overrides || {}); + } + override deploy( + _levels: BigNumberish, + _hasher: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ) { + return super.deploy(_levels, _hasher, overrides || {}) as Promise< + MerkleTreeWithHistory & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect( + runner: ContractRunner | null + ): MerkleTreeWithHistory__factory { + return super.connect(runner) as MerkleTreeWithHistory__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): MerkleTreeWithHistoryInterface { + return new Interface(_abi) as MerkleTreeWithHistoryInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): MerkleTreeWithHistory { + return new Contract( + address, + _abi, + runner + ) as unknown as MerkleTreeWithHistory; + } +} diff --git a/typechain-types/factories/contracts/Classic/MerkleTreeWithHistory.sol/index.ts b/typechain-types/factories/contracts/Classic/MerkleTreeWithHistory.sol/index.ts new file mode 100644 index 0000000..0129d68 --- /dev/null +++ b/typechain-types/factories/contracts/Classic/MerkleTreeWithHistory.sol/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { IHasher__factory } from "./IHasher__factory"; +export { MerkleTreeWithHistory__factory } from "./MerkleTreeWithHistory__factory"; diff --git a/typechain-types/factories/contracts/Classic/Mocks/BadRecipient__factory.ts b/typechain-types/factories/contracts/Classic/Mocks/BadRecipient__factory.ts new file mode 100644 index 0000000..656d56f --- /dev/null +++ b/typechain-types/factories/contracts/Classic/Mocks/BadRecipient__factory.ts @@ -0,0 +1,71 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../common"; +import type { + BadRecipient, + BadRecipientInterface, +} from "../../../../contracts/Classic/Mocks/BadRecipient"; + +const _abi = [ + { + stateMutability: "nonpayable", + type: "fallback", + }, +] as const; + +const _bytecode = + "0x6080604052348015600f57600080fd5b50609c80601d6000396000f3fe6080604052348015600f57600080fd5b5060405162461bcd60e51b815260206004820152602160248201527f7468697320636f6e747261637420646f6573206e6f74206163636570742045546044820152600960fb1b606482015260840160405180910390fdfea264697066735822122034c2432feedadd0f30a6f66555381c20922b6ab7c9b3ede4c27896b23e802a8264736f6c63430008190033"; + +type BadRecipientConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: BadRecipientConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class BadRecipient__factory extends ContractFactory { + constructor(...args: BadRecipientConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(overrides || {}); + } + override deploy(overrides?: NonPayableOverrides & { from?: string }) { + return super.deploy(overrides || {}) as Promise< + BadRecipient & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): BadRecipient__factory { + return super.connect(runner) as BadRecipient__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): BadRecipientInterface { + return new Interface(_abi) as BadRecipientInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): BadRecipient { + return new Contract(address, _abi, runner) as unknown as BadRecipient; + } +} diff --git a/typechain-types/factories/contracts/Classic/Mocks/ERC20Mock__factory.ts b/typechain-types/factories/contracts/Classic/Mocks/ERC20Mock__factory.ts new file mode 100644 index 0000000..f9bfab5 --- /dev/null +++ b/typechain-types/factories/contracts/Classic/Mocks/ERC20Mock__factory.ts @@ -0,0 +1,390 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../common"; +import type { + ERC20Mock, + ERC20MockInterface, +} from "../../../../contracts/Classic/Mocks/ERC20Mock"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "allowance", + type: "uint256", + }, + { + internalType: "uint256", + name: "needed", + type: "uint256", + }, + ], + name: "ERC20InsufficientAllowance", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + { + internalType: "uint256", + name: "balance", + type: "uint256", + }, + { + internalType: "uint256", + name: "needed", + type: "uint256", + }, + ], + name: "ERC20InsufficientBalance", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "approver", + type: "address", + }, + ], + name: "ERC20InvalidApprover", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "ERC20InvalidReceiver", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + ], + name: "ERC20InvalidSender", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + ], + name: "ERC20InvalidSpender", + type: "error", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Approval", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Transfer", + type: "event", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "mint", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +const _bytecode = + "0x608060405234801561001057600080fd5b50604051806040016040528060078152602001664441494d6f636b60c81b815250604051806040016040528060048152602001634441494d60e01b815250816003908161005d9190610113565b50600461006a8282610113565b5050506101d2565b634e487b7160e01b600052604160045260246000fd5b600181811c9082168061009c57607f821691505b6020821081036100bc57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561010e576000816000526020600020601f850160051c810160208610156100eb5750805b601f850160051c820191505b8181101561010a578281556001016100f7565b5050505b505050565b81516001600160401b0381111561012c5761012c610072565b6101408161013a8454610088565b846100c2565b602080601f831160018114610175576000841561015d5750858301515b600019600386901b1c1916600185901b17855561010a565b600085815260208120601f198616915b828110156101a457888601518255948401946001909101908401610185565b50858210156101c25787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b610785806101e16000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c806340c10f191161006657806340c10f191461011857806370a082311461012d57806395d89b4114610156578063a9059cbb1461015e578063dd62ed3e1461017157600080fd5b806306fdde03146100a3578063095ea7b3146100c157806318160ddd146100e457806323b872dd146100f6578063313ce56714610109575b600080fd5b6100ab6101aa565b6040516100b891906105ce565b60405180910390f35b6100d46100cf366004610639565b61023c565b60405190151581526020016100b8565b6002545b6040519081526020016100b8565b6100d4610104366004610663565b610256565b604051601281526020016100b8565b61012b610126366004610639565b61027a565b005b6100e861013b36600461069f565b6001600160a01b031660009081526020819052604090205490565b6100ab610288565b6100d461016c366004610639565b610297565b6100e861017f3660046106c1565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6060600380546101b9906106f4565b80601f01602080910402602001604051908101604052809291908181526020018280546101e5906106f4565b80156102325780601f1061020757610100808354040283529160200191610232565b820191906000526020600020905b81548152906001019060200180831161021557829003601f168201915b5050505050905090565b60003361024a8185856102a5565b60019150505b92915050565b6000336102648582856102b7565b61026f85858561033a565b506001949350505050565b6102848282610399565b5050565b6060600480546101b9906106f4565b60003361024a81858561033a565b6102b283838360016103cf565b505050565b6001600160a01b038381166000908152600160209081526040808320938616835292905220546000198114610334578181101561032557604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064015b60405180910390fd5b610334848484840360006103cf565b50505050565b6001600160a01b03831661036457604051634b637e8f60e11b81526000600482015260240161031c565b6001600160a01b03821661038e5760405163ec442f0560e01b81526000600482015260240161031c565b6102b28383836104a4565b6001600160a01b0382166103c35760405163ec442f0560e01b81526000600482015260240161031c565b610284600083836104a4565b6001600160a01b0384166103f95760405163e602df0560e01b81526000600482015260240161031c565b6001600160a01b03831661042357604051634a1406b160e11b81526000600482015260240161031c565b6001600160a01b038085166000908152600160209081526040808320938716835292905220829055801561033457826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161049691815260200190565b60405180910390a350505050565b6001600160a01b0383166104cf5780600260008282546104c4919061072e565b909155506105419050565b6001600160a01b038316600090815260208190526040902054818110156105225760405163391434e360e21b81526001600160a01b0385166004820152602481018290526044810183905260640161031c565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b03821661055d5760028054829003905561057c565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516105c191815260200190565b60405180910390a3505050565b60006020808352835180602085015260005b818110156105fc578581018301518582016040015282016105e0565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461063457600080fd5b919050565b6000806040838503121561064c57600080fd5b6106558361061d565b946020939093013593505050565b60008060006060848603121561067857600080fd5b6106818461061d565b925061068f6020850161061d565b9150604084013590509250925092565b6000602082840312156106b157600080fd5b6106ba8261061d565b9392505050565b600080604083850312156106d457600080fd5b6106dd8361061d565b91506106eb6020840161061d565b90509250929050565b600181811c9082168061070857607f821691505b60208210810361072857634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561025057634e487b7160e01b600052601160045260246000fdfea264697066735822122058942fcc650d3670455590fabbf6c5726b3ae7df7b57e75bc02cb2c66259d45b64736f6c63430008190033"; + +type ERC20MockConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: ERC20MockConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class ERC20Mock__factory extends ContractFactory { + constructor(...args: ERC20MockConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(overrides || {}); + } + override deploy(overrides?: NonPayableOverrides & { from?: string }) { + return super.deploy(overrides || {}) as Promise< + ERC20Mock & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): ERC20Mock__factory { + return super.connect(runner) as ERC20Mock__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): ERC20MockInterface { + return new Interface(_abi) as ERC20MockInterface; + } + static connect(address: string, runner?: ContractRunner | null): ERC20Mock { + return new Contract(address, _abi, runner) as unknown as ERC20Mock; + } +} diff --git a/typechain-types/factories/contracts/Classic/Mocks/IDeployer__factory.ts b/typechain-types/factories/contracts/Classic/Mocks/IDeployer__factory.ts new file mode 100644 index 0000000..7a9ff45 --- /dev/null +++ b/typechain-types/factories/contracts/Classic/Mocks/IDeployer__factory.ts @@ -0,0 +1,46 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IDeployer, + IDeployerInterface, +} from "../../../../contracts/Classic/Mocks/IDeployer"; + +const _abi = [ + { + inputs: [ + { + internalType: "bytes", + name: "_initCode", + type: "bytes", + }, + { + internalType: "bytes32", + name: "_salt", + type: "bytes32", + }, + ], + name: "deploy", + outputs: [ + { + internalType: "address payable", + name: "createdContract", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IDeployer__factory { + static readonly abi = _abi; + static createInterface(): IDeployerInterface { + return new Interface(_abi) as IDeployerInterface; + } + static connect(address: string, runner?: ContractRunner | null): IDeployer { + return new Contract(address, _abi, runner) as unknown as IDeployer; + } +} diff --git a/typechain-types/factories/contracts/Classic/Mocks/IUSDT.sol/ERC20Basic__factory.ts b/typechain-types/factories/contracts/Classic/Mocks/IUSDT.sol/ERC20Basic__factory.ts new file mode 100644 index 0000000..bdd9450 --- /dev/null +++ b/typechain-types/factories/contracts/Classic/Mocks/IUSDT.sol/ERC20Basic__factory.ts @@ -0,0 +1,110 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + ERC20Basic, + ERC20BasicInterface, +} from "../../../../../contracts/Classic/Mocks/IUSDT.sol/ERC20Basic"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Transfer", + type: "event", + }, + { + inputs: [], + name: "_totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "who", + type: "address", + }, + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "transfer", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class ERC20Basic__factory { + static readonly abi = _abi; + static createInterface(): ERC20BasicInterface { + return new Interface(_abi) as ERC20BasicInterface; + } + static connect(address: string, runner?: ContractRunner | null): ERC20Basic { + return new Contract(address, _abi, runner) as unknown as ERC20Basic; + } +} diff --git a/typechain-types/factories/contracts/Classic/Mocks/IUSDT.sol/IUSDT__factory.ts b/typechain-types/factories/contracts/Classic/Mocks/IUSDT.sol/IUSDT__factory.ts new file mode 100644 index 0000000..8de4947 --- /dev/null +++ b/typechain-types/factories/contracts/Classic/Mocks/IUSDT.sol/IUSDT__factory.ts @@ -0,0 +1,200 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IUSDT, + IUSDTInterface, +} from "../../../../../contracts/Classic/Mocks/IUSDT.sol/IUSDT"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Approval", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Transfer", + type: "event", + }, + { + inputs: [], + name: "_totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "approve", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "who", + type: "address", + }, + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "transfer", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "transferFrom", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IUSDT__factory { + static readonly abi = _abi; + static createInterface(): IUSDTInterface { + return new Interface(_abi) as IUSDTInterface; + } + static connect(address: string, runner?: ContractRunner | null): IUSDT { + return new Contract(address, _abi, runner) as unknown as IUSDT; + } +} diff --git a/typechain-types/factories/contracts/Classic/Mocks/IUSDT.sol/index.ts b/typechain-types/factories/contracts/Classic/Mocks/IUSDT.sol/index.ts new file mode 100644 index 0000000..771675a --- /dev/null +++ b/typechain-types/factories/contracts/Classic/Mocks/IUSDT.sol/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { ERC20Basic__factory } from "./ERC20Basic__factory"; +export { IUSDT__factory } from "./IUSDT__factory"; diff --git a/typechain-types/factories/contracts/Classic/Mocks/MerkleTreeWithHistoryMock__factory.ts b/typechain-types/factories/contracts/Classic/Mocks/MerkleTreeWithHistoryMock__factory.ts new file mode 100644 index 0000000..ef0d94f --- /dev/null +++ b/typechain-types/factories/contracts/Classic/Mocks/MerkleTreeWithHistoryMock__factory.ts @@ -0,0 +1,323 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { + Signer, + BigNumberish, + AddressLike, + ContractDeployTransaction, + ContractRunner, +} from "ethers"; +import type { NonPayableOverrides } from "../../../../common"; +import type { + MerkleTreeWithHistoryMock, + MerkleTreeWithHistoryMockInterface, +} from "../../../../contracts/Classic/Mocks/MerkleTreeWithHistoryMock"; + +const _abi = [ + { + inputs: [ + { + internalType: "uint32", + name: "_treeLevels", + type: "uint32", + }, + { + internalType: "contract IHasher", + name: "_hasher", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + inputs: [], + name: "FIELD_SIZE", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "ROOT_HISTORY_SIZE", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "ZERO_VALUE", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "currentRootIndex", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "filledSubtrees", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getLastRoot", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "contract IHasher", + name: "_hasher", + type: "address", + }, + { + internalType: "bytes32", + name: "_left", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "_right", + type: "bytes32", + }, + ], + name: "hashLeftRight", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [], + name: "hasher", + outputs: [ + { + internalType: "contract IHasher", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_leaf", + type: "bytes32", + }, + ], + name: "insert", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_root", + type: "bytes32", + }, + ], + name: "isKnownRoot", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "levels", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "nextIndex", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "roots", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "zeros", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +const _bytecode = + "0x60c0604052600380546001600160401b031916905534801561002057600080fd5b50604051610e3c380380610e3c83398101604081905261003f91610389565b818160008263ffffffff16116100a85760405162461bcd60e51b815260206004820152602360248201527f5f6c6576656c732073686f756c642062652067726561746572207468616e207a60448201526265726f60e81b60648201526084015b60405180910390fd5b60208263ffffffff16106100fe5760405162461bcd60e51b815260206004820152601e60248201527f5f6c6576656c732073686f756c64206265206c657373207468616e2033320000604482015260640161009f565b63ffffffff821660a0526001600160a01b0381166080527f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c60005b8363ffffffff168163ffffffff1610156101865763ffffffff8116600090815260016020908152604080832085905590829052902082905561017c8383806101bc565b9150600101610139565b506000805260026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b55506103fc92505050565b6000600080516020610e1c833981519152831061021b5760405162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c64604482015260640161009f565b600080516020610e1c83398151915282106102825760405162461bcd60e51b815260206004820152602160248201527f5f72696768742073686f756c6420626520696e7369646520746865206669656c6044820152601960fa1b606482015260840161009f565b60405163f47d33b560e01b81526004810184905260006024820181905284916001600160a01b0387169063f47d33b5906044016040805180830381865afa1580156102d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f591906103d8565b9092509050600080516020610e1c83398151915284830860405163f47d33b560e01b815260048101829052602481018390529092506001600160a01b0387169063f47d33b5906044016040805180830381865afa15801561035a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061037e91906103d8565b509695505050505050565b6000806040838503121561039c57600080fd5b825163ffffffff811681146103b057600080fd5b60208401519092506001600160a01b03811681146103cd57600080fd5b809150509250929050565b600080604083850312156103eb57600080fd5b505080516020909101519092909150565b60805160a0516109e6610436600039600081816101310152818161052701526105c901526000818161023f015261066101526109e66000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063c2b40ae41161008c578063ec73295911610066578063ec73295914610213578063ed33639f1461023a578063f178e47c14610279578063fc7e9c6f1461029957600080fd5b8063c2b40ae4146101cb578063cd87a3b4146101eb578063e8295588146101f357600080fd5b80636d9833e3116100c85780636d9833e3146101685780638ea3099e1461018b57806390eeb02b1461019e578063ba70f757146101ae57600080fd5b80632d287e43146100ef578063414a37ba146101045780634ecf518b1461012c575b600080fd5b6101026100fd36600461072c565b6102b1565b005b61011960008051602061099183398151915281565b6040519081526020015b60405180910390f35b6101537f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff9091168152602001610123565b61017b61017636600461072c565b6102be565b6040519015158152602001610123565b610119610199366004610745565b61033c565b6003546101539063ffffffff1681565b60035463ffffffff16600090815260026020526040902054610119565b6101196101d936600461072c565b60026020526000908152604090205481565b610153601e81565b61011961020136600461072c565b60016020526000908152604090205481565b6101197f2fe54c60d3acabf3343a35b6eba15db4821b340f76e741e2249685ed4899af6c81565b6102617f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610123565b61011961028736600461072c565b60006020819052908152604090205481565b60035461015390640100000000900463ffffffff1681565b6102ba8161050e565b5050565b60008181036102cf57506000919050565b60035463ffffffff16805b63ffffffff81166000908152600260205260409020548403610300575060019392505050565b8063ffffffff166000036103125750601e5b8061031c8161079c565b9150508163ffffffff168163ffffffff16036102da575060009392505050565b600060008051602061099183398151915283106103a05760405162461bcd60e51b815260206004820181905260248201527f5f6c6566742073686f756c6420626520696e7369646520746865206669656c6460448201526064015b60405180910390fd5b60008051602061099183398151915282106104075760405162461bcd60e51b815260206004820152602160248201527f5f72696768742073686f756c6420626520696e7369646520746865206669656c6044820152601960fa1b6064820152608401610397565b60405163f47d33b560e01b81526004810184905260006024820181905284916001600160a01b0387169063f47d33b5906044016040805180830381865afa158015610456573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061047a91906107bc565b909250905060008051602061099183398151915284830860405163f47d33b560e01b815260048101829052602481018390529092506001600160a01b0387169063f47d33b5906044016040805180830381865afa1580156104df573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061050391906107bc565b509695505050505050565b600354600090640100000000900463ffffffff1661054d7f00000000000000000000000000000000000000000000000000000000000000006002610909565b63ffffffff168163ffffffff16036105c05760405162461bcd60e51b815260206004820152603060248201527f4d65726b6c6520747265652069732066756c6c2e204e6f206d6f7265206c656160448201526f1d995cc818d85b88189948185919195960821b6064820152608401610397565b8083600080805b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff168163ffffffff16101561069e57610606600286610926565b63ffffffff166000036106405763ffffffff811660009081526001602090815260408083205491839052909120859055849350915061065c565b63ffffffff811660009081526020819052604090205492508391505b6106877f0000000000000000000000000000000000000000000000000000000000000000848461033c565b9350610694600286610949565b94506001016105c7565b50600354600090601e906106b99063ffffffff16600161096c565b6106c39190610926565b6003805463ffffffff191663ffffffff8316908117909155600090815260026020526040902085905590506106f986600161096c565b6003805463ffffffff929092166401000000000267ffffffff000000001990921691909117905550939695505050505050565b60006020828403121561073e57600080fd5b5035919050565b60008060006060848603121561075a57600080fd5b83356001600160a01b038116811461077157600080fd5b95602085013595506040909401359392505050565b634e487b7160e01b600052601160045260246000fd5b600063ffffffff8216806107b2576107b2610786565b6000190192915050565b600080604083850312156107cf57600080fd5b505080516020909101519092909150565b634e487b7160e01b600052601260045260246000fd5b600181815b80851115610833578163ffffffff0482111561081957610819610786565b8085161561082657918102915b93841c93908002906107fb565b509250929050565b60008261084a57506001610903565b8161085757506000610903565b816001811461086d5760028114610877576108a8565b6001915050610903565b60ff84111561088857610888610786565b6001841b915063ffffffff8211156108a2576108a2610786565b50610903565b5060208310610133831016604e8410600b84101617156108df575081810a63ffffffff8111156108da576108da610786565b610903565b6108e983836107f6565b8063ffffffff048211156108ff576108ff610786565b0290505b92915050565b600063ffffffff61091e81851682851661083b565b949350505050565b600063ffffffff8084168061093d5761093d6107e0565b92169190910692915050565b600063ffffffff80841680610960576109606107e0565b92169190910492915050565b63ffffffff81811683821601908082111561098957610989610786565b509291505056fe30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001a26469706673582212202d7e980def4626c357f1bcdaac465eacf4317fbdecbf5d0a96b796c5d828cb7464736f6c6343000819003330644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001"; + +type MerkleTreeWithHistoryMockConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: MerkleTreeWithHistoryMockConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class MerkleTreeWithHistoryMock__factory extends ContractFactory { + constructor(...args: MerkleTreeWithHistoryMockConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + _treeLevels: BigNumberish, + _hasher: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(_treeLevels, _hasher, overrides || {}); + } + override deploy( + _treeLevels: BigNumberish, + _hasher: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ) { + return super.deploy(_treeLevels, _hasher, overrides || {}) as Promise< + MerkleTreeWithHistoryMock & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect( + runner: ContractRunner | null + ): MerkleTreeWithHistoryMock__factory { + return super.connect(runner) as MerkleTreeWithHistoryMock__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): MerkleTreeWithHistoryMockInterface { + return new Interface(_abi) as MerkleTreeWithHistoryMockInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): MerkleTreeWithHistoryMock { + return new Contract( + address, + _abi, + runner + ) as unknown as MerkleTreeWithHistoryMock; + } +} diff --git a/typechain-types/factories/contracts/Classic/Mocks/index.ts b/typechain-types/factories/contracts/Classic/Mocks/index.ts new file mode 100644 index 0000000..f96faae --- /dev/null +++ b/typechain-types/factories/contracts/Classic/Mocks/index.ts @@ -0,0 +1,8 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as iusdtSol from "./IUSDT.sol"; +export { BadRecipient__factory } from "./BadRecipient__factory"; +export { ERC20Mock__factory } from "./ERC20Mock__factory"; +export { IDeployer__factory } from "./IDeployer__factory"; +export { MerkleTreeWithHistoryMock__factory } from "./MerkleTreeWithHistoryMock__factory"; diff --git a/typechain-types/factories/contracts/Classic/Tornado.sol/IVerifier__factory.ts b/typechain-types/factories/contracts/Classic/Tornado.sol/IVerifier__factory.ts new file mode 100644 index 0000000..d06ad19 --- /dev/null +++ b/typechain-types/factories/contracts/Classic/Tornado.sol/IVerifier__factory.ts @@ -0,0 +1,46 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IVerifier, + IVerifierInterface, +} from "../../../../contracts/Classic/Tornado.sol/IVerifier"; + +const _abi = [ + { + inputs: [ + { + internalType: "bytes", + name: "_proof", + type: "bytes", + }, + { + internalType: "uint256[6]", + name: "_input", + type: "uint256[6]", + }, + ], + name: "verifyProof", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IVerifier__factory { + static readonly abi = _abi; + static createInterface(): IVerifierInterface { + return new Interface(_abi) as IVerifierInterface; + } + static connect(address: string, runner?: ContractRunner | null): IVerifier { + return new Contract(address, _abi, runner) as unknown as IVerifier; + } +} diff --git a/typechain-types/factories/contracts/Classic/Tornado.sol/Tornado__factory.ts b/typechain-types/factories/contracts/Classic/Tornado.sol/Tornado__factory.ts new file mode 100644 index 0000000..1f69cec --- /dev/null +++ b/typechain-types/factories/contracts/Classic/Tornado.sol/Tornado__factory.ts @@ -0,0 +1,445 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + Tornado, + TornadoInterface, +} from "../../../../contracts/Classic/Tornado.sol/Tornado"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "commitment", + type: "bytes32", + }, + { + indexed: false, + internalType: "uint32", + name: "leafIndex", + type: "uint32", + }, + { + indexed: false, + internalType: "uint256", + name: "timestamp", + type: "uint256", + }, + ], + name: "Deposit", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "bytes32", + name: "nullifierHash", + type: "bytes32", + }, + { + indexed: true, + internalType: "address", + name: "relayer", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "fee", + type: "uint256", + }, + ], + name: "Withdrawal", + type: "event", + }, + { + inputs: [], + name: "FIELD_SIZE", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "ROOT_HISTORY_SIZE", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "ZERO_VALUE", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + name: "commitments", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "currentRootIndex", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "denomination", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_commitment", + type: "bytes32", + }, + ], + name: "deposit", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "filledSubtrees", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getLastRoot", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "contract IHasher", + name: "_hasher", + type: "address", + }, + { + internalType: "bytes32", + name: "_left", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "_right", + type: "bytes32", + }, + ], + name: "hashLeftRight", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [], + name: "hasher", + outputs: [ + { + internalType: "contract IHasher", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_root", + type: "bytes32", + }, + ], + name: "isKnownRoot", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_nullifierHash", + type: "bytes32", + }, + ], + name: "isSpent", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32[]", + name: "_nullifierHashes", + type: "bytes32[]", + }, + ], + name: "isSpentArray", + outputs: [ + { + internalType: "bool[]", + name: "spent", + type: "bool[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "levels", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "nextIndex", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + name: "nullifierHashes", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "roots", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "verifier", + outputs: [ + { + internalType: "contract IVerifier", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes", + name: "_proof", + type: "bytes", + }, + { + internalType: "bytes32", + name: "_root", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "_nullifierHash", + type: "bytes32", + }, + { + internalType: "address payable", + name: "_recipient", + type: "address", + }, + { + internalType: "address payable", + name: "_relayer", + type: "address", + }, + { + internalType: "uint256", + name: "_fee", + type: "uint256", + }, + { + internalType: "uint256", + name: "_refund", + type: "uint256", + }, + ], + name: "withdraw", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "zeros", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +export class Tornado__factory { + static readonly abi = _abi; + static createInterface(): TornadoInterface { + return new Interface(_abi) as TornadoInterface; + } + static connect(address: string, runner?: ContractRunner | null): Tornado { + return new Contract(address, _abi, runner) as unknown as Tornado; + } +} diff --git a/typechain-types/factories/contracts/Classic/Tornado.sol/index.ts b/typechain-types/factories/contracts/Classic/Tornado.sol/index.ts new file mode 100644 index 0000000..0353abe --- /dev/null +++ b/typechain-types/factories/contracts/Classic/Tornado.sol/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { IVerifier__factory } from "./IVerifier__factory"; +export { Tornado__factory } from "./Tornado__factory"; diff --git a/typechain-types/factories/contracts/Classic/TornadoProxyLight.sol/ITornadoInstance__factory.ts b/typechain-types/factories/contracts/Classic/TornadoProxyLight.sol/ITornadoInstance__factory.ts new file mode 100644 index 0000000..9d14db8 --- /dev/null +++ b/typechain-types/factories/contracts/Classic/TornadoProxyLight.sol/ITornadoInstance__factory.ts @@ -0,0 +1,107 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + ITornadoInstance, + ITornadoInstanceInterface, +} from "../../../../contracts/Classic/TornadoProxyLight.sol/ITornadoInstance"; + +const _abi = [ + { + inputs: [], + name: "denomination", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "commitment", + type: "bytes32", + }, + ], + name: "deposit", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [], + name: "token", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes", + name: "proof", + type: "bytes", + }, + { + internalType: "bytes32", + name: "root", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "nullifierHash", + type: "bytes32", + }, + { + internalType: "address payable", + name: "recipient", + type: "address", + }, + { + internalType: "address payable", + name: "relayer", + type: "address", + }, + { + internalType: "uint256", + name: "fee", + type: "uint256", + }, + { + internalType: "uint256", + name: "refund", + type: "uint256", + }, + ], + name: "withdraw", + outputs: [], + stateMutability: "payable", + type: "function", + }, +] as const; + +export class ITornadoInstance__factory { + static readonly abi = _abi; + static createInterface(): ITornadoInstanceInterface { + return new Interface(_abi) as ITornadoInstanceInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): ITornadoInstance { + return new Contract(address, _abi, runner) as unknown as ITornadoInstance; + } +} diff --git a/typechain-types/factories/contracts/Classic/TornadoProxyLight.sol/TornadoProxyLight__factory.ts b/typechain-types/factories/contracts/Classic/TornadoProxyLight.sol/TornadoProxyLight__factory.ts new file mode 100644 index 0000000..e693878 --- /dev/null +++ b/typechain-types/factories/contracts/Classic/TornadoProxyLight.sol/TornadoProxyLight__factory.ts @@ -0,0 +1,170 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../common"; +import type { + TornadoProxyLight, + TornadoProxyLightInterface, +} from "../../../../contracts/Classic/TornadoProxyLight.sol/TornadoProxyLight"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address", + }, + { + indexed: false, + internalType: "bytes", + name: "encryptedNote", + type: "bytes", + }, + ], + name: "EncryptedNote", + type: "event", + }, + { + inputs: [ + { + internalType: "bytes[]", + name: "_encryptedNotes", + type: "bytes[]", + }, + ], + name: "backupNotes", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "contract ITornadoInstance", + name: "_tornado", + type: "address", + }, + { + internalType: "bytes32", + name: "_commitment", + type: "bytes32", + }, + { + internalType: "bytes", + name: "_encryptedNote", + type: "bytes", + }, + ], + name: "deposit", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "contract ITornadoInstance", + name: "_tornado", + type: "address", + }, + { + internalType: "bytes", + name: "_proof", + type: "bytes", + }, + { + internalType: "bytes32", + name: "_root", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "_nullifierHash", + type: "bytes32", + }, + { + internalType: "address payable", + name: "_recipient", + type: "address", + }, + { + internalType: "address payable", + name: "_relayer", + type: "address", + }, + { + internalType: "uint256", + name: "_fee", + type: "uint256", + }, + { + internalType: "uint256", + name: "_refund", + type: "uint256", + }, + ], + name: "withdraw", + outputs: [], + stateMutability: "payable", + type: "function", + }, +] as const; + +const _bytecode = + "0x608060405234801561001057600080fd5b506104f6806100206000396000f3fe6080604052600436106100345760003560e01c806313d98d13146100395780636485ba2a1461004e578063b438689f1461006e575b600080fd5b61004c6100473660046102c7565b610081565b005b34801561005a57600080fd5b5061004c610069366004610258565b61012a565b61004c61007c366004610321565b610198565b60405163b214faa560e01b81526001600160a01b0385169063b214faa59034906100af9087906004016103ec565b6000604051808303818588803b1580156100c857600080fd5b505af11580156100dc573d6000803e3d6000fd5b5050505050336001600160a01b03167ffa28df43db3553771f7209dcef046f3bdfea15870ab625dcda30ac58b82b4008838360405161011c9291906103f5565b60405180910390a250505050565b60005b8181101561019357337ffa28df43db3553771f7209dcef046f3bdfea15870ab625dcda30ac58b82b400884848481811061016357fe5b90506020028101906101759190610463565b6040516101839291906103f5565b60405180910390a260010161012d565b505050565b6040516310d056db60e11b81526001600160a01b038a16906321a0adb69034906101d4908c908c908c908c908c908c908c908c90600401610411565b6000604051808303818588803b1580156101ed57600080fd5b505af1158015610201573d6000803e3d6000fd5b5050505050505050505050505050565b60008083601f840112610222578182fd5b50813567ffffffffffffffff811115610239578182fd5b60208301915083602082850101111561025157600080fd5b9250929050565b6000806020838503121561026a578182fd5b823567ffffffffffffffff80821115610281578384fd5b818501915085601f830112610294578384fd5b8135818111156102a2578485fd5b86602080830285010111156102b5578485fd5b60209290920196919550909350505050565b600080600080606085870312156102dc578182fd5b84356102e7816104a8565b935060208501359250604085013567ffffffffffffffff811115610309578283fd5b61031587828801610211565b95989497509550505050565b60008060008060008060008060006101008a8c03121561033f578485fd5b893561034a816104a8565b985060208a013567ffffffffffffffff811115610365578586fd5b6103718c828d01610211565b90995097505060408a0135955060608a0135945060808a0135610393816104a8565b935060a08a01356103a3816104a8565b8093505060c08a0135915060e08a013590509295985092959850929598565b60008284528282602086013780602084860101526020601f19601f85011685010190509392505050565b90815260200190565b6000602082526104096020830184866103c2565b949350505050565b600060e0825261042560e083018a8c6103c2565b60208301989098525060408101959095526001600160a01b03938416606086015291909216608084015260a083019190915260c09091015292915050565b6000808335601e19843603018112610479578283fd5b83018035915067ffffffffffffffff821115610493578283fd5b60200191503681900382131561025157600080fd5b6001600160a01b03811681146104bd57600080fd5b5056fea26469706673582212209e714d6385e2c86cc03186c5204b41573676ba810258f1b09d9b7e267ca73d2f64736f6c634300060c0033"; + +type TornadoProxyLightConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: TornadoProxyLightConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class TornadoProxyLight__factory extends ContractFactory { + constructor(...args: TornadoProxyLightConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(overrides || {}); + } + override deploy(overrides?: NonPayableOverrides & { from?: string }) { + return super.deploy(overrides || {}) as Promise< + TornadoProxyLight & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): TornadoProxyLight__factory { + return super.connect(runner) as TornadoProxyLight__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): TornadoProxyLightInterface { + return new Interface(_abi) as TornadoProxyLightInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): TornadoProxyLight { + return new Contract(address, _abi, runner) as unknown as TornadoProxyLight; + } +} diff --git a/typechain-types/factories/contracts/Classic/TornadoProxyLight.sol/index.ts b/typechain-types/factories/contracts/Classic/TornadoProxyLight.sol/index.ts new file mode 100644 index 0000000..1fc5a3d --- /dev/null +++ b/typechain-types/factories/contracts/Classic/TornadoProxyLight.sol/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { ITornadoInstance__factory } from "./ITornadoInstance__factory"; +export { TornadoProxyLight__factory } from "./TornadoProxyLight__factory"; diff --git a/typechain-types/factories/contracts/Classic/Verifier__factory.ts b/typechain-types/factories/contracts/Classic/Verifier__factory.ts new file mode 100644 index 0000000..ffe630d --- /dev/null +++ b/typechain-types/factories/contracts/Classic/Verifier__factory.ts @@ -0,0 +1,88 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../common"; +import type { + Verifier, + VerifierInterface, +} from "../../../contracts/Classic/Verifier"; + +const _abi = [ + { + inputs: [ + { + internalType: "bytes", + name: "proof", + type: "bytes", + }, + { + internalType: "uint256[6]", + name: "input", + type: "uint256[6]", + }, + ], + name: "verifyProof", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +const _bytecode = + "0x6080604052348015600f57600080fd5b506110d08061001f6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063695ef6f914610030575b600080fd5b61004361003e366004610eca565b610057565b604051901515815260200160405180910390f35b6000808380602001905181019061006e9190610f71565b905060005b60088160ff161015610129577f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47828260ff16600881106100b5576100b5610ff0565b6020020151106101175760405162461bcd60e51b815260206004820152602260248201527f76657269666965722d70726f6f662d656c656d656e742d6774652d7072696d656044820152612d7160f01b60648201526084015b60405180910390fd5b806101218161101c565b915050610073565b50610132610ca2565b6040805180820182528351815260208085015181830152908352815160808082018452858401518285019081526060808801519084015282528351808501855290860151815260a08601518184015281830152838201528151808301835260c0850151815260e0850151918101919091529082015260006101b1610321565b90506000604051806040016040528060008152602001600081525090506101f38183608001516000600781106101e9576101e9610ff0565b60200201516107ec565b905060005b60068110156102df577f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000187826006811061023457610234610ff0565b6020020151106102865760405162461bcd60e51b815260206004820152601f60248201527f76657269666965722d6774652d736e61726b2d7363616c61722d6669656c6400604482015260640161010e565b6102d5826102d0856080015184600161029f919061103b565b600781106102af576102af610ff0565b60200201518a85600681106102c6576102c6610ff0565b602002015161088d565b6107ec565b91506001016101f8565b506103146102f0846000015161091b565b846020015184600001518560200151858760400151896040015189606001516109d5565b9450505050505b92915050565b610329610cf3565b6040805180820182527f2dbfc3ec62a3eee5a3b4b464bcf1f8527bbca12adea0f1f12033cd4f61b0e09181527f19e55bd0b72c126da18665039556776642ff82e2f347f24fcea2475f4db087df6020808301919091529083528151608080820184527f1ae724ab134e5a7c6bd8a116fa5505b259522c0f164a5e8126e3ec7d34465f6e8285019081527e9f1bcdc853f8e3531756bb625b0d1dc014f4ab57c3f79f4f4e2e7ef7e0ead6606080850191909152908352845180860186527f23a8ca5760457e726365b92fd0ceb486665797cd68c35dcffd8e4ae8066691e981527f13ec7182c9fd68331a10f8be0fe885d730de5c7f89aa7d0b7bafaa009bbc9e3e818601528385015285840192909252835180820185527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c28186019081527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed828501528152845180860186527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b81527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa818601528185015285850152835180820185527f2f0c63d0c53b3dfbca27b6b43ae7fbf55a38d78a21470996485b03128accc2088186019081527e556502356e37ed150db2e36531b0f275fd6835c0fc1945922e270b48c48a86828501528152845180860186527f02644c27b5dbd793592a70b735e22c798a5e309fa17a992a7dc2a050e01b298f81527f194776b6a53439d7336f389d2a8f6651e40885f5ca2538b0dc9cb534fb23f7fa818601528185015282860152835180850185527f23df1bc9165e9c1c9b2bc036d8ebdd10e7aeae7e5e8019fde68aec7c818bb23e81527f0b6c92080d37c5fb2ddf30892a33665e5478432ef3f71ac8768ecbbe62c7789281850152818601805191909152845180860186527f1c7b2adf45e046caea000956b2ecb2d8617e710d2a7bb201a95ea276f92307b481527f2b15f07536f45948cf4abe6596637d902ffabb18c8c2f5c151544c294ce4a672818601528151850152845180860186527f1cecfe92882a8c835a47bf01bfa655cf628cbba7f81cf4042179fd13edcd6a3981527f0154bfbb2cb786ca247d4b69183d1751f267bbc7656be8d0f0e7a5a47e2c1101818601528151860152845180860186527f1584616a7423efcc72f69ea84fa0b2bc01433677297f4e8351bebfc15bcd0cda81527f0623755b1488526daa9fecf0e11b110dd6df12c461579d792e1db65af523c8be81860152815190930192909252835180850185527f12fbb5bfca9d61357ba2d641604cf4852e21ef54faa180fe539c18994dc1da5a81527f2f09dd9972a1af5f7bcfccf3d7ab600c9d898ea6d6933150ba0ae228ece17e5f81850152825190910152825180840184527f0adb513796fdf2103022c64151ce05f7c7a6d9200e8d819fa59e654fc4bfe83c81527f2d64f72ef4eddf9ca032058ed2bf691758387e913a77cf99d6a3cfb37c8ba7ee81840152815160a0015282518084019093527f21e7c9bffda74bfd2c4393b6803d775545de6fa89145f4a23476241d9881b66183527f0bbe41e52237ac13eb7b01f3cb999b7394d08734e71b1c3ada62713e17eb560c918301919091525160c0015290565b6040805180820190915260008082526020820152610808610d44565b8351815260208085015181830152835160408301528301516060808301919091526000908360c08460066107d05a03fa9050808061084257fe5b50806108855760405162461bcd60e51b81526020600482015260126024820152711c185a5c9a5b99cb5859190b59985a5b195960721b604482015260640161010e565b505092915050565b60408051808201909152600080825260208201526108a9610d62565b835181526020808501519082015260408101839052600060608360808460076107d05a03fa905080806108d857fe5b50806108855760405162461bcd60e51b81526020600482015260126024820152711c185a5c9a5b99cb5b5d5b0b59985a5b195960721b604482015260640161010e565b6040805180820190915260008082526020820152815115801561094057506020820151155b1561095e575050604080518082019091526000808252602082015290565b6040518060400160405280836000015181526020017f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4784602001516109a3919061104e565b6109cd907f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47611070565b905292915050565b60408051608080820183528a825260208083018a90528284018890526060808401879052845192830185528b83528282018a9052828501889052820185905283516018808252610320820190955260009491859190839082016103008036833701905050905060005b6004811015610c1f576000610a54826006611083565b9050858260048110610a6857610a68610ff0565b60200201515183610a7a83600061103b565b81518110610a8a57610a8a610ff0565b602002602001018181525050858260048110610aa857610aa8610ff0565b60200201516020015183826001610abf919061103b565b81518110610acf57610acf610ff0565b602002602001018181525050848260048110610aed57610aed610ff0565b6020020151515183610b0083600261103b565b81518110610b1057610b10610ff0565b602002602001018181525050848260048110610b2e57610b2e610ff0565b6020020151516001602002015183610b4783600361103b565b81518110610b5757610b57610ff0565b602002602001018181525050848260048110610b7557610b75610ff0565b602002015160200151600060028110610b9057610b90610ff0565b602002015183610ba183600461103b565b81518110610bb157610bb1610ff0565b602002602001018181525050848260048110610bcf57610bcf610ff0565b602002015160200151600160028110610bea57610bea610ff0565b602002015183610bfb83600561103b565b81518110610c0b57610c0b610ff0565b602090810291909101015250600101610a3e565b50610c28610d80565b6000602082602086026020860160086107d05a03fa90508080610c4757fe5b5080610c8d5760405162461bcd60e51b81526020600482015260156024820152741c185a5c9a5b99cb5bdc18dbd9194b59985a5b1959605a1b604482015260640161010e565b505115159d9c50505050505050505050505050565b6040805160a081019091526000606082018181526080830191909152815260208101610ccc610d9e565b8152602001610cee604051806040016040528060008152602001600081525090565b905290565b6040805160e08101909152600060a0820181815260c0830191909152815260208101610d1d610d9e565b8152602001610d2a610d9e565b8152602001610d37610d9e565b8152602001610cee610dbe565b60405180608001604052806004906020820280368337509192915050565b60405180606001604052806003906020820280368337509192915050565b60405180602001604052806001906020820280368337509192915050565b6040518060400160405280610db1610df7565b8152602001610cee610df7565b6040518060e001604052806007905b6040805180820190915260008082526020820152815260200190600190039081610dcd5790505090565b60405180604001604052806002906020820280368337509192915050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610e5457610e54610e15565b604052919050565b600082601f830112610e6d57600080fd5b60405160c0810181811067ffffffffffffffff82111715610e9057610e90610e15565b6040528060c0840185811115610ea557600080fd5b845b81811015610ebf578035835260209283019201610ea7565b509195945050505050565b60008060e08385031215610edd57600080fd5b823567ffffffffffffffff80821115610ef557600080fd5b818501915085601f830112610f0957600080fd5b8135602082821115610f1d57610f1d610e15565b610f2f601f8301601f19168201610e2b565b92508183528781838601011115610f4557600080fd5b81818501828501376000818385010152829550610f6488828901610e5c565b9450505050509250929050565b6000610100808385031215610f8557600080fd5b83601f840112610f9457600080fd5b60405181810181811067ffffffffffffffff82111715610fb657610fb6610e15565b604052908301908085831115610fcb57600080fd5b845b83811015610fe5578051825260209182019101610fcd565b509095945050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff810361103257611032611006565b60010192915050565b8082018082111561031b5761031b611006565b60008261106b57634e487b7160e01b600052601260045260246000fd5b500690565b8181038181111561031b5761031b611006565b808202811582820484141761031b5761031b61100656fea2646970667358221220563d0fbee4e0552a525beba0066d9fa4a4a5e087a3b9c480756c9e2adf284bce64736f6c63430008190033"; + +type VerifierConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: VerifierConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class Verifier__factory extends ContractFactory { + constructor(...args: VerifierConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(overrides || {}); + } + override deploy(overrides?: NonPayableOverrides & { from?: string }) { + return super.deploy(overrides || {}) as Promise< + Verifier & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): Verifier__factory { + return super.connect(runner) as Verifier__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): VerifierInterface { + return new Interface(_abi) as VerifierInterface; + } + static connect(address: string, runner?: ContractRunner | null): Verifier { + return new Contract(address, _abi, runner) as unknown as Verifier; + } +} diff --git a/typechain-types/factories/contracts/Classic/index.ts b/typechain-types/factories/contracts/Classic/index.ts new file mode 100644 index 0000000..2fa22e1 --- /dev/null +++ b/typechain-types/factories/contracts/Classic/index.ts @@ -0,0 +1,13 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as merkleTreeWithHistorySol from "./MerkleTreeWithHistory.sol"; +export * as mocks from "./Mocks"; +export * as tornadoSol from "./Tornado.sol"; +export * as tornadoProxyLightSol from "./TornadoProxyLight.sol"; +export * as interfaces from "./interfaces"; +export { ERC20Tornado__factory } from "./ERC20Tornado__factory"; +export { ETHTornado__factory } from "./ETHTornado__factory"; +export { Echoer__factory } from "./Echoer__factory"; +export { Verifier__factory } from "./Verifier__factory"; +export { CTornado__factory } from "./CTornado__factory"; diff --git a/typechain-types/factories/contracts/Classic/interfaces/IERC20__factory.ts b/typechain-types/factories/contracts/Classic/interfaces/IERC20__factory.ts new file mode 100644 index 0000000..5ee351f --- /dev/null +++ b/typechain-types/factories/contracts/Classic/interfaces/IERC20__factory.ts @@ -0,0 +1,230 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IERC20, + IERC20Interface, +} from "../../../../contracts/Classic/interfaces/IERC20"; + +const _abi = [ + { + inputs: [], + name: "DOMAIN_SEPARATOR", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "nonces", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "permit", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IERC20__factory { + static readonly abi = _abi; + static createInterface(): IERC20Interface { + return new Interface(_abi) as IERC20Interface; + } + static connect(address: string, runner?: ContractRunner | null): IERC20 { + return new Contract(address, _abi, runner) as unknown as IERC20; + } +} diff --git a/typechain-types/factories/contracts/Classic/interfaces/index.ts b/typechain-types/factories/contracts/Classic/interfaces/index.ts new file mode 100644 index 0000000..2071ce5 --- /dev/null +++ b/typechain-types/factories/contracts/Classic/interfaces/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { IERC20__factory } from "./IERC20__factory"; diff --git a/typechain-types/factories/contracts/Governance/AdminUpgradeableProxy__factory.ts b/typechain-types/factories/contracts/Governance/AdminUpgradeableProxy__factory.ts new file mode 100644 index 0000000..b92fc8b --- /dev/null +++ b/typechain-types/factories/contracts/Governance/AdminUpgradeableProxy__factory.ts @@ -0,0 +1,218 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { + Signer, + BytesLike, + AddressLike, + ContractDeployTransaction, + ContractRunner, +} from "ethers"; +import type { PayableOverrides } from "../../../common"; +import type { + AdminUpgradeableProxy, + AdminUpgradeableProxyInterface, +} from "../../../contracts/Governance/AdminUpgradeableProxy"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "_logic", + type: "address", + }, + { + internalType: "address", + name: "_admin", + type: "address", + }, + { + internalType: "bytes", + name: "_data", + type: "bytes", + }, + ], + stateMutability: "payable", + type: "constructor", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "previousAdmin", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "newAdmin", + type: "address", + }, + ], + name: "AdminChanged", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "implementation", + type: "address", + }, + ], + name: "Upgraded", + type: "event", + }, + { + stateMutability: "payable", + type: "fallback", + }, + { + inputs: [], + name: "admin", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newAdmin", + type: "address", + }, + ], + name: "changeAdmin", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "implementation", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newImplementation", + type: "address", + }, + ], + name: "upgradeTo", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newImplementation", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "upgradeToAndCall", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + stateMutability: "payable", + type: "receive", + }, +] as const; + +const _bytecode = + "0x60806040526040516108403803806108408339818101604052606081101561002657600080fd5b8151602083015160408085018051915193959294830192918464010000000082111561005157600080fd5b90830190602082018581111561006657600080fd5b825164010000000081118282018810171561008057600080fd5b82525081516020918201929091019080838360005b838110156100ad578181015183820152602001610095565b50505050905090810190601f1680156100da5780820380516001836020036101000a031916815260200191505b50604052508491508390508282816100f1826101c5565b8051156101a9576000826001600160a01b0316826040518082805190602001908083835b602083106101345780518252601f199092019160209182019101610115565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610194576040519150601f19603f3d011682016040523d82523d6000602084013e610199565b606091505b50509050806101a757600080fd5b505b506101b19050565b6101ba82610237565b505050505050610261565b6101d88161025b60201b6103b41760201c565b6102135760405162461bcd60e51b815260040180806020018281038252603681526020018061080a6036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b3b151590565b61059a806102706000396000f3fe60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100985780635c60da1b146101185780638f28397014610149578063f851a4401461017c5761005d565b3661005d5761005b610191565b005b61005b610191565b34801561007157600080fd5b5061005b6004803603602081101561008857600080fd5b50356001600160a01b03166101ab565b61005b600480360360408110156100ae57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100d957600080fd5b8201836020820111156100eb57600080fd5b8035906020019184600183028401116401000000008311171561010d57600080fd5b5090925090506101e5565b34801561012457600080fd5b5061012d610292565b604080516001600160a01b039092168252519081900360200190f35b34801561015557600080fd5b5061005b6004803603602081101561016c57600080fd5b50356001600160a01b03166102cf565b34801561018857600080fd5b5061012d610389565b6101996101a9565b6101a96101a46103ba565b6103df565b565b6101b3610403565b6001600160a01b0316336001600160a01b031614156101da576101d581610428565b6101e2565b6101e2610191565b50565b6101ed610403565b6001600160a01b0316336001600160a01b031614156102855761020f83610428565b6000836001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d806000811461026c576040519150601f19603f3d011682016040523d82523d6000602084013e610271565b606091505b505090508061027f57600080fd5b5061028d565b61028d610191565b505050565b600061029c610403565b6001600160a01b0316336001600160a01b031614156102c4576102bd6103ba565b90506102cc565b6102cc610191565b90565b6102d7610403565b6001600160a01b0316336001600160a01b031614156101da576001600160a01b0381166103355760405162461bcd60e51b815260040180806020018281038252603a8152602001806104f5603a913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61035e610403565b604080516001600160a01b03928316815291841660208301528051918290030190a16101d581610468565b6000610393610403565b6001600160a01b0316336001600160a01b031614156102c4576102bd610403565b3b151590565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e8080156103fe573d6000f35b3d6000fd5b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b6104318161048c565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b610495816103b4565b6104d05760405162461bcd60e51b815260040180806020018281038252603681526020018061052f6036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5556fe5472616e73706172656e745570677261646561626c6550726f78793a206e65772061646d696e20697320746865207a65726f20616464726573735570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374a2646970667358221220f9da162f8a2d779a4f5f08577ac886bc4694791f749bd6ecc5d270427405583364736f6c634300060c00335570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374"; + +type AdminUpgradeableProxyConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: AdminUpgradeableProxyConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class AdminUpgradeableProxy__factory extends ContractFactory { + constructor(...args: AdminUpgradeableProxyConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + _logic: AddressLike, + _admin: AddressLike, + _data: BytesLike, + overrides?: PayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(_logic, _admin, _data, overrides || {}); + } + override deploy( + _logic: AddressLike, + _admin: AddressLike, + _data: BytesLike, + overrides?: PayableOverrides & { from?: string } + ) { + return super.deploy(_logic, _admin, _data, overrides || {}) as Promise< + AdminUpgradeableProxy & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect( + runner: ContractRunner | null + ): AdminUpgradeableProxy__factory { + return super.connect(runner) as AdminUpgradeableProxy__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): AdminUpgradeableProxyInterface { + return new Interface(_abi) as AdminUpgradeableProxyInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): AdminUpgradeableProxy { + return new Contract( + address, + _abi, + runner + ) as unknown as AdminUpgradeableProxy; + } +} diff --git a/typechain-types/factories/contracts/Governance/Aggregator/Aggregator__factory.ts b/typechain-types/factories/contracts/Governance/Aggregator/Aggregator__factory.ts new file mode 100644 index 0000000..6865259 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/Aggregator/Aggregator__factory.ts @@ -0,0 +1,305 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { + Signer, + AddressLike, + ContractDeployTransaction, + ContractRunner, +} from "ethers"; +import type { NonPayableOverrides } from "../../../../common"; +import type { + Aggregator, + AggregatorInterface, +} from "../../../../contracts/Governance/Aggregator/Aggregator"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "_ensRegistry", + type: "address", + }, + { + internalType: "address", + name: "_relayerRegistry", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + inputs: [], + name: "ENSRegistry", + outputs: [ + { + internalType: "contract IENSRegistry", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "RelayerRegistry", + outputs: [ + { + internalType: "contract IRelayerRegistry", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "contract Governance", + name: "governance", + type: "address", + }, + ], + name: "getAllProposals", + outputs: [ + { + components: [ + { + internalType: "address", + name: "proposer", + type: "address", + }, + { + internalType: "address", + name: "target", + type: "address", + }, + { + internalType: "uint256", + name: "startTime", + type: "uint256", + }, + { + internalType: "uint256", + name: "endTime", + type: "uint256", + }, + { + internalType: "uint256", + name: "forVotes", + type: "uint256", + }, + { + internalType: "uint256", + name: "againstVotes", + type: "uint256", + }, + { + internalType: "bool", + name: "executed", + type: "bool", + }, + { + internalType: "bool", + name: "extended", + type: "bool", + }, + { + internalType: "enum Governance.ProposalState", + name: "state", + type: "uint8", + }, + ], + internalType: "struct GovernanceAggregator.Proposal[]", + name: "proposals", + type: "tuple[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "contract Governance", + name: "governance", + type: "address", + }, + { + internalType: "address[]", + name: "accs", + type: "address[]", + }, + ], + name: "getGovernanceBalances", + outputs: [ + { + internalType: "uint256[]", + name: "amounts", + type: "uint256[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "contract Governance", + name: "governance", + type: "address", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "getUserData", + outputs: [ + { + internalType: "uint256", + name: "balance", + type: "uint256", + }, + { + internalType: "uint256", + name: "latestProposalId", + type: "uint256", + }, + { + internalType: "uint256", + name: "latestProposalIdState", + type: "uint256", + }, + { + internalType: "uint256", + name: "timelock", + type: "uint256", + }, + { + internalType: "address", + name: "delegatee", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32[]", + name: "_relayers", + type: "bytes32[]", + }, + { + internalType: "string[]", + name: "_subdomains", + type: "string[]", + }, + ], + name: "relayersData", + outputs: [ + { + components: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "uint256", + name: "balance", + type: "uint256", + }, + { + internalType: "bool", + name: "isRegistered", + type: "bool", + }, + { + internalType: "string[20]", + name: "records", + type: "string[20]", + }, + ], + internalType: "struct Relayer[]", + name: "", + type: "tuple[]", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +const _bytecode = + "0x60c060405234801561001057600080fd5b5060405161155d38038061155d83398101604081905261002f9161004d565b6001600160601b0319606092831b8116608052911b1660a05261009e565b6000806040838503121561005f578182fd5b825161006a81610086565b602084015190925061007b81610086565b809150509250929050565b6001600160a01b038116811461009b57600080fd5b50565b60805160601c60a05160601c6114826100db6000398061024b528061059c528061068a52508061022752806102d352806103b452506114826000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c8063029fcae7146100675780631cb120d61461009057806339c16356146100a55780634d47d775146100ad5780639853d922146100cd578063f4eeefe9146100ed575b600080fd5b61007a610075366004610fa1565b610111565b60405161008791906112ee565b60405180910390f35b610098610225565b6040516100879190611118565b610098610249565b6100c06100bb366004610e93565b61026d565b6040516100879190611210565b6100e06100db366004610dcc565b61075e565b6040516100879190611146565b6101006100fb366004610f69565b6109dd565b60405161008795949392919061135f565b60608167ffffffffffffffff8111801561012a57600080fd5b50604051908082528060200260200182016040528015610154578160200160208202803683370190505b50905060005b8281101561021d57846001600160a01b0316639ae697bf85858481811061017d57fe5b90506020020160208101906101929190610dcc565b6040518263ffffffff1660e01b81526004016101ae9190611118565b60206040518083038186803b1580156101c657600080fd5b505afa1580156101da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101fe91906110b5565b82828151811061020a57fe5b602090810291909101015260010161015a565b509392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b606080835167ffffffffffffffff8111801561028857600080fd5b506040519080825280602002602001820160405280156102c257816020015b6102af610c79565b8152602001906001900390816102a75790505b50905060005b845181101561021d577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166302571be386838151811061030c57fe5b60200260200101516040518263ffffffff1660e01b81526004016103309190611332565b60206040518083038186803b15801561034857600080fd5b505afa15801561035c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103809190610def565b82828151811061038c57fe5b6020026020010151600001906001600160a01b031690816001600160a01b03168152505060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630178b8bf8784815181106103ed57fe5b60200260200101516040518263ffffffff1660e01b81526004016104119190611332565b60206040518083038186803b15801561042957600080fd5b505afa15801561043d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104619190610def565b905060005b855181101561059957600087848151811061047d57fe5b602002602001015187838151811061049157fe5b60200260200101516040516020016104a991906110fc565b604051602081830303815290604052805190602001206040516020016104d09291906110ee565b60408051601f19818403018152908290528051602090910120631674750f60e21b825291506001600160a01b038416906359d1d43c9061051490849060040161133b565b60006040518083038186803b15801561052c57600080fd5b505afa158015610540573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105689190810190611042565b85858151811061057457fe5b602002602001015160600151836014811061058b57fe5b602002015250600101610466565b507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b69fd4ab8484815181106105d557fe5b6020026020010151600001518585815181106105ed57fe5b6020026020010151600001516040518363ffffffff1660e01b815260040161061692919061112c565b60206040518083038186803b15801561062e57600080fd5b505afa158015610642573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106669190610f4d565b83838151811061067257fe5b602002602001015160400190151590811515815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b971a6bf8484815181106106c357fe5b6020026020010151600001516040518263ffffffff1660e01b81526004016106eb9190611118565b60206040518083038186803b15801561070357600080fd5b505afa158015610717573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073b91906110b5565b83838151811061074757fe5b6020908102919091018101510152506001016102c8565b6060816001600160a01b031663da35c6646040518163ffffffff1660e01b815260040160206040518083038186803b15801561079957600080fd5b505afa1580156107ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d191906110b5565b67ffffffffffffffff811180156107e757600080fd5b5060405190808252806020026020018201604052801561082157816020015b61080e610cb1565b8152602001906001900390816108065790505b50905060005b81518110156109d7576000806000806000806000808a6001600160a01b031663013cf08b8a6001016040518263ffffffff1660e01b815260040161086b9190611332565b6101006040518083038186803b15801561088457600080fd5b505afa158015610898573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108bc9190610e0b565b97509750975097509750975097509750604051806101200160405280896001600160a01b03168152602001886001600160a01b03168152602001878152602001868152602001858152602001848152602001831515815260200182151581526020018c6001600160a01b0316633e4f49e68c6001016040518263ffffffff1660e01b815260040161094d9190611332565b60206040518083038186803b15801561096557600080fd5b505afa158015610979573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099d9190611023565b60068111156109a857fe5b8152508a8a815181106109b757fe5b602002602001018190525050505050505050508080600101915050610827565b50919050565b6000806000806000866001600160a01b0316639ae697bf876040518263ffffffff1660e01b8152600401610a119190611118565b60206040518083038186803b158015610a2957600080fd5b505afa158015610a3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6191906110b5565b6040516317977c6160e01b81529095506001600160a01b038816906317977c6190610a90908990600401611118565b60206040518083038186803b158015610aa857600080fd5b505afa158015610abc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ae091906110b5565b93508315610b7257604051631f27a4f360e11b81526001600160a01b03881690633e4f49e690610b14908790600401611332565b60206040518083038186803b158015610b2c57600080fd5b505afa158015610b40573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b649190611023565b6006811115610b6f57fe5b92505b60405163a72edda360e01b81526001600160a01b0388169063a72edda390610b9e908990600401611118565b60206040518083038186803b158015610bb657600080fd5b505afa158015610bca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bee91906110b5565b604051631976849960e21b81529092506001600160a01b038816906365da126490610c1d908990600401611118565b60206040518083038186803b158015610c3557600080fd5b505afa158015610c49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c6d9190610def565b90509295509295909350565b604051806080016040528060006001600160a01b0316815260200160008152602001600015158152602001610cac610cfd565b905290565b6040805161012081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e0810182905290610100820190610cac565b6040518061028001604052806014905b6060815260200190600190039081610d0d5790505090565b600082601f830112610d35578081fd5b8135610d48610d43826113b2565b61138b565b818152915060208083019084810160005b84811015610dc1578135870188603f820112610d7457600080fd5b83810135610d84610d43826113d2565b81815260408b81848601011115610d9a57600080fd5b82818501888401375060009181018601919091528552509282019290820190600101610d59565b505050505092915050565b600060208284031215610ddd578081fd5b8135610de881611426565b9392505050565b600060208284031215610e00578081fd5b8151610de881611426565b600080600080600080600080610100898b031215610e27578384fd5b8851610e3281611426565b60208a0151909850610e4381611426565b8097505060408901519550606089015194506080890151935060a0890151925060c0890151610e718161143e565b60e08a0151909250610e828161143e565b809150509295985092959890939650565b60008060408385031215610ea5578182fd5b823567ffffffffffffffff80821115610ebc578384fd5b818501915085601f830112610ecf578384fd5b8135610edd610d43826113b2565b80828252602080830192508086018a828387028901011115610efd578889fd5b8896505b84871015610f1f578035845260019690960195928101928101610f01565b509096508701359350505080821115610f36578283fd5b50610f4385828601610d25565b9150509250929050565b600060208284031215610f5e578081fd5b8151610de88161143e565b60008060408385031215610f7b578182fd5b8235610f8681611426565b91506020830135610f9681611426565b809150509250929050565b600080600060408486031215610fb5578283fd5b8335610fc081611426565b9250602084013567ffffffffffffffff80821115610fdc578384fd5b818601915086601f830112610fef578384fd5b813581811115610ffd578485fd5b8760208083028501011115611010578485fd5b6020830194508093505050509250925092565b600060208284031215611034578081fd5b815160078110610de8578182fd5b600060208284031215611053578081fd5b815167ffffffffffffffff811115611069578182fd5b8201601f81018413611079578182fd5b8051611087610d43826113d2565b81815285602083850101111561109b578384fd5b6110ac8260208301602086016113f6565b95945050505050565b6000602082840312156110c6578081fd5b5051919050565b6001600160a01b03169052565b15159052565b600781106110ea57fe5b9052565b918252602082015260400190565b6000825161110e8184602087016113f6565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b602080825282518282018190526000919060409081850190868401855b8281101561120357815180516001600160a01b031685528681015161118a888701826110cd565b508086015185870152606080820151908601526080808201519086015260a0808201519086015260c0808201516111c3828801826110da565b505060e0808201516111d7828801826110da565b505061010090810151906111ed868201836110e0565b5050610120939093019290850190600101611163565b5091979650505050505050565b6000602080830181845280855180835260408601915060408482028701019250838701855b828110156112e157878503603f19018452815180516001600160a01b03168652868101518787015260408082015115159087015260609081015160809187018290529086016103008701895b60148110156112cc57888203607f19018352835180516112a18185611332565b6112ae82828f86016113f6565b958c0195948c0194601f91909101601f191601925050600101611281565b50965050509285019290850190600101611235565b5092979650505050505050565b6020808252825182820181905260009190848201906040850190845b818110156113265783518352928401929184019160010161130a565b50909695505050505050565b90815260200190565b908152604060208201819052600390820152621d5c9b60ea1b606082015260800190565b9485526020850193909352604084019190915260608301526001600160a01b0316608082015260a00190565b60405181810167ffffffffffffffff811182821017156113aa57600080fd5b604052919050565b600067ffffffffffffffff8211156113c8578081fd5b5060209081020190565b600067ffffffffffffffff8211156113e8578081fd5b50601f01601f191660200190565b60005b838110156114115781810151838201526020016113f9565b83811115611420576000848401525b50505050565b6001600160a01b038116811461143b57600080fd5b50565b801515811461143b57600080fdfea26469706673582212209edead2cf5d16a9f09d7d75c5aa042cb00130c9febd0bf0e908fbf9c3f34f1a164736f6c634300060c0033"; + +type AggregatorConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: AggregatorConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class Aggregator__factory extends ContractFactory { + constructor(...args: AggregatorConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + _ensRegistry: AddressLike, + _relayerRegistry: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction( + _ensRegistry, + _relayerRegistry, + overrides || {} + ); + } + override deploy( + _ensRegistry: AddressLike, + _relayerRegistry: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ) { + return super.deploy( + _ensRegistry, + _relayerRegistry, + overrides || {} + ) as Promise< + Aggregator & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): Aggregator__factory { + return super.connect(runner) as Aggregator__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): AggregatorInterface { + return new Interface(_abi) as AggregatorInterface; + } + static connect(address: string, runner?: ContractRunner | null): Aggregator { + return new Contract(address, _abi, runner) as unknown as Aggregator; + } +} diff --git a/typechain-types/factories/contracts/Governance/Aggregator/GovernanceAggregator__factory.ts b/typechain-types/factories/contracts/Governance/Aggregator/GovernanceAggregator__factory.ts new file mode 100644 index 0000000..fae347a --- /dev/null +++ b/typechain-types/factories/contracts/Governance/Aggregator/GovernanceAggregator__factory.ts @@ -0,0 +1,207 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../common"; +import type { + GovernanceAggregator, + GovernanceAggregatorInterface, +} from "../../../../contracts/Governance/Aggregator/GovernanceAggregator"; + +const _abi = [ + { + inputs: [ + { + internalType: "contract Governance", + name: "governance", + type: "address", + }, + ], + name: "getAllProposals", + outputs: [ + { + components: [ + { + internalType: "address", + name: "proposer", + type: "address", + }, + { + internalType: "address", + name: "target", + type: "address", + }, + { + internalType: "uint256", + name: "startTime", + type: "uint256", + }, + { + internalType: "uint256", + name: "endTime", + type: "uint256", + }, + { + internalType: "uint256", + name: "forVotes", + type: "uint256", + }, + { + internalType: "uint256", + name: "againstVotes", + type: "uint256", + }, + { + internalType: "bool", + name: "executed", + type: "bool", + }, + { + internalType: "bool", + name: "extended", + type: "bool", + }, + { + internalType: "enum Governance.ProposalState", + name: "state", + type: "uint8", + }, + ], + internalType: "struct GovernanceAggregator.Proposal[]", + name: "proposals", + type: "tuple[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "contract Governance", + name: "governance", + type: "address", + }, + { + internalType: "address[]", + name: "accs", + type: "address[]", + }, + ], + name: "getGovernanceBalances", + outputs: [ + { + internalType: "uint256[]", + name: "amounts", + type: "uint256[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "contract Governance", + name: "governance", + type: "address", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "getUserData", + outputs: [ + { + internalType: "uint256", + name: "balance", + type: "uint256", + }, + { + internalType: "uint256", + name: "latestProposalId", + type: "uint256", + }, + { + internalType: "uint256", + name: "latestProposalIdState", + type: "uint256", + }, + { + internalType: "uint256", + name: "timelock", + type: "uint256", + }, + { + internalType: "address", + name: "delegatee", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +const _bytecode = + "0x608060405234801561001057600080fd5b50610ab8806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063029fcae7146100465780639853d9221461006f578063f4eeefe91461008f575b600080fd5b61005961005436600461082b565b6100b3565b60405161006691906109e3565b60405180910390f35b61008261007d36600461072c565b6101c7565b6040516100669190610919565b6100a261009d3660046107f3565b610446565b604051610066959493929190610a30565b60608167ffffffffffffffff811180156100cc57600080fd5b506040519080825280602002602001820160405280156100f6578160200160208202803683370190505b50905060005b828110156101bf57846001600160a01b0316639ae697bf85858481811061011f57fe5b9050602002016020810190610134919061072c565b6040518263ffffffff1660e01b81526004016101509190610905565b60206040518083038186803b15801561016857600080fd5b505afa15801561017c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101a091906108cc565b8282815181106101ac57fe5b60209081029190910101526001016100fc565b509392505050565b6060816001600160a01b031663da35c6646040518163ffffffff1660e01b815260040160206040518083038186803b15801561020257600080fd5b505afa158015610216573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061023a91906108cc565b67ffffffffffffffff8111801561025057600080fd5b5060405190808252806020026020018201604052801561028a57816020015b6102776106e2565b81526020019060019003908161026f5790505b50905060005b8151811015610440576000806000806000806000808a6001600160a01b031663013cf08b8a6001016040518263ffffffff1660e01b81526004016102d49190610a27565b6101006040518083038186803b1580156102ed57600080fd5b505afa158015610301573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610325919061076b565b97509750975097509750975097509750604051806101200160405280896001600160a01b03168152602001886001600160a01b03168152602001878152602001868152602001858152602001848152602001831515815260200182151581526020018c6001600160a01b0316633e4f49e68c6001016040518263ffffffff1660e01b81526004016103b69190610a27565b60206040518083038186803b1580156103ce57600080fd5b505afa1580156103e2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061040691906108ad565b600681111561041157fe5b8152508a8a8151811061042057fe5b602002602001018190525050505050505050508080600101915050610290565b50919050565b6000806000806000866001600160a01b0316639ae697bf876040518263ffffffff1660e01b815260040161047a9190610905565b60206040518083038186803b15801561049257600080fd5b505afa1580156104a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ca91906108cc565b6040516317977c6160e01b81529095506001600160a01b038816906317977c61906104f9908990600401610905565b60206040518083038186803b15801561051157600080fd5b505afa158015610525573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054991906108cc565b935083156105db57604051631f27a4f360e11b81526001600160a01b03881690633e4f49e69061057d908790600401610a27565b60206040518083038186803b15801561059557600080fd5b505afa1580156105a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105cd91906108ad565b60068111156105d857fe5b92505b60405163a72edda360e01b81526001600160a01b0388169063a72edda390610607908990600401610905565b60206040518083038186803b15801561061f57600080fd5b505afa158015610633573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065791906108cc565b604051631976849960e21b81529092506001600160a01b038816906365da126490610686908990600401610905565b60206040518083038186803b15801561069e57600080fd5b505afa1580156106b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d6919061074f565b90509295509295909350565b6040805161012081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290529061010082015290565b60006020828403121561073d578081fd5b813561074881610a5c565b9392505050565b600060208284031215610760578081fd5b815161074881610a5c565b600080600080600080600080610100898b031215610787578384fd5b885161079281610a5c565b60208a01519098506107a381610a5c565b8097505060408901519550606089015194506080890151935060a0890151925060c08901516107d181610a74565b60e08a01519092506107e281610a74565b809150509295985092959890939650565b60008060408385031215610805578182fd5b823561081081610a5c565b9150602083013561082081610a5c565b809150509250929050565b60008060006040848603121561083f578283fd5b833561084a81610a5c565b9250602084013567ffffffffffffffff80821115610866578384fd5b818601915086601f830112610879578384fd5b813581811115610887578485fd5b876020808302850101111561089a578485fd5b6020830194508093505050509250925092565b6000602082840312156108be578081fd5b815160078110610748578182fd5b6000602082840312156108dd578081fd5b5051919050565b6001600160a01b03169052565b15159052565b6007811061090157fe5b9052565b6001600160a01b0391909116815260200190565b602080825282518282018190526000919060409081850190868401855b828110156109d657815180516001600160a01b031685528681015161095d888701826108e4565b508086015185870152606080820151908601526080808201519086015260a0808201519086015260c080820151610996828801826108f1565b505060e0808201516109aa828801826108f1565b505061010090810151906109c0868201836108f7565b5050610120939093019290850190600101610936565b5091979650505050505050565b6020808252825182820181905260009190848201906040850190845b81811015610a1b578351835292840192918401916001016109ff565b50909695505050505050565b90815260200190565b9485526020850193909352604084019190915260608301526001600160a01b0316608082015260a00190565b6001600160a01b0381168114610a7157600080fd5b50565b8015158114610a7157600080fdfea2646970667358221220c68e065ff95a2c91c1e5904ff4ba8c709291d5227b10049b437e89d35c33af4d64736f6c634300060c0033"; + +type GovernanceAggregatorConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: GovernanceAggregatorConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class GovernanceAggregator__factory extends ContractFactory { + constructor(...args: GovernanceAggregatorConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(overrides || {}); + } + override deploy(overrides?: NonPayableOverrides & { from?: string }) { + return super.deploy(overrides || {}) as Promise< + GovernanceAggregator & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect( + runner: ContractRunner | null + ): GovernanceAggregator__factory { + return super.connect(runner) as GovernanceAggregator__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): GovernanceAggregatorInterface { + return new Interface(_abi) as GovernanceAggregatorInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): GovernanceAggregator { + return new Contract( + address, + _abi, + runner + ) as unknown as GovernanceAggregator; + } +} diff --git a/typechain-types/factories/contracts/Governance/Aggregator/RelayerAggregator.sol/IENSRegistry__factory.ts b/typechain-types/factories/contracts/Governance/Aggregator/RelayerAggregator.sol/IENSRegistry__factory.ts new file mode 100644 index 0000000..d580621 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/Aggregator/RelayerAggregator.sol/IENSRegistry__factory.ts @@ -0,0 +1,394 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IENSRegistry, + IENSRegistryInterface, +} from "../../../../../contracts/Governance/Aggregator/RelayerAggregator.sol/IENSRegistry"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "operator", + type: "address", + }, + { + indexed: false, + internalType: "bool", + name: "approved", + type: "bool", + }, + ], + name: "ApprovalForAll", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "node", + type: "bytes32", + }, + { + indexed: true, + internalType: "bytes32", + name: "label", + type: "bytes32", + }, + { + indexed: false, + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "NewOwner", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "node", + type: "bytes32", + }, + { + indexed: false, + internalType: "address", + name: "resolver", + type: "address", + }, + ], + name: "NewResolver", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "node", + type: "bytes32", + }, + { + indexed: false, + internalType: "uint64", + name: "ttl", + type: "uint64", + }, + ], + name: "NewTTL", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes32", + name: "node", + type: "bytes32", + }, + { + indexed: false, + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "Transfer", + type: "event", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "operator", + type: "address", + }, + ], + name: "isApprovedForAll", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "node", + type: "bytes32", + }, + ], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "node", + type: "bytes32", + }, + ], + name: "recordExists", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "node", + type: "bytes32", + }, + ], + name: "resolver", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "operator", + type: "address", + }, + { + internalType: "bool", + name: "approved", + type: "bool", + }, + ], + name: "setApprovalForAll", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "node", + type: "bytes32", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "setOwner", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "node", + type: "bytes32", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "resolver", + type: "address", + }, + { + internalType: "uint64", + name: "ttl", + type: "uint64", + }, + ], + name: "setRecord", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "node", + type: "bytes32", + }, + { + internalType: "address", + name: "resolver", + type: "address", + }, + ], + name: "setResolver", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "node", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "label", + type: "bytes32", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "setSubnodeOwner", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "node", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "label", + type: "bytes32", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "resolver", + type: "address", + }, + { + internalType: "uint64", + name: "ttl", + type: "uint64", + }, + ], + name: "setSubnodeRecord", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "node", + type: "bytes32", + }, + { + internalType: "uint64", + name: "ttl", + type: "uint64", + }, + ], + name: "setTTL", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "node", + type: "bytes32", + }, + ], + name: "ttl", + outputs: [ + { + internalType: "uint64", + name: "", + type: "uint64", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +export class IENSRegistry__factory { + static readonly abi = _abi; + static createInterface(): IENSRegistryInterface { + return new Interface(_abi) as IENSRegistryInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): IENSRegistry { + return new Contract(address, _abi, runner) as unknown as IENSRegistry; + } +} diff --git a/typechain-types/factories/contracts/Governance/Aggregator/RelayerAggregator.sol/IENSResolver__factory.ts b/typechain-types/factories/contracts/Governance/Aggregator/RelayerAggregator.sol/IENSResolver__factory.ts new file mode 100644 index 0000000..8ced6d1 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/Aggregator/RelayerAggregator.sol/IENSResolver__factory.ts @@ -0,0 +1,68 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IENSResolver, + IENSResolverInterface, +} from "../../../../../contracts/Governance/Aggregator/RelayerAggregator.sol/IENSResolver"; + +const _abi = [ + { + inputs: [ + { + internalType: "bytes32", + name: "node", + type: "bytes32", + }, + ], + name: "addr", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "node", + type: "bytes32", + }, + { + internalType: "string", + name: "key", + type: "string", + }, + ], + name: "text", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +export class IENSResolver__factory { + static readonly abi = _abi; + static createInterface(): IENSResolverInterface { + return new Interface(_abi) as IENSResolverInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): IENSResolver { + return new Contract(address, _abi, runner) as unknown as IENSResolver; + } +} diff --git a/typechain-types/factories/contracts/Governance/Aggregator/RelayerAggregator.sol/IRelayerRegistry__factory.ts b/typechain-types/factories/contracts/Governance/Aggregator/RelayerAggregator.sol/IRelayerRegistry__factory.ts new file mode 100644 index 0000000..dad5c70 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/Aggregator/RelayerAggregator.sol/IRelayerRegistry__factory.ts @@ -0,0 +1,68 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IRelayerRegistry, + IRelayerRegistryInterface, +} from "../../../../../contracts/Governance/Aggregator/RelayerAggregator.sol/IRelayerRegistry"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "relayer", + type: "address", + }, + ], + name: "getRelayerBalance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "relayer", + type: "address", + }, + { + internalType: "address", + name: "toResolve", + type: "address", + }, + ], + name: "isRelayerRegistered", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +export class IRelayerRegistry__factory { + static readonly abi = _abi; + static createInterface(): IRelayerRegistryInterface { + return new Interface(_abi) as IRelayerRegistryInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): IRelayerRegistry { + return new Contract(address, _abi, runner) as unknown as IRelayerRegistry; + } +} diff --git a/typechain-types/factories/contracts/Governance/Aggregator/RelayerAggregator.sol/RelayerAggregator__factory.ts b/typechain-types/factories/contracts/Governance/Aggregator/RelayerAggregator.sol/RelayerAggregator__factory.ts new file mode 100644 index 0000000..2bfb2b6 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/Aggregator/RelayerAggregator.sol/RelayerAggregator__factory.ts @@ -0,0 +1,174 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { + Signer, + AddressLike, + ContractDeployTransaction, + ContractRunner, +} from "ethers"; +import type { NonPayableOverrides } from "../../../../../common"; +import type { + RelayerAggregator, + RelayerAggregatorInterface, +} from "../../../../../contracts/Governance/Aggregator/RelayerAggregator.sol/RelayerAggregator"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "_IENSRegistry", + type: "address", + }, + { + internalType: "address", + name: "_IRelayerRegistry", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + inputs: [], + name: "ENSRegistry", + outputs: [ + { + internalType: "contract IENSRegistry", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "RelayerRegistry", + outputs: [ + { + internalType: "contract IRelayerRegistry", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32[]", + name: "_relayers", + type: "bytes32[]", + }, + { + internalType: "string[]", + name: "_subdomains", + type: "string[]", + }, + ], + name: "relayersData", + outputs: [ + { + components: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "uint256", + name: "balance", + type: "uint256", + }, + { + internalType: "bool", + name: "isRegistered", + type: "bool", + }, + { + internalType: "string[20]", + name: "records", + type: "string[20]", + }, + ], + internalType: "struct Relayer[]", + name: "", + type: "tuple[]", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +const _bytecode = + "0x60c060405234801561001057600080fd5b50604051610b74380380610b7483398101604081905261002f9161004d565b6001600160601b0319606092831b8116608052911b1660a05261009e565b6000806040838503121561005f578182fd5b825161006a81610086565b602084015190925061007b81610086565b809150509250929050565b6001600160a01b038116811461009b57600080fd5b50565b60805160601c60a05160601c610a9b6100d96000398060b2528061040352806104f1525080608e528061013a528061021b5250610a9b6000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80631cb120d61461004657806339c16356146100645780634d47d7751461006c575b600080fd5b61004e61008c565b60405161005b9190610891565b60405180910390f35b61004e6100b0565b61007f61007a366004610702565b6100d4565b60405161005b91906108bf565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b606080835167ffffffffffffffff811180156100ef57600080fd5b5060405190808252806020026020018201604052801561012957816020015b6101166105cd565b81526020019060019003908161010e5790505b50905060005b84518110156105c5577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166302571be386838151811061017357fe5b60200260200101516040518263ffffffff1660e01b8152600401610197919061099d565b60206040518083038186803b1580156101af57600080fd5b505afa1580156101c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101e791906106d4565b8282815181106101f357fe5b6020026020010151600001906001600160a01b031690816001600160a01b03168152505060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630178b8bf87848151811061025457fe5b60200260200101516040518263ffffffff1660e01b8152600401610278919061099d565b60206040518083038186803b15801561029057600080fd5b505afa1580156102a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102c891906106d4565b905060005b85518110156104005760008784815181106102e457fe5b60200260200101518783815181106102f857fe5b60200260200101516040516020016103109190610875565b60405160208183030381529060405280519060200120604051602001610337929190610867565b60408051601f19818403018152908290528051602090910120631674750f60e21b825291506001600160a01b038416906359d1d43c9061037b9084906004016109a6565b60006040518083038186803b15801561039357600080fd5b505afa1580156103a7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103cf91908101906107dc565b8585815181106103db57fe5b60200260200101516060015183601481106103f257fe5b6020020152506001016102cd565b507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b69fd4ab84848151811061043c57fe5b60200260200101516000015185858151811061045457fe5b6020026020010151600001516040518363ffffffff1660e01b815260040161047d9291906108a5565b60206040518083038186803b15801561049557600080fd5b505afa1580156104a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104cd91906107bc565b8383815181106104d957fe5b602002602001015160400190151590811515815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b971a6bf84848151811061052a57fe5b6020026020010151600001516040518263ffffffff1660e01b81526004016105529190610891565b60206040518083038186803b15801561056a57600080fd5b505afa15801561057e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a2919061084f565b8383815181106105ae57fe5b60209081029190910181015101525060010161012f565b509392505050565b604051806080016040528060006001600160a01b0316815260200160008152602001600015158152602001610600610605565b905290565b6040518061028001604052806014905b60608152602001906001900390816106155790505090565b600082601f83011261063d578081fd5b813561065061064b826109f1565b6109ca565b818152915060208083019084810160005b848110156106c9578135870188603f82011261067c57600080fd5b8381013561068c61064b82610a11565b81815260408b818486010111156106a257600080fd5b82818501888401375060009181018601919091528552509282019290820190600101610661565b505050505092915050565b6000602082840312156106e5578081fd5b81516001600160a01b03811681146106fb578182fd5b9392505050565b60008060408385031215610714578081fd5b823567ffffffffffffffff8082111561072b578283fd5b818501915085601f83011261073e578283fd5b813561074c61064b826109f1565b80828252602080830192508086018a82838702890101111561076c578788fd5b8796505b8487101561078e578035845260019690960195928101928101610770565b5090965087013593505050808211156107a5578283fd5b506107b28582860161062d565b9150509250929050565b6000602082840312156107cd578081fd5b815180151581146106fb578182fd5b6000602082840312156107ed578081fd5b815167ffffffffffffffff811115610803578182fd5b8201601f81018413610813578182fd5b805161082161064b82610a11565b818152856020838501011115610835578384fd5b610846826020830160208601610a35565b95945050505050565b600060208284031215610860578081fd5b5051919050565b918252602082015260400190565b60008251610887818460208701610a35565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6000602080830181845280855180835260408601915060408482028701019250838701855b8281101561099057878503603f19018452815180516001600160a01b03168652868101518787015260408082015115159087015260609081015160809187018290529086016103008701895b601481101561097b57888203607f1901835283518051610950818561099d565b61095d82828f8601610a35565b958c0195948c0194601f91909101601f191601925050600101610930565b509650505092850192908501906001016108e4565b5092979650505050505050565b90815260200190565b908152604060208201819052600390820152621d5c9b60ea1b606082015260800190565b60405181810167ffffffffffffffff811182821017156109e957600080fd5b604052919050565b600067ffffffffffffffff821115610a07578081fd5b5060209081020190565b600067ffffffffffffffff821115610a27578081fd5b50601f01601f191660200190565b60005b83811015610a50578181015183820152602001610a38565b83811115610a5f576000848401525b5050505056fea2646970667358221220628a366714cdda82fe91d785ad928e44e4b9f7976ed987e5fef72d207582dbaf64736f6c634300060c0033"; + +type RelayerAggregatorConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: RelayerAggregatorConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class RelayerAggregator__factory extends ContractFactory { + constructor(...args: RelayerAggregatorConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + _IENSRegistry: AddressLike, + _IRelayerRegistry: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction( + _IENSRegistry, + _IRelayerRegistry, + overrides || {} + ); + } + override deploy( + _IENSRegistry: AddressLike, + _IRelayerRegistry: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ) { + return super.deploy( + _IENSRegistry, + _IRelayerRegistry, + overrides || {} + ) as Promise< + RelayerAggregator & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): RelayerAggregator__factory { + return super.connect(runner) as RelayerAggregator__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): RelayerAggregatorInterface { + return new Interface(_abi) as RelayerAggregatorInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): RelayerAggregator { + return new Contract(address, _abi, runner) as unknown as RelayerAggregator; + } +} diff --git a/typechain-types/factories/contracts/Governance/Aggregator/RelayerAggregator.sol/index.ts b/typechain-types/factories/contracts/Governance/Aggregator/RelayerAggregator.sol/index.ts new file mode 100644 index 0000000..f5f514a --- /dev/null +++ b/typechain-types/factories/contracts/Governance/Aggregator/RelayerAggregator.sol/index.ts @@ -0,0 +1,7 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { IENSRegistry__factory } from "./IENSRegistry__factory"; +export { IENSResolver__factory } from "./IENSResolver__factory"; +export { IRelayerRegistry__factory } from "./IRelayerRegistry__factory"; +export { RelayerAggregator__factory } from "./RelayerAggregator__factory"; diff --git a/typechain-types/factories/contracts/Governance/Aggregator/index.ts b/typechain-types/factories/contracts/Governance/Aggregator/index.ts new file mode 100644 index 0000000..4fb150f --- /dev/null +++ b/typechain-types/factories/contracts/Governance/Aggregator/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as relayerAggregatorSol from "./RelayerAggregator.sol"; +export { Aggregator__factory } from "./Aggregator__factory"; +export { GovernanceAggregator__factory } from "./GovernanceAggregator__factory"; diff --git a/typechain-types/factories/contracts/Governance/Deployer.sol/Deployer__factory.ts b/typechain-types/factories/contracts/Governance/Deployer.sol/Deployer__factory.ts new file mode 100644 index 0000000..cad3ece --- /dev/null +++ b/typechain-types/factories/contracts/Governance/Deployer.sol/Deployer__factory.ts @@ -0,0 +1,134 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { + Signer, + AddressLike, + ContractDeployTransaction, + ContractRunner, +} from "ethers"; +import type { NonPayableOverrides } from "../../../../common"; +import type { + Deployer, + DeployerInterface, +} from "../../../../contracts/Governance/Deployer.sol/Deployer"; + +const _abi = [ + { + inputs: [ + { + internalType: "contract IDeployer", + name: "_deployer", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "addr", + type: "address", + }, + ], + name: "Deployed", + type: "event", + }, + { + inputs: [ + { + internalType: "bytes", + name: "_initCode", + type: "bytes", + }, + { + internalType: "bytes32", + name: "_salt", + type: "bytes32", + }, + ], + name: "deploy", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "deployer", + outputs: [ + { + internalType: "contract IDeployer", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +const _bytecode = + "0x60a060405234801561001057600080fd5b506040516103a93803806103a98339818101604052602081101561003357600080fd5b50516001600160a01b0381161561004a5780610060565b73ce0042b868300000d44a59004da54a005ffdcf9f5b60601b6001600160601b031916608052604051309032907f09e48df7857bd0c1e0d31bb8a85d42cf1874817895f171c917f6ee2cea73ec2090600090a35060805160601c6102e96100c06000398061010d528061029152506102e96000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80634af63f021461003b578063d5f39488146100e5575b600080fd5b6100e36004803603604081101561005157600080fd5b81019060208101813564010000000081111561006c57600080fd5b82018360208201111561007e57600080fd5b803590602001918460018302840111640100000000831117156100a057600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295505091359250610109915050565b005b6100ed61028f565b604080516001600160a01b039092168252519081900360200190f35b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634af63f0284846040518363ffffffff1660e01b81526004018080602001838152602001828103825284818151815260200191508051906020019080838360005b8381101561018e578181015183820152602001610176565b50505050905090810190601f1680156101bb5780820380516001836020036101000a031916815260200191505b509350505050602060405180830381600087803b1580156101db57600080fd5b505af11580156101ef573d6000803e3d6000fd5b505050506040513d602081101561020557600080fd5b505190506001600160a01b038116610254576040805162461bcd60e51b815260206004820152600d60248201526c11195c1b1bde4819985a5b1959609a1b604482015290519081900360640190fd5b6040516001600160a01b0382169033907f09e48df7857bd0c1e0d31bb8a85d42cf1874817895f171c917f6ee2cea73ec2090600090a3505050565b7f00000000000000000000000000000000000000000000000000000000000000008156fea26469706673582212209824ac82969e56106968b899123a2ecac48f942b4ed3dcae2ced58022879d32364736f6c634300060c0033"; + +type DeployerConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: DeployerConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class Deployer__factory extends ContractFactory { + constructor(...args: DeployerConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + _deployer: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(_deployer, overrides || {}); + } + override deploy( + _deployer: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ) { + return super.deploy(_deployer, overrides || {}) as Promise< + Deployer & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): Deployer__factory { + return super.connect(runner) as Deployer__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): DeployerInterface { + return new Interface(_abi) as DeployerInterface; + } + static connect(address: string, runner?: ContractRunner | null): Deployer { + return new Contract(address, _abi, runner) as unknown as Deployer; + } +} diff --git a/typechain-types/factories/contracts/Governance/Deployer.sol/IDeployer__factory.ts b/typechain-types/factories/contracts/Governance/Deployer.sol/IDeployer__factory.ts new file mode 100644 index 0000000..c86d4e6 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/Deployer.sol/IDeployer__factory.ts @@ -0,0 +1,46 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IDeployer, + IDeployerInterface, +} from "../../../../contracts/Governance/Deployer.sol/IDeployer"; + +const _abi = [ + { + inputs: [ + { + internalType: "bytes", + name: "_initCode", + type: "bytes", + }, + { + internalType: "bytes32", + name: "_salt", + type: "bytes32", + }, + ], + name: "deploy", + outputs: [ + { + internalType: "address payable", + name: "createdContract", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IDeployer__factory { + static readonly abi = _abi; + static createInterface(): IDeployerInterface { + return new Interface(_abi) as IDeployerInterface; + } + static connect(address: string, runner?: ContractRunner | null): IDeployer { + return new Contract(address, _abi, runner) as unknown as IDeployer; + } +} diff --git a/typechain-types/factories/contracts/Governance/Deployer.sol/index.ts b/typechain-types/factories/contracts/Governance/Deployer.sol/index.ts new file mode 100644 index 0000000..327cbc1 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/Deployer.sol/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { Deployer__factory } from "./Deployer__factory"; +export { IDeployer__factory } from "./IDeployer__factory"; diff --git a/typechain-types/factories/contracts/Governance/FeeManager__factory.ts b/typechain-types/factories/contracts/Governance/FeeManager__factory.ts new file mode 100644 index 0000000..e6a1f56 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/FeeManager__factory.ts @@ -0,0 +1,404 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { + Signer, + AddressLike, + ContractDeployTransaction, + ContractRunner, +} from "ethers"; +import type { NonPayableOverrides } from "../../../common"; +import type { + FeeManager, + FeeManagerInterface, +} from "../../../contracts/Governance/FeeManager"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "_torn", + type: "address", + }, + { + internalType: "address", + name: "_governance", + type: "address", + }, + { + internalType: "address", + name: "_registry", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "instance", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "newFee", + type: "uint256", + }, + ], + name: "FeeUpdated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint24", + name: "newFee", + type: "uint24", + }, + ], + name: "UniswapTornPoolSwappingFeeChanged", + type: "event", + }, + { + inputs: [], + name: "PROTOCOL_FEE_DIVIDER", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "contract ITornadoInstance", + name: "_instance", + type: "address", + }, + ], + name: "calculatePoolFee", + outputs: [ + { + internalType: "uint160", + name: "", + type: "uint160", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "feeDeviations", + outputs: [ + { + components: [ + { + internalType: "address", + name: "instance", + type: "address", + }, + { + internalType: "int256", + name: "deviation", + type: "int256", + }, + ], + internalType: "struct FeeManager.Deviation[]", + name: "results", + type: "tuple[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "governance", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "contract ITornadoInstance", + name: "", + type: "address", + }, + ], + name: "instanceFee", + outputs: [ + { + internalType: "uint160", + name: "", + type: "uint160", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "contract ITornadoInstance", + name: "", + type: "address", + }, + ], + name: "instanceFeeUpdated", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "contract ITornadoInstance", + name: "_instance", + type: "address", + }, + ], + name: "instanceFeeWithUpdate", + outputs: [ + { + internalType: "uint160", + name: "", + type: "uint160", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "registry", + outputs: [ + { + internalType: "contract InstanceRegistry", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint32", + name: "newPeriod", + type: "uint32", + }, + ], + name: "setPeriodForTWAPOracle", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint24", + name: "_uniswapTornPoolSwappingFee", + type: "uint24", + }, + ], + name: "setUniswapTornPoolSwappingFee", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint24", + name: "newLimit", + type: "uint24", + }, + ], + name: "setUpdateFeeTimeLimit", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "torn", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "uniswapTimePeriod", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "uniswapTornPoolSwappingFee", + outputs: [ + { + internalType: "uint24", + name: "", + type: "uint24", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "updateAllFees", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "contract ITornadoInstance", + name: "_instance", + type: "address", + }, + ], + name: "updateFee", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "updateFeeTimeLimit", + outputs: [ + { + internalType: "uint24", + name: "", + type: "uint24", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "contract ITornadoInstance[]", + name: "_instances", + type: "address[]", + }, + ], + name: "updateFees", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +const _bytecode = + "0x60e06040523480156200001157600080fd5b5060405162001a7f38038062001a7f83398101604081905262000034916200005c565b6001600160601b0319606093841b811660805291831b821660a05290911b1660c052620000c8565b60008060006060848603121562000071578283fd5b83516200007e81620000af565b60208501519093506200009181620000af565b6040850151909250620000a481620000af565b809150509250925092565b6001600160a01b0381168114620000c557600080fd5b50565b60805160601c60a05160601c60c05160601c61195e62000121600039806102ce52806104f6528061077752806109945250806104b7528061052e528061060f528061070852508061068f528061087e525061195e6000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c8063a0287520116100a2578063bcc5ee6411610071578063bcc5ee641461020f578063c51c229714610217578063d8718fb11461022a578063e1f121561461023f578063f522d6d61461025257610116565b8063a0287520146101d9578063adf898a4146101ec578063aeb3077a146101f4578063b19a2972146101fc57610116565b8063603a54fe116100e9578063603a54fe146101815780637b103999146101945780637ccd2f481461019c57806380679eb3146101b157806380eb7bf0146101c657610116565b806305e343641461011b5780632efbf384146101445780634bf0a542146101645780635aa6e67514610179575b600080fd5b61012e610129366004611646565b61025a565b60405161013b919061188c565b60405180910390f35b610157610152366004611646565b61026c565b60405161013b91906116d3565b61016c6102c9565b60405161013b919061170f565b6101576104b5565b61015761018f366004611646565b6104d9565b6101576104f4565b6101a4610518565b60405161013b919061187c565b6101c46101bf366004611696565b610523565b005b6101c46101d4366004611646565b61057e565b6101c46101e7366004611662565b610604565b61015761068d565b61012e6106b1565b6101c461020a3660046113e4565b6106b7565b6101a46106eb565b6101c4610225366004611662565b6106fd565b61023261075a565b60405161013b9190611895565b61015761024d366004611646565b61076d565b6101c461098f565b60026020526000908152604090205481565b600080546001600160a01b038316825260026020526040822054600160381b90910462ffffff16429190910311156102a7576102a78261057e565b506001600160a01b03808216600090815260016020526040902054165b919050565b6060807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310c13ac36040518163ffffffff1660e01b815260040160006040518083038186803b15801561032557600080fd5b505afa158015610339573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610361919081019061147d565b9050805167ffffffffffffffff8111801561037b57600080fd5b506040519080825280602002602001820160405280156103b557816020015b6103a261131d565b81526020019060019003908161039a5790505b50915060005b81518110156104b05760006103e28383815181106103d557fe5b602002602001015161076d565b6001600160a01b031690506000811561045e576103e8826001600087878151811061040957fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060009054906101000a90046001600160a01b03166103e8026001600160a01b03168161045957fe5b040390505b604051806040016040528085858151811061047557fe5b60200260200101516001600160a01b031681526020018281525085848151811061049b57fe5b602090810291909101015250506001016103bb565b505090565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001602052600090815260409020546001600160a01b031681565b7f000000000000000000000000000000000000000000000000000000000000000081565b60005462ffffff1681565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461055857600080fd5b6000805463ffffffff90921663010000000266ffffffff00000019909216919091179055565b60006105898261076d565b6001600160a01b03838116600081815260016020908152604080832080546001600160a01b03191695871695909517909455600290528290204290559051919250907f6f0eaf2c2f89fb4cfe96a1dee5e764d60b52c7f48aaa590f0850e308aa1b953a906105f89084906116d3565b60405180910390a25050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461063957600080fd5b6000805462ffffff191662ffffff83811691909117918290556040517fbfe65cfc2359076c4468c9b895156c309c78f94fb09f6d2fc0463c4ca9a71ac29261068292169061187c565b60405180910390a150565b7f000000000000000000000000000000000000000000000000000000000000000081565b61271081565b60005b81518110156106e7576106df8282815181106106d257fe5b602002602001015161057e565b6001016106ba565b5050565b600054600160381b900462ffffff1681565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461073257600080fd5b6000805462ffffff909216600160381b0269ffffff0000000000000019909216919091179055565b6000546301000000900463ffffffff1681565b60008060008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663032bb443876040518263ffffffff1660e01b81526004016107c191906116d3565b60a06040518083038186803b1580156107d957600080fd5b505afa1580156107ed573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061081191906115cb565b9450945050935093508063ffffffff16600014156108365760009450505050506102c4565b6001600160a01b03831615801561084b575083155b610855578261086b565b73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25b6040805180820182526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081168252831660208083019190915282518084019093526000805462ffffff80821686528816928501929092529396506108e5929063ffffffff630100000090910416610a29565b905061098461271061097e8463ffffffff166109788561097e670de0b6b3a76400008e6001600160a01b0316638bca6d166040518163ffffffff1660e01b815260040160206040518083038186803b15801561094057600080fd5b505afa158015610954573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610978919061167e565b90610a75565b90610ac1565b979650505050505050565b610a277f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310c13ac36040518163ffffffff1660e01b815260040160006040518083038186803b1580156109eb57600080fd5b505afa1580156109ff573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261020a919081019061147d565b565b60208084015190830151600091610a409184610b03565b84518451610a6391670de0b6b3a764000091610a5d919087610b03565b90610b2d565b81610a6a57fe5b0490505b9392505050565b600082610a8457506000610abb565b82820282848281610a9157fe5b0414610ab85760405162461bcd60e51b8152600401610aaf9061183b565b60405180910390fd5b90505b92915050565b6000610ab883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610b51565b6000610b258473c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28585610b88565b949350505050565b6000821580610b4857505081810281838281610b4557fe5b04145b610abb57600080fd5b60008183610b725760405162461bcd60e51b8152600401610aaf91906117b1565b506000838581610b7e57fe5b0495945050505050565b600080846001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610bc457600080fd5b505afa158015610bd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bfc91906116b2565b60ff16600a0a90506001600160a01b038681169086161415610c28576001600160801b03169050610b25565b604051630b4c774160e11b8152610cc990610cc190731f98431c8ad98523631ae4a59f267346ea31f98490631698ee8290610c6b908b908b908b906004016116e7565b60206040518083038186803b158015610c8357600080fd5b505afa158015610c97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cbb91906113c8565b85610cda565b828888610e6f565b915050610b25565b50949350505050565b600063ffffffff8216610cff5760405162461bcd60e51b8152600401610aaf90611804565b60408051600280825260608083018452926020830190803683370190505090508281600081518110610d2d57fe5b602002602001019063ffffffff16908163ffffffff1681525050600081600181518110610d5657fe5b63ffffffff9092166020928302919091019091015260405163883bdbfd60e01b81526060906001600160a01b0386169063883bdbfd90610d9a908590600401611767565b60006040518083038186803b158015610db257600080fd5b505afa158015610dc6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610dee9190810190611509565b509050600081600081518110610e0057fe5b602002602001015182600181518110610e1557fe5b60200260200101510390508463ffffffff168160060b81610e3257fe5b05935060008160060b128015610e5957508463ffffffff168160060b81610e5557fe5b0715155b15610e6657600019909301925b50505092915050565b600080610e7b86610f59565b90506001600160801b036001600160a01b03821611610eea576001600160a01b0380821680029084811690861610610eca57610ec5600160c01b876001600160801b031683611272565b610ee2565b610ee281876001600160801b0316600160c01b611272565b925050610cd1565b6000610f096001600160a01b0383168068010000000000000000611272565b9050836001600160a01b0316856001600160a01b031610610f4157610f3c600160801b876001600160801b031683611272565b610984565b61098481876001600160801b0316600160801b611272565b60008060008360020b12610f70578260020b610f78565b8260020b6000035b9050620d89e8811115610f9d5760405162461bcd60e51b8152600401610aaf90611820565b600060018216610fb157600160801b610fc3565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615610ff7576ffff97272373d413259a46990580e213a0260801c5b6004821615611016576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615611035576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615611054576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615611073576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615611092576fff2ea16466c96a3843ec78b326b528610260801c5b60808216156110b1576ffe5dee046a99a2a811c461f1969c30530260801c5b6101008216156110d1576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b6102008216156110f1576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615611111576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615611131576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615611151576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615611171576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615611191576f70d869a156d2a1b890bb3df62baf32f70260801c5b6180008216156111b1576f31be135f97d08fd981231505542fcfa60260801c5b620100008216156111d2576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b620200008216156111f2576e5d6af8dedb81196699c329225ee6040260801c5b62040000821615611211576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561122e576b048a170391f7dc42444e8fa20260801c5b60008460020b131561124957806000198161124557fe5b0490505b64010000000081061561125d576001611260565b60005b60ff16602082901c0192505050919050565b60008080600019858709868602925082811090839003039050806112a8576000841161129d57600080fd5b508290049050610a6e565b8084116112b457600080fd5b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b604080518082019091526000808252602082015290565b600082601f830112611344578081fd5b8151611357611352826118cd565b6118a6565b81815291506020808301908481018184028601820187101561137857600080fd5b60005b848110156113a057815161138e816118ed565b8452928201929082019060010161137b565b505050505092915050565b8051610abb816118ed565b8051600681900b8114610abb57600080fd5b6000602082840312156113d9578081fd5b8151610ab8816118ed565b600060208083850312156113f6578182fd5b823567ffffffffffffffff81111561140c578283fd5b8301601f8101851361141c578283fd5b803561142a611352826118cd565b8181528381019083850185840285018601891015611446578687fd5b8694505b8385101561147157803561145d816118ed565b83526001949094019391850191850161144a565b50979650505050505050565b6000602080838503121561148f578182fd5b825167ffffffffffffffff8111156114a5578283fd5b8301601f810185136114b5578283fd5b80516114c3611352826118cd565b81815283810190838501858402850186018910156114df578687fd5b8694505b83851015611471576114f589826113ab565b8352600194909401939185019185016114e3565b6000806040838503121561151b578081fd5b825167ffffffffffffffff80821115611532578283fd5b818501915085601f830112611545578283fd5b8151611553611352826118cd565b80828252602080830192508086018a828387028901011115611573578788fd5b8796505b8487101561159d576115898b826113b6565b845260019690960195928101928101611577565b5088015190965093505050808211156115b4578283fd5b506115c185828601611334565b9150509250929050565b600080600080600060a086880312156115e2578081fd5b855180151581146115f1578182fd5b6020870151909550611602816118ed565b604087015190945060028110611616578182fd5b606087015190935061162781611905565b608087015190925061163881611916565b809150509295509295909350565b600060208284031215611657578081fd5b8135610ab8816118ed565b600060208284031215611673578081fd5b8135610ab881611905565b60006020828403121561168f578081fd5b5051919050565b6000602082840312156116a7578081fd5b8135610ab881611916565b6000602082840312156116c3578081fd5b815160ff81168114610ab8578182fd5b6001600160a01b0391909116815260200190565b6001600160a01b03938416815291909216602082015262ffffff909116604082015260600190565b602080825282518282018190526000919060409081850190868401855b8281101561175a57815180516001600160a01b0316855286015186850152928401929085019060010161172c565b5091979650505050505050565b6020808252825182820181905260009190848201906040850190845b818110156117a557835163ffffffff1683529284019291840191600101611783565b50909695505050505050565b6000602080835283518082850152825b818110156117dd578581018301518582016040015282016117c1565b818111156117ee5783604083870101525b50601f01601f1916929092016040019392505050565b602080825260029082015261042560f41b604082015260600190565b6020808252600190820152601560fa1b604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b62ffffff91909116815260200190565b90815260200190565b63ffffffff91909116815260200190565b60405181810167ffffffffffffffff811182821017156118c557600080fd5b604052919050565b600067ffffffffffffffff8211156118e3578081fd5b5060209081020190565b6001600160a01b038116811461190257600080fd5b50565b62ffffff8116811461190257600080fd5b63ffffffff8116811461190257600080fdfea26469706673582212205690be246e00d9bf30da35441a160026439ececfa962348f01e498d25f89f5d164736f6c634300060c0033"; + +type FeeManagerConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: FeeManagerConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class FeeManager__factory extends ContractFactory { + constructor(...args: FeeManagerConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + _torn: AddressLike, + _governance: AddressLike, + _registry: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction( + _torn, + _governance, + _registry, + overrides || {} + ); + } + override deploy( + _torn: AddressLike, + _governance: AddressLike, + _registry: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ) { + return super.deploy( + _torn, + _governance, + _registry, + overrides || {} + ) as Promise< + FeeManager & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): FeeManager__factory { + return super.connect(runner) as FeeManager__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): FeeManagerInterface { + return new Interface(_abi) as FeeManagerInterface; + } + static connect(address: string, runner?: ContractRunner | null): FeeManager { + return new Contract(address, _abi, runner) as unknown as FeeManager; + } +} diff --git a/typechain-types/factories/contracts/Governance/GasCompensationVault__factory.ts b/typechain-types/factories/contracts/Governance/GasCompensationVault__factory.ts new file mode 100644 index 0000000..77ed7ef --- /dev/null +++ b/typechain-types/factories/contracts/Governance/GasCompensationVault__factory.ts @@ -0,0 +1,141 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { + Signer, + AddressLike, + ContractDeployTransaction, + ContractRunner, +} from "ethers"; +import type { NonPayableOverrides } from "../../../common"; +import type { + GasCompensationVault, + GasCompensationVaultInterface, +} from "../../../contracts/Governance/GasCompensationVault"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "_governance", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + inputs: [], + name: "GovernanceAddress", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "uint256", + name: "gasAmount", + type: "uint256", + }, + ], + name: "compensateGas", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "withdrawToGovernance", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + stateMutability: "payable", + type: "receive", + }, +] as const; + +const _bytecode = + "0x60a0604052348015600f57600080fd5b50604051610472380380610472833981016040819052602c91603c565b6001600160a01b0316608052606a565b600060208284031215604d57600080fd5b81516001600160a01b0381168114606357600080fd5b9392505050565b6080516103da6100986000396000818160560152818160e101528181610212015261027701526103da6000f3fe6080604052600436106100385760003560e01c8063a3221c2e14610044578063a99ce80714610094578063e822f784146100b657600080fd5b3661003f57005b600080fd5b34801561005057600080fd5b506100787f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b3480156100a057600080fd5b506100b46100af366004610328565b6100d6565b005b3480156100c257600080fd5b506100b46100d1366004610360565b610207565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461013e5760405162461bcd60e51b815260206004820152600860248201526737b7363c9033b7bb60c11b60448201526064015b60405180910390fd5b47600061014b4884610379565b90508160000361015b5750505050565b6000846001600160a01b03168383116101745782610176565b835b604051600081818185875af1925050503d80600081146101b2576040519150601f19603f3d011682016040523d82523d6000602084013e6101b7565b606091505b50509050806102005760405162461bcd60e51b815260206004820152601560248201527418dbdb5c195b9cd85d194819d85cc819985a5b1959605a1b6044820152606401610135565b5050505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461026a5760405162461bcd60e51b815260206004820152600860248201526737b7363c9033b7bb60c11b6044820152606401610135565b4760006001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168284116102a457836102a6565b825b604051600081818185875af1925050503d80600081146102e2576040519150601f19603f3d011682016040523d82523d6000602084013e6102e7565b606091505b50509050806103235760405162461bcd60e51b81526020600482015260086024820152671c185e4819985a5b60c21b6044820152606401610135565b505050565b6000806040838503121561033b57600080fd5b82356001600160a01b038116811461035257600080fd5b946020939093013593505050565b60006020828403121561037257600080fd5b5035919050565b808202811582820484141761039e57634e487b7160e01b600052601160045260246000fd5b9291505056fea264697066735822122073841dd5b5d8687d927814633a2fcb7944a306bb89a9b65a0aab4cc361c8312264736f6c63430008190033"; + +type GasCompensationVaultConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: GasCompensationVaultConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class GasCompensationVault__factory extends ContractFactory { + constructor(...args: GasCompensationVaultConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + _governance: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(_governance, overrides || {}); + } + override deploy( + _governance: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ) { + return super.deploy(_governance, overrides || {}) as Promise< + GasCompensationVault & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect( + runner: ContractRunner | null + ): GasCompensationVault__factory { + return super.connect(runner) as GasCompensationVault__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): GasCompensationVaultInterface { + return new Interface(_abi) as GasCompensationVaultInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): GasCompensationVault { + return new Contract( + address, + _abi, + runner + ) as unknown as GasCompensationVault; + } +} diff --git a/typechain-types/factories/contracts/Governance/InstanceRegistry.sol/ITornadoRouter__factory.ts b/typechain-types/factories/contracts/Governance/InstanceRegistry.sol/ITornadoRouter__factory.ts new file mode 100644 index 0000000..03cf4ca --- /dev/null +++ b/typechain-types/factories/contracts/Governance/InstanceRegistry.sol/ITornadoRouter__factory.ts @@ -0,0 +1,48 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + ITornadoRouter, + ITornadoRouterInterface, +} from "../../../../contracts/Governance/InstanceRegistry.sol/ITornadoRouter"; + +const _abi = [ + { + inputs: [ + { + internalType: "contract IERC20", + name: "_token", + type: "address", + }, + { + internalType: "address", + name: "_spender", + type: "address", + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256", + }, + ], + name: "approveExactToken", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class ITornadoRouter__factory { + static readonly abi = _abi; + static createInterface(): ITornadoRouterInterface { + return new Interface(_abi) as ITornadoRouterInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): ITornadoRouter { + return new Contract(address, _abi, runner) as unknown as ITornadoRouter; + } +} diff --git a/typechain-types/factories/contracts/Governance/InstanceRegistry.sol/InstanceRegistry__factory.ts b/typechain-types/factories/contracts/Governance/InstanceRegistry.sol/InstanceRegistry__factory.ts new file mode 100644 index 0000000..cbc1149 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/InstanceRegistry.sol/InstanceRegistry__factory.ts @@ -0,0 +1,440 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { + Signer, + AddressLike, + ContractDeployTransaction, + ContractRunner, +} from "ethers"; +import type { NonPayableOverrides } from "../../../../common"; +import type { + InstanceRegistry, + InstanceRegistryInterface, +} from "../../../../contracts/Governance/InstanceRegistry.sol/InstanceRegistry"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "_governance", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "contract ITornadoInstance", + name: "instance", + type: "address", + }, + { + indexed: false, + internalType: "enum InstanceRegistry.InstanceState", + name: "state", + type: "uint8", + }, + ], + name: "InstanceStateUpdated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "tornadoRouter", + type: "address", + }, + ], + name: "RouterRegistered", + type: "event", + }, + { + inputs: [], + name: "getAllInstanceAddresses", + outputs: [ + { + internalType: "contract ITornadoInstance[]", + name: "result", + type: "address[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getAllInstances", + outputs: [ + { + components: [ + { + internalType: "contract ITornadoInstance", + name: "addr", + type: "address", + }, + { + components: [ + { + internalType: "bool", + name: "isERC20", + type: "bool", + }, + { + internalType: "contract IERC20", + name: "token", + type: "address", + }, + { + internalType: "enum InstanceRegistry.InstanceState", + name: "state", + type: "uint8", + }, + { + internalType: "uint24", + name: "uniswapPoolSwappingFee", + type: "uint24", + }, + { + internalType: "uint32", + name: "protocolFeePercentage", + type: "uint32", + }, + ], + internalType: "struct InstanceRegistry.Instance", + name: "instance", + type: "tuple", + }, + ], + internalType: "struct InstanceRegistry.Tornado[]", + name: "result", + type: "tuple[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "contract ITornadoInstance", + name: "instance", + type: "address", + }, + ], + name: "getPoolToken", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "governance", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "contract ITornadoInstance", + name: "addr", + type: "address", + }, + { + components: [ + { + internalType: "bool", + name: "isERC20", + type: "bool", + }, + { + internalType: "contract IERC20", + name: "token", + type: "address", + }, + { + internalType: "enum InstanceRegistry.InstanceState", + name: "state", + type: "uint8", + }, + { + internalType: "uint24", + name: "uniswapPoolSwappingFee", + type: "uint24", + }, + { + internalType: "uint32", + name: "protocolFeePercentage", + type: "uint32", + }, + ], + internalType: "struct InstanceRegistry.Instance", + name: "instance", + type: "tuple", + }, + ], + internalType: "struct InstanceRegistry.Tornado[]", + name: "_instances", + type: "tuple[]", + }, + { + internalType: "address", + name: "_router", + type: "address", + }, + ], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "instanceIds", + outputs: [ + { + internalType: "contract ITornadoInstance", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "contract ITornadoInstance", + name: "", + type: "address", + }, + ], + name: "instances", + outputs: [ + { + internalType: "bool", + name: "isERC20", + type: "bool", + }, + { + internalType: "contract IERC20", + name: "token", + type: "address", + }, + { + internalType: "enum InstanceRegistry.InstanceState", + name: "state", + type: "uint8", + }, + { + internalType: "uint24", + name: "uniswapPoolSwappingFee", + type: "uint24", + }, + { + internalType: "uint32", + name: "protocolFeePercentage", + type: "uint32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_instanceId", + type: "uint256", + }, + ], + name: "removeInstance", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "router", + outputs: [ + { + internalType: "contract ITornadoRouter", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "contract ITornadoInstance", + name: "instance", + type: "address", + }, + { + internalType: "uint32", + name: "newFee", + type: "uint32", + }, + ], + name: "setProtocolFee", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "routerAddress", + type: "address", + }, + ], + name: "setTornadoRouter", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "contract ITornadoInstance", + name: "addr", + type: "address", + }, + { + components: [ + { + internalType: "bool", + name: "isERC20", + type: "bool", + }, + { + internalType: "contract IERC20", + name: "token", + type: "address", + }, + { + internalType: "enum InstanceRegistry.InstanceState", + name: "state", + type: "uint8", + }, + { + internalType: "uint24", + name: "uniswapPoolSwappingFee", + type: "uint24", + }, + { + internalType: "uint32", + name: "protocolFeePercentage", + type: "uint32", + }, + ], + internalType: "struct InstanceRegistry.Instance", + name: "instance", + type: "tuple", + }, + ], + internalType: "struct InstanceRegistry.Tornado", + name: "_tornado", + type: "tuple", + }, + ], + name: "updateInstance", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +const _bytecode = + "0x60a060405234801561001057600080fd5b5060405161146f38038061146f83398101604081905261002f91610044565b60601b6001600160601b031916608052610072565b600060208284031215610055578081fd5b81516001600160a01b038116811461006b578182fd5b9392505050565b60805160601c6113cc6100a3600039806103e552806105c052806105ed528061073a52806107e652506113cc6000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80636c9be937116100715780636c9be9371461014d578063908e3b371461016057806392b65a4114610173578063b5b899b714610186578063cf552c8914610199578063f887ea40146101ac576100b4565b8063032bb443146100b957806310c13ac3146100e65780631ad058a9146100fb5780634ba16d9d1461011057806352c228e3146101235780635aa6e67514610138575b600080fd5b6100cc6100c7366004610e89565b6101b4565b6040516100dd95949392919061119c565b60405180910390f35b6100ee6101fe565b6040516100dd919061109f565b61010e610109366004610ec8565b6102af565b005b61010e61011e366004610e89565b6103da565b61012b61047f565b6040516100dd91906110ec565b6101406105be565b6040516100dd9190611071565b61010e61015b366004610fdb565b6105e2565b61014061016e366004610e89565b610709565b61010e610181366004610f80565b61072f565b61014061019436600461100d565b6107b4565b61010e6101a736600461100d565b6107db565b610140610a77565b60016020526000908152604090205460ff8082169161010081046001600160a01b031691600160a81b82041690600160b01b810462ffffff1690600160c81b900463ffffffff1685565b60025460609067ffffffffffffffff8111801561021a57600080fd5b50604051908082528060200260200182016040528015610244578160200160208202803683370190505b50905060005b6002548110156102ab576002818154811061026157fe5b9060005260206000200160009054906101000a90046001600160a01b031682828151811061028b57fe5b6001600160a01b039092166020928302919091019091015260010161024a565b5090565b600054610100900460ff16806102c857506102c8610a8c565b806102d6575060005460ff16155b6102fb5760405162461bcd60e51b81526004016102f29061121c565b60405180910390fd5b600054610100900460ff16158015610326576000805460ff1961ff0019909116610100171660011790555b6000805462010000600160b01b031916620100006001600160a01b038516021781555b83518110156103c25761036e84828151811061036157fe5b6020026020010151610a92565b600284828151811061037c57fe5b6020908102919091018101515182546001808201855560009485529290932090920180546001600160a01b0319166001600160a01b039093169290921790915501610349565b5080156103d5576000805461ff00191690555b505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104225760405162461bcd60e51b81526004016102f2906112ca565b6000805462010000600160b01b031916620100006001600160a01b038416021790556040517f94df8c3a8087dce110e5fbc5acf380c83c94bbd31b2c8ed4c08e1396a696e1a890610474908390611071565b60405180910390a150565b60025460609067ffffffffffffffff8111801561049b57600080fd5b506040519080825280602002602001820160405280156104d557816020015b6104c2610d64565b8152602001906001900390816104ba5790505b50905060005b6002548110156102ab576000600282815481106104f457fe5b60009182526020808320909101546040805180820182526001600160a01b03928316808252808652600180865295839020835160a081018552815460ff8082161515835261010082049097168289015292985092969587019592949093850192600160a81b909204169081111561056757fe5b600181111561057257fe5b81529054600160b01b810462ffffff166020830152600160c81b900463ffffffff16604090910152905283518490849081106105aa57fe5b6020908102919091010152506001016104db565b7f000000000000000000000000000000000000000000000000000000000000000081565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461062a5760405162461bcd60e51b81526004016102f2906112ca565b600061063c6080830160608401610fc0565b600181111561064757fe5b14156106655760405162461bcd60e51b81526004016102f290611293565b6000600160006106786020850185610e89565b6001600160a01b03168152602081019190915260400160002054600160a81b900460ff1660018111156106a757fe5b14156106ef5760026106bc6020830183610e89565b81546001810183556000928352602090922090910180546001600160a01b0319166001600160a01b039092169190911790555b61070661070136839003830183610ff2565b610a92565b50565b6001600160a01b038082166000908152600160205260409020546101009004165b919050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107775760405162461bcd60e51b81526004016102f2906112ca565b6001600160a01b039091166000908152600160205260409020805463ffffffff909216600160c81b0263ffffffff60c81b19909216919091179055565b600281815481106107c157fe5b6000918252602090912001546001600160a01b0316905081565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108235760405162461bcd60e51b81526004016102f2906112ca565b60006002828154811061083257fe5b60009182526020808320909101546001600160a01b03908116808452600190925260409092205490925060ff8116916101009091041681156109705760008054604051636eb1769f60e11b81526001600160a01b038085169263dd62ed3e926108aa9262010000909204909116908890600401611085565b60206040518083038186803b1580156108c257600080fd5b505afa1580156108d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108fa9190611025565b9050801561096e5760008054604051633ef1078360e01b8152620100009091046001600160a01b031691633ef107839161093b9186918991906004016111e3565b600060405180830381600087803b15801561095557600080fd5b505af1158015610969573d6000803e3d6000fd5b505050505b505b6001600160a01b038316600090815260016020526040902080546001600160e81b03191690556002805460001981019081106109a857fe5b600091825260209091200154600280546001600160a01b0390921691869081106109ce57fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506002805480610a0757fe5b6001900381819060005260206000200160006101000a8154906001600160a01b0302191690559055826001600160a01b03167f02826f62d88a4d9f1978eb9c06f8663f642d032908e65a915d5898f3585421c06000604051610a699190611207565b60405180910390a250505050565b6000546201000090046001600160a01b031681565b303b1590565b60208181015182516001600160a01b0390811660009081526001808552604091829020845181549686015160ff1990971690151517610100600160a81b0319166101009690941695909502929092178085559083015192939291839160ff60a81b191690600160a81b908490811115610b0757fe5b02179055506060820151815460809093015163ffffffff16600160c81b0263ffffffff60c81b1962ffffff909216600160b01b0262ffffff60b01b19909416939093171691909117905560208101515115610d1457600081600001516001600160a01b031663fc0c546a6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b9b57600080fd5b505afa158015610baf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bd39190610eac565b90508160200151602001516001600160a01b0316816001600160a01b031614610c0e5760405162461bcd60e51b81526004016102f29061126a565b600080548351604051636eb1769f60e11b81526001600160a01b038086169363dd62ed3e93610c4b93620100009092049092169190600401611085565b60206040518083038186803b158015610c6357600080fd5b505afa158015610c77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9b9190611025565b905080610d11576000548351604051633ef1078360e01b8152620100009092046001600160a01b031691633ef1078391610cde91869190600019906004016111e3565b600060405180830381600087803b158015610cf857600080fd5b505af1158015610d0c573d6000803e3d6000fd5b505050505b50505b80600001516001600160a01b03167f02826f62d88a4d9f1978eb9c06f8663f642d032908e65a915d5898f3585421c0826020015160400151604051610d599190611207565b60405180910390a250565b604051806040016040528060006001600160a01b03168152602001610d87610d8c565b905290565b6040805160a0810182526000808252602082018190529091820190815260006020820181905260409091015290565b8035610dc681611350565b92915050565b803560028110610dc657600080fd5b600081830360c0811215610ded578182fd5b610df760406112f2565b91508235610e0481611350565b825260a0601f1982011215610e1857600080fd5b50610e2360a06112f2565b6020830135610e3181611365565b81526040830135610e4181611350565b6020820152610e538460608501610dcc565b60408201526080830135610e6681611373565b606082015260a0830135610e7981611384565b6080820152602082015292915050565b600060208284031215610e9a578081fd5b8135610ea581611350565b9392505050565b600060208284031215610ebd578081fd5b8151610ea581611350565b60008060408385031215610eda578081fd5b823567ffffffffffffffff811115610ef0578182fd5b8301601f81018513610f00578182fd5b8035610f13610f0e82611319565b6112f2565b808282526020808301925080850160c08a838288028901011115610f35578788fd5b8796505b85871015610f6157610f4b8b83610ddb565b8552600196909601959382019390810190610f39565b5050819650610f7289828a01610dbb565b955050505050509250929050565b60008060408385031215610f92578182fd5b8235610f9d81611350565b9150602083013563ffffffff81168114610fb5578182fd5b809150509250929050565b600060208284031215610fd1578081fd5b610ea58383610dcc565b600060c08284031215610fec578081fd5b50919050565b600060c08284031215611003578081fd5b610ea58383610ddb565b60006020828403121561101e578081fd5b5035919050565b600060208284031215611036578081fd5b5051919050565b15159052565b6001600160a01b03169052565b6002811061105a57fe5b9052565b62ffffff169052565b63ffffffff169052565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6020808252825182820181905260009190848201906040850190845b818110156110e05783516001600160a01b0316835292840192918401916001016110bb565b50909695505050505050565b602080825282518282018190526000919060409081850190868401855b8281101561118f57815161111d8151611339565b85528601518051611131908887019061103d565b8681015161114187870182611043565b5085810151606061115481880183611050565b820151905060806111678782018361105e565b9190910151905061117b60a0860182611067565b5060c0939093019290850190600101611109565b5091979650505050505050565b85151581526001600160a01b038516602082015260a081016111bd85611345565b604083015262ffffff8416606083015263ffffffff831660808301529695505050505050565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6020810161121483611345565b825292915050565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252600f908201526e24b731b7b93932b1ba103a37b5b2b760891b604082015260600190565b6020808252601f908201527f5573652072656d6f7665496e7374616e6365282920666f722072656d6f766500604082015260600190565b6020808252600e908201526d139bdd08185d5d1a1bdc9a5e995960921b604082015260600190565b60405181810167ffffffffffffffff8111828210171561131157600080fd5b604052919050565b600067ffffffffffffffff82111561132f578081fd5b5060209081020190565b6001600160a01b031690565b806002811061072a57fe5b6001600160a01b038116811461070657600080fd5b801515811461070657600080fd5b62ffffff8116811461070657600080fd5b63ffffffff8116811461070657600080fdfea26469706673582212207c46c875176b62100d16a46c273e615cd9eb5336dbcd238b33b227f39ff9106564736f6c634300060c0033"; + +type InstanceRegistryConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: InstanceRegistryConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class InstanceRegistry__factory extends ContractFactory { + constructor(...args: InstanceRegistryConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + _governance: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(_governance, overrides || {}); + } + override deploy( + _governance: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ) { + return super.deploy(_governance, overrides || {}) as Promise< + InstanceRegistry & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): InstanceRegistry__factory { + return super.connect(runner) as InstanceRegistry__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): InstanceRegistryInterface { + return new Interface(_abi) as InstanceRegistryInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): InstanceRegistry { + return new Contract(address, _abi, runner) as unknown as InstanceRegistry; + } +} diff --git a/typechain-types/factories/contracts/Governance/InstanceRegistry.sol/index.ts b/typechain-types/factories/contracts/Governance/InstanceRegistry.sol/index.ts new file mode 100644 index 0000000..c4e7e51 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/InstanceRegistry.sol/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { ITornadoRouter__factory } from "./ITornadoRouter__factory"; +export { InstanceRegistry__factory } from "./InstanceRegistry__factory"; diff --git a/typechain-types/factories/contracts/Governance/LoopbackProxy__factory.ts b/typechain-types/factories/contracts/Governance/LoopbackProxy__factory.ts new file mode 100644 index 0000000..45661a5 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/LoopbackProxy__factory.ts @@ -0,0 +1,205 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { + Signer, + BytesLike, + AddressLike, + ContractDeployTransaction, + ContractRunner, +} from "ethers"; +import type { PayableOverrides } from "../../../common"; +import type { + LoopbackProxy, + LoopbackProxyInterface, +} from "../../../contracts/Governance/LoopbackProxy"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "_logic", + type: "address", + }, + { + internalType: "bytes", + name: "_data", + type: "bytes", + }, + ], + stateMutability: "payable", + type: "constructor", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "previousAdmin", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "newAdmin", + type: "address", + }, + ], + name: "AdminChanged", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "implementation", + type: "address", + }, + ], + name: "Upgraded", + type: "event", + }, + { + stateMutability: "payable", + type: "fallback", + }, + { + inputs: [], + name: "admin", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newAdmin", + type: "address", + }, + ], + name: "changeAdmin", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "implementation", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newImplementation", + type: "address", + }, + ], + name: "upgradeTo", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newImplementation", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "upgradeToAndCall", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + stateMutability: "payable", + type: "receive", + }, +] as const; + +const _bytecode = + "0x608060405260405161083b38038061083b8339818101604052604081101561002657600080fd5b81516020830180516040519294929383019291908464010000000082111561004d57600080fd5b90830190602082018581111561006257600080fd5b825164010000000081118282018810171561007c57600080fd5b82525081516020918201929091019080838360005b838110156100a9578181015183820152602001610091565b50505050905090810190601f1680156100d65780820380516001836020036101000a031916815260200191505b50604052508391503090508282816100ed826101c0565b8051156101a5576000826001600160a01b0316826040518082805190602001908083835b602083106101305780518252601f199092019160209182019101610111565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610190576040519150601f19603f3d011682016040523d82523d6000602084013e610195565b606091505b50509050806101a357600080fd5b505b506101ad9050565b6101b682610232565b505050505061025c565b6101d38161025660201b6103b41760201c565b61020e5760405162461bcd60e51b81526004018080602001828103825260368152602001806108056036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b3b151590565b61059a8061026b6000396000f3fe60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100985780635c60da1b146101185780638f28397014610149578063f851a4401461017c5761005d565b3661005d5761005b610191565b005b61005b610191565b34801561007157600080fd5b5061005b6004803603602081101561008857600080fd5b50356001600160a01b03166101ab565b61005b600480360360408110156100ae57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100d957600080fd5b8201836020820111156100eb57600080fd5b8035906020019184600183028401116401000000008311171561010d57600080fd5b5090925090506101e5565b34801561012457600080fd5b5061012d610292565b604080516001600160a01b039092168252519081900360200190f35b34801561015557600080fd5b5061005b6004803603602081101561016c57600080fd5b50356001600160a01b03166102cf565b34801561018857600080fd5b5061012d610389565b6101996101a9565b6101a96101a46103ba565b6103df565b565b6101b3610403565b6001600160a01b0316336001600160a01b031614156101da576101d581610428565b6101e2565b6101e2610191565b50565b6101ed610403565b6001600160a01b0316336001600160a01b031614156102855761020f83610428565b6000836001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d806000811461026c576040519150601f19603f3d011682016040523d82523d6000602084013e610271565b606091505b505090508061027f57600080fd5b5061028d565b61028d610191565b505050565b600061029c610403565b6001600160a01b0316336001600160a01b031614156102c4576102bd6103ba565b90506102cc565b6102cc610191565b90565b6102d7610403565b6001600160a01b0316336001600160a01b031614156101da576001600160a01b0381166103355760405162461bcd60e51b815260040180806020018281038252603a8152602001806104f5603a913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61035e610403565b604080516001600160a01b03928316815291841660208301528051918290030190a16101d581610468565b6000610393610403565b6001600160a01b0316336001600160a01b031614156102c4576102bd610403565b3b151590565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e8080156103fe573d6000f35b3d6000fd5b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b6104318161048c565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b610495816103b4565b6104d05760405162461bcd60e51b815260040180806020018281038252603681526020018061052f6036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5556fe5472616e73706172656e745570677261646561626c6550726f78793a206e65772061646d696e20697320746865207a65726f20616464726573735570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374a264697066735822122014d721b179bdff3154685a6f1f0fecdd0d99b7cfc61b3f1a2f7a95c6f6d2c2ae64736f6c634300060c00335570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374"; + +type LoopbackProxyConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: LoopbackProxyConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class LoopbackProxy__factory extends ContractFactory { + constructor(...args: LoopbackProxyConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + _logic: AddressLike, + _data: BytesLike, + overrides?: PayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(_logic, _data, overrides || {}); + } + override deploy( + _logic: AddressLike, + _data: BytesLike, + overrides?: PayableOverrides & { from?: string } + ) { + return super.deploy(_logic, _data, overrides || {}) as Promise< + LoopbackProxy & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): LoopbackProxy__factory { + return super.connect(runner) as LoopbackProxy__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): LoopbackProxyInterface { + return new Interface(_abi) as LoopbackProxyInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): LoopbackProxy { + return new Contract(address, _abi, runner) as unknown as LoopbackProxy; + } +} diff --git a/typechain-types/factories/contracts/Governance/RelayerRegistry.sol/IENS__factory.ts b/typechain-types/factories/contracts/Governance/RelayerRegistry.sol/IENS__factory.ts new file mode 100644 index 0000000..f5f4173 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/RelayerRegistry.sol/IENS__factory.ts @@ -0,0 +1,41 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IENS, + IENSInterface, +} from "../../../../contracts/Governance/RelayerRegistry.sol/IENS"; + +const _abi = [ + { + inputs: [ + { + internalType: "bytes32", + name: "node", + type: "bytes32", + }, + ], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +export class IENS__factory { + static readonly abi = _abi; + static createInterface(): IENSInterface { + return new Interface(_abi) as IENSInterface; + } + static connect(address: string, runner?: ContractRunner | null): IENS { + return new Contract(address, _abi, runner) as unknown as IENS; + } +} diff --git a/typechain-types/factories/contracts/Governance/RelayerRegistry.sol/IFeeManager__factory.ts b/typechain-types/factories/contracts/Governance/RelayerRegistry.sol/IFeeManager__factory.ts new file mode 100644 index 0000000..2199be8 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/RelayerRegistry.sol/IFeeManager__factory.ts @@ -0,0 +1,41 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IFeeManager, + IFeeManagerInterface, +} from "../../../../contracts/Governance/RelayerRegistry.sol/IFeeManager"; + +const _abi = [ + { + inputs: [ + { + internalType: "contract ITornadoInstance", + name: "_instance", + type: "address", + }, + ], + name: "instanceFeeWithUpdate", + outputs: [ + { + internalType: "uint160", + name: "", + type: "uint160", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IFeeManager__factory { + static readonly abi = _abi; + static createInterface(): IFeeManagerInterface { + return new Interface(_abi) as IFeeManagerInterface; + } + static connect(address: string, runner?: ContractRunner | null): IFeeManager { + return new Contract(address, _abi, runner) as unknown as IFeeManager; + } +} diff --git a/typechain-types/factories/contracts/Governance/RelayerRegistry.sol/RelayerRegistry__factory.ts b/typechain-types/factories/contracts/Governance/RelayerRegistry.sol/RelayerRegistry__factory.ts new file mode 100644 index 0000000..3f58be2 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/RelayerRegistry.sol/RelayerRegistry__factory.ts @@ -0,0 +1,728 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { + Signer, + AddressLike, + ContractDeployTransaction, + ContractRunner, +} from "ethers"; +import type { NonPayableOverrides } from "../../../../common"; +import type { + RelayerRegistry, + RelayerRegistryInterface, +} from "../../../../contracts/Governance/RelayerRegistry.sol/RelayerRegistry"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "_torn", + type: "address", + }, + { + internalType: "address", + name: "_governance", + type: "address", + }, + { + internalType: "address", + name: "_ens", + type: "address", + }, + { + internalType: "address", + name: "_staking", + type: "address", + }, + { + internalType: "address", + name: "_feeManager", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "minStakeAmount", + type: "uint256", + }, + ], + name: "MinimumStakeAmount", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "relayer", + type: "address", + }, + ], + name: "RelayerBalanceNullified", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "bytes32", + name: "relayer", + type: "bytes32", + }, + { + indexed: false, + internalType: "string", + name: "ensName", + type: "string", + }, + { + indexed: false, + internalType: "address", + name: "relayerAddress", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "stakedAmount", + type: "uint256", + }, + ], + name: "RelayerRegistered", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "tornadoRouter", + type: "address", + }, + ], + name: "RouterRegistered", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "relayer", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "amountStakeAdded", + type: "uint256", + }, + ], + name: "StakeAddedToRelayer", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "relayer", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "amountBurned", + type: "uint256", + }, + ], + name: "StakeBurned", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "relayer", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "worker", + type: "address", + }, + ], + name: "WorkerRegistered", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "relayer", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "worker", + type: "address", + }, + ], + name: "WorkerUnregistered", + type: "event", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + { + internalType: "address", + name: "relayer", + type: "address", + }, + { + internalType: "contract ITornadoInstance", + name: "pool", + type: "address", + }, + ], + name: "burn", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "ens", + outputs: [ + { + internalType: "contract IENS", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "feeManager", + outputs: [ + { + internalType: "contract IFeeManager", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "relayer", + type: "address", + }, + ], + name: "getRelayerBalance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "relayer", + type: "address", + }, + ], + name: "getRelayerEnsHash", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "governance", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_tornadoRouter", + type: "address", + }, + ], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "toResolve", + type: "address", + }, + ], + name: "isRelayer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "relayer", + type: "address", + }, + { + internalType: "address", + name: "toResolve", + type: "address", + }, + ], + name: "isRelayerRegistered", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "minStakeAmount", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "relayer", + type: "address", + }, + ], + name: "nullifyBalance", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "string", + name: "ensName", + type: "string", + }, + { + internalType: "uint256", + name: "stake", + type: "uint256", + }, + { + internalType: "address[]", + name: "workersToRegister", + type: "address[]", + }, + ], + name: "register", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "string", + name: "ensName", + type: "string", + }, + { + internalType: "uint256", + name: "stake", + type: "uint256", + }, + { + internalType: "address[]", + name: "workersToRegister", + type: "address[]", + }, + { + internalType: "address", + name: "relayer", + type: "address", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "registerPermit", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "relayer", + type: "address", + }, + { + internalType: "address", + name: "worker", + type: "address", + }, + ], + name: "registerWorker", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "relayers", + outputs: [ + { + internalType: "uint256", + name: "balance", + type: "uint256", + }, + { + internalType: "bytes32", + name: "ensHash", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "minAmount", + type: "uint256", + }, + ], + name: "setMinStakeAmount", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "tornadoRouterAddress", + type: "address", + }, + ], + name: "setTornadoRouter", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "relayer", + type: "address", + }, + { + internalType: "uint256", + name: "stake", + type: "uint256", + }, + ], + name: "stakeToRelayer", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "relayer", + type: "address", + }, + { + internalType: "uint256", + name: "stake", + type: "uint256", + }, + { + internalType: "address", + name: "staker", + type: "address", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "stakeToRelayerPermit", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "staking", + outputs: [ + { + internalType: "contract TornadoStakingRewards", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "torn", + outputs: [ + { + internalType: "contract TORN", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "tornadoRouter", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "worker", + type: "address", + }, + ], + name: "unregisterWorker", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "workers", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +const _bytecode = + "0x6101206040523480156200001257600080fd5b5060405162001e3c38038062001e3c83398101604081905262000035916200006d565b6001600160601b0319606095861b811660805293851b841660a05291841b831660c052831b821660e05290911b166101005262000105565b600080600080600060a0868803121562000085578081fd5b85516200009281620000ec565b6020870151909550620000a581620000ec565b6040870151909450620000b881620000ec565b6060870151909350620000cb81620000ec565b6080870151909250620000de81620000ec565b809150509295509295909350565b6001600160a01b03811681146200010257600080fd5b50565b60805160601c60a05160601c60c05160601c60e05160601c6101005160601c611cac62000190600039806105855280610b0b52508061066152806107c75280610dc0528061103e52508061046f5280610ec552508061071652806107f452806108ff5280610bfc52508061093852806109c15280610b4f5280610d9d528061101b5250611cac6000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c806385a29683116100c3578063d0fb02031161007c578063d0fb0203146102bc578063d990231d146102c4578063e37e8bcc146102d7578063e43fdb3c146102ea578063eb4af045146102fd578063f18876841461031057610158565b806385a2968314610248578063adf898a41461025b578063ae53941c14610263578063b69fd4ab14610283578063b971a6bf14610296578063c4d66de8146102a957610158565b80634cb16c2e116101155780634cb16c2e146101dc5780634cf088d9146101e45780634d4efd04146101ec5780635300f841146101ff578063541d5548146102205780635aa6e6751461024057610158565b80632e6506491461015d5780633523dc85146101725780633f15457f146101855780634048a257146101a357806345a11cec146101b65780634ba16d9d146101c9575b600080fd5b61017061016b36600461151e565b610318565b005b6101706101803660046114e6565b61036d565b61018d61046d565b60405161019a91906117c9565b60405180910390f35b61018d6101b13660046114e6565b610491565b6101706101c4366004611556565b6104ac565b6101706101d73660046114e6565b61070b565b61018d6107b0565b61018d6107c5565b6101706101fa3660046114e6565b6107e9565b61021261020d3660046114e6565b6108c4565b60405161019a92919061179f565b61023361022e3660046114e6565b6108dd565b60405161019a9190611875565b61018d6108fd565b6101706102563660046115cb565b610921565b61018d6109bf565b6102766102713660046114e6565b6109e3565b60405161019a9190611880565b61023361029136600461151e565b610a11565b6102766102a43660046114e6565b610a38565b6101706102b73660046114e6565b610a63565b61018d610b09565b6101706102d23660046115a0565b610b2d565b6101706102e53660046116d0565b610b38565b6101706102f8366004611659565b610bdc565b61017061030b366004611787565b610bf1565b610276610c6e565b3360008181526003602052604090205483906001600160a01b0380831691161461035d5760405162461bcd60e51b815260040161035490611b20565b60405180910390fd5b6103678484610c74565b50505050565b6001600160a01b03811633146103b6576001600160a01b038181166000908152600360205260409020541633146103b65760405162461bcd60e51b815260040161035490611b46565b6001600160a01b0380821660008181526003602052604090205490911614156103f15760405162461bcd60e51b815260040161035490611a5f565b6001600160a01b03808216600090815260036020526040908190205490517fb2a8e18b9e887f502d65c1683e60b723fa582a6903ea4e8eb23907a19c1ce8a09261043e92169084906117dd565b60405180910390a16001600160a01b0316600090815260036020526040902080546001600160a01b0319169055565b7f000000000000000000000000000000000000000000000000000000000000000081565b6003602052600090815260409020546001600160a01b031681565b6000546201000090046001600160a01b031633146104dc5760405162461bcd60e51b815260040161035490611938565b6001600160a01b03808416600090815260036020526040902054168061053a576001600160a01b0383811660009081526003602052604090205416156105345760405162461bcd60e51b815260040161035490611abc565b50610706565b826001600160a01b0316816001600160a01b03161461056b5760405162461bcd60e51b815260040161035490611b20565b604051630bbefce160e21b81526000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632efbf384906105ba9086906004016117c9565b602060405180830381600087803b1580156105d457600080fd5b505af11580156105e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061060c9190611502565b6001600160a01b03858116600090815260026020526040902054911691506106349082610d0d565b6001600160a01b038086166000908152600260205260409081902092909255905163338610af60e01b81527f00000000000000000000000000000000000000000000000000000000000000009091169063338610af90610698908490600401611880565b600060405180830381600087803b1580156106b257600080fd5b505af11580156106c6573d6000803e3d6000fd5b505050507f659f33fc6677bebf3a9bf3101092792e31f35766d0358e54577bdd91a655f6a084826040516106fb92919061185c565b60405180910390a150505b505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107535760405162461bcd60e51b8152600401610354906119b8565b6000805462010000600160b01b031916620100006001600160a01b038416021790556040517f94df8c3a8087dce110e5fbc5acf380c83c94bbd31b2c8ed4c08e1396a696e1a8906107a59083906117c9565b60405180910390a150565b6000546201000090046001600160a01b031681565b7f000000000000000000000000000000000000000000000000000000000000000081565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108315760405162461bcd60e51b8152600401610354906119b8565b6001600160a01b0380821660008181526003602052604090205490911690811461086d5760405162461bcd60e51b815260040161035490611c0a565b6001600160a01b03811660009081526002602052604080822091909155517fafa759fb3c68e89eaaba359f0930ab40c24875b73cc9e2f6a38b0180019eb8f3906108b89084906117c9565b60405180910390a15050565b6002602052600090815260409020805460019091015482565b6001600160a01b0390811660009081526003602052604090205416151590565b7f000000000000000000000000000000000000000000000000000000000000000081565b60405163d505accf60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d505accf9061097990889030908b908a908a908a908a9060040161181b565b600060405180830381600087803b15801561099357600080fd5b505af11580156109a7573d6000803e3d6000fd5b505050506109b6858888610d56565b50505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001600160a01b03908116600090815260036020908152604080832054909316825260029052206001015490565b6001600160a01b038181166000908152600360205260409020548116908316145b92915050565b6001600160a01b03908116600090815260036020908152604080832054909316825260029052205490565b600054610100900460ff1680610a7c5750610a7c610e64565b80610a8a575060005460ff16155b610aa65760405162461bcd60e51b815260040161035490611a11565b600054610100900460ff16158015610ad1576000805460ff1961ff0019909116610100171660011790555b6000805462010000600160b01b031916620100006001600160a01b038516021790558015610b05576000805461ff00191690555b5050565b7f000000000000000000000000000000000000000000000000000000000000000081565b610b05338383610d56565b60405163d505accf60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d505accf90610b9090889030908d908a908a908a908a9060040161181b565b600060405180830381600087803b158015610baa57600080fd5b505af1158015610bbe573d6000803e3d6000fd5b50505050610bd0858b8b8b8b8b610e6a565b50505050505050505050565b610bea338686868686610e6a565b5050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c395760405162461bcd60e51b8152600401610354906119b8565b60018190556040517f404663163d528ec45288abc4389b81bd96fabf858ff57577ebd4ee7f15d7b0a6906107a5908390611880565b60015481565b6001600160a01b038181166000908152600360205260409020541615610cac5760405162461bcd60e51b8152600401610354906119e1565b6001600160a01b038181166000908152600360205260409081902080546001600160a01b03191692851692909217909155517fcde75bd02c5f739608c891bcd9aa6809e6c4a7035ac7b9f3fd5fea756db74724906108b890849084906117dd565b6000610d4f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061115b565b9392505050565b6001600160a01b0380831660008181526003602052604090205490911614610d905760405162461bcd60e51b815260040161035490611993565b610de56001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016847f000000000000000000000000000000000000000000000000000000000000000084611187565b6001600160a01b038216600090815260026020526040902054610e099082906111df565b6001600160a01b0383166000908152600260205260409081902091909155517f1275dbe2a271b2b822e60f1d44894fa5fb337e7e2dc6a200205b1a5b17c07d6490610e57908490849061185c565b60405180910390a1505050565b303b1590565b6000610eab86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061120492505050565b6040516302571be360e01b81529091506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906302571be390610efa908490600401611880565b60206040518083038186803b158015610f1257600080fd5b505afa158015610f26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4a9190611502565b6001600160a01b0316876001600160a01b031614610f7a5760405162461bcd60e51b815260040161035490611be2565b6001600160a01b038781166000908152600360205260409020541615610fb25760405162461bcd60e51b815260040161035490611a8f565b6001600160a01b0387166000908152600260205260409020600181015415610fec5760405162461bcd60e51b81526004016103549061190c565b60015485101561100e5760405162461bcd60e51b815260040161035490611bbe565b6110636001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016897f000000000000000000000000000000000000000000000000000000000000000088611187565b7f1275dbe2a271b2b822e60f1d44894fa5fb337e7e2dc6a200205b1a5b17c07d64888660405161109492919061185c565b60405180910390a1848155600181018290556001600160a01b038816600081815260036020526040812080546001600160a01b0319169092179091555b838110156111115760008585838181106110e757fe5b90506020020160208101906110fc91906114e6565b90506111088a82610c74565b506001016110d1565b507f9ca7c9c762eff27b021608f232b4c4b8f9b8bf9a3d322297e47cc4209a67d5e28288888b89604051611149959493929190611889565b60405180910390a15050505050505050565b6000818484111561117f5760405162461bcd60e51b815260040161035491906118d9565b505050900390565b610367846323b872dd60e01b8585856040516024016111a8939291906117f7565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611211565b600082820183811015610d4f5760405162461bcd60e51b81526004016103549061195c565b6000610a328260006112a0565b6060611266826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661130a9092919063ffffffff16565b80519091501561070657808060200190518101906112849190611639565b6107065760405162461bcd60e51b815260040161035490611b74565b6000818351116112b257506000610a32565b60006112be8484611321565b90506112cf848285016001016112a0565b6112da858584611366565b6040516020016112eb92919061179f565b6040516020818303038152906040528051906020012091505092915050565b60606113198484600085611382565b949350505050565b6000805b8351818401141580156113595750838184018151811061134157fe5b6020910101516001600160f81b031916601760f91b14155b15610d4f57600101611325565b60008351828401111561137857600080fd5b5091016020012090565b606061138d85611446565b6113a95760405162461bcd60e51b815260040161035490611ae9565b60006060866001600160a01b031685876040516113c691906117ad565b60006040518083038185875af1925050503d8060008114611403576040519150601f19603f3d011682016040523d82523d6000602084013e611408565b606091505b5091509150811561141c5791506113199050565b80511561142c5780518082602001fd5b8360405162461bcd60e51b815260040161035491906118d9565b3b151590565b60008083601f84011261145d578182fd5b50813567ffffffffffffffff811115611474578182fd5b602083019150836020808302850101111561148e57600080fd5b9250929050565b60008083601f8401126114a6578182fd5b50813567ffffffffffffffff8111156114bd578182fd5b60208301915083602082850101111561148e57600080fd5b803560ff81168114610a3257600080fd5b6000602082840312156114f7578081fd5b8135610d4f81611c5e565b600060208284031215611513578081fd5b8151610d4f81611c5e565b60008060408385031215611530578081fd5b823561153b81611c5e565b9150602083013561154b81611c5e565b809150509250929050565b60008060006060848603121561156a578081fd5b833561157581611c5e565b9250602084013561158581611c5e565b9150604084013561159581611c5e565b809150509250925092565b600080604083850312156115b2578182fd5b82356115bd81611c5e565b946020939093013593505050565b600080600080600080600060e0888a0312156115e5578283fd5b87356115f081611c5e565b965060208801359550604088013561160781611c5e565b94506060880135935061161d8960808a016114d5565b925060a0880135915060c0880135905092959891949750929550565b60006020828403121561164a578081fd5b81518015158114610d4f578182fd5b600080600080600060608688031215611670578081fd5b853567ffffffffffffffff80821115611687578283fd5b61169389838a01611495565b90975095506020880135945060408801359150808211156116b2578283fd5b506116bf8882890161144c565b969995985093965092949392505050565b6000806000806000806000806000806101008b8d0312156116ef578283fd5b8a3567ffffffffffffffff80821115611706578485fd5b6117128e838f01611495565b909c509a5060208d0135995060408d0135915080821115611731578485fd5b5061173e8d828e0161144c565b90985096505060608b013561175281611c5e565b945060808b013593506117688c60a08d016114d5565b925060c08b0135915060e08b013590509295989b9194979a5092959850565b600060208284031215611798578081fd5b5035919050565b918252602082015260400190565b600082516117bf818460208701611c32565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b90815260200190565b600086825260806020830152846080830152848660a084013760a08583018101919091526001600160a01b039390931660408201526060810191909152601f909201601f19169091010192915050565b60006020825282518060208401526118f8816040850160208701611c32565b601f01601f19169190910160400192915050565b6020808252601290820152717265676973746572656420616c726561647960701b604082015260600190565b6020808252600a90820152696f6e6c792070726f787960b01b604082015260600190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252600b908201526a085c9959da5cdd195c995960aa1b604082015260600190565b6020808252600f908201526e6f6e6c7920676f7665726e616e636560881b604082015260600190565b60208082526016908201527563616e277420737465616c20616e206164647265737360501b604082015260600190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b60208082526016908201527531b0b73a103ab73932b3b4b9ba32b91036b0b9ba32b960511b604082015260600190565b60208082526013908201527231b0b73a103932b3b4b9ba32b91030b3b0b4b760691b604082015260600190565b60208082526013908201527227b7363c9031bab9ba37b6903932b630bcb2b960691b604082015260600190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b6020808252600c908201526b37b7363c903932b630bcb2b960a11b604082015260600190565b60208082526014908201527337b7363c9037bbb732b91037b3103bb7b935b2b960611b604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b6020808252600a9082015269216d696e5f7374616b6560b01b604082015260600190565b6020808252600e908201526d37b7363c9032b7399037bbb732b960911b604082015260600190565b6020808252600e908201526d36bab9ba1031329036b0b9ba32b960911b604082015260600190565b60005b83811015611c4d578181015183820152602001611c35565b838111156103675750506000910152565b6001600160a01b0381168114611c7357600080fd5b5056fea2646970667358221220af9b060307b803c3e85be3c7887780626ba06e3ccb6888222cb230fd87c11d5664736f6c634300060c0033"; + +type RelayerRegistryConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: RelayerRegistryConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class RelayerRegistry__factory extends ContractFactory { + constructor(...args: RelayerRegistryConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + _torn: AddressLike, + _governance: AddressLike, + _ens: AddressLike, + _staking: AddressLike, + _feeManager: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction( + _torn, + _governance, + _ens, + _staking, + _feeManager, + overrides || {} + ); + } + override deploy( + _torn: AddressLike, + _governance: AddressLike, + _ens: AddressLike, + _staking: AddressLike, + _feeManager: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ) { + return super.deploy( + _torn, + _governance, + _ens, + _staking, + _feeManager, + overrides || {} + ) as Promise< + RelayerRegistry & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): RelayerRegistry__factory { + return super.connect(runner) as RelayerRegistry__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): RelayerRegistryInterface { + return new Interface(_abi) as RelayerRegistryInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): RelayerRegistry { + return new Contract(address, _abi, runner) as unknown as RelayerRegistry; + } +} diff --git a/typechain-types/factories/contracts/Governance/RelayerRegistry.sol/index.ts b/typechain-types/factories/contracts/Governance/RelayerRegistry.sol/index.ts new file mode 100644 index 0000000..2484002 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/RelayerRegistry.sol/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { IENS__factory } from "./IENS__factory"; +export { IFeeManager__factory } from "./IFeeManager__factory"; +export { RelayerRegistry__factory } from "./RelayerRegistry__factory"; diff --git a/typechain-types/factories/contracts/Governance/TORN/Airdrop__factory.ts b/typechain-types/factories/contracts/Governance/TORN/Airdrop__factory.ts new file mode 100644 index 0000000..5ad6165 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/TORN/Airdrop__factory.ts @@ -0,0 +1,141 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { + Signer, + BytesLike, + ContractDeployTransaction, + ContractRunner, +} from "ethers"; +import type { NonPayableOverrides } from "../../../../common"; +import type { + Airdrop, + AirdropInterface, +} from "../../../../contracts/Governance/TORN/Airdrop"; + +const _abi = [ + { + inputs: [ + { + internalType: "bytes32", + name: "tokenAddress", + type: "bytes32", + }, + { + components: [ + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + internalType: "struct Airdrop.Recipient[]", + name: "targets", + type: "tuple[]", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + inputs: [ + { + internalType: "bytes32[]", + name: "domains", + type: "bytes32[]", + }, + ], + name: "bulkResolve", + outputs: [ + { + internalType: "address[]", + name: "result", + type: "address[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "node", + type: "bytes32", + }, + ], + name: "resolve", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +const _bytecode = + "0x60806040523480156200001157600080fd5b506040516200054038038062000540833981016040819052620000349162000396565b60006200004183620001c2565b90506000816001600160a01b03166370a08231306040518263ffffffff1660e01b815260040162000073919062000467565b60206040518083038186803b1580156200008c57600080fd5b505afa158015620000a1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000c791906200044e565b11620000f05760405162461bcd60e51b8152600401620000e7906200049d565b60405180910390fd5b60005b8251811015620001bd57816001600160a01b031663a9059cbb8483815181106200011957fe5b6020026020010151600001518584815181106200013257fe5b6020026020010151602001516040518363ffffffff1660e01b81526004016200015d9291906200047b565b602060405180830381600087803b1580156200017857600080fd5b505af11580156200018d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b3919062000374565b50600101620000f3565b506000ff5b600080620001cf62000310565b600114620001f257738595bfb0d940dfedc98943fa8a907091203f25ee62000203565b6e0c2e074ec69a0dfb2997ba6c7d2e1e5b604051630178b8bf60e01b81529091506001600160a01b03821690630178b8bf906200023490869060040162000494565b60206040518083038186803b1580156200024d57600080fd5b505afa15801562000262573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000288919062000355565b6001600160a01b0316633b3b57de846040518263ffffffff1660e01b8152600401620002b5919062000494565b60206040518083038186803b158015620002ce57600080fd5b505afa158015620002e3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000309919062000355565b9392505050565b4690565b60006040828403121562000326578081fd5b620003326040620004df565b90508151620003418162000526565b808252506020820151602082015292915050565b60006020828403121562000367578081fd5b8151620003098162000526565b60006020828403121562000386578081fd5b8151801515811462000309578182fd5b6000806040808486031215620003aa578182fd5b8351602080860151919450906001600160401b03811115620003ca578384fd5b8501601f81018713620003db578384fd5b8051620003f2620003ec8262000506565b620004df565b81815283810190838501868402850186018b10156200040f578788fd5b8794505b838510156200043d57620004288b8262000314565b83526001949094019391850191860162000413565b508096505050505050509250929050565b60006020828403121562000460578081fd5b5051919050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b90815260200190565b60208082526022908201527f42616c616e636520697320302c2061697264726f7020616c726561647920646f6040820152616e6560f01b606082015260800190565b6040518181016001600160401b0381118282101715620004fe57600080fd5b604052919050565b60006001600160401b038211156200051c578081fd5b5060209081020190565b6001600160a01b03811681146200053c57600080fd5b5056fe"; + +type AirdropConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: AirdropConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class Airdrop__factory extends ContractFactory { + constructor(...args: AirdropConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + tokenAddress: BytesLike, + targets: Airdrop.RecipientStruct[], + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(tokenAddress, targets, overrides || {}); + } + override deploy( + tokenAddress: BytesLike, + targets: Airdrop.RecipientStruct[], + overrides?: NonPayableOverrides & { from?: string } + ) { + return super.deploy(tokenAddress, targets, overrides || {}) as Promise< + Airdrop & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): Airdrop__factory { + return super.connect(runner) as Airdrop__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): AirdropInterface { + return new Interface(_abi) as AirdropInterface; + } + static connect(address: string, runner?: ContractRunner | null): Airdrop { + return new Contract(address, _abi, runner) as unknown as Airdrop; + } +} diff --git a/typechain-types/factories/contracts/Governance/TORN/ENS.sol/ENS__factory.ts b/typechain-types/factories/contracts/Governance/TORN/ENS.sol/ENS__factory.ts new file mode 100644 index 0000000..987697e --- /dev/null +++ b/typechain-types/factories/contracts/Governance/TORN/ENS.sol/ENS__factory.ts @@ -0,0 +1,41 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + ENS, + ENSInterface, +} from "../../../../../contracts/Governance/TORN/ENS.sol/ENS"; + +const _abi = [ + { + inputs: [ + { + internalType: "bytes32", + name: "node", + type: "bytes32", + }, + ], + name: "resolver", + outputs: [ + { + internalType: "contract Resolver", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +export class ENS__factory { + static readonly abi = _abi; + static createInterface(): ENSInterface { + return new Interface(_abi) as ENSInterface; + } + static connect(address: string, runner?: ContractRunner | null): ENS { + return new Contract(address, _abi, runner) as unknown as ENS; + } +} diff --git a/typechain-types/factories/contracts/Governance/TORN/ENS.sol/EnsResolve__factory.ts b/typechain-types/factories/contracts/Governance/TORN/ENS.sol/EnsResolve__factory.ts new file mode 100644 index 0000000..1fd0ae7 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/TORN/ENS.sol/EnsResolve__factory.ts @@ -0,0 +1,102 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../../common"; +import type { + EnsResolve, + EnsResolveInterface, +} from "../../../../../contracts/Governance/TORN/ENS.sol/EnsResolve"; + +const _abi = [ + { + inputs: [ + { + internalType: "bytes32[]", + name: "domains", + type: "bytes32[]", + }, + ], + name: "bulkResolve", + outputs: [ + { + internalType: "address[]", + name: "result", + type: "address[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "node", + type: "bytes32", + }, + ], + name: "resolve", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +const _bytecode = + "0x608060405234801561001057600080fd5b5061036d806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80635c23bdf51461003b578063f9e5423414610074575b600080fd5b6100586004803603602081101561005157600080fd5b5035610167565b604080516001600160a01b039092168252519081900360200190f35b6101176004803603602081101561008a57600080fd5b8101906020810181356401000000008111156100a557600080fd5b8201836020820111156100b757600080fd5b803590602001918460208302840111640100000000831117156100d957600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610292945050505050565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561015357818101518382015260200161013b565b505050509050019250505060405180910390f35b600080610172610333565b60011461019357738595bfb0d940dfedc98943fa8a907091203f25ee6101a4565b6e0c2e074ec69a0dfb2997ba6c7d2e1e5b9050806001600160a01b0316630178b8bf846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156101ea57600080fd5b505afa1580156101fe573d6000803e3d6000fd5b505050506040513d602081101561021457600080fd5b505160408051631d9dabef60e11b81526004810186905290516001600160a01b0390921691633b3b57de91602480820192602092909190829003018186803b15801561025f57600080fd5b505afa158015610273573d6000803e3d6000fd5b505050506040513d602081101561028957600080fd5b50519392505050565b6060815167ffffffffffffffff811180156102ac57600080fd5b506040519080825280602002602001820160405280156102d6578160200160208202803683370190505b50905060005b825181101561032d576103018382815181106102f457fe5b6020026020010151610167565b82828151811061030d57fe5b6001600160a01b03909216602092830291909101909101526001016102dc565b50919050565b469056fea26469706673582212201849a5e31df8347ec61f3d54e8cef603101becea24443df7d4e43cc42ff12a7564736f6c634300060c0033"; + +type EnsResolveConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: EnsResolveConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class EnsResolve__factory extends ContractFactory { + constructor(...args: EnsResolveConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(overrides || {}); + } + override deploy(overrides?: NonPayableOverrides & { from?: string }) { + return super.deploy(overrides || {}) as Promise< + EnsResolve & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): EnsResolve__factory { + return super.connect(runner) as EnsResolve__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): EnsResolveInterface { + return new Interface(_abi) as EnsResolveInterface; + } + static connect(address: string, runner?: ContractRunner | null): EnsResolve { + return new Contract(address, _abi, runner) as unknown as EnsResolve; + } +} diff --git a/typechain-types/factories/contracts/Governance/TORN/ENS.sol/Resolver__factory.ts b/typechain-types/factories/contracts/Governance/TORN/ENS.sol/Resolver__factory.ts new file mode 100644 index 0000000..8a71ceb --- /dev/null +++ b/typechain-types/factories/contracts/Governance/TORN/ENS.sol/Resolver__factory.ts @@ -0,0 +1,41 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + Resolver, + ResolverInterface, +} from "../../../../../contracts/Governance/TORN/ENS.sol/Resolver"; + +const _abi = [ + { + inputs: [ + { + internalType: "bytes32", + name: "node", + type: "bytes32", + }, + ], + name: "addr", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +export class Resolver__factory { + static readonly abi = _abi; + static createInterface(): ResolverInterface { + return new Interface(_abi) as ResolverInterface; + } + static connect(address: string, runner?: ContractRunner | null): Resolver { + return new Contract(address, _abi, runner) as unknown as Resolver; + } +} diff --git a/typechain-types/factories/contracts/Governance/TORN/ENS.sol/index.ts b/typechain-types/factories/contracts/Governance/TORN/ENS.sol/index.ts new file mode 100644 index 0000000..f45636d --- /dev/null +++ b/typechain-types/factories/contracts/Governance/TORN/ENS.sol/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { ENS__factory } from "./ENS__factory"; +export { EnsResolve__factory } from "./EnsResolve__factory"; +export { Resolver__factory } from "./Resolver__factory"; diff --git a/typechain-types/factories/contracts/Governance/TORN/ERC20Permit__factory.ts b/typechain-types/factories/contracts/Governance/TORN/ERC20Permit__factory.ts new file mode 100644 index 0000000..a05d43c --- /dev/null +++ b/typechain-types/factories/contracts/Governance/TORN/ERC20Permit__factory.ts @@ -0,0 +1,380 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + ERC20Permit, + ERC20PermitInterface, +} from "../../../../contracts/Governance/TORN/ERC20Permit"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Approval", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Transfer", + type: "event", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "blockTimestamp", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "chainID", + outputs: [ + { + internalType: "uint256", + name: "_chainID", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "subtractedValue", + type: "uint256", + }, + ], + name: "decreaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256", + }, + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "nonces", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "permit", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class ERC20Permit__factory { + static readonly abi = _abi; + static createInterface(): ERC20PermitInterface { + return new Interface(_abi) as ERC20PermitInterface; + } + static connect(address: string, runner?: ContractRunner | null): ERC20Permit { + return new Contract(address, _abi, runner) as unknown as ERC20Permit; + } +} diff --git a/typechain-types/factories/contracts/Governance/TORN/TORN__factory.ts b/typechain-types/factories/contracts/Governance/TORN/TORN__factory.ts new file mode 100644 index 0000000..fbf538c --- /dev/null +++ b/typechain-types/factories/contracts/Governance/TORN/TORN__factory.ts @@ -0,0 +1,682 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { + Signer, + BigNumberish, + AddressLike, + ContractDeployTransaction, + ContractRunner, +} from "ethers"; +import type { NonPayableOverrides } from "../../../../common"; +import type { + TORN, + TORNInterface, +} from "../../../../contracts/Governance/TORN/TORN"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "_governance", + type: "address", + }, + { + internalType: "uint256", + name: "_pausePeriod", + type: "uint256", + }, + { + components: [ + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + internalType: "struct TORN.Recipient[]", + name: "_vestings", + type: "tuple[]", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "target", + type: "address", + }, + ], + name: "Allowed", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Approval", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "target", + type: "address", + }, + ], + name: "Disallowed", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "Paused", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Transfer", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "Unpaused", + type: "event", + }, + { + inputs: [ + { + internalType: "address[]", + name: "target", + type: "address[]", + }, + ], + name: "addToAllowedList", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "allowedTransferee", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "blockTimestamp", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "burn", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "burnFrom", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "canUnpauseAfter", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "chainID", + outputs: [ + { + internalType: "uint256", + name: "_chainID", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bool", + name: "decision", + type: "bool", + }, + ], + name: "changeTransferability", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "subtractedValue", + type: "uint256", + }, + ], + name: "decreaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "governance", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256", + }, + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "nonces", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "paused", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "permit", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address[]", + name: "target", + type: "address[]", + }, + ], + name: "removeFromAllowedList", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "contract IERC20", + name: "_token", + type: "address", + }, + { + internalType: "address payable", + name: "_to", + type: "address", + }, + { + internalType: "uint256", + name: "_balance", + type: "uint256", + }, + ], + name: "rescueTokens", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +const _bytecode = + "0x60c06040523480156200001157600080fd5b506040516200288338038062002883833981016040819052620000349162000699565b604080518082018252600b81526a0a8dee4dcc2c8de86c2e6d60ab1b6020808301918252835180850190945260048452632a27a92760e11b9084015281519192916200008391600391620005a7565b50805162000099906004906020840190620005a7565b50506005805460ff1916601217905550620000b3620001f0565b506008805460ff199081169091556001600160601b0319606085901b1660a0526001600160a01b0384166000908152600960205260408120805490921660011790915583905b8251811015620001765760008382815181106200011257fe5b60200260200101516000015190506200014a818584815181106200013257fe5b602002602001015160200151620002ac60201b60201c565b6001600160a01b03166000908152600960205260409020805460ff1916600190811790915501620000f9565b506200019a83620001866200038f565b6200039360201b62000cbd1790919060201c565b608052620001a7620003c4565b620001b16200043b565b6a084595161401484a00000014620001e65760405162461bcd60e51b8152600401620001dd906200086b565b60405180910390fd5b5050505062000909565b600080620001fd62000441565b905060007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6200022c62000445565b805160209182012060408051808201825260018152603160f81b90840152516200027e93927fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc691879130910162000781565b60408051601f1981840301815291815281516020928301206000948552600790925290922082905550905090565b6001600160a01b038216620002d55760405162461bcd60e51b8152600401620001dd90620008a2565b620002e360008383620004df565b620002ff816002546200039360201b62000cbd1790919060201c565b6002556001600160a01b038216600090815260208181526040909120546200033291839062000cbd62000393821b17901c565b6001600160a01b0383166000818152602081905260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9062000383908590620008d9565b60405180910390a35050565b4290565b600082820183811015620003bb5760405162461bcd60e51b8152600401620001dd90620007ad565b90505b92915050565b60085460ff1615620003ea5760405162461bcd60e51b8152600401620001dd9062000841565b6008805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258620004226200059a565b6040516200043191906200076d565b60405180910390a1565b60025490565b4690565b60038054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015620004d55780601f10620004a957610100808354040283529160200191620004d5565b820191906000526020600020905b815481529060010190602001808311620004b757829003601f168201915b5050505050905090565b620004f78383836200059560201b620006aa1760201c565b620005016200059e565b15806200052657506001600160a01b03831660009081526009602052604090205460ff165b806200054a57506001600160a01b03821660009081526009602052604090205460ff165b620005695760405162461bcd60e51b8152600401620001dd906200081b565b6001600160a01b038216301415620005955760405162461bcd60e51b8152600401620001dd90620007e4565b505050565b3390565b60085460ff1690565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620005ea57805160ff19168380011785556200061a565b828001600101855582156200061a579182015b828111156200061a578251825591602001919060010190620005fd565b50620006289291506200062c565b5090565b5b808211156200062857600081556001016200062d565b80516001600160a01b0381168114620003be57600080fd5b6000604082840312156200066d578081fd5b620006796040620008e2565b905062000687838362000643565b81526020820151602082015292915050565b600080600060608486031215620006ae578283fd5b620006ba858562000643565b9250602080850151925060408086015160018060401b0380821115620006de578485fd5b818801915088601f830112620006f2578485fd5b81518181111562000701578586fd5b620007108586830201620008e2565b8181528581019250838601858302850187018c10156200072e578788fd5b8794505b828510156200075c57620007478c826200065b565b84526001949094019392860192850162000732565b508096505050505050509250925092565b6001600160a01b0391909116815260200190565b9485526020850193909352604084019190915260608301526001600160a01b0316608082015260a00190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526017908201527f544f524e3a20696e76616c696420726563697069656e74000000000000000000604082015260600190565b6020808252600c908201526b1513d4938e881c185d5cd95960a21b604082015260600190565b60208082526010908201526f14185d5cd8589b194e881c185d5cd95960821b604082015260600190565b6020808252601c908201527f544f524e3a20696e636f727265637420646973747269627574696f6e00000000604082015260600190565b6020808252601f908201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b90815260200190565b6040518181016001600160401b03811182821017156200090157600080fd5b604052919050565b60805160a05160601c611f3a62000949600039806104d752806105ff52806106cc528061078552806109715250806107245280610c705250611f3a6000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c806379cc6790116100de578063a9059cbb11610097578063cea9d26f11610071578063cea9d26f146102fb578063d505accf1461030e578063dc0f0d1214610321578063dd62ed3e1461032957610173565b8063a9059cbb146102d8578063adb61832146102eb578063adc879e9146102f357610173565b806379cc6790146102715780637ecebe001461028457806381893c7c14610297578063885ad0cf146102aa57806395d89b41146102bd578063a457c2d7146102c557610173565b80633c8d76d1116101305780633c8d76d11461020657806342966c681461021b5780635aa6e6751461022e5780635c975abb146102435780635d4545a01461024b57806370a082311461025e57610173565b806306fdde0314610178578063095ea7b31461019657806318160ddd146101b657806323b872dd146101cb578063313ce567146101de57806339509351146101f3575b600080fd5b61018061033c565b60405161018d9190611875565b60405180910390f35b6101a96101a436600461163a565b6103d3565b60405161018d91906117ec565b6101be6103f1565b60405161018d9190611d9a565b6101a96101d9366004611585565b6103f7565b6101e661047e565b60405161018d9190611da3565b6101a961020136600461163a565b610487565b610219610214366004611665565b6104d5565b005b61021961022936600461174e565b6105e9565b6102366105fd565b60405161018d91906117bf565b6101a9610621565b6101a9610259366004611531565b61062a565b6101be61026c366004611531565b61063f565b61021961027f36600461163a565b61065a565b6101be610292366004611531565b6106af565b6102196102a5366004611702565b6106ca565b6102196102b8366004611665565b610783565b61018061088a565b6101a96102d336600461163a565b6108eb565b6101a96102e636600461163a565b610953565b6101be610967565b6101be61096b565b61021961030936600461173a565b61096f565b61021961031c3660046115c5565b610b2d565b6101be610c6e565b6101be61033736600461154d565b610c92565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103c85780601f1061039d576101008083540402835291602001916103c8565b820191906000526020600020905b8154815290600101906020018083116103ab57829003601f168201915b505050505090505b90565b60006103e76103e0610ce9565b8484610ced565b5060015b92915050565b60025490565b6000610404848484610da1565b61047484610410610ce9565b61046f85604051806060016040528060288152602001611e94602891396001600160a01b038a1660009081526001602052604081209061044e610ce9565b6001600160a01b031681526020810191909152604001600020549190610eb6565b610ced565b5060019392505050565b60055460ff1690565b60006103e7610494610ce9565b8461046f85600160006104a5610ce9565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610cbd565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610507610ce9565b6001600160a01b0316146105365760405162461bcd60e51b815260040161052d90611d16565b60405180910390fd5b60005b81518110156105e55760006009600084848151811061055457fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055507f9ef90a89b00db1a1891a357dc96b2a273add9d883e378c350d22bad87a9d7d308282815181106105c057fe5b60200260200101516040516105d591906117bf565b60405180910390a1600101610539565b5050565b6105fa6105f4610ce9565b82610ee2565b50565b7f000000000000000000000000000000000000000000000000000000000000000081565b60085460ff1690565b60096020526000908152604090205460ff1681565b6001600160a01b031660009081526020819052604090205490565b600061068c82604051806060016040528060248152602001611ebc6024913961068586610337610ce9565b9190610eb6565b90506106a08361069a610ce9565b83610ced565b6106aa8383610ee2565b505050565b6001600160a01b031660009081526006602052604090205490565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166106fc610ce9565b6001600160a01b0316146107225760405162461bcd60e51b815260040161052d90611d16565b7f000000000000000000000000000000000000000000000000000000000000000061074b610967565b116107685760405162461bcd60e51b815260040161052d90611b0b565b801561077b57610776610fc4565b6105fa565b6105fa611030565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166107b5610ce9565b6001600160a01b0316146107db5760405162461bcd60e51b815260040161052d90611d16565b60005b81518110156105e5576001600960008484815181106107f957fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055507f77a7dbc6ad97703ad411a8d5edfcd1df382fb34b076a90898b11884f7ebdcc0582828151811061086557fe5b602002602001015160405161087a91906117bf565b60405180910390a16001016107de565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103c85780601f1061039d576101008083540402835291602001916103c8565b60006103e76108f8610ce9565b8461046f85604051806060016040528060258152602001611ee06025913960016000610922610ce9565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190610eb6565b60006103e7610960610ce9565b8484610da1565b4290565b4690565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166109a1610ce9565b6001600160a01b0316146109c75760405162461bcd60e51b815260040161052d90611d16565b6001600160a01b0382166109ed5760405162461bcd60e51b815260040161052d90611c8a565b6001600160a01b038316610a56574760008215610a1357610a0e8284611089565b610a15565b815b6040519091506001600160a01b0385169082156108fc029083906000818181858888f19350505050158015610a4e573d6000803e3d6000fd5b5050506106aa565b6040516370a0823160e01b81526000906001600160a01b038516906370a0823190610a859030906004016117bf565b60206040518083038186803b158015610a9d57600080fd5b505afa158015610ab1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad59190611766565b905060008215610aee57610ae98284611089565b610af0565b815b905060008111610b125760405162461bcd60e51b815260040161052d90611d63565b610b266001600160a01b038616858361109f565b5050505050565b83610b36610967565b1115610b545760405162461bcd60e51b815260040161052d90611a00565b6001600160a01b0387166000908152600660209081526040808320549051610ba7927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9928c928c928c92918c91016117f7565b6040516020818303038152906040528051906020012090506000611901610bcc6110f5565b83604051602001610bdf9392919061179a565b6040516020818303038152906040528051906020012090506000610c0582878787611134565b9050896001600160a01b0316816001600160a01b031614610c385760405162461bcd60e51b815260040161052d90611b52565b6001600160a01b038a16600090815260066020526040902080546001019055610c628a8a8a610ced565b50505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b600082820183811015610ce25760405162461bcd60e51b815260040161052d90611992565b9392505050565b3390565b6001600160a01b038316610d135760405162461bcd60e51b815260040161052d90611c0f565b6001600160a01b038216610d395760405162461bcd60e51b815260040161052d90611950565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610d94908590611d9a565b60405180910390a3505050565b6001600160a01b038316610dc75760405162461bcd60e51b815260040161052d90611bca565b6001600160a01b038216610ded5760405162461bcd60e51b815260040161052d906118df565b610df883838361122c565b610e3581604051806060016040528060268152602001611e6e602691396001600160a01b0386166000908152602081905260409020549190610eb6565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610e649082610cbd565b6001600160a01b0380841660008181526020819052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d94908590611d9a565b60008184841115610eda5760405162461bcd60e51b815260040161052d9190611875565b505050900390565b6001600160a01b038216610f085760405162461bcd60e51b815260040161052d90611b89565b610f148260008361122c565b610f5181604051806060016040528060228152602001611e4c602291396001600160a01b0385166000908152602081905260409020549190610eb6565b6001600160a01b038316600090815260208190526040902055600254610f7790826112cb565b6002556040516000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610fb8908590611d9a565b60405180910390a35050565b60085460ff16610fe65760405162461bcd60e51b815260040161052d90611922565b6008805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa611019610ce9565b60405161102691906117bf565b60405180910390a1565b60085460ff16156110535760405162461bcd60e51b815260040161052d90611a9f565b6008805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611019610ce9565b60008183106110985781610ce2565b5090919050565b6106aa8363a9059cbb60e01b84846040516024016110be9291906117d3565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261130d565b6000806007600061110461096b565b8152602081019190915260400160002054905080156111245790506103d0565b61112c61139c565b9150506103d0565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08211156111765760405162461bcd60e51b815260040161052d90611a5d565b8360ff16601b148061118b57508360ff16601c145b6111a75760405162461bcd60e51b815260040161052d90611ac9565b6000600186868686604051600081526020016040526040516111cc9493929190611857565b6020604051602081039080840390855afa1580156111ee573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166112215760405162461bcd60e51b815260040161052d906118a8565b90505b949350505050565b6112378383836106aa565b61123f610621565b158061126357506001600160a01b03831660009081526009602052604090205460ff165b8061128657506001600160a01b03821660009081526009602052604090205460ff165b6112a25760405162461bcd60e51b815260040161052d90611a37565b6001600160a01b0382163014156106aa5760405162461bcd60e51b815260040161052d906119c9565b6000610ce283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610eb6565b6060611362826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166114529092919063ffffffff16565b8051909150156106aa5780806020019051810190611380919061171e565b6106aa5760405162461bcd60e51b815260040161052d90611ccc565b6000806113a761096b565b905060007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6113d461033c565b805160209182012060408051808201825260018152603160f81b908401525161142493927fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc691879130910161182b565b60408051601f1981840301815291815281516020928301206000948552600790925290922082905550905090565b60606112248484600085606061146785611520565b6114835760405162461bcd60e51b815260040161052d90611c53565b60006060866001600160a01b031685876040516114a0919061177e565b60006040518083038185875af1925050503d80600081146114dd576040519150601f19603f3d011682016040523d82523d6000602084013e6114e2565b606091505b509150915081156114f65791506112249050565b8051156115065780518082602001fd5b8360405162461bcd60e51b815260040161052d9190611875565b3b151590565b80356103eb81611e28565b600060208284031215611542578081fd5b8135610ce281611e28565b6000806040838503121561155f578081fd5b823561156a81611e28565b9150602083013561157a81611e28565b809150509250929050565b600080600060608486031215611599578081fd5b83356115a481611e28565b925060208401356115b481611e28565b929592945050506040919091013590565b600080600080600080600060e0888a0312156115df578283fd5b87356115ea81611e28565b965060208801356115fa81611e28565b95506040880135945060608801359350608088013560ff8116811461161d578384fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561164c578182fd5b823561165781611e28565b946020939093013593505050565b60006020808385031215611677578182fd5b823567ffffffffffffffff81111561168d578283fd5b8301601f8101851361169d578283fd5b80356116b06116ab82611dd8565b611db1565b81815283810190838501858402850186018910156116cc578687fd5b8694505b838510156116f6576116e28982611526565b8352600194909401939185019185016116d0565b50979650505050505050565b600060208284031215611713578081fd5b8135610ce281611e3d565b60006020828403121561172f578081fd5b8151610ce281611e3d565b600080600060608486031215611599578283fd5b60006020828403121561175f578081fd5b5035919050565b600060208284031215611777578081fd5b5051919050565b60008251611790818460208701611df8565b9190910192915050565b60f09390931b6001600160f01b03191683526002830191909152602282015260420190565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b9586526001600160a01b0394851660208701529290931660408501526060840152608083019190915260a082015260c00190565b9485526020850193909352604084019190915260608301526001600160a01b0316608082015260a00190565b93845260ff9290921660208401526040830152606082015260800190565b6000602082528251806020840152611894816040850160208701611df8565b601f01601f19169190910160400192915050565b60208082526018908201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604082015260600190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526014908201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604082015260600190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526017908201527f544f524e3a20696e76616c696420726563697069656e74000000000000000000604082015260600190565b6020808252601d908201527f45524332305065726d69743a206578706972656420646561646c696e65000000604082015260600190565b6020808252600c908201526b1513d4938e881c185d5cd95960a21b604082015260600190565b60208082526022908201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604082015261756560f01b606082015260800190565b60208082526010908201526f14185d5cd8589b194e881c185d5cd95960821b604082015260600190565b60208082526022908201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604082015261756560f01b606082015260800190565b60208082526027908201527f544f524e3a2063616e6e6f74206368616e6765207472616e736665726162696c6040820152661a5d1e481e595d60ca1b606082015260800190565b6020808252601e908201527f45524332305065726d69743a20696e76616c6964207369676e61747572650000604082015260600190565b60208082526021908201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736040820152607360f81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b60208082526022908201527f544f524e3a2063616e206e6f742073656e6420746f207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b6020808252602d908201527f544f524e3a206f6e6c7920676f7665726e616e63652063616e20706572666f7260408201526c36903a3434b99030b1ba34b7b760991b606082015260800190565b6020808252601e908201527f544f524e3a20747279696e6720746f2073656e6420302062616c616e63650000604082015260600190565b90815260200190565b60ff91909116815260200190565b60405181810167ffffffffffffffff81118282101715611dd057600080fd5b604052919050565b600067ffffffffffffffff821115611dee578081fd5b5060209081020190565b60005b83811015611e13578181015183820152602001611dfb565b83811115611e22576000848401525b50505050565b6001600160a01b03811681146105fa57600080fd5b80151581146105fa57600080fdfe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220fd515804eca384cb14c99861e60dc5364ae65ba9ddfdfe00d195788ee631d01064736f6c634300060c0033"; + +type TORNConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: TORNConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class TORN__factory extends ContractFactory { + constructor(...args: TORNConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + _governance: AddressLike, + _pausePeriod: BigNumberish, + _vestings: TORN.RecipientStruct[], + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction( + _governance, + _pausePeriod, + _vestings, + overrides || {} + ); + } + override deploy( + _governance: AddressLike, + _pausePeriod: BigNumberish, + _vestings: TORN.RecipientStruct[], + overrides?: NonPayableOverrides & { from?: string } + ) { + return super.deploy( + _governance, + _pausePeriod, + _vestings, + overrides || {} + ) as Promise< + TORN & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): TORN__factory { + return super.connect(runner) as TORN__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): TORNInterface { + return new Interface(_abi) as TORNInterface; + } + static connect(address: string, runner?: ContractRunner | null): TORN { + return new Contract(address, _abi, runner) as unknown as TORN; + } +} diff --git a/typechain-types/factories/contracts/Governance/TORN/Vesting__factory.ts b/typechain-types/factories/contracts/Governance/TORN/Vesting__factory.ts new file mode 100644 index 0000000..222982e --- /dev/null +++ b/typechain-types/factories/contracts/Governance/TORN/Vesting__factory.ts @@ -0,0 +1,264 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { + Signer, + BigNumberish, + AddressLike, + ContractDeployTransaction, + ContractRunner, +} from "ethers"; +import type { NonPayableOverrides } from "../../../../common"; +import type { + Vesting, + VestingInterface, +} from "../../../../contracts/Governance/TORN/Vesting"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "_token", + type: "address", + }, + { + internalType: "address", + name: "_beneficiary", + type: "address", + }, + { + internalType: "uint256", + name: "_startTimestamp", + type: "uint256", + }, + { + internalType: "uint256", + name: "_cliffInMonths", + type: "uint256", + }, + { + internalType: "uint256", + name: "_durationInMonths", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "Released", + type: "event", + }, + { + inputs: [], + name: "SECONDS_PER_MONTH", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "beneficiary", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "blockTimestamp", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "cliffInMonths", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "durationInMonths", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "release", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "released", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "startTimestamp", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "token", + outputs: [ + { + internalType: "contract IERC20", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "vestedAmount", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +const _bytecode = + "0x61012060405234801561001157600080fd5b50604051610c8c380380610c8c833981810160405260a081101561003457600080fd5b508051602082015160408301516060840151608090940151929391929091906001600160a01b0384166100ae576040805162461bcd60e51b815260206004820152601b60248201527f42656e65666963696172792063616e6e6f7420626520656d7074790000000000604482015290519081900360640190fd5b80821115610103576040805162461bcd60e51b815260206004820152601e60248201527f436c6966662069732067726561746572207468616e206475726174696f6e0000604482015290519081900360640190fd5b6001600160601b0319606086811b821660a05285901b1660805261010081905260c08290528215610134578261013c565b61013c61014a565b60e0525061014e9350505050565b4290565b60805160601c60a05160601c60c05160e05161010051610acc6101c060003980610203528061037b52806103dd525080610152528061018e52806105215250806101d052806104f352508061024852806102c85280610474528061054552508061012c52806104965250610acc6000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063928d89ae11610066578063928d89ae146100fb5780639613252114610103578063adb618321461010b578063e6fd48bc14610113578063fc0c546a1461011b5761009e565b806310786deb146100a357806338af3eed146100bd57806344b1231f146100e157806367097a4b146100e957806386d1a69f146100f1575b600080fd5b6100ab610123565b60408051918252519081900360200190f35b6100c561012a565b604080516001600160a01b039092168252519081900360200190f35b6100ab61014e565b6100ab6103db565b6100f96103ff565b005b6100ab6104f1565b6100ab610515565b6100ab61051b565b6100ab61051f565b6100c5610543565b62278d0081565b7f000000000000000000000000000000000000000000000000000000000000000081565b60007f000000000000000000000000000000000000000000000000000000000000000061017961051b565b1015610187575060006103d8565b60006101bb7f00000000000000000000000000000000000000000000000000000000000000006101b561051b565b90610567565b905060006101cc8262278d006105b2565b90507f0000000000000000000000000000000000000000000000000000000000000000811015610201576000925050506103d8565b7f000000000000000000000000000000000000000000000000000000000000000081106102c457604080516370a0823160e01b815230600482015290516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916370a08231916024808301926020929190829003018186803b15801561028e57600080fd5b505afa1580156102a2573d6000803e3d6000fd5b505050506040513d60208110156102b857600080fd5b505192506103d8915050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561033357600080fd5b505afa158015610347573d6000803e3d6000fd5b505050506040513d602081101561035d57600080fd5b505160008054919250906103729083906105f4565b905060006103aa7f00000000000000000000000000000000000000000000000000000000000000006103a4848761064e565b906105b2565b905060006103c36000548361056790919063ffffffff16565b90506103cf84826106a7565b96505050505050505b90565b7f000000000000000000000000000000000000000000000000000000000000000081565b600061040961014e565b905060008111610457576040805162461bcd60e51b81526020600482015260146024820152734e6f20746f6b656e7320746f2072656c6561736560601b604482015290519081900360640190fd5b60005461046490826105f4565b6000556104bb6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f0000000000000000000000000000000000000000000000000000000000000000836106bd565b6040805182815290517ffb81f9b30d73d830c3544b34d827c08142579ee75710b490bab0b3995468c5659181900360200190a150565b7f000000000000000000000000000000000000000000000000000000000000000081565b60005481565b4290565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b60006105a983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610714565b90505b92915050565b60006105a983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506107ab565b6000828201838110156105a9576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60008261065d575060006105ac565b8282028284828161066a57fe5b04146105a95760405162461bcd60e51b8152600401808060200182810382526021815260200180610a4c6021913960400191505060405180910390fd5b60008183106106b657816105a9565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261070f908490610810565b505050565b600081848411156107a35760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610768578181015183820152602001610750565b50505050905090810190601f1680156107955780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836107fa5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610768578181015183820152602001610750565b50600083858161080657fe5b0495945050505050565b6060610865826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166108c19092919063ffffffff16565b80519091501561070f5780806020019051602081101561088457600080fd5b505161070f5760405162461bcd60e51b815260040180806020018281038252602a815260200180610a6d602a913960400191505060405180910390fd5b60606108d084846000856108d8565b949350505050565b60606108e385610a45565b610934576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106109735780518252601f199092019160209182019101610954565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146109d5576040519150601f19603f3d011682016040523d82523d6000602084013e6109da565b606091505b509150915081156109ee5791506108d09050565b8051156109fe5780518082602001fd5b60405162461bcd60e51b8152602060048201818152865160248401528651879391928392604401919085019080838360008315610768578181015183820152602001610750565b3b15159056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a26469706673582212203b3e8370e345374172efb9e3693b20807c318ecfcc569df94f28df8a94f2727a64736f6c634300060c0033"; + +type VestingConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: VestingConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class Vesting__factory extends ContractFactory { + constructor(...args: VestingConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + _token: AddressLike, + _beneficiary: AddressLike, + _startTimestamp: BigNumberish, + _cliffInMonths: BigNumberish, + _durationInMonths: BigNumberish, + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction( + _token, + _beneficiary, + _startTimestamp, + _cliffInMonths, + _durationInMonths, + overrides || {} + ); + } + override deploy( + _token: AddressLike, + _beneficiary: AddressLike, + _startTimestamp: BigNumberish, + _cliffInMonths: BigNumberish, + _durationInMonths: BigNumberish, + overrides?: NonPayableOverrides & { from?: string } + ) { + return super.deploy( + _token, + _beneficiary, + _startTimestamp, + _cliffInMonths, + _durationInMonths, + overrides || {} + ) as Promise< + Vesting & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): Vesting__factory { + return super.connect(runner) as Vesting__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): VestingInterface { + return new Interface(_abi) as VestingInterface; + } + static connect(address: string, runner?: ContractRunner | null): Vesting { + return new Contract(address, _abi, runner) as unknown as Vesting; + } +} diff --git a/typechain-types/factories/contracts/Governance/TORN/Voucher__factory.ts b/typechain-types/factories/contracts/Governance/TORN/Voucher__factory.ts new file mode 100644 index 0000000..1d68f90 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/TORN/Voucher__factory.ts @@ -0,0 +1,523 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { + Signer, + BytesLike, + BigNumberish, + ContractDeployTransaction, + ContractRunner, +} from "ethers"; +import type { NonPayableOverrides } from "../../../../common"; +import type { + Voucher, + VoucherInterface, +} from "../../../../contracts/Governance/TORN/Voucher"; + +const _abi = [ + { + inputs: [ + { + internalType: "bytes32", + name: "_torn", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "_governance", + type: "bytes32", + }, + { + internalType: "uint256", + name: "_duration", + type: "uint256", + }, + { + components: [ + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + internalType: "struct Voucher.Recipient[]", + name: "_airdrops", + type: "tuple[]", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Approval", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Transfer", + type: "event", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "allowedTransferee", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "blockTimestamp", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32[]", + name: "domains", + type: "bytes32[]", + }, + ], + name: "bulkResolve", + outputs: [ + { + internalType: "address[]", + name: "result", + type: "address[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "subtractedValue", + type: "uint256", + }, + ], + name: "decreaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "expiresAt", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "governance", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256", + }, + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "redeem", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "rescueExpiredTokens", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "node", + type: "bytes32", + }, + ], + name: "resolve", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "torn", + outputs: [ + { + internalType: "contract IERC20", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +const _bytecode = + "0x60e06040523480156200001157600080fd5b5060405162001d8d38038062001d8d833981016040819052620000349162000593565b60405180606001604052806026815260200162001d6760269139604051806040016040528060058152602001643b2a27a92760d91b81525081600390805190602001906200008492919062000497565b5080516200009a90600490602084019062000497565b50506005805460ff1916601217905550620000b584620001af565b60601b6001600160601b031916608052620000d083620001af565b60601b6001600160601b03191660c0526200010382620000ef620002fd565b6200030160201b6200098d1790919060201c565b60a05260005b8151811015620001a457620001558282815181106200012457fe5b6020026020010151600001518383815181106200013d57fe5b6020026020010151602001516200033260201b60201c565b6001600660008484815181106200016857fe5b602090810291909101810151516001600160a01b03168252810191909152604001600020805460ff191691151591909117905560010162000109565b505050505062000753565b600080620001bc62000415565b600114620001df57738595bfb0d940dfedc98943fa8a907091203f25ee620001f0565b6e0c2e074ec69a0dfb2997ba6c7d2e1e5b604051630178b8bf60e01b81529091506001600160a01b03821690630178b8bf906200022190869060040162000665565b60206040518083038186803b1580156200023a57600080fd5b505afa1580156200024f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000275919062000574565b6001600160a01b0316633b3b57de846040518263ffffffff1660e01b8152600401620002a2919062000665565b60206040518083038186803b158015620002bb57600080fd5b505afa158015620002d0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002f6919062000574565b9392505050565b4290565b600082820183811015620002f65760405162461bcd60e51b815260040162000329906200066e565b60405180910390fd5b6001600160a01b0382166200035b5760405162461bcd60e51b81526004016200032990620006dc565b620003696000838362000419565b62000385816002546200030160201b6200098d1790919060201c565b6002556001600160a01b03821660009081526020818152604090912054620003b89183906200098d62000301821b17901c565b6001600160a01b0383166000818152602081905260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906200040990859062000665565b60405180910390a35050565b4690565b620004318383836200049260201b620009b21760201c565b6001600160a01b03821615806200044f57506001600160a01b038316155b806200047357506001600160a01b03831660009081526006602052604090205460ff165b620004925760405162461bcd60e51b81526004016200032990620006a5565b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620004da57805160ff19168380011785556200050a565b828001600101855582156200050a579182015b828111156200050a578251825591602001919060010190620004ed565b50620005189291506200051c565b5090565b5b808211156200051857600081556001016200051d565b60006040828403121562000545578081fd5b62000551604062000713565b9050815162000560816200073a565b808252506020820151602082015292915050565b60006020828403121562000586578081fd5b8151620002f6816200073a565b60008060008060808587031215620005a9578283fd5b8451935060208086015193506040808701519350606087015160018060401b0380821115620005d6578485fd5b818901915089601f830112620005ea578485fd5b815181811115620005f9578586fd5b62000608858683020162000713565b8181528581019250838601858302850187018d101562000626578788fd5b8794505b8285101562000654576200063f8d8262000533565b8452600194909401939286019285016200062a565b50989b979a50959850505050505050565b90815260200190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252601e908201527f45524332303a207472616e73666572206973206e6f7420616c6c6f7765640000604082015260600190565b6020808252601f908201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b6040518181016001600160401b03811182821017156200073257600080fd5b604052919050565b6001600160a01b03811681146200075057600080fd5b50565b60805160601c60a05160c05160601c6115c3620007a46000398061043152806107d35250806105c352806106ec52806107895250806106c8528061075d52806107f4528061089852506115c36000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c80638622a689116100ad578063adf898a411610071578063adf898a41461024b578063be040fb014610253578063c39ef8551461025d578063dd62ed3e14610265578063f9e54234146102785761012c565b80638622a6891461020d57806395d89b4114610215578063a457c2d71461021d578063a9059cbb14610230578063adb61832146102435761012c565b806339509351116100f457806339509351146101ac5780635aa6e675146101bf5780635c23bdf5146101d45780635d4545a0146101e757806370a08231146101fa5761012c565b806306fdde0314610131578063095ea7b31461014f57806318160ddd1461016f57806323b872dd14610184578063313ce56714610197575b600080fd5b610139610298565b604051610146919061116f565b60405180910390f35b61016261015d366004610fb5565b61032e565b604051610146919061115b565b61017761034b565b6040516101469190611166565b610162610192366004610f75565b610351565b61019f6103d8565b604051610146919061145e565b6101626101ba366004610fb5565b6103e1565b6101c761042f565b60405161014691906110e1565b6101c76101e2366004611095565b610453565b6101626101f5366004610f05565b610591565b610177610208366004610f05565b6105a6565b6101776105c1565b6101396105e5565b61016261022b366004610fb5565b610646565b61016261023e366004610fb5565b6106ae565b6101776106c2565b6101c76106c6565b61025b6106ea565b005b61025b610787565b610177610273366004610f3d565b6108c1565b61028b610286366004610fe0565b6108ec565b604051610146919061110e565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103245780601f106102f957610100808354040283529160200191610324565b820191906000526020600020905b81548152906001019060200180831161030757829003601f168201915b5050505050905090565b600061034261033b6109b7565b84846109bb565b50600192915050565b60025490565b600061035e848484610a6f565b6103ce8461036a6109b7565b6103c985604051806060016040528060288152602001611541602891396001600160a01b038a166000908152600160205260408120906103a86109b7565b6001600160a01b031681526020810191909152604001600020549190610b84565b6109bb565b5060019392505050565b60055460ff1690565b60006103426103ee6109b7565b846103c985600160006103ff6109b7565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549061098d565b7f000000000000000000000000000000000000000000000000000000000000000081565b60008061045e610bb0565b60011461047f57738595bfb0d940dfedc98943fa8a907091203f25ee610490565b6e0c2e074ec69a0dfb2997ba6c7d2e1e5b604051630178b8bf60e01b81529091506001600160a01b03821690630178b8bf906104bf908690600401611166565b60206040518083038186803b1580156104d757600080fd5b505afa1580156104eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061050f9190610f21565b6001600160a01b0316633b3b57de846040518263ffffffff1660e01b815260040161053a9190611166565b60206040518083038186803b15801561055257600080fd5b505afa158015610566573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058a9190610f21565b9392505050565b60066020526000908152604090205460ff1681565b6001600160a01b031660009081526020819052604090205490565b7f000000000000000000000000000000000000000000000000000000000000000081565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103245780601f106102f957610100808354040283529160200191610324565b60006103426106536109b7565b846103c985604051806060016040528060258152602001611569602591396001600061067d6109b7565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190610b84565b60006103426106bb6109b7565b8484610a6f565b4290565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f00000000000000000000000000000000000000000000000000000000000000006107136106c2565b106107395760405162461bcd60e51b81526004016107309061125e565b60405180910390fd5b6000610744336105a6565b90506107503382610bb4565b6107846001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163383610c96565b50565b7f00000000000000000000000000000000000000000000000000000000000000006107b06106c2565b10156107ce5760405162461bcd60e51b815260040161073090611295565b6108bf7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161083e91906110e1565b60206040518083038186803b15801561085657600080fd5b505afa15801561086a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088e91906110ad565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190610c96565b565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6060815167ffffffffffffffff8111801561090657600080fd5b50604051908082528060200260200182016040528015610930578160200160208202803683370190505b50905060005b82518110156109875761095b83828151811061094e57fe5b6020026020010151610453565b82828151811061096757fe5b6001600160a01b0390921660209283029190910190910152600101610936565b50919050565b60008282018381101561058a5760405162461bcd60e51b815260040161073090611227565b505050565b3390565b6001600160a01b0383166109e15760405162461bcd60e51b815260040161073090611399565b6001600160a01b038216610a075760405162461bcd60e51b8152600401610730906111e5565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610a62908590611166565b60405180910390a3505050565b6001600160a01b038316610a955760405162461bcd60e51b815260040161073090611354565b6001600160a01b038216610abb5760405162461bcd60e51b8152600401610730906111a2565b610ac6838383610cec565b610b038160405180606001604052806026815260200161151b602691396001600160a01b0386166000908152602081905260409020549190610b84565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610b32908261098d565b6001600160a01b0380841660008181526020819052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a62908590611166565b60008184841115610ba85760405162461bcd60e51b8152600401610730919061116f565b505050900390565b4690565b6001600160a01b038216610bda5760405162461bcd60e51b815260040161073090611313565b610be682600083610cec565b610c23816040518060600160405280602281526020016114f9602291396001600160a01b0385166000908152602081905260409020549190610b84565b6001600160a01b038316600090815260208190526040902055600254610c499082610d53565b6002556040516000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c8a908590611166565b60405180910390a35050565b6109b28363a9059cbb60e01b8484604051602401610cb59291906110f5565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610d95565b610cf78383836109b2565b6001600160a01b0382161580610d1457506001600160a01b038316155b80610d3757506001600160a01b03831660009081526006602052604090205460ff165b6109b25760405162461bcd60e51b8152600401610730906112dc565b600061058a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610b84565b6060610dea826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610e249092919063ffffffff16565b8051909150156109b25780806020019051810190610e089190611075565b6109b25760405162461bcd60e51b815260040161073090611414565b6060610e338484600085610e3b565b949350505050565b6060610e4685610eff565b610e625760405162461bcd60e51b8152600401610730906113dd565b60006060866001600160a01b03168587604051610e7f91906110c5565b60006040518083038185875af1925050503d8060008114610ebc576040519150601f19603f3d011682016040523d82523d6000602084013e610ec1565b606091505b50915091508115610ed5579150610e339050565b805115610ee55780518082602001fd5b8360405162461bcd60e51b8152600401610730919061116f565b3b151590565b600060208284031215610f16578081fd5b813561058a816114e3565b600060208284031215610f32578081fd5b815161058a816114e3565b60008060408385031215610f4f578081fd5b8235610f5a816114e3565b91506020830135610f6a816114e3565b809150509250929050565b600080600060608486031215610f89578081fd5b8335610f94816114e3565b92506020840135610fa4816114e3565b929592945050506040919091013590565b60008060408385031215610fc7578182fd5b8235610fd2816114e3565b946020939093013593505050565b60006020808385031215610ff2578182fd5b823567ffffffffffffffff811115611008578283fd5b8301601f81018513611018578283fd5b803561102b61102682611493565b61146c565b8181528381019083850185840285018601891015611047578687fd5b8694505b8385101561106957803583526001949094019391850191850161104b565b50979650505050505050565b600060208284031215611086578081fd5b8151801515811461058a578182fd5b6000602082840312156110a6578081fd5b5035919050565b6000602082840312156110be578081fd5b5051919050565b600082516110d78184602087016114b3565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6020808252825182820181905260009190848201906040850190845b8181101561114f5783516001600160a01b03168352928401929184019160010161112a565b50909695505050505050565b901515815260200190565b90815260200190565b600060208252825180602084015261118e8160408501602087016114b3565b601f01601f19169190910160400192915050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252601f908201527f41697264726f702072656465656d20706572696f642068617320656e64656400604082015260600190565b60208082526027908201527f41697264726f702072656465656d20706572696f6420686173206e6f7420656e604082015266191959081e595d60ca1b606082015260800190565b6020808252601e908201527f45524332303a207472616e73666572206973206e6f7420616c6c6f7765640000604082015260600190565b60208082526021908201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736040820152607360f81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b60ff91909116815260200190565b60405181810167ffffffffffffffff8111828210171561148b57600080fd5b604052919050565b600067ffffffffffffffff8211156114a9578081fd5b5060209081020190565b60005b838110156114ce5781810151838201526020016114b6565b838111156114dd576000848401525b50505050565b6001600160a01b038116811461078457600080fdfe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212209b2d6f14167bc062b61418b8fca6b7946d243420e3df874c9632acb30079c69b64736f6c634300060c0033546f726e61646f4361736820766f756368657220666f72206561726c792061646f7074657273"; + +type VoucherConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: VoucherConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class Voucher__factory extends ContractFactory { + constructor(...args: VoucherConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + _torn: BytesLike, + _governance: BytesLike, + _duration: BigNumberish, + _airdrops: Voucher.RecipientStruct[], + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction( + _torn, + _governance, + _duration, + _airdrops, + overrides || {} + ); + } + override deploy( + _torn: BytesLike, + _governance: BytesLike, + _duration: BigNumberish, + _airdrops: Voucher.RecipientStruct[], + overrides?: NonPayableOverrides & { from?: string } + ) { + return super.deploy( + _torn, + _governance, + _duration, + _airdrops, + overrides || {} + ) as Promise< + Voucher & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): Voucher__factory { + return super.connect(runner) as Voucher__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): VoucherInterface { + return new Interface(_abi) as VoucherInterface; + } + static connect(address: string, runner?: ContractRunner | null): Voucher { + return new Contract(address, _abi, runner) as unknown as Voucher; + } +} diff --git a/typechain-types/factories/contracts/Governance/TORN/index.ts b/typechain-types/factories/contracts/Governance/TORN/index.ts new file mode 100644 index 0000000..7936867 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/TORN/index.ts @@ -0,0 +1,10 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as ensSol from "./ENS.sol"; +export * as mocks from "./mocks"; +export { Airdrop__factory } from "./Airdrop__factory"; +export { ERC20Permit__factory } from "./ERC20Permit__factory"; +export { TORN__factory } from "./TORN__factory"; +export { Vesting__factory } from "./Vesting__factory"; +export { Voucher__factory } from "./Voucher__factory"; diff --git a/typechain-types/factories/contracts/Governance/TORN/mocks/AirdropMock__factory.ts b/typechain-types/factories/contracts/Governance/TORN/mocks/AirdropMock__factory.ts new file mode 100644 index 0000000..2163a20 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/TORN/mocks/AirdropMock__factory.ts @@ -0,0 +1,142 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { + Signer, + BytesLike, + ContractDeployTransaction, + ContractRunner, +} from "ethers"; +import type { NonPayableOverrides } from "../../../../../common"; +import type { + AirdropMock, + AirdropMockInterface, + Airdrop, +} from "../../../../../contracts/Governance/TORN/mocks/AirdropMock"; + +const _abi = [ + { + inputs: [ + { + internalType: "bytes32", + name: "tokenAddress", + type: "bytes32", + }, + { + components: [ + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + internalType: "struct Airdrop.Recipient[]", + name: "targets", + type: "tuple[]", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + inputs: [ + { + internalType: "bytes32[]", + name: "domains", + type: "bytes32[]", + }, + ], + name: "bulkResolve", + outputs: [ + { + internalType: "address[]", + name: "result", + type: "address[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "addr", + type: "bytes32", + }, + ], + name: "resolve", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +const _bytecode = + "0x608060405234801561001057600080fd5b5060405161039938038061039983398101604081905261002f91610220565b8181600061003c836101aa565b90506000816001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161006c91906102e4565b60206040518083038186803b15801561008457600080fd5b505afa158015610098573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100bc91906102cc565b116100e25760405162461bcd60e51b81526004016100d990610311565b60405180910390fd5b60005b82518110156101a557816001600160a01b031663a9059cbb84838151811061010957fe5b60200260200101516000015185848151811061012157fe5b6020026020010151602001516040518363ffffffff1660e01b815260040161014a9291906102f8565b602060405180830381600087803b15801561016457600080fd5b505af1158015610178573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061019c91906101f9565b506001016100e5565b506000ff5b60601c90565b6000604082840312156101c1578081fd5b6101cb6040610353565b82519091506001600160a01b03811681146101e557600080fd5b808252506020820151602082015292915050565b60006020828403121561020a578081fd5b81518015158114610219578182fd5b9392505050565b6000806040808486031215610233578182fd5b8351602080860151919450906001600160401b03811115610252578384fd5b8501601f81018713610262578384fd5b805161027561027082610379565b610353565b81815283810190838501868402850186018b1015610291578788fd5b8794505b838510156102bb576102a78b826101b0565b835260019490940193918501918601610295565b508096505050505050509250929050565b6000602082840312156102dd578081fd5b5051919050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b60208082526022908201527f42616c616e636520697320302c2061697264726f7020616c726561647920646f6040820152616e6560f01b606082015260800190565b6040518181016001600160401b038111828210171561037157600080fd5b604052919050565b60006001600160401b0382111561038e578081fd5b506020908102019056fe"; + +type AirdropMockConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: AirdropMockConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class AirdropMock__factory extends ContractFactory { + constructor(...args: AirdropMockConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + tokenAddress: BytesLike, + targets: Airdrop.RecipientStruct[], + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(tokenAddress, targets, overrides || {}); + } + override deploy( + tokenAddress: BytesLike, + targets: Airdrop.RecipientStruct[], + overrides?: NonPayableOverrides & { from?: string } + ) { + return super.deploy(tokenAddress, targets, overrides || {}) as Promise< + AirdropMock & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): AirdropMock__factory { + return super.connect(runner) as AirdropMock__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): AirdropMockInterface { + return new Interface(_abi) as AirdropMockInterface; + } + static connect(address: string, runner?: ContractRunner | null): AirdropMock { + return new Contract(address, _abi, runner) as unknown as AirdropMock; + } +} diff --git a/typechain-types/factories/contracts/Governance/TORN/mocks/ENSMock__factory.ts b/typechain-types/factories/contracts/Governance/TORN/mocks/ENSMock__factory.ts new file mode 100644 index 0000000..49d8ad3 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/TORN/mocks/ENSMock__factory.ts @@ -0,0 +1,158 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../../common"; +import type { + ENSMock, + ENSMockInterface, +} from "../../../../../contracts/Governance/TORN/mocks/ENSMock"; + +const _abi = [ + { + inputs: [ + { + internalType: "bytes32", + name: "_node", + type: "bytes32", + }, + ], + name: "addr", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes[]", + name: "data", + type: "bytes[]", + }, + ], + name: "multicall", + outputs: [ + { + internalType: "bytes[]", + name: "results", + type: "bytes[]", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + name: "registry", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + name: "resolver", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "_node", + type: "bytes32", + }, + { + internalType: "address", + name: "_addr", + type: "address", + }, + ], + name: "setAddr", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +const _bytecode = + "0x608060405234801561001057600080fd5b5061044b806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80630178b8bf1461005c5780633b3b57de146100855780637ef5029814610098578063ac9650d8146100ab578063d5fa2b00146100cb575b600080fd5b61006f61006a3660046102bc565b6100e0565b60405161007c919061031e565b60405180910390f35b61006f6100933660046102bc565b6100e5565b61006f6100a63660046102bc565b610100565b6100be6100b936600461024d565b61011b565b60405161007c9190610332565b6100de6100d93660046102d4565b61021f565b005b503090565b6000908152602081905260409020546001600160a01b031690565b6000602081905290815260409020546001600160a01b031681565b60608167ffffffffffffffff8111801561013457600080fd5b5060405190808252806020026020018201604052801561016857816020015b60608152602001906001900390816101535790505b50905060005b8281101561021857600060603086868581811061018757fe5b905060200281019061019991906103c9565b6040516101a792919061030e565b600060405180830381855af49150503d80600081146101e2576040519150601f19603f3d011682016040523d82523d6000602084013e6101e7565b606091505b5091509150816101f657600080fd5b8084848151811061020357fe5b6020908102919091010152505060010161016e565b5092915050565b60009182526020829052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b6000806020838503121561025f578182fd5b823567ffffffffffffffff80821115610276578384fd5b818501915085601f830112610289578384fd5b813581811115610297578485fd5b86602080830285010111156102aa578485fd5b60209290920196919550909350505050565b6000602082840312156102cd578081fd5b5035919050565b600080604083850312156102e6578182fd5b8235915060208301356001600160a01b0381168114610303578182fd5b809150509250929050565b6000828483379101908152919050565b6001600160a01b0391909116815260200190565b6000602080830181845280855180835260408601915060408482028701019250838701855b828110156103bc57878503603f1901845281518051808752885b8181101561038c578281018901518882018a01528801610371565b8181111561039c578989838a0101525b50601f01601f191695909501860194509285019290850190600101610357565b5092979650505050505050565b6000808335601e198436030181126103df578283fd5b83018035915067ffffffffffffffff8211156103f9578283fd5b60200191503681900382131561040e57600080fd5b925092905056fea26469706673582212202e44de42b72aec6265acc191876b290bc887c846ffca216ac5d28a16fd49092564736f6c634300060c0033"; + +type ENSMockConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: ENSMockConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class ENSMock__factory extends ContractFactory { + constructor(...args: ENSMockConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(overrides || {}); + } + override deploy(overrides?: NonPayableOverrides & { from?: string }) { + return super.deploy(overrides || {}) as Promise< + ENSMock & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): ENSMock__factory { + return super.connect(runner) as ENSMock__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): ENSMockInterface { + return new Interface(_abi) as ENSMockInterface; + } + static connect(address: string, runner?: ContractRunner | null): ENSMock { + return new Contract(address, _abi, runner) as unknown as ENSMock; + } +} diff --git a/typechain-types/factories/contracts/Governance/TORN/mocks/TORNMock__factory.ts b/typechain-types/factories/contracts/Governance/TORN/mocks/TORNMock__factory.ts new file mode 100644 index 0000000..f90ed35 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/TORN/mocks/TORNMock__factory.ts @@ -0,0 +1,735 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { + Signer, + BigNumberish, + AddressLike, + ContractDeployTransaction, + ContractRunner, +} from "ethers"; +import type { NonPayableOverrides } from "../../../../../common"; +import type { + TORNMock, + TORNMockInterface, + TORN, +} from "../../../../../contracts/Governance/TORN/mocks/TORNMock"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "_governance", + type: "address", + }, + { + internalType: "uint256", + name: "_pausePeriod", + type: "uint256", + }, + { + components: [ + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + internalType: "struct TORN.Recipient[]", + name: "_vesting", + type: "tuple[]", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "target", + type: "address", + }, + ], + name: "Allowed", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Approval", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "target", + type: "address", + }, + ], + name: "Disallowed", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "Paused", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Transfer", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "Unpaused", + type: "event", + }, + { + inputs: [ + { + internalType: "address[]", + name: "target", + type: "address[]", + }, + ], + name: "addToAllowedList", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "allowedTransferee", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "blockTimestamp", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "burn", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "burnFrom", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "canUnpauseAfter", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "chainID", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "chainId", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bool", + name: "decision", + type: "bool", + }, + ], + name: "changeTransferability", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "subtractedValue", + type: "uint256", + }, + ], + name: "decreaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "fakeTimestamp", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "governance", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256", + }, + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "nonces", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "paused", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "permit", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address[]", + name: "target", + type: "address[]", + }, + ], + name: "removeFromAllowedList", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "contract IERC20", + name: "_token", + type: "address", + }, + { + internalType: "address payable", + name: "_to", + type: "address", + }, + { + internalType: "uint256", + name: "_balance", + type: "uint256", + }, + ], + name: "rescueTokens", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_chainId", + type: "uint256", + }, + ], + name: "setChainId", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_fakeTimestamp", + type: "uint256", + }, + ], + name: "setFakeTimestamp", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +const _bytecode = + "0x60c06040523480156200001157600080fd5b506040516200298e3803806200298e8339810160408190526200003491620006d6565b604080518082018252600b81526a0a8dee4dcc2c8de86c2e6d60ab1b6020808301918252835180850190945260048452632a27a92760e11b90840152815186938693869390926200008891600391620005e4565b5080516200009e906004906020840190620005e4565b50506005805460ff1916601217905550620000b8620001f8565b506008805460ff199081169091556001600160601b0319606085901b1660a0526001600160a01b0384166000908152600960205260408120805490921660011790915583905b82518110156200017b5760008382815181106200011757fe5b60200260200101516000015190506200014f818584815181106200013757fe5b602002602001015160200151620002b460201b60201c565b6001600160a01b03166000908152600960205260409020805460ff1916600190811790915501620000fe565b506200019f836200018b62000397565b620003b360201b62000d721790919060201c565b608052620001ac620003e4565b620001b66200045b565b6a084595161401484a00000014620001eb5760405162461bcd60e51b8152600401620001e290620008a8565b60405180910390fd5b5050505050505062000946565b6000806200020562000461565b905060007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6200023462000467565b805160209182012060408051808201825260018152603160f81b90840152516200028693927fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6918791309101620007be565b60408051601f1981840301815291815281516020928301206000948552600790925290922082905550905090565b6001600160a01b038216620002dd5760405162461bcd60e51b8152600401620001e290620008df565b620002eb6000838362000501565b6200030781600254620003b360201b62000d721790919060201c565b6002556001600160a01b038216600090815260208181526040909120546200033a91839062000d72620003b3821b17901c565b6001600160a01b0383166000818152602081905260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906200038b90859062000916565b60405180910390a35050565b6000620003ae620005bc60201b62000d9e1760201c565b905090565b600082820183811015620003db5760405162461bcd60e51b8152600401620001e290620007ea565b90505b92915050565b60085460ff16156200040a5760405162461bcd60e51b8152600401620001e2906200087e565b6008805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a25862000442620005d7565b604051620004519190620007aa565b60405180910390a1565b60025490565b600b5490565b60038054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015620004f75780601f10620004cb57610100808354040283529160200191620004f7565b820191906000526020600020905b815481529060010190602001808311620004d957829003601f168201915b5050505050905090565b62000519838383620005b760201b620007421760201c565b62000523620005db565b15806200054857506001600160a01b03831660009081526009602052604090205460ff165b806200056c57506001600160a01b03821660009081526009602052604090205460ff165b6200058b5760405162461bcd60e51b8152600401620001e29062000858565b6001600160a01b038216301415620005b75760405162461bcd60e51b8152600401620001e29062000821565b505050565b6000600a54600014620005d257600a54620003ae565b504290565b3390565b60085460ff1690565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200062757805160ff191683800117855562000657565b8280016001018555821562000657579182015b82811115620006575782518255916020019190600101906200063a565b506200066592915062000669565b5090565b5b808211156200066557600081556001016200066a565b80516001600160a01b0381168114620003de57600080fd5b600060408284031215620006aa578081fd5b620006b660406200091f565b9050620006c4838362000680565b81526020820151602082015292915050565b600080600060608486031215620006eb578283fd5b620006f7858562000680565b9250602080850151925060408086015160018060401b03808211156200071b578485fd5b818801915088601f8301126200072f578485fd5b8151818111156200073e578586fd5b6200074d85868302016200091f565b8181528581019250838601858302850187018c10156200076b578788fd5b8794505b828510156200079957620007848c8262000698565b8452600194909401939286019285016200076f565b508096505050505050509250925092565b6001600160a01b0391909116815260200190565b9485526020850193909352604084019190915260608301526001600160a01b0316608082015260a00190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526017908201527f544f524e3a20696e76616c696420726563697069656e74000000000000000000604082015260600190565b6020808252600c908201526b1513d4938e881c185d5cd95960a21b604082015260600190565b60208082526010908201526f14185d5cd8589b194e881c185d5cd95960821b604082015260600190565b6020808252601c908201527f544f524e3a20696e636f727265637420646973747269627574696f6e00000000604082015260600190565b6020808252601f908201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b90815260200190565b6040518181016001600160401b03811182821017156200093e57600080fd5b604052919050565b60805160a05160601c612008620009866000398061056f52806106975280610764528061081d5280610a215250806107bc5280610d2052506120086000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c80637ecebe0011610104578063adb61832116100a2578063d505accf11610071578063d505accf1461038d578063dc0f0d12146103a0578063dd62ed3e146103a8578063ef0e2ff4146103bb576101cf565b8063adb6183214610357578063adc879e91461035f578063c565882714610367578063cea9d26f1461037a576101cf565b806395d89b41116100de57806395d89b41146103215780639a8a059214610329578063a457c2d714610331578063a9059cbb14610344576101cf565b80637ecebe00146102e857806381893c7c146102fb578063885ad0cf1461030e576101cf565b80633c8d76d1116101715780635c975abb1161014b5780635c975abb146102a75780635d4545a0146102af57806370a08231146102c257806379cc6790146102d5576101cf565b80633c8d76d11461026a57806342966c681461027f5780635aa6e67514610292576101cf565b806318160ddd116101ad57806318160ddd1461022757806323b872dd1461022f578063313ce567146102425780633950935114610257576101cf565b806301ec0fab146101d457806306fdde03146101f2578063095ea7b314610207575b600080fd5b6101dc6103ce565b6040516101e99190611e68565b60405180910390f35b6101fa6103d4565b6040516101e99190611943565b61021a610215366004611708565b61046b565b6040516101e991906118ba565b6101dc610489565b61021a61023d366004611653565b61048f565b61024a610516565b6040516101e99190611e71565b61021a610265366004611708565b61051f565b61027d610278366004611733565b61056d565b005b61027d61028d36600461181c565b610681565b61029a610695565b6040516101e9919061188d565b61021a6106b9565b61021a6102bd3660046115ff565b6106c2565b6101dc6102d03660046115ff565b6106d7565b61027d6102e3366004611708565b6106f2565b6101dc6102f63660046115ff565b610747565b61027d6103093660046117d0565b610762565b61027d61031c366004611733565b61081b565b6101fa610922565b6101dc610983565b61021a61033f366004611708565b610989565b61021a610352366004611708565b6109f1565b6101dc610a05565b6101dc610a14565b61027d61037536600461181c565b610a1a565b61027d610388366004611808565b610a1f565b61027d61039b366004611693565b610bdd565b6101dc610d1e565b6101dc6103b636600461161b565b610d42565b61027d6103c936600461181c565b610d6d565b600a5481565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104605780601f1061043557610100808354040283529160200191610460565b820191906000526020600020905b81548152906001019060200180831161044357829003601f168201915b505050505090505b90565b600061047f610478610db7565b8484610dbb565b5060015b92915050565b60025490565b600061049c848484610e6f565b61050c846104a8610db7565b61050785604051806060016040528060288152602001611f62602891396001600160a01b038a166000908152600160205260408120906104e6610db7565b6001600160a01b031681526020810191909152604001600020549190610f84565b610dbb565b5060019392505050565b60055460ff1690565b600061047f61052c610db7565b84610507856001600061053d610db7565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610d72565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661059f610db7565b6001600160a01b0316146105ce5760405162461bcd60e51b81526004016105c590611de4565b60405180910390fd5b60005b815181101561067d576000600960008484815181106105ec57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055507f9ef90a89b00db1a1891a357dc96b2a273add9d883e378c350d22bad87a9d7d3082828151811061065857fe5b602002602001015160405161066d919061188d565b60405180910390a16001016105d1565b5050565b61069261068c610db7565b82610fb0565b50565b7f000000000000000000000000000000000000000000000000000000000000000081565b60085460ff1690565b60096020526000908152604090205460ff1681565b6001600160a01b031660009081526020819052604090205490565b600061072482604051806060016040528060248152602001611f8a6024913961071d866103b6610db7565b9190610f84565b905061073883610732610db7565b83610dbb565b6107428383610fb0565b505050565b6001600160a01b031660009081526006602052604090205490565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610794610db7565b6001600160a01b0316146107ba5760405162461bcd60e51b81526004016105c590611de4565b7f00000000000000000000000000000000000000000000000000000000000000006107e3610a05565b116108005760405162461bcd60e51b81526004016105c590611bd9565b80156108135761080e611092565b610692565b6106926110fe565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661084d610db7565b6001600160a01b0316146108735760405162461bcd60e51b81526004016105c590611de4565b60005b815181101561067d5760016009600084848151811061089157fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055507f77a7dbc6ad97703ad411a8d5edfcd1df382fb34b076a90898b11884f7ebdcc058282815181106108fd57fe5b6020026020010151604051610912919061188d565b60405180910390a1600101610876565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104605780601f1061043557610100808354040283529160200191610460565b600b5481565b600061047f610996610db7565b8461050785604051806060016040528060258152602001611fae60259139600160006109c0610db7565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190610f84565b600061047f6109fe610db7565b8484610e6f565b6000610a0f610d9e565b905090565b600b5490565b600a55565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610a51610db7565b6001600160a01b031614610a775760405162461bcd60e51b81526004016105c590611de4565b6001600160a01b038216610a9d5760405162461bcd60e51b81526004016105c590611d58565b6001600160a01b038316610b06574760008215610ac357610abe8284611157565b610ac5565b815b6040519091506001600160a01b0385169082156108fc029083906000818181858888f19350505050158015610afe573d6000803e3d6000fd5b505050610742565b6040516370a0823160e01b81526000906001600160a01b038516906370a0823190610b3590309060040161188d565b60206040518083038186803b158015610b4d57600080fd5b505afa158015610b61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b859190611834565b905060008215610b9e57610b998284611157565b610ba0565b815b905060008111610bc25760405162461bcd60e51b81526004016105c590611e31565b610bd66001600160a01b038616858361116d565b5050505050565b83610be6610a05565b1115610c045760405162461bcd60e51b81526004016105c590611ace565b6001600160a01b0387166000908152600660209081526040808320549051610c57927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9928c928c928c92918c91016118c5565b6040516020818303038152906040528051906020012090506000611901610c7c6111c3565b83604051602001610c8f93929190611868565b6040516020818303038152906040528051906020012090506000610cb582878787611202565b9050896001600160a01b0316816001600160a01b031614610ce85760405162461bcd60e51b81526004016105c590611c20565b6001600160a01b038a16600090815260066020526040902080546001019055610d128a8a8a610dbb565b50505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b600b55565b600082820183811015610d975760405162461bcd60e51b81526004016105c590611a60565b9392505050565b6000600a54600014610db257600a54610a0f565b504290565b3390565b6001600160a01b038316610de15760405162461bcd60e51b81526004016105c590611cdd565b6001600160a01b038216610e075760405162461bcd60e51b81526004016105c590611a1e565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610e62908590611e68565b60405180910390a3505050565b6001600160a01b038316610e955760405162461bcd60e51b81526004016105c590611c98565b6001600160a01b038216610ebb5760405162461bcd60e51b81526004016105c5906119ad565b610ec68383836112fa565b610f0381604051806060016040528060268152602001611f3c602691396001600160a01b0386166000908152602081905260409020549190610f84565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610f329082610d72565b6001600160a01b0380841660008181526020819052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e62908590611e68565b60008184841115610fa85760405162461bcd60e51b81526004016105c59190611943565b505050900390565b6001600160a01b038216610fd65760405162461bcd60e51b81526004016105c590611c57565b610fe2826000836112fa565b61101f81604051806060016040528060228152602001611f1a602291396001600160a01b0385166000908152602081905260409020549190610f84565b6001600160a01b0383166000908152602081905260409020556002546110459082611399565b6002556040516000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611086908590611e68565b60405180910390a35050565b60085460ff166110b45760405162461bcd60e51b81526004016105c5906119f0565b6008805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6110e7610db7565b6040516110f4919061188d565b60405180910390a1565b60085460ff16156111215760405162461bcd60e51b81526004016105c590611b6d565b6008805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586110e7610db7565b60008183106111665781610d97565b5090919050565b6107428363a9059cbb60e01b848460405160240161118c9291906118a1565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526113db565b600080600760006111d2610a14565b8152602081019190915260400160002054905080156111f2579050610468565b6111fa61146a565b915050610468565b60007f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08211156112445760405162461bcd60e51b81526004016105c590611b2b565b8360ff16601b148061125957508360ff16601c145b6112755760405162461bcd60e51b81526004016105c590611b97565b60006001868686866040516000815260200160405260405161129a9493929190611925565b6020604051602081039080840390855afa1580156112bc573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166112ef5760405162461bcd60e51b81526004016105c590611976565b90505b949350505050565b611305838383610742565b61130d6106b9565b158061133157506001600160a01b03831660009081526009602052604090205460ff165b8061135457506001600160a01b03821660009081526009602052604090205460ff165b6113705760405162461bcd60e51b81526004016105c590611b05565b6001600160a01b0382163014156107425760405162461bcd60e51b81526004016105c590611a97565b6000610d9783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f84565b6060611430826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166115209092919063ffffffff16565b805190915015610742578080602001905181019061144e91906117ec565b6107425760405162461bcd60e51b81526004016105c590611d9a565b600080611475610a14565b905060007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6114a26103d4565b805160209182012060408051808201825260018152603160f81b90840152516114f293927fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc69187913091016118f9565b60408051601f1981840301815291815281516020928301206000948552600790925290922082905550905090565b60606112f284846000856060611535856115ee565b6115515760405162461bcd60e51b81526004016105c590611d21565b60006060866001600160a01b0316858760405161156e919061184c565b60006040518083038185875af1925050503d80600081146115ab576040519150601f19603f3d011682016040523d82523d6000602084013e6115b0565b606091505b509150915081156115c45791506112f29050565b8051156115d45780518082602001fd5b8360405162461bcd60e51b81526004016105c59190611943565b3b151590565b803561048381611ef6565b600060208284031215611610578081fd5b8135610d9781611ef6565b6000806040838503121561162d578081fd5b823561163881611ef6565b9150602083013561164881611ef6565b809150509250929050565b600080600060608486031215611667578081fd5b833561167281611ef6565b9250602084013561168281611ef6565b929592945050506040919091013590565b600080600080600080600060e0888a0312156116ad578283fd5b87356116b881611ef6565b965060208801356116c881611ef6565b95506040880135945060608801359350608088013560ff811681146116eb578384fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561171a578182fd5b823561172581611ef6565b946020939093013593505050565b60006020808385031215611745578182fd5b823567ffffffffffffffff81111561175b578283fd5b8301601f8101851361176b578283fd5b803561177e61177982611ea6565b611e7f565b818152838101908385018584028501860189101561179a578687fd5b8694505b838510156117c4576117b089826115f4565b83526001949094019391850191850161179e565b50979650505050505050565b6000602082840312156117e1578081fd5b8135610d9781611f0b565b6000602082840312156117fd578081fd5b8151610d9781611f0b565b600080600060608486031215611667578283fd5b60006020828403121561182d578081fd5b5035919050565b600060208284031215611845578081fd5b5051919050565b6000825161185e818460208701611ec6565b9190910192915050565b60f09390931b6001600160f01b03191683526002830191909152602282015260420190565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b9586526001600160a01b0394851660208701529290931660408501526060840152608083019190915260a082015260c00190565b9485526020850193909352604084019190915260608301526001600160a01b0316608082015260a00190565b93845260ff9290921660208401526040830152606082015260800190565b6000602082528251806020840152611962816040850160208701611ec6565b601f01601f19169190910160400192915050565b60208082526018908201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604082015260600190565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526014908201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604082015260600190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526017908201527f544f524e3a20696e76616c696420726563697069656e74000000000000000000604082015260600190565b6020808252601d908201527f45524332305065726d69743a206578706972656420646561646c696e65000000604082015260600190565b6020808252600c908201526b1513d4938e881c185d5cd95960a21b604082015260600190565b60208082526022908201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604082015261756560f01b606082015260800190565b60208082526010908201526f14185d5cd8589b194e881c185d5cd95960821b604082015260600190565b60208082526022908201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604082015261756560f01b606082015260800190565b60208082526027908201527f544f524e3a2063616e6e6f74206368616e6765207472616e736665726162696c6040820152661a5d1e481e595d60ca1b606082015260800190565b6020808252601e908201527f45524332305065726d69743a20696e76616c6964207369676e61747572650000604082015260600190565b60208082526021908201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736040820152607360f81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b60208082526022908201527f544f524e3a2063616e206e6f742073656e6420746f207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b6020808252602d908201527f544f524e3a206f6e6c7920676f7665726e616e63652063616e20706572666f7260408201526c36903a3434b99030b1ba34b7b760991b606082015260800190565b6020808252601e908201527f544f524e3a20747279696e6720746f2073656e6420302062616c616e63650000604082015260600190565b90815260200190565b60ff91909116815260200190565b60405181810167ffffffffffffffff81118282101715611e9e57600080fd5b604052919050565b600067ffffffffffffffff821115611ebc578081fd5b5060209081020190565b60005b83811015611ee1578181015183820152602001611ec9565b83811115611ef0576000848401525b50505050565b6001600160a01b038116811461069257600080fd5b801515811461069257600080fdfe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220c25cb2cef98080abbebec9b5719a4f46d638fbe559a3ab7a9de64272855c3c1064736f6c634300060c0033"; + +type TORNMockConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: TORNMockConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class TORNMock__factory extends ContractFactory { + constructor(...args: TORNMockConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + _governance: AddressLike, + _pausePeriod: BigNumberish, + _vesting: TORN.RecipientStruct[], + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction( + _governance, + _pausePeriod, + _vesting, + overrides || {} + ); + } + override deploy( + _governance: AddressLike, + _pausePeriod: BigNumberish, + _vesting: TORN.RecipientStruct[], + overrides?: NonPayableOverrides & { from?: string } + ) { + return super.deploy( + _governance, + _pausePeriod, + _vesting, + overrides || {} + ) as Promise< + TORNMock & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): TORNMock__factory { + return super.connect(runner) as TORNMock__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): TORNMockInterface { + return new Interface(_abi) as TORNMockInterface; + } + static connect(address: string, runner?: ContractRunner | null): TORNMock { + return new Contract(address, _abi, runner) as unknown as TORNMock; + } +} diff --git a/typechain-types/factories/contracts/Governance/TORN/mocks/Timestamp__factory.ts b/typechain-types/factories/contracts/Governance/TORN/mocks/Timestamp__factory.ts new file mode 100644 index 0000000..ab0d540 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/TORN/mocks/Timestamp__factory.ts @@ -0,0 +1,103 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../../common"; +import type { + Timestamp, + TimestampInterface, +} from "../../../../../contracts/Governance/TORN/mocks/Timestamp"; + +const _abi = [ + { + inputs: [], + name: "blockTimestamp", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "fakeTimestamp", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_fakeTimestamp", + type: "uint256", + }, + ], + name: "setFakeTimestamp", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +const _bytecode = + "0x608060405234801561001057600080fd5b5060d28061001f6000396000f3fe6080604052348015600f57600080fd5b5060043610603c5760003560e01c806301ec0fab146041578063adb61832146059578063c565882714605f575b600080fd5b6047607b565b60408051918252519081900360200190f35b60476081565b607960048036036020811015607357600080fd5b50356097565b005b60005481565b60008054156090576000546092565b425b905090565b60005556fea2646970667358221220b2410460a5b24aec9983bcf8349aa3b589a0dff9120af5b704feae536a65813064736f6c634300060c0033"; + +type TimestampConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: TimestampConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class Timestamp__factory extends ContractFactory { + constructor(...args: TimestampConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(overrides || {}); + } + override deploy(overrides?: NonPayableOverrides & { from?: string }) { + return super.deploy(overrides || {}) as Promise< + Timestamp & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): Timestamp__factory { + return super.connect(runner) as Timestamp__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): TimestampInterface { + return new Interface(_abi) as TimestampInterface; + } + static connect(address: string, runner?: ContractRunner | null): Timestamp { + return new Contract(address, _abi, runner) as unknown as Timestamp; + } +} diff --git a/typechain-types/factories/contracts/Governance/TORN/mocks/VestingMock__factory.ts b/typechain-types/factories/contracts/Governance/TORN/mocks/VestingMock__factory.ts new file mode 100644 index 0000000..6688654 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/TORN/mocks/VestingMock__factory.ts @@ -0,0 +1,290 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { + Signer, + BigNumberish, + AddressLike, + ContractDeployTransaction, + ContractRunner, +} from "ethers"; +import type { NonPayableOverrides } from "../../../../../common"; +import type { + VestingMock, + VestingMockInterface, +} from "../../../../../contracts/Governance/TORN/mocks/VestingMock"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "_token", + type: "address", + }, + { + internalType: "address", + name: "_beneficiary", + type: "address", + }, + { + internalType: "uint256", + name: "_startTimestamp", + type: "uint256", + }, + { + internalType: "uint256", + name: "_cliffInMonths", + type: "uint256", + }, + { + internalType: "uint256", + name: "_durationInMonths", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "Released", + type: "event", + }, + { + inputs: [], + name: "SECONDS_PER_MONTH", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "beneficiary", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "blockTimestamp", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "cliffInMonths", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "durationInMonths", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "fakeTimestamp", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "release", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "released", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_fakeTimestamp", + type: "uint256", + }, + ], + name: "setFakeTimestamp", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "startTimestamp", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "token", + outputs: [ + { + internalType: "contract IERC20", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "vestedAmount", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +const _bytecode = + "0x61012060405234801561001157600080fd5b50604051610d2e380380610d2e833981810160405260a081101561003457600080fd5b5080516020820151604083015160608401516080909401519293919290919084848484846001600160a01b0384166100b3576040805162461bcd60e51b815260206004820152601b60248201527f42656e65666963696172792063616e6e6f7420626520656d7074790000000000604482015290519081900360640190fd5b80821115610108576040805162461bcd60e51b815260206004820152601e60248201527f436c6966662069732067726561746572207468616e206475726174696f6e0000604482015290519081900360640190fd5b6001600160601b0319606086811b821660a05285901b1660805261010081905260c082905282156101395782610141565b610141610154565b60e0525061018698505050505050505050565b600061016861016d60201b6105b81760201c565b905090565b600060015460001461018157600154610168565b504290565b60805160601c60a05160601c60c05160e05161010051610b366101f86000398061024452806103bc528061041e52508061019352806101cf52806105725250806102115280610534525080610289528061030952806104b5528061059652508061016d52806104d75250610b366000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c8063928d89ae11610071578063928d89ae146101195780639613252114610121578063adb6183214610129578063c565882714610131578063e6fd48bc1461014e578063fc0c546a14610156576100b4565b806301ec0fab146100b957806310786deb146100d357806338af3eed146100db57806344b1231f146100ff57806367097a4b1461010757806386d1a69f1461010f575b600080fd5b6100c161015e565b60408051918252519081900360200190f35b6100c1610164565b6100e361016b565b604080516001600160a01b039092168252519081900360200190f35b6100c161018f565b6100c161041c565b610117610440565b005b6100c1610532565b6100c1610556565b6100c161055c565b6101176004803603602081101561014757600080fd5b503561056b565b6100c1610570565b6100e3610594565b60015481565b62278d0081565b7f000000000000000000000000000000000000000000000000000000000000000081565b60007f00000000000000000000000000000000000000000000000000000000000000006101ba61055c565b10156101c857506000610419565b60006101fc7f00000000000000000000000000000000000000000000000000000000000000006101f661055c565b906105d1565b9050600061020d8262278d0061061c565b90507f000000000000000000000000000000000000000000000000000000000000000081101561024257600092505050610419565b7f0000000000000000000000000000000000000000000000000000000000000000811061030557604080516370a0823160e01b815230600482015290516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916370a08231916024808301926020929190829003018186803b1580156102cf57600080fd5b505afa1580156102e3573d6000803e3d6000fd5b505050506040513d60208110156102f957600080fd5b50519250610419915050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561037457600080fd5b505afa158015610388573d6000803e3d6000fd5b505050506040513d602081101561039e57600080fd5b505160008054919250906103b390839061065e565b905060006103eb7f00000000000000000000000000000000000000000000000000000000000000006103e584876106b8565b9061061c565b90506000610404600054836105d190919063ffffffff16565b90506104108482610711565b96505050505050505b90565b7f000000000000000000000000000000000000000000000000000000000000000081565b600061044a61018f565b905060008111610498576040805162461bcd60e51b81526020600482015260146024820152734e6f20746f6b656e7320746f2072656c6561736560601b604482015290519081900360640190fd5b6000546104a5908261065e565b6000556104fc6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f000000000000000000000000000000000000000000000000000000000000000083610727565b6040805182815290517ffb81f9b30d73d830c3544b34d827c08142579ee75710b490bab0b3995468c5659181900360200190a150565b7f000000000000000000000000000000000000000000000000000000000000000081565b60005481565b60006105666105b8565b905090565b600155565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b60006001546000146105cc57600154610566565b504290565b600061061383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061077e565b90505b92915050565b600061061383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610815565b600082820183811015610613576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000826106c757506000610616565b828202828482816106d457fe5b04146106135760405162461bcd60e51b8152600401808060200182810382526021815260200180610ab66021913960400191505060405180910390fd5b60008183106107205781610613565b5090919050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261077990849061087a565b505050565b6000818484111561080d5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156107d25781810151838201526020016107ba565b50505050905090810190601f1680156107ff5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836108645760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156107d25781810151838201526020016107ba565b50600083858161087057fe5b0495945050505050565b60606108cf826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661092b9092919063ffffffff16565b805190915015610779578080602001905160208110156108ee57600080fd5b50516107795760405162461bcd60e51b815260040180806020018281038252602a815260200180610ad7602a913960400191505060405180910390fd5b606061093a8484600085610942565b949350505050565b606061094d85610aaf565b61099e576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106109dd5780518252601f1990920191602091820191016109be565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114610a3f576040519150601f19603f3d011682016040523d82523d6000602084013e610a44565b606091505b50915091508115610a5857915061093a9050565b805115610a685780518082602001fd5b60405162461bcd60e51b81526020600482018181528651602484015286518793919283926044019190850190808383600083156107d25781810151838201526020016107ba565b3b15159056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a2646970667358221220852e02606e74d747094138d7e10fc9f005278a953559d85ca961b67f95c9fa8f64736f6c634300060c0033"; + +type VestingMockConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: VestingMockConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class VestingMock__factory extends ContractFactory { + constructor(...args: VestingMockConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + _token: AddressLike, + _beneficiary: AddressLike, + _startTimestamp: BigNumberish, + _cliffInMonths: BigNumberish, + _durationInMonths: BigNumberish, + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction( + _token, + _beneficiary, + _startTimestamp, + _cliffInMonths, + _durationInMonths, + overrides || {} + ); + } + override deploy( + _token: AddressLike, + _beneficiary: AddressLike, + _startTimestamp: BigNumberish, + _cliffInMonths: BigNumberish, + _durationInMonths: BigNumberish, + overrides?: NonPayableOverrides & { from?: string } + ) { + return super.deploy( + _token, + _beneficiary, + _startTimestamp, + _cliffInMonths, + _durationInMonths, + overrides || {} + ) as Promise< + VestingMock & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): VestingMock__factory { + return super.connect(runner) as VestingMock__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): VestingMockInterface { + return new Interface(_abi) as VestingMockInterface; + } + static connect(address: string, runner?: ContractRunner | null): VestingMock { + return new Contract(address, _abi, runner) as unknown as VestingMock; + } +} diff --git a/typechain-types/factories/contracts/Governance/TORN/mocks/VoucherMock__factory.ts b/typechain-types/factories/contracts/Governance/TORN/mocks/VoucherMock__factory.ts new file mode 100644 index 0000000..340ce41 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/TORN/mocks/VoucherMock__factory.ts @@ -0,0 +1,550 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { + Signer, + BytesLike, + BigNumberish, + ContractDeployTransaction, + ContractRunner, +} from "ethers"; +import type { NonPayableOverrides } from "../../../../../common"; +import type { + VoucherMock, + VoucherMockInterface, + Voucher, +} from "../../../../../contracts/Governance/TORN/mocks/VoucherMock"; + +const _abi = [ + { + inputs: [ + { + internalType: "bytes32", + name: "_torn", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "_governance", + type: "bytes32", + }, + { + internalType: "uint256", + name: "_duration", + type: "uint256", + }, + { + components: [ + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + internalType: "struct Voucher.Recipient[]", + name: "_airdrops", + type: "tuple[]", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Approval", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Transfer", + type: "event", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "allowedTransferee", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "blockTimestamp", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32[]", + name: "domains", + type: "bytes32[]", + }, + ], + name: "bulkResolve", + outputs: [ + { + internalType: "address[]", + name: "result", + type: "address[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "subtractedValue", + type: "uint256", + }, + ], + name: "decreaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "expiresAt", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "fakeTimestamp", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "governance", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "addedValue", + type: "uint256", + }, + ], + name: "increaseAllowance", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "redeem", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "rescueExpiredTokens", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "addr", + type: "bytes32", + }, + ], + name: "resolve", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_fakeTimestamp", + type: "uint256", + }, + ], + name: "setFakeTimestamp", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "torn", + outputs: [ + { + internalType: "contract IERC20", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +const _bytecode = + "0x60e06040523480156200001157600080fd5b5060405162001b7838038062001b78833981016040819052620000349162000476565b8383838360405180606001604052806026815260200162001b5260269139604051806040016040528060058152602001643b2a27a92760d91b8152508160039080519060200190620000889291906200038d565b5080516200009e9060049060208401906200038d565b50506005805460ff1916601217905550620000b984620001b7565b60601b6001600160601b031916608052620000d483620001b7565b60601b6001600160601b03191660c0526200010782620000f3620001bd565b620001d960201b6200089d1790919060201c565b60a05260005b8151811015620001a857620001598282815181106200012857fe5b6020026020010151600001518383815181106200014157fe5b6020026020010151602001516200021160201b60201c565b6001600660008484815181106200016c57fe5b602090810291909101810151516001600160a01b03168252810191909152604001600020805460ff19169115159190911790556001016200010d565b5050505050505050506200061d565b60601c90565b6000620001d4620002f460201b620008c91760201c565b905090565b6000828201838110156200020a5760405162461bcd60e51b8152600401620002019062000548565b60405180910390fd5b9392505050565b6001600160a01b0382166200023a5760405162461bcd60e51b81526004016200020190620005b6565b62000248600083836200030f565b6200026481600254620001d960201b6200089d1790919060201c565b6002556001600160a01b03821660009081526020818152604090912054620002979183906200089d620001d9821b17901c565b6001600160a01b0383166000818152602081905260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90620002e8908590620005ed565b60405180910390a35050565b60006007546000146200030a57600754620001d4565b504290565b620003278383836200038860201b620008e21760201c565b6001600160a01b03821615806200034557506001600160a01b038316155b806200036957506001600160a01b03831660009081526006602052604090205460ff165b620003885760405162461bcd60e51b815260040162000201906200057f565b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620003d057805160ff191683800117855562000400565b8280016001018555821562000400579182015b8281111562000400578251825591602001919060010190620003e3565b506200040e92915062000412565b5090565b5b808211156200040e576000815560010162000413565b6000604082840312156200043b578081fd5b620004476040620005f6565b82519091506001600160a01b03811681146200046257600080fd5b808252506020820151602082015292915050565b600080600080608085870312156200048c578384fd5b8451935060208086015193506040808701519350606087015160018060401b0380821115620004b9578485fd5b818901915089601f830112620004cd578485fd5b815181811115620004dc578586fd5b620004eb8586830201620005f6565b8181528581019250838601858302850187018d101562000509578788fd5b8794505b828510156200053757620005228d8262000429565b8452600194909401939286019285016200050d565b50989b979a50959850505050505050565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252601e908201527f45524332303a207472616e73666572206973206e6f7420616c6c6f7765640000604082015260600190565b6020808252601f908201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b90815260200190565b6040518181016001600160401b03811182821017156200061557600080fd5b604052919050565b60805160601c60a05160c05160601c6114e46200066e6000398061046952806106de5250806104c352806105f752806106945250806105d3528061066852806106ff52806107a352506114e46000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c80638622a689116100b8578063adf898a41161007c578063adf898a414610269578063be040fb014610271578063c39ef8551461027b578063c565882714610283578063dd62ed3e14610296578063f9e54234146102a957610142565b80638622a6891461022b57806395d89b4114610233578063a457c2d71461023b578063a9059cbb1461024e578063adb618321461026157610142565b8063313ce5671161010a578063313ce567146101b557806339509351146101ca5780635aa6e675146101dd5780635c23bdf5146101f25780635d4545a01461020557806370a082311461021857610142565b806301ec0fab1461014757806306fdde0314610165578063095ea7b31461017a57806318160ddd1461019a57806323b872dd146101a2575b600080fd5b61014f6102c9565b60405161015c9190611376565b60405180910390f35b61016d6102cf565b60405161015c9190611087565b61018d610188366004610ed7565b610365565b60405161015c919061107c565b61014f610383565b61018d6101b0366004610e97565b610389565b6101bd610410565b60405161015c919061137f565b61018d6101d8366004610ed7565b610419565b6101e5610467565b60405161015c9190611002565b6101e5610200366004610fb6565b61048b565b61018d610213366004610e48565b610491565b61014f610226366004610e48565b6104a6565b61014f6104c1565b61016d6104e5565b61018d610249366004610ed7565b610546565b61018d61025c366004610ed7565b6105ae565b61014f6105c2565b6101e56105d1565b6102796105f5565b005b610279610692565b610279610291366004610fb6565b6107cc565b61014f6102a4366004610e63565b6107d1565b6102bc6102b7366004610f01565b6107fc565b60405161015c919061102f565b60075481565b60038054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561035b5780601f106103305761010080835404028352916020019161035b565b820191906000526020600020905b81548152906001019060200180831161033e57829003601f168201915b5050505050905090565b60006103796103726108e7565b84846108eb565b5060015b92915050565b60025490565b600061039684848461099f565b610406846103a26108e7565b61040185604051806060016040528060288152602001611462602891396001600160a01b038a166000908152600160205260408120906103e06108e7565b6001600160a01b031681526020810191909152604001600020549190610ab4565b6108eb565b5060019392505050565b60055460ff1690565b60006103796104266108e7565b8461040185600160006104376108e7565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549061089d565b7f000000000000000000000000000000000000000000000000000000000000000081565b60601c90565b60066020526000908152604090205460ff1681565b6001600160a01b031660009081526020819052604090205490565b7f000000000000000000000000000000000000000000000000000000000000000081565b60048054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561035b5780601f106103305761010080835404028352916020019161035b565b60006103796105536108e7565b846104018560405180606001604052806025815260200161148a602591396001600061057d6108e7565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190610ab4565b60006103796105bb6108e7565b848461099f565b60006105cc6108c9565b905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000061061e6105c2565b106106445760405162461bcd60e51b815260040161063b90611176565b60405180910390fd5b600061064f336104a6565b905061065b3382610ae0565b61068f6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163383610bc2565b50565b7f00000000000000000000000000000000000000000000000000000000000000006106bb6105c2565b10156106d95760405162461bcd60e51b815260040161063b906111ad565b6107ca7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016107499190611002565b60206040518083038186803b15801561076157600080fd5b505afa158015610775573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107999190610fce565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190610bc2565b565b600755565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6060815167ffffffffffffffff8111801561081657600080fd5b50604051908082528060200260200182016040528015610840578160200160208202803683370190505b50905060005b82518110156108975761086b83828151811061085e57fe5b602002602001015161048b565b82828151811061087757fe5b6001600160a01b0390921660209283029190910190910152600101610846565b50919050565b6000828201838110156108c25760405162461bcd60e51b815260040161063b9061113f565b9392505050565b60006007546000146108dd576007546105cc565b504290565b505050565b3390565b6001600160a01b0383166109115760405162461bcd60e51b815260040161063b906112b1565b6001600160a01b0382166109375760405162461bcd60e51b815260040161063b906110fd565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610992908590611376565b60405180910390a3505050565b6001600160a01b0383166109c55760405162461bcd60e51b815260040161063b9061126c565b6001600160a01b0382166109eb5760405162461bcd60e51b815260040161063b906110ba565b6109f6838383610c18565b610a338160405180606001604052806026815260200161143c602691396001600160a01b0386166000908152602081905260409020549190610ab4565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610a62908261089d565b6001600160a01b0380841660008181526020819052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610992908590611376565b60008184841115610ad85760405162461bcd60e51b815260040161063b9190611087565b505050900390565b6001600160a01b038216610b065760405162461bcd60e51b815260040161063b9061122b565b610b1282600083610c18565b610b4f8160405180606001604052806022815260200161141a602291396001600160a01b0385166000908152602081905260409020549190610ab4565b6001600160a01b038316600090815260208190526040902055600254610b759082610c7f565b6002556040516000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610bb6908590611376565b60405180910390a35050565b6108e28363a9059cbb60e01b8484604051602401610be1929190611016565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610cc1565b610c238383836108e2565b6001600160a01b0382161580610c4057506001600160a01b038316155b80610c6357506001600160a01b03831660009081526006602052604090205460ff165b6108e25760405162461bcd60e51b815260040161063b906111f4565b60006108c283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610ab4565b6060610d16826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610d509092919063ffffffff16565b8051909150156108e25780806020019051810190610d349190610f96565b6108e25760405162461bcd60e51b815260040161063b9061132c565b6060610d5f8484600085610d67565b949350505050565b6060610d7285610e2b565b610d8e5760405162461bcd60e51b815260040161063b906112f5565b60006060866001600160a01b03168587604051610dab9190610fe6565b60006040518083038185875af1925050503d8060008114610de8576040519150601f19603f3d011682016040523d82523d6000602084013e610ded565b606091505b50915091508115610e01579150610d5f9050565b805115610e115780518082602001fd5b8360405162461bcd60e51b815260040161063b9190611087565b3b151590565b80356001600160a01b038116811461037d57600080fd5b600060208284031215610e59578081fd5b6108c28383610e31565b60008060408385031215610e75578081fd5b610e7f8484610e31565b9150610e8e8460208501610e31565b90509250929050565b600080600060608486031215610eab578081fd5b8335610eb681611404565b92506020840135610ec681611404565b929592945050506040919091013590565b60008060408385031215610ee9578182fd5b610ef38484610e31565b946020939093013593505050565b60006020808385031215610f13578182fd5b823567ffffffffffffffff811115610f29578283fd5b8301601f81018513610f39578283fd5b8035610f4c610f47826113b4565b61138d565b8181528381019083850185840285018601891015610f68578687fd5b8694505b83851015610f8a578035835260019490940193918501918501610f6c565b50979650505050505050565b600060208284031215610fa7578081fd5b815180151581146108c2578182fd5b600060208284031215610fc7578081fd5b5035919050565b600060208284031215610fdf578081fd5b5051919050565b60008251610ff88184602087016113d4565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6020808252825182820181905260009190848201906040850190845b818110156110705783516001600160a01b03168352928401929184019160010161104b565b50909695505050505050565b901515815260200190565b60006020825282518060208401526110a68160408501602087016113d4565b601f01601f19169190910160400192915050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252601f908201527f41697264726f702072656465656d20706572696f642068617320656e64656400604082015260600190565b60208082526027908201527f41697264726f702072656465656d20706572696f6420686173206e6f7420656e604082015266191959081e595d60ca1b606082015260800190565b6020808252601e908201527f45524332303a207472616e73666572206973206e6f7420616c6c6f7765640000604082015260600190565b60208082526021908201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736040820152607360f81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b90815260200190565b60ff91909116815260200190565b60405181810167ffffffffffffffff811182821017156113ac57600080fd5b604052919050565b600067ffffffffffffffff8211156113ca578081fd5b5060209081020190565b60005b838110156113ef5781810151838201526020016113d7565b838111156113fe576000848401525b50505050565b6001600160a01b038116811461068f57600080fdfe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220794126baf4ea3c44b9afb84b4d8a20535aca899e75471e5d9bb4c8e671aabde664736f6c634300060c0033546f726e61646f4361736820766f756368657220666f72206561726c792061646f7074657273"; + +type VoucherMockConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: VoucherMockConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class VoucherMock__factory extends ContractFactory { + constructor(...args: VoucherMockConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + _torn: BytesLike, + _governance: BytesLike, + _duration: BigNumberish, + _airdrops: Voucher.RecipientStruct[], + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction( + _torn, + _governance, + _duration, + _airdrops, + overrides || {} + ); + } + override deploy( + _torn: BytesLike, + _governance: BytesLike, + _duration: BigNumberish, + _airdrops: Voucher.RecipientStruct[], + overrides?: NonPayableOverrides & { from?: string } + ) { + return super.deploy( + _torn, + _governance, + _duration, + _airdrops, + overrides || {} + ) as Promise< + VoucherMock & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): VoucherMock__factory { + return super.connect(runner) as VoucherMock__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): VoucherMockInterface { + return new Interface(_abi) as VoucherMockInterface; + } + static connect(address: string, runner?: ContractRunner | null): VoucherMock { + return new Contract(address, _abi, runner) as unknown as VoucherMock; + } +} diff --git a/typechain-types/factories/contracts/Governance/TORN/mocks/index.ts b/typechain-types/factories/contracts/Governance/TORN/mocks/index.ts new file mode 100644 index 0000000..2023309 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/TORN/mocks/index.ts @@ -0,0 +1,9 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { AirdropMock__factory } from "./AirdropMock__factory"; +export { ENSMock__factory } from "./ENSMock__factory"; +export { TORNMock__factory } from "./TORNMock__factory"; +export { Timestamp__factory } from "./Timestamp__factory"; +export { VestingMock__factory } from "./VestingMock__factory"; +export { VoucherMock__factory } from "./VoucherMock__factory"; diff --git a/typechain-types/factories/contracts/Governance/Testnet/TestnetAdminProxy__factory.ts b/typechain-types/factories/contracts/Governance/Testnet/TestnetAdminProxy__factory.ts new file mode 100644 index 0000000..944f92f --- /dev/null +++ b/typechain-types/factories/contracts/Governance/Testnet/TestnetAdminProxy__factory.ts @@ -0,0 +1,287 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { + Signer, + BytesLike, + AddressLike, + ContractDeployTransaction, + ContractRunner, +} from "ethers"; +import type { PayableOverrides } from "../../../../common"; +import type { + TestnetAdminProxy, + TestnetAdminProxyInterface, +} from "../../../../contracts/Governance/Testnet/TestnetAdminProxy"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "_logic", + type: "address", + }, + { + internalType: "address", + name: "_admin", + type: "address", + }, + { + internalType: "bytes", + name: "_data", + type: "bytes", + }, + ], + stateMutability: "payable", + type: "constructor", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "previousAdmin", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "newAdmin", + type: "address", + }, + ], + name: "AdminChanged", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "implementation", + type: "address", + }, + ], + name: "Upgraded", + type: "event", + }, + { + stateMutability: "payable", + type: "fallback", + }, + { + inputs: [], + name: "admin", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "callToOwner", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newAdmin", + type: "address", + }, + ], + name: "changeAdmin", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newOwner", + type: "address", + }, + ], + name: "changeOwner", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "delegateToOwner", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [], + name: "getCurrentOwner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "implementation", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newImplementation", + type: "address", + }, + ], + name: "upgradeTo", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newImplementation", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "upgradeToAndCall", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newImplementation", + type: "address", + }, + ], + name: "upgradeToOwner", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + stateMutability: "payable", + type: "receive", + }, +] as const; + +const _bytecode = + "0x608060405260405162000e6738038062000e67833981810160405260608110156200002957600080fd5b815160208301516040808501805191519395929483019291846401000000008211156200005557600080fd5b9083019060208201858111156200006b57600080fd5b82516401000000008111828201881017156200008657600080fd5b82525081516020918201929091019080838360005b83811015620000b55781810151838201526020016200009b565b50505050905090810190601f168015620000e35780820380516001836020036101000a031916815260200191505b5060405250849150839050828282828281620000ff82620001f6565b805115620001bd576000826001600160a01b0316826040518082805190602001908083835b60208310620001455780518252601f19909201916020918201910162000124565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114620001a7576040519150601f19603f3d011682016040523d82523d6000602084013e620001ac565b606091505b5050905080620001bb57600080fd5b505b50620001c69050565b620001d1826200026d565b505050505050620001ed336200029160201b620008ab1760201c565b50505062000308565b6200020c81620002bd60201b620008d51760201c565b620002495760405162461bcd60e51b815260040180806020018281038252603681526020018062000e316036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b806200029c620002c3565b80546001600160a01b0319166001600160a01b039290921691909117905550565b3b151590565b604080517fb4d03667d60278cc15e9a68fa7679dc39ebe71350c4566a2c23c26580da4e0b3602080830191909152825180830382018152918301909252805191012090565b610b1980620003186000396000f3fe6080604052600436106100955760003560e01c80635c60da1b116100595780635c60da1b146102fe5780638f2839701461032f578063a18a186b14610362578063a6f9dae114610377578063f851a440146103aa576100a4565b806323711ab1146100ac57806323c735f1146101625780632e44e0e0146101955780633659cfe61461024b5780634f1ef2861461027e576100a4565b366100a4576100a26103bf565b005b6100a26103bf565b6100a2600480360360408110156100c257600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100ed57600080fd5b8201836020820111156100ff57600080fd5b8035906020019184600183028401116401000000008311171561012157600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506103d9945050505050565b34801561016e57600080fd5b506100a26004803603602081101561018557600080fd5b50356001600160a01b03166104e7565b6100a2600480360360408110156101ab57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156101d657600080fd5b8201836020820111156101e857600080fd5b8035906020019184600183028401116401000000008311171561020a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610546945050505050565b34801561025757600080fd5b506100a26004803603602081101561026e57600080fd5b50356001600160a01b031661063a565b6100a26004803603604081101561029457600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156102bf57600080fd5b8201836020820111156102d157600080fd5b803590602001918460018302840111640100000000831117156102f357600080fd5b509092509050610671565b34801561030a57600080fd5b5061031361071e565b604080516001600160a01b039092168252519081900360200190f35b34801561033b57600080fd5b506100a26004803603602081101561035257600080fd5b50356001600160a01b031661075b565b34801561036e57600080fd5b50610313610815565b34801561038357600080fd5b506100a26004803603602081101561039a57600080fd5b50356001600160a01b0316610824565b3480156103b657600080fd5b50610313610880565b6103c76103d7565b6103d76103d26108db565b610900565b565b336103e2610924565b6001600160a01b03161461042c576040805162461bcd60e51b815260206004820152600c60248201526b2737ba1030b71037bbb732b960a11b604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b6020831061046a5780518252601f19909201916020918201910161044b565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146104ca576040519150601f19603f3d011682016040523d82523d6000602084013e6104cf565b606091505b5091509150816104e157805181602001fd5b50505050565b336104f0610924565b6001600160a01b03161461053a576040805162461bcd60e51b815260206004820152600c60248201526b2737ba1030b71037bbb732b960a11b604482015290519081900360640190fd5b6105438161093d565b50565b3361054f610924565b6001600160a01b031614610599576040805162461bcd60e51b815260206004820152600c60248201526b2737ba1030b71037bbb732b960a11b604482015290519081900360640190fd5b60006060836001600160a01b031634846040518082805190602001908083835b602083106105d85780518252601f1990920191602091820191016105b9565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146104ca576040519150601f19603f3d011682016040523d82523d6000602084013e6104cf565b61064261097d565b6001600160a01b0316336001600160a01b03161415610669576106648161093d565b610543565b6105436103bf565b61067961097d565b6001600160a01b0316336001600160a01b031614156107115761069b8361093d565b6000836001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d80600081146106f8576040519150601f19603f3d011682016040523d82523d6000602084013e6106fd565b606091505b505090508061070b57600080fd5b50610719565b6107196103bf565b505050565b600061072861097d565b6001600160a01b0316336001600160a01b03161415610750576107496108db565b9050610758565b6107586103bf565b90565b61076361097d565b6001600160a01b0316336001600160a01b03161415610669576001600160a01b0381166107c15760405162461bcd60e51b815260040180806020018281038252603a815260200180610a74603a913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6107ea61097d565b604080516001600160a01b03928316815291841660208301528051918290030190a1610664816109a2565b600061081f610924565b905090565b3361082d610924565b6001600160a01b031614610877576040805162461bcd60e51b815260206004820152600c60248201526b2737ba1030b71037bbb732b960a11b604482015290519081900360640190fd5b610543816108ab565b600061088a61097d565b6001600160a01b0316336001600160a01b031614156107505761074961097d565b806108b46109c6565b80546001600160a01b0319166001600160a01b039290921691909117905550565b3b151590565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e80801561091f573d6000f35b3d6000fd5b600061092e6109c6565b546001600160a01b0316919050565b61094681610a0b565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b604080517fb4d03667d60278cc15e9a68fa7679dc39ebe71350c4566a2c23c26580da4e0b3602080830191909152825180830382018152918301909252805191012090565b610a14816108d5565b610a4f5760405162461bcd60e51b8152600401808060200182810382526036815260200180610aae6036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5556fe5472616e73706172656e745570677261646561626c6550726f78793a206e65772061646d696e20697320746865207a65726f20616464726573735570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374a264697066735822122001f07e10d1eeadbd61da070e50227b529a3ec4b8f2e780a0e6bc1dc6028ba95764736f6c634300060c00335570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374"; + +type TestnetAdminProxyConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: TestnetAdminProxyConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class TestnetAdminProxy__factory extends ContractFactory { + constructor(...args: TestnetAdminProxyConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + _logic: AddressLike, + _admin: AddressLike, + _data: BytesLike, + overrides?: PayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(_logic, _admin, _data, overrides || {}); + } + override deploy( + _logic: AddressLike, + _admin: AddressLike, + _data: BytesLike, + overrides?: PayableOverrides & { from?: string } + ) { + return super.deploy(_logic, _admin, _data, overrides || {}) as Promise< + TestnetAdminProxy & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): TestnetAdminProxy__factory { + return super.connect(runner) as TestnetAdminProxy__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): TestnetAdminProxyInterface { + return new Interface(_abi) as TestnetAdminProxyInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): TestnetAdminProxy { + return new Contract(address, _abi, runner) as unknown as TestnetAdminProxy; + } +} diff --git a/typechain-types/factories/contracts/Governance/Testnet/TestnetFeeManager__factory.ts b/typechain-types/factories/contracts/Governance/Testnet/TestnetFeeManager__factory.ts new file mode 100644 index 0000000..37e8fe5 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/Testnet/TestnetFeeManager__factory.ts @@ -0,0 +1,449 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { + Signer, + AddressLike, + ContractDeployTransaction, + ContractRunner, +} from "ethers"; +import type { NonPayableOverrides } from "../../../../common"; +import type { + TestnetFeeManager, + TestnetFeeManagerInterface, +} from "../../../../contracts/Governance/Testnet/TestnetFeeManager"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "_torn", + type: "address", + }, + { + internalType: "address", + name: "_governance", + type: "address", + }, + { + internalType: "address", + name: "_registry", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "instance", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "newFee", + type: "uint256", + }, + ], + name: "FeeUpdated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint24", + name: "newFee", + type: "uint24", + }, + ], + name: "UniswapTornPoolSwappingFeeChanged", + type: "event", + }, + { + inputs: [], + name: "PROTOCOL_FEE_DIVIDER", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "contract ITornadoInstance", + name: "_instance", + type: "address", + }, + ], + name: "calculatePoolFee", + outputs: [ + { + internalType: "uint160", + name: "", + type: "uint160", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "feeDeviations", + outputs: [ + { + components: [ + { + internalType: "address", + name: "instance", + type: "address", + }, + { + internalType: "int256", + name: "deviation", + type: "int256", + }, + ], + internalType: "struct FeeManager.Deviation[]", + name: "results", + type: "tuple[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_token", + type: "address", + }, + { + internalType: "uint24", + name: "_uniswapPoolSwappingFee", + type: "uint24", + }, + ], + name: "getTokenPriceRatio", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "governance", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "contract ITornadoInstance", + name: "", + type: "address", + }, + ], + name: "instanceFee", + outputs: [ + { + internalType: "uint160", + name: "", + type: "uint160", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "contract ITornadoInstance", + name: "", + type: "address", + }, + ], + name: "instanceFeeUpdated", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "contract ITornadoInstance", + name: "_instance", + type: "address", + }, + ], + name: "instanceFeeWithUpdate", + outputs: [ + { + internalType: "uint160", + name: "", + type: "uint160", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "registry", + outputs: [ + { + internalType: "contract InstanceRegistry", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint32", + name: "newPeriod", + type: "uint32", + }, + ], + name: "setPeriodForTWAPOracle", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_token", + type: "address", + }, + { + internalType: "uint256", + name: "_price", + type: "uint256", + }, + ], + name: "setTokenPrice", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint24", + name: "_uniswapTornPoolSwappingFee", + type: "uint24", + }, + ], + name: "setUniswapTornPoolSwappingFee", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint24", + name: "newLimit", + type: "uint24", + }, + ], + name: "setUpdateFeeTimeLimit", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "torn", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "uniswapTimePeriod", + outputs: [ + { + internalType: "uint32", + name: "", + type: "uint32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "uniswapTornPoolSwappingFee", + outputs: [ + { + internalType: "uint24", + name: "", + type: "uint24", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "updateAllFees", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "contract ITornadoInstance", + name: "_instance", + type: "address", + }, + ], + name: "updateFee", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "updateFeeTimeLimit", + outputs: [ + { + internalType: "uint24", + name: "", + type: "uint24", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "contract ITornadoInstance[]", + name: "_instances", + type: "address[]", + }, + ], + name: "updateFees", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +const _bytecode = + "0x60e06040523480156200001157600080fd5b5060405162001c9d38038062001c9d83398101604081905262000034916200005c565b6001600160601b0319606093841b811660805291831b821660a05290911b1660c052620000c8565b60008060006060848603121562000071578283fd5b83516200007e81620000af565b60208501519093506200009181620000af565b6040850151909250620000a481620000af565b809150509250925092565b6001600160a01b0381168114620000c557600080fd5b50565b60805160601c60a05160601c60c05160601c611b7c6200012160003980610350528061061452806108915280610a42525080610539528061064c528061072d528061082252508061059852806107ad5250611b7c6000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c806380eb7bf0116100ad578063bcc5ee6411610071578063bcc5ee641461024b578063c51c229714610253578063d8718fb114610266578063e1f121561461027b578063f522d6d61461028e5761012c565b806380eb7bf014610202578063a028752014610215578063adf898a414610228578063aeb3077a14610230578063b19a2972146102385761012c565b8063603a54fe116100f4578063603a54fe146101ac57806369574fef146101bf5780637b103999146101d25780637ccd2f48146101da57806380679eb3146101ef5761012c565b806305e34364146101315780632efbf3841461015a578063431f63c91461017a5780634bf0a5421461018f5780635aa6e675146101a4575b600080fd5b61014461013f36600461183e565b610296565b6040516101519190611aaa565b60405180910390f35b61016d61016836600461183e565b6102a8565b60405161015191906118cb565b61018d6101883660046115b1565b610305565b005b61019761034b565b6040516101519190611907565b61016d610537565b61016d6101ba36600461183e565b61055b565b6101446101cd366004611579565b610576565b61016d610612565b6101e2610636565b6040516101519190611a9a565b61018d6101fd36600461188e565b610641565b61018d61021036600461183e565b61069c565b61018d61022336600461185a565b610722565b61016d6107ab565b6101446107cf565b61018d6102463660046115dc565b6107d5565b6101e2610805565b61018d61026136600461185a565b610817565b61026e610874565b6040516101519190611ab3565b61016d61028936600461183e565b610887565b61018d610a3d565b60026020526000908152604090205481565b600080546001600160a01b038316825260026020526040822054600160381b90910462ffffff16429190910311156102e3576102e38261069c565b506001600160a01b03808216600090815260016020526040902054165b919050565b3361030e610ad7565b6001600160a01b03161461033d5760405162461bcd60e51b8152600401610334906119fc565b60405180910390fd5b6103478282610af0565b5050565b6060807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310c13ac36040518163ffffffff1660e01b815260040160006040518083038186803b1580156103a757600080fd5b505afa1580156103bb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103e39190810190611675565b9050805167ffffffffffffffff811180156103fd57600080fd5b5060405190808252806020026020018201604052801561043757816020015b6104246114b2565b81526020019060019003908161041c5790505b50915060005b815181101561053257600061046483838151811061045757fe5b6020026020010151610887565b6001600160a01b03169050600081156104e0576103e8826001600087878151811061048b57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060009054906101000a90046001600160a01b03166103e8026001600160a01b0316816104db57fe5b040390505b60405180604001604052808585815181106104f757fe5b60200260200101516001600160a01b031681526020018281525085848151811061051d57fe5b6020908102919091010152505060010161043d565b505090565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001602052600090815260409020546001600160a01b031681565b600061058183610b19565b610600576040805180820182526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811682528516602080830191909152825180840190935260005462ffffff80821685528616918401919091526105fb929063ffffffff630100000090910416610b44565b610609565b61060983610b19565b90505b92915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60005462ffffff1681565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461067657600080fd5b6000805463ffffffff90921663010000000266ffffffff00000019909216919091179055565b60006106a782610887565b6001600160a01b03838116600081815260016020908152604080832080546001600160a01b03191695871695909517909455600290528290204290559051919250907f6f0eaf2c2f89fb4cfe96a1dee5e764d60b52c7f48aaa590f0850e308aa1b953a906107169084906118cb565b60405180910390a25050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461075757600080fd5b6000805462ffffff191662ffffff83811691909117918290556040517fbfe65cfc2359076c4468c9b895156c309c78f94fb09f6d2fc0463c4ca9a71ac2926107a0921690611a9a565b60405180910390a150565b7f000000000000000000000000000000000000000000000000000000000000000081565b61271081565b60005b8151811015610347576107fd8282815181106107f057fe5b602002602001015161069c565b6001016107d8565b600054600160381b900462ffffff1681565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461084c57600080fd5b6000805462ffffff909216600160381b0269ffffff0000000000000019909216919091179055565b6000546301000000900463ffffffff1681565b60008060008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663032bb443876040518263ffffffff1660e01b81526004016108db91906118cb565b60a06040518083038186803b1580156108f357600080fd5b505afa158015610907573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092b91906117c3565b9450945050935093508063ffffffff1660001415610950576000945050505050610300565b6001600160a01b038316158015610965575083155b61096f5782610985565b73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25b925060006109938484610576565b9050610a32612710610a2c8463ffffffff16610a2685610a2c670de0b6b3a76400008e6001600160a01b0316638bca6d166040518163ffffffff1660e01b815260040160206040518083038186803b1580156109ee57600080fd5b505afa158015610a02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a269190611876565b90610b90565b90610bca565b979650505050505050565b610ad57f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166310c13ac36040518163ffffffff1660e01b815260040160006040518083038186803b158015610a9957600080fd5b505afa158015610aad573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102469190810190611675565b565b6000610ae1610c0c565b546001600160a01b0316919050565b6000610afa610c61565b6001600160a01b03909316600090815260209390935250604090912055565b600080610b24610c61565b6001600160a01b0390931660009081526020939093525050604090205490565b60208084015190830151600091610b5b9184610c98565b84518451610b7e91670de0b6b3a764000091610b78919087610c98565b90610cc2565b81610b8557fe5b0490505b9392505050565b600082610b9f5750600061060c565b82820282848281610bac57fe5b04146106095760405162461bcd60e51b815260040161033490611a59565b600061060983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610ce6565b6000807fb4d03667d60278cc15e9a68fa7679dc39ebe71350c4566a2c23c26580da4e0b360001c604051602001610c439190611aaa565b60408051601f19818403018152919052805160209091012092915050565b6000807f6521c13ddfc30471ec629848a30b01f73c36737d417c11843e7a9afa6985e84860001c604051602001610c439190611aaa565b6000610cba8473c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28585610d1d565b949350505050565b6000821580610cdd57505081810281838281610cda57fe5b04145b61060c57600080fd5b60008183610d075760405162461bcd60e51b815260040161033491906119a9565b506000838581610d1357fe5b0495945050505050565b600080846001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610d5957600080fd5b505afa158015610d6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d9191906118aa565b60ff16600a0a90506001600160a01b038681169086161415610dbd576001600160801b03169050610cba565b604051630b4c774160e11b8152610e5e90610e5690731f98431c8ad98523631ae4a59f267346ea31f98490631698ee8290610e00908b908b908b906004016118df565b60206040518083038186803b158015610e1857600080fd5b505afa158015610e2c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e50919061155d565b85610e6f565b828888611004565b915050610cba565b50949350505050565b600063ffffffff8216610e945760405162461bcd60e51b815260040161033490611a22565b60408051600280825260608083018452926020830190803683370190505090508281600081518110610ec257fe5b602002602001019063ffffffff16908163ffffffff1681525050600081600181518110610eeb57fe5b63ffffffff9092166020928302919091019091015260405163883bdbfd60e01b81526060906001600160a01b0386169063883bdbfd90610f2f90859060040161195f565b60006040518083038186803b158015610f4757600080fd5b505afa158015610f5b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f839190810190611701565b509050600081600081518110610f9557fe5b602002602001015182600181518110610faa57fe5b60200260200101510390508463ffffffff168160060b81610fc757fe5b05935060008160060b128015610fee57508463ffffffff168160060b81610fea57fe5b0715155b15610ffb57600019909301925b50505092915050565b600080611010866110ee565b90506001600160801b036001600160a01b0382161161107f576001600160a01b038082168002908481169086161061105f5761105a600160c01b876001600160801b031683611407565b611077565b61107781876001600160801b0316600160c01b611407565b925050610e66565b600061109e6001600160a01b0383168068010000000000000000611407565b9050836001600160a01b0316856001600160a01b0316106110d6576110d1600160801b876001600160801b031683611407565b610a32565b610a3281876001600160801b0316600160801b611407565b60008060008360020b12611105578260020b61110d565b8260020b6000035b9050620d89e88111156111325760405162461bcd60e51b815260040161033490611a3e565b60006001821661114657600160801b611158565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff169050600282161561118c576ffff97272373d413259a46990580e213a0260801c5b60048216156111ab576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b60088216156111ca576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b60108216156111e9576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615611208576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615611227576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615611246576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615611266576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615611286576ff987a7253ac413176f2b074cf7815e540260801c5b6104008216156112a6576ff3392b0822b70005940c7a398e4b70f30260801c5b6108008216156112c6576fe7159475a2c29b7443b29c7fa6e889d90260801c5b6110008216156112e6576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615611306576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615611326576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615611346576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615611367576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b62020000821615611387576e5d6af8dedb81196699c329225ee6040260801c5b620400008216156113a6576d2216e584f5fa1ea926041bedfe980260801c5b620800008216156113c3576b048a170391f7dc42444e8fa20260801c5b60008460020b13156113de5780600019816113da57fe5b0490505b6401000000008106156113f25760016113f5565b60005b60ff16602082901c0192505050919050565b600080806000198587098686029250828110908390030390508061143d576000841161143257600080fd5b508290049050610b89565b80841161144957600080fd5b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b604080518082019091526000808252602082015290565b600082601f8301126114d9578081fd5b81516114ec6114e782611aeb565b611ac4565b81815291506020808301908481018184028601820187101561150d57600080fd5b60005b8481101561153557815161152381611b0b565b84529282019290820190600101611510565b505050505092915050565b805161060c81611b0b565b8051600681900b811461060c57600080fd5b60006020828403121561156e578081fd5b815161060981611b0b565b6000806040838503121561158b578081fd5b823561159681611b0b565b915060208301356115a681611b23565b809150509250929050565b600080604083850312156115c3578182fd5b82356115ce81611b0b565b946020939093013593505050565b600060208083850312156115ee578182fd5b823567ffffffffffffffff811115611604578283fd5b8301601f81018513611614578283fd5b80356116226114e782611aeb565b818152838101908385018584028501860189101561163e578687fd5b8694505b8385101561166957803561165581611b0b565b835260019490940193918501918501611642565b50979650505050505050565b60006020808385031215611687578182fd5b825167ffffffffffffffff81111561169d578283fd5b8301601f810185136116ad578283fd5b80516116bb6114e782611aeb565b81815283810190838501858402850186018910156116d7578687fd5b8694505b83851015611669576116ed8982611540565b8352600194909401939185019185016116db565b60008060408385031215611713578182fd5b825167ffffffffffffffff8082111561172a578384fd5b818501915085601f83011261173d578384fd5b815161174b6114e782611aeb565b80828252602080830192508086018a82838702890101111561176b578889fd5b8896505b84871015611795576117818b8261154b565b84526001969096019592810192810161176f565b5088015190965093505050808211156117ac578283fd5b506117b9858286016114c9565b9150509250929050565b600080600080600060a086880312156117da578081fd5b855180151581146117e9578182fd5b60208701519095506117fa81611b0b565b60408701519094506002811061180e578182fd5b606087015190935061181f81611b23565b608087015190925061183081611b34565b809150509295509295909350565b60006020828403121561184f578081fd5b813561060981611b0b565b60006020828403121561186b578081fd5b813561060981611b23565b600060208284031215611887578081fd5b5051919050565b60006020828403121561189f578081fd5b813561060981611b34565b6000602082840312156118bb578081fd5b815160ff81168114610609578182fd5b6001600160a01b0391909116815260200190565b6001600160a01b03938416815291909216602082015262ffffff909116604082015260600190565b602080825282518282018190526000919060409081850190868401855b8281101561195257815180516001600160a01b03168552860151868501529284019290850190600101611924565b5091979650505050505050565b6020808252825182820181905260009190848201906040850190845b8181101561199d57835163ffffffff168352928401929184019160010161197b565b50909695505050505050565b6000602080835283518082850152825b818110156119d5578581018301518582016040015282016119b9565b818111156119e65783604083870101525b50601f01601f1916929092016040019392505050565b6020808252600c908201526b2737ba1030b71037bbb732b960a11b604082015260600190565b602080825260029082015261042560f41b604082015260600190565b6020808252600190820152601560fa1b604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b62ffffff91909116815260200190565b90815260200190565b63ffffffff91909116815260200190565b60405181810167ffffffffffffffff81118282101715611ae357600080fd5b604052919050565b600067ffffffffffffffff821115611b01578081fd5b5060209081020190565b6001600160a01b0381168114611b2057600080fd5b50565b62ffffff81168114611b2057600080fd5b63ffffffff81168114611b2057600080fdfea2646970667358221220e716ce7751ca9331e897d31f3744c6916e2f742be6df42551b069b566751df4c64736f6c634300060c0033"; + +type TestnetFeeManagerConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: TestnetFeeManagerConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class TestnetFeeManager__factory extends ContractFactory { + constructor(...args: TestnetFeeManagerConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + _torn: AddressLike, + _governance: AddressLike, + _registry: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction( + _torn, + _governance, + _registry, + overrides || {} + ); + } + override deploy( + _torn: AddressLike, + _governance: AddressLike, + _registry: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ) { + return super.deploy( + _torn, + _governance, + _registry, + overrides || {} + ) as Promise< + TestnetFeeManager & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): TestnetFeeManager__factory { + return super.connect(runner) as TestnetFeeManager__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): TestnetFeeManagerInterface { + return new Interface(_abi) as TestnetFeeManagerInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): TestnetFeeManager { + return new Contract(address, _abi, runner) as unknown as TestnetFeeManager; + } +} diff --git a/typechain-types/factories/contracts/Governance/Testnet/TestnetGovernanceProxy__factory.ts b/typechain-types/factories/contracts/Governance/Testnet/TestnetGovernanceProxy__factory.ts new file mode 100644 index 0000000..500d995 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/Testnet/TestnetGovernanceProxy__factory.ts @@ -0,0 +1,286 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { + Signer, + BytesLike, + AddressLike, + ContractDeployTransaction, + ContractRunner, +} from "ethers"; +import type { PayableOverrides } from "../../../../common"; +import type { + TestnetGovernanceProxy, + TestnetGovernanceProxyInterface, +} from "../../../../contracts/Governance/Testnet/TestnetGovernanceProxy"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "_logic", + type: "address", + }, + { + internalType: "bytes", + name: "_data", + type: "bytes", + }, + ], + stateMutability: "payable", + type: "constructor", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "previousAdmin", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "newAdmin", + type: "address", + }, + ], + name: "AdminChanged", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "implementation", + type: "address", + }, + ], + name: "Upgraded", + type: "event", + }, + { + stateMutability: "payable", + type: "fallback", + }, + { + inputs: [], + name: "admin", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "callToOwner", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newAdmin", + type: "address", + }, + ], + name: "changeAdmin", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newOwner", + type: "address", + }, + ], + name: "changeOwner", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "delegateToOwner", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [], + name: "getCurrentOwner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "implementation", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newImplementation", + type: "address", + }, + ], + name: "upgradeTo", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newImplementation", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "upgradeToAndCall", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newImplementation", + type: "address", + }, + ], + name: "upgradeToOwner", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + stateMutability: "payable", + type: "receive", + }, +] as const; + +const _bytecode = + "0x608060405260405162000e6038038062000e60833981810160405260408110156200002957600080fd5b8151602083018051604051929492938301929190846401000000008211156200005157600080fd5b9083019060208201858111156200006757600080fd5b82516401000000008111828201881017156200008257600080fd5b82525081516020918201929091019080838360005b83811015620000b157818101518382015260200162000097565b50505050905090810190601f168015620000df5780820380516001836020036101000a031916815260200191505b50604052508391508290508130828281620000fa82620001ef565b805115620001b8576000826001600160a01b0316826040518082805190602001908083835b60208310620001405780518252601f1990920191602091820191016200011f565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114620001a2576040519150601f19603f3d011682016040523d82523d6000602084013e620001a7565b606091505b5050905080620001b657600080fd5b505b50620001c19050565b620001cc8262000266565b5050505050620001e7336200028a60201b620008ab1760201c565b505062000301565b6200020581620002b660201b620008d51760201c565b620002425760405162461bcd60e51b815260040180806020018281038252603681526020018062000e2a6036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b8062000295620002bc565b80546001600160a01b0319166001600160a01b039290921691909117905550565b3b151590565b604080517fb4d03667d60278cc15e9a68fa7679dc39ebe71350c4566a2c23c26580da4e0b3602080830191909152825180830382018152918301909252805191012090565b610b1980620003116000396000f3fe6080604052600436106100955760003560e01c80635c60da1b116100595780635c60da1b146102fe5780638f2839701461032f578063a18a186b14610362578063a6f9dae114610377578063f851a440146103aa576100a4565b806323711ab1146100ac57806323c735f1146101625780632e44e0e0146101955780633659cfe61461024b5780634f1ef2861461027e576100a4565b366100a4576100a26103bf565b005b6100a26103bf565b6100a2600480360360408110156100c257600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100ed57600080fd5b8201836020820111156100ff57600080fd5b8035906020019184600183028401116401000000008311171561012157600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506103d9945050505050565b34801561016e57600080fd5b506100a26004803603602081101561018557600080fd5b50356001600160a01b03166104e7565b6100a2600480360360408110156101ab57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156101d657600080fd5b8201836020820111156101e857600080fd5b8035906020019184600183028401116401000000008311171561020a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610546945050505050565b34801561025757600080fd5b506100a26004803603602081101561026e57600080fd5b50356001600160a01b031661063a565b6100a26004803603604081101561029457600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156102bf57600080fd5b8201836020820111156102d157600080fd5b803590602001918460018302840111640100000000831117156102f357600080fd5b509092509050610671565b34801561030a57600080fd5b5061031361071e565b604080516001600160a01b039092168252519081900360200190f35b34801561033b57600080fd5b506100a26004803603602081101561035257600080fd5b50356001600160a01b031661075b565b34801561036e57600080fd5b50610313610815565b34801561038357600080fd5b506100a26004803603602081101561039a57600080fd5b50356001600160a01b0316610824565b3480156103b657600080fd5b50610313610880565b6103c76103d7565b6103d76103d26108db565b610900565b565b336103e2610924565b6001600160a01b03161461042c576040805162461bcd60e51b815260206004820152600c60248201526b2737ba1030b71037bbb732b960a11b604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b6020831061046a5780518252601f19909201916020918201910161044b565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146104ca576040519150601f19603f3d011682016040523d82523d6000602084013e6104cf565b606091505b5091509150816104e157805181602001fd5b50505050565b336104f0610924565b6001600160a01b03161461053a576040805162461bcd60e51b815260206004820152600c60248201526b2737ba1030b71037bbb732b960a11b604482015290519081900360640190fd5b6105438161093d565b50565b3361054f610924565b6001600160a01b031614610599576040805162461bcd60e51b815260206004820152600c60248201526b2737ba1030b71037bbb732b960a11b604482015290519081900360640190fd5b60006060836001600160a01b031634846040518082805190602001908083835b602083106105d85780518252601f1990920191602091820191016105b9565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146104ca576040519150601f19603f3d011682016040523d82523d6000602084013e6104cf565b61064261097d565b6001600160a01b0316336001600160a01b03161415610669576106648161093d565b610543565b6105436103bf565b61067961097d565b6001600160a01b0316336001600160a01b031614156107115761069b8361093d565b6000836001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d80600081146106f8576040519150601f19603f3d011682016040523d82523d6000602084013e6106fd565b606091505b505090508061070b57600080fd5b50610719565b6107196103bf565b505050565b600061072861097d565b6001600160a01b0316336001600160a01b03161415610750576107496108db565b9050610758565b6107586103bf565b90565b61076361097d565b6001600160a01b0316336001600160a01b03161415610669576001600160a01b0381166107c15760405162461bcd60e51b815260040180806020018281038252603a815260200180610a74603a913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6107ea61097d565b604080516001600160a01b03928316815291841660208301528051918290030190a1610664816109a2565b600061081f610924565b905090565b3361082d610924565b6001600160a01b031614610877576040805162461bcd60e51b815260206004820152600c60248201526b2737ba1030b71037bbb732b960a11b604482015290519081900360640190fd5b610543816108ab565b600061088a61097d565b6001600160a01b0316336001600160a01b031614156107505761074961097d565b806108b46109c6565b80546001600160a01b0319166001600160a01b039290921691909117905550565b3b151590565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e80801561091f573d6000f35b3d6000fd5b600061092e6109c6565b546001600160a01b0316919050565b61094681610a0b565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b604080517fb4d03667d60278cc15e9a68fa7679dc39ebe71350c4566a2c23c26580da4e0b3602080830191909152825180830382018152918301909252805191012090565b610a14816108d5565b610a4f5760405162461bcd60e51b8152600401808060200182810382526036815260200180610aae6036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5556fe5472616e73706172656e745570677261646561626c6550726f78793a206e65772061646d696e20697320746865207a65726f20616464726573735570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374a2646970667358221220486b8f46c84e133fdcdf09d6e85ae28603a923477471dc965d4d7f5f3634234c64736f6c634300060c00335570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374"; + +type TestnetGovernanceProxyConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: TestnetGovernanceProxyConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class TestnetGovernanceProxy__factory extends ContractFactory { + constructor(...args: TestnetGovernanceProxyConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + _logic: AddressLike, + _data: BytesLike, + overrides?: PayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(_logic, _data, overrides || {}); + } + override deploy( + _logic: AddressLike, + _data: BytesLike, + overrides?: PayableOverrides & { from?: string } + ) { + return super.deploy(_logic, _data, overrides || {}) as Promise< + TestnetGovernanceProxy & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect( + runner: ContractRunner | null + ): TestnetGovernanceProxy__factory { + return super.connect(runner) as TestnetGovernanceProxy__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): TestnetGovernanceProxyInterface { + return new Interface(_abi) as TestnetGovernanceProxyInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): TestnetGovernanceProxy { + return new Contract( + address, + _abi, + runner + ) as unknown as TestnetGovernanceProxy; + } +} diff --git a/typechain-types/factories/contracts/Governance/Testnet/index.ts b/typechain-types/factories/contracts/Governance/Testnet/index.ts new file mode 100644 index 0000000..dc38a4c --- /dev/null +++ b/typechain-types/factories/contracts/Governance/Testnet/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { TestnetAdminProxy__factory } from "./TestnetAdminProxy__factory"; +export { TestnetFeeManager__factory } from "./TestnetFeeManager__factory"; +export { TestnetGovernanceProxy__factory } from "./TestnetGovernanceProxy__factory"; diff --git a/typechain-types/factories/contracts/Governance/TornadoRouter__factory.ts b/typechain-types/factories/contracts/Governance/TornadoRouter__factory.ts new file mode 100644 index 0000000..e8d7692 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/TornadoRouter__factory.ts @@ -0,0 +1,299 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { + Signer, + AddressLike, + ContractDeployTransaction, + ContractRunner, +} from "ethers"; +import type { NonPayableOverrides } from "../../../common"; +import type { + TornadoRouter, + TornadoRouterInterface, +} from "../../../contracts/Governance/TornadoRouter"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "_governance", + type: "address", + }, + { + internalType: "address", + name: "_instanceRegistry", + type: "address", + }, + { + internalType: "address", + name: "_relayerRegistry", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address", + }, + { + indexed: false, + internalType: "bytes", + name: "encryptedNote", + type: "bytes", + }, + ], + name: "EncryptedNote", + type: "event", + }, + { + inputs: [ + { + internalType: "contract IERC20", + name: "_token", + type: "address", + }, + { + internalType: "address", + name: "_spender", + type: "address", + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256", + }, + ], + name: "approveExactToken", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes[]", + name: "_encryptedNotes", + type: "bytes[]", + }, + ], + name: "backupNotes", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "contract ITornadoInstance", + name: "_tornado", + type: "address", + }, + { + internalType: "bytes32", + name: "_commitment", + type: "bytes32", + }, + { + internalType: "bytes", + name: "_encryptedNote", + type: "bytes", + }, + ], + name: "deposit", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [], + name: "governance", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "instanceRegistry", + outputs: [ + { + internalType: "contract InstanceRegistry", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "relayerRegistry", + outputs: [ + { + internalType: "contract RelayerRegistry", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "contract IERC20", + name: "_token", + type: "address", + }, + { + internalType: "address payable", + name: "_to", + type: "address", + }, + { + internalType: "uint256", + name: "_amount", + type: "uint256", + }, + ], + name: "rescueTokens", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "contract ITornadoInstance", + name: "_tornado", + type: "address", + }, + { + internalType: "bytes", + name: "_proof", + type: "bytes", + }, + { + internalType: "bytes32", + name: "_root", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "_nullifierHash", + type: "bytes32", + }, + { + internalType: "address payable", + name: "_recipient", + type: "address", + }, + { + internalType: "address payable", + name: "_relayer", + type: "address", + }, + { + internalType: "uint256", + name: "_fee", + type: "uint256", + }, + { + internalType: "uint256", + name: "_refund", + type: "uint256", + }, + ], + name: "withdraw", + outputs: [], + stateMutability: "payable", + type: "function", + }, +] as const; + +const _bytecode = + "0x60e060405234801561001057600080fd5b5060405161128438038061128483398101604081905261002f91610056565b6001600160601b0319606093841b811660805291831b821660a05290911b1660c0526100ba565b60008060006060848603121561006a578283fd5b8351610075816100a2565b6020850151909350610086816100a2565b6040850151909250610097816100a2565b809150509250925092565b6001600160a01b03811681146100b757600080fd5b50565b60805160601c60a05160601c60c05160601c61117c610108600039806103ff528061059e525080610164528061037a52806103a752806104c8525080610423528061068e525061117c6000f3fe60806040526004361061007b5760003560e01c80635aa6e6751161004e5780635aa6e675146100f55780636485ba2a1461010a578063b438689f1461012a578063cea9d26f1461013d5761007b565b806313d98d131461008057806336a3874b146100955780633ef10783146100c057806347ff589d146100e0575b600080fd5b61009361008e366004610c77565b61015d565b005b3480156100a157600080fd5b506100aa610378565b6040516100b79190610dd0565b60405180910390f35b3480156100cc57600080fd5b506100936100db366004610c37565b61039c565b3480156100ec57600080fd5b506100aa6103fd565b34801561010157600080fd5b506100aa610421565b34801561011657600080fd5b50610093610125366004610b26565b610445565b610093610138366004610cd1565b6104ae565b34801561014957600080fd5b50610093610158366004610c37565b610683565b60008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663032bb443886040518263ffffffff1660e01b81526004016101ae9190610dd0565b60a06040518083038186803b1580156101c657600080fd5b505afa1580156101da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101fe9190610bb1565b5092955090935091506000905081600181111561021757fe5b141561023e5760405162461bcd60e51b815260040161023590610f00565b60405180910390fd5b82156102cc576102cc3330896001600160a01b0316638bca6d166040518163ffffffff1660e01b815260040160206040518083038186803b15801561028257600080fd5b505afa158015610296573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102ba9190610d72565b6001600160a01b038616929190610817565b60405163b214faa560e01b81526001600160a01b0388169063b214faa59034906102fa908a90600401610e5e565b6000604051808303818588803b15801561031357600080fd5b505af1158015610327573d6000803e3d6000fd5b5050505050336001600160a01b03167ffa28df43db3553771f7209dcef046f3bdfea15870ab625dcda30ac58b82b40088686604051610367929190610e67565b60405180910390a250505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103e45760405162461bcd60e51b815260040161023590611087565b6103f86001600160a01b0384168383610875565b505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b60005b818110156103f857337ffa28df43db3553771f7209dcef046f3bdfea15870ab625dcda30ac58b82b400884848481811061047e57fe5b905060200281019061049091906110af565b60405161049e929190610e67565b60405180910390a2600101610448565b60405163032bb44360e01b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063032bb443906104fd908d90600401610dd0565b60a06040518083038186803b15801561051557600080fd5b505afa158015610529573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054d9190610bb1565b509093506000925061055d915050565b81600181111561056957fe5b14156105875760405162461bcd60e51b815260040161023590610f00565b604051631168473b60e21b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906345a11cec906105d790339088908f90600401610de4565b600060405180830381600087803b1580156105f157600080fd5b505af1158015610605573d6000803e3d6000fd5b50506040516310d056db60e11b81526001600160a01b038d1692506321a0adb691503490610645908d908d908d908d908d908d908d908d90600401610e7b565b6000604051808303818588803b15801561065e57600080fd5b505af1158015610672573d6000803e3d6000fd5b505050505050505050505050505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106cb5760405162461bcd60e51b815260040161023590611087565b6001600160a01b0382166106f15760405162461bcd60e51b815260040161023590610f6e565b6001600160a01b03831661074d5747600061070c8284610938565b6040519091506001600160a01b0385169082156108fc029083906000818181858888f19350505050158015610745573d6000803e3d6000fd5b5050506103f8565b6040516370a0823160e01b81526000906001600160a01b038516906370a082319061077c903090600401610dd0565b60206040518083038186803b15801561079457600080fd5b505afa1580156107a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107cc9190610d72565b905060006107da8284610938565b9050600081116107fc5760405162461bcd60e51b815260040161023590610ffa565b6108106001600160a01b0386168583610950565b5050505050565b61086f846323b872dd60e01b85858560405160240161083893929190610e21565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261096f565b50505050565b8015806108fd5750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e906108ab9030908690600401610e07565b60206040518083038186803b1580156108c357600080fd5b505afa1580156108d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108fb9190610d72565b155b6109195760405162461bcd60e51b815260040161023590611031565b6103f88363095ea7b360e01b8484604051602401610838929190610e45565b60008183106109475781610949565b825b9392505050565b6103f88363a9059cbb60e01b8484604051602401610838929190610e45565b60606109c4826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166109fe9092919063ffffffff16565b8051909150156103f857808060200190518101906109e29190610b95565b6103f85760405162461bcd60e51b815260040161023590610fb0565b6060610a0d8484600085610a15565b949350505050565b6060610a2085610ad9565b610a3c5760405162461bcd60e51b815260040161023590610f37565b60006060866001600160a01b03168587604051610a599190610db4565b60006040518083038185875af1925050503d8060008114610a96576040519150601f19603f3d011682016040523d82523d6000602084013e610a9b565b606091505b50915091508115610aaf579150610a0d9050565b805115610abf5780518082602001fd5b8360405162461bcd60e51b81526004016102359190610ecd565b3b151590565b60008083601f840112610af0578182fd5b50813567ffffffffffffffff811115610b07578182fd5b602083019150836020828501011115610b1f57600080fd5b9250929050565b60008060208385031215610b38578182fd5b823567ffffffffffffffff80821115610b4f578384fd5b818501915085601f830112610b62578384fd5b813581811115610b70578485fd5b8660208083028501011115610b83578485fd5b60209290920196919550909350505050565b600060208284031215610ba6578081fd5b815161094981611138565b600080600080600060a08688031215610bc8578081fd5b8551610bd381611138565b6020870151909550610be481611120565b604087015190945060028110610bf8578182fd5b606087015190935062ffffff81168114610c10578182fd5b608087015190925063ffffffff81168114610c29578182fd5b809150509295509295909350565b600080600060608486031215610c4b578283fd5b8335610c5681611120565b92506020840135610c6681611120565b929592945050506040919091013590565b60008060008060608587031215610c8c578384fd5b8435610c9781611120565b935060208501359250604085013567ffffffffffffffff811115610cb9578283fd5b610cc587828801610adf565b95989497509550505050565b60008060008060008060008060006101008a8c031215610cef578384fd5b8935610cfa81611120565b985060208a013567ffffffffffffffff811115610d15578485fd5b610d218c828d01610adf565b90995097505060408a0135955060608a0135945060808a0135610d4381611120565b935060a08a0135610d5381611120565b8093505060c08a0135915060e08a013590509295985092959850929598565b600060208284031215610d83578081fd5b5051919050565b60008284528282602086013780602084860101526020601f19601f85011685010190509392505050565b60008251610dc68184602087016110f4565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b0393841681529183166020830152909116604082015260600190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03929092168252602082015260400190565b90815260200190565b600060208252610a0d602083018486610d8a565b600060e08252610e8f60e083018a8c610d8a565b60208301989098525060408101959095526001600160a01b03938416606086015291909216608084015260a083019190915260c09091015292915050565b6000602082528251806020840152610eec8160408501602087016110f4565b601f01601f19169190910160400192915050565b6020808252601d908201527f54686520696e7374616e6365206973206e6f7420737570706f72746564000000604082015260600190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b60208082526022908201527f544f524e3a2063616e206e6f742073656e6420746f207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b6020808252601e908201527f544f524e3a20747279696e6720746f2073656e6420302062616c616e63650000604082015260600190565b60208082526036908201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60408201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b606082015260800190565b6020808252600e908201526d139bdd08185d5d1a1bdc9a5e995960921b604082015260600190565b6000808335601e198436030181126110c5578283fd5b83018035915067ffffffffffffffff8211156110df578283fd5b602001915036819003821315610b1f57600080fd5b60005b8381101561110f5781810151838201526020016110f7565b8381111561086f5750506000910152565b6001600160a01b038116811461113557600080fd5b50565b801515811461113557600080fdfea26469706673582212209d7fe04aba36de62ec470c0d6176fa1eec04a15a73bce5d2370ff3ab967e9c2564736f6c634300060c0033"; + +type TornadoRouterConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: TornadoRouterConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class TornadoRouter__factory extends ContractFactory { + constructor(...args: TornadoRouterConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + _governance: AddressLike, + _instanceRegistry: AddressLike, + _relayerRegistry: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction( + _governance, + _instanceRegistry, + _relayerRegistry, + overrides || {} + ); + } + override deploy( + _governance: AddressLike, + _instanceRegistry: AddressLike, + _relayerRegistry: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ) { + return super.deploy( + _governance, + _instanceRegistry, + _relayerRegistry, + overrides || {} + ) as Promise< + TornadoRouter & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): TornadoRouter__factory { + return super.connect(runner) as TornadoRouter__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): TornadoRouterInterface { + return new Interface(_abi) as TornadoRouterInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): TornadoRouter { + return new Contract(address, _abi, runner) as unknown as TornadoRouter; + } +} diff --git a/typechain-types/factories/contracts/Governance/TornadoStakingRewards.sol/ITornadoGovernance__factory.ts b/typechain-types/factories/contracts/Governance/TornadoStakingRewards.sol/ITornadoGovernance__factory.ts new file mode 100644 index 0000000..d5f45dc --- /dev/null +++ b/typechain-types/factories/contracts/Governance/TornadoStakingRewards.sol/ITornadoGovernance__factory.ts @@ -0,0 +1,57 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + ITornadoGovernance, + ITornadoGovernanceInterface, +} from "../../../../contracts/Governance/TornadoStakingRewards.sol/ITornadoGovernance"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "lockedBalance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "userVault", + outputs: [ + { + internalType: "contract ITornadoVault", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +export class ITornadoGovernance__factory { + static readonly abi = _abi; + static createInterface(): ITornadoGovernanceInterface { + return new Interface(_abi) as ITornadoGovernanceInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): ITornadoGovernance { + return new Contract(address, _abi, runner) as unknown as ITornadoGovernance; + } +} diff --git a/typechain-types/factories/contracts/Governance/TornadoStakingRewards.sol/ITornadoVault__factory.ts b/typechain-types/factories/contracts/Governance/TornadoStakingRewards.sol/ITornadoVault__factory.ts new file mode 100644 index 0000000..697e2d8 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/TornadoStakingRewards.sol/ITornadoVault__factory.ts @@ -0,0 +1,43 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + ITornadoVault, + ITornadoVaultInterface, +} from "../../../../contracts/Governance/TornadoStakingRewards.sol/ITornadoVault"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "withdrawTorn", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class ITornadoVault__factory { + static readonly abi = _abi; + static createInterface(): ITornadoVaultInterface { + return new Interface(_abi) as ITornadoVaultInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): ITornadoVault { + return new Contract(address, _abi, runner) as unknown as ITornadoVault; + } +} diff --git a/typechain-types/factories/contracts/Governance/TornadoStakingRewards.sol/TornadoStakingRewards__factory.ts b/typechain-types/factories/contracts/Governance/TornadoStakingRewards.sol/TornadoStakingRewards__factory.ts new file mode 100644 index 0000000..7265aeb --- /dev/null +++ b/typechain-types/factories/contracts/Governance/TornadoStakingRewards.sol/TornadoStakingRewards__factory.ts @@ -0,0 +1,328 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { + Signer, + AddressLike, + ContractDeployTransaction, + ContractRunner, +} from "ethers"; +import type { NonPayableOverrides } from "../../../../common"; +import type { + TornadoStakingRewards, + TornadoStakingRewardsInterface, +} from "../../../../contracts/Governance/TornadoStakingRewards.sol/TornadoStakingRewards"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "governanceAddress", + type: "address", + }, + { + internalType: "address", + name: "tornAddress", + type: "address", + }, + { + internalType: "address", + name: "_relayerRegistry", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "rewardsClaimed", + type: "uint256", + }, + ], + name: "RewardsClaimed", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "rewards", + type: "uint256", + }, + ], + name: "RewardsUpdated", + type: "event", + }, + { + inputs: [], + name: "Governance", + outputs: [ + { + internalType: "contract ITornadoGovernance", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "accumulatedRewardPerTorn", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "accumulatedRewardRateOnLastUpdate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "accumulatedRewards", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "addBurnRewards", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "checkReward", + outputs: [ + { + internalType: "uint256", + name: "rewards", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getReward", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "ratioConstant", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "relayerRegistry", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "torn", + outputs: [ + { + internalType: "contract IERC20", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "uint256", + name: "amountLockedBeforehand", + type: "uint256", + }, + ], + name: "updateRewardsOnLockedBalanceChange", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "withdrawTorn", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +const _bytecode = + "0x6101006040523480156200001257600080fd5b506040516200114d3803806200114d8339810160408190526200003591620000e0565b6001600160601b0319606084811b821660a05283811b821660c05282901b1660e052604080516318160ddd60e01b815290516001600160a01b038416916318160ddd916004808301926020929190829003018186803b1580156200009857600080fd5b505afa158015620000ad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000d3919062000133565b6080525062000165915050565b600080600060608486031215620000f5578283fd5b835162000102816200014c565b602085015190935062000115816200014c565b604085015190925062000128816200014c565b809150509250925092565b60006020828403121562000145578081fd5b5051919050565b6001600160a01b03811681146200016257600080fd5b50565b60805160a05160601c60c05160601c60e05160601c610f5e620001ef600039806101bd52806104c852508061020c5280610453528061054652806107b0528061084552508061018b528061023b528061037d5280610522528061056d52806106b75280610752528061086752508061033c52806104fe528061063152806109635250610f5e6000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c8063adf898a411610071578063adf898a414610124578063c3c90e641461012c578063d7ada20d1461013f578063e0d3265214610152578063e113335f1461015a578063f58073b11461016d576100b4565b8063338610af146100b95780633d18b912146100ce57806347ff589d146100d657806373f273fc146100f457806380a1204114610114578063945391121461011c575b600080fd5b6100cc6100c7366004610ce6565b610180565b005b6100cc610375565b6100de6104c6565b6040516100eb9190610d32565b60405180910390f35b610107610102366004610c63565b6104ea565b6040516100eb9190610eda565b6101076104fc565b6100de610520565b6100de610544565b61010761013a366004610c63565b610568565b61010761014d366004610c63565b610694565b6101076106a6565b6100cc610168366004610c7f565b6106ac565b6100cc61017b366004610ce6565b610747565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806101df5750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b6102045760405162461bcd60e51b81526004016101fb90610e33565b60405180910390fd5b61036f6103667f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a082317f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639daafec76040518163ffffffff1660e01b815260040160206040518083038186803b15801561029257600080fd5b505afa1580156102a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102ca9190610cca565b6040518263ffffffff1660e01b81526004016102e69190610d32565b60206040518083038186803b1580156102fe57600080fd5b505afa158015610312573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103369190610cfe565b610360847f000000000000000000000000000000000000000000000000000000000000000061088f565b906108d2565b60015490610914565b60015550565b600061041c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639ae697bf336040518263ffffffff1660e01b81526004016103c79190610d32565b60206040518083038186803b1580156103df57600080fd5b505afa1580156103f3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104179190610cfe565b610939565b3360009081526003602052604090205490915061043a908290610914565b33600081815260036020526040812055909150610482907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690836109f3565b336001600160a01b03167ffc30cddea38e2bf4d6ea7d3f9ed3b6ad7f176419f4963bd81318067a4aee73fe826040516104bb9190610eda565b60405180910390a250565b7f000000000000000000000000000000000000000000000000000000000000000081565b60036020526000908152604090205481565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639ae697bf846040518263ffffffff1660e01b81526004016105b79190610d32565b60206040518083038186803b1580156105cf57600080fd5b505afa1580156105e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106079190610cfe565b90508015610669576001600160a01b038316600090815260026020526040902054600154610666917f00000000000000000000000000000000000000000000000000000000000000009161036091859161066091610a4e565b9061088f565b91505b6001600160a01b03831660009081526003602052604090205461068d908390610914565b9392505050565b60026020526000908152604090205481565b60015481565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106f45760405162461bcd60e51b81526004016101fb90610dc9565b60006107008383610939565b6001600160a01b0384166000908152600360205260409020549091506107269082610914565b6001600160a01b039093166000908152600360205260409020929092555050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461078f5760405162461bcd60e51b81526004016101fb90610dc9565b600019811415610838576040516370a0823160e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a08231906107e5903090600401610d32565b60206040518083038186803b1580156107fd57600080fd5b505afa158015610811573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108359190610cfe565b90505b61088c6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f0000000000000000000000000000000000000000000000000000000000000000836109f3565b50565b60008261089e575060006108cc565b828202828482816108ab57fe5b04146108c95760405162461bcd60e51b81526004016101fb90610df2565b90505b92915050565b60006108c983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610a90565b6000828201838110156108c95760405162461bcd60e51b81526004016101fb90610d92565b60008115610995576001600160a01b038316600090815260026020526040902054600154610992917f00000000000000000000000000000000000000000000000000000000000000009161036091869161066091610a4e565b90505b6001546001600160a01b038416600081815260026020526040908190209290925590517f39fe62076cf7adf3c60e355a2da5a4f17a958ca319e8eba385a6c09a8b649016906109e5908490610eda565b60405180910390a292915050565b610a498363a9059cbb60e01b8484604051602401610a12929190610d46565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610ac7565b505050565b60006108c983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610b56565b60008183610ab15760405162461bcd60e51b81526004016101fb9190610d5f565b506000838581610abd57fe5b0495945050505050565b6060610b1c826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610b829092919063ffffffff16565b805190915015610a495780806020019051810190610b3a9190610caa565b610a495760405162461bcd60e51b81526004016101fb90610e90565b60008184841115610b7a5760405162461bcd60e51b81526004016101fb9190610d5f565b505050900390565b6060610b918484600085610b99565b949350505050565b6060610ba485610c5d565b610bc05760405162461bcd60e51b81526004016101fb90610e59565b60006060866001600160a01b03168587604051610bdd9190610d16565b60006040518083038185875af1925050503d8060008114610c1a576040519150601f19603f3d011682016040523d82523d6000602084013e610c1f565b606091505b50915091508115610c33579150610b919050565b805115610c435780518082602001fd5b8360405162461bcd60e51b81526004016101fb9190610d5f565b3b151590565b600060208284031215610c74578081fd5b81356108c981610f13565b60008060408385031215610c91578081fd5b8235610c9c81610f13565b946020939093013593505050565b600060208284031215610cbb578081fd5b815180151581146108c9578182fd5b600060208284031215610cdb578081fd5b81516108c981610f13565b600060208284031215610cf7578081fd5b5035919050565b600060208284031215610d0f578081fd5b5051919050565b60008251610d28818460208701610ee3565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6000602082528251806020840152610d7e816040850160208701610ee3565b601f01601f19169190910160400192915050565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252600f908201526e6f6e6c7920676f7665726e616e636560881b604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252600c908201526b1d5b985d5d1a1bdc9a5e995960a21b604082015260600190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b90815260200190565b60005b83811015610efe578181015183820152602001610ee6565b83811115610f0d576000848401525b50505050565b6001600160a01b038116811461088c57600080fdfea26469706673582212205243f8df41704c99bb0876cbda927f702de9dce11a8394f252f0e4abd7d2778364736f6c634300060c0033"; + +type TornadoStakingRewardsConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: TornadoStakingRewardsConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class TornadoStakingRewards__factory extends ContractFactory { + constructor(...args: TornadoStakingRewardsConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + governanceAddress: AddressLike, + tornAddress: AddressLike, + _relayerRegistry: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction( + governanceAddress, + tornAddress, + _relayerRegistry, + overrides || {} + ); + } + override deploy( + governanceAddress: AddressLike, + tornAddress: AddressLike, + _relayerRegistry: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ) { + return super.deploy( + governanceAddress, + tornAddress, + _relayerRegistry, + overrides || {} + ) as Promise< + TornadoStakingRewards & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect( + runner: ContractRunner | null + ): TornadoStakingRewards__factory { + return super.connect(runner) as TornadoStakingRewards__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): TornadoStakingRewardsInterface { + return new Interface(_abi) as TornadoStakingRewardsInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): TornadoStakingRewards { + return new Contract( + address, + _abi, + runner + ) as unknown as TornadoStakingRewards; + } +} diff --git a/typechain-types/factories/contracts/Governance/TornadoStakingRewards.sol/index.ts b/typechain-types/factories/contracts/Governance/TornadoStakingRewards.sol/index.ts new file mode 100644 index 0000000..e9ab86c --- /dev/null +++ b/typechain-types/factories/contracts/Governance/TornadoStakingRewards.sol/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { ITornadoGovernance__factory } from "./ITornadoGovernance__factory"; +export { ITornadoVault__factory } from "./ITornadoVault__factory"; +export { TornadoStakingRewards__factory } from "./TornadoStakingRewards__factory"; diff --git a/typechain-types/factories/contracts/Governance/TornadoVault__factory.ts b/typechain-types/factories/contracts/Governance/TornadoVault__factory.ts new file mode 100644 index 0000000..8752a1d --- /dev/null +++ b/typechain-types/factories/contracts/Governance/TornadoVault__factory.ts @@ -0,0 +1,112 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { + Signer, + AddressLike, + ContractDeployTransaction, + ContractRunner, +} from "ethers"; +import type { NonPayableOverrides } from "../../../common"; +import type { + TornadoVault, + TornadoVaultInterface, +} from "../../../contracts/Governance/TornadoVault"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "_torn", + type: "address", + }, + { + internalType: "address", + name: "_governance", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "withdrawTorn", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +const _bytecode = + "0x60c060405234801561001057600080fd5b506040516104aa3803806104aa8339818101604052604081101561003357600080fd5b5080516020909101516001600160601b0319606092831b8116608052911b1660a05260805160601c60a05160601c61042e61007c60003980606952508060d3525061042e6000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c806391fe357314610030575b600080fd5b61005c6004803603604081101561004657600080fd5b506001600160a01b03813516906020013561005e565b005b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146100c6576040805162461bcd60e51b815260206004820152600860248201526737b7363c9033b7bb60c11b604482015290519081900360640190fd5b6100fa6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001683836100fe565b5050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610150908490610155565b505050565b60606101aa826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166102069092919063ffffffff16565b805190915015610150578080602001905160208110156101c957600080fd5b50516101505760405162461bcd60e51b815260040180806020018281038252602a8152602001806103cf602a913960400191505060405180910390fd5b6060610215848460008561021d565b949350505050565b6060610228856103c8565b610279576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106102b85780518252601f199092019160209182019101610299565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d806000811461031a576040519150601f19603f3d011682016040523d82523d6000602084013e61031f565b606091505b509150915081156103335791506102159050565b8051156103435780518082602001fd5b8360405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561038d578181015183820152602001610375565b50505050905090810190601f1680156103ba5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b3b15159056fe5361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a26469706673582212208fc65ae8299d617f6cff836a2822363849c7fb35b0b27a6f0aebfa62084005c764736f6c634300060c0033"; + +type TornadoVaultConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: TornadoVaultConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class TornadoVault__factory extends ContractFactory { + constructor(...args: TornadoVaultConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + _torn: AddressLike, + _governance: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(_torn, _governance, overrides || {}); + } + override deploy( + _torn: AddressLike, + _governance: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ) { + return super.deploy(_torn, _governance, overrides || {}) as Promise< + TornadoVault & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): TornadoVault__factory { + return super.connect(runner) as TornadoVault__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): TornadoVaultInterface { + return new Interface(_abi) as TornadoVaultInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): TornadoVault { + return new Contract(address, _abi, runner) as unknown as TornadoVault; + } +} diff --git a/typechain-types/factories/contracts/Governance/Uniswap/index.ts b/typechain-types/factories/contracts/Governance/Uniswap/index.ts new file mode 100644 index 0000000..803fd16 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/Uniswap/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as v3Core from "./v3-core"; diff --git a/typechain-types/factories/contracts/Governance/Uniswap/v3-core/contracts/index.ts b/typechain-types/factories/contracts/Governance/Uniswap/v3-core/contracts/index.ts new file mode 100644 index 0000000..1d3444d --- /dev/null +++ b/typechain-types/factories/contracts/Governance/Uniswap/v3-core/contracts/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as interfaces from "./interfaces"; diff --git a/typechain-types/factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/IUniswapV3Factory__factory.ts b/typechain-types/factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/IUniswapV3Factory__factory.ts new file mode 100644 index 0000000..684e763 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/IUniswapV3Factory__factory.ts @@ -0,0 +1,221 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IUniswapV3Factory, + IUniswapV3FactoryInterface, +} from "../../../../../../../contracts/Governance/Uniswap/v3-core/contracts/interfaces/IUniswapV3Factory"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint24", + name: "fee", + type: "uint24", + }, + { + indexed: true, + internalType: "int24", + name: "tickSpacing", + type: "int24", + }, + ], + name: "FeeAmountEnabled", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "oldOwner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "newOwner", + type: "address", + }, + ], + name: "OwnerChanged", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "token0", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "token1", + type: "address", + }, + { + indexed: true, + internalType: "uint24", + name: "fee", + type: "uint24", + }, + { + indexed: false, + internalType: "int24", + name: "tickSpacing", + type: "int24", + }, + { + indexed: false, + internalType: "address", + name: "pool", + type: "address", + }, + ], + name: "PoolCreated", + type: "event", + }, + { + inputs: [ + { + internalType: "address", + name: "tokenA", + type: "address", + }, + { + internalType: "address", + name: "tokenB", + type: "address", + }, + { + internalType: "uint24", + name: "fee", + type: "uint24", + }, + ], + name: "createPool", + outputs: [ + { + internalType: "address", + name: "pool", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint24", + name: "fee", + type: "uint24", + }, + { + internalType: "int24", + name: "tickSpacing", + type: "int24", + }, + ], + name: "enableFeeAmount", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint24", + name: "fee", + type: "uint24", + }, + ], + name: "feeAmountTickSpacing", + outputs: [ + { + internalType: "int24", + name: "", + type: "int24", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "tokenA", + type: "address", + }, + { + internalType: "address", + name: "tokenB", + type: "address", + }, + { + internalType: "uint24", + name: "fee", + type: "uint24", + }, + ], + name: "getPool", + outputs: [ + { + internalType: "address", + name: "pool", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_owner", + type: "address", + }, + ], + name: "setOwner", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IUniswapV3Factory__factory { + static readonly abi = _abi; + static createInterface(): IUniswapV3FactoryInterface { + return new Interface(_abi) as IUniswapV3FactoryInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): IUniswapV3Factory { + return new Contract(address, _abi, runner) as unknown as IUniswapV3Factory; + } +} diff --git a/typechain-types/factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/IUniswapV3Pool__factory.ts b/typechain-types/factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/IUniswapV3Pool__factory.ts new file mode 100644 index 0000000..b418dc0 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/IUniswapV3Pool__factory.ts @@ -0,0 +1,1006 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IUniswapV3Pool, + IUniswapV3PoolInterface, +} from "../../../../../../../contracts/Governance/Uniswap/v3-core/contracts/interfaces/IUniswapV3Pool"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: true, + internalType: "int24", + name: "tickLower", + type: "int24", + }, + { + indexed: true, + internalType: "int24", + name: "tickUpper", + type: "int24", + }, + { + indexed: false, + internalType: "uint128", + name: "amount", + type: "uint128", + }, + { + indexed: false, + internalType: "uint256", + name: "amount0", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "amount1", + type: "uint256", + }, + ], + name: "Burn", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "recipient", + type: "address", + }, + { + indexed: true, + internalType: "int24", + name: "tickLower", + type: "int24", + }, + { + indexed: true, + internalType: "int24", + name: "tickUpper", + type: "int24", + }, + { + indexed: false, + internalType: "uint128", + name: "amount0", + type: "uint128", + }, + { + indexed: false, + internalType: "uint128", + name: "amount1", + type: "uint128", + }, + ], + name: "Collect", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "recipient", + type: "address", + }, + { + indexed: false, + internalType: "uint128", + name: "amount0", + type: "uint128", + }, + { + indexed: false, + internalType: "uint128", + name: "amount1", + type: "uint128", + }, + ], + name: "CollectProtocol", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "recipient", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "amount0", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "amount1", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "paid0", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "paid1", + type: "uint256", + }, + ], + name: "Flash", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint16", + name: "observationCardinalityNextOld", + type: "uint16", + }, + { + indexed: false, + internalType: "uint16", + name: "observationCardinalityNextNew", + type: "uint16", + }, + ], + name: "IncreaseObservationCardinalityNext", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint160", + name: "sqrtPriceX96", + type: "uint160", + }, + { + indexed: false, + internalType: "int24", + name: "tick", + type: "int24", + }, + ], + name: "Initialize", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "sender", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: true, + internalType: "int24", + name: "tickLower", + type: "int24", + }, + { + indexed: true, + internalType: "int24", + name: "tickUpper", + type: "int24", + }, + { + indexed: false, + internalType: "uint128", + name: "amount", + type: "uint128", + }, + { + indexed: false, + internalType: "uint256", + name: "amount0", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "amount1", + type: "uint256", + }, + ], + name: "Mint", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint8", + name: "feeProtocol0Old", + type: "uint8", + }, + { + indexed: false, + internalType: "uint8", + name: "feeProtocol1Old", + type: "uint8", + }, + { + indexed: false, + internalType: "uint8", + name: "feeProtocol0New", + type: "uint8", + }, + { + indexed: false, + internalType: "uint8", + name: "feeProtocol1New", + type: "uint8", + }, + ], + name: "SetFeeProtocol", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "recipient", + type: "address", + }, + { + indexed: false, + internalType: "int256", + name: "amount0", + type: "int256", + }, + { + indexed: false, + internalType: "int256", + name: "amount1", + type: "int256", + }, + { + indexed: false, + internalType: "uint160", + name: "sqrtPriceX96", + type: "uint160", + }, + { + indexed: false, + internalType: "uint128", + name: "liquidity", + type: "uint128", + }, + { + indexed: false, + internalType: "int24", + name: "tick", + type: "int24", + }, + ], + name: "Swap", + type: "event", + }, + { + inputs: [ + { + internalType: "int24", + name: "tickLower", + type: "int24", + }, + { + internalType: "int24", + name: "tickUpper", + type: "int24", + }, + { + internalType: "uint128", + name: "amount", + type: "uint128", + }, + ], + name: "burn", + outputs: [ + { + internalType: "uint256", + name: "amount0", + type: "uint256", + }, + { + internalType: "uint256", + name: "amount1", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "int24", + name: "tickLower", + type: "int24", + }, + { + internalType: "int24", + name: "tickUpper", + type: "int24", + }, + { + internalType: "uint128", + name: "amount0Requested", + type: "uint128", + }, + { + internalType: "uint128", + name: "amount1Requested", + type: "uint128", + }, + ], + name: "collect", + outputs: [ + { + internalType: "uint128", + name: "amount0", + type: "uint128", + }, + { + internalType: "uint128", + name: "amount1", + type: "uint128", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "uint128", + name: "amount0Requested", + type: "uint128", + }, + { + internalType: "uint128", + name: "amount1Requested", + type: "uint128", + }, + ], + name: "collectProtocol", + outputs: [ + { + internalType: "uint128", + name: "amount0", + type: "uint128", + }, + { + internalType: "uint128", + name: "amount1", + type: "uint128", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "factory", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "fee", + outputs: [ + { + internalType: "uint24", + name: "", + type: "uint24", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "feeGrowthGlobal0X128", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "feeGrowthGlobal1X128", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "uint256", + name: "amount0", + type: "uint256", + }, + { + internalType: "uint256", + name: "amount1", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "flash", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint16", + name: "observationCardinalityNext", + type: "uint16", + }, + ], + name: "increaseObservationCardinalityNext", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint160", + name: "sqrtPriceX96", + type: "uint160", + }, + ], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "liquidity", + outputs: [ + { + internalType: "uint128", + name: "", + type: "uint128", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "maxLiquidityPerTick", + outputs: [ + { + internalType: "uint128", + name: "", + type: "uint128", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "int24", + name: "tickLower", + type: "int24", + }, + { + internalType: "int24", + name: "tickUpper", + type: "int24", + }, + { + internalType: "uint128", + name: "amount", + type: "uint128", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "mint", + outputs: [ + { + internalType: "uint256", + name: "amount0", + type: "uint256", + }, + { + internalType: "uint256", + name: "amount1", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "index", + type: "uint256", + }, + ], + name: "observations", + outputs: [ + { + internalType: "uint32", + name: "blockTimestamp", + type: "uint32", + }, + { + internalType: "int56", + name: "tickCumulative", + type: "int56", + }, + { + internalType: "uint160", + name: "secondsPerLiquidityCumulativeX128", + type: "uint160", + }, + { + internalType: "bool", + name: "initialized", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint32[]", + name: "secondsAgos", + type: "uint32[]", + }, + ], + name: "observe", + outputs: [ + { + internalType: "int56[]", + name: "tickCumulatives", + type: "int56[]", + }, + { + internalType: "uint160[]", + name: "secondsPerLiquidityCumulativeX128s", + type: "uint160[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "key", + type: "bytes32", + }, + ], + name: "positions", + outputs: [ + { + internalType: "uint128", + name: "_liquidity", + type: "uint128", + }, + { + internalType: "uint256", + name: "feeGrowthInside0LastX128", + type: "uint256", + }, + { + internalType: "uint256", + name: "feeGrowthInside1LastX128", + type: "uint256", + }, + { + internalType: "uint128", + name: "tokensOwed0", + type: "uint128", + }, + { + internalType: "uint128", + name: "tokensOwed1", + type: "uint128", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "protocolFees", + outputs: [ + { + internalType: "uint128", + name: "token0", + type: "uint128", + }, + { + internalType: "uint128", + name: "token1", + type: "uint128", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint8", + name: "feeProtocol0", + type: "uint8", + }, + { + internalType: "uint8", + name: "feeProtocol1", + type: "uint8", + }, + ], + name: "setFeeProtocol", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "slot0", + outputs: [ + { + internalType: "uint160", + name: "sqrtPriceX96", + type: "uint160", + }, + { + internalType: "int24", + name: "tick", + type: "int24", + }, + { + internalType: "uint16", + name: "observationIndex", + type: "uint16", + }, + { + internalType: "uint16", + name: "observationCardinality", + type: "uint16", + }, + { + internalType: "uint16", + name: "observationCardinalityNext", + type: "uint16", + }, + { + internalType: "uint8", + name: "feeProtocol", + type: "uint8", + }, + { + internalType: "bool", + name: "unlocked", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "int24", + name: "tickLower", + type: "int24", + }, + { + internalType: "int24", + name: "tickUpper", + type: "int24", + }, + ], + name: "snapshotCumulativesInside", + outputs: [ + { + internalType: "int56", + name: "tickCumulativeInside", + type: "int56", + }, + { + internalType: "uint160", + name: "secondsPerLiquidityInsideX128", + type: "uint160", + }, + { + internalType: "uint32", + name: "secondsInside", + type: "uint32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "bool", + name: "zeroForOne", + type: "bool", + }, + { + internalType: "int256", + name: "amountSpecified", + type: "int256", + }, + { + internalType: "uint160", + name: "sqrtPriceLimitX96", + type: "uint160", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "swap", + outputs: [ + { + internalType: "int256", + name: "amount0", + type: "int256", + }, + { + internalType: "int256", + name: "amount1", + type: "int256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "int16", + name: "wordPosition", + type: "int16", + }, + ], + name: "tickBitmap", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "tickSpacing", + outputs: [ + { + internalType: "int24", + name: "", + type: "int24", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "int24", + name: "tick", + type: "int24", + }, + ], + name: "ticks", + outputs: [ + { + internalType: "uint128", + name: "liquidityGross", + type: "uint128", + }, + { + internalType: "int128", + name: "liquidityNet", + type: "int128", + }, + { + internalType: "uint256", + name: "feeGrowthOutside0X128", + type: "uint256", + }, + { + internalType: "uint256", + name: "feeGrowthOutside1X128", + type: "uint256", + }, + { + internalType: "int56", + name: "tickCumulativeOutside", + type: "int56", + }, + { + internalType: "uint160", + name: "secondsPerLiquidityOutsideX128", + type: "uint160", + }, + { + internalType: "uint32", + name: "secondsOutside", + type: "uint32", + }, + { + internalType: "bool", + name: "initialized", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "token0", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "token1", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +export class IUniswapV3Pool__factory { + static readonly abi = _abi; + static createInterface(): IUniswapV3PoolInterface { + return new Interface(_abi) as IUniswapV3PoolInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): IUniswapV3Pool { + return new Contract(address, _abi, runner) as unknown as IUniswapV3Pool; + } +} diff --git a/typechain-types/factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/index.ts b/typechain-types/factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/index.ts new file mode 100644 index 0000000..900e3d2 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as pool from "./pool"; +export { IUniswapV3Factory__factory } from "./IUniswapV3Factory__factory"; +export { IUniswapV3Pool__factory } from "./IUniswapV3Pool__factory"; diff --git a/typechain-types/factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions__factory.ts b/typechain-types/factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions__factory.ts new file mode 100644 index 0000000..37576c2 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions__factory.ts @@ -0,0 +1,249 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IUniswapV3PoolActions, + IUniswapV3PoolActionsInterface, +} from "../../../../../../../../contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions"; + +const _abi = [ + { + inputs: [ + { + internalType: "int24", + name: "tickLower", + type: "int24", + }, + { + internalType: "int24", + name: "tickUpper", + type: "int24", + }, + { + internalType: "uint128", + name: "amount", + type: "uint128", + }, + ], + name: "burn", + outputs: [ + { + internalType: "uint256", + name: "amount0", + type: "uint256", + }, + { + internalType: "uint256", + name: "amount1", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "int24", + name: "tickLower", + type: "int24", + }, + { + internalType: "int24", + name: "tickUpper", + type: "int24", + }, + { + internalType: "uint128", + name: "amount0Requested", + type: "uint128", + }, + { + internalType: "uint128", + name: "amount1Requested", + type: "uint128", + }, + ], + name: "collect", + outputs: [ + { + internalType: "uint128", + name: "amount0", + type: "uint128", + }, + { + internalType: "uint128", + name: "amount1", + type: "uint128", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "uint256", + name: "amount0", + type: "uint256", + }, + { + internalType: "uint256", + name: "amount1", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "flash", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint16", + name: "observationCardinalityNext", + type: "uint16", + }, + ], + name: "increaseObservationCardinalityNext", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint160", + name: "sqrtPriceX96", + type: "uint160", + }, + ], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "int24", + name: "tickLower", + type: "int24", + }, + { + internalType: "int24", + name: "tickUpper", + type: "int24", + }, + { + internalType: "uint128", + name: "amount", + type: "uint128", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "mint", + outputs: [ + { + internalType: "uint256", + name: "amount0", + type: "uint256", + }, + { + internalType: "uint256", + name: "amount1", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "bool", + name: "zeroForOne", + type: "bool", + }, + { + internalType: "int256", + name: "amountSpecified", + type: "int256", + }, + { + internalType: "uint160", + name: "sqrtPriceLimitX96", + type: "uint160", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "swap", + outputs: [ + { + internalType: "int256", + name: "amount0", + type: "int256", + }, + { + internalType: "int256", + name: "amount1", + type: "int256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IUniswapV3PoolActions__factory { + static readonly abi = _abi; + static createInterface(): IUniswapV3PoolActionsInterface { + return new Interface(_abi) as IUniswapV3PoolActionsInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): IUniswapV3PoolActions { + return new Contract( + address, + _abi, + runner + ) as unknown as IUniswapV3PoolActions; + } +} diff --git a/typechain-types/factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState__factory.ts b/typechain-types/factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState__factory.ts new file mode 100644 index 0000000..e253100 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState__factory.ts @@ -0,0 +1,87 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IUniswapV3PoolDerivedState, + IUniswapV3PoolDerivedStateInterface, +} from "../../../../../../../../contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState"; + +const _abi = [ + { + inputs: [ + { + internalType: "uint32[]", + name: "secondsAgos", + type: "uint32[]", + }, + ], + name: "observe", + outputs: [ + { + internalType: "int56[]", + name: "tickCumulatives", + type: "int56[]", + }, + { + internalType: "uint160[]", + name: "secondsPerLiquidityCumulativeX128s", + type: "uint160[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "int24", + name: "tickLower", + type: "int24", + }, + { + internalType: "int24", + name: "tickUpper", + type: "int24", + }, + ], + name: "snapshotCumulativesInside", + outputs: [ + { + internalType: "int56", + name: "tickCumulativeInside", + type: "int56", + }, + { + internalType: "uint160", + name: "secondsPerLiquidityInsideX128", + type: "uint160", + }, + { + internalType: "uint32", + name: "secondsInside", + type: "uint32", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +export class IUniswapV3PoolDerivedState__factory { + static readonly abi = _abi; + static createInterface(): IUniswapV3PoolDerivedStateInterface { + return new Interface(_abi) as IUniswapV3PoolDerivedStateInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): IUniswapV3PoolDerivedState { + return new Contract( + address, + _abi, + runner + ) as unknown as IUniswapV3PoolDerivedState; + } +} diff --git a/typechain-types/factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents__factory.ts b/typechain-types/factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents__factory.ts new file mode 100644 index 0000000..1c08ab9 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents__factory.ts @@ -0,0 +1,356 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IUniswapV3PoolEvents, + IUniswapV3PoolEventsInterface, +} from "../../../../../../../../contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: true, + internalType: "int24", + name: "tickLower", + type: "int24", + }, + { + indexed: true, + internalType: "int24", + name: "tickUpper", + type: "int24", + }, + { + indexed: false, + internalType: "uint128", + name: "amount", + type: "uint128", + }, + { + indexed: false, + internalType: "uint256", + name: "amount0", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "amount1", + type: "uint256", + }, + ], + name: "Burn", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "recipient", + type: "address", + }, + { + indexed: true, + internalType: "int24", + name: "tickLower", + type: "int24", + }, + { + indexed: true, + internalType: "int24", + name: "tickUpper", + type: "int24", + }, + { + indexed: false, + internalType: "uint128", + name: "amount0", + type: "uint128", + }, + { + indexed: false, + internalType: "uint128", + name: "amount1", + type: "uint128", + }, + ], + name: "Collect", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "recipient", + type: "address", + }, + { + indexed: false, + internalType: "uint128", + name: "amount0", + type: "uint128", + }, + { + indexed: false, + internalType: "uint128", + name: "amount1", + type: "uint128", + }, + ], + name: "CollectProtocol", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "recipient", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "amount0", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "amount1", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "paid0", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "paid1", + type: "uint256", + }, + ], + name: "Flash", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint16", + name: "observationCardinalityNextOld", + type: "uint16", + }, + { + indexed: false, + internalType: "uint16", + name: "observationCardinalityNextNew", + type: "uint16", + }, + ], + name: "IncreaseObservationCardinalityNext", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint160", + name: "sqrtPriceX96", + type: "uint160", + }, + { + indexed: false, + internalType: "int24", + name: "tick", + type: "int24", + }, + ], + name: "Initialize", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "sender", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: true, + internalType: "int24", + name: "tickLower", + type: "int24", + }, + { + indexed: true, + internalType: "int24", + name: "tickUpper", + type: "int24", + }, + { + indexed: false, + internalType: "uint128", + name: "amount", + type: "uint128", + }, + { + indexed: false, + internalType: "uint256", + name: "amount0", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "amount1", + type: "uint256", + }, + ], + name: "Mint", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint8", + name: "feeProtocol0Old", + type: "uint8", + }, + { + indexed: false, + internalType: "uint8", + name: "feeProtocol1Old", + type: "uint8", + }, + { + indexed: false, + internalType: "uint8", + name: "feeProtocol0New", + type: "uint8", + }, + { + indexed: false, + internalType: "uint8", + name: "feeProtocol1New", + type: "uint8", + }, + ], + name: "SetFeeProtocol", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "sender", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "recipient", + type: "address", + }, + { + indexed: false, + internalType: "int256", + name: "amount0", + type: "int256", + }, + { + indexed: false, + internalType: "int256", + name: "amount1", + type: "int256", + }, + { + indexed: false, + internalType: "uint160", + name: "sqrtPriceX96", + type: "uint160", + }, + { + indexed: false, + internalType: "uint128", + name: "liquidity", + type: "uint128", + }, + { + indexed: false, + internalType: "int24", + name: "tick", + type: "int24", + }, + ], + name: "Swap", + type: "event", + }, +] as const; + +export class IUniswapV3PoolEvents__factory { + static readonly abi = _abi; + static createInterface(): IUniswapV3PoolEventsInterface { + return new Interface(_abi) as IUniswapV3PoolEventsInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): IUniswapV3PoolEvents { + return new Contract( + address, + _abi, + runner + ) as unknown as IUniswapV3PoolEvents; + } +} diff --git a/typechain-types/factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables__factory.ts b/typechain-types/factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables__factory.ts new file mode 100644 index 0000000..69afd27 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables__factory.ts @@ -0,0 +1,107 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IUniswapV3PoolImmutables, + IUniswapV3PoolImmutablesInterface, +} from "../../../../../../../../contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables"; + +const _abi = [ + { + inputs: [], + name: "factory", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "fee", + outputs: [ + { + internalType: "uint24", + name: "", + type: "uint24", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "maxLiquidityPerTick", + outputs: [ + { + internalType: "uint128", + name: "", + type: "uint128", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "tickSpacing", + outputs: [ + { + internalType: "int24", + name: "", + type: "int24", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "token0", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "token1", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +export class IUniswapV3PoolImmutables__factory { + static readonly abi = _abi; + static createInterface(): IUniswapV3PoolImmutablesInterface { + return new Interface(_abi) as IUniswapV3PoolImmutablesInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): IUniswapV3PoolImmutables { + return new Contract( + address, + _abi, + runner + ) as unknown as IUniswapV3PoolImmutables; + } +} diff --git a/typechain-types/factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions__factory.ts b/typechain-types/factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions__factory.ts new file mode 100644 index 0000000..a7e8972 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions__factory.ts @@ -0,0 +1,81 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IUniswapV3PoolOwnerActions, + IUniswapV3PoolOwnerActionsInterface, +} from "../../../../../../../../contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "uint128", + name: "amount0Requested", + type: "uint128", + }, + { + internalType: "uint128", + name: "amount1Requested", + type: "uint128", + }, + ], + name: "collectProtocol", + outputs: [ + { + internalType: "uint128", + name: "amount0", + type: "uint128", + }, + { + internalType: "uint128", + name: "amount1", + type: "uint128", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint8", + name: "feeProtocol0", + type: "uint8", + }, + { + internalType: "uint8", + name: "feeProtocol1", + type: "uint8", + }, + ], + name: "setFeeProtocol", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IUniswapV3PoolOwnerActions__factory { + static readonly abi = _abi; + static createInterface(): IUniswapV3PoolOwnerActionsInterface { + return new Interface(_abi) as IUniswapV3PoolOwnerActionsInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): IUniswapV3PoolOwnerActions { + return new Contract( + address, + _abi, + runner + ) as unknown as IUniswapV3PoolOwnerActions; + } +} diff --git a/typechain-types/factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolState__factory.ts b/typechain-types/factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolState__factory.ts new file mode 100644 index 0000000..868b288 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolState__factory.ts @@ -0,0 +1,275 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IUniswapV3PoolState, + IUniswapV3PoolStateInterface, +} from "../../../../../../../../contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolState"; + +const _abi = [ + { + inputs: [], + name: "feeGrowthGlobal0X128", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "feeGrowthGlobal1X128", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "liquidity", + outputs: [ + { + internalType: "uint128", + name: "", + type: "uint128", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "index", + type: "uint256", + }, + ], + name: "observations", + outputs: [ + { + internalType: "uint32", + name: "blockTimestamp", + type: "uint32", + }, + { + internalType: "int56", + name: "tickCumulative", + type: "int56", + }, + { + internalType: "uint160", + name: "secondsPerLiquidityCumulativeX128", + type: "uint160", + }, + { + internalType: "bool", + name: "initialized", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "key", + type: "bytes32", + }, + ], + name: "positions", + outputs: [ + { + internalType: "uint128", + name: "_liquidity", + type: "uint128", + }, + { + internalType: "uint256", + name: "feeGrowthInside0LastX128", + type: "uint256", + }, + { + internalType: "uint256", + name: "feeGrowthInside1LastX128", + type: "uint256", + }, + { + internalType: "uint128", + name: "tokensOwed0", + type: "uint128", + }, + { + internalType: "uint128", + name: "tokensOwed1", + type: "uint128", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "protocolFees", + outputs: [ + { + internalType: "uint128", + name: "token0", + type: "uint128", + }, + { + internalType: "uint128", + name: "token1", + type: "uint128", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "slot0", + outputs: [ + { + internalType: "uint160", + name: "sqrtPriceX96", + type: "uint160", + }, + { + internalType: "int24", + name: "tick", + type: "int24", + }, + { + internalType: "uint16", + name: "observationIndex", + type: "uint16", + }, + { + internalType: "uint16", + name: "observationCardinality", + type: "uint16", + }, + { + internalType: "uint16", + name: "observationCardinalityNext", + type: "uint16", + }, + { + internalType: "uint8", + name: "feeProtocol", + type: "uint8", + }, + { + internalType: "bool", + name: "unlocked", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "int16", + name: "wordPosition", + type: "int16", + }, + ], + name: "tickBitmap", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "int24", + name: "tick", + type: "int24", + }, + ], + name: "ticks", + outputs: [ + { + internalType: "uint128", + name: "liquidityGross", + type: "uint128", + }, + { + internalType: "int128", + name: "liquidityNet", + type: "int128", + }, + { + internalType: "uint256", + name: "feeGrowthOutside0X128", + type: "uint256", + }, + { + internalType: "uint256", + name: "feeGrowthOutside1X128", + type: "uint256", + }, + { + internalType: "int56", + name: "tickCumulativeOutside", + type: "int56", + }, + { + internalType: "uint160", + name: "secondsPerLiquidityOutsideX128", + type: "uint160", + }, + { + internalType: "uint32", + name: "secondsOutside", + type: "uint32", + }, + { + internalType: "bool", + name: "initialized", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +export class IUniswapV3PoolState__factory { + static readonly abi = _abi; + static createInterface(): IUniswapV3PoolStateInterface { + return new Interface(_abi) as IUniswapV3PoolStateInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): IUniswapV3PoolState { + return new Contract( + address, + _abi, + runner + ) as unknown as IUniswapV3PoolState; + } +} diff --git a/typechain-types/factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/index.ts b/typechain-types/factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/index.ts new file mode 100644 index 0000000..eaf5187 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/index.ts @@ -0,0 +1,9 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { IUniswapV3PoolActions__factory } from "./IUniswapV3PoolActions__factory"; +export { IUniswapV3PoolDerivedState__factory } from "./IUniswapV3PoolDerivedState__factory"; +export { IUniswapV3PoolEvents__factory } from "./IUniswapV3PoolEvents__factory"; +export { IUniswapV3PoolImmutables__factory } from "./IUniswapV3PoolImmutables__factory"; +export { IUniswapV3PoolOwnerActions__factory } from "./IUniswapV3PoolOwnerActions__factory"; +export { IUniswapV3PoolState__factory } from "./IUniswapV3PoolState__factory"; diff --git a/typechain-types/factories/contracts/Governance/Uniswap/v3-core/index.ts b/typechain-types/factories/contracts/Governance/Uniswap/v3-core/index.ts new file mode 100644 index 0000000..6397da0 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/Uniswap/v3-core/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as contracts from "./contracts"; diff --git a/typechain-types/factories/contracts/Governance/index.ts b/typechain-types/factories/contracts/Governance/index.ts new file mode 100644 index 0000000..fc86272 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/index.ts @@ -0,0 +1,24 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as aggregator from "./Aggregator"; +export * as deployerSol from "./Deployer.sol"; +export * as instanceRegistrySol from "./InstanceRegistry.sol"; +export * as relayerRegistrySol from "./RelayerRegistry.sol"; +export * as torn from "./TORN"; +export * as testnet from "./Testnet"; +export * as tornadoStakingRewardsSol from "./TornadoStakingRewards.sol"; +export * as uniswap from "./Uniswap"; +export * as interfaces from "./interfaces"; +export * as libraries from "./libraries"; +export * as v1 from "./v1"; +export * as v2VaultAndGas from "./v2-vault-and-gas"; +export * as v3RelayerRegistry from "./v3-relayer-registry"; +export * as v4ExploitPatch from "./v4-exploit-patch"; +export * as v5ProposalStatePatch from "./v5-proposal-state-patch"; +export { AdminUpgradeableProxy__factory } from "./AdminUpgradeableProxy__factory"; +export { FeeManager__factory } from "./FeeManager__factory"; +export { GasCompensationVault__factory } from "./GasCompensationVault__factory"; +export { LoopbackProxy__factory } from "./LoopbackProxy__factory"; +export { TornadoRouter__factory } from "./TornadoRouter__factory"; +export { TornadoVault__factory } from "./TornadoVault__factory"; diff --git a/typechain-types/factories/contracts/Governance/interfaces/ITornadoInstance__factory.ts b/typechain-types/factories/contracts/Governance/interfaces/ITornadoInstance__factory.ts new file mode 100644 index 0000000..31921a8 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/interfaces/ITornadoInstance__factory.ts @@ -0,0 +1,107 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + ITornadoInstance, + ITornadoInstanceInterface, +} from "../../../../contracts/Governance/interfaces/ITornadoInstance"; + +const _abi = [ + { + inputs: [], + name: "denomination", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "commitment", + type: "bytes32", + }, + ], + name: "deposit", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [], + name: "token", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes", + name: "proof", + type: "bytes", + }, + { + internalType: "bytes32", + name: "root", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "nullifierHash", + type: "bytes32", + }, + { + internalType: "address payable", + name: "recipient", + type: "address", + }, + { + internalType: "address payable", + name: "relayer", + type: "address", + }, + { + internalType: "uint256", + name: "fee", + type: "uint256", + }, + { + internalType: "uint256", + name: "refund", + type: "uint256", + }, + ], + name: "withdraw", + outputs: [], + stateMutability: "payable", + type: "function", + }, +] as const; + +export class ITornadoInstance__factory { + static readonly abi = _abi; + static createInterface(): ITornadoInstanceInterface { + return new Interface(_abi) as ITornadoInstanceInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): ITornadoInstance { + return new Contract(address, _abi, runner) as unknown as ITornadoInstance; + } +} diff --git a/typechain-types/factories/contracts/Governance/interfaces/index.ts b/typechain-types/factories/contracts/Governance/interfaces/index.ts new file mode 100644 index 0000000..acc7ae9 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/interfaces/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { ITornadoInstance__factory } from "./ITornadoInstance__factory"; diff --git a/typechain-types/factories/contracts/Governance/libraries/UniswapV3OracleHelper.sol/IERC20Decimals__factory.ts b/typechain-types/factories/contracts/Governance/libraries/UniswapV3OracleHelper.sol/IERC20Decimals__factory.ts new file mode 100644 index 0000000..45af83d --- /dev/null +++ b/typechain-types/factories/contracts/Governance/libraries/UniswapV3OracleHelper.sol/IERC20Decimals__factory.ts @@ -0,0 +1,38 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IERC20Decimals, + IERC20DecimalsInterface, +} from "../../../../../contracts/Governance/libraries/UniswapV3OracleHelper.sol/IERC20Decimals"; + +const _abi = [ + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +export class IERC20Decimals__factory { + static readonly abi = _abi; + static createInterface(): IERC20DecimalsInterface { + return new Interface(_abi) as IERC20DecimalsInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): IERC20Decimals { + return new Contract(address, _abi, runner) as unknown as IERC20Decimals; + } +} diff --git a/typechain-types/factories/contracts/Governance/libraries/UniswapV3OracleHelper.sol/index.ts b/typechain-types/factories/contracts/Governance/libraries/UniswapV3OracleHelper.sol/index.ts new file mode 100644 index 0000000..4dec4b0 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/libraries/UniswapV3OracleHelper.sol/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { IERC20Decimals__factory } from "./IERC20Decimals__factory"; diff --git a/typechain-types/factories/contracts/Governance/libraries/index.ts b/typechain-types/factories/contracts/Governance/libraries/index.ts new file mode 100644 index 0000000..44e3827 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/libraries/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as uniswapV3OracleHelperSol from "./UniswapV3OracleHelper.sol"; diff --git a/typechain-types/factories/contracts/Governance/v1/Configuration__factory.ts b/typechain-types/factories/contracts/Governance/v1/Configuration__factory.ts new file mode 100644 index 0000000..a2a7ce7 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/v1/Configuration__factory.ts @@ -0,0 +1,275 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../common"; +import type { + Configuration, + ConfigurationInterface, +} from "../../../../contracts/Governance/v1/Configuration"; + +const _abi = [ + { + inputs: [], + name: "CLOSING_PERIOD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "EXECUTION_DELAY", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "EXECUTION_EXPIRATION", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "PROPOSAL_THRESHOLD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "QUORUM_VOTES", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "VOTE_EXTEND_TIME", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "VOTING_DELAY", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "VOTING_PERIOD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "closingPeriod", + type: "uint256", + }, + ], + name: "setClosingPeriod", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "executionDelay", + type: "uint256", + }, + ], + name: "setExecutionDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "executionExpiration", + type: "uint256", + }, + ], + name: "setExecutionExpiration", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalThreshold", + type: "uint256", + }, + ], + name: "setProposalThreshold", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "quorumVotes", + type: "uint256", + }, + ], + name: "setQuorumVotes", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "voteExtendTime", + type: "uint256", + }, + ], + name: "setVoteExtendTime", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "votingDelay", + type: "uint256", + }, + ], + name: "setVotingDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "votingPeriod", + type: "uint256", + }, + ], + name: "setVotingPeriod", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +const _bytecode = + "0x608060405234801561001057600080fd5b50610563806100206000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c8063a6c2660311610097578063d6159fe511610066578063d6159fe5146101e2578063e4917d9f146101ea578063ea0217cf14610207578063ece40cc11461022457610100565b8063a6c26603146101ad578063b1610d7e146101b5578063c0c0e820146101bd578063ce25d71c146101da57610100565b80636a661755116100d35780636a6617551461014e5780636dc2dc6c1461015657806370b0f660146101735780639a9e3b6e1461019057610100565b806302ec8f9e1461010557806337f135d714610124578063587a6ecb1461013e578063671dd27514610146575b600080fd5b6101226004803603602081101561011b57600080fd5b5035610241565b005b61012c610288565b60408051918252519081900360200190f35b61012c61028e565b61012c610294565b61012c61029a565b6101226004803603602081101561016c57600080fd5b50356102a0565b6101226004803603602081101561018957600080fd5b5035610327565b610122600480360360208110156101a657600080fd5b503561036e565b61012c6103b5565b61012c6103bb565b610122600480360360208110156101d357600080fd5b50356103c1565b61012c610408565b61012c61040e565b6101226004803603602081101561020057600080fd5b5035610414565b6101226004803603602081101561021d57600080fd5b503561045b565b6101226004803603602081101561023a57600080fd5b50356104a2565b333014610283576040805162461bcd60e51b8152602060048201526018602482015260008051602061050e833981519152604482015290519081900360640190fd5b600255565b60005481565b60075481565b60025481565b60015481565b3330146102e2576040805162461bcd60e51b8152602060048201526018602482015260008051602061050e833981519152604482015290519081900360640190fd5b60005481106103225760405162461bcd60e51b81526004018080602001828103825260248152602001806104ea6024913960400191505060405180910390fd5b600755565b333014610369576040805162461bcd60e51b8152602060048201526018602482015260008051602061050e833981519152604482015290519081900360640190fd5b600455565b3330146103b0576040805162461bcd60e51b8152602060048201526018602482015260008051602061050e833981519152604482015290519081900360640190fd5b600155565b60035481565b60055481565b333014610403576040805162461bcd60e51b8152602060048201526018602482015260008051602061050e833981519152604482015290519081900360640190fd5b600655565b60065481565b60045481565b333014610456576040805162461bcd60e51b8152602060048201526018602482015260008051602061050e833981519152604482015290519081900360640190fd5b600055565b33301461049d576040805162461bcd60e51b8152602060048201526018602482015260008051602061050e833981519152604482015290519081900360640190fd5b600555565b3330146104e4576040805162461bcd60e51b8152602060048201526018602482015260008051602061050e833981519152604482015290519081900360640190fd5b60035556fe476f7665726e616e63653a20696e636f727265637420766f7465457874656e6454696d65476f7665726e616e63653a20756e617574686f72697a65640000000000000000a26469706673582212208fff4d62d622acc801ece8b6a7cc281f67f5959bf09e0ca68afde2a0ab0bc83164736f6c634300060c0033"; + +type ConfigurationConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: ConfigurationConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class Configuration__factory extends ContractFactory { + constructor(...args: ConfigurationConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(overrides || {}); + } + override deploy(overrides?: NonPayableOverrides & { from?: string }) { + return super.deploy(overrides || {}) as Promise< + Configuration & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): Configuration__factory { + return super.connect(runner) as Configuration__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): ConfigurationInterface { + return new Interface(_abi) as ConfigurationInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): Configuration { + return new Contract(address, _abi, runner) as unknown as Configuration; + } +} diff --git a/typechain-types/factories/contracts/Governance/v1/Core__factory.ts b/typechain-types/factories/contracts/Governance/v1/Core__factory.ts new file mode 100644 index 0000000..f5e118f --- /dev/null +++ b/typechain-types/factories/contracts/Governance/v1/Core__factory.ts @@ -0,0 +1,41 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + Core, + CoreInterface, +} from "../../../../contracts/Governance/v1/Core"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "lockedBalance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +export class Core__factory { + static readonly abi = _abi; + static createInterface(): CoreInterface { + return new Interface(_abi) as CoreInterface; + } + static connect(address: string, runner?: ContractRunner | null): Core { + return new Contract(address, _abi, runner) as unknown as Core; + } +} diff --git a/typechain-types/factories/contracts/Governance/v1/Delegation__factory.ts b/typechain-types/factories/contracts/Governance/v1/Delegation__factory.ts new file mode 100644 index 0000000..a8b76a4 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/v1/Delegation__factory.ts @@ -0,0 +1,170 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + Delegation, + DelegationInterface, +} from "../../../../contracts/Governance/v1/Delegation"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + ], + name: "Delegated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + ], + name: "Undelegated", + type: "event", + }, + { + inputs: [ + { + internalType: "address[]", + name: "from", + type: "address[]", + }, + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "bool", + name: "support", + type: "bool", + }, + ], + name: "castDelegatedVote", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address", + }, + ], + name: "delegate", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "delegatedTo", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "lockedBalance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "target", + type: "address", + }, + { + internalType: "string", + name: "description", + type: "string", + }, + ], + name: "proposeByDelegate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "undelegate", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class Delegation__factory { + static readonly abi = _abi; + static createInterface(): DelegationInterface { + return new Interface(_abi) as DelegationInterface; + } + static connect(address: string, runner?: ContractRunner | null): Delegation { + return new Contract(address, _abi, runner) as unknown as Delegation; + } +} diff --git a/typechain-types/factories/contracts/Governance/v1/Governance__factory.ts b/typechain-types/factories/contracts/Governance/v1/Governance__factory.ts new file mode 100644 index 0000000..6995330 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/v1/Governance__factory.ts @@ -0,0 +1,822 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../common"; +import type { + Governance, + GovernanceInterface, +} from "../../../../contracts/Governance/v1/Governance"; + +const _abi = [ + { + inputs: [], + stateMutability: "nonpayable", + type: "constructor", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + ], + name: "Delegated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "id", + type: "uint256", + }, + { + indexed: true, + internalType: "address", + name: "proposer", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "target", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "startTime", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "endTime", + type: "uint256", + }, + { + indexed: false, + internalType: "string", + name: "description", + type: "string", + }, + ], + name: "ProposalCreated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "ProposalExecuted", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + ], + name: "Undelegated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + indexed: true, + internalType: "address", + name: "voter", + type: "address", + }, + { + indexed: true, + internalType: "bool", + name: "support", + type: "bool", + }, + { + indexed: false, + internalType: "uint256", + name: "votes", + type: "uint256", + }, + ], + name: "Voted", + type: "event", + }, + { + inputs: [], + name: "CLOSING_PERIOD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "EXECUTION_DELAY", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "EXECUTION_EXPIRATION", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "PROPOSAL_THRESHOLD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "QUORUM_VOTES", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "VOTE_EXTEND_TIME", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "VOTING_DELAY", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "VOTING_PERIOD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "canWithdrawAfter", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address[]", + name: "from", + type: "address[]", + }, + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "bool", + name: "support", + type: "bool", + }, + ], + name: "castDelegatedVote", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "bool", + name: "support", + type: "bool", + }, + ], + name: "castVote", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address", + }, + ], + name: "delegate", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "delegatedTo", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "execute", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "address", + name: "voter", + type: "address", + }, + ], + name: "getReceipt", + outputs: [ + { + components: [ + { + internalType: "bool", + name: "hasVoted", + type: "bool", + }, + { + internalType: "bool", + name: "support", + type: "bool", + }, + { + internalType: "uint256", + name: "votes", + type: "uint256", + }, + ], + internalType: "struct Governance.Receipt", + name: "", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_torn", + type: "address", + }, + ], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "latestProposalIds", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "lock", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "lockWithApproval", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "lockedBalance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "proposalCount", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "proposals", + outputs: [ + { + internalType: "address", + name: "proposer", + type: "address", + }, + { + internalType: "address", + name: "target", + type: "address", + }, + { + internalType: "uint256", + name: "startTime", + type: "uint256", + }, + { + internalType: "uint256", + name: "endTime", + type: "uint256", + }, + { + internalType: "uint256", + name: "forVotes", + type: "uint256", + }, + { + internalType: "uint256", + name: "againstVotes", + type: "uint256", + }, + { + internalType: "bool", + name: "executed", + type: "bool", + }, + { + internalType: "bool", + name: "extended", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address", + }, + { + internalType: "string", + name: "description", + type: "string", + }, + ], + name: "propose", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "target", + type: "address", + }, + { + internalType: "string", + name: "description", + type: "string", + }, + ], + name: "proposeByDelegate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "closingPeriod", + type: "uint256", + }, + ], + name: "setClosingPeriod", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "executionDelay", + type: "uint256", + }, + ], + name: "setExecutionDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "executionExpiration", + type: "uint256", + }, + ], + name: "setExecutionExpiration", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalThreshold", + type: "uint256", + }, + ], + name: "setProposalThreshold", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "quorumVotes", + type: "uint256", + }, + ], + name: "setQuorumVotes", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "voteExtendTime", + type: "uint256", + }, + ], + name: "setVoteExtendTime", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "votingDelay", + type: "uint256", + }, + ], + name: "setVotingDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "votingPeriod", + type: "uint256", + }, + ], + name: "setVotingPeriod", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "state", + outputs: [ + { + internalType: "enum Governance.ProposalState", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "torn", + outputs: [ + { + internalType: "contract TORN", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "undelegate", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "unlock", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +const _bytecode = + "0x60806040523480156200001157600080fd5b50600054610100900460ff16806200002e57506200002e620000c9565b806200003d575060005460ff16155b620000655760405162461bcd60e51b81526004016200005c9062000110565b60405180910390fd5b600054610100900460ff1615801562000091576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b03191661dead179055620000af620000cf565b8015620000c2576000805461ff00191690555b506200015e565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b612524806200016e6000396000f3fe60806040526004361061020f5760003560e01c8063a6c2660311610118578063d6159fe5116100a0578063e4917d9f1161006f578063e4917d9f146105ce578063ea0217cf146105ee578063ece40cc11461060e578063f0b768921461062e578063fe0d94c11461064e5761020f565b8063d6159fe514610557578063d6f0948c1461056c578063da35c6641461058c578063e23a9a52146105a15761020f565b8063b54426c8116100e7578063b54426c8146104c2578063b859f11b146104e2578063c0c0e82014610502578063c4d66de814610522578063ce25d71c146105425761020f565b8063a6c2660314610463578063a72edda314610478578063adf898a414610498578063b1610d7e146104ad5761020f565b80636198e3391161019b5780636dc2dc6c1161016a5780636dc2dc6c146103ce57806370b0f660146103ee57806392ab89bb1461040e5780639a9e3b6e146104235780639ae697bf146104435761020f565b80636198e3391461035757806365da126414610377578063671dd275146103a45780636a661755146103b95761020f565b806337f135d7116101e257806337f135d7146102c05780633e4f49e6146102d5578063587a6ecb1461030257806358e9fff0146103175780635c19a95c146103375761020f565b8063013cf08b1461021457806302ec8f9e1461025157806315373e3d1461027357806317977c6114610293575b600080fd5b34801561022057600080fd5b5061023461022f366004611d5c565b610661565b604051610248989796959493929190611e68565b60405180910390f35b34801561025d57600080fd5b5061027161026c366004611d5c565b6106c6565b005b34801561027f57600080fd5b5061027161028e366004611da0565b6106f3565b34801561029f57600080fd5b506102b36102ae366004611b53565b610702565b604051610248919061246b565b3480156102cc57600080fd5b506102b3610714565b3480156102e157600080fd5b506102f56102f0366004611d5c565b61071a565b6040516102489190611f26565b34801561030e57600080fd5b506102b361085d565b34801561032357600080fd5b506102b3610332366004611b6e565b610863565b34801561034357600080fd5b50610271610352366004611b53565b6108b1565b34801561036357600080fd5b50610271610372366004611d5c565b6109d3565b34801561038357600080fd5b50610397610392366004611b53565b610b0a565b6040516102489190611e17565b3480156103b057600080fd5b506102b3610b25565b3480156103c557600080fd5b506102b3610b2b565b3480156103da57600080fd5b506102716103e9366004611d5c565b610b31565b3480156103fa57600080fd5b50610271610409366004611d5c565b610b76565b34801561041a57600080fd5b50610271610b9a565b34801561042f57600080fd5b5061027161043e366004611d5c565b610c21565b34801561044f57600080fd5b506102b361045e366004611b53565b610c45565b34801561046f57600080fd5b506102b3610c57565b34801561048457600080fd5b506102b3610493366004611b53565b610c5d565b3480156104a457600080fd5b50610397610c6f565b3480156104b957600080fd5b506102b3610c7e565b3480156104ce57600080fd5b506102716104dd366004611d5c565b610c84565b3480156104ee57600080fd5b506102716104fd366004611c7b565b610c8e565b34801561050e57600080fd5b5061027161051d366004611d5c565b610d45565b34801561052e57600080fd5b5061027161053d366004611b53565b610d69565b34801561054e57600080fd5b506102b3610fac565b34801561056357600080fd5b506102b3610fb2565b34801561057857600080fd5b506102b3610587366004611bce565b610fb8565b34801561059857600080fd5b506102b3610fce565b3480156105ad57600080fd5b506105c16105bc366004611d74565b610fd8565b6040516102489190612446565b3480156105da57600080fd5b506102716105e9366004611d5c565b61104a565b3480156105fa57600080fd5b50610271610609366004611d5c565b61106e565b34801561061a57600080fd5b50610271610629366004611d5c565b611092565b34801561063a57600080fd5b50610271610649366004611c1c565b6110b6565b61027161065c366004611d5c565b611136565b603d818154811061066e57fe5b600091825260209091206008909102018054600182015460028301546003840154600485015460058601546006909601546001600160a01b039586169750949093169491939092919060ff8082169161010090041688565b3330146106ee5760405162461bcd60e51b81526004016106e590612212565b60405180910390fd5b603555565b6106fe3383836112c8565b5050565b603e6020526000908152604090205481565b60335481565b6000610724610fce565b82111580156107335750600082115b61074f5760405162461bcd60e51b81526004016106e590612348565b6000603d838154811061075e57fe5b90600052602060002090600802019050806002015461077b6114f9565b1161078a576000915050610858565b80600301546107976114f9565b116107a6576001915050610858565b806005015481600401541115806107c857506035548160050154826004015401105b156107d7576002915050610858565b600681015460ff16156107ee576005915050610858565b61081360345461080d60335484600301546114fd90919063ffffffff16565b906114fd565b61081b6114f9565b1061082a576006915050610858565b603354600382015461083b916114fd565b6108436114f9565b10610852576004915050610858565b60039150505b919050565b603a5481565b6001600160a01b038381166000908152603c6020526040812054909116331461089e5760405162461bcd60e51b81526004016106e5906123d8565b6108a9848484611522565b949350505050565b336000818152603c60205260409020546001600160a01b0390811691908316148015906108e757506001600160a01b0382163014155b80156108fb57506001600160a01b03821615155b80156109195750806001600160a01b0316826001600160a01b031614155b6109355760405162461bcd60e51b81526004016106e590612249565b6001600160a01b0381161561097b576040516001600160a01b0382169033907f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7290600090a35b336000818152603c602052604080822080546001600160a01b0319166001600160a01b03871690811790915590519092917f4bc154dd35d6a5cb9206482ecb473cdbf2473006d6bce728b9cc0741bcc59ea291a35050565b336000908152603f60205260409020546109eb6114f9565b11610a085760405162461bcd60e51b81526004016106e590612175565b60408051808201825260208082527f476f7665726e616e63653a20696e73756666696369656e742062616c616e636581830152336000908152603b9091529190912054610a56918390611870565b336000818152603b602052604090819020929092558154915163a9059cbb60e01b81526001600160a01b039092169163a9059cbb91610a99918590600401611e2b565b602060405180830381600087803b158015610ab357600080fd5b505af1158015610ac7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aeb9190611d40565b610b075760405162461bcd60e51b81526004016106e5906121ac565b50565b603c602052600090815260409020546001600160a01b031681565b60355481565b60345481565b333014610b505760405162461bcd60e51b81526004016106e590612212565b6033548110610b715760405162461bcd60e51b81526004016106e590612131565b603a55565b333014610b955760405162461bcd60e51b81526004016106e590612212565b603755565b336000908152603c60205260409020546001600160a01b031680610bd05760405162461bcd60e51b81526004016106e59061238e565b336000818152603c602052604080822080546001600160a01b0319169055516001600160a01b03841692917f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7291a350565b333014610c405760405162461bcd60e51b81526004016106e590612212565b603455565b603b6020526000908152604090205481565b60365481565b603f6020526000908152604090205481565b6040546001600160a01b031681565b60385481565b610b07338261189c565b60005b8351811015610d1f57336001600160a01b0316603c6000868481518110610cb457fe5b6020908102919091018101516001600160a01b03908116835290820192909252604001600020541614610cf95760405162461bcd60e51b81526004016106e5906123d8565b610d17848281518110610d0857fe5b602002602001015184846112c8565b600101610c91565b50336000908152603b602052604090205415610d4057610d403383836112c8565b505050565b333014610d645760405162461bcd60e51b81526004016106e590612212565b603955565b600054610100900460ff1680610d825750610d82611981565b80610d90575060005460ff16155b610dac5760405162461bcd60e51b81526004016106e5906122fa565b600054610100900460ff16158015610dd7576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b038085166001600160a01b03199283161783558251610100818101855230825261dead602083019081526000958301868152606084018781526080850188815260a08601898152600160c0880181815260e089018c8152603d80549384018155909c52975160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b16928c169290921790915594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc4860180549190991699169890981790965590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc5830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc682015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc784015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc8830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990910180549351151590920261ff001991151560ff199094169390931716919091179055610f97611987565b80156106fe576000805461ff00191690555050565b60395481565b60375481565b6000610fc5338484611522565b90505b92915050565b603d546000190190565b610fe0611a4d565b603d8381548110610fed57fe5b600091825260208083206001600160a01b0395909516835260089190910290930160070183526040908190208151606081018352815460ff8082161515835261010090910416151594810194909452600101549083015250919050565b3330146110695760405162461bcd60e51b81526004016106e590612212565b603355565b33301461108d5760405162461bcd60e51b81526004016106e590612212565b603855565b3330146110b15760405162461bcd60e51b81526004016106e590612212565b603655565b60408054905163d505accf60e01b81526001600160a01b039091169063d505accf906110f290899030908a908a908a908a908a90600401611eae565b600060405180830381600087803b15801561110c57600080fd5b505af1158015611120573d6000803e3d6000fd5b5050505061112e868661189c565b505050505050565b60046111418261071a565b600681111561114c57fe5b146111695760405162461bcd60e51b81526004016106e590611f90565b6000603d828154811061117857fe5b600091825260209091206006600890920201908101805460ff191660019081179091558101549091506001600160a01b03166111b3816119c8565b6111cf5760405162461bcd60e51b81526004016106e590611f4d565b60408051600481526024810182526020810180516001600160e01b03166306e60b1760e31b17905290516000916060916001600160a01b0385169161121391611dfb565b600060405180830381855af49150503d806000811461124e576040519150601f19603f3d011682016040523d82523d6000602084013e611253565b606091505b5091509150816112965780511561127e578060405162461bcd60e51b81526004016106e59190611f3a565b60405162461bcd60e51b81526004016106e59061240f565b60405185907f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f90600090a25050505050565b60016112d38361071a565b60068111156112de57fe5b146112fb5760405162461bcd60e51b81526004016106e590612056565b6000603d838154811061130a57fe5b600091825260208083206001600160a01b038816845260076008909302019182018152604080842060058401546004850154603b9094529190942054929450101590806113695760405162461bcd60e51b81526004016106e590612280565b825460ff16156113b8578254610100900460ff161561139f5760018301546004850154611395916119ce565b60048501556113b8565b600183015460058501546113b2916119ce565b60058501555b84156113d75760048401546113cd90826114fd565b60048501556113ec565b60058401546113e690826114fd565b60058501555b6006840154610100900460ff1615801561141c575060395461141a61140f6114f9565b6003870154906119ce565b105b1561146057600584015460048501541115821515811461145e5760068501805461ff001916610100179055603a546003860154611458916114fd565b60038601555b505b8254600160ff19909116811761ff001916610100871515021784558301819055603354603454603a5460038701546114ab938b936114a693919261080d928391906114fd565b611a10565b841515876001600160a01b0316877f7c2de587c00d75474a0c6c6fa96fd3b45dc974cd4e8a75f712bb84c950dce1b5846040516114e8919061246b565b60405180910390a450505050505050565b4290565b600082820183811015610fc55760405162461bcd60e51b81526004016106e5906120fa565b6001600160a01b0383166000908152603b602052604081205460365481101561155d5760405162461bcd60e51b81526004016106e59061209d565b611566846119c8565b6115825760405162461bcd60e51b81526004016106e5906122b7565b6001600160a01b0385166000908152603e602052604090205480156115f45760006115ac8261071a565b905060018160068111156115bc57fe5b141580156115d6575060008160068111156115d357fe5b14155b6115f25760405162461bcd60e51b81526004016106e590611fdb565b505b600061160460375461080d6114f9565b9050600061161d603854836114fd90919063ffffffff16565b9050611627611a6d565b506040805161010080820183526001600160a01b03808c1683528a8116602084019081529383018681526060840186815260006080860181815260a0870182815260c0880183815260e08901848152603d80546001810182559086528a5160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b166001600160a01b03199384161790559b517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc48d01805491909a1691161790975594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc58a015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc6890155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc788015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc887015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990950180549251151590930261ff001995151560ff199093169290921794909416179055906117d9610fce565b82516001600160a01b03166000908152603e60205260409020819055603354603454603a5492935061181b928d926114a692909161080d919082908a906114fd565b896001600160a01b0316817f90ec05050aa23d54ba425e926fe646c318e85825bc400b13a46010abe86eb2f08b87878d60405161185b9493929190611eef565b60405180910390a39998505050505050505050565b600081848411156118945760405162461bcd60e51b81526004016106e59190611f3a565b505050900390565b6040805490516323b872dd60e01b81526001600160a01b03909116906323b872dd906118d090859030908690600401611e44565b602060405180830381600087803b1580156118ea57600080fd5b505af11580156118fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119229190611d40565b61193e5760405162461bcd60e51b81526004016106e5906121db565b6001600160a01b0382166000908152603b602052604090205461196190826114fd565b6001600160a01b039092166000908152603b602052604090209190915550565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b3b151590565b6000610fc583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611870565b6001600160a01b0382166000908152603f60205260409020548111156106fe576001600160a01b03919091166000908152603f6020526040902055565b604080516060810182526000808252602082018190529181019190915290565b60405180610100016040528060006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000151581526020016000151581525090565b80356001600160a01b0381168114610fc857600080fd5b8035610fc8816124e0565b600082601f830112611afa578081fd5b813567ffffffffffffffff811115611b10578182fd5b611b23601f8201601f1916602001612474565b9150808252836020828501011115611b3a57600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215611b64578081fd5b610fc58383611ac8565b600080600060608486031215611b82578182fd5b8335611b8d816124cb565b92506020840135611b9d816124cb565b9150604084013567ffffffffffffffff811115611bb8578182fd5b611bc486828701611aea565b9150509250925092565b60008060408385031215611be0578182fd5b8235611beb816124cb565b9150602083013567ffffffffffffffff811115611c06578182fd5b611c1285828601611aea565b9150509250929050565b60008060008060008060c08789031215611c34578182fd5b611c3e8888611ac8565b95506020870135945060408701359350606087013560ff81168114611c61578283fd5b9598949750929560808101359460a0909101359350915050565b600080600060608486031215611c8f578283fd5b833567ffffffffffffffff80821115611ca6578485fd5b818601915086601f830112611cb9578485fd5b813581811115611cc7578586fd5b60209150818102611cd9838201612474565b8281528381019085850183870186018c1015611cf357898afd5b8996505b84871015611d1d57611d098c82611ac8565b835260019690960195918501918501611cf7565b5097505050508501359250611d3790508560408601611adf565b90509250925092565b600060208284031215611d51578081fd5b8151610fc5816124e0565b600060208284031215611d6d578081fd5b5035919050565b60008060408385031215611d86578182fd5b82359150611d978460208501611ac8565b90509250929050565b60008060408385031215611db2578182fd5b823591506020830135611dc4816124e0565b809150509250929050565b60008151808452611de781602086016020860161249b565b601f01601f19169290920160200192915050565b60008251611e0d81846020870161249b565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03988916815296909716602087015260408601949094526060850192909252608084015260a0830152151560c082015290151560e08201526101000190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b600060018060a01b038616825284602083015283604083015260806060830152611f1c6080830184611dcf565b9695505050505050565b6020810160078310611f3457fe5b91905290565b600060208252610fc56020830184611dcf565b60208082526023908201527f476f7665726e616e63653a3a657865637574653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602b908201527f476f7665726e616e63653a3a657865637574653a20696e76616c69642070726f60408201526a706f73616c20737461746560a81b606082015260800190565b60208082526055908201527f476f7665726e616e63653a3a70726f706f73653a206f6e65206c69766520707260408201527f6f706f73616c207065722070726f706f7365722c20666f756e6420616e20616c6060820152741c9958591e481858dd1a5d99481c1c9bdc1bdcd85b605a1b608082015260a00190565b60208082526027908201527f476f7665726e616e63653a3a5f63617374566f74653a20766f74696e672069736040820152660818db1bdcd95960ca1b606082015260800190565b6020808252603c908201527f476f7665726e616e63653a3a70726f706f73653a2070726f706f73657220766f60408201527f7465732062656c6f772070726f706f73616c207468726573686f6c6400000000606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526024908201527f476f7665726e616e63653a20696e636f727265637420766f7465457874656e6460408201526354696d6560e01b606082015260800190565b6020808252601d908201527f476f7665726e616e63653a20746f6b656e7320617265206c6f636b6564000000604082015260600190565b6020808252601590820152741513d4938e881d1c985b9cd9995c8819985a5b1959605a1b604082015260600190565b60208082526019908201527f544f524e3a207472616e7366657246726f6d206661696c656400000000000000604082015260600190565b60208082526018908201527f476f7665726e616e63653a20756e617574686f72697a65640000000000000000604082015260600190565b6020808252601d908201527f476f7665726e616e63653a20696e76616c69642064656c656761746565000000604082015260600190565b60208082526018908201527f476f7665726e616e63653a2062616c616e636520697320300000000000000000604082015260600190565b60208082526023908201527f476f7665726e616e63653a3a70726f706f73653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b60208082526026908201527f476f7665726e616e63653a3a73746174653a20696e76616c69642070726f706f6040820152651cd85b081a5960d21b606082015260800190565b6020808252602a908201527f476f7665726e616e63653a20746f6b656e732061726520616c726561647920756040820152691b99195b1959d85d195960b21b606082015260800190565b6020808252601a908201527f476f7665726e616e63653a206e6f7420617574686f72697a6564000000000000604082015260600190565b60208082526019908201527f50726f706f73616c20657865637574696f6e206661696c656400000000000000604082015260600190565b8151151581526020808301511515908201526040918201519181019190915260600190565b90815260200190565b60405181810167ffffffffffffffff8111828210171561249357600080fd5b604052919050565b60005b838110156124b657818101518382015260200161249e565b838111156124c5576000848401525b50505050565b6001600160a01b0381168114610b0757600080fd5b8015158114610b0757600080fdfea26469706673582212208c8a57d0dd9da76417112ba79eab1d38dbdf5e0a8bc014651f10bebe82ce8f9b64736f6c634300060c0033"; + +type GovernanceConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: GovernanceConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class Governance__factory extends ContractFactory { + constructor(...args: GovernanceConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(overrides || {}); + } + override deploy(overrides?: NonPayableOverrides & { from?: string }) { + return super.deploy(overrides || {}) as Promise< + Governance & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): Governance__factory { + return super.connect(runner) as Governance__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): GovernanceInterface { + return new Interface(_abi) as GovernanceInterface; + } + static connect(address: string, runner?: ContractRunner | null): Governance { + return new Contract(address, _abi, runner) as unknown as Governance; + } +} diff --git a/typechain-types/factories/contracts/Governance/v1/Mocks/Dummy.sol/DummySecond__factory.ts b/typechain-types/factories/contracts/Governance/v1/Mocks/Dummy.sol/DummySecond__factory.ts new file mode 100644 index 0000000..e4f9d4f --- /dev/null +++ b/typechain-types/factories/contracts/Governance/v1/Mocks/Dummy.sol/DummySecond__factory.ts @@ -0,0 +1,97 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../../../common"; +import type { + DummySecond, + DummySecondInterface, +} from "../../../../../../contracts/Governance/v1/Mocks/Dummy.sol/DummySecond"; + +const _abi = [ + { + inputs: [], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "text", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "value", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +const _bytecode = + "0x608060405234801561001057600080fd5b50610278806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80631f1bd692146100465780633fa4f245146100c35780638129fc1c146100dd575b600080fd5b61004e6100e7565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610088578181015183820152602001610070565b50505050905090810190601f1680156100b55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6100cb610174565b60408051918252519081900360200190f35b6100e561017a565b005b60018054604080516020600284861615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561016c5780601f106101415761010080835404028352916020019161016c565b820191906000526020600020905b81548152906001019060200180831161014f57829003601f168201915b505050505081565b60005481565b600260005560408051808201909152600680825265323ab6b6bc9960d11b60209092019182526101ac916001916101af565b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106101f057805160ff191683800117855561021d565b8280016001018555821561021d579182015b8281111561021d578251825591602001919060010190610202565b5061022992915061022d565b5090565b5b80821115610229576000815560010161022e56fea2646970667358221220056d994e19772e421a19f4bcf8cb09061d5645867c4c352106bf6b809fb5de3664736f6c634300060c0033"; + +type DummySecondConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: DummySecondConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class DummySecond__factory extends ContractFactory { + constructor(...args: DummySecondConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(overrides || {}); + } + override deploy(overrides?: NonPayableOverrides & { from?: string }) { + return super.deploy(overrides || {}) as Promise< + DummySecond & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): DummySecond__factory { + return super.connect(runner) as DummySecond__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): DummySecondInterface { + return new Interface(_abi) as DummySecondInterface; + } + static connect(address: string, runner?: ContractRunner | null): DummySecond { + return new Contract(address, _abi, runner) as unknown as DummySecond; + } +} diff --git a/typechain-types/factories/contracts/Governance/v1/Mocks/Dummy.sol/Dummy__factory.ts b/typechain-types/factories/contracts/Governance/v1/Mocks/Dummy.sol/Dummy__factory.ts new file mode 100644 index 0000000..e3e04ef --- /dev/null +++ b/typechain-types/factories/contracts/Governance/v1/Mocks/Dummy.sol/Dummy__factory.ts @@ -0,0 +1,97 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../../../common"; +import type { + Dummy, + DummyInterface, +} from "../../../../../../contracts/Governance/v1/Mocks/Dummy.sol/Dummy"; + +const _abi = [ + { + inputs: [], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "text", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "value", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +const _bytecode = + "0x608060405234801561001057600080fd5b50610278806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80631f1bd692146100465780633fa4f245146100c35780638129fc1c146100dd575b600080fd5b61004e6100e7565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610088578181015183820152602001610070565b50505050905090810190601f1680156100b55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6100cb610174565b60408051918252519081900360200190f35b6100e561017a565b005b60018054604080516020600284861615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561016c5780601f106101415761010080835404028352916020019161016c565b820191906000526020600020905b81548152906001019060200180831161014f57829003601f168201915b505050505081565b60005481565b600160008190556040805180820190915260058082526464756d6d7960d81b60209092019182526101ac9291906101af565b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106101f057805160ff191683800117855561021d565b8280016001018555821561021d579182015b8281111561021d578251825591602001919060010190610202565b5061022992915061022d565b5090565b5b80821115610229576000815560010161022e56fea26469706673582212204b4d54284aeff9c7c570415da4a9efb9bf7115fe94a322210f9981c1c7ae107a64736f6c634300060c0033"; + +type DummyConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: DummyConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class Dummy__factory extends ContractFactory { + constructor(...args: DummyConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(overrides || {}); + } + override deploy(overrides?: NonPayableOverrides & { from?: string }) { + return super.deploy(overrides || {}) as Promise< + Dummy & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): Dummy__factory { + return super.connect(runner) as Dummy__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): DummyInterface { + return new Interface(_abi) as DummyInterface; + } + static connect(address: string, runner?: ContractRunner | null): Dummy { + return new Contract(address, _abi, runner) as unknown as Dummy; + } +} diff --git a/typechain-types/factories/contracts/Governance/v1/Mocks/Dummy.sol/index.ts b/typechain-types/factories/contracts/Governance/v1/Mocks/Dummy.sol/index.ts new file mode 100644 index 0000000..e43cecd --- /dev/null +++ b/typechain-types/factories/contracts/Governance/v1/Mocks/Dummy.sol/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { Dummy__factory } from "./Dummy__factory"; +export { DummySecond__factory } from "./DummySecond__factory"; diff --git a/typechain-types/factories/contracts/Governance/v1/Mocks/MockGovernance__factory.ts b/typechain-types/factories/contracts/Governance/v1/Mocks/MockGovernance__factory.ts new file mode 100644 index 0000000..8d2db13 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/v1/Mocks/MockGovernance__factory.ts @@ -0,0 +1,859 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../../common"; +import type { + MockGovernance, + MockGovernanceInterface, +} from "../../../../../contracts/Governance/v1/Mocks/MockGovernance"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + ], + name: "Delegated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "id", + type: "uint256", + }, + { + indexed: true, + internalType: "address", + name: "proposer", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "target", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "startTime", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "endTime", + type: "uint256", + }, + { + indexed: false, + internalType: "string", + name: "description", + type: "string", + }, + ], + name: "ProposalCreated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "ProposalExecuted", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + ], + name: "Undelegated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + indexed: true, + internalType: "address", + name: "voter", + type: "address", + }, + { + indexed: true, + internalType: "bool", + name: "support", + type: "bool", + }, + { + indexed: false, + internalType: "uint256", + name: "votes", + type: "uint256", + }, + ], + name: "Voted", + type: "event", + }, + { + inputs: [], + name: "CLOSING_PERIOD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "EXECUTION_DELAY", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "EXECUTION_EXPIRATION", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "PROPOSAL_THRESHOLD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "QUORUM_VOTES", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "VOTE_EXTEND_TIME", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "VOTING_DELAY", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "VOTING_PERIOD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "canWithdrawAfter", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address[]", + name: "from", + type: "address[]", + }, + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "bool", + name: "support", + type: "bool", + }, + ], + name: "castDelegatedVote", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "bool", + name: "support", + type: "bool", + }, + ], + name: "castVote", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address", + }, + ], + name: "delegate", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "delegatedTo", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "execute", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "address", + name: "voter", + type: "address", + }, + ], + name: "getReceipt", + outputs: [ + { + components: [ + { + internalType: "bool", + name: "hasVoted", + type: "bool", + }, + { + internalType: "bool", + name: "support", + type: "bool", + }, + { + internalType: "uint256", + name: "votes", + type: "uint256", + }, + ], + internalType: "struct Governance.Receipt", + name: "", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_torn", + type: "address", + }, + ], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "latestProposalIds", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "lock", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "lockWithApproval", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "lockedBalance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "proposalCount", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "proposals", + outputs: [ + { + internalType: "address", + name: "proposer", + type: "address", + }, + { + internalType: "address", + name: "target", + type: "address", + }, + { + internalType: "uint256", + name: "startTime", + type: "uint256", + }, + { + internalType: "uint256", + name: "endTime", + type: "uint256", + }, + { + internalType: "uint256", + name: "forVotes", + type: "uint256", + }, + { + internalType: "uint256", + name: "againstVotes", + type: "uint256", + }, + { + internalType: "bool", + name: "executed", + type: "bool", + }, + { + internalType: "bool", + name: "extended", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address", + }, + { + internalType: "string", + name: "description", + type: "string", + }, + ], + name: "propose", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "target", + type: "address", + }, + { + internalType: "string", + name: "description", + type: "string", + }, + ], + name: "proposeByDelegate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "closingPeriod", + type: "uint256", + }, + ], + name: "setClosingPeriod", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "executionDelay", + type: "uint256", + }, + ], + name: "setExecutionDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "executionExpiration", + type: "uint256", + }, + ], + name: "setExecutionExpiration", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalThreshold", + type: "uint256", + }, + ], + name: "setProposalThreshold", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "quorumVotes", + type: "uint256", + }, + ], + name: "setQuorumVotes", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "time_", + type: "uint256", + }, + ], + name: "setTimestamp", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "torna", + type: "address", + }, + ], + name: "setTorn", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "voteExtendTime", + type: "uint256", + }, + ], + name: "setVoteExtendTime", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "votingDelay", + type: "uint256", + }, + ], + name: "setVotingDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "votingPeriod", + type: "uint256", + }, + ], + name: "setVotingPeriod", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "state", + outputs: [ + { + internalType: "enum Governance.ProposalState", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "time", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "torn", + outputs: [ + { + internalType: "contract TORN", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "undelegate", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "unlock", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +const _bytecode = + "0x6080604052426041553480156200001557600080fd5b50600054610100900460ff168062000032575062000032620000cd565b8062000041575060005460ff16155b620000695760405162461bcd60e51b8152600401620000609062000114565b60405180910390fd5b600054610100900460ff1615801562000095576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b03191661dead179055620000b3620000d3565b8015620000c6576000805461ff00191690555b5062000162565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b6125c980620001726000396000f3fe6080604052600436106102305760003560e01c8063a0a2b5731161012e578063ce25d71c116100ab578063e4917d9f1161006f578063e4917d9f14610644578063ea0217cf14610664578063ece40cc114610684578063f0b76892146106a4578063fe0d94c1146106c457610230565b8063ce25d71c146105b8578063d6159fe5146105cd578063d6f0948c146105e2578063da35c66414610602578063e23a9a521461061757610230565b8063b54426c8116100f2578063b54426c814610518578063b5f6a74314610538578063b859f11b14610558578063c0c0e82014610578578063c4d66de81461059857610230565b8063a0a2b57314610499578063a6c26603146104b9578063a72edda3146104ce578063adf898a4146104ee578063b1610d7e1461050357610230565b80635c19a95c116101bc5780636dc2dc6c116101805780636dc2dc6c1461040457806370b0f6601461042457806392ab89bb146104445780639a9e3b6e146104595780639ae697bf1461047957610230565b80635c19a95c1461036d5780636198e3391461038d57806365da1264146103ad578063671dd275146103da5780636a661755146103ef57610230565b806317977c611161020357806317977c61146102d657806337f135d7146102f65780633e4f49e61461030b578063587a6ecb1461033857806358e9fff01461034d57610230565b8063013cf08b1461023557806302ec8f9e1461027257806315373e3d1461029457806316ada547146102b4575b600080fd5b34801561024157600080fd5b50610255610250366004611e01565b6106d7565b604051610269989796959493929190611f0d565b60405180910390f35b34801561027e57600080fd5b5061029261028d366004611e01565b61073c565b005b3480156102a057600080fd5b506102926102af366004611e45565b610769565b3480156102c057600080fd5b506102c9610778565b6040516102699190612510565b3480156102e257600080fd5b506102c96102f1366004611bf8565b61077e565b34801561030257600080fd5b506102c9610790565b34801561031757600080fd5b5061032b610326366004611e01565b610796565b6040516102699190611fcb565b34801561034457600080fd5b506102c96108d9565b34801561035957600080fd5b506102c9610368366004611c13565b6108df565b34801561037957600080fd5b50610292610388366004611bf8565b61092d565b34801561039957600080fd5b506102926103a8366004611e01565b610a4f565b3480156103b957600080fd5b506103cd6103c8366004611bf8565b610b86565b6040516102699190611ebc565b3480156103e657600080fd5b506102c9610ba1565b3480156103fb57600080fd5b506102c9610ba7565b34801561041057600080fd5b5061029261041f366004611e01565b610bad565b34801561043057600080fd5b5061029261043f366004611e01565b610bf2565b34801561045057600080fd5b50610292610c16565b34801561046557600080fd5b50610292610474366004611e01565b610c9d565b34801561048557600080fd5b506102c9610494366004611bf8565b610cc1565b3480156104a557600080fd5b506102926104b4366004611e01565b610cd3565b3480156104c557600080fd5b506102c9610cd8565b3480156104da57600080fd5b506102c96104e9366004611bf8565b610cde565b3480156104fa57600080fd5b506103cd610cf0565b34801561050f57600080fd5b506102c9610cff565b34801561052457600080fd5b50610292610533366004611e01565b610d05565b34801561054457600080fd5b50610292610553366004611bf8565b610d0f565b34801561056457600080fd5b50610292610573366004611d20565b610d31565b34801561058457600080fd5b50610292610593366004611e01565b610de8565b3480156105a457600080fd5b506102926105b3366004611bf8565b610e0c565b3480156105c457600080fd5b506102c961104f565b3480156105d957600080fd5b506102c9611055565b3480156105ee57600080fd5b506102c96105fd366004611c73565b61105b565b34801561060e57600080fd5b506102c9611071565b34801561062357600080fd5b50610637610632366004611e19565b61107b565b60405161026991906124eb565b34801561065057600080fd5b5061029261065f366004611e01565b6110ed565b34801561067057600080fd5b5061029261067f366004611e01565b611111565b34801561069057600080fd5b5061029261069f366004611e01565b611135565b3480156106b057600080fd5b506102926106bf366004611cc1565b611159565b6102926106d2366004611e01565b6111d9565b603d81815481106106e457fe5b600091825260209091206008909102018054600182015460028301546003840154600485015460058601546006909601546001600160a01b039586169750949093169491939092919060ff8082169161010090041688565b3330146107645760405162461bcd60e51b815260040161075b906122b7565b60405180910390fd5b603555565b61077433838361136b565b5050565b60415481565b603e6020526000908152604090205481565b60335481565b60006107a0611071565b82111580156107af5750600082115b6107cb5760405162461bcd60e51b815260040161075b906123ed565b6000603d83815481106107da57fe5b9060005260206000209060080201905080600201546107f761159c565b116108065760009150506108d4565b806003015461081361159c565b116108225760019150506108d4565b8060050154816004015411158061084457506035548160050154826004015401105b156108535760029150506108d4565b600681015460ff161561086a5760059150506108d4565b61088f60345461088960335484600301546115a290919063ffffffff16565b906115a2565b61089761159c565b106108a65760069150506108d4565b60335460038201546108b7916115a2565b6108bf61159c565b106108ce5760049150506108d4565b60039150505b919050565b603a5481565b6001600160a01b038381166000908152603c6020526040812054909116331461091a5760405162461bcd60e51b815260040161075b9061247d565b6109258484846115c7565b949350505050565b336000818152603c60205260409020546001600160a01b03908116919083161480159061096357506001600160a01b0382163014155b801561097757506001600160a01b03821615155b80156109955750806001600160a01b0316826001600160a01b031614155b6109b15760405162461bcd60e51b815260040161075b906122ee565b6001600160a01b038116156109f7576040516001600160a01b0382169033907f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7290600090a35b336000818152603c602052604080822080546001600160a01b0319166001600160a01b03871690811790915590519092917f4bc154dd35d6a5cb9206482ecb473cdbf2473006d6bce728b9cc0741bcc59ea291a35050565b336000908152603f6020526040902054610a6761159c565b11610a845760405162461bcd60e51b815260040161075b9061221a565b60408051808201825260208082527f476f7665726e616e63653a20696e73756666696369656e742062616c616e636581830152336000908152603b9091529190912054610ad2918390611915565b336000818152603b602052604090819020929092558154915163a9059cbb60e01b81526001600160a01b039092169163a9059cbb91610b15918590600401611ed0565b602060405180830381600087803b158015610b2f57600080fd5b505af1158015610b43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b679190611de5565b610b835760405162461bcd60e51b815260040161075b90612251565b50565b603c602052600090815260409020546001600160a01b031681565b60355481565b60345481565b333014610bcc5760405162461bcd60e51b815260040161075b906122b7565b6033548110610bed5760405162461bcd60e51b815260040161075b906121d6565b603a55565b333014610c115760405162461bcd60e51b815260040161075b906122b7565b603755565b336000908152603c60205260409020546001600160a01b031680610c4c5760405162461bcd60e51b815260040161075b90612433565b336000818152603c602052604080822080546001600160a01b0319169055516001600160a01b03841692917f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7291a350565b333014610cbc5760405162461bcd60e51b815260040161075b906122b7565b603455565b603b6020526000908152604090205481565b604155565b60365481565b603f6020526000908152604090205481565b6040546001600160a01b031681565b60385481565b610b833382611941565b604080546001600160a01b0319166001600160a01b0392909216919091179055565b60005b8351811015610dc257336001600160a01b0316603c6000868481518110610d5757fe5b6020908102919091018101516001600160a01b03908116835290820192909252604001600020541614610d9c5760405162461bcd60e51b815260040161075b9061247d565b610dba848281518110610dab57fe5b6020026020010151848461136b565b600101610d34565b50336000908152603b602052604090205415610de357610de333838361136b565b505050565b333014610e075760405162461bcd60e51b815260040161075b906122b7565b603955565b600054610100900460ff1680610e255750610e25611a26565b80610e33575060005460ff16155b610e4f5760405162461bcd60e51b815260040161075b9061239f565b600054610100900460ff16158015610e7a576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b038085166001600160a01b03199283161783558251610100818101855230825261dead602083019081526000958301868152606084018781526080850188815260a08601898152600160c0880181815260e089018c8152603d80549384018155909c52975160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b16928c169290921790915594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc4860180549190991699169890981790965590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc5830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc682015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc784015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc8830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990910180549351151590920261ff001991151560ff19909416939093171691909117905561103a611a2c565b8015610774576000805461ff00191690555050565b60395481565b60375481565b60006110683384846115c7565b90505b92915050565b603d546000190190565b611083611af2565b603d838154811061109057fe5b600091825260208083206001600160a01b0395909516835260089190910290930160070183526040908190208151606081018352815460ff8082161515835261010090910416151594810194909452600101549083015250919050565b33301461110c5760405162461bcd60e51b815260040161075b906122b7565b603355565b3330146111305760405162461bcd60e51b815260040161075b906122b7565b603855565b3330146111545760405162461bcd60e51b815260040161075b906122b7565b603655565b60408054905163d505accf60e01b81526001600160a01b039091169063d505accf9061119590899030908a908a908a908a908a90600401611f53565b600060405180830381600087803b1580156111af57600080fd5b505af11580156111c3573d6000803e3d6000fd5b505050506111d18686611941565b505050505050565b60046111e482610796565b60068111156111ef57fe5b1461120c5760405162461bcd60e51b815260040161075b90612035565b6000603d828154811061121b57fe5b600091825260209091206006600890920201908101805460ff191660019081179091558101549091506001600160a01b031661125681611a6d565b6112725760405162461bcd60e51b815260040161075b90611ff2565b60408051600481526024810182526020810180516001600160e01b03166306e60b1760e31b17905290516000916060916001600160a01b038516916112b691611ea0565b600060405180830381855af49150503d80600081146112f1576040519150601f19603f3d011682016040523d82523d6000602084013e6112f6565b606091505b50915091508161133957805115611321578060405162461bcd60e51b815260040161075b9190611fdf565b60405162461bcd60e51b815260040161075b906124b4565b60405185907f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f90600090a25050505050565b600161137683610796565b600681111561138157fe5b1461139e5760405162461bcd60e51b815260040161075b906120fb565b6000603d83815481106113ad57fe5b600091825260208083206001600160a01b038816845260076008909302019182018152604080842060058401546004850154603b90945291909420549294501015908061140c5760405162461bcd60e51b815260040161075b90612325565b825460ff161561145b578254610100900460ff1615611442576001830154600485015461143891611a73565b600485015561145b565b6001830154600585015461145591611a73565b60058501555b841561147a57600484015461147090826115a2565b600485015561148f565b600584015461148990826115a2565b60058501555b6006840154610100900460ff161580156114bf57506039546114bd6114b261159c565b600387015490611a73565b105b156115035760058401546004850154111582151581146115015760068501805461ff001916610100179055603a5460038601546114fb916115a2565b60038601555b505b8254600160ff19909116811761ff001916610100871515021784558301819055603354603454603a54600387015461154e938b93611549939192610889928391906115a2565b611ab5565b841515876001600160a01b0316877f7c2de587c00d75474a0c6c6fa96fd3b45dc974cd4e8a75f712bb84c950dce1b58460405161158b9190612510565b60405180910390a450505050505050565b60415490565b6000828201838110156110685760405162461bcd60e51b815260040161075b9061219f565b6001600160a01b0383166000908152603b60205260408120546036548110156116025760405162461bcd60e51b815260040161075b90612142565b61160b84611a6d565b6116275760405162461bcd60e51b815260040161075b9061235c565b6001600160a01b0385166000908152603e6020526040902054801561169957600061165182610796565b9050600181600681111561166157fe5b1415801561167b5750600081600681111561167857fe5b14155b6116975760405162461bcd60e51b815260040161075b90612080565b505b60006116a960375461088961159c565b905060006116c2603854836115a290919063ffffffff16565b90506116cc611b12565b506040805161010080820183526001600160a01b03808c1683528a8116602084019081529383018681526060840186815260006080860181815260a0870182815260c0880183815260e08901848152603d80546001810182559086528a5160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b166001600160a01b03199384161790559b517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc48d01805491909a1691161790975594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc58a015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc6890155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc788015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc887015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990950180549251151590930261ff001995151560ff1990931692909217949094161790559061187e611071565b82516001600160a01b03166000908152603e60205260409020819055603354603454603a549293506118c0928d92611549929091610889919082908a906115a2565b896001600160a01b0316817f90ec05050aa23d54ba425e926fe646c318e85825bc400b13a46010abe86eb2f08b87878d6040516119009493929190611f94565b60405180910390a39998505050505050505050565b600081848411156119395760405162461bcd60e51b815260040161075b9190611fdf565b505050900390565b6040805490516323b872dd60e01b81526001600160a01b03909116906323b872dd9061197590859030908690600401611ee9565b602060405180830381600087803b15801561198f57600080fd5b505af11580156119a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c79190611de5565b6119e35760405162461bcd60e51b815260040161075b90612280565b6001600160a01b0382166000908152603b6020526040902054611a0690826115a2565b6001600160a01b039092166000908152603b602052604090209190915550565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b3b151590565b600061106883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611915565b6001600160a01b0382166000908152603f6020526040902054811115610774576001600160a01b03919091166000908152603f6020526040902055565b604080516060810182526000808252602082018190529181019190915290565b60405180610100016040528060006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000151581526020016000151581525090565b80356001600160a01b038116811461106b57600080fd5b803561106b81612585565b600082601f830112611b9f578081fd5b813567ffffffffffffffff811115611bb5578182fd5b611bc8601f8201601f1916602001612519565b9150808252836020828501011115611bdf57600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215611c09578081fd5b6110688383611b6d565b600080600060608486031215611c27578182fd5b8335611c3281612570565b92506020840135611c4281612570565b9150604084013567ffffffffffffffff811115611c5d578182fd5b611c6986828701611b8f565b9150509250925092565b60008060408385031215611c85578182fd5b8235611c9081612570565b9150602083013567ffffffffffffffff811115611cab578182fd5b611cb785828601611b8f565b9150509250929050565b60008060008060008060c08789031215611cd9578182fd5b611ce38888611b6d565b95506020870135945060408701359350606087013560ff81168114611d06578283fd5b9598949750929560808101359460a0909101359350915050565b600080600060608486031215611d34578283fd5b833567ffffffffffffffff80821115611d4b578485fd5b818601915086601f830112611d5e578485fd5b813581811115611d6c578586fd5b60209150818102611d7e838201612519565b8281528381019085850183870186018c1015611d9857898afd5b8996505b84871015611dc257611dae8c82611b6d565b835260019690960195918501918501611d9c565b5097505050508501359250611ddc90508560408601611b84565b90509250925092565b600060208284031215611df6578081fd5b815161106881612585565b600060208284031215611e12578081fd5b5035919050565b60008060408385031215611e2b578182fd5b82359150611e3c8460208501611b6d565b90509250929050565b60008060408385031215611e57578182fd5b823591506020830135611e6981612585565b809150509250929050565b60008151808452611e8c816020860160208601612540565b601f01601f19169290920160200192915050565b60008251611eb2818460208701612540565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03988916815296909716602087015260408601949094526060850192909252608084015260a0830152151560c082015290151560e08201526101000190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b600060018060a01b038616825284602083015283604083015260806060830152611fc16080830184611e74565b9695505050505050565b6020810160078310611fd957fe5b91905290565b6000602082526110686020830184611e74565b60208082526023908201527f476f7665726e616e63653a3a657865637574653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602b908201527f476f7665726e616e63653a3a657865637574653a20696e76616c69642070726f60408201526a706f73616c20737461746560a81b606082015260800190565b60208082526055908201527f476f7665726e616e63653a3a70726f706f73653a206f6e65206c69766520707260408201527f6f706f73616c207065722070726f706f7365722c20666f756e6420616e20616c6060820152741c9958591e481858dd1a5d99481c1c9bdc1bdcd85b605a1b608082015260a00190565b60208082526027908201527f476f7665726e616e63653a3a5f63617374566f74653a20766f74696e672069736040820152660818db1bdcd95960ca1b606082015260800190565b6020808252603c908201527f476f7665726e616e63653a3a70726f706f73653a2070726f706f73657220766f60408201527f7465732062656c6f772070726f706f73616c207468726573686f6c6400000000606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526024908201527f476f7665726e616e63653a20696e636f727265637420766f7465457874656e6460408201526354696d6560e01b606082015260800190565b6020808252601d908201527f476f7665726e616e63653a20746f6b656e7320617265206c6f636b6564000000604082015260600190565b6020808252601590820152741513d4938e881d1c985b9cd9995c8819985a5b1959605a1b604082015260600190565b60208082526019908201527f544f524e3a207472616e7366657246726f6d206661696c656400000000000000604082015260600190565b60208082526018908201527f476f7665726e616e63653a20756e617574686f72697a65640000000000000000604082015260600190565b6020808252601d908201527f476f7665726e616e63653a20696e76616c69642064656c656761746565000000604082015260600190565b60208082526018908201527f476f7665726e616e63653a2062616c616e636520697320300000000000000000604082015260600190565b60208082526023908201527f476f7665726e616e63653a3a70726f706f73653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b60208082526026908201527f476f7665726e616e63653a3a73746174653a20696e76616c69642070726f706f6040820152651cd85b081a5960d21b606082015260800190565b6020808252602a908201527f476f7665726e616e63653a20746f6b656e732061726520616c726561647920756040820152691b99195b1959d85d195960b21b606082015260800190565b6020808252601a908201527f476f7665726e616e63653a206e6f7420617574686f72697a6564000000000000604082015260600190565b60208082526019908201527f50726f706f73616c20657865637574696f6e206661696c656400000000000000604082015260600190565b8151151581526020808301511515908201526040918201519181019190915260600190565b90815260200190565b60405181810167ffffffffffffffff8111828210171561253857600080fd5b604052919050565b60005b8381101561255b578181015183820152602001612543565b8381111561256a576000848401525b50505050565b6001600160a01b0381168114610b8357600080fd5b8015158114610b8357600080fdfea264697066735822122079a24ea0dc3d5ef34041a37a137cef69305763e031faa841e2db8f078345f2af64736f6c634300060c0033"; + +type MockGovernanceConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: MockGovernanceConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class MockGovernance__factory extends ContractFactory { + constructor(...args: MockGovernanceConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(overrides || {}); + } + override deploy(overrides?: NonPayableOverrides & { from?: string }) { + return super.deploy(overrides || {}) as Promise< + MockGovernance & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): MockGovernance__factory { + return super.connect(runner) as MockGovernance__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): MockGovernanceInterface { + return new Interface(_abi) as MockGovernanceInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): MockGovernance { + return new Contract(address, _abi, runner) as unknown as MockGovernance; + } +} diff --git a/typechain-types/factories/contracts/Governance/v1/Mocks/ProposalStateChangeGovernance.sol/IGovernance__factory.ts b/typechain-types/factories/contracts/Governance/v1/Mocks/ProposalStateChangeGovernance.sol/IGovernance__factory.ts new file mode 100644 index 0000000..8a7826f --- /dev/null +++ b/typechain-types/factories/contracts/Governance/v1/Mocks/ProposalStateChangeGovernance.sol/IGovernance__factory.ts @@ -0,0 +1,35 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IGovernance, + IGovernanceInterface, +} from "../../../../../../contracts/Governance/v1/Mocks/ProposalStateChangeGovernance.sol/IGovernance"; + +const _abi = [ + { + inputs: [ + { + internalType: "uint256", + name: "delay", + type: "uint256", + }, + ], + name: "setExecutionDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IGovernance__factory { + static readonly abi = _abi; + static createInterface(): IGovernanceInterface { + return new Interface(_abi) as IGovernanceInterface; + } + static connect(address: string, runner?: ContractRunner | null): IGovernance { + return new Contract(address, _abi, runner) as unknown as IGovernance; + } +} diff --git a/typechain-types/factories/contracts/Governance/v1/Mocks/ProposalStateChangeGovernance.sol/ProposalStateChangeGovernance__factory.ts b/typechain-types/factories/contracts/Governance/v1/Mocks/ProposalStateChangeGovernance.sol/ProposalStateChangeGovernance__factory.ts new file mode 100644 index 0000000..f50713c --- /dev/null +++ b/typechain-types/factories/contracts/Governance/v1/Mocks/ProposalStateChangeGovernance.sol/ProposalStateChangeGovernance__factory.ts @@ -0,0 +1,80 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../../../common"; +import type { + ProposalStateChangeGovernance, + ProposalStateChangeGovernanceInterface, +} from "../../../../../../contracts/Governance/v1/Mocks/ProposalStateChangeGovernance.sol/ProposalStateChangeGovernance"; + +const _abi = [ + { + inputs: [], + name: "executeProposal", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +const _bytecode = + "0x608060405234801561001057600080fd5b5060c48061001f6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c8063373058b814602d575b600080fd5b60336035565b005b6040805163e4917d9f60e01b81526203f48060048201529051309163e4917d9f91602480830192600092919082900301818387803b158015607557600080fd5b505af11580156088573d6000803e3d6000fd5b5050505056fea264697066735822122080cc4a797d58ff69ba6d6a0d2a3849574ef67da2d75c41e66a86d3f6e162209d64736f6c634300060c0033"; + +type ProposalStateChangeGovernanceConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: ProposalStateChangeGovernanceConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class ProposalStateChangeGovernance__factory extends ContractFactory { + constructor(...args: ProposalStateChangeGovernanceConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(overrides || {}); + } + override deploy(overrides?: NonPayableOverrides & { from?: string }) { + return super.deploy(overrides || {}) as Promise< + ProposalStateChangeGovernance & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect( + runner: ContractRunner | null + ): ProposalStateChangeGovernance__factory { + return super.connect(runner) as ProposalStateChangeGovernance__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): ProposalStateChangeGovernanceInterface { + return new Interface(_abi) as ProposalStateChangeGovernanceInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): ProposalStateChangeGovernance { + return new Contract( + address, + _abi, + runner + ) as unknown as ProposalStateChangeGovernance; + } +} diff --git a/typechain-types/factories/contracts/Governance/v1/Mocks/ProposalStateChangeGovernance.sol/index.ts b/typechain-types/factories/contracts/Governance/v1/Mocks/ProposalStateChangeGovernance.sol/index.ts new file mode 100644 index 0000000..cfe89e1 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/v1/Mocks/ProposalStateChangeGovernance.sol/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { IGovernance__factory } from "./IGovernance__factory"; +export { ProposalStateChangeGovernance__factory } from "./ProposalStateChangeGovernance__factory"; diff --git a/typechain-types/factories/contracts/Governance/v1/Mocks/ProposalUpgrade.sol/IProxy__factory.ts b/typechain-types/factories/contracts/Governance/v1/Mocks/ProposalUpgrade.sol/IProxy__factory.ts new file mode 100644 index 0000000..59bcab7 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/v1/Mocks/ProposalUpgrade.sol/IProxy__factory.ts @@ -0,0 +1,35 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IProxy, + IProxyInterface, +} from "../../../../../../contracts/Governance/v1/Mocks/ProposalUpgrade.sol/IProxy"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "newImplementation", + type: "address", + }, + ], + name: "upgradeTo", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IProxy__factory { + static readonly abi = _abi; + static createInterface(): IProxyInterface { + return new Interface(_abi) as IProxyInterface; + } + static connect(address: string, runner?: ContractRunner | null): IProxy { + return new Contract(address, _abi, runner) as unknown as IProxy; + } +} diff --git a/typechain-types/factories/contracts/Governance/v1/Mocks/ProposalUpgrade.sol/NewImplementation__factory.ts b/typechain-types/factories/contracts/Governance/v1/Mocks/ProposalUpgrade.sol/NewImplementation__factory.ts new file mode 100644 index 0000000..c184c85 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/v1/Mocks/ProposalUpgrade.sol/NewImplementation__factory.ts @@ -0,0 +1,885 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../../../common"; +import type { + NewImplementation, + NewImplementationInterface, +} from "../../../../../../contracts/Governance/v1/Mocks/ProposalUpgrade.sol/NewImplementation"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + ], + name: "Delegated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "x", + type: "uint256", + }, + ], + name: "Overriden", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "id", + type: "uint256", + }, + { + indexed: true, + internalType: "address", + name: "proposer", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "target", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "startTime", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "endTime", + type: "uint256", + }, + { + indexed: false, + internalType: "string", + name: "description", + type: "string", + }, + ], + name: "ProposalCreated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "ProposalExecuted", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + ], + name: "Undelegated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + indexed: true, + internalType: "address", + name: "voter", + type: "address", + }, + { + indexed: true, + internalType: "bool", + name: "support", + type: "bool", + }, + { + indexed: false, + internalType: "uint256", + name: "votes", + type: "uint256", + }, + ], + name: "Voted", + type: "event", + }, + { + inputs: [], + name: "CLOSING_PERIOD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "EXECUTION_DELAY", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "EXECUTION_EXPIRATION", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "PROPOSAL_THRESHOLD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "QUORUM_VOTES", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "VOTE_EXTEND_TIME", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "VOTING_DELAY", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "VOTING_PERIOD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "canWithdrawAfter", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address[]", + name: "from", + type: "address[]", + }, + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "bool", + name: "support", + type: "bool", + }, + ], + name: "castDelegatedVote", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "bool", + name: "support", + type: "bool", + }, + ], + name: "castVote", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address", + }, + ], + name: "delegate", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "delegatedTo", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "execute", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "address", + name: "voter", + type: "address", + }, + ], + name: "getReceipt", + outputs: [ + { + components: [ + { + internalType: "bool", + name: "hasVoted", + type: "bool", + }, + { + internalType: "bool", + name: "support", + type: "bool", + }, + { + internalType: "uint256", + name: "votes", + type: "uint256", + }, + ], + internalType: "struct Governance.Receipt", + name: "", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_torn", + type: "address", + }, + ], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "latestProposalIds", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "lock", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "lockWithApproval", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "lockedBalance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "newVariable", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "proposalCount", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "proposals", + outputs: [ + { + internalType: "address", + name: "proposer", + type: "address", + }, + { + internalType: "address", + name: "target", + type: "address", + }, + { + internalType: "uint256", + name: "startTime", + type: "uint256", + }, + { + internalType: "uint256", + name: "endTime", + type: "uint256", + }, + { + internalType: "uint256", + name: "forVotes", + type: "uint256", + }, + { + internalType: "uint256", + name: "againstVotes", + type: "uint256", + }, + { + internalType: "bool", + name: "executed", + type: "bool", + }, + { + internalType: "bool", + name: "extended", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address", + }, + { + internalType: "string", + name: "description", + type: "string", + }, + ], + name: "propose", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "target", + type: "address", + }, + { + internalType: "string", + name: "description", + type: "string", + }, + ], + name: "proposeByDelegate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "closingPeriod", + type: "uint256", + }, + ], + name: "setClosingPeriod", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "executionDelay", + type: "uint256", + }, + ], + name: "setExecutionDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "executionExpiration", + type: "uint256", + }, + ], + name: "setExecutionExpiration", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalThreshold", + type: "uint256", + }, + ], + name: "setProposalThreshold", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "quorumVotes", + type: "uint256", + }, + ], + name: "setQuorumVotes", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "time_", + type: "uint256", + }, + ], + name: "setTimestamp", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "torna", + type: "address", + }, + ], + name: "setTorn", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "voteExtendTime", + type: "uint256", + }, + ], + name: "setVoteExtendTime", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "votingDelay", + type: "uint256", + }, + ], + name: "setVotingDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "votingPeriod", + type: "uint256", + }, + ], + name: "setVotingPeriod", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "state", + outputs: [ + { + internalType: "enum Governance.ProposalState", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "time", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "torn", + outputs: [ + { + internalType: "contract TORN", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "undelegate", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "unlock", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +const _bytecode = + "0x6080604052426041553480156200001557600080fd5b50600054610100900460ff168062000032575062000032620000cd565b8062000041575060005460ff16155b620000695760405162461bcd60e51b8152600401620000609062000114565b60405180910390fd5b600054610100900460ff1615801562000095576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b03191661dead179055620000b3620000d3565b8015620000c6576000805461ff00191690555b5062000162565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b6123ac80620001726000396000f3fe60806040526004361061023b5760003560e01c8063a0a2b5731161012e578063ce25d71c116100ab578063e4917d9f1161006f578063e4917d9f14610664578063ea0217cf14610684578063ece40cc1146106a4578063f0b76892146106c4578063fe0d94c1146106e45761023b565b8063ce25d71c146105d8578063d6159fe5146105ed578063d6f0948c14610602578063da35c66414610622578063e23a9a52146106375761023b565b8063b54426c8116100f2578063b54426c814610538578063b5f6a74314610558578063b859f11b14610578578063c0c0e82014610598578063c4d66de8146105b85761023b565b8063a0a2b573146104b9578063a6c26603146104d9578063a72edda3146104ee578063adf898a41461050e578063b1610d7e146105235761023b565b80636198e339116101bc57806370b0f6601161018057806370b0f6601461042f5780638d7a72f31461044f57806392ab89bb146104645780639a9e3b6e146104795780639ae697bf146104995761023b565b80636198e3391461039857806365da1264146103b8578063671dd275146103e55780636a661755146103fa5780636dc2dc6c1461040f5761023b565b806337f135d71161020357806337f135d7146103015780633e4f49e614610316578063587a6ecb1461034357806358e9fff0146103585780635c19a95c146103785761023b565b8063013cf08b1461024057806302ec8f9e1461027d57806315373e3d1461029f57806316ada547146102bf57806317977c61146102e1575b600080fd5b34801561024c57600080fd5b5061026061025b366004611cd6565b6106f7565b604051610274989796959493929190611de5565b60405180910390f35b34801561028957600080fd5b5061029d610298366004611cd6565b61075c565b005b3480156102ab57600080fd5b5061029d6102ba366004611d1a565b610789565b3480156102cb57600080fd5b506102d4610798565b6040516102749190612323565b3480156102ed57600080fd5b506102d46102fc366004611acd565b61079e565b34801561030d57600080fd5b506102d46107b0565b34801561032257600080fd5b50610336610331366004611cd6565b6107b6565b6040516102749190611ea3565b34801561034f57600080fd5b506102d46108f9565b34801561036457600080fd5b506102d4610373366004611ae8565b6108ff565b34801561038457600080fd5b5061029d610393366004611acd565b61094d565b3480156103a457600080fd5b5061029d6103b3366004611cd6565b610a6f565b3480156103c457600080fd5b506103d86103d3366004611acd565b610ba6565b6040516102749190611d94565b3480156103f157600080fd5b506102d4610bc1565b34801561040657600080fd5b506102d4610bc7565b34801561041b57600080fd5b5061029d61042a366004611cd6565b610bcd565b34801561043b57600080fd5b5061029d61044a366004611cd6565b610c12565b34801561045b57600080fd5b506102d4610c36565b34801561047057600080fd5b5061029d610c3c565b34801561048557600080fd5b5061029d610494366004611cd6565b610cc3565b3480156104a557600080fd5b506102d46104b4366004611acd565b610ce7565b3480156104c557600080fd5b5061029d6104d4366004611cd6565b610cf9565b3480156104e557600080fd5b506102d4610cfe565b3480156104fa57600080fd5b506102d4610509366004611acd565b610d04565b34801561051a57600080fd5b506103d8610d16565b34801561052f57600080fd5b506102d4610d25565b34801561054457600080fd5b5061029d610553366004611cd6565b610d2b565b34801561056457600080fd5b5061029d610573366004611acd565b610d35565b34801561058457600080fd5b5061029d610593366004611bf5565b610d57565b3480156105a457600080fd5b5061029d6105b3366004611cd6565b610e0e565b3480156105c457600080fd5b5061029d6105d3366004611acd565b610e32565b3480156105e457600080fd5b506102d4611075565b3480156105f957600080fd5b506102d461107b565b34801561060e57600080fd5b506102d461061d366004611b48565b611081565b34801561062e57600080fd5b506102d4611097565b34801561064357600080fd5b50610657610652366004611cee565b6110a1565b60405161027491906122fe565b34801561067057600080fd5b5061029d61067f366004611cd6565b611113565b34801561069057600080fd5b5061029d61069f366004611cd6565b611137565b3480156106b057600080fd5b5061029d6106bf366004611cd6565b61115b565b3480156106d057600080fd5b5061029d6106df366004611b96565b61117f565b61029d6106f2366004611cd6565b6111ff565b603d818154811061070457fe5b600091825260209091206008909102018054600182015460028301546003840154600485015460058601546006909601546001600160a01b039586169750949093169491939092919060ff8082169161010090041688565b3330146107845760405162461bcd60e51b815260040161077b90612101565b60405180910390fd5b603555565b610794338383611240565b5050565b60415481565b603e6020526000908152604090205481565b60335481565b60006107c0611097565b82111580156107cf5750600082115b6107eb5760405162461bcd60e51b815260040161077b90612237565b6000603d83815481106107fa57fe5b906000526020600020906008020190508060020154610817611471565b116108265760009150506108f4565b8060030154610833611471565b116108425760019150506108f4565b8060050154816004015411158061086457506035548160050154826004015401105b156108735760029150506108f4565b600681015460ff161561088a5760059150506108f4565b6108af6034546108a9603354846003015461147790919063ffffffff16565b90611477565b6108b7611471565b106108c65760069150506108f4565b60335460038201546108d791611477565b6108df611471565b106108ee5760049150506108f4565b60039150505b919050565b603a5481565b6001600160a01b038381166000908152603c6020526040812054909116331461093a5760405162461bcd60e51b815260040161077b906122c7565b61094584848461149c565b949350505050565b336000818152603c60205260409020546001600160a01b03908116919083161480159061098357506001600160a01b0382163014155b801561099757506001600160a01b03821615155b80156109b55750806001600160a01b0316826001600160a01b031614155b6109d15760405162461bcd60e51b815260040161077b90612138565b6001600160a01b03811615610a17576040516001600160a01b0382169033907f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7290600090a35b336000818152603c602052604080822080546001600160a01b0319166001600160a01b03871690811790915590519092917f4bc154dd35d6a5cb9206482ecb473cdbf2473006d6bce728b9cc0741bcc59ea291a35050565b336000908152603f6020526040902054610a87611471565b11610aa45760405162461bcd60e51b815260040161077b90612064565b60408051808201825260208082527f476f7665726e616e63653a20696e73756666696369656e742062616c616e636581830152336000908152603b9091529190912054610af29183906117ea565b336000818152603b602052604090819020929092558154915163a9059cbb60e01b81526001600160a01b039092169163a9059cbb91610b35918590600401611da8565b602060405180830381600087803b158015610b4f57600080fd5b505af1158015610b63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b879190611cba565b610ba35760405162461bcd60e51b815260040161077b9061209b565b50565b603c602052600090815260409020546001600160a01b031681565b60355481565b60345481565b333014610bec5760405162461bcd60e51b815260040161077b90612101565b6033548110610c0d5760405162461bcd60e51b815260040161077b90612020565b603a55565b333014610c315760405162461bcd60e51b815260040161077b90612101565b603755565b60425481565b336000908152603c60205260409020546001600160a01b031680610c725760405162461bcd60e51b815260040161077b9061227d565b336000818152603c602052604080822080546001600160a01b0319169055516001600160a01b03841692917f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7291a350565b333014610ce25760405162461bcd60e51b815260040161077b90612101565b603455565b603b6020526000908152604090205481565b604155565b60365481565b603f6020526000908152604090205481565b6040546001600160a01b031681565b60385481565b610ba33382611816565b604080546001600160a01b0319166001600160a01b0392909216919091179055565b60005b8351811015610de857336001600160a01b0316603c6000868481518110610d7d57fe5b6020908102919091018101516001600160a01b03908116835290820192909252604001600020541614610dc25760405162461bcd60e51b815260040161077b906122c7565b610de0848281518110610dd157fe5b60200260200101518484611240565b600101610d5a565b50336000908152603b602052604090205415610e0957610e09338383611240565b505050565b333014610e2d5760405162461bcd60e51b815260040161077b90612101565b603955565b600054610100900460ff1680610e4b5750610e4b6118fb565b80610e59575060005460ff16155b610e755760405162461bcd60e51b815260040161077b906121e9565b600054610100900460ff16158015610ea0576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b038085166001600160a01b03199283161783558251610100818101855230825261dead602083019081526000958301868152606084018781526080850188815260a08601898152600160c0880181815260e089018c8152603d80549384018155909c52975160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b16928c169290921790915594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc4860180549190991699169890981790965590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc5830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc682015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc784015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc8830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990910180549351151590920261ff001991151560ff199094169390931716919091179055611060611901565b8015610794576000805461ff00191690555050565b60395481565b60375481565b600061108e33848461149c565b90505b92915050565b603d546000190190565b6110a96119c7565b603d83815481106110b657fe5b600091825260208083206001600160a01b0395909516835260089190910290930160070183526040908190208151606081018352815460ff8082161515835261010090910416151594810194909452600101549083015250919050565b3330146111325760405162461bcd60e51b815260040161077b90612101565b603355565b3330146111565760405162461bcd60e51b815260040161077b90612101565b603855565b33301461117a5760405162461bcd60e51b815260040161077b90612101565b603655565b60408054905163d505accf60e01b81526001600160a01b039091169063d505accf906111bb90899030908a908a908a908a908a90600401611e2b565b600060405180830381600087803b1580156111d557600080fd5b505af11580156111e9573d6000803e3d6000fd5b505050506111f78686611816565b505050505050565b6103e76042556040517fc22c84ebcf25b30190d2b53474def7b552efd2018ef8acaf6bed1b67e8d2be7c90611235908390612323565b60405180910390a150565b600161124b836107b6565b600681111561125657fe5b146112735760405162461bcd60e51b815260040161077b90611f45565b6000603d838154811061128257fe5b600091825260208083206001600160a01b038816845260076008909302019182018152604080842060058401546004850154603b9094529190942054929450101590806112e15760405162461bcd60e51b815260040161077b9061216f565b825460ff1615611330578254610100900460ff1615611317576001830154600485015461130d91611942565b6004850155611330565b6001830154600585015461132a91611942565b60058501555b841561134f5760048401546113459082611477565b6004850155611364565b600584015461135e9082611477565b60058501555b6006840154610100900460ff161580156113945750603954611392611387611471565b600387015490611942565b105b156113d85760058401546004850154111582151581146113d65760068501805461ff001916610100179055603a5460038601546113d091611477565b60038601555b505b8254600160ff19909116811761ff001916610100871515021784558301819055603354603454603a546003870154611423938b9361141e9391926108a992839190611477565b611984565b841515876001600160a01b0316877f7c2de587c00d75474a0c6c6fa96fd3b45dc974cd4e8a75f712bb84c950dce1b5846040516114609190612323565b60405180910390a450505050505050565b60415490565b60008282018381101561108e5760405162461bcd60e51b815260040161077b90611fe9565b6001600160a01b0383166000908152603b60205260408120546036548110156114d75760405162461bcd60e51b815260040161077b90611f8c565b6114e0846119c1565b6114fc5760405162461bcd60e51b815260040161077b906121a6565b6001600160a01b0385166000908152603e6020526040902054801561156e576000611526826107b6565b9050600181600681111561153657fe5b141580156115505750600081600681111561154d57fe5b14155b61156c5760405162461bcd60e51b815260040161077b90611eca565b505b600061157e6037546108a9611471565b905060006115976038548361147790919063ffffffff16565b90506115a16119e7565b506040805161010080820183526001600160a01b03808c1683528a8116602084019081529383018681526060840186815260006080860181815260a0870182815260c0880183815260e08901848152603d80546001810182559086528a5160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b166001600160a01b03199384161790559b517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc48d01805491909a1691161790975594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc58a015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc6890155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc788015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc887015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990950180549251151590930261ff001995151560ff19909316929092179490941617905590611753611097565b82516001600160a01b03166000908152603e60205260409020819055603354603454603a54929350611795928d9261141e9290916108a9919082908a90611477565b896001600160a01b0316817f90ec05050aa23d54ba425e926fe646c318e85825bc400b13a46010abe86eb2f08b87878d6040516117d59493929190611e6c565b60405180910390a39998505050505050505050565b6000818484111561180e5760405162461bcd60e51b815260040161077b9190611eb7565b505050900390565b6040805490516323b872dd60e01b81526001600160a01b03909116906323b872dd9061184a90859030908690600401611dc1565b602060405180830381600087803b15801561186457600080fd5b505af1158015611878573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061189c9190611cba565b6118b85760405162461bcd60e51b815260040161077b906120ca565b6001600160a01b0382166000908152603b60205260409020546118db9082611477565b6001600160a01b039092166000908152603b602052604090209190915550565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b600061108e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506117ea565b6001600160a01b0382166000908152603f6020526040902054811115610794576001600160a01b03919091166000908152603f6020526040902055565b3b151590565b604080516060810182526000808252602082018190529181019190915290565b60405180610100016040528060006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000151581526020016000151581525090565b80356001600160a01b038116811461109157600080fd5b803561109181612368565b600082601f830112611a74578081fd5b813567ffffffffffffffff811115611a8a578182fd5b611a9d601f8201601f191660200161232c565b9150808252836020828501011115611ab457600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215611ade578081fd5b61108e8383611a42565b600080600060608486031215611afc578182fd5b8335611b0781612353565b92506020840135611b1781612353565b9150604084013567ffffffffffffffff811115611b32578182fd5b611b3e86828701611a64565b9150509250925092565b60008060408385031215611b5a578182fd5b8235611b6581612353565b9150602083013567ffffffffffffffff811115611b80578182fd5b611b8c85828601611a64565b9150509250929050565b60008060008060008060c08789031215611bae578182fd5b611bb88888611a42565b95506020870135945060408701359350606087013560ff81168114611bdb578283fd5b9598949750929560808101359460a0909101359350915050565b600080600060608486031215611c09578283fd5b833567ffffffffffffffff80821115611c20578485fd5b818601915086601f830112611c33578485fd5b813581811115611c41578586fd5b60209150818102611c5383820161232c565b8281528381019085850183870186018c1015611c6d57898afd5b8996505b84871015611c9757611c838c82611a42565b835260019690960195918501918501611c71565b5097505050508501359250611cb190508560408601611a59565b90509250925092565b600060208284031215611ccb578081fd5b815161108e81612368565b600060208284031215611ce7578081fd5b5035919050565b60008060408385031215611d00578182fd5b82359150611d118460208501611a42565b90509250929050565b60008060408385031215611d2c578182fd5b823591506020830135611d3e81612368565b809150509250929050565b60008151808452815b81811015611d6e57602081850181015186830182015201611d52565b81811115611d7f5782602083870101525b50601f01601f19169290920160200192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03988916815296909716602087015260408601949094526060850192909252608084015260a0830152151560c082015290151560e08201526101000190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b600060018060a01b038616825284602083015283604083015260806060830152611e996080830184611d49565b9695505050505050565b6020810160078310611eb157fe5b91905290565b60006020825261108e6020830184611d49565b60208082526055908201527f476f7665726e616e63653a3a70726f706f73653a206f6e65206c69766520707260408201527f6f706f73616c207065722070726f706f7365722c20666f756e6420616e20616c6060820152741c9958591e481858dd1a5d99481c1c9bdc1bdcd85b605a1b608082015260a00190565b60208082526027908201527f476f7665726e616e63653a3a5f63617374566f74653a20766f74696e672069736040820152660818db1bdcd95960ca1b606082015260800190565b6020808252603c908201527f476f7665726e616e63653a3a70726f706f73653a2070726f706f73657220766f60408201527f7465732062656c6f772070726f706f73616c207468726573686f6c6400000000606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526024908201527f476f7665726e616e63653a20696e636f727265637420766f7465457874656e6460408201526354696d6560e01b606082015260800190565b6020808252601d908201527f476f7665726e616e63653a20746f6b656e7320617265206c6f636b6564000000604082015260600190565b6020808252601590820152741513d4938e881d1c985b9cd9995c8819985a5b1959605a1b604082015260600190565b60208082526019908201527f544f524e3a207472616e7366657246726f6d206661696c656400000000000000604082015260600190565b60208082526018908201527f476f7665726e616e63653a20756e617574686f72697a65640000000000000000604082015260600190565b6020808252601d908201527f476f7665726e616e63653a20696e76616c69642064656c656761746565000000604082015260600190565b60208082526018908201527f476f7665726e616e63653a2062616c616e636520697320300000000000000000604082015260600190565b60208082526023908201527f476f7665726e616e63653a3a70726f706f73653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b60208082526026908201527f476f7665726e616e63653a3a73746174653a20696e76616c69642070726f706f6040820152651cd85b081a5960d21b606082015260800190565b6020808252602a908201527f476f7665726e616e63653a20746f6b656e732061726520616c726561647920756040820152691b99195b1959d85d195960b21b606082015260800190565b6020808252601a908201527f476f7665726e616e63653a206e6f7420617574686f72697a6564000000000000604082015260600190565b8151151581526020808301511515908201526040918201519181019190915260600190565b90815260200190565b60405181810167ffffffffffffffff8111828210171561234b57600080fd5b604052919050565b6001600160a01b0381168114610ba357600080fd5b8015158114610ba357600080fdfea264697066735822122077147b2d24ffd383c4a2d0eb254eb72ba4274421278e284354c4848ff7c9df0164736f6c634300060c0033"; + +type NewImplementationConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: NewImplementationConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class NewImplementation__factory extends ContractFactory { + constructor(...args: NewImplementationConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(overrides || {}); + } + override deploy(overrides?: NonPayableOverrides & { from?: string }) { + return super.deploy(overrides || {}) as Promise< + NewImplementation & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): NewImplementation__factory { + return super.connect(runner) as NewImplementation__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): NewImplementationInterface { + return new Interface(_abi) as NewImplementationInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): NewImplementation { + return new Contract(address, _abi, runner) as unknown as NewImplementation; + } +} diff --git a/typechain-types/factories/contracts/Governance/v1/Mocks/ProposalUpgrade.sol/ProposalUpgrade__factory.ts b/typechain-types/factories/contracts/Governance/v1/Mocks/ProposalUpgrade.sol/ProposalUpgrade__factory.ts new file mode 100644 index 0000000..dee1196 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/v1/Mocks/ProposalUpgrade.sol/ProposalUpgrade__factory.ts @@ -0,0 +1,107 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { + Signer, + AddressLike, + ContractDeployTransaction, + ContractRunner, +} from "ethers"; +import type { NonPayableOverrides } from "../../../../../../common"; +import type { + ProposalUpgrade, + ProposalUpgradeInterface, +} from "../../../../../../contracts/Governance/v1/Mocks/ProposalUpgrade.sol/ProposalUpgrade"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "_newLogic", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + inputs: [], + name: "executeProposal", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "newLogic", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +const _bytecode = + "0x60a060405234801561001057600080fd5b506040516101da3803806101da83398101604081905261002f91610044565b60601b6001600160601b031916608052610072565b600060208284031215610055578081fd5b81516001600160a01b038116811461006b578182fd5b9392505050565b60805160601c610148610092600039806065528060a252506101486000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806305ccb23e1461003b578063373058b814610059575b600080fd5b610043610063565b60405161005091906100fe565b60405180910390f35b610061610087565b005b7f000000000000000000000000000000000000000000000000000000000000000081565b604051631b2ce7f360e11b81523090633659cfe6906100ca907f0000000000000000000000000000000000000000000000000000000000000000906004016100fe565b600060405180830381600087803b1580156100e457600080fd5b505af11580156100f8573d6000803e3d6000fd5b50505050565b6001600160a01b039190911681526020019056fea26469706673582212207d2c2c988cd8f64fa7efb7ef33cfeee3b01f81a501e4a71ae8a63d6a5e269eb664736f6c634300060c0033"; + +type ProposalUpgradeConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: ProposalUpgradeConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class ProposalUpgrade__factory extends ContractFactory { + constructor(...args: ProposalUpgradeConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + _newLogic: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(_newLogic, overrides || {}); + } + override deploy( + _newLogic: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ) { + return super.deploy(_newLogic, overrides || {}) as Promise< + ProposalUpgrade & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): ProposalUpgrade__factory { + return super.connect(runner) as ProposalUpgrade__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): ProposalUpgradeInterface { + return new Interface(_abi) as ProposalUpgradeInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): ProposalUpgrade { + return new Contract(address, _abi, runner) as unknown as ProposalUpgrade; + } +} diff --git a/typechain-types/factories/contracts/Governance/v1/Mocks/ProposalUpgrade.sol/index.ts b/typechain-types/factories/contracts/Governance/v1/Mocks/ProposalUpgrade.sol/index.ts new file mode 100644 index 0000000..ae6835c --- /dev/null +++ b/typechain-types/factories/contracts/Governance/v1/Mocks/ProposalUpgrade.sol/index.ts @@ -0,0 +1,6 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { IProxy__factory } from "./IProxy__factory"; +export { NewImplementation__factory } from "./NewImplementation__factory"; +export { ProposalUpgrade__factory } from "./ProposalUpgrade__factory"; diff --git a/typechain-types/factories/contracts/Governance/v1/Mocks/Proposal__factory.ts b/typechain-types/factories/contracts/Governance/v1/Mocks/Proposal__factory.ts new file mode 100644 index 0000000..e2c4b80 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/v1/Mocks/Proposal__factory.ts @@ -0,0 +1,84 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../../common"; +import type { + Proposal, + ProposalInterface, +} from "../../../../../contracts/Governance/v1/Mocks/Proposal"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "output", + type: "address", + }, + ], + name: "Debug", + type: "event", + }, + { + inputs: [], + name: "executeProposal", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +const _bytecode = + "0x608060405234801561001057600080fd5b506103d5806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063373058b814610030575b600080fd5b61003861003a565b005b6000604051610048906100fa565b604051809103906000f080158015610064573d6000803e3d6000fd5b509050806001600160a01b0316638129fc1c6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156100a257600080fd5b505af11580156100b6573d6000803e3d6000fd5b5050604080516001600160a01b038516815290517f330da4cde831ccab151372275307c2f0cce2bcce846635cd66e6908f10d203639350908190036020019150a150565b610298806101088339019056fe608060405234801561001057600080fd5b50610278806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80631f1bd692146100465780633fa4f245146100c35780638129fc1c146100dd575b600080fd5b61004e6100e7565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610088578181015183820152602001610070565b50505050905090810190601f1680156100b55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6100cb610174565b60408051918252519081900360200190f35b6100e561017a565b005b60018054604080516020600284861615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561016c5780601f106101415761010080835404028352916020019161016c565b820191906000526020600020905b81548152906001019060200180831161014f57829003601f168201915b505050505081565b60005481565b600160008190556040805180820190915260058082526464756d6d7960d81b60209092019182526101ac9291906101af565b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106101f057805160ff191683800117855561021d565b8280016001018555821561021d579182015b8281111561021d578251825591602001919060010190610202565b5061022992915061022d565b5090565b5b80821115610229576000815560010161022e56fea26469706673582212204b4d54284aeff9c7c570415da4a9efb9bf7115fe94a322210f9981c1c7ae107a64736f6c634300060c0033a26469706673582212205967b156db23a5fd2372953049f5c366f68a9f95cfa116f9fbd6d0c8e7bdaa6364736f6c634300060c0033"; + +type ProposalConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: ProposalConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class Proposal__factory extends ContractFactory { + constructor(...args: ProposalConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(overrides || {}); + } + override deploy(overrides?: NonPayableOverrides & { from?: string }) { + return super.deploy(overrides || {}) as Promise< + Proposal & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): Proposal__factory { + return super.connect(runner) as Proposal__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): ProposalInterface { + return new Interface(_abi) as ProposalInterface; + } + static connect(address: string, runner?: ContractRunner | null): Proposal { + return new Contract(address, _abi, runner) as unknown as Proposal; + } +} diff --git a/typechain-types/factories/contracts/Governance/v1/Mocks/index.ts b/typechain-types/factories/contracts/Governance/v1/Mocks/index.ts new file mode 100644 index 0000000..6424ca7 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/v1/Mocks/index.ts @@ -0,0 +1,8 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as dummySol from "./Dummy.sol"; +export * as proposalStateChangeGovernanceSol from "./ProposalStateChangeGovernance.sol"; +export * as proposalUpgradeSol from "./ProposalUpgrade.sol"; +export { MockGovernance__factory } from "./MockGovernance__factory"; +export { Proposal__factory } from "./Proposal__factory"; diff --git a/typechain-types/factories/contracts/Governance/v1/index.ts b/typechain-types/factories/contracts/Governance/v1/index.ts new file mode 100644 index 0000000..fbce51f --- /dev/null +++ b/typechain-types/factories/contracts/Governance/v1/index.ts @@ -0,0 +1,8 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as mocks from "./Mocks"; +export { Configuration__factory } from "./Configuration__factory"; +export { Core__factory } from "./Core__factory"; +export { Delegation__factory } from "./Delegation__factory"; +export { Governance__factory } from "./Governance__factory"; diff --git a/typechain-types/factories/contracts/Governance/v2-vault-and-gas/GasCompensator.sol/GasCompensator__factory.ts b/typechain-types/factories/contracts/Governance/v2-vault-and-gas/GasCompensator.sol/GasCompensator__factory.ts new file mode 100644 index 0000000..0b16986 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/v2-vault-and-gas/GasCompensator.sol/GasCompensator__factory.ts @@ -0,0 +1,75 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + GasCompensator, + GasCompensatorInterface, +} from "../../../../../contracts/Governance/v2-vault-and-gas/GasCompensator.sol/GasCompensator"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "_gasCompensationVault", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + inputs: [], + name: "gasCompensationVault", + outputs: [ + { + internalType: "contract IGasCompensationVault", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_gasCompensationsLimit", + type: "uint256", + }, + ], + name: "setGasCompensations", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "withdrawFromHelper", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class GasCompensator__factory { + static readonly abi = _abi; + static createInterface(): GasCompensatorInterface { + return new Interface(_abi) as GasCompensatorInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): GasCompensator { + return new Contract(address, _abi, runner) as unknown as GasCompensator; + } +} diff --git a/typechain-types/factories/contracts/Governance/v2-vault-and-gas/GasCompensator.sol/IGasCompensationVault__factory.ts b/typechain-types/factories/contracts/Governance/v2-vault-and-gas/GasCompensator.sol/IGasCompensationVault__factory.ts new file mode 100644 index 0000000..2eafc31 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/v2-vault-and-gas/GasCompensator.sol/IGasCompensationVault__factory.ts @@ -0,0 +1,60 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IGasCompensationVault, + IGasCompensationVaultInterface, +} from "../../../../../contracts/Governance/v2-vault-and-gas/GasCompensator.sol/IGasCompensationVault"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "uint256", + name: "gasAmount", + type: "uint256", + }, + ], + name: "compensateGas", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "withdrawToGovernance", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IGasCompensationVault__factory { + static readonly abi = _abi; + static createInterface(): IGasCompensationVaultInterface { + return new Interface(_abi) as IGasCompensationVaultInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): IGasCompensationVault { + return new Contract( + address, + _abi, + runner + ) as unknown as IGasCompensationVault; + } +} diff --git a/typechain-types/factories/contracts/Governance/v2-vault-and-gas/GasCompensator.sol/index.ts b/typechain-types/factories/contracts/Governance/v2-vault-and-gas/GasCompensator.sol/index.ts new file mode 100644 index 0000000..f583b13 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/v2-vault-and-gas/GasCompensator.sol/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { GasCompensator__factory } from "./GasCompensator__factory"; +export { IGasCompensationVault__factory } from "./IGasCompensationVault__factory"; diff --git a/typechain-types/factories/contracts/Governance/v2-vault-and-gas/GovernanceGasUpgrade__factory.ts b/typechain-types/factories/contracts/Governance/v2-vault-and-gas/GovernanceGasUpgrade__factory.ts new file mode 100644 index 0000000..1094445 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/v2-vault-and-gas/GovernanceGasUpgrade__factory.ts @@ -0,0 +1,982 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { + Signer, + AddressLike, + ContractDeployTransaction, + ContractRunner, +} from "ethers"; +import type { NonPayableOverrides } from "../../../../common"; +import type { + GovernanceGasUpgrade, + GovernanceGasUpgradeInterface, +} from "../../../../contracts/Governance/v2-vault-and-gas/GovernanceGasUpgrade"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "_gasCompLogic", + type: "address", + }, + { + internalType: "address", + name: "_userVault", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + ], + name: "Delegated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "id", + type: "uint256", + }, + { + indexed: true, + internalType: "address", + name: "proposer", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "target", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "startTime", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "endTime", + type: "uint256", + }, + { + indexed: false, + internalType: "string", + name: "description", + type: "string", + }, + ], + name: "ProposalCreated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "ProposalExecuted", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + ], + name: "Undelegated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + indexed: true, + internalType: "address", + name: "voter", + type: "address", + }, + { + indexed: true, + internalType: "bool", + name: "support", + type: "bool", + }, + { + indexed: false, + internalType: "uint256", + name: "votes", + type: "uint256", + }, + ], + name: "Voted", + type: "event", + }, + { + inputs: [], + name: "CLOSING_PERIOD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "EXECUTION_DELAY", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "EXECUTION_EXPIRATION", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "PROPOSAL_THRESHOLD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "QUORUM_VOTES", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "VOTE_EXTEND_TIME", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "VOTING_DELAY", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "VOTING_PERIOD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "canWithdrawAfter", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address[]", + name: "from", + type: "address[]", + }, + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "bool", + name: "support", + type: "bool", + }, + ], + name: "castDelegatedVote", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "bool", + name: "support", + type: "bool", + }, + ], + name: "castVote", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "checkIfQuorumReached", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address", + }, + ], + name: "delegate", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "delegatedTo", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "execute", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [], + name: "gasCompensationVault", + outputs: [ + { + internalType: "contract IGasCompensationVault", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "address", + name: "voter", + type: "address", + }, + ], + name: "getReceipt", + outputs: [ + { + components: [ + { + internalType: "bool", + name: "hasVoted", + type: "bool", + }, + { + internalType: "bool", + name: "support", + type: "bool", + }, + { + internalType: "uint256", + name: "votes", + type: "uint256", + }, + ], + internalType: "struct Governance.Receipt", + name: "", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "hasAccountVoted", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_torn", + type: "address", + }, + ], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "latestProposalIds", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "lock", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "lockWithApproval", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "lockedBalance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "proposalCount", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "proposals", + outputs: [ + { + internalType: "address", + name: "proposer", + type: "address", + }, + { + internalType: "address", + name: "target", + type: "address", + }, + { + internalType: "uint256", + name: "startTime", + type: "uint256", + }, + { + internalType: "uint256", + name: "endTime", + type: "uint256", + }, + { + internalType: "uint256", + name: "forVotes", + type: "uint256", + }, + { + internalType: "uint256", + name: "againstVotes", + type: "uint256", + }, + { + internalType: "bool", + name: "executed", + type: "bool", + }, + { + internalType: "bool", + name: "extended", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address", + }, + { + internalType: "string", + name: "description", + type: "string", + }, + ], + name: "propose", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "target", + type: "address", + }, + { + internalType: "string", + name: "description", + type: "string", + }, + ], + name: "proposeByDelegate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "returnMultisigAddress", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "closingPeriod", + type: "uint256", + }, + ], + name: "setClosingPeriod", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "executionDelay", + type: "uint256", + }, + ], + name: "setExecutionDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "executionExpiration", + type: "uint256", + }, + ], + name: "setExecutionExpiration", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "gasCompensationsLimit", + type: "uint256", + }, + ], + name: "setGasCompensations", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalThreshold", + type: "uint256", + }, + ], + name: "setProposalThreshold", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "quorumVotes", + type: "uint256", + }, + ], + name: "setQuorumVotes", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "voteExtendTime", + type: "uint256", + }, + ], + name: "setVoteExtendTime", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "votingDelay", + type: "uint256", + }, + ], + name: "setVotingDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "votingPeriod", + type: "uint256", + }, + ], + name: "setVotingPeriod", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "state", + outputs: [ + { + internalType: "enum Governance.ProposalState", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "torn", + outputs: [ + { + internalType: "contract TORN", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "undelegate", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "unlock", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "userVault", + outputs: [ + { + internalType: "contract ITornadoVault", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "version", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "withdrawFromHelper", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + stateMutability: "payable", + type: "receive", + }, +] as const; + +const _bytecode = + "0x60c06040523480156200001157600080fd5b5060405162002e3138038062002e31833981016040819052620000349162000153565b60005482908290610100900460ff1680620000545750620000546200010c565b8062000063575060005460ff16155b6200008b5760405162461bcd60e51b8152600401620000829062000191565b60405180910390fd5b600054610100900460ff16158015620000b7576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b03191661dead179055620000d562000112565b8015620000e8576000805461ff00191690555b506001600160601b0319606091821b811660805291901b1660a05250620001f89050565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b6000806040838503121562000166578182fd5b82516200017381620001df565b60208401519092506200018681620001df565b809150509250929050565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b6001600160a01b0381168114620001f557600080fd5b50565b60805160601c60a05160601c612bf162000240600039806108c55280610e525280610f4a52806114505280611ee1525080610d545280610fb75280611cf75250612bf16000f3fe60806040526004361061026b5760003560e01c80639ae697bf11610144578063d6159fe5116100b6578063e525aa081161007a578063e525aa08146106ff578063ea0217cf1461071f578063ece40cc11461073f578063ef3f8bb11461075f578063f0b768921461077f578063fe0d94c11461079f57610272565b8063d6159fe514610668578063d6f0948c1461067d578063da35c6641461069d578063e23a9a52146106b2578063e4917d9f146106df57610272565b8063b1610d7e11610108578063b1610d7e146105be578063b54426c8146105d3578063b859f11b146105f3578063c0c0e82014610613578063c4d66de814610633578063ce25d71c1461065357610272565b80639ae697bf1461053f5780639daafec71461055f578063a6c2660314610574578063a72edda314610589578063adf898a4146105a957610272565b80635c19a95c116101dd5780636dc2dc6c116101a15780636dc2dc6c1461049557806370b0f660146104b55780638b34a960146104d557806392ab89bb146104ea578063932d5157146104ff5780639a9e3b6e1461051f57610272565b80635c19a95c1461040b5780636198e3391461042b57806365da12641461044b578063671dd2751461046b5780636a6617551461048057610272565b806332687ec11161022f57806332687ec11461034557806337f135d7146103725780633e4f49e61461038757806354fd4d50146103b4578063587a6ecb146103d657806358e9fff0146103eb57610272565b8063013cf08b1461027757806302ec8f9e146102b457806315373e3d146102d657806317977c61146102f657806324b0435f1461032357610272565b3661027257005b600080fd5b34801561028357600080fd5b506102976102923660046123c5565b6107b2565b6040516102ab9897969594939291906124d1565b60405180910390f35b3480156102c057600080fd5b506102d46102cf3660046123c5565b610817565b005b3480156102e257600080fd5b506102d46102f1366004612409565b610844565b34801561030257600080fd5b506103166103113660046121bc565b610947565b6040516102ab9190612b38565b34801561032f57600080fd5b50610338610959565b6040516102ab9190612480565b34801561035157600080fd5b506103656103603660046123c5565b610971565b6040516102ab919061258f565b34801561037e57600080fd5b506103166109bf565b34801561039357600080fd5b506103a76103a23660046123c5565b6109c5565b6040516102ab919061259a565b3480156103c057600080fd5b506103c9610b01565b6040516102ab91906125ae565b3480156103e257600080fd5b50610316610b38565b3480156103f757600080fd5b506103166104063660046121d7565b610b3e565b34801561041757600080fd5b506102d46104263660046121bc565b610b8c565b34801561043757600080fd5b506102d46104463660046123c5565b610cae565b34801561045757600080fd5b506103386104663660046121bc565b610dc0565b34801561047757600080fd5b50610316610ddb565b34801561048c57600080fd5b50610316610de1565b3480156104a157600080fd5b506102d46104b03660046123c5565b610de7565b3480156104c157600080fd5b506102d46104d03660046123c5565b610e2c565b3480156104e157600080fd5b50610338610e50565b3480156104f657600080fd5b506102d4610e74565b34801561050b57600080fd5b506102d461051a3660046123c5565b610efb565b34801561052b57600080fd5b506102d461053a3660046123c5565b610f7f565b34801561054b57600080fd5b5061031661055a3660046121bc565b610fa3565b34801561056b57600080fd5b50610338610fb5565b34801561058057600080fd5b50610316610fd9565b34801561059557600080fd5b506103166105a43660046121bc565b610fdf565b3480156105b557600080fd5b50610338610ff1565b3480156105ca57600080fd5b50610316611000565b3480156105df57600080fd5b506102d46105ee3660046123c5565b611006565b3480156105ff57600080fd5b506102d461060e3660046122e4565b611013565b34801561061f57600080fd5b506102d461062e3660046123c5565b611061565b34801561063f57600080fd5b506102d461064e3660046121bc565b611085565b34801561065f57600080fd5b506103166112c9565b34801561067457600080fd5b506103166112cf565b34801561068957600080fd5b50610316610698366004612237565b6112d5565b3480156106a957600080fd5b506103166112eb565b3480156106be57600080fd5b506106d26106cd3660046123dd565b6112f5565b6040516102ab9190612b13565b3480156106eb57600080fd5b506102d46106fa3660046123c5565b611367565b34801561070b57600080fd5b5061036561071a3660046123dd565b61138b565b34801561072b57600080fd5b506102d461073a3660046123c5565b6113ce565b34801561074b57600080fd5b506102d461075a3660046123c5565b6113f2565b34801561076b57600080fd5b506102d461077a3660046123c5565b611416565b34801561078b57600080fd5b506102d461079a366004612285565b6114a5565b6102d46107ad3660046123c5565b611525565b603d81815481106107bf57fe5b600091825260209091206008909102018054600182015460028301546003840154600485015460058601546006909601546001600160a01b039586169750949093169491939092919060ff8082169161010090041688565b33301461083f5760405162461bcd60e51b815260040161083690612881565b60405180910390fd5b603555565b3361084f833361138b565b158015610862575061086083610971565b155b333214610870576000610874565b6152085b61ffff1681156109355760005a905061088e3387876116b7565b60006108ab6127106108a5856108a55a87906118e8565b9061192a565b60405163a99ce80760e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a99ce807906108fc9088908590600401612494565b600060405180830381600087803b15801561091657600080fd5b505af115801561092a573d6000803e3d6000fd5b505050505050610940565b6109403386866116b7565b5050505050565b603e6020526000908152604090205481565b73b04e030140b30c27bcdfaafffa98c57d80eda7b490565b6000603554603d838154811061098357fe5b906000526020600020906008020160050154603d84815481106109a257fe5b90600052602060002090600802016004015401101590505b919050565b60335481565b60006109cf6112eb565b82111580156109de5750600082115b6109fa5760405162461bcd60e51b8152600401610836906129de565b6000603d8381548110610a0957fe5b906000526020600020906008020190508060020154610a2661194f565b11610a355760009150506109ba565b8060030154610a4261194f565b11610a515760019150506109ba565b80600501548160040154111580610a7357506035548160050154826004015401105b15610a825760029150506109ba565b600681015460ff1615610a995760059150506109ba565b610ab86034546108a5603354846003015461192a90919063ffffffff16565b610ac061194f565b10610acf5760069150506109ba565b6033546003820154610ae09161192a565b610ae861194f565b10610af75760049150506109ba565b60039150506109ba565b60408051808201909152601981527f322e6c6f74746572792d616e642d6761732d7570677261646500000000000000602082015290565b603a5481565b6001600160a01b038381166000908152603c60205260408120549091163314610b795760405162461bcd60e51b815260040161083690612a6e565b610b84848484611953565b949350505050565b336000818152603c60205260409020546001600160a01b039081169190831614801590610bc257506001600160a01b0382163014155b8015610bd657506001600160a01b03821615155b8015610bf45750806001600160a01b0316826001600160a01b031614155b610c105760405162461bcd60e51b8152600401610836906128b8565b6001600160a01b03811615610c56576040516001600160a01b0382169033907f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7290600090a35b336000818152603c602052604080822080546001600160a01b0319166001600160a01b03871690811790915590519092917f4bc154dd35d6a5cb9206482ecb473cdbf2473006d6bce728b9cc0741bcc59ea291a35050565b336000908152603f6020526040902054610cc661194f565b11610ce35760405162461bcd60e51b8152600401610836906127e9565b60408051808201825260208082527f476f7665726e616e63653a20696e73756666696369656e742062616c616e636581830152336000908152603b9091529190912054610d31918390611ca1565b336000818152603b6020526040908190209290925590516391fe357360e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316916391fe357391610d9291908590600401612494565b600060405180830381600087803b158015610dac57600080fd5b505af1158015610940573d6000803e3d6000fd5b603c602052600090815260409020546001600160a01b031681565b60355481565b60345481565b333014610e065760405162461bcd60e51b815260040161083690612881565b6033548110610e275760405162461bcd60e51b8152600401610836906127a5565b603a55565b333014610e4b5760405162461bcd60e51b815260040161083690612881565b603755565b7f000000000000000000000000000000000000000000000000000000000000000081565b336000908152603c60205260409020546001600160a01b031680610eaa5760405162461bcd60e51b815260040161083690612a24565b336000818152603c602052604080822080546001600160a01b0319169055516001600160a01b03841692917f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7291a350565b610f03610959565b6001600160a01b0316336001600160a01b031614610f335760405162461bcd60e51b8152600401610836906129b7565b604051633a08bde160e21b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e822f78490610d92908490600401612b38565b333014610f9e5760405162461bcd60e51b815260040161083690612881565b603455565b603b6020526000908152604090205481565b7f000000000000000000000000000000000000000000000000000000000000000081565b60365481565b603f6020526000908152604090205481565b6040546001600160a01b031681565b60385481565b6110103382611ccd565b50565b60008351116110345760405162461bcd60e51b815260040161083690612857565b61105c838383611044863361138b565b158015611057575061105586610971565b155b611dd2565b505050565b3330146110805760405162461bcd60e51b815260040161083690612881565b603955565b600054610100900460ff168061109e575061109e612016565b806110ac575060005460ff16155b6110c85760405162461bcd60e51b815260040161083690612969565b600054610100900460ff161580156110f3576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b038085166001600160a01b03199283161783558251610100818101855230825261dead602083019081526000958301868152606084018781526080850188815260a08601898152600160c0880181815260e089018c8152603d80549384018155909c52975160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b16928c169290921790915594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc4860180549190991699169890981790965590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc5830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc682015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc784015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc8830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990910180549351151590920261ff001991151560ff1990941693909317169190911790556112b361201c565b80156112c5576000805461ff00191690555b5050565b60395481565b60375481565b60006112e2338484611953565b90505b92915050565b603d546000190190565b6112fd6120b6565b603d838154811061130a57fe5b600091825260208083206001600160a01b0395909516835260089190910290930160070183526040908190208151606081018352815460ff8082161515835261010090910416151594810194909452600101549083015250919050565b3330146113865760405162461bcd60e51b815260040161083690612881565b603355565b6000603d838154811061139a57fe5b600091825260208083206001600160a01b03861684526007600890930201919091019052604090205460ff16905092915050565b3330146113ed5760405162461bcd60e51b815260040161083690612881565b603855565b3330146114115760405162461bcd60e51b815260040161083690612881565b603655565b61141e610959565b6001600160a01b0316336001600160a01b03161461144e5760405162461bcd60e51b8152600401610836906129b7565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108fc611485834761205d565b6040518115909202916000818181858888f1935050505061101057600080fd5b60408054905163d505accf60e01b81526001600160a01b039091169063d505accf906114e190899030908a908a908a908a908a90600401612517565b600060405180830381600087803b1580156114fb57600080fd5b505af115801561150f573d6000803e3d6000fd5b5050505061151d8686611ccd565b505050505050565b6004611530826109c5565b600681111561153b57fe5b146115585760405162461bcd60e51b815260040161083690612604565b6000603d828154811061156757fe5b600091825260209091206006600890920201908101805460ff191660019081179091558101549091506001600160a01b03166115a281612073565b6115be5760405162461bcd60e51b8152600401610836906125c1565b60408051600481526024810182526020810180516001600160e01b03166306e60b1760e31b17905290516000916060916001600160a01b0385169161160291612464565b600060405180830381855af49150503d806000811461163d576040519150601f19603f3d011682016040523d82523d6000602084013e611642565b606091505b5091509150816116855780511561166d578060405162461bcd60e51b815260040161083691906125ae565b60405162461bcd60e51b815260040161083690612aa5565b60405185907f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f90600090a25050505050565b60016116c2836109c5565b60068111156116cd57fe5b146116ea5760405162461bcd60e51b8152600401610836906126ca565b6000603d83815481106116f957fe5b600091825260208083206001600160a01b038816845260076008909302019182018152604080842060058401546004850154603b9094529190942054929450101590806117585760405162461bcd60e51b8152600401610836906128ef565b825460ff16156117a7578254610100900460ff161561178e5760018301546004850154611784916118e8565b60048501556117a7565b600183015460058501546117a1916118e8565b60058501555b84156117c65760048401546117bc908261192a565b60048501556117db565b60058401546117d5908261192a565b60058501555b6006840154610100900460ff1615801561180b57506039546118096117fe61194f565b6003870154906118e8565b105b1561184f57600584015460048501541115821515811461184d5760068501805461ff001916610100179055603a5460038601546118479161192a565b60038601555b505b8254600160ff19909116811761ff001916610100871515021784558301819055603354603454603a54600387015461189a938b936118959391926108a59283919061192a565b612079565b841515876001600160a01b0316877f7c2de587c00d75474a0c6c6fa96fd3b45dc974cd4e8a75f712bb84c950dce1b5846040516118d79190612b38565b60405180910390a450505050505050565b60006112e283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611ca1565b6000828201838110156112e25760405162461bcd60e51b81526004016108369061276e565b4290565b6001600160a01b0383166000908152603b602052604081205460365481101561198e5760405162461bcd60e51b815260040161083690612711565b61199784612073565b6119b35760405162461bcd60e51b815260040161083690612926565b6001600160a01b0385166000908152603e60205260409020548015611a255760006119dd826109c5565b905060018160068111156119ed57fe5b14158015611a0757506000816006811115611a0457fe5b14155b611a235760405162461bcd60e51b81526004016108369061264f565b505b6000611a356037546108a561194f565b90506000611a4e6038548361192a90919063ffffffff16565b9050611a586120d6565b506040805161010080820183526001600160a01b03808c1683528a8116602084019081529383018681526060840186815260006080860181815260a0870182815260c0880183815260e08901848152603d80546001810182559086528a5160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b166001600160a01b03199384161790559b517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc48d01805491909a1691161790975594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc58a015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc6890155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc788015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc887015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990950180549251151590930261ff001995151560ff19909316929092179490941617905590611c0a6112eb565b82516001600160a01b03166000908152603e60205260409020819055603354603454603a54929350611c4c928d926118959290916108a5919082908a9061192a565b896001600160a01b0316817f90ec05050aa23d54ba425e926fe646c318e85825bc400b13a46010abe86eb2f08b87878d604051611c8c9493929190612558565b60405180910390a39998505050505050505050565b60008184841115611cc55760405162461bcd60e51b815260040161083691906125ae565b505050900390565b6040805490516323b872dd60e01b81526001600160a01b03909116906323b872dd90611d219085907f00000000000000000000000000000000000000000000000000000000000000009086906004016124ad565b602060405180830381600087803b158015611d3b57600080fd5b505af1158015611d4f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d7391906123a9565b611d8f5760405162461bcd60e51b815260040161083690612820565b6001600160a01b0382166000908152603b6020526040902054611db2908261192a565b6001600160a01b039092166000908152603b602052604090209190915550565b3381328214611de2576000611de6565b6152085b61ffff168115611f515760005a905060005b8851811015611eaf576000898281518110611e0f57fe5b6020908102919091018101516001600160a01b038082166000908152603c90935260409092205490925016331480611e4f57506001600160a01b03811633145b611e6b5760405162461bcd60e51b815260040161083690612a6e565b861580611e7f5750611e7d898261138b565b155b611e9b5760405162461bcd60e51b815260040161083690612adc565b611ea6818a8a6116b7565b50600101611df8565b506000611ec76127106108a5856108a55a87906118e8565b60405163a99ce80760e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a99ce80790611f189088908590600401612494565b600060405180830381600087803b158015611f3257600080fd5b505af1158015611f46573d6000803e3d6000fd5b50505050505061200d565b60005b875181101561200b576000888281518110611f6b57fe5b6020908102919091018101516001600160a01b038082166000908152603c90935260409092205490925016331480611fab57506001600160a01b03811633145b611fc75760405162461bcd60e51b815260040161083690612a6e565b851580611fdb5750611fd9888261138b565b155b611ff75760405162461bcd60e51b815260040161083690612adc565b6120028189896116b7565b50600101611f54565b505b50505050505050565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b600081831061206c57816112e2565b5090919050565b3b151590565b6001600160a01b0382166000908152603f60205260409020548111156112c5576001600160a01b03919091166000908152603f6020526040902055565b604080516060810182526000808252602082018190529181019190915290565b60405180610100016040528060006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000151581526020016000151581525090565b80356001600160a01b03811681146112e557600080fd5b80356112e581612bad565b600082601f830112612163578081fd5b813567ffffffffffffffff811115612179578182fd5b61218c601f8201601f1916602001612b41565b91508082528360208285010111156121a357600080fd5b8060208401602084013760009082016020015292915050565b6000602082840312156121cd578081fd5b6112e28383612131565b6000806000606084860312156121eb578182fd5b83356121f681612b98565b9250602084013561220681612b98565b9150604084013567ffffffffffffffff811115612221578182fd5b61222d86828701612153565b9150509250925092565b60008060408385031215612249578182fd5b823561225481612b98565b9150602083013567ffffffffffffffff81111561226f578182fd5b61227b85828601612153565b9150509250929050565b60008060008060008060c0878903121561229d578182fd5b6122a78888612131565b95506020870135945060408701359350606087013560ff811681146122ca578283fd5b9598949750929560808101359460a0909101359350915050565b6000806000606084860312156122f8578283fd5b833567ffffffffffffffff8082111561230f578485fd5b818601915086601f830112612322578485fd5b813581811115612330578586fd5b60209150818102612342838201612b41565b8281528381019085850183870186018c101561235c57898afd5b8996505b84871015612386576123728c82612131565b835260019690960195918501918501612360565b50975050505085013592506123a090508560408601612148565b90509250925092565b6000602082840312156123ba578081fd5b81516112e281612bad565b6000602082840312156123d6578081fd5b5035919050565b600080604083850312156123ef578182fd5b823591506124008460208501612131565b90509250929050565b6000806040838503121561241b578182fd5b82359150602083013561242d81612bad565b809150509250929050565b60008151808452612450816020860160208601612b68565b601f01601f19169290920160200192915050565b60008251612476818460208701612b68565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03988916815296909716602087015260408601949094526060850192909252608084015260a0830152151560c082015290151560e08201526101000190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b600060018060a01b0386168252846020830152836040830152608060608301526125856080830184612438565b9695505050505050565b901515815260200190565b60208101600783106125a857fe5b91905290565b6000602082526112e26020830184612438565b60208082526023908201527f476f7665726e616e63653a3a657865637574653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602b908201527f476f7665726e616e63653a3a657865637574653a20696e76616c69642070726f60408201526a706f73616c20737461746560a81b606082015260800190565b60208082526055908201527f476f7665726e616e63653a3a70726f706f73653a206f6e65206c69766520707260408201527f6f706f73616c207065722070726f706f7365722c20666f756e6420616e20616c6060820152741c9958591e481858dd1a5d99481c1c9bdc1bdcd85b605a1b608082015260a00190565b60208082526027908201527f476f7665726e616e63653a3a5f63617374566f74653a20766f74696e672069736040820152660818db1bdcd95960ca1b606082015260800190565b6020808252603c908201527f476f7665726e616e63653a3a70726f706f73653a2070726f706f73657220766f60408201527f7465732062656c6f772070726f706f73616c207468726573686f6c6400000000606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526024908201527f476f7665726e616e63653a20696e636f727265637420766f7465457874656e6460408201526354696d6560e01b606082015260800190565b6020808252601d908201527f476f7665726e616e63653a20746f6b656e7320617265206c6f636b6564000000604082015260600190565b60208082526019908201527f544f524e3a207472616e7366657246726f6d206661696c656400000000000000604082015260600190565b60208082526010908201526f43616e206e6f7420626520656d70747960801b604082015260600190565b60208082526018908201527f476f7665726e616e63653a20756e617574686f72697a65640000000000000000604082015260600190565b6020808252601d908201527f476f7665726e616e63653a20696e76616c69642064656c656761746565000000604082015260600190565b60208082526018908201527f476f7665726e616e63653a2062616c616e636520697320300000000000000000604082015260600190565b60208082526023908201527f476f7665726e616e63653a3a70726f706f73653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252600d908201526c6f6e6c79206d756c746973696760981b604082015260600190565b60208082526026908201527f476f7665726e616e63653a3a73746174653a20696e76616c69642070726f706f6040820152651cd85b081a5960d21b606082015260800190565b6020808252602a908201527f476f7665726e616e63653a20746f6b656e732061726520616c726561647920756040820152691b99195b1959d85d195960b21b606082015260800190565b6020808252601a908201527f476f7665726e616e63653a206e6f7420617574686f72697a6564000000000000604082015260600190565b60208082526019908201527f50726f706f73616c20657865637574696f6e206661696c656400000000000000604082015260600190565b60208082526019908201527f476f7665726e616e63653a20766f74656420616c726561647900000000000000604082015260600190565b8151151581526020808301511515908201526040918201519181019190915260600190565b90815260200190565b60405181810167ffffffffffffffff81118282101715612b6057600080fd5b604052919050565b60005b83811015612b83578181015183820152602001612b6b565b83811115612b92576000848401525b50505050565b6001600160a01b038116811461101057600080fd5b801515811461101057600080fdfea2646970667358221220a9ae24380315e86f1632949f167f44c17322fe48a1385357edbfdf8bc543469764736f6c634300060c0033"; + +type GovernanceGasUpgradeConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: GovernanceGasUpgradeConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class GovernanceGasUpgrade__factory extends ContractFactory { + constructor(...args: GovernanceGasUpgradeConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + _gasCompLogic: AddressLike, + _userVault: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction( + _gasCompLogic, + _userVault, + overrides || {} + ); + } + override deploy( + _gasCompLogic: AddressLike, + _userVault: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ) { + return super.deploy(_gasCompLogic, _userVault, overrides || {}) as Promise< + GovernanceGasUpgrade & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect( + runner: ContractRunner | null + ): GovernanceGasUpgrade__factory { + return super.connect(runner) as GovernanceGasUpgrade__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): GovernanceGasUpgradeInterface { + return new Interface(_abi) as GovernanceGasUpgradeInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): GovernanceGasUpgrade { + return new Contract( + address, + _abi, + runner + ) as unknown as GovernanceGasUpgrade; + } +} diff --git a/typechain-types/factories/contracts/Governance/v2-vault-and-gas/GovernanceVaultUpgrade__factory.ts b/typechain-types/factories/contracts/Governance/v2-vault-and-gas/GovernanceVaultUpgrade__factory.ts new file mode 100644 index 0000000..db08b07 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/v2-vault-and-gas/GovernanceVaultUpgrade__factory.ts @@ -0,0 +1,872 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { + Signer, + AddressLike, + ContractDeployTransaction, + ContractRunner, +} from "ethers"; +import type { NonPayableOverrides } from "../../../../common"; +import type { + GovernanceVaultUpgrade, + GovernanceVaultUpgradeInterface, +} from "../../../../contracts/Governance/v2-vault-and-gas/GovernanceVaultUpgrade"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "_userVault", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + ], + name: "Delegated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "id", + type: "uint256", + }, + { + indexed: true, + internalType: "address", + name: "proposer", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "target", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "startTime", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "endTime", + type: "uint256", + }, + { + indexed: false, + internalType: "string", + name: "description", + type: "string", + }, + ], + name: "ProposalCreated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "ProposalExecuted", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + ], + name: "Undelegated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + indexed: true, + internalType: "address", + name: "voter", + type: "address", + }, + { + indexed: true, + internalType: "bool", + name: "support", + type: "bool", + }, + { + indexed: false, + internalType: "uint256", + name: "votes", + type: "uint256", + }, + ], + name: "Voted", + type: "event", + }, + { + inputs: [], + name: "CLOSING_PERIOD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "EXECUTION_DELAY", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "EXECUTION_EXPIRATION", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "PROPOSAL_THRESHOLD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "QUORUM_VOTES", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "VOTE_EXTEND_TIME", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "VOTING_DELAY", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "VOTING_PERIOD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "canWithdrawAfter", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address[]", + name: "from", + type: "address[]", + }, + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "bool", + name: "support", + type: "bool", + }, + ], + name: "castDelegatedVote", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "bool", + name: "support", + type: "bool", + }, + ], + name: "castVote", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address", + }, + ], + name: "delegate", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "delegatedTo", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "execute", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "address", + name: "voter", + type: "address", + }, + ], + name: "getReceipt", + outputs: [ + { + components: [ + { + internalType: "bool", + name: "hasVoted", + type: "bool", + }, + { + internalType: "bool", + name: "support", + type: "bool", + }, + { + internalType: "uint256", + name: "votes", + type: "uint256", + }, + ], + internalType: "struct Governance.Receipt", + name: "", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_torn", + type: "address", + }, + ], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "latestProposalIds", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "lock", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "lockWithApproval", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "lockedBalance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "proposalCount", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "proposals", + outputs: [ + { + internalType: "address", + name: "proposer", + type: "address", + }, + { + internalType: "address", + name: "target", + type: "address", + }, + { + internalType: "uint256", + name: "startTime", + type: "uint256", + }, + { + internalType: "uint256", + name: "endTime", + type: "uint256", + }, + { + internalType: "uint256", + name: "forVotes", + type: "uint256", + }, + { + internalType: "uint256", + name: "againstVotes", + type: "uint256", + }, + { + internalType: "bool", + name: "executed", + type: "bool", + }, + { + internalType: "bool", + name: "extended", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address", + }, + { + internalType: "string", + name: "description", + type: "string", + }, + ], + name: "propose", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "target", + type: "address", + }, + { + internalType: "string", + name: "description", + type: "string", + }, + ], + name: "proposeByDelegate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "closingPeriod", + type: "uint256", + }, + ], + name: "setClosingPeriod", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "executionDelay", + type: "uint256", + }, + ], + name: "setExecutionDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "executionExpiration", + type: "uint256", + }, + ], + name: "setExecutionExpiration", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalThreshold", + type: "uint256", + }, + ], + name: "setProposalThreshold", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "quorumVotes", + type: "uint256", + }, + ], + name: "setQuorumVotes", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "voteExtendTime", + type: "uint256", + }, + ], + name: "setVoteExtendTime", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "votingDelay", + type: "uint256", + }, + ], + name: "setVotingDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "votingPeriod", + type: "uint256", + }, + ], + name: "setVotingPeriod", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "state", + outputs: [ + { + internalType: "enum Governance.ProposalState", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "torn", + outputs: [ + { + internalType: "contract TORN", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "undelegate", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "unlock", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "userVault", + outputs: [ + { + internalType: "contract ITornadoVault", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "version", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "pure", + type: "function", + }, +] as const; + +const _bytecode = + "0x60a06040523480156200001157600080fd5b506040516200277e3803806200277e833981016040819052620000349162000142565b600054610100900460ff168062000050575062000050620000fb565b806200005f575060005460ff16155b620000875760405162461bcd60e51b81526004016200007e9062000172565b60405180910390fd5b600054610100900460ff16158015620000b3576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b03191661dead179055620000d162000101565b8015620000e4576000805461ff00191690555b5060601b6001600160601b031916608052620001c0565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b60006020828403121562000154578081fd5b81516001600160a01b03811681146200016b578182fd5b9392505050565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b60805160601c612596620001e860003980610af15280610cb3528061194752506125966000f3fe6080604052600436106102255760003560e01c80639daafec711610123578063ce25d71c116100ab578063e4917d9f1161006f578063e4917d9f1461061b578063ea0217cf1461063b578063ece40cc11461065b578063f0b768921461067b578063fe0d94c11461069b57610225565b8063ce25d71c1461058f578063d6159fe5146105a4578063d6f0948c146105b9578063da35c664146105d9578063e23a9a52146105ee57610225565b8063b1610d7e116100f2578063b1610d7e146104fa578063b54426c81461050f578063b859f11b1461052f578063c0c0e8201461054f578063c4d66de81461056f57610225565b80639daafec71461049b578063a6c26603146104b0578063a72edda3146104c5578063adf898a4146104e557610225565b80635c19a95c116101b15780636dc2dc6c116101755780636dc2dc6c1461040657806370b0f6601461042657806392ab89bb146104465780639a9e3b6e1461045b5780639ae697bf1461047b57610225565b80635c19a95c1461036f5780636198e3391461038f57806365da1264146103af578063671dd275146103dc5780636a661755146103f157610225565b806337f135d7116101f857806337f135d7146102d65780633e4f49e6146102eb57806354fd4d5014610318578063587a6ecb1461033a57806358e9fff01461034f57610225565b8063013cf08b1461022a57806302ec8f9e1461026757806315373e3d1461028957806317977c61146102a9575b600080fd5b34801561023657600080fd5b5061024a610245366004611dfd565b6106ae565b60405161025e989796959493929190611f09565b60405180910390f35b34801561027357600080fd5b50610287610282366004611dfd565b610713565b005b34801561029557600080fd5b506102876102a4366004611e41565b610740565b3480156102b557600080fd5b506102c96102c4366004611bf4565b61074f565b60405161025e91906124dd565b3480156102e257600080fd5b506102c9610761565b3480156102f757600080fd5b5061030b610306366004611dfd565b610767565b60405161025e9190611fc7565b34801561032457600080fd5b5061032d6108aa565b60405161025e9190611fdb565b34801561034657600080fd5b506102c96108d5565b34801561035b57600080fd5b506102c961036a366004611c0f565b6108db565b34801561037b57600080fd5b5061028761038a366004611bf4565b610929565b34801561039b57600080fd5b506102876103aa366004611dfd565b610a4b565b3480156103bb57600080fd5b506103cf6103ca366004611bf4565b610b64565b60405161025e9190611eb8565b3480156103e857600080fd5b506102c9610b7f565b3480156103fd57600080fd5b506102c9610b85565b34801561041257600080fd5b50610287610421366004611dfd565b610b8b565b34801561043257600080fd5b50610287610441366004611dfd565b610bd0565b34801561045257600080fd5b50610287610bf4565b34801561046757600080fd5b50610287610476366004611dfd565b610c7b565b34801561048757600080fd5b506102c9610496366004611bf4565b610c9f565b3480156104a757600080fd5b506103cf610cb1565b3480156104bc57600080fd5b506102c9610cd5565b3480156104d157600080fd5b506102c96104e0366004611bf4565b610cdb565b3480156104f157600080fd5b506103cf610ced565b34801561050657600080fd5b506102c9610cfc565b34801561051b57600080fd5b5061028761052a366004611dfd565b610d02565b34801561053b57600080fd5b5061028761054a366004611d1c565b610d0f565b34801561055b57600080fd5b5061028761056a366004611dfd565b610dc6565b34801561057b57600080fd5b5061028761058a366004611bf4565b610dea565b34801561059b57600080fd5b506102c961102d565b3480156105b057600080fd5b506102c9611033565b3480156105c557600080fd5b506102c96105d4366004611c6f565b611039565b3480156105e557600080fd5b506102c961104f565b3480156105fa57600080fd5b5061060e610609366004611e15565b611059565b60405161025e91906124b8565b34801561062757600080fd5b50610287610636366004611dfd565b6110cb565b34801561064757600080fd5b50610287610656366004611dfd565b6110ef565b34801561066757600080fd5b50610287610676366004611dfd565b611113565b34801561068757600080fd5b50610287610696366004611cbd565b611137565b6102876106a9366004611dfd565b6111b7565b603d81815481106106bb57fe5b600091825260209091206008909102018054600182015460028301546003840154600485015460058601546006909601546001600160a01b039586169750949093169491939092919060ff8082169161010090041688565b33301461073b5760405162461bcd60e51b815260040161073290612284565b60405180910390fd5b603555565b61074b338383611349565b5050565b603e6020526000908152604090205481565b60335481565b600061077161104f565b82111580156107805750600082115b61079c5760405162461bcd60e51b8152600401610732906123ba565b6000603d83815481106107ab57fe5b9060005260206000209060080201905080600201546107c861157a565b116107d75760009150506108a5565b80600301546107e461157a565b116107f35760019150506108a5565b8060050154816004015411158061081557506035548160050154826004015401105b156108245760029150506108a5565b600681015460ff161561083b5760059150506108a5565b61086060345461085a603354846003015461157e90919063ffffffff16565b9061157e565b61086861157a565b106108775760069150506108a5565b60335460038201546108889161157e565b61089061157a565b1061089f5760049150506108a5565b60039150505b919050565b60408051808201909152601181527019173b30bab63a16b6b4b3b930ba34b7b760791b602082015290565b603a5481565b6001600160a01b038381166000908152603c602052604081205490911633146109165760405162461bcd60e51b81526004016107329061244a565b6109218484846115a3565b949350505050565b336000818152603c60205260409020546001600160a01b03908116919083161480159061095f57506001600160a01b0382163014155b801561097357506001600160a01b03821615155b80156109915750806001600160a01b0316826001600160a01b031614155b6109ad5760405162461bcd60e51b8152600401610732906122bb565b6001600160a01b038116156109f3576040516001600160a01b0382169033907f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7290600090a35b336000818152603c602052604080822080546001600160a01b0319166001600160a01b03871690811790915590519092917f4bc154dd35d6a5cb9206482ecb473cdbf2473006d6bce728b9cc0741bcc59ea291a35050565b336000908152603f6020526040902054610a6361157a565b11610a805760405162461bcd60e51b815260040161073290612216565b60408051808201825260208082527f476f7665726e616e63653a20696e73756666696369656e742062616c616e636581830152336000908152603b9091529190912054610ace9183906118f1565b336000818152603b6020526040908190209290925590516391fe357360e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316916391fe357391610b2f91908590600401611ecc565b600060405180830381600087803b158015610b4957600080fd5b505af1158015610b5d573d6000803e3d6000fd5b5050505050565b603c602052600090815260409020546001600160a01b031681565b60355481565b60345481565b333014610baa5760405162461bcd60e51b815260040161073290612284565b6033548110610bcb5760405162461bcd60e51b8152600401610732906121d2565b603a55565b333014610bef5760405162461bcd60e51b815260040161073290612284565b603755565b336000908152603c60205260409020546001600160a01b031680610c2a5760405162461bcd60e51b815260040161073290612400565b336000818152603c602052604080822080546001600160a01b0319169055516001600160a01b03841692917f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7291a350565b333014610c9a5760405162461bcd60e51b815260040161073290612284565b603455565b603b6020526000908152604090205481565b7f000000000000000000000000000000000000000000000000000000000000000081565b60365481565b603f6020526000908152604090205481565b6040546001600160a01b031681565b60385481565b610d0c338261191d565b50565b60005b8351811015610da057336001600160a01b0316603c6000868481518110610d3557fe5b6020908102919091018101516001600160a01b03908116835290820192909252604001600020541614610d7a5760405162461bcd60e51b81526004016107329061244a565b610d98848281518110610d8957fe5b60200260200101518484611349565b600101610d12565b50336000908152603b602052604090205415610dc157610dc1338383611349565b505050565b333014610de55760405162461bcd60e51b815260040161073290612284565b603955565b600054610100900460ff1680610e035750610e03611a22565b80610e11575060005460ff16155b610e2d5760405162461bcd60e51b81526004016107329061236c565b600054610100900460ff16158015610e58576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b038085166001600160a01b03199283161783558251610100818101855230825261dead602083019081526000958301868152606084018781526080850188815260a08601898152600160c0880181815260e089018c8152603d80549384018155909c52975160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b16928c169290921790915594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc4860180549190991699169890981790965590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc5830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc682015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc784015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc8830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990910180549351151590920261ff001991151560ff199094169390931716919091179055611018611a28565b801561074b576000805461ff00191690555050565b60395481565b60375481565b60006110463384846115a3565b90505b92915050565b603d546000190190565b611061611aee565b603d838154811061106e57fe5b600091825260208083206001600160a01b0395909516835260089190910290930160070183526040908190208151606081018352815460ff8082161515835261010090910416151594810194909452600101549083015250919050565b3330146110ea5760405162461bcd60e51b815260040161073290612284565b603355565b33301461110e5760405162461bcd60e51b815260040161073290612284565b603855565b3330146111325760405162461bcd60e51b815260040161073290612284565b603655565b60408054905163d505accf60e01b81526001600160a01b039091169063d505accf9061117390899030908a908a908a908a908a90600401611f4f565b600060405180830381600087803b15801561118d57600080fd5b505af11580156111a1573d6000803e3d6000fd5b505050506111af868661191d565b505050505050565b60046111c282610767565b60068111156111cd57fe5b146111ea5760405162461bcd60e51b815260040161073290612031565b6000603d82815481106111f957fe5b600091825260209091206006600890920201908101805460ff191660019081179091558101549091506001600160a01b031661123481611a69565b6112505760405162461bcd60e51b815260040161073290611fee565b60408051600481526024810182526020810180516001600160e01b03166306e60b1760e31b17905290516000916060916001600160a01b0385169161129491611e9c565b600060405180830381855af49150503d80600081146112cf576040519150601f19603f3d011682016040523d82523d6000602084013e6112d4565b606091505b509150915081611317578051156112ff578060405162461bcd60e51b81526004016107329190611fdb565b60405162461bcd60e51b815260040161073290612481565b60405185907f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f90600090a25050505050565b600161135483610767565b600681111561135f57fe5b1461137c5760405162461bcd60e51b8152600401610732906120f7565b6000603d838154811061138b57fe5b600091825260208083206001600160a01b038816845260076008909302019182018152604080842060058401546004850154603b9094529190942054929450101590806113ea5760405162461bcd60e51b8152600401610732906122f2565b825460ff1615611439578254610100900460ff1615611420576001830154600485015461141691611a6f565b6004850155611439565b6001830154600585015461143391611a6f565b60058501555b841561145857600484015461144e908261157e565b600485015561146d565b6005840154611467908261157e565b60058501555b6006840154610100900460ff1615801561149d575060395461149b61149061157a565b600387015490611a6f565b105b156114e15760058401546004850154111582151581146114df5760068501805461ff001916610100179055603a5460038601546114d99161157e565b60038601555b505b8254600160ff19909116811761ff001916610100871515021784558301819055603354603454603a54600387015461152c938b9361152793919261085a9283919061157e565b611ab1565b841515876001600160a01b0316877f7c2de587c00d75474a0c6c6fa96fd3b45dc974cd4e8a75f712bb84c950dce1b58460405161156991906124dd565b60405180910390a450505050505050565b4290565b6000828201838110156110465760405162461bcd60e51b81526004016107329061219b565b6001600160a01b0383166000908152603b60205260408120546036548110156115de5760405162461bcd60e51b81526004016107329061213e565b6115e784611a69565b6116035760405162461bcd60e51b815260040161073290612329565b6001600160a01b0385166000908152603e6020526040902054801561167557600061162d82610767565b9050600181600681111561163d57fe5b141580156116575750600081600681111561165457fe5b14155b6116735760405162461bcd60e51b81526004016107329061207c565b505b600061168560375461085a61157a565b9050600061169e6038548361157e90919063ffffffff16565b90506116a8611b0e565b506040805161010080820183526001600160a01b03808c1683528a8116602084019081529383018681526060840186815260006080860181815260a0870182815260c0880183815260e08901848152603d80546001810182559086528a5160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b166001600160a01b03199384161790559b517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc48d01805491909a1691161790975594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc58a015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc6890155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc788015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc887015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990950180549251151590930261ff001995151560ff1990931692909217949094161790559061185a61104f565b82516001600160a01b03166000908152603e60205260409020819055603354603454603a5492935061189c928d9261152792909161085a919082908a9061157e565b896001600160a01b0316817f90ec05050aa23d54ba425e926fe646c318e85825bc400b13a46010abe86eb2f08b87878d6040516118dc9493929190611f90565b60405180910390a39998505050505050505050565b600081848411156119155760405162461bcd60e51b81526004016107329190611fdb565b505050900390565b6040805490516323b872dd60e01b81526001600160a01b03909116906323b872dd906119719085907f0000000000000000000000000000000000000000000000000000000000000000908690600401611ee5565b602060405180830381600087803b15801561198b57600080fd5b505af115801561199f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c39190611de1565b6119df5760405162461bcd60e51b81526004016107329061224d565b6001600160a01b0382166000908152603b6020526040902054611a02908261157e565b6001600160a01b039092166000908152603b602052604090209190915550565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b3b151590565b600061104683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506118f1565b6001600160a01b0382166000908152603f602052604090205481111561074b576001600160a01b03919091166000908152603f6020526040902055565b604080516060810182526000808252602082018190529181019190915290565b60405180610100016040528060006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000151581526020016000151581525090565b80356001600160a01b038116811461104957600080fd5b803561104981612552565b600082601f830112611b9b578081fd5b813567ffffffffffffffff811115611bb1578182fd5b611bc4601f8201601f19166020016124e6565b9150808252836020828501011115611bdb57600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215611c05578081fd5b6110468383611b69565b600080600060608486031215611c23578182fd5b8335611c2e8161253d565b92506020840135611c3e8161253d565b9150604084013567ffffffffffffffff811115611c59578182fd5b611c6586828701611b8b565b9150509250925092565b60008060408385031215611c81578182fd5b8235611c8c8161253d565b9150602083013567ffffffffffffffff811115611ca7578182fd5b611cb385828601611b8b565b9150509250929050565b60008060008060008060c08789031215611cd5578182fd5b611cdf8888611b69565b95506020870135945060408701359350606087013560ff81168114611d02578283fd5b9598949750929560808101359460a0909101359350915050565b600080600060608486031215611d30578283fd5b833567ffffffffffffffff80821115611d47578485fd5b818601915086601f830112611d5a578485fd5b813581811115611d68578586fd5b60209150818102611d7a8382016124e6565b8281528381019085850183870186018c1015611d9457898afd5b8996505b84871015611dbe57611daa8c82611b69565b835260019690960195918501918501611d98565b5097505050508501359250611dd890508560408601611b80565b90509250925092565b600060208284031215611df2578081fd5b815161104681612552565b600060208284031215611e0e578081fd5b5035919050565b60008060408385031215611e27578182fd5b82359150611e388460208501611b69565b90509250929050565b60008060408385031215611e53578182fd5b823591506020830135611e6581612552565b809150509250929050565b60008151808452611e8881602086016020860161250d565b601f01601f19169290920160200192915050565b60008251611eae81846020870161250d565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03988916815296909716602087015260408601949094526060850192909252608084015260a0830152151560c082015290151560e08201526101000190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b600060018060a01b038616825284602083015283604083015260806060830152611fbd6080830184611e70565b9695505050505050565b6020810160078310611fd557fe5b91905290565b6000602082526110466020830184611e70565b60208082526023908201527f476f7665726e616e63653a3a657865637574653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602b908201527f476f7665726e616e63653a3a657865637574653a20696e76616c69642070726f60408201526a706f73616c20737461746560a81b606082015260800190565b60208082526055908201527f476f7665726e616e63653a3a70726f706f73653a206f6e65206c69766520707260408201527f6f706f73616c207065722070726f706f7365722c20666f756e6420616e20616c6060820152741c9958591e481858dd1a5d99481c1c9bdc1bdcd85b605a1b608082015260a00190565b60208082526027908201527f476f7665726e616e63653a3a5f63617374566f74653a20766f74696e672069736040820152660818db1bdcd95960ca1b606082015260800190565b6020808252603c908201527f476f7665726e616e63653a3a70726f706f73653a2070726f706f73657220766f60408201527f7465732062656c6f772070726f706f73616c207468726573686f6c6400000000606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526024908201527f476f7665726e616e63653a20696e636f727265637420766f7465457874656e6460408201526354696d6560e01b606082015260800190565b6020808252601d908201527f476f7665726e616e63653a20746f6b656e7320617265206c6f636b6564000000604082015260600190565b60208082526019908201527f544f524e3a207472616e7366657246726f6d206661696c656400000000000000604082015260600190565b60208082526018908201527f476f7665726e616e63653a20756e617574686f72697a65640000000000000000604082015260600190565b6020808252601d908201527f476f7665726e616e63653a20696e76616c69642064656c656761746565000000604082015260600190565b60208082526018908201527f476f7665726e616e63653a2062616c616e636520697320300000000000000000604082015260600190565b60208082526023908201527f476f7665726e616e63653a3a70726f706f73653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b60208082526026908201527f476f7665726e616e63653a3a73746174653a20696e76616c69642070726f706f6040820152651cd85b081a5960d21b606082015260800190565b6020808252602a908201527f476f7665726e616e63653a20746f6b656e732061726520616c726561647920756040820152691b99195b1959d85d195960b21b606082015260800190565b6020808252601a908201527f476f7665726e616e63653a206e6f7420617574686f72697a6564000000000000604082015260600190565b60208082526019908201527f50726f706f73616c20657865637574696f6e206661696c656400000000000000604082015260600190565b8151151581526020808301511515908201526040918201519181019190915260600190565b90815260200190565b60405181810167ffffffffffffffff8111828210171561250557600080fd5b604052919050565b60005b83811015612528578181015183820152602001612510565b83811115612537576000848401525b50505050565b6001600160a01b0381168114610d0c57600080fd5b8015158114610d0c57600080fdfea26469706673582212204b0042571b6576e17c0708c8f251958898bb0e0a9f340387b1eed439d732af7264736f6c634300060c0033"; + +type GovernanceVaultUpgradeConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: GovernanceVaultUpgradeConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class GovernanceVaultUpgrade__factory extends ContractFactory { + constructor(...args: GovernanceVaultUpgradeConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + _userVault: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(_userVault, overrides || {}); + } + override deploy( + _userVault: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ) { + return super.deploy(_userVault, overrides || {}) as Promise< + GovernanceVaultUpgrade & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect( + runner: ContractRunner | null + ): GovernanceVaultUpgrade__factory { + return super.connect(runner) as GovernanceVaultUpgrade__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): GovernanceVaultUpgradeInterface { + return new Interface(_abi) as GovernanceVaultUpgradeInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): GovernanceVaultUpgrade { + return new Contract( + address, + _abi, + runner + ) as unknown as GovernanceVaultUpgrade; + } +} diff --git a/typechain-types/factories/contracts/Governance/v2-vault-and-gas/index.ts b/typechain-types/factories/contracts/Governance/v2-vault-and-gas/index.ts new file mode 100644 index 0000000..115b8b4 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/v2-vault-and-gas/index.ts @@ -0,0 +1,7 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as gasCompensatorSol from "./GasCompensator.sol"; +export * as interfaces from "./interfaces"; +export { GovernanceGasUpgrade__factory } from "./GovernanceGasUpgrade__factory"; +export { GovernanceVaultUpgrade__factory } from "./GovernanceVaultUpgrade__factory"; diff --git a/typechain-types/factories/contracts/Governance/v2-vault-and-gas/interfaces/ITornadoVault__factory.ts b/typechain-types/factories/contracts/Governance/v2-vault-and-gas/interfaces/ITornadoVault__factory.ts new file mode 100644 index 0000000..7a52b3b --- /dev/null +++ b/typechain-types/factories/contracts/Governance/v2-vault-and-gas/interfaces/ITornadoVault__factory.ts @@ -0,0 +1,43 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + ITornadoVault, + ITornadoVaultInterface, +} from "../../../../../contracts/Governance/v2-vault-and-gas/interfaces/ITornadoVault"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "recipient", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "withdrawTorn", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class ITornadoVault__factory { + static readonly abi = _abi; + static createInterface(): ITornadoVaultInterface { + return new Interface(_abi) as ITornadoVaultInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): ITornadoVault { + return new Contract(address, _abi, runner) as unknown as ITornadoVault; + } +} diff --git a/typechain-types/factories/contracts/Governance/v2-vault-and-gas/interfaces/index.ts b/typechain-types/factories/contracts/Governance/v2-vault-and-gas/interfaces/index.ts new file mode 100644 index 0000000..4a5c5a7 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/v2-vault-and-gas/interfaces/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { ITornadoVault__factory } from "./ITornadoVault__factory"; diff --git a/typechain-types/factories/contracts/Governance/v3-relayer-registry/GovernanceStakingUpgrade__factory.ts b/typechain-types/factories/contracts/Governance/v3-relayer-registry/GovernanceStakingUpgrade__factory.ts new file mode 100644 index 0000000..b0b79fa --- /dev/null +++ b/typechain-types/factories/contracts/Governance/v3-relayer-registry/GovernanceStakingUpgrade__factory.ts @@ -0,0 +1,1040 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { + Signer, + AddressLike, + ContractDeployTransaction, + ContractRunner, +} from "ethers"; +import type { NonPayableOverrides } from "../../../../common"; +import type { + GovernanceStakingUpgrade, + GovernanceStakingUpgradeInterface, +} from "../../../../contracts/Governance/v3-relayer-registry/GovernanceStakingUpgrade"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "stakingRewardsAddress", + type: "address", + }, + { + internalType: "address", + name: "gasCompLogic", + type: "address", + }, + { + internalType: "address", + name: "userVaultAddress", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + ], + name: "Delegated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "id", + type: "uint256", + }, + { + indexed: true, + internalType: "address", + name: "proposer", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "target", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "startTime", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "endTime", + type: "uint256", + }, + { + indexed: false, + internalType: "string", + name: "description", + type: "string", + }, + ], + name: "ProposalCreated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "ProposalExecuted", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address", + }, + { + indexed: true, + internalType: "bytes", + name: "errorData", + type: "bytes", + }, + ], + name: "RewardUpdateFailed", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "RewardUpdateSuccessful", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + ], + name: "Undelegated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + indexed: true, + internalType: "address", + name: "voter", + type: "address", + }, + { + indexed: true, + internalType: "bool", + name: "support", + type: "bool", + }, + { + indexed: false, + internalType: "uint256", + name: "votes", + type: "uint256", + }, + ], + name: "Voted", + type: "event", + }, + { + inputs: [], + name: "CLOSING_PERIOD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "EXECUTION_DELAY", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "EXECUTION_EXPIRATION", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "PROPOSAL_THRESHOLD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "QUORUM_VOTES", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "Staking", + outputs: [ + { + internalType: "contract ITornadoStakingRewards", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "VOTE_EXTEND_TIME", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "VOTING_DELAY", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "VOTING_PERIOD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "canWithdrawAfter", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address[]", + name: "from", + type: "address[]", + }, + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "bool", + name: "support", + type: "bool", + }, + ], + name: "castDelegatedVote", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "bool", + name: "support", + type: "bool", + }, + ], + name: "castVote", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "checkIfQuorumReached", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address", + }, + ], + name: "delegate", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "delegatedTo", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "execute", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [], + name: "gasCompensationVault", + outputs: [ + { + internalType: "contract IGasCompensationVault", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "address", + name: "voter", + type: "address", + }, + ], + name: "getReceipt", + outputs: [ + { + components: [ + { + internalType: "bool", + name: "hasVoted", + type: "bool", + }, + { + internalType: "bool", + name: "support", + type: "bool", + }, + { + internalType: "uint256", + name: "votes", + type: "uint256", + }, + ], + internalType: "struct Governance.Receipt", + name: "", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "hasAccountVoted", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_torn", + type: "address", + }, + ], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "latestProposalIds", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "lock", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "lockWithApproval", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "lockedBalance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "proposalCount", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "proposals", + outputs: [ + { + internalType: "address", + name: "proposer", + type: "address", + }, + { + internalType: "address", + name: "target", + type: "address", + }, + { + internalType: "uint256", + name: "startTime", + type: "uint256", + }, + { + internalType: "uint256", + name: "endTime", + type: "uint256", + }, + { + internalType: "uint256", + name: "forVotes", + type: "uint256", + }, + { + internalType: "uint256", + name: "againstVotes", + type: "uint256", + }, + { + internalType: "bool", + name: "executed", + type: "bool", + }, + { + internalType: "bool", + name: "extended", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address", + }, + { + internalType: "string", + name: "description", + type: "string", + }, + ], + name: "propose", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "target", + type: "address", + }, + { + internalType: "string", + name: "description", + type: "string", + }, + ], + name: "proposeByDelegate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "returnMultisigAddress", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "closingPeriod", + type: "uint256", + }, + ], + name: "setClosingPeriod", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "executionDelay", + type: "uint256", + }, + ], + name: "setExecutionDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "executionExpiration", + type: "uint256", + }, + ], + name: "setExecutionExpiration", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "gasCompensationsLimit", + type: "uint256", + }, + ], + name: "setGasCompensations", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalThreshold", + type: "uint256", + }, + ], + name: "setProposalThreshold", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "quorumVotes", + type: "uint256", + }, + ], + name: "setQuorumVotes", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "voteExtendTime", + type: "uint256", + }, + ], + name: "setVoteExtendTime", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "votingDelay", + type: "uint256", + }, + ], + name: "setVotingDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "votingPeriod", + type: "uint256", + }, + ], + name: "setVotingPeriod", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "state", + outputs: [ + { + internalType: "enum Governance.ProposalState", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "torn", + outputs: [ + { + internalType: "contract TORN", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "undelegate", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "unlock", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "userVault", + outputs: [ + { + internalType: "contract ITornadoVault", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "version", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "withdrawFromHelper", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + stateMutability: "payable", + type: "receive", + }, +] as const; + +const _bytecode = + "0x60e06040523480156200001157600080fd5b50604051620032a6380380620032a6833981016040819052620000349162000165565b81818181600060019054906101000a900460ff1680620000595750620000596200011e565b8062000068575060005460ff16155b620000905760405162461bcd60e51b81526004016200008790620001b8565b60405180910390fd5b600054610100900460ff16158015620000bc576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b03191661dead179055620000da62000124565b8015620000ed576000805461ff00191690555b506001600160601b0319606091821b811660805291811b821660a0529590951b90941660c052506200021f92505050565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b6000806000606084860312156200017a578283fd5b8351620001878162000206565b60208501519093506200019a8162000206565b6040850151909250620001ad8162000206565b809150509250925092565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b6001600160a01b03811681146200021c57600080fd5b50565b60805160601c60a05160601c60c05160601c6130246200028260003980610cf652806110b7528061169852806117c95250806108e55280610ead5280610fa552806116145280612164525080611040528061200d528061240e52506130246000f3fe6080604052600436106102765760003560e01c80639ae697bf1161014f578063d6159fe5116100c1578063ea0217cf1161007a578063ea0217cf1461072a578063ece40cc11461074a578063ef3f8bb11461076a578063f0b768921461078a578063f57df22e146107aa578063fe0d94c1146107bf5761027d565b8063d6159fe514610673578063d6f0948c14610688578063da35c664146106a8578063e23a9a52146106bd578063e4917d9f146106ea578063e525aa081461070a5761027d565b8063b1610d7e11610113578063b1610d7e146105c9578063b54426c8146105de578063b859f11b146105fe578063c0c0e8201461061e578063c4d66de81461063e578063ce25d71c1461065e5761027d565b80639ae697bf1461054a5780639daafec71461056a578063a6c266031461057f578063a72edda314610594578063adf898a4146105b45761027d565b80635c19a95c116101e85780636dc2dc6c116101ac5780636dc2dc6c146104a057806370b0f660146104c05780638b34a960146104e057806392ab89bb146104f5578063932d51571461050a5780639a9e3b6e1461052a5761027d565b80635c19a95c146104165780636198e3391461043657806365da126414610456578063671dd275146104765780636a6617551461048b5761027d565b806332687ec11161023a57806332687ec11461035057806337f135d71461037d5780633e4f49e61461039257806354fd4d50146103bf578063587a6ecb146103e157806358e9fff0146103f65761027d565b8063013cf08b1461028257806302ec8f9e146102bf57806315373e3d146102e157806317977c611461030157806324b0435f1461032e5761027d565b3661027d57005b600080fd5b34801561028e57600080fd5b506102a261029d3660046127f8565b6107d2565b6040516102b6989796959493929190612904565b60405180910390f35b3480156102cb57600080fd5b506102df6102da3660046127f8565b610837565b005b3480156102ed57600080fd5b506102df6102fc36600461283c565b610864565b34801561030d57600080fd5b5061032161031c3660046125ef565b610967565b6040516102b69190612f6b565b34801561033a57600080fd5b50610343610979565b6040516102b691906128b3565b34801561035c57600080fd5b5061037061036b3660046127f8565b610991565b6040516102b691906129c2565b34801561038957600080fd5b506103216109df565b34801561039e57600080fd5b506103b26103ad3660046127f8565b6109e5565b6040516102b691906129cd565b3480156103cb57600080fd5b506103d4610b21565b6040516102b691906129e1565b3480156103ed57600080fd5b50610321610b58565b34801561040257600080fd5b5061032161041136600461260a565b610b5e565b34801561042257600080fd5b506102df6104313660046125ef565b610bac565b34801561044257600080fd5b506102df6104513660046127f8565b610cce565b34801561046257600080fd5b506103436104713660046125ef565b610e1b565b34801561048257600080fd5b50610321610e36565b34801561049757600080fd5b50610321610e3c565b3480156104ac57600080fd5b506102df6104bb3660046127f8565b610e42565b3480156104cc57600080fd5b506102df6104db3660046127f8565b610e87565b3480156104ec57600080fd5b50610343610eab565b34801561050157600080fd5b506102df610ecf565b34801561051657600080fd5b506102df6105253660046127f8565b610f56565b34801561053657600080fd5b506102df6105453660046127f8565b611008565b34801561055657600080fd5b506103216105653660046125ef565b61102c565b34801561057657600080fd5b5061034361103e565b34801561058b57600080fd5b50610321611062565b3480156105a057600080fd5b506103216105af3660046125ef565b611068565b3480156105c057600080fd5b5061034361107a565b3480156105d557600080fd5b50610321611089565b3480156105ea57600080fd5b506102df6105f93660046127f8565b61108f565b34801561060a57600080fd5b506102df610619366004612717565b6111d8565b34801561062a57600080fd5b506102df6106393660046127f8565b611226565b34801561064a57600080fd5b506102df6106593660046125ef565b61124a565b34801561066a57600080fd5b5061032161148d565b34801561067f57600080fd5b50610321611493565b34801561069457600080fd5b506103216106a336600461266a565b611499565b3480156106b457600080fd5b506103216114af565b3480156106c957600080fd5b506106dd6106d8366004612810565b6114b9565b6040516102b69190612f46565b3480156106f657600080fd5b506102df6107053660046127f8565b61152b565b34801561071657600080fd5b50610370610725366004612810565b61154f565b34801561073657600080fd5b506102df6107453660046127f8565b611592565b34801561075657600080fd5b506102df6107653660046127f8565b6115b6565b34801561077657600080fd5b506102df6107853660046127f8565b6115da565b34801561079657600080fd5b506102df6107a53660046126b8565b61166c565b3480156107b657600080fd5b506103436117c7565b6102df6107cd3660046127f8565b6117eb565b603d81815481106107df57fe5b600091825260209091206008909102018054600182015460028301546003840154600485015460058601546006909601546001600160a01b039586169750949093169491939092919060ff8082169161010090041688565b33301461085f5760405162461bcd60e51b815260040161085690612cb4565b60405180910390fd5b603555565b3361086f833361154f565b158015610882575061088083610991565b155b333214610890576000610894565b6152085b61ffff1681156109555760005a90506108ae33878761197d565b60006108cb6127106108c5856108c55a8790611bae565b90611bf0565b60405163a99ce80760e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a99ce8079061091c90889085906004016128c7565b600060405180830381600087803b15801561093657600080fd5b505af115801561094a573d6000803e3d6000fd5b505050505050610960565b61096033868661197d565b5050505050565b603e6020526000908152604090205481565b73b04e030140b30c27bcdfaafffa98c57d80eda7b490565b6000603554603d83815481106109a357fe5b906000526020600020906008020160050154603d84815481106109c257fe5b90600052602060002090600802016004015401101590505b919050565b60335481565b60006109ef6114af565b82111580156109fe5750600082115b610a1a5760405162461bcd60e51b815260040161085690612e11565b6000603d8381548110610a2957fe5b906000526020600020906008020190508060020154610a46611c15565b11610a555760009150506109da565b8060030154610a62611c15565b11610a715760019150506109da565b80600501548160040154111580610a9357506035548160050154826004015401105b15610aa25760029150506109da565b600681015460ff1615610ab95760059150506109da565b610ad86034546108c56033548460030154611bf090919063ffffffff16565b610ae0611c15565b10610aef5760069150506109da565b6033546003820154610b0091611bf0565b610b08611c15565b10610b175760049150506109da565b60039150506109da565b60408051808201909152601981527f322e6c6f74746572792d616e642d6761732d7570677261646500000000000000602082015290565b603a5481565b6001600160a01b038381166000908152603c60205260408120549091163314610b995760405162461bcd60e51b815260040161085690612ea1565b610ba4848484611c19565b949350505050565b336000818152603c60205260409020546001600160a01b039081169190831614801590610be257506001600160a01b0382163014155b8015610bf657506001600160a01b03821615155b8015610c145750806001600160a01b0316826001600160a01b031614155b610c305760405162461bcd60e51b815260040161085690612ceb565b6001600160a01b03811615610c76576040516001600160a01b0382169033907f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7290600090a35b336000818152603c602052604080822080546001600160a01b0319166001600160a01b03871690811790915590519092917f4bc154dd35d6a5cb9206482ecb473cdbf2473006d6bce728b9cc0741bcc59ea291a35050565b336000818152603b60205260409081902054905163e113335f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163e113335f91610d2b9185916004016128c7565b600060405180830381600087803b158015610d4557600080fd5b505af1925050508015610d56575060015b610dd9573d808015610d84576040519150601f19603f3d011682016040523d82523d6000602084013e610d89565b606091505b5080604051610d989190612897565b604051908190038120906001600160a01b038416907f5a6216e80d86159dc87dcebfe519205477a94005b7d9d6bd313606450a5344f690600090a350610e0e565b6040516001600160a01b038216907f9b227b0c1ae308b34f72d4fdf9a1943fa769ff4814933595e7bc5230a117698b90600090a25b610e1782611f67565b5050565b603c602052600090815260409020546001600160a01b031681565b60355481565b60345481565b333014610e615760405162461bcd60e51b815260040161085690612cb4565b6033548110610e825760405162461bcd60e51b815260040161085690612bd8565b603a55565b333014610ea65760405162461bcd60e51b815260040161085690612cb4565b603755565b7f000000000000000000000000000000000000000000000000000000000000000081565b336000908152603c60205260409020546001600160a01b031680610f055760405162461bcd60e51b815260040161085690612e57565b336000818152603c602052604080822080546001600160a01b0319169055516001600160a01b03841692917f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7291a350565b610f5e610979565b6001600160a01b0316336001600160a01b031614610f8e5760405162461bcd60e51b815260040161085690612dea565b604051633a08bde160e21b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e822f78490610fda908490600401612f6b565b600060405180830381600087803b158015610ff457600080fd5b505af1158015610960573d6000803e3d6000fd5b3330146110275760405162461bcd60e51b815260040161085690612cb4565b603455565b603b6020526000908152604090205481565b7f000000000000000000000000000000000000000000000000000000000000000081565b60365481565b603f6020526000908152604090205481565b6040546001600160a01b031681565b60385481565b336000818152603b60205260409081902054905163e113335f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163e113335f916110ec9185916004016128c7565b600060405180830381600087803b15801561110657600080fd5b505af1925050508015611117575060015b61119a573d808015611145576040519150601f19603f3d011682016040523d82523d6000602084013e61114a565b606091505b50806040516111599190612897565b604051908190038120906001600160a01b038416907f5a6216e80d86159dc87dcebfe519205477a94005b7d9d6bd313606450a5344f690600090a3506111cf565b6040516001600160a01b038216907f9b227b0c1ae308b34f72d4fdf9a1943fa769ff4814933595e7bc5230a117698b90600090a25b610e178261204b565b60008351116111f95760405162461bcd60e51b815260040161085690612c8a565b611221838383611209863361154f565b15801561121c575061121a86610991565b155b612055565b505050565b3330146112455760405162461bcd60e51b815260040161085690612cb4565b603955565b600054610100900460ff16806112635750611263612298565b80611271575060005460ff16155b61128d5760405162461bcd60e51b815260040161085690612d9c565b600054610100900460ff161580156112b8576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b038085166001600160a01b03199283161783558251610100818101855230825261dead602083019081526000958301868152606084018781526080850188815260a08601898152600160c0880181815260e089018c8152603d80549384018155909c52975160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b16928c169290921790915594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc4860180549190991699169890981790965590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc5830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc682015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc784015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc8830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990910180549351151590920261ff001991151560ff19909416939093171691909117905561147861229e565b8015610e17576000805461ff00191690555050565b60395481565b60375481565b60006114a6338484611c19565b90505b92915050565b603d546000190190565b6114c16124e9565b603d83815481106114ce57fe5b600091825260208083206001600160a01b0395909516835260089190910290930160070183526040908190208151606081018352815460ff8082161515835261010090910416151594810194909452600101549083015250919050565b33301461154a5760405162461bcd60e51b815260040161085690612cb4565b603355565b6000603d838154811061155e57fe5b600091825260208083206001600160a01b03861684526007600890930201919091019052604090205460ff16905092915050565b3330146115b15760405162461bcd60e51b815260040161085690612cb4565b603855565b3330146115d55760405162461bcd60e51b815260040161085690612cb4565b603655565b6115e2610979565b6001600160a01b0316336001600160a01b0316146116125760405162461bcd60e51b815260040161085690612dea565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108fc61164983476122df565b6040518115909202916000818181858888f1935050505061166957600080fd5b50565b6001600160a01b038087166000908152603b60205260409081902054905163e113335f60e01b815288927f0000000000000000000000000000000000000000000000000000000000000000169163e113335f916116cd9185916004016128c7565b600060405180830381600087803b1580156116e757600080fd5b505af19250505080156116f8575060015b61177b573d808015611726576040519150601f19603f3d011682016040523d82523d6000602084013e61172b565b606091505b508060405161173a9190612897565b604051908190038120906001600160a01b038416907f5a6216e80d86159dc87dcebfe519205477a94005b7d9d6bd313606450a5344f690600090a3506117b0565b6040516001600160a01b038216907f9b227b0c1ae308b34f72d4fdf9a1943fa769ff4814933595e7bc5230a117698b90600090a25b6117be8787878787876122f5565b50505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b60046117f6826109e5565b600681111561180157fe5b1461181e5760405162461bcd60e51b815260040161085690612a37565b6000603d828154811061182d57fe5b600091825260209091206006600890920201908101805460ff191660019081179091558101549091506001600160a01b031661186881612375565b6118845760405162461bcd60e51b8152600401610856906129f4565b60408051600481526024810182526020810180516001600160e01b03166306e60b1760e31b17905290516000916060916001600160a01b038516916118c891612897565b600060405180830381855af49150503d8060008114611903576040519150601f19603f3d011682016040523d82523d6000602084013e611908565b606091505b50915091508161194b57805115611933578060405162461bcd60e51b815260040161085691906129e1565b60405162461bcd60e51b815260040161085690612ed8565b60405185907f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f90600090a25050505050565b6001611988836109e5565b600681111561199357fe5b146119b05760405162461bcd60e51b815260040161085690612afd565b6000603d83815481106119bf57fe5b600091825260208083206001600160a01b038816845260076008909302019182018152604080842060058401546004850154603b909452919094205492945010159080611a1e5760405162461bcd60e51b815260040161085690612d22565b825460ff1615611a6d578254610100900460ff1615611a545760018301546004850154611a4a91611bae565b6004850155611a6d565b60018301546005850154611a6791611bae565b60058501555b8415611a8c576004840154611a829082611bf0565b6004850155611aa1565b6005840154611a9b9082611bf0565b60058501555b6006840154610100900460ff16158015611ad15750603954611acf611ac4611c15565b600387015490611bae565b105b15611b15576005840154600485015411158215158114611b135760068501805461ff001916610100179055603a546003860154611b0d91611bf0565b60038601555b505b8254600160ff19909116811761ff001916610100871515021784558301819055603354603454603a546003870154611b60938b93611b5b9391926108c592839190611bf0565b61237b565b841515876001600160a01b0316877f7c2de587c00d75474a0c6c6fa96fd3b45dc974cd4e8a75f712bb84c950dce1b584604051611b9d9190612f6b565b60405180910390a450505050505050565b60006114a683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506123b8565b6000828201838110156114a65760405162461bcd60e51b815260040161085690612ba1565b4290565b6001600160a01b0383166000908152603b6020526040812054603654811015611c545760405162461bcd60e51b815260040161085690612b44565b611c5d84612375565b611c795760405162461bcd60e51b815260040161085690612d59565b6001600160a01b0385166000908152603e60205260409020548015611ceb576000611ca3826109e5565b90506001816006811115611cb357fe5b14158015611ccd57506000816006811115611cca57fe5b14155b611ce95760405162461bcd60e51b815260040161085690612a82565b505b6000611cfb6037546108c5611c15565b90506000611d1460385483611bf090919063ffffffff16565b9050611d1e612509565b506040805161010080820183526001600160a01b03808c1683528a8116602084019081529383018681526060840186815260006080860181815260a0870182815260c0880183815260e08901848152603d80546001810182559086528a5160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b166001600160a01b03199384161790559b517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc48d01805491909a1691161790975594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc58a015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc6890155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc788015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc887015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990950180549251151590930261ff001995151560ff19909316929092179490941617905590611ed06114af565b82516001600160a01b03166000908152603e60205260409020819055603354603454603a54929350611f12928d92611b5b9290916108c5919082908a90611bf0565b896001600160a01b0316817f90ec05050aa23d54ba425e926fe646c318e85825bc400b13a46010abe86eb2f08b87878d604051611f52949392919061298b565b60405180910390a39998505050505050505050565b336000908152603f6020526040902054611f7f611c15565b11611f9c5760405162461bcd60e51b815260040161085690612c1c565b60408051808201825260208082527f476f7665726e616e63653a20696e73756666696369656e742062616c616e636581830152336000908152603b9091529190912054611fea9183906123b8565b336000818152603b6020526040908190209290925590516391fe357360e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316916391fe357391610fda919085906004016128c7565b61166933826123e4565b3381328214612065576000612069565b6152085b61ffff1681156121d45760005a905060005b885181101561213257600089828151811061209257fe5b6020908102919091018101516001600160a01b038082166000908152603c909352604090922054909250163314806120d257506001600160a01b03811633145b6120ee5760405162461bcd60e51b815260040161085690612ea1565b8615806121025750612100898261154f565b155b61211e5760405162461bcd60e51b815260040161085690612f0f565b612129818a8a61197d565b5060010161207b565b50600061214a6127106108c5856108c55a8790611bae565b60405163a99ce80760e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a99ce8079061219b90889085906004016128c7565b600060405180830381600087803b1580156121b557600080fd5b505af11580156121c9573d6000803e3d6000fd5b5050505050506117be565b60005b875181101561228e5760008882815181106121ee57fe5b6020908102919091018101516001600160a01b038082166000908152603c9093526040909220549092501633148061222e57506001600160a01b03811633145b61224a5760405162461bcd60e51b815260040161085690612ea1565b85158061225e575061225c888261154f565b155b61227a5760405162461bcd60e51b815260040161085690612f0f565b61228581898961197d565b506001016121d7565b5050505050505050565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b60008183106122ee57816114a6565b5090919050565b60408054905163d505accf60e01b81526001600160a01b039091169063d505accf9061233190899030908a908a908a908a908a9060040161294a565b600060405180830381600087803b15801561234b57600080fd5b505af115801561235f573d6000803e3d6000fd5b5050505061236d86866123e4565b505050505050565b3b151590565b6001600160a01b0382166000908152603f6020526040902054811115610e17576001600160a01b03919091166000908152603f6020526040902055565b600081848411156123dc5760405162461bcd60e51b815260040161085691906129e1565b505050900390565b6040805490516323b872dd60e01b81526001600160a01b03909116906323b872dd906124389085907f00000000000000000000000000000000000000000000000000000000000000009086906004016128e0565b602060405180830381600087803b15801561245257600080fd5b505af1158015612466573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061248a91906127dc565b6124a65760405162461bcd60e51b815260040161085690612c53565b6001600160a01b0382166000908152603b60205260409020546124c99082611bf0565b6001600160a01b039092166000908152603b602052604090209190915550565b604080516060810182526000808252602082018190529181019190915290565b60405180610100016040528060006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000151581526020016000151581525090565b80356001600160a01b03811681146114a957600080fd5b80356114a981612fe0565b600082601f830112612596578081fd5b813567ffffffffffffffff8111156125ac578182fd5b6125bf601f8201601f1916602001612f74565b91508082528360208285010111156125d657600080fd5b8060208401602084013760009082016020015292915050565b600060208284031215612600578081fd5b6114a68383612564565b60008060006060848603121561261e578182fd5b833561262981612fcb565b9250602084013561263981612fcb565b9150604084013567ffffffffffffffff811115612654578182fd5b61266086828701612586565b9150509250925092565b6000806040838503121561267c578182fd5b823561268781612fcb565b9150602083013567ffffffffffffffff8111156126a2578182fd5b6126ae85828601612586565b9150509250929050565b60008060008060008060c087890312156126d0578182fd5b6126da8888612564565b95506020870135945060408701359350606087013560ff811681146126fd578283fd5b9598949750929560808101359460a0909101359350915050565b60008060006060848603121561272b578283fd5b833567ffffffffffffffff80821115612742578485fd5b818601915086601f830112612755578485fd5b813581811115612763578586fd5b60209150818102612775838201612f74565b8281528381019085850183870186018c101561278f57898afd5b8996505b848710156127b9576127a58c82612564565b835260019690960195918501918501612793565b50975050505085013592506127d39050856040860161257b565b90509250925092565b6000602082840312156127ed578081fd5b81516114a681612fe0565b600060208284031215612809578081fd5b5035919050565b60008060408385031215612822578182fd5b823591506128338460208501612564565b90509250929050565b6000806040838503121561284e578182fd5b82359150602083013561286081612fe0565b809150509250929050565b60008151808452612883816020860160208601612f9b565b601f01601f19169290920160200192915050565b600082516128a9818460208701612f9b565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03988916815296909716602087015260408601949094526060850192909252608084015260a0830152151560c082015290151560e08201526101000190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b600060018060a01b0386168252846020830152836040830152608060608301526129b8608083018461286b565b9695505050505050565b901515815260200190565b60208101600783106129db57fe5b91905290565b6000602082526114a6602083018461286b565b60208082526023908201527f476f7665726e616e63653a3a657865637574653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602b908201527f476f7665726e616e63653a3a657865637574653a20696e76616c69642070726f60408201526a706f73616c20737461746560a81b606082015260800190565b60208082526055908201527f476f7665726e616e63653a3a70726f706f73653a206f6e65206c69766520707260408201527f6f706f73616c207065722070726f706f7365722c20666f756e6420616e20616c6060820152741c9958591e481858dd1a5d99481c1c9bdc1bdcd85b605a1b608082015260a00190565b60208082526027908201527f476f7665726e616e63653a3a5f63617374566f74653a20766f74696e672069736040820152660818db1bdcd95960ca1b606082015260800190565b6020808252603c908201527f476f7665726e616e63653a3a70726f706f73653a2070726f706f73657220766f60408201527f7465732062656c6f772070726f706f73616c207468726573686f6c6400000000606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526024908201527f476f7665726e616e63653a20696e636f727265637420766f7465457874656e6460408201526354696d6560e01b606082015260800190565b6020808252601d908201527f476f7665726e616e63653a20746f6b656e7320617265206c6f636b6564000000604082015260600190565b60208082526019908201527f544f524e3a207472616e7366657246726f6d206661696c656400000000000000604082015260600190565b60208082526010908201526f43616e206e6f7420626520656d70747960801b604082015260600190565b60208082526018908201527f476f7665726e616e63653a20756e617574686f72697a65640000000000000000604082015260600190565b6020808252601d908201527f476f7665726e616e63653a20696e76616c69642064656c656761746565000000604082015260600190565b60208082526018908201527f476f7665726e616e63653a2062616c616e636520697320300000000000000000604082015260600190565b60208082526023908201527f476f7665726e616e63653a3a70726f706f73653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252600d908201526c6f6e6c79206d756c746973696760981b604082015260600190565b60208082526026908201527f476f7665726e616e63653a3a73746174653a20696e76616c69642070726f706f6040820152651cd85b081a5960d21b606082015260800190565b6020808252602a908201527f476f7665726e616e63653a20746f6b656e732061726520616c726561647920756040820152691b99195b1959d85d195960b21b606082015260800190565b6020808252601a908201527f476f7665726e616e63653a206e6f7420617574686f72697a6564000000000000604082015260600190565b60208082526019908201527f50726f706f73616c20657865637574696f6e206661696c656400000000000000604082015260600190565b60208082526019908201527f476f7665726e616e63653a20766f74656420616c726561647900000000000000604082015260600190565b8151151581526020808301511515908201526040918201519181019190915260600190565b90815260200190565b60405181810167ffffffffffffffff81118282101715612f9357600080fd5b604052919050565b60005b83811015612fb6578181015183820152602001612f9e565b83811115612fc5576000848401525b50505050565b6001600160a01b038116811461166957600080fd5b801515811461166957600080fdfea2646970667358221220e1f35bea256ff1c0e43f98312094903f31941303df43a2edbe8b9bd0fa323c8864736f6c634300060c0033"; + +type GovernanceStakingUpgradeConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: GovernanceStakingUpgradeConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class GovernanceStakingUpgrade__factory extends ContractFactory { + constructor(...args: GovernanceStakingUpgradeConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + stakingRewardsAddress: AddressLike, + gasCompLogic: AddressLike, + userVaultAddress: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction( + stakingRewardsAddress, + gasCompLogic, + userVaultAddress, + overrides || {} + ); + } + override deploy( + stakingRewardsAddress: AddressLike, + gasCompLogic: AddressLike, + userVaultAddress: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ) { + return super.deploy( + stakingRewardsAddress, + gasCompLogic, + userVaultAddress, + overrides || {} + ) as Promise< + GovernanceStakingUpgrade & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect( + runner: ContractRunner | null + ): GovernanceStakingUpgrade__factory { + return super.connect(runner) as GovernanceStakingUpgrade__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): GovernanceStakingUpgradeInterface { + return new Interface(_abi) as GovernanceStakingUpgradeInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): GovernanceStakingUpgrade { + return new Contract( + address, + _abi, + runner + ) as unknown as GovernanceStakingUpgrade; + } +} diff --git a/typechain-types/factories/contracts/Governance/v3-relayer-registry/index.ts b/typechain-types/factories/contracts/Governance/v3-relayer-registry/index.ts new file mode 100644 index 0000000..e20bd9b --- /dev/null +++ b/typechain-types/factories/contracts/Governance/v3-relayer-registry/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as interfaces from "./interfaces"; +export { GovernanceStakingUpgrade__factory } from "./GovernanceStakingUpgrade__factory"; diff --git a/typechain-types/factories/contracts/Governance/v3-relayer-registry/interfaces/ITornadoStakingRewards__factory.ts b/typechain-types/factories/contracts/Governance/v3-relayer-registry/interfaces/ITornadoStakingRewards__factory.ts new file mode 100644 index 0000000..555719c --- /dev/null +++ b/typechain-types/factories/contracts/Governance/v3-relayer-registry/interfaces/ITornadoStakingRewards__factory.ts @@ -0,0 +1,47 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + ITornadoStakingRewards, + ITornadoStakingRewardsInterface, +} from "../../../../../contracts/Governance/v3-relayer-registry/interfaces/ITornadoStakingRewards"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "uint256", + name: "amountLockedBeforehand", + type: "uint256", + }, + ], + name: "updateRewardsOnLockedBalanceChange", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class ITornadoStakingRewards__factory { + static readonly abi = _abi; + static createInterface(): ITornadoStakingRewardsInterface { + return new Interface(_abi) as ITornadoStakingRewardsInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): ITornadoStakingRewards { + return new Contract( + address, + _abi, + runner + ) as unknown as ITornadoStakingRewards; + } +} diff --git a/typechain-types/factories/contracts/Governance/v3-relayer-registry/interfaces/index.ts b/typechain-types/factories/contracts/Governance/v3-relayer-registry/interfaces/index.ts new file mode 100644 index 0000000..eed25be --- /dev/null +++ b/typechain-types/factories/contracts/Governance/v3-relayer-registry/interfaces/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { ITornadoStakingRewards__factory } from "./ITornadoStakingRewards__factory"; diff --git a/typechain-types/factories/contracts/Governance/v4-exploit-patch/AdminUpgradeableProxy__factory.ts b/typechain-types/factories/contracts/Governance/v4-exploit-patch/AdminUpgradeableProxy__factory.ts new file mode 100644 index 0000000..aead6a2 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/v4-exploit-patch/AdminUpgradeableProxy__factory.ts @@ -0,0 +1,218 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { + Signer, + BytesLike, + AddressLike, + ContractDeployTransaction, + ContractRunner, +} from "ethers"; +import type { PayableOverrides } from "../../../../common"; +import type { + AdminUpgradeableProxy, + AdminUpgradeableProxyInterface, +} from "../../../../contracts/Governance/v4-exploit-patch/AdminUpgradeableProxy"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "_logic", + type: "address", + }, + { + internalType: "address", + name: "_admin", + type: "address", + }, + { + internalType: "bytes", + name: "_data", + type: "bytes", + }, + ], + stateMutability: "payable", + type: "constructor", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "address", + name: "previousAdmin", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "newAdmin", + type: "address", + }, + ], + name: "AdminChanged", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "implementation", + type: "address", + }, + ], + name: "Upgraded", + type: "event", + }, + { + stateMutability: "payable", + type: "fallback", + }, + { + inputs: [], + name: "admin", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newAdmin", + type: "address", + }, + ], + name: "changeAdmin", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "implementation", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newImplementation", + type: "address", + }, + ], + name: "upgradeTo", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newImplementation", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "upgradeToAndCall", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + stateMutability: "payable", + type: "receive", + }, +] as const; + +const _bytecode = + "0x60806040526040516108403803806108408339818101604052606081101561002657600080fd5b8151602083015160408085018051915193959294830192918464010000000082111561005157600080fd5b90830190602082018581111561006657600080fd5b825164010000000081118282018810171561008057600080fd5b82525081516020918201929091019080838360005b838110156100ad578181015183820152602001610095565b50505050905090810190601f1680156100da5780820380516001836020036101000a031916815260200191505b50604052508491508390508282816100f1826101c5565b8051156101a9576000826001600160a01b0316826040518082805190602001908083835b602083106101345780518252601f199092019160209182019101610115565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610194576040519150601f19603f3d011682016040523d82523d6000602084013e610199565b606091505b50509050806101a757600080fd5b505b506101b19050565b6101ba82610237565b505050505050610261565b6101d88161025b60201b6103b41760201c565b6102135760405162461bcd60e51b815260040180806020018281038252603681526020018061080a6036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b3b151590565b61059a806102706000396000f3fe60806040526004361061004e5760003560e01c80633659cfe6146100655780634f1ef286146100985780635c60da1b146101185780638f28397014610149578063f851a4401461017c5761005d565b3661005d5761005b610191565b005b61005b610191565b34801561007157600080fd5b5061005b6004803603602081101561008857600080fd5b50356001600160a01b03166101ab565b61005b600480360360408110156100ae57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100d957600080fd5b8201836020820111156100eb57600080fd5b8035906020019184600183028401116401000000008311171561010d57600080fd5b5090925090506101e5565b34801561012457600080fd5b5061012d610292565b604080516001600160a01b039092168252519081900360200190f35b34801561015557600080fd5b5061005b6004803603602081101561016c57600080fd5b50356001600160a01b03166102cf565b34801561018857600080fd5b5061012d610389565b6101996101a9565b6101a96101a46103ba565b6103df565b565b6101b3610403565b6001600160a01b0316336001600160a01b031614156101da576101d581610428565b6101e2565b6101e2610191565b50565b6101ed610403565b6001600160a01b0316336001600160a01b031614156102855761020f83610428565b6000836001600160a01b031683836040518083838082843760405192019450600093509091505080830381855af49150503d806000811461026c576040519150601f19603f3d011682016040523d82523d6000602084013e610271565b606091505b505090508061027f57600080fd5b5061028d565b61028d610191565b505050565b600061029c610403565b6001600160a01b0316336001600160a01b031614156102c4576102bd6103ba565b90506102cc565b6102cc610191565b90565b6102d7610403565b6001600160a01b0316336001600160a01b031614156101da576001600160a01b0381166103355760405162461bcd60e51b815260040180806020018281038252603a8152602001806104f5603a913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f61035e610403565b604080516001600160a01b03928316815291841660208301528051918290030190a16101d581610468565b6000610393610403565b6001600160a01b0316336001600160a01b031614156102c4576102bd610403565b3b151590565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b3660008037600080366000845af43d6000803e8080156103fe573d6000f35b3d6000fd5b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b6104318161048c565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355565b610495816103b4565b6104d05760405162461bcd60e51b815260040180806020018281038252603681526020018061052f6036913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5556fe5472616e73706172656e745570677261646561626c6550726f78793a206e65772061646d696e20697320746865207a65726f20616464726573735570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374a26469706673582212203c0c6456361fbff816ff53c5547d39ad0e807130f877d2661772f7bffc95b82764736f6c634300060c00335570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374"; + +type AdminUpgradeableProxyConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: AdminUpgradeableProxyConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class AdminUpgradeableProxy__factory extends ContractFactory { + constructor(...args: AdminUpgradeableProxyConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + _logic: AddressLike, + _admin: AddressLike, + _data: BytesLike, + overrides?: PayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(_logic, _admin, _data, overrides || {}); + } + override deploy( + _logic: AddressLike, + _admin: AddressLike, + _data: BytesLike, + overrides?: PayableOverrides & { from?: string } + ) { + return super.deploy(_logic, _admin, _data, overrides || {}) as Promise< + AdminUpgradeableProxy & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect( + runner: ContractRunner | null + ): AdminUpgradeableProxy__factory { + return super.connect(runner) as AdminUpgradeableProxy__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): AdminUpgradeableProxyInterface { + return new Interface(_abi) as AdminUpgradeableProxyInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): AdminUpgradeableProxy { + return new Contract( + address, + _abi, + runner + ) as unknown as AdminUpgradeableProxy; + } +} diff --git a/typechain-types/factories/contracts/Governance/v4-exploit-patch/GovernanceExploitPatchUpgrade__factory.ts b/typechain-types/factories/contracts/Governance/v4-exploit-patch/GovernanceExploitPatchUpgrade__factory.ts new file mode 100644 index 0000000..a3502de --- /dev/null +++ b/typechain-types/factories/contracts/Governance/v4-exploit-patch/GovernanceExploitPatchUpgrade__factory.ts @@ -0,0 +1,1059 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { + Signer, + AddressLike, + ContractDeployTransaction, + ContractRunner, +} from "ethers"; +import type { NonPayableOverrides } from "../../../../common"; +import type { + GovernanceExploitPatchUpgrade, + GovernanceExploitPatchUpgradeInterface, +} from "../../../../contracts/Governance/v4-exploit-patch/GovernanceExploitPatchUpgrade"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "stakingRewardsAddress", + type: "address", + }, + { + internalType: "address", + name: "gasCompLogic", + type: "address", + }, + { + internalType: "address", + name: "userVaultAddress", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + ], + name: "Delegated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "id", + type: "uint256", + }, + { + indexed: true, + internalType: "address", + name: "proposer", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "target", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "startTime", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "endTime", + type: "uint256", + }, + { + indexed: false, + internalType: "string", + name: "description", + type: "string", + }, + ], + name: "ProposalCreated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "ProposalExecuted", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address", + }, + { + indexed: true, + internalType: "bytes", + name: "errorData", + type: "bytes", + }, + ], + name: "RewardUpdateFailed", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "RewardUpdateSuccessful", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + ], + name: "Undelegated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + indexed: true, + internalType: "address", + name: "voter", + type: "address", + }, + { + indexed: true, + internalType: "bool", + name: "support", + type: "bool", + }, + { + indexed: false, + internalType: "uint256", + name: "votes", + type: "uint256", + }, + ], + name: "Voted", + type: "event", + }, + { + inputs: [], + name: "CLOSING_PERIOD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "EXECUTION_DELAY", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "EXECUTION_EXPIRATION", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "PROPOSAL_THRESHOLD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "QUORUM_VOTES", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "Staking", + outputs: [ + { + internalType: "contract ITornadoStakingRewards", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "VOTE_EXTEND_TIME", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "VOTING_DELAY", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "VOTING_PERIOD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "canWithdrawAfter", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address[]", + name: "from", + type: "address[]", + }, + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "bool", + name: "support", + type: "bool", + }, + ], + name: "castDelegatedVote", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "bool", + name: "support", + type: "bool", + }, + ], + name: "castVote", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "checkIfQuorumReached", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address", + }, + ], + name: "delegate", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "delegatedTo", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "execute", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [], + name: "gasCompensationVault", + outputs: [ + { + internalType: "contract IGasCompensationVault", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "address", + name: "voter", + type: "address", + }, + ], + name: "getReceipt", + outputs: [ + { + components: [ + { + internalType: "bool", + name: "hasVoted", + type: "bool", + }, + { + internalType: "bool", + name: "support", + type: "bool", + }, + { + internalType: "uint256", + name: "votes", + type: "uint256", + }, + ], + internalType: "struct Governance.Receipt", + name: "", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "hasAccountVoted", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_torn", + type: "address", + }, + ], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "latestProposalIds", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "lock", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "lockWithApproval", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "lockedBalance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "proposalCodehashes", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "proposalCount", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "proposals", + outputs: [ + { + internalType: "address", + name: "proposer", + type: "address", + }, + { + internalType: "address", + name: "target", + type: "address", + }, + { + internalType: "uint256", + name: "startTime", + type: "uint256", + }, + { + internalType: "uint256", + name: "endTime", + type: "uint256", + }, + { + internalType: "uint256", + name: "forVotes", + type: "uint256", + }, + { + internalType: "uint256", + name: "againstVotes", + type: "uint256", + }, + { + internalType: "bool", + name: "executed", + type: "bool", + }, + { + internalType: "bool", + name: "extended", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address", + }, + { + internalType: "string", + name: "description", + type: "string", + }, + ], + name: "propose", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "target", + type: "address", + }, + { + internalType: "string", + name: "description", + type: "string", + }, + ], + name: "proposeByDelegate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "returnMultisigAddress", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "closingPeriod", + type: "uint256", + }, + ], + name: "setClosingPeriod", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "executionDelay", + type: "uint256", + }, + ], + name: "setExecutionDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "executionExpiration", + type: "uint256", + }, + ], + name: "setExecutionExpiration", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "gasCompensationsLimit", + type: "uint256", + }, + ], + name: "setGasCompensations", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalThreshold", + type: "uint256", + }, + ], + name: "setProposalThreshold", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "quorumVotes", + type: "uint256", + }, + ], + name: "setQuorumVotes", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "voteExtendTime", + type: "uint256", + }, + ], + name: "setVoteExtendTime", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "votingDelay", + type: "uint256", + }, + ], + name: "setVotingDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "votingPeriod", + type: "uint256", + }, + ], + name: "setVotingPeriod", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "state", + outputs: [ + { + internalType: "enum Governance.ProposalState", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "torn", + outputs: [ + { + internalType: "contract TORN", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "undelegate", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "unlock", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "userVault", + outputs: [ + { + internalType: "contract ITornadoVault", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "version", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "withdrawFromHelper", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + stateMutability: "payable", + type: "receive", + }, +] as const; + +const _bytecode = + "0x60e06040523480156200001157600080fd5b50604051620034343803806200343483398101604081905262000034916200016b565b82828281818181600060019054906101000a900460ff16806200005c57506200005c62000124565b806200006b575060005460ff16155b620000935760405162461bcd60e51b81526004016200008a90620001be565b60405180910390fd5b600054610100900460ff16158015620000bf576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b03191661dead179055620000dd6200012a565b8015620000f0576000805461ff00191690555b506001600160601b0319606091821b811660805291811b821660a0529590951b90941660c052506200022595505050505050565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b60008060006060848603121562000180578283fd5b83516200018d816200020c565b6020850151909350620001a0816200020c565b6040850151909250620001b3816200020c565b809150509250925092565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b6001600160a01b03811681146200022257600080fd5b50565b60805160601c60a05160601c60c05160601c6131ac6200028860003980610d1352806110d452806116c752806117f85250806109105280610eca5280610fc252806116435280611d6d52508061105d5280611c1652806124f152506131ac6000f3fe6080604052600436106102815760003560e01c80639daafec71161014f578063d6f0948c116100c1578063ea0217cf1161007a578063ea0217cf14610755578063ece40cc114610775578063ef3f8bb114610795578063f0b76892146107b5578063f57df22e146107d5578063fe0d94c1146107ea57610288565b8063d6f0948c14610693578063da35c664146106b3578063e01f5237146106c8578063e23a9a52146106e8578063e4917d9f14610715578063e525aa081461073557610288565b8063b54426c811610113578063b54426c8146105e9578063b859f11b14610609578063c0c0e82014610629578063c4d66de814610649578063ce25d71c14610669578063d6159fe51461067e57610288565b80639daafec714610575578063a6c266031461058a578063a72edda31461059f578063adf898a4146105bf578063b1610d7e146105d457610288565b80635c19a95c116101f357806370b0f660116101ac57806370b0f660146104cb5780638b34a960146104eb57806392ab89bb14610500578063932d5157146105155780639a9e3b6e146105355780639ae697bf1461055557610288565b80635c19a95c146104215780636198e3391461044157806365da126414610461578063671dd275146104815780636a661755146104965780636dc2dc6c146104ab57610288565b806332687ec11161024557806332687ec11461035b57806337f135d7146103885780633e4f49e61461039d57806354fd4d50146103ca578063587a6ecb146103ec57806358e9fff01461040157610288565b8063013cf08b1461028d57806302ec8f9e146102ca57806315373e3d146102ec57806317977c611461030c57806324b0435f1461033957610288565b3661028857005b600080fd5b34801561029957600080fd5b506102ad6102a83660046128e1565b6107fd565b6040516102c19897969594939291906129ed565b60405180910390f35b3480156102d657600080fd5b506102ea6102e53660046128e1565b610862565b005b3480156102f857600080fd5b506102ea610307366004612925565b61088f565b34801561031857600080fd5b5061032c6103273660046126d8565b610992565b6040516102c19190612ab6565b34801561034557600080fd5b5061034e6109a4565b6040516102c1919061299c565b34801561036757600080fd5b5061037b6103763660046128e1565b6109bc565b6040516102c19190612aab565b34801561039457600080fd5b5061032c610a0a565b3480156103a957600080fd5b506103bd6103b83660046128e1565b610a10565b6040516102c19190612abf565b3480156103d657600080fd5b506103df610b4c565b6040516102c19190612ad3565b3480156103f857600080fd5b5061032c610b75565b34801561040d57600080fd5b5061032c61041c3660046126f3565b610b7b565b34801561042d57600080fd5b506102ea61043c3660046126d8565b610bc9565b34801561044d57600080fd5b506102ea61045c3660046128e1565b610ceb565b34801561046d57600080fd5b5061034e61047c3660046126d8565b610e38565b34801561048d57600080fd5b5061032c610e53565b3480156104a257600080fd5b5061032c610e59565b3480156104b757600080fd5b506102ea6104c63660046128e1565b610e5f565b3480156104d757600080fd5b506102ea6104e63660046128e1565b610ea4565b3480156104f757600080fd5b5061034e610ec8565b34801561050c57600080fd5b506102ea610eec565b34801561052157600080fd5b506102ea6105303660046128e1565b610f73565b34801561054157600080fd5b506102ea6105503660046128e1565b611025565b34801561056157600080fd5b5061032c6105703660046126d8565b611049565b34801561058157600080fd5b5061034e61105b565b34801561059657600080fd5b5061032c61107f565b3480156105ab57600080fd5b5061032c6105ba3660046126d8565b611085565b3480156105cb57600080fd5b5061034e611097565b3480156105e057600080fd5b5061032c6110a6565b3480156105f557600080fd5b506102ea6106043660046128e1565b6110ac565b34801561061557600080fd5b506102ea610624366004612800565b6111f5565b34801561063557600080fd5b506102ea6106443660046128e1565b611243565b34801561065557600080fd5b506102ea6106643660046126d8565b611267565b34801561067557600080fd5b5061032c6114aa565b34801561068a57600080fd5b5061032c6114b0565b34801561069f57600080fd5b5061032c6106ae366004612753565b6114b6565b3480156106bf57600080fd5b5061032c6114cc565b3480156106d457600080fd5b5061032c6106e33660046128e1565b6114d6565b3480156106f457600080fd5b506107086107033660046128f9565b6114e8565b6040516102c191906130db565b34801561072157600080fd5b506102ea6107303660046128e1565b61155a565b34801561074157600080fd5b5061037b6107503660046128f9565b61157e565b34801561076157600080fd5b506102ea6107703660046128e1565b6115c1565b34801561078157600080fd5b506102ea6107903660046128e1565b6115e5565b3480156107a157600080fd5b506102ea6107b03660046128e1565b611609565b3480156107c157600080fd5b506102ea6107d03660046127a1565b61169b565b3480156107e157600080fd5b5061034e6117f6565b6102ea6107f83660046128e1565b61181a565b603d818154811061080a57fe5b600091825260209091206008909102018054600182015460028301546003840154600485015460058601546006909601546001600160a01b039586169750949093169491939092919060ff8082169161010090041688565b33301461088a5760405162461bcd60e51b815260040161088190612e49565b60405180910390fd5b603555565b3361089a833361157e565b1580156108ad57506108ab836109bc565b155b3332146108bb5760006108bf565b6152085b61ffff1681156109805760005a90506108d93387876118ac565b60006108f66127106108f0856108f05a8790611add565b90611b1f565b60405163a99ce80760e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a99ce8079061094790889085906004016129b0565b600060405180830381600087803b15801561096157600080fd5b505af1158015610975573d6000803e3d6000fd5b50505050505061098b565b61098b3386866118ac565b5050505050565b603e6020526000908152604090205481565b73b04e030140b30c27bcdfaafffa98c57d80eda7b490565b6000603554603d83815481106109ce57fe5b906000526020600020906008020160050154603d84815481106109ed57fe5b90600052602060002090600802016004015401101590505b919050565b60335481565b6000610a1a6114cc565b8211158015610a295750600082115b610a455760405162461bcd60e51b815260040161088190612fa6565b6000603d8381548110610a5457fe5b906000526020600020906008020190508060020154610a71611b44565b11610a80576000915050610a05565b8060030154610a8d611b44565b11610a9c576001915050610a05565b80600501548160040154111580610abe57506035548160050154826004015401105b15610acd576002915050610a05565b600681015460ff1615610ae4576005915050610a05565b610b036034546108f06033548460030154611b1f90919063ffffffff16565b610b0b611b44565b10610b1a576006915050610a05565b6033546003820154610b2b91611b1f565b610b33611b44565b10610b42576004915050610a05565b6003915050610a05565b60408051808201909152600f81526e0d0b9c185d18da0b595e1c1b1bda5d608a1b602082015290565b603a5481565b6001600160a01b038381166000908152603c60205260408120549091163314610bb65760405162461bcd60e51b815260040161088190613036565b610bc1848484611b48565b949350505050565b336000818152603c60205260409020546001600160a01b039081169190831614801590610bff57506001600160a01b0382163014155b8015610c1357506001600160a01b03821615155b8015610c315750806001600160a01b0316826001600160a01b031614155b610c4d5760405162461bcd60e51b815260040161088190612e80565b6001600160a01b03811615610c93576040516001600160a01b0382169033907f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7290600090a35b336000818152603c602052604080822080546001600160a01b0319166001600160a01b03871690811790915590519092917f4bc154dd35d6a5cb9206482ecb473cdbf2473006d6bce728b9cc0741bcc59ea291a35050565b336000818152603b60205260409081902054905163e113335f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163e113335f91610d489185916004016129b0565b600060405180830381600087803b158015610d6257600080fd5b505af1925050508015610d73575060015b610df6573d808015610da1576040519150601f19603f3d011682016040523d82523d6000602084013e610da6565b606091505b5080604051610db59190612980565b604051908190038120906001600160a01b038416907f5a6216e80d86159dc87dcebfe519205477a94005b7d9d6bd313606450a5344f690600090a350610e2b565b6040516001600160a01b038216907f9b227b0c1ae308b34f72d4fdf9a1943fa769ff4814933595e7bc5230a117698b90600090a25b610e3482611b70565b5050565b603c602052600090815260409020546001600160a01b031681565b60355481565b60345481565b333014610e7e5760405162461bcd60e51b815260040161088190612e49565b6033548110610e9f5760405162461bcd60e51b815260040161088190612d6d565b603a55565b333014610ec35760405162461bcd60e51b815260040161088190612e49565b603755565b7f000000000000000000000000000000000000000000000000000000000000000081565b336000908152603c60205260409020546001600160a01b031680610f225760405162461bcd60e51b815260040161088190612fec565b336000818152603c602052604080822080546001600160a01b0319169055516001600160a01b03841692917f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7291a350565b610f7b6109a4565b6001600160a01b0316336001600160a01b031614610fab5760405162461bcd60e51b815260040161088190612f7f565b604051633a08bde160e21b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e822f78490610ff7908490600401612ab6565b600060405180830381600087803b15801561101157600080fd5b505af115801561098b573d6000803e3d6000fd5b3330146110445760405162461bcd60e51b815260040161088190612e49565b603455565b603b6020526000908152604090205481565b7f000000000000000000000000000000000000000000000000000000000000000081565b60365481565b603f6020526000908152604090205481565b6040546001600160a01b031681565b60385481565b336000818152603b60205260409081902054905163e113335f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163e113335f916111099185916004016129b0565b600060405180830381600087803b15801561112357600080fd5b505af1925050508015611134575060015b6111b7573d808015611162576040519150601f19603f3d011682016040523d82523d6000602084013e611167565b606091505b50806040516111769190612980565b604051908190038120906001600160a01b038416907f5a6216e80d86159dc87dcebfe519205477a94005b7d9d6bd313606450a5344f690600090a3506111ec565b6040516001600160a01b038216907f9b227b0c1ae308b34f72d4fdf9a1943fa769ff4814933595e7bc5230a117698b90600090a25b610e3482611c54565b60008351116112165760405162461bcd60e51b815260040161088190612e1f565b61123e838383611226863361157e565b1580156112395750611237866109bc565b155b611c5e565b505050565b3330146112625760405162461bcd60e51b815260040161088190612e49565b603955565b600054610100900460ff16806112805750611280611ea1565b8061128e575060005460ff16155b6112aa5760405162461bcd60e51b815260040161088190612f31565b600054610100900460ff161580156112d5576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b038085166001600160a01b03199283161783558251610100818101855230825261dead602083019081526000958301868152606084018781526080850188815260a08601898152600160c0880181815260e089018c8152603d80549384018155909c52975160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b16928c169290921790915594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc4860180549190991699169890981790965590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc5830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc682015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc784015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc8830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990910180549351151590920261ff001991151560ff199094169390931716919091179055611495611ea7565b8015610e34576000805461ff00191690555050565b60395481565b60375481565b60006114c3338484611b48565b90505b92915050565b603d546000190190565b60416020526000908152604090205481565b6114f06125d2565b603d83815481106114fd57fe5b600091825260208083206001600160a01b0395909516835260089190910290930160070183526040908190208151606081018352815460ff8082161515835261010090910416151594810194909452600101549083015250919050565b3330146115795760405162461bcd60e51b815260040161088190612e49565b603355565b6000603d838154811061158d57fe5b600091825260208083206001600160a01b03861684526007600890930201919091019052604090205460ff16905092915050565b3330146115e05760405162461bcd60e51b815260040161088190612e49565b603855565b3330146116045760405162461bcd60e51b815260040161088190612e49565b603655565b6116116109a4565b6001600160a01b0316336001600160a01b0316146116415760405162461bcd60e51b815260040161088190612f7f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108fc6116788347611ee8565b6040518115909202916000818181858888f1935050505061169857600080fd5b50565b6001600160a01b038087166000908152603b60205260409081902054905163e113335f60e01b815288927f0000000000000000000000000000000000000000000000000000000000000000169163e113335f916116fc9185916004016129b0565b600060405180830381600087803b15801561171657600080fd5b505af1925050508015611727575060015b6117aa573d808015611755576040519150601f19603f3d011682016040523d82523d6000602084013e61175a565b606091505b50806040516117699190612980565b604051908190038120906001600160a01b038416907f5a6216e80d86159dc87dcebfe519205477a94005b7d9d6bd313606450a5344f690600090a3506117df565b6040516001600160a01b038216907f9b227b0c1ae308b34f72d4fdf9a1943fa769ff4814933595e7bc5230a117698b90600090a25b6117ed878787878787611efe565b50505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b3330141561183a5760405162461bcd60e51b815260040161088190612c36565b6000603d828154811061184957fe5b6000918252602080832060016008909302019182015485845260419091526040909220549092506001600160a01b0390911690813f90811461189d5760405162461bcd60e51b815260040161088190612d17565b6118a684611f7e565b50505050565b60016118b783610a10565b60068111156118c257fe5b146118df5760405162461bcd60e51b815260040161088190612bef565b6000603d83815481106118ee57fe5b600091825260208083206001600160a01b038816845260076008909302019182018152604080842060058401546004850154603b90945291909420549294501015908061194d5760405162461bcd60e51b815260040161088190612eb7565b825460ff161561199c578254610100900460ff1615611983576001830154600485015461197991611add565b600485015561199c565b6001830154600585015461199691611add565b60058501555b84156119bb5760048401546119b19082611b1f565b60048501556119d0565b60058401546119ca9082611b1f565b60058501555b6006840154610100900460ff16158015611a0057506039546119fe6119f3611b44565b600387015490611add565b105b15611a44576005840154600485015411158215158114611a425760068501805461ff001916610100179055603a546003860154611a3c91611b1f565b60038601555b505b8254600160ff19909116811761ff001916610100871515021784558301819055603354603454603a546003870154611a8f938b93611a8a9391926108f092839190611b1f565b612110565b841515876001600160a01b0316877f7c2de587c00d75474a0c6c6fa96fd3b45dc974cd4e8a75f712bb84c950dce1b584604051611acc9190612ab6565b60405180910390a450505050505050565b60006114c383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061214d565b6000828201838110156114c35760405162461bcd60e51b815260040161088190612ce0565b4290565b6000611b55848484612179565b6000818152604160205260409020933f909355509092915050565b336000908152603f6020526040902054611b88611b44565b11611ba55760405162461bcd60e51b815260040161088190612db1565b60408051808201825260208082527f476f7665726e616e63653a20696e73756666696369656e742062616c616e636581830152336000908152603b9091529190912054611bf391839061214d565b336000818152603b6020526040908190209290925590516391fe357360e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316916391fe357391610ff7919085906004016129b0565b61169833826124c7565b3381328214611c6e576000611c72565b6152085b61ffff168115611ddd5760005a905060005b8851811015611d3b576000898281518110611c9b57fe5b6020908102919091018101516001600160a01b038082166000908152603c90935260409092205490925016331480611cdb57506001600160a01b03811633145b611cf75760405162461bcd60e51b815260040161088190613036565b861580611d0b5750611d09898261157e565b155b611d275760405162461bcd60e51b8152600401610881906130a4565b611d32818a8a6118ac565b50600101611c84565b506000611d536127106108f0856108f05a8790611add565b60405163a99ce80760e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a99ce80790611da490889085906004016129b0565b600060405180830381600087803b158015611dbe57600080fd5b505af1158015611dd2573d6000803e3d6000fd5b5050505050506117ed565b60005b8751811015611e97576000888281518110611df757fe5b6020908102919091018101516001600160a01b038082166000908152603c90935260409092205490925016331480611e3757506001600160a01b03811633145b611e535760405162461bcd60e51b815260040161088190613036565b851580611e675750611e65888261157e565b155b611e835760405162461bcd60e51b8152600401610881906130a4565b611e8e8189896118ac565b50600101611de0565b5050505050505050565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b6000818310611ef757816114c3565b5090919050565b60408054905163d505accf60e01b81526001600160a01b039091169063d505accf90611f3a90899030908a908a908a908a908a90600401612a33565b600060405180830381600087803b158015611f5457600080fd5b505af1158015611f68573d6000803e3d6000fd5b50505050611f7686866124c7565b505050505050565b6004611f8982610a10565b6006811115611f9457fe5b14611fb15760405162461bcd60e51b815260040161088190612b29565b6000603d8281548110611fc057fe5b600091825260209091206006600890920201908101805460ff191660019081179091558101549091506001600160a01b0316611ffb816125cc565b6120175760405162461bcd60e51b815260040161088190612ae6565b60408051600481526024810182526020810180516001600160e01b03166306e60b1760e31b17905290516000916060916001600160a01b0385169161205b91612980565b600060405180830381855af49150503d8060008114612096576040519150601f19603f3d011682016040523d82523d6000602084013e61209b565b606091505b5091509150816120de578051156120c6578060405162461bcd60e51b81526004016108819190612ad3565b60405162461bcd60e51b81526004016108819061306d565b60405185907f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f90600090a25050505050565b6001600160a01b0382166000908152603f6020526040902054811115610e34576001600160a01b03919091166000908152603f6020526040902055565b600081848411156121715760405162461bcd60e51b81526004016108819190612ad3565b505050900390565b6001600160a01b0383166000908152603b60205260408120546036548110156121b45760405162461bcd60e51b815260040161088190612c83565b6121bd846125cc565b6121d95760405162461bcd60e51b815260040161088190612eee565b6001600160a01b0385166000908152603e6020526040902054801561224b57600061220382610a10565b9050600181600681111561221357fe5b1415801561222d5750600081600681111561222a57fe5b14155b6122495760405162461bcd60e51b815260040161088190612b74565b505b600061225b6037546108f0611b44565b9050600061227460385483611b1f90919063ffffffff16565b905061227e6125f2565b506040805161010080820183526001600160a01b03808c1683528a8116602084019081529383018681526060840186815260006080860181815260a0870182815260c0880183815260e08901848152603d80546001810182559086528a5160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b166001600160a01b03199384161790559b517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc48d01805491909a1691161790975594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc58a015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc6890155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc788015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc887015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990950180549251151590930261ff001995151560ff199093169290921794909416179055906124306114cc565b82516001600160a01b03166000908152603e60205260409020819055603354603454603a54929350612472928d92611a8a9290916108f0919082908a90611b1f565b896001600160a01b0316817f90ec05050aa23d54ba425e926fe646c318e85825bc400b13a46010abe86eb2f08b87878d6040516124b29493929190612a74565b60405180910390a39998505050505050505050565b6040805490516323b872dd60e01b81526001600160a01b03909116906323b872dd9061251b9085907f00000000000000000000000000000000000000000000000000000000000000009086906004016129c9565b602060405180830381600087803b15801561253557600080fd5b505af1158015612549573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061256d91906128c5565b6125895760405162461bcd60e51b815260040161088190612de8565b6001600160a01b0382166000908152603b60205260409020546125ac9082611b1f565b6001600160a01b039092166000908152603b602052604090209190915550565b3b151590565b604080516060810182526000808252602082018190529181019190915290565b60405180610100016040528060006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000151581526020016000151581525090565b80356001600160a01b03811681146114c657600080fd5b80356114c681613168565b600082601f83011261267f578081fd5b813567ffffffffffffffff811115612695578182fd5b6126a8601f8201601f1916602001613100565b91508082528360208285010111156126bf57600080fd5b8060208401602084013760009082016020015292915050565b6000602082840312156126e9578081fd5b6114c3838361264d565b600080600060608486031215612707578182fd5b833561271281613153565b9250602084013561272281613153565b9150604084013567ffffffffffffffff81111561273d578182fd5b6127498682870161266f565b9150509250925092565b60008060408385031215612765578182fd5b823561277081613153565b9150602083013567ffffffffffffffff81111561278b578182fd5b6127978582860161266f565b9150509250929050565b60008060008060008060c087890312156127b9578182fd5b6127c3888861264d565b95506020870135945060408701359350606087013560ff811681146127e6578283fd5b9598949750929560808101359460a0909101359350915050565b600080600060608486031215612814578283fd5b833567ffffffffffffffff8082111561282b578485fd5b818601915086601f83011261283e578485fd5b81358181111561284c578586fd5b6020915081810261285e838201613100565b8281528381019085850183870186018c101561287857898afd5b8996505b848710156128a25761288e8c8261264d565b83526001969096019591850191850161287c565b50975050505085013592506128bc90508560408601612664565b90509250925092565b6000602082840312156128d6578081fd5b81516114c381613168565b6000602082840312156128f2578081fd5b5035919050565b6000806040838503121561290b578182fd5b8235915061291c846020850161264d565b90509250929050565b60008060408385031215612937578182fd5b82359150602083013561294981613168565b809150509250929050565b6000815180845261296c816020860160208601613127565b601f01601f19169290920160200192915050565b60008251612992818460208701613127565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03988916815296909716602087015260408601949094526060850192909252608084015260a0830152151560c082015290151560e08201526101000190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b600060018060a01b038616825284602083015283604083015260806060830152612aa16080830184612954565b9695505050505050565b901515815260200190565b90815260200190565b6020810160078310612acd57fe5b91905290565b6000602082526114c36020830184612954565b60208082526023908201527f476f7665726e616e63653a3a657865637574653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602b908201527f476f7665726e616e63653a3a657865637574653a20696e76616c69642070726f60408201526a706f73616c20737461746560a81b606082015260800190565b60208082526055908201527f476f7665726e616e63653a3a70726f706f73653a206f6e65206c69766520707260408201527f6f706f73616c207065722070726f706f7365722c20666f756e6420616e20616c6060820152741c9958591e481858dd1a5d99481c1c9bdc1bdcd85b605a1b608082015260a00190565b60208082526027908201527f476f7665726e616e63653a3a5f63617374566f74653a20766f74696e672069736040820152660818db1bdcd95960ca1b606082015260800190565b6020808252602d908201527f476f7665726e616e63653a3a70726f706f73653a2070736575646f2d6578746560408201526c393730b610333ab731ba34b7b760991b606082015260800190565b6020808252603c908201527f476f7665726e616e63653a3a70726f706f73653a2070726f706f73657220766f60408201527f7465732062656c6f772070726f706f73616c207468726573686f6c6400000000606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526036908201527f476f7665726e616e63653a3a70726f706f73653a206d6574616d6f72706869636040820152750818dbdb9d1c9858dd1cc81b9bdd08185b1b1bddd95960521b606082015260800190565b60208082526024908201527f476f7665726e616e63653a20696e636f727265637420766f7465457874656e6460408201526354696d6560e01b606082015260800190565b6020808252601d908201527f476f7665726e616e63653a20746f6b656e7320617265206c6f636b6564000000604082015260600190565b60208082526019908201527f544f524e3a207472616e7366657246726f6d206661696c656400000000000000604082015260600190565b60208082526010908201526f43616e206e6f7420626520656d70747960801b604082015260600190565b60208082526018908201527f476f7665726e616e63653a20756e617574686f72697a65640000000000000000604082015260600190565b6020808252601d908201527f476f7665726e616e63653a20696e76616c69642064656c656761746565000000604082015260600190565b60208082526018908201527f476f7665726e616e63653a2062616c616e636520697320300000000000000000604082015260600190565b60208082526023908201527f476f7665726e616e63653a3a70726f706f73653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252600d908201526c6f6e6c79206d756c746973696760981b604082015260600190565b60208082526026908201527f476f7665726e616e63653a3a73746174653a20696e76616c69642070726f706f6040820152651cd85b081a5960d21b606082015260800190565b6020808252602a908201527f476f7665726e616e63653a20746f6b656e732061726520616c726561647920756040820152691b99195b1959d85d195960b21b606082015260800190565b6020808252601a908201527f476f7665726e616e63653a206e6f7420617574686f72697a6564000000000000604082015260600190565b60208082526019908201527f50726f706f73616c20657865637574696f6e206661696c656400000000000000604082015260600190565b60208082526019908201527f476f7665726e616e63653a20766f74656420616c726561647900000000000000604082015260600190565b8151151581526020808301511515908201526040918201519181019190915260600190565b60405181810167ffffffffffffffff8111828210171561311f57600080fd5b604052919050565b60005b8381101561314257818101518382015260200161312a565b838111156118a65750506000910152565b6001600160a01b038116811461169857600080fd5b801515811461169857600080fdfea2646970667358221220b75004153b6c8b4905c018daca78cb0fa6d3859298be55252bcf6ba75ea68d0e64736f6c634300060c0033"; + +type GovernanceExploitPatchUpgradeConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: GovernanceExploitPatchUpgradeConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class GovernanceExploitPatchUpgrade__factory extends ContractFactory { + constructor(...args: GovernanceExploitPatchUpgradeConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + stakingRewardsAddress: AddressLike, + gasCompLogic: AddressLike, + userVaultAddress: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction( + stakingRewardsAddress, + gasCompLogic, + userVaultAddress, + overrides || {} + ); + } + override deploy( + stakingRewardsAddress: AddressLike, + gasCompLogic: AddressLike, + userVaultAddress: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ) { + return super.deploy( + stakingRewardsAddress, + gasCompLogic, + userVaultAddress, + overrides || {} + ) as Promise< + GovernanceExploitPatchUpgrade & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect( + runner: ContractRunner | null + ): GovernanceExploitPatchUpgrade__factory { + return super.connect(runner) as GovernanceExploitPatchUpgrade__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): GovernanceExploitPatchUpgradeInterface { + return new Interface(_abi) as GovernanceExploitPatchUpgradeInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): GovernanceExploitPatchUpgrade { + return new Contract( + address, + _abi, + runner + ) as unknown as GovernanceExploitPatchUpgrade; + } +} diff --git a/typechain-types/factories/contracts/Governance/v4-exploit-patch/PatchProposal__factory.ts b/typechain-types/factories/contracts/Governance/v4-exploit-patch/PatchProposal__factory.ts new file mode 100644 index 0000000..0d5405e --- /dev/null +++ b/typechain-types/factories/contracts/Governance/v4-exploit-patch/PatchProposal__factory.ts @@ -0,0 +1,213 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { + Signer, + AddressLike, + ContractDeployTransaction, + ContractRunner, +} from "ethers"; +import type { NonPayableOverrides } from "../../../../common"; +import type { + PatchProposal, + PatchProposalInterface, +} from "../../../../contracts/Governance/v4-exploit-patch/PatchProposal"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "_deployedStakingProxyContractAddress", + type: "address", + }, + { + internalType: "address", + name: "_deployedRelayerRegistryImplementationAddress", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + inputs: [], + name: "TORN", + outputs: [ + { + internalType: "contract IERC20", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "deployedRelayerRegistryImplementationAddress", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "deployedStakingProxyContractAddress", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "executeProposal", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "gasCompensationVaultAddress", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "governanceProxyAddress", + outputs: [ + { + internalType: "address payable", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "oldStakingProxyAddress", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "registryProxyAddress", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "userVaultAddress", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +const _bytecode = + "0x60c060405234801561001057600080fd5b50604051613adb380380613adb83398101604081905261002f9161004d565b6001600160601b0319606092831b8116608052911b1660a05261009e565b6000806040838503121561005f578182fd5b825161006a81610086565b602084015190925061007b81610086565b809150509250929050565b6001600160a01b038116811461009b57600080fd5b50565b60805160601c60a05160601c613a056100d66000398061027a52806104985250806102f952806103f452806104bc5250613a056000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c8063373058b811610066578063373058b8146100ce5780634655478f146100d857806361697d64146100e05780636fc6091d146100e85780639b49989a146100f057610093565b80630cc784761461009857806313f32237146100b657806324044543146100be57806332bf1039146100c6575b600080fd5b6100a06100f8565b6040516100ad9190610542565b60405180910390f35b6100a0610110565b6100a0610128565b6100a0610140565b6100d6610158565b005b6100a061047e565b6100a0610496565b6100a06104ba565b6100a06104de565b7358e8dcc13be9780fc42e8723d8ead4cf46943df281565b732fc93484614a34f26f7970cbb94615ba109bb4bf81565b73fa4c1f3f7d5dd7c12a9adb82cd7dda542e3d59ef81565b7377777feddddffc19ff86db637967013e6c6a116c81565b6040516370a0823160e01b8152732fc93484614a34f26f7970cbb94615ba109bb4bf90819063f58073b1907377777feddddffc19ff86db637967013e6c6a116c906370a08231906101ad908590600401610542565b60206040518083038186803b1580156101c557600080fd5b505afa1580156101d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101fd919061052a565b6040518263ffffffff1660e01b81526004016102199190610592565b600060405180830381600087803b15801561023357600080fd5b505af1158015610247573d6000803e3d6000fd5b5050604051631b2ce7f360e11b81527358e8dcc13be9780fc42e8723d8ead4cf46943df29250633659cfe691506102a2907f000000000000000000000000000000000000000000000000000000000000000090600401610542565b600060405180830381600087803b1580156102bc57600080fd5b505af11580156102d0573d6000803e3d6000fd5b50505050735efda50f22d34f262c29268506c5fa42cb56a1ce6001600160a01b0316633659cfe67f000000000000000000000000000000000000000000000000000000000000000073fa4c1f3f7d5dd7c12a9adb82cd7dda542e3d59ef732f50508a8a3d323b91336fa3ea6ae50e55f3218560405161034e906104f6565b61035a93929190610556565b604051809103906000f080158015610376573d6000803e3d6000fd5b506040518263ffffffff1660e01b81526004016103939190610542565b600060405180830381600087803b1580156103ad57600080fd5b505af11580156103c1573d6000803e3d6000fd5b505060405163a9059cbb60e01b81527377777feddddffc19ff86db637967013e6c6a116c925063a9059cbb9150610428907f0000000000000000000000000000000000000000000000000000000000000000906913ecbccf7737e6b0000090600401610579565b602060405180830381600087803b15801561044257600080fd5b505af1158015610456573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061047a9190610503565b5050565b735efda50f22d34f262c29268506c5fa42cb56a1ce81565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b732f50508a8a3d323b91336fa3ea6ae50e55f3218581565b6134348061059c83390190565b600060208284031215610514578081fd5b81518015158114610523578182fd5b9392505050565b60006020828403121561053b578081fd5b5051919050565b6001600160a01b0391909116815260200190565b6001600160a01b0393841681529183166020830152909116604082015260600190565b6001600160a01b03929092168252602082015260400190565b9081526020019056fe60e06040523480156200001157600080fd5b50604051620034343803806200343483398101604081905262000034916200016b565b82828281818181600060019054906101000a900460ff16806200005c57506200005c62000124565b806200006b575060005460ff16155b620000935760405162461bcd60e51b81526004016200008a90620001be565b60405180910390fd5b600054610100900460ff16158015620000bf576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b03191661dead179055620000dd6200012a565b8015620000f0576000805461ff00191690555b506001600160601b0319606091821b811660805291811b821660a0529590951b90941660c052506200022595505050505050565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b60008060006060848603121562000180578283fd5b83516200018d816200020c565b6020850151909350620001a0816200020c565b6040850151909250620001b3816200020c565b809150509250925092565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b6001600160a01b03811681146200022257600080fd5b50565b60805160601c60a05160601c60c05160601c6131ac6200028860003980610d1352806110d452806116c752806117f85250806109105280610eca5280610fc252806116435280611d6d52508061105d5280611c1652806124f152506131ac6000f3fe6080604052600436106102815760003560e01c80639daafec71161014f578063d6f0948c116100c1578063ea0217cf1161007a578063ea0217cf14610755578063ece40cc114610775578063ef3f8bb114610795578063f0b76892146107b5578063f57df22e146107d5578063fe0d94c1146107ea57610288565b8063d6f0948c14610693578063da35c664146106b3578063e01f5237146106c8578063e23a9a52146106e8578063e4917d9f14610715578063e525aa081461073557610288565b8063b54426c811610113578063b54426c8146105e9578063b859f11b14610609578063c0c0e82014610629578063c4d66de814610649578063ce25d71c14610669578063d6159fe51461067e57610288565b80639daafec714610575578063a6c266031461058a578063a72edda31461059f578063adf898a4146105bf578063b1610d7e146105d457610288565b80635c19a95c116101f357806370b0f660116101ac57806370b0f660146104cb5780638b34a960146104eb57806392ab89bb14610500578063932d5157146105155780639a9e3b6e146105355780639ae697bf1461055557610288565b80635c19a95c146104215780636198e3391461044157806365da126414610461578063671dd275146104815780636a661755146104965780636dc2dc6c146104ab57610288565b806332687ec11161024557806332687ec11461035b57806337f135d7146103885780633e4f49e61461039d57806354fd4d50146103ca578063587a6ecb146103ec57806358e9fff01461040157610288565b8063013cf08b1461028d57806302ec8f9e146102ca57806315373e3d146102ec57806317977c611461030c57806324b0435f1461033957610288565b3661028857005b600080fd5b34801561029957600080fd5b506102ad6102a83660046128e1565b6107fd565b6040516102c19897969594939291906129ed565b60405180910390f35b3480156102d657600080fd5b506102ea6102e53660046128e1565b610862565b005b3480156102f857600080fd5b506102ea610307366004612925565b61088f565b34801561031857600080fd5b5061032c6103273660046126d8565b610992565b6040516102c19190612ab6565b34801561034557600080fd5b5061034e6109a4565b6040516102c1919061299c565b34801561036757600080fd5b5061037b6103763660046128e1565b6109bc565b6040516102c19190612aab565b34801561039457600080fd5b5061032c610a0a565b3480156103a957600080fd5b506103bd6103b83660046128e1565b610a10565b6040516102c19190612abf565b3480156103d657600080fd5b506103df610b4c565b6040516102c19190612ad3565b3480156103f857600080fd5b5061032c610b75565b34801561040d57600080fd5b5061032c61041c3660046126f3565b610b7b565b34801561042d57600080fd5b506102ea61043c3660046126d8565b610bc9565b34801561044d57600080fd5b506102ea61045c3660046128e1565b610ceb565b34801561046d57600080fd5b5061034e61047c3660046126d8565b610e38565b34801561048d57600080fd5b5061032c610e53565b3480156104a257600080fd5b5061032c610e59565b3480156104b757600080fd5b506102ea6104c63660046128e1565b610e5f565b3480156104d757600080fd5b506102ea6104e63660046128e1565b610ea4565b3480156104f757600080fd5b5061034e610ec8565b34801561050c57600080fd5b506102ea610eec565b34801561052157600080fd5b506102ea6105303660046128e1565b610f73565b34801561054157600080fd5b506102ea6105503660046128e1565b611025565b34801561056157600080fd5b5061032c6105703660046126d8565b611049565b34801561058157600080fd5b5061034e61105b565b34801561059657600080fd5b5061032c61107f565b3480156105ab57600080fd5b5061032c6105ba3660046126d8565b611085565b3480156105cb57600080fd5b5061034e611097565b3480156105e057600080fd5b5061032c6110a6565b3480156105f557600080fd5b506102ea6106043660046128e1565b6110ac565b34801561061557600080fd5b506102ea610624366004612800565b6111f5565b34801561063557600080fd5b506102ea6106443660046128e1565b611243565b34801561065557600080fd5b506102ea6106643660046126d8565b611267565b34801561067557600080fd5b5061032c6114aa565b34801561068a57600080fd5b5061032c6114b0565b34801561069f57600080fd5b5061032c6106ae366004612753565b6114b6565b3480156106bf57600080fd5b5061032c6114cc565b3480156106d457600080fd5b5061032c6106e33660046128e1565b6114d6565b3480156106f457600080fd5b506107086107033660046128f9565b6114e8565b6040516102c191906130db565b34801561072157600080fd5b506102ea6107303660046128e1565b61155a565b34801561074157600080fd5b5061037b6107503660046128f9565b61157e565b34801561076157600080fd5b506102ea6107703660046128e1565b6115c1565b34801561078157600080fd5b506102ea6107903660046128e1565b6115e5565b3480156107a157600080fd5b506102ea6107b03660046128e1565b611609565b3480156107c157600080fd5b506102ea6107d03660046127a1565b61169b565b3480156107e157600080fd5b5061034e6117f6565b6102ea6107f83660046128e1565b61181a565b603d818154811061080a57fe5b600091825260209091206008909102018054600182015460028301546003840154600485015460058601546006909601546001600160a01b039586169750949093169491939092919060ff8082169161010090041688565b33301461088a5760405162461bcd60e51b815260040161088190612e49565b60405180910390fd5b603555565b3361089a833361157e565b1580156108ad57506108ab836109bc565b155b3332146108bb5760006108bf565b6152085b61ffff1681156109805760005a90506108d93387876118ac565b60006108f66127106108f0856108f05a8790611add565b90611b1f565b60405163a99ce80760e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a99ce8079061094790889085906004016129b0565b600060405180830381600087803b15801561096157600080fd5b505af1158015610975573d6000803e3d6000fd5b50505050505061098b565b61098b3386866118ac565b5050505050565b603e6020526000908152604090205481565b73b04e030140b30c27bcdfaafffa98c57d80eda7b490565b6000603554603d83815481106109ce57fe5b906000526020600020906008020160050154603d84815481106109ed57fe5b90600052602060002090600802016004015401101590505b919050565b60335481565b6000610a1a6114cc565b8211158015610a295750600082115b610a455760405162461bcd60e51b815260040161088190612fa6565b6000603d8381548110610a5457fe5b906000526020600020906008020190508060020154610a71611b44565b11610a80576000915050610a05565b8060030154610a8d611b44565b11610a9c576001915050610a05565b80600501548160040154111580610abe57506035548160050154826004015401105b15610acd576002915050610a05565b600681015460ff1615610ae4576005915050610a05565b610b036034546108f06033548460030154611b1f90919063ffffffff16565b610b0b611b44565b10610b1a576006915050610a05565b6033546003820154610b2b91611b1f565b610b33611b44565b10610b42576004915050610a05565b6003915050610a05565b60408051808201909152600f81526e0d0b9c185d18da0b595e1c1b1bda5d608a1b602082015290565b603a5481565b6001600160a01b038381166000908152603c60205260408120549091163314610bb65760405162461bcd60e51b815260040161088190613036565b610bc1848484611b48565b949350505050565b336000818152603c60205260409020546001600160a01b039081169190831614801590610bff57506001600160a01b0382163014155b8015610c1357506001600160a01b03821615155b8015610c315750806001600160a01b0316826001600160a01b031614155b610c4d5760405162461bcd60e51b815260040161088190612e80565b6001600160a01b03811615610c93576040516001600160a01b0382169033907f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7290600090a35b336000818152603c602052604080822080546001600160a01b0319166001600160a01b03871690811790915590519092917f4bc154dd35d6a5cb9206482ecb473cdbf2473006d6bce728b9cc0741bcc59ea291a35050565b336000818152603b60205260409081902054905163e113335f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163e113335f91610d489185916004016129b0565b600060405180830381600087803b158015610d6257600080fd5b505af1925050508015610d73575060015b610df6573d808015610da1576040519150601f19603f3d011682016040523d82523d6000602084013e610da6565b606091505b5080604051610db59190612980565b604051908190038120906001600160a01b038416907f5a6216e80d86159dc87dcebfe519205477a94005b7d9d6bd313606450a5344f690600090a350610e2b565b6040516001600160a01b038216907f9b227b0c1ae308b34f72d4fdf9a1943fa769ff4814933595e7bc5230a117698b90600090a25b610e3482611b70565b5050565b603c602052600090815260409020546001600160a01b031681565b60355481565b60345481565b333014610e7e5760405162461bcd60e51b815260040161088190612e49565b6033548110610e9f5760405162461bcd60e51b815260040161088190612d6d565b603a55565b333014610ec35760405162461bcd60e51b815260040161088190612e49565b603755565b7f000000000000000000000000000000000000000000000000000000000000000081565b336000908152603c60205260409020546001600160a01b031680610f225760405162461bcd60e51b815260040161088190612fec565b336000818152603c602052604080822080546001600160a01b0319169055516001600160a01b03841692917f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7291a350565b610f7b6109a4565b6001600160a01b0316336001600160a01b031614610fab5760405162461bcd60e51b815260040161088190612f7f565b604051633a08bde160e21b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e822f78490610ff7908490600401612ab6565b600060405180830381600087803b15801561101157600080fd5b505af115801561098b573d6000803e3d6000fd5b3330146110445760405162461bcd60e51b815260040161088190612e49565b603455565b603b6020526000908152604090205481565b7f000000000000000000000000000000000000000000000000000000000000000081565b60365481565b603f6020526000908152604090205481565b6040546001600160a01b031681565b60385481565b336000818152603b60205260409081902054905163e113335f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163e113335f916111099185916004016129b0565b600060405180830381600087803b15801561112357600080fd5b505af1925050508015611134575060015b6111b7573d808015611162576040519150601f19603f3d011682016040523d82523d6000602084013e611167565b606091505b50806040516111769190612980565b604051908190038120906001600160a01b038416907f5a6216e80d86159dc87dcebfe519205477a94005b7d9d6bd313606450a5344f690600090a3506111ec565b6040516001600160a01b038216907f9b227b0c1ae308b34f72d4fdf9a1943fa769ff4814933595e7bc5230a117698b90600090a25b610e3482611c54565b60008351116112165760405162461bcd60e51b815260040161088190612e1f565b61123e838383611226863361157e565b1580156112395750611237866109bc565b155b611c5e565b505050565b3330146112625760405162461bcd60e51b815260040161088190612e49565b603955565b600054610100900460ff16806112805750611280611ea1565b8061128e575060005460ff16155b6112aa5760405162461bcd60e51b815260040161088190612f31565b600054610100900460ff161580156112d5576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b038085166001600160a01b03199283161783558251610100818101855230825261dead602083019081526000958301868152606084018781526080850188815260a08601898152600160c0880181815260e089018c8152603d80549384018155909c52975160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b16928c169290921790915594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc4860180549190991699169890981790965590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc5830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc682015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc784015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc8830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990910180549351151590920261ff001991151560ff199094169390931716919091179055611495611ea7565b8015610e34576000805461ff00191690555050565b60395481565b60375481565b60006114c3338484611b48565b90505b92915050565b603d546000190190565b60416020526000908152604090205481565b6114f06125d2565b603d83815481106114fd57fe5b600091825260208083206001600160a01b0395909516835260089190910290930160070183526040908190208151606081018352815460ff8082161515835261010090910416151594810194909452600101549083015250919050565b3330146115795760405162461bcd60e51b815260040161088190612e49565b603355565b6000603d838154811061158d57fe5b600091825260208083206001600160a01b03861684526007600890930201919091019052604090205460ff16905092915050565b3330146115e05760405162461bcd60e51b815260040161088190612e49565b603855565b3330146116045760405162461bcd60e51b815260040161088190612e49565b603655565b6116116109a4565b6001600160a01b0316336001600160a01b0316146116415760405162461bcd60e51b815260040161088190612f7f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108fc6116788347611ee8565b6040518115909202916000818181858888f1935050505061169857600080fd5b50565b6001600160a01b038087166000908152603b60205260409081902054905163e113335f60e01b815288927f0000000000000000000000000000000000000000000000000000000000000000169163e113335f916116fc9185916004016129b0565b600060405180830381600087803b15801561171657600080fd5b505af1925050508015611727575060015b6117aa573d808015611755576040519150601f19603f3d011682016040523d82523d6000602084013e61175a565b606091505b50806040516117699190612980565b604051908190038120906001600160a01b038416907f5a6216e80d86159dc87dcebfe519205477a94005b7d9d6bd313606450a5344f690600090a3506117df565b6040516001600160a01b038216907f9b227b0c1ae308b34f72d4fdf9a1943fa769ff4814933595e7bc5230a117698b90600090a25b6117ed878787878787611efe565b50505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b3330141561183a5760405162461bcd60e51b815260040161088190612c36565b6000603d828154811061184957fe5b6000918252602080832060016008909302019182015485845260419091526040909220549092506001600160a01b0390911690813f90811461189d5760405162461bcd60e51b815260040161088190612d17565b6118a684611f7e565b50505050565b60016118b783610a10565b60068111156118c257fe5b146118df5760405162461bcd60e51b815260040161088190612bef565b6000603d83815481106118ee57fe5b600091825260208083206001600160a01b038816845260076008909302019182018152604080842060058401546004850154603b90945291909420549294501015908061194d5760405162461bcd60e51b815260040161088190612eb7565b825460ff161561199c578254610100900460ff1615611983576001830154600485015461197991611add565b600485015561199c565b6001830154600585015461199691611add565b60058501555b84156119bb5760048401546119b19082611b1f565b60048501556119d0565b60058401546119ca9082611b1f565b60058501555b6006840154610100900460ff16158015611a0057506039546119fe6119f3611b44565b600387015490611add565b105b15611a44576005840154600485015411158215158114611a425760068501805461ff001916610100179055603a546003860154611a3c91611b1f565b60038601555b505b8254600160ff19909116811761ff001916610100871515021784558301819055603354603454603a546003870154611a8f938b93611a8a9391926108f092839190611b1f565b612110565b841515876001600160a01b0316877f7c2de587c00d75474a0c6c6fa96fd3b45dc974cd4e8a75f712bb84c950dce1b584604051611acc9190612ab6565b60405180910390a450505050505050565b60006114c383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061214d565b6000828201838110156114c35760405162461bcd60e51b815260040161088190612ce0565b4290565b6000611b55848484612179565b6000818152604160205260409020933f909355509092915050565b336000908152603f6020526040902054611b88611b44565b11611ba55760405162461bcd60e51b815260040161088190612db1565b60408051808201825260208082527f476f7665726e616e63653a20696e73756666696369656e742062616c616e636581830152336000908152603b9091529190912054611bf391839061214d565b336000818152603b6020526040908190209290925590516391fe357360e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316916391fe357391610ff7919085906004016129b0565b61169833826124c7565b3381328214611c6e576000611c72565b6152085b61ffff168115611ddd5760005a905060005b8851811015611d3b576000898281518110611c9b57fe5b6020908102919091018101516001600160a01b038082166000908152603c90935260409092205490925016331480611cdb57506001600160a01b03811633145b611cf75760405162461bcd60e51b815260040161088190613036565b861580611d0b5750611d09898261157e565b155b611d275760405162461bcd60e51b8152600401610881906130a4565b611d32818a8a6118ac565b50600101611c84565b506000611d536127106108f0856108f05a8790611add565b60405163a99ce80760e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a99ce80790611da490889085906004016129b0565b600060405180830381600087803b158015611dbe57600080fd5b505af1158015611dd2573d6000803e3d6000fd5b5050505050506117ed565b60005b8751811015611e97576000888281518110611df757fe5b6020908102919091018101516001600160a01b038082166000908152603c90935260409092205490925016331480611e3757506001600160a01b03811633145b611e535760405162461bcd60e51b815260040161088190613036565b851580611e675750611e65888261157e565b155b611e835760405162461bcd60e51b8152600401610881906130a4565b611e8e8189896118ac565b50600101611de0565b5050505050505050565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b6000818310611ef757816114c3565b5090919050565b60408054905163d505accf60e01b81526001600160a01b039091169063d505accf90611f3a90899030908a908a908a908a908a90600401612a33565b600060405180830381600087803b158015611f5457600080fd5b505af1158015611f68573d6000803e3d6000fd5b50505050611f7686866124c7565b505050505050565b6004611f8982610a10565b6006811115611f9457fe5b14611fb15760405162461bcd60e51b815260040161088190612b29565b6000603d8281548110611fc057fe5b600091825260209091206006600890920201908101805460ff191660019081179091558101549091506001600160a01b0316611ffb816125cc565b6120175760405162461bcd60e51b815260040161088190612ae6565b60408051600481526024810182526020810180516001600160e01b03166306e60b1760e31b17905290516000916060916001600160a01b0385169161205b91612980565b600060405180830381855af49150503d8060008114612096576040519150601f19603f3d011682016040523d82523d6000602084013e61209b565b606091505b5091509150816120de578051156120c6578060405162461bcd60e51b81526004016108819190612ad3565b60405162461bcd60e51b81526004016108819061306d565b60405185907f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f90600090a25050505050565b6001600160a01b0382166000908152603f6020526040902054811115610e34576001600160a01b03919091166000908152603f6020526040902055565b600081848411156121715760405162461bcd60e51b81526004016108819190612ad3565b505050900390565b6001600160a01b0383166000908152603b60205260408120546036548110156121b45760405162461bcd60e51b815260040161088190612c83565b6121bd846125cc565b6121d95760405162461bcd60e51b815260040161088190612eee565b6001600160a01b0385166000908152603e6020526040902054801561224b57600061220382610a10565b9050600181600681111561221357fe5b1415801561222d5750600081600681111561222a57fe5b14155b6122495760405162461bcd60e51b815260040161088190612b74565b505b600061225b6037546108f0611b44565b9050600061227460385483611b1f90919063ffffffff16565b905061227e6125f2565b506040805161010080820183526001600160a01b03808c1683528a8116602084019081529383018681526060840186815260006080860181815260a0870182815260c0880183815260e08901848152603d80546001810182559086528a5160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b166001600160a01b03199384161790559b517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc48d01805491909a1691161790975594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc58a015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc6890155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc788015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc887015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990950180549251151590930261ff001995151560ff199093169290921794909416179055906124306114cc565b82516001600160a01b03166000908152603e60205260409020819055603354603454603a54929350612472928d92611a8a9290916108f0919082908a90611b1f565b896001600160a01b0316817f90ec05050aa23d54ba425e926fe646c318e85825bc400b13a46010abe86eb2f08b87878d6040516124b29493929190612a74565b60405180910390a39998505050505050505050565b6040805490516323b872dd60e01b81526001600160a01b03909116906323b872dd9061251b9085907f00000000000000000000000000000000000000000000000000000000000000009086906004016129c9565b602060405180830381600087803b15801561253557600080fd5b505af1158015612549573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061256d91906128c5565b6125895760405162461bcd60e51b815260040161088190612de8565b6001600160a01b0382166000908152603b60205260409020546125ac9082611b1f565b6001600160a01b039092166000908152603b602052604090209190915550565b3b151590565b604080516060810182526000808252602082018190529181019190915290565b60405180610100016040528060006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000151581526020016000151581525090565b80356001600160a01b03811681146114c657600080fd5b80356114c681613168565b600082601f83011261267f578081fd5b813567ffffffffffffffff811115612695578182fd5b6126a8601f8201601f1916602001613100565b91508082528360208285010111156126bf57600080fd5b8060208401602084013760009082016020015292915050565b6000602082840312156126e9578081fd5b6114c3838361264d565b600080600060608486031215612707578182fd5b833561271281613153565b9250602084013561272281613153565b9150604084013567ffffffffffffffff81111561273d578182fd5b6127498682870161266f565b9150509250925092565b60008060408385031215612765578182fd5b823561277081613153565b9150602083013567ffffffffffffffff81111561278b578182fd5b6127978582860161266f565b9150509250929050565b60008060008060008060c087890312156127b9578182fd5b6127c3888861264d565b95506020870135945060408701359350606087013560ff811681146127e6578283fd5b9598949750929560808101359460a0909101359350915050565b600080600060608486031215612814578283fd5b833567ffffffffffffffff8082111561282b578485fd5b818601915086601f83011261283e578485fd5b81358181111561284c578586fd5b6020915081810261285e838201613100565b8281528381019085850183870186018c101561287857898afd5b8996505b848710156128a25761288e8c8261264d565b83526001969096019591850191850161287c565b50975050505085013592506128bc90508560408601612664565b90509250925092565b6000602082840312156128d6578081fd5b81516114c381613168565b6000602082840312156128f2578081fd5b5035919050565b6000806040838503121561290b578182fd5b8235915061291c846020850161264d565b90509250929050565b60008060408385031215612937578182fd5b82359150602083013561294981613168565b809150509250929050565b6000815180845261296c816020860160208601613127565b601f01601f19169290920160200192915050565b60008251612992818460208701613127565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03988916815296909716602087015260408601949094526060850192909252608084015260a0830152151560c082015290151560e08201526101000190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b600060018060a01b038616825284602083015283604083015260806060830152612aa16080830184612954565b9695505050505050565b901515815260200190565b90815260200190565b6020810160078310612acd57fe5b91905290565b6000602082526114c36020830184612954565b60208082526023908201527f476f7665726e616e63653a3a657865637574653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602b908201527f476f7665726e616e63653a3a657865637574653a20696e76616c69642070726f60408201526a706f73616c20737461746560a81b606082015260800190565b60208082526055908201527f476f7665726e616e63653a3a70726f706f73653a206f6e65206c69766520707260408201527f6f706f73616c207065722070726f706f7365722c20666f756e6420616e20616c6060820152741c9958591e481858dd1a5d99481c1c9bdc1bdcd85b605a1b608082015260a00190565b60208082526027908201527f476f7665726e616e63653a3a5f63617374566f74653a20766f74696e672069736040820152660818db1bdcd95960ca1b606082015260800190565b6020808252602d908201527f476f7665726e616e63653a3a70726f706f73653a2070736575646f2d6578746560408201526c393730b610333ab731ba34b7b760991b606082015260800190565b6020808252603c908201527f476f7665726e616e63653a3a70726f706f73653a2070726f706f73657220766f60408201527f7465732062656c6f772070726f706f73616c207468726573686f6c6400000000606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526036908201527f476f7665726e616e63653a3a70726f706f73653a206d6574616d6f72706869636040820152750818dbdb9d1c9858dd1cc81b9bdd08185b1b1bddd95960521b606082015260800190565b60208082526024908201527f476f7665726e616e63653a20696e636f727265637420766f7465457874656e6460408201526354696d6560e01b606082015260800190565b6020808252601d908201527f476f7665726e616e63653a20746f6b656e7320617265206c6f636b6564000000604082015260600190565b60208082526019908201527f544f524e3a207472616e7366657246726f6d206661696c656400000000000000604082015260600190565b60208082526010908201526f43616e206e6f7420626520656d70747960801b604082015260600190565b60208082526018908201527f476f7665726e616e63653a20756e617574686f72697a65640000000000000000604082015260600190565b6020808252601d908201527f476f7665726e616e63653a20696e76616c69642064656c656761746565000000604082015260600190565b60208082526018908201527f476f7665726e616e63653a2062616c616e636520697320300000000000000000604082015260600190565b60208082526023908201527f476f7665726e616e63653a3a70726f706f73653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252600d908201526c6f6e6c79206d756c746973696760981b604082015260600190565b60208082526026908201527f476f7665726e616e63653a3a73746174653a20696e76616c69642070726f706f6040820152651cd85b081a5960d21b606082015260800190565b6020808252602a908201527f476f7665726e616e63653a20746f6b656e732061726520616c726561647920756040820152691b99195b1959d85d195960b21b606082015260800190565b6020808252601a908201527f476f7665726e616e63653a206e6f7420617574686f72697a6564000000000000604082015260600190565b60208082526019908201527f50726f706f73616c20657865637574696f6e206661696c656400000000000000604082015260600190565b60208082526019908201527f476f7665726e616e63653a20766f74656420616c726561647900000000000000604082015260600190565b8151151581526020808301511515908201526040918201519181019190915260600190565b60405181810167ffffffffffffffff8111828210171561311f57600080fd5b604052919050565b60005b8381101561314257818101518382015260200161312a565b838111156118a65750506000910152565b6001600160a01b038116811461169857600080fd5b801515811461169857600080fdfea2646970667358221220b75004153b6c8b4905c018daca78cb0fa6d3859298be55252bcf6ba75ea68d0e64736f6c634300060c0033a26469706673582212204ba1758b9bff1354ea4f43c5374c01c2f89472a8eda340e802e2a467b5710b3764736f6c634300060c0033"; + +type PatchProposalConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: PatchProposalConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class PatchProposal__factory extends ContractFactory { + constructor(...args: PatchProposalConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + _deployedStakingProxyContractAddress: AddressLike, + _deployedRelayerRegistryImplementationAddress: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction( + _deployedStakingProxyContractAddress, + _deployedRelayerRegistryImplementationAddress, + overrides || {} + ); + } + override deploy( + _deployedStakingProxyContractAddress: AddressLike, + _deployedRelayerRegistryImplementationAddress: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ) { + return super.deploy( + _deployedStakingProxyContractAddress, + _deployedRelayerRegistryImplementationAddress, + overrides || {} + ) as Promise< + PatchProposal & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): PatchProposal__factory { + return super.connect(runner) as PatchProposal__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): PatchProposalInterface { + return new Interface(_abi) as PatchProposalInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): PatchProposal { + return new Contract(address, _abi, runner) as unknown as PatchProposal; + } +} diff --git a/typechain-types/factories/contracts/Governance/v4-exploit-patch/index.ts b/typechain-types/factories/contracts/Governance/v4-exploit-patch/index.ts new file mode 100644 index 0000000..bdd8732 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/v4-exploit-patch/index.ts @@ -0,0 +1,8 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as metamorphic from "./metamorphic"; +export * as mock from "./mock"; +export { AdminUpgradeableProxy__factory } from "./AdminUpgradeableProxy__factory"; +export { GovernanceExploitPatchUpgrade__factory } from "./GovernanceExploitPatchUpgrade__factory"; +export { PatchProposal__factory } from "./PatchProposal__factory"; diff --git a/typechain-types/factories/contracts/Governance/v4-exploit-patch/metamorphic/IMetamorphicContractFactory__factory.ts b/typechain-types/factories/contracts/Governance/v4-exploit-patch/metamorphic/IMetamorphicContractFactory__factory.ts new file mode 100644 index 0000000..df1db6f --- /dev/null +++ b/typechain-types/factories/contracts/Governance/v4-exploit-patch/metamorphic/IMetamorphicContractFactory__factory.ts @@ -0,0 +1,77 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Interface, type ContractRunner } from "ethers"; +import type { + IMetamorphicContractFactory, + IMetamorphicContractFactoryInterface, +} from "../../../../../contracts/Governance/v4-exploit-patch/metamorphic/IMetamorphicContractFactory"; + +const _abi = [ + { + inputs: [ + { + internalType: "bytes32", + name: "salt", + type: "bytes32", + }, + { + internalType: "address", + name: "implementationContract", + type: "address", + }, + { + internalType: "bytes", + name: "metamorphicContractInitializationCalldata", + type: "bytes", + }, + ], + name: "deployMetamorphicContractFromExistingImplementation", + outputs: [ + { + internalType: "address", + name: "metamorphicContractAddress", + type: "address", + }, + ], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes32", + name: "salt", + type: "bytes32", + }, + ], + name: "findMetamorphicContractAddress", + outputs: [ + { + internalType: "address", + name: "metamorphicContractAddress", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const; + +export class IMetamorphicContractFactory__factory { + static readonly abi = _abi; + static createInterface(): IMetamorphicContractFactoryInterface { + return new Interface(_abi) as IMetamorphicContractFactoryInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): IMetamorphicContractFactory { + return new Contract( + address, + _abi, + runner + ) as unknown as IMetamorphicContractFactory; + } +} diff --git a/typechain-types/factories/contracts/Governance/v4-exploit-patch/metamorphic/index.ts b/typechain-types/factories/contracts/Governance/v4-exploit-patch/metamorphic/index.ts new file mode 100644 index 0000000..7747389 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/v4-exploit-patch/metamorphic/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { IMetamorphicContractFactory__factory } from "./IMetamorphicContractFactory__factory"; diff --git a/typechain-types/factories/contracts/Governance/v4-exploit-patch/mock/MockProposals.sol/InitialProposal__factory.ts b/typechain-types/factories/contracts/Governance/v4-exploit-patch/mock/MockProposals.sol/InitialProposal__factory.ts new file mode 100644 index 0000000..85a693a --- /dev/null +++ b/typechain-types/factories/contracts/Governance/v4-exploit-patch/mock/MockProposals.sol/InitialProposal__factory.ts @@ -0,0 +1,94 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../../../common"; +import type { + InitialProposal, + InitialProposalInterface, +} from "../../../../../../contracts/Governance/v4-exploit-patch/mock/MockProposals.sol/InitialProposal"; + +const _abi = [ + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "num", + type: "uint256", + }, + ], + name: "MockExecuted", + type: "event", + }, + { + inputs: [], + name: "emergencyStop", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "executeProposal", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +const _bytecode = + "0x608060405234801561001057600080fd5b5060c08061001f6000396000f3fe6080604052348015600f57600080fd5b506004361060325760003560e01c8063373058b814603757806363a599a414603f575b600080fd5b603d6045565b005b603d607d565b7f2ff532ec74fd1130db9b7b6800e0992b2363095b00331a891a27edfab97c45406001604051607391906081565b60405180910390a1565b6000ff5b9081526020019056fea264697066735822122018779fa63005d6573862657b4a5cd55f75b705b28a7ff69222461665b78f408a64736f6c634300060c0033"; + +type InitialProposalConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: InitialProposalConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class InitialProposal__factory extends ContractFactory { + constructor(...args: InitialProposalConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(overrides || {}); + } + override deploy(overrides?: NonPayableOverrides & { from?: string }) { + return super.deploy(overrides || {}) as Promise< + InitialProposal & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): InitialProposal__factory { + return super.connect(runner) as InitialProposal__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): InitialProposalInterface { + return new Interface(_abi) as InitialProposalInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): InitialProposal { + return new Contract(address, _abi, runner) as unknown as InitialProposal; + } +} diff --git a/typechain-types/factories/contracts/Governance/v4-exploit-patch/mock/MockProposals.sol/MaliciousProposal__factory.ts b/typechain-types/factories/contracts/Governance/v4-exploit-patch/mock/MockProposals.sol/MaliciousProposal__factory.ts new file mode 100644 index 0000000..5e0a6d2 --- /dev/null +++ b/typechain-types/factories/contracts/Governance/v4-exploit-patch/mock/MockProposals.sol/MaliciousProposal__factory.ts @@ -0,0 +1,112 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../../../../../common"; +import type { + MaliciousProposal, + MaliciousProposalInterface, +} from "../../../../../../contracts/Governance/v4-exploit-patch/mock/MockProposals.sol/MaliciousProposal"; + +const _abi = [ + { + inputs: [], + stateMutability: "nonpayable", + type: "constructor", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint256", + name: "num", + type: "uint256", + }, + ], + name: "MockExecuted", + type: "event", + }, + { + inputs: [], + name: "deployer", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "emergencyStop", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "executeProposal", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +const _bytecode = + "0x60a060405234801561001057600080fd5b5033606081901b6080526102746100366000398061012952806101b052506102746000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063373058b81461004657806363a599a414610050578063d5f3948814610058575b600080fd5b61004e610076565b005b61004e6101aa565b6100606101ae565b60405161006d9190610211565b60405180910390f35b6040516370a0823160e01b81527377777feddddffc19ff86db637967013e6c6a116c9060009082906370a08231906100b2903090600401610211565b60206040518083038186803b1580156100ca57600080fd5b505afa1580156100de573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061010291906101f9565b60405163a9059cbb60e01b81529091506001600160a01b0383169063a9059cbb90610153907f0000000000000000000000000000000000000000000000000000000000000000908590600401610225565b602060405180830381600087803b15801561016d57600080fd5b505af1158015610181573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101a591906101d2565b505050565b6000ff5b7f000000000000000000000000000000000000000000000000000000000000000081565b6000602082840312156101e3578081fd5b815180151581146101f2578182fd5b9392505050565b60006020828403121561020a578081fd5b5051919050565b6001600160a01b0391909116815260200190565b6001600160a01b0392909216825260208201526040019056fea2646970667358221220c120adf2a3856eb39e4d2305abf19175fb5f11d87cd96e5c70ce2a9f702ba53664736f6c634300060c0033"; + +type MaliciousProposalConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: MaliciousProposalConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class MaliciousProposal__factory extends ContractFactory { + constructor(...args: MaliciousProposalConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(overrides || {}); + } + override deploy(overrides?: NonPayableOverrides & { from?: string }) { + return super.deploy(overrides || {}) as Promise< + MaliciousProposal & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): MaliciousProposal__factory { + return super.connect(runner) as MaliciousProposal__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): MaliciousProposalInterface { + return new Interface(_abi) as MaliciousProposalInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): MaliciousProposal { + return new Contract(address, _abi, runner) as unknown as MaliciousProposal; + } +} diff --git a/typechain-types/factories/contracts/Governance/v4-exploit-patch/mock/MockProposals.sol/index.ts b/typechain-types/factories/contracts/Governance/v4-exploit-patch/mock/MockProposals.sol/index.ts new file mode 100644 index 0000000..06e790a --- /dev/null +++ b/typechain-types/factories/contracts/Governance/v4-exploit-patch/mock/MockProposals.sol/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { InitialProposal__factory } from "./InitialProposal__factory"; +export { MaliciousProposal__factory } from "./MaliciousProposal__factory"; diff --git a/typechain-types/factories/contracts/Governance/v4-exploit-patch/mock/index.ts b/typechain-types/factories/contracts/Governance/v4-exploit-patch/mock/index.ts new file mode 100644 index 0000000..21a931c --- /dev/null +++ b/typechain-types/factories/contracts/Governance/v4-exploit-patch/mock/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as mockProposalsSol from "./MockProposals.sol"; diff --git a/typechain-types/factories/contracts/Governance/v5-proposal-state-patch/GovernanceProposalStateUpgrade__factory.ts b/typechain-types/factories/contracts/Governance/v5-proposal-state-patch/GovernanceProposalStateUpgrade__factory.ts new file mode 100644 index 0000000..ac03d3f --- /dev/null +++ b/typechain-types/factories/contracts/Governance/v5-proposal-state-patch/GovernanceProposalStateUpgrade__factory.ts @@ -0,0 +1,1059 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { + Signer, + AddressLike, + ContractDeployTransaction, + ContractRunner, +} from "ethers"; +import type { NonPayableOverrides } from "../../../../common"; +import type { + GovernanceProposalStateUpgrade, + GovernanceProposalStateUpgradeInterface, +} from "../../../../contracts/Governance/v5-proposal-state-patch/GovernanceProposalStateUpgrade"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "stakingRewardsAddress", + type: "address", + }, + { + internalType: "address", + name: "gasCompLogic", + type: "address", + }, + { + internalType: "address", + name: "userVaultAddress", + type: "address", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + ], + name: "Delegated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "id", + type: "uint256", + }, + { + indexed: true, + internalType: "address", + name: "proposer", + type: "address", + }, + { + indexed: false, + internalType: "address", + name: "target", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "startTime", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "endTime", + type: "uint256", + }, + { + indexed: false, + internalType: "string", + name: "description", + type: "string", + }, + ], + name: "ProposalCreated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "ProposalExecuted", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address", + }, + { + indexed: true, + internalType: "bytes", + name: "errorData", + type: "bytes", + }, + ], + name: "RewardUpdateFailed", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "RewardUpdateSuccessful", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + ], + name: "Undelegated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + indexed: true, + internalType: "address", + name: "voter", + type: "address", + }, + { + indexed: true, + internalType: "bool", + name: "support", + type: "bool", + }, + { + indexed: false, + internalType: "uint256", + name: "votes", + type: "uint256", + }, + ], + name: "Voted", + type: "event", + }, + { + inputs: [], + name: "CLOSING_PERIOD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "EXECUTION_DELAY", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "EXECUTION_EXPIRATION", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "PROPOSAL_THRESHOLD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "QUORUM_VOTES", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "Staking", + outputs: [ + { + internalType: "contract ITornadoStakingRewards", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "VOTE_EXTEND_TIME", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "VOTING_DELAY", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "VOTING_PERIOD", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "canWithdrawAfter", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address[]", + name: "from", + type: "address[]", + }, + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "bool", + name: "support", + type: "bool", + }, + ], + name: "castDelegatedVote", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "bool", + name: "support", + type: "bool", + }, + ], + name: "castVote", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "checkIfQuorumReached", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address", + }, + ], + name: "delegate", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "delegatedTo", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "execute", + outputs: [], + stateMutability: "payable", + type: "function", + }, + { + inputs: [], + name: "gasCompensationVault", + outputs: [ + { + internalType: "contract IGasCompensationVault", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "address", + name: "voter", + type: "address", + }, + ], + name: "getReceipt", + outputs: [ + { + components: [ + { + internalType: "bool", + name: "hasVoted", + type: "bool", + }, + { + internalType: "bool", + name: "support", + type: "bool", + }, + { + internalType: "uint256", + name: "votes", + type: "uint256", + }, + ], + internalType: "struct Governance.Receipt", + name: "", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "hasAccountVoted", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_torn", + type: "address", + }, + ], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "latestProposalIds", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "uint256", + name: "deadline", + type: "uint256", + }, + { + internalType: "uint8", + name: "v", + type: "uint8", + }, + { + internalType: "bytes32", + name: "r", + type: "bytes32", + }, + { + internalType: "bytes32", + name: "s", + type: "bytes32", + }, + ], + name: "lock", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "lockWithApproval", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "lockedBalance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "proposalCodehashes", + outputs: [ + { + internalType: "bytes32", + name: "", + type: "bytes32", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "proposalCount", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "proposals", + outputs: [ + { + internalType: "address", + name: "proposer", + type: "address", + }, + { + internalType: "address", + name: "target", + type: "address", + }, + { + internalType: "uint256", + name: "startTime", + type: "uint256", + }, + { + internalType: "uint256", + name: "endTime", + type: "uint256", + }, + { + internalType: "uint256", + name: "forVotes", + type: "uint256", + }, + { + internalType: "uint256", + name: "againstVotes", + type: "uint256", + }, + { + internalType: "bool", + name: "executed", + type: "bool", + }, + { + internalType: "bool", + name: "extended", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address", + }, + { + internalType: "string", + name: "description", + type: "string", + }, + ], + name: "propose", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "target", + type: "address", + }, + { + internalType: "string", + name: "description", + type: "string", + }, + ], + name: "proposeByDelegate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "returnMultisigAddress", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "closingPeriod", + type: "uint256", + }, + ], + name: "setClosingPeriod", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "executionDelay", + type: "uint256", + }, + ], + name: "setExecutionDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "executionExpiration", + type: "uint256", + }, + ], + name: "setExecutionExpiration", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "gasCompensationsLimit", + type: "uint256", + }, + ], + name: "setGasCompensations", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalThreshold", + type: "uint256", + }, + ], + name: "setProposalThreshold", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "quorumVotes", + type: "uint256", + }, + ], + name: "setQuorumVotes", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "voteExtendTime", + type: "uint256", + }, + ], + name: "setVoteExtendTime", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "votingDelay", + type: "uint256", + }, + ], + name: "setVotingDelay", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "votingPeriod", + type: "uint256", + }, + ], + name: "setVotingPeriod", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "proposalId", + type: "uint256", + }, + ], + name: "state", + outputs: [ + { + internalType: "enum Governance.ProposalState", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "torn", + outputs: [ + { + internalType: "contract TORN", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "undelegate", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "unlock", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "userVault", + outputs: [ + { + internalType: "contract ITornadoVault", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "version", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "pure", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "withdrawFromHelper", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + stateMutability: "payable", + type: "receive", + }, +] as const; + +const _bytecode = + "0x60e06040523480156200001157600080fd5b506040516200344138038062003441833981016040819052620000349162000171565b82828282828281818181600060019054906101000a900460ff16806200005f57506200005f6200012a565b806200006e575060005460ff16155b620000965760405162461bcd60e51b81526004016200008d90620001c4565b60405180910390fd5b600054610100900460ff16158015620000c2576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b03191661dead179055620000e062000130565b8015620000f3576000805461ff00191690555b506001600160601b0319606091821b811660805291811b821660a0529590951b90941660c052506200022b98505050505050505050565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b60008060006060848603121562000186578283fd5b8351620001938162000212565b6020850151909350620001a68162000212565b6040850151909250620001b98162000212565b809150509250925092565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b6001600160a01b03811681146200022857600080fd5b50565b60805160601c60a05160601c60c05160601c6131b36200028e60003980610d1a52806110db52806116ce52806117ff5250806109105280610ed15280610fc9528061164a5280611d745250806110645280611c1d52806124f852506131b36000f3fe6080604052600436106102815760003560e01c80639daafec71161014f578063d6f0948c116100c1578063ea0217cf1161007a578063ea0217cf14610755578063ece40cc114610775578063ef3f8bb114610795578063f0b76892146107b5578063f57df22e146107d5578063fe0d94c1146107ea57610288565b8063d6f0948c14610693578063da35c664146106b3578063e01f5237146106c8578063e23a9a52146106e8578063e4917d9f14610715578063e525aa081461073557610288565b8063b54426c811610113578063b54426c8146105e9578063b859f11b14610609578063c0c0e82014610629578063c4d66de814610649578063ce25d71c14610669578063d6159fe51461067e57610288565b80639daafec714610575578063a6c266031461058a578063a72edda31461059f578063adf898a4146105bf578063b1610d7e146105d457610288565b80635c19a95c116101f357806370b0f660116101ac57806370b0f660146104cb5780638b34a960146104eb57806392ab89bb14610500578063932d5157146105155780639a9e3b6e146105355780639ae697bf1461055557610288565b80635c19a95c146104215780636198e3391461044157806365da126414610461578063671dd275146104815780636a661755146104965780636dc2dc6c146104ab57610288565b806332687ec11161024557806332687ec11461035b57806337f135d7146103885780633e4f49e61461039d57806354fd4d50146103ca578063587a6ecb146103ec57806358e9fff01461040157610288565b8063013cf08b1461028d57806302ec8f9e146102ca57806315373e3d146102ec57806317977c611461030c57806324b0435f1461033957610288565b3661028857005b600080fd5b34801561029957600080fd5b506102ad6102a83660046128e8565b6107fd565b6040516102c19897969594939291906129f4565b60405180910390f35b3480156102d657600080fd5b506102ea6102e53660046128e8565b610862565b005b3480156102f857600080fd5b506102ea61030736600461292c565b61088f565b34801561031857600080fd5b5061032c6103273660046126df565b610992565b6040516102c19190612abd565b34801561034557600080fd5b5061034e6109a4565b6040516102c191906129a3565b34801561036757600080fd5b5061037b6103763660046128e8565b6109bc565b6040516102c19190612ab2565b34801561039457600080fd5b5061032c610a0a565b3480156103a957600080fd5b506103bd6103b83660046128e8565b610a10565b6040516102c19190612ac6565b3480156103d657600080fd5b506103df610b4c565b6040516102c19190612ada565b3480156103f857600080fd5b5061032c610b7c565b34801561040d57600080fd5b5061032c61041c3660046126fa565b610b82565b34801561042d57600080fd5b506102ea61043c3660046126df565b610bd0565b34801561044d57600080fd5b506102ea61045c3660046128e8565b610cf2565b34801561046d57600080fd5b5061034e61047c3660046126df565b610e3f565b34801561048d57600080fd5b5061032c610e5a565b3480156104a257600080fd5b5061032c610e60565b3480156104b757600080fd5b506102ea6104c63660046128e8565b610e66565b3480156104d757600080fd5b506102ea6104e63660046128e8565b610eab565b3480156104f757600080fd5b5061034e610ecf565b34801561050c57600080fd5b506102ea610ef3565b34801561052157600080fd5b506102ea6105303660046128e8565b610f7a565b34801561054157600080fd5b506102ea6105503660046128e8565b61102c565b34801561056157600080fd5b5061032c6105703660046126df565b611050565b34801561058157600080fd5b5061034e611062565b34801561059657600080fd5b5061032c611086565b3480156105ab57600080fd5b5061032c6105ba3660046126df565b61108c565b3480156105cb57600080fd5b5061034e61109e565b3480156105e057600080fd5b5061032c6110ad565b3480156105f557600080fd5b506102ea6106043660046128e8565b6110b3565b34801561061557600080fd5b506102ea610624366004612807565b6111fc565b34801561063557600080fd5b506102ea6106443660046128e8565b61124a565b34801561065557600080fd5b506102ea6106643660046126df565b61126e565b34801561067557600080fd5b5061032c6114b1565b34801561068a57600080fd5b5061032c6114b7565b34801561069f57600080fd5b5061032c6106ae36600461275a565b6114bd565b3480156106bf57600080fd5b5061032c6114d3565b3480156106d457600080fd5b5061032c6106e33660046128e8565b6114dd565b3480156106f457600080fd5b50610708610703366004612900565b6114ef565b6040516102c191906130e2565b34801561072157600080fd5b506102ea6107303660046128e8565b611561565b34801561074157600080fd5b5061037b610750366004612900565b611585565b34801561076157600080fd5b506102ea6107703660046128e8565b6115c8565b34801561078157600080fd5b506102ea6107903660046128e8565b6115ec565b3480156107a157600080fd5b506102ea6107b03660046128e8565b611610565b3480156107c157600080fd5b506102ea6107d03660046127a8565b6116a2565b3480156107e157600080fd5b5061034e6117fd565b6102ea6107f83660046128e8565b611821565b603d818154811061080a57fe5b600091825260209091206008909102018054600182015460028301546003840154600485015460058601546006909601546001600160a01b039586169750949093169491939092919060ff8082169161010090041688565b33301461088a5760405162461bcd60e51b815260040161088190612e50565b60405180910390fd5b603555565b3361089a8333611585565b1580156108ad57506108ab836109bc565b155b3332146108bb5760006108bf565b6152085b61ffff1681156109805760005a90506108d93387876118b3565b60006108f66127106108f0856108f05a8790611ae4565b90611b26565b60405163a99ce80760e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a99ce8079061094790889085906004016129b7565b600060405180830381600087803b15801561096157600080fd5b505af1158015610975573d6000803e3d6000fd5b50505050505061098b565b61098b3386866118b3565b5050505050565b603e6020526000908152604090205481565b73b04e030140b30c27bcdfaafffa98c57d80eda7b490565b6000603554603d83815481106109ce57fe5b906000526020600020906008020160050154603d84815481106109ed57fe5b90600052602060002090600802016004015401101590505b919050565b60335481565b6000610a1a6114d3565b8211158015610a295750600082115b610a455760405162461bcd60e51b815260040161088190612fad565b6000603d8381548110610a5457fe5b906000526020600020906008020190508060020154610a71611b4b565b11610a80576000915050610a05565b8060030154610a8d611b4b565b11610a9c576001915050610a05565b600681015460ff1615610ab3576005915050610a05565b80600501548160040154111580610ad557506035548160050154826004015401105b15610ae4576002915050610a05565b610b036034546108f06033548460030154611b2690919063ffffffff16565b610b0b611b4b565b10610b1a576006915050610a05565b6033546003820154610b2b91611b26565b610b33611b4b565b10610b42576004915050610a05565b6003915050610a05565b60408051808201909152601681527506a5ce0e4dee0dee6c2d85ae6e8c2e8ca5ae0c2e8c6d60531b602082015290565b603a5481565b6001600160a01b038381166000908152603c60205260408120549091163314610bbd5760405162461bcd60e51b81526004016108819061303d565b610bc8848484611b4f565b949350505050565b336000818152603c60205260409020546001600160a01b039081169190831614801590610c0657506001600160a01b0382163014155b8015610c1a57506001600160a01b03821615155b8015610c385750806001600160a01b0316826001600160a01b031614155b610c545760405162461bcd60e51b815260040161088190612e87565b6001600160a01b03811615610c9a576040516001600160a01b0382169033907f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7290600090a35b336000818152603c602052604080822080546001600160a01b0319166001600160a01b03871690811790915590519092917f4bc154dd35d6a5cb9206482ecb473cdbf2473006d6bce728b9cc0741bcc59ea291a35050565b336000818152603b60205260409081902054905163e113335f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163e113335f91610d4f9185916004016129b7565b600060405180830381600087803b158015610d6957600080fd5b505af1925050508015610d7a575060015b610dfd573d808015610da8576040519150601f19603f3d011682016040523d82523d6000602084013e610dad565b606091505b5080604051610dbc9190612987565b604051908190038120906001600160a01b038416907f5a6216e80d86159dc87dcebfe519205477a94005b7d9d6bd313606450a5344f690600090a350610e32565b6040516001600160a01b038216907f9b227b0c1ae308b34f72d4fdf9a1943fa769ff4814933595e7bc5230a117698b90600090a25b610e3b82611b77565b5050565b603c602052600090815260409020546001600160a01b031681565b60355481565b60345481565b333014610e855760405162461bcd60e51b815260040161088190612e50565b6033548110610ea65760405162461bcd60e51b815260040161088190612d74565b603a55565b333014610eca5760405162461bcd60e51b815260040161088190612e50565b603755565b7f000000000000000000000000000000000000000000000000000000000000000081565b336000908152603c60205260409020546001600160a01b031680610f295760405162461bcd60e51b815260040161088190612ff3565b336000818152603c602052604080822080546001600160a01b0319169055516001600160a01b03841692917f1af5b1c85495b3618ea659a1ba256c8b8974b437297d3b914e321e086a28da7291a350565b610f826109a4565b6001600160a01b0316336001600160a01b031614610fb25760405162461bcd60e51b815260040161088190612f86565b604051633a08bde160e21b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e822f78490610ffe908490600401612abd565b600060405180830381600087803b15801561101857600080fd5b505af115801561098b573d6000803e3d6000fd5b33301461104b5760405162461bcd60e51b815260040161088190612e50565b603455565b603b6020526000908152604090205481565b7f000000000000000000000000000000000000000000000000000000000000000081565b60365481565b603f6020526000908152604090205481565b6040546001600160a01b031681565b60385481565b336000818152603b60205260409081902054905163e113335f60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163e113335f916111109185916004016129b7565b600060405180830381600087803b15801561112a57600080fd5b505af192505050801561113b575060015b6111be573d808015611169576040519150601f19603f3d011682016040523d82523d6000602084013e61116e565b606091505b508060405161117d9190612987565b604051908190038120906001600160a01b038416907f5a6216e80d86159dc87dcebfe519205477a94005b7d9d6bd313606450a5344f690600090a3506111f3565b6040516001600160a01b038216907f9b227b0c1ae308b34f72d4fdf9a1943fa769ff4814933595e7bc5230a117698b90600090a25b610e3b82611c5b565b600083511161121d5760405162461bcd60e51b815260040161088190612e26565b61124583838361122d8633611585565b158015611240575061123e866109bc565b155b611c65565b505050565b3330146112695760405162461bcd60e51b815260040161088190612e50565b603955565b600054610100900460ff16806112875750611287611ea8565b80611295575060005460ff16155b6112b15760405162461bcd60e51b815260040161088190612f38565b600054610100900460ff161580156112dc576000805460ff1961ff0019909116610100171660011790555b604080546001600160a01b038085166001600160a01b03199283161783558251610100818101855230825261dead602083019081526000958301868152606084018781526080850188815260a08601898152600160c0880181815260e089018c8152603d80549384018155909c52975160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b16928c169290921790915594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc4860180549190991699169890981790965590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc5830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc682015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc784015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc8830155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990910180549351151590920261ff001991151560ff19909416939093171691909117905561149c611eae565b8015610e3b576000805461ff00191690555050565b60395481565b60375481565b60006114ca338484611b4f565b90505b92915050565b603d546000190190565b60416020526000908152604090205481565b6114f76125d9565b603d838154811061150457fe5b600091825260208083206001600160a01b0395909516835260089190910290930160070183526040908190208151606081018352815460ff8082161515835261010090910416151594810194909452600101549083015250919050565b3330146115805760405162461bcd60e51b815260040161088190612e50565b603355565b6000603d838154811061159457fe5b600091825260208083206001600160a01b03861684526007600890930201919091019052604090205460ff16905092915050565b3330146115e75760405162461bcd60e51b815260040161088190612e50565b603855565b33301461160b5760405162461bcd60e51b815260040161088190612e50565b603655565b6116186109a4565b6001600160a01b0316336001600160a01b0316146116485760405162461bcd60e51b815260040161088190612f86565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108fc61167f8347611eef565b6040518115909202916000818181858888f1935050505061169f57600080fd5b50565b6001600160a01b038087166000908152603b60205260409081902054905163e113335f60e01b815288927f0000000000000000000000000000000000000000000000000000000000000000169163e113335f916117039185916004016129b7565b600060405180830381600087803b15801561171d57600080fd5b505af192505050801561172e575060015b6117b1573d80801561175c576040519150601f19603f3d011682016040523d82523d6000602084013e611761565b606091505b50806040516117709190612987565b604051908190038120906001600160a01b038416907f5a6216e80d86159dc87dcebfe519205477a94005b7d9d6bd313606450a5344f690600090a3506117e6565b6040516001600160a01b038216907f9b227b0c1ae308b34f72d4fdf9a1943fa769ff4814933595e7bc5230a117698b90600090a25b6117f4878787878787611f05565b50505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b333014156118415760405162461bcd60e51b815260040161088190612c3d565b6000603d828154811061185057fe5b6000918252602080832060016008909302019182015485845260419091526040909220549092506001600160a01b0390911690813f9081146118a45760405162461bcd60e51b815260040161088190612d1e565b6118ad84611f85565b50505050565b60016118be83610a10565b60068111156118c957fe5b146118e65760405162461bcd60e51b815260040161088190612bf6565b6000603d83815481106118f557fe5b600091825260208083206001600160a01b038816845260076008909302019182018152604080842060058401546004850154603b9094529190942054929450101590806119545760405162461bcd60e51b815260040161088190612ebe565b825460ff16156119a3578254610100900460ff161561198a576001830154600485015461198091611ae4565b60048501556119a3565b6001830154600585015461199d91611ae4565b60058501555b84156119c25760048401546119b89082611b26565b60048501556119d7565b60058401546119d19082611b26565b60058501555b6006840154610100900460ff16158015611a075750603954611a056119fa611b4b565b600387015490611ae4565b105b15611a4b576005840154600485015411158215158114611a495760068501805461ff001916610100179055603a546003860154611a4391611b26565b60038601555b505b8254600160ff19909116811761ff001916610100871515021784558301819055603354603454603a546003870154611a96938b93611a919391926108f092839190611b26565b612117565b841515876001600160a01b0316877f7c2de587c00d75474a0c6c6fa96fd3b45dc974cd4e8a75f712bb84c950dce1b584604051611ad39190612abd565b60405180910390a450505050505050565b60006114ca83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612154565b6000828201838110156114ca5760405162461bcd60e51b815260040161088190612ce7565b4290565b6000611b5c848484612180565b6000818152604160205260409020933f909355509092915050565b336000908152603f6020526040902054611b8f611b4b565b11611bac5760405162461bcd60e51b815260040161088190612db8565b60408051808201825260208082527f476f7665726e616e63653a20696e73756666696369656e742062616c616e636581830152336000908152603b9091529190912054611bfa918390612154565b336000818152603b6020526040908190209290925590516391fe357360e01b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316916391fe357391610ffe919085906004016129b7565b61169f33826124ce565b3381328214611c75576000611c79565b6152085b61ffff168115611de45760005a905060005b8851811015611d42576000898281518110611ca257fe5b6020908102919091018101516001600160a01b038082166000908152603c90935260409092205490925016331480611ce257506001600160a01b03811633145b611cfe5760405162461bcd60e51b81526004016108819061303d565b861580611d125750611d108982611585565b155b611d2e5760405162461bcd60e51b8152600401610881906130ab565b611d39818a8a6118b3565b50600101611c8b565b506000611d5a6127106108f0856108f05a8790611ae4565b60405163a99ce80760e01b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a99ce80790611dab90889085906004016129b7565b600060405180830381600087803b158015611dc557600080fd5b505af1158015611dd9573d6000803e3d6000fd5b5050505050506117f4565b60005b8751811015611e9e576000888281518110611dfe57fe5b6020908102919091018101516001600160a01b038082166000908152603c90935260409092205490925016331480611e3e57506001600160a01b03811633145b611e5a5760405162461bcd60e51b81526004016108819061303d565b851580611e6e5750611e6c8882611585565b155b611e8a5760405162461bcd60e51b8152600401610881906130ab565b611e958189896118b3565b50600101611de7565b5050505050505050565b303b1590565b6202a3006033556203f480603481905569054b40b1f852bda00000603555683635c9adc5dea00000603655604b603755603855610e10603955615460603a55565b6000818310611efe57816114ca565b5090919050565b60408054905163d505accf60e01b81526001600160a01b039091169063d505accf90611f4190899030908a908a908a908a908a90600401612a3a565b600060405180830381600087803b158015611f5b57600080fd5b505af1158015611f6f573d6000803e3d6000fd5b50505050611f7d86866124ce565b505050505050565b6004611f9082610a10565b6006811115611f9b57fe5b14611fb85760405162461bcd60e51b815260040161088190612b30565b6000603d8281548110611fc757fe5b600091825260209091206006600890920201908101805460ff191660019081179091558101549091506001600160a01b0316612002816125d3565b61201e5760405162461bcd60e51b815260040161088190612aed565b60408051600481526024810182526020810180516001600160e01b03166306e60b1760e31b17905290516000916060916001600160a01b0385169161206291612987565b600060405180830381855af49150503d806000811461209d576040519150601f19603f3d011682016040523d82523d6000602084013e6120a2565b606091505b5091509150816120e5578051156120cd578060405162461bcd60e51b81526004016108819190612ada565b60405162461bcd60e51b815260040161088190613074565b60405185907f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f90600090a25050505050565b6001600160a01b0382166000908152603f6020526040902054811115610e3b576001600160a01b03919091166000908152603f6020526040902055565b600081848411156121785760405162461bcd60e51b81526004016108819190612ada565b505050900390565b6001600160a01b0383166000908152603b60205260408120546036548110156121bb5760405162461bcd60e51b815260040161088190612c8a565b6121c4846125d3565b6121e05760405162461bcd60e51b815260040161088190612ef5565b6001600160a01b0385166000908152603e6020526040902054801561225257600061220a82610a10565b9050600181600681111561221a57fe5b141580156122345750600081600681111561223157fe5b14155b6122505760405162461bcd60e51b815260040161088190612b7b565b505b60006122626037546108f0611b4b565b9050600061227b60385483611b2690919063ffffffff16565b90506122856125f9565b506040805161010080820183526001600160a01b03808c1683528a8116602084019081529383018681526060840186815260006080860181815260a0870182815260c0880183815260e08901848152603d80546001810182559086528a5160089091027fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc381018054928b166001600160a01b03199384161790559b517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc48d01805491909a1691161790975594517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc58a015592517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc6890155517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc788015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc887015590517fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc990950180549251151590930261ff001995151560ff199093169290921794909416179055906124376114d3565b82516001600160a01b03166000908152603e60205260409020819055603354603454603a54929350612479928d92611a919290916108f0919082908a90611b26565b896001600160a01b0316817f90ec05050aa23d54ba425e926fe646c318e85825bc400b13a46010abe86eb2f08b87878d6040516124b99493929190612a7b565b60405180910390a39998505050505050505050565b6040805490516323b872dd60e01b81526001600160a01b03909116906323b872dd906125229085907f00000000000000000000000000000000000000000000000000000000000000009086906004016129d0565b602060405180830381600087803b15801561253c57600080fd5b505af1158015612550573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061257491906128cc565b6125905760405162461bcd60e51b815260040161088190612def565b6001600160a01b0382166000908152603b60205260409020546125b39082611b26565b6001600160a01b039092166000908152603b602052604090209190915550565b3b151590565b604080516060810182526000808252602082018190529181019190915290565b60405180610100016040528060006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000151581526020016000151581525090565b80356001600160a01b03811681146114cd57600080fd5b80356114cd8161316f565b600082601f830112612686578081fd5b813567ffffffffffffffff81111561269c578182fd5b6126af601f8201601f1916602001613107565b91508082528360208285010111156126c657600080fd5b8060208401602084013760009082016020015292915050565b6000602082840312156126f0578081fd5b6114ca8383612654565b60008060006060848603121561270e578182fd5b83356127198161315a565b925060208401356127298161315a565b9150604084013567ffffffffffffffff811115612744578182fd5b61275086828701612676565b9150509250925092565b6000806040838503121561276c578182fd5b82356127778161315a565b9150602083013567ffffffffffffffff811115612792578182fd5b61279e85828601612676565b9150509250929050565b60008060008060008060c087890312156127c0578182fd5b6127ca8888612654565b95506020870135945060408701359350606087013560ff811681146127ed578283fd5b9598949750929560808101359460a0909101359350915050565b60008060006060848603121561281b578283fd5b833567ffffffffffffffff80821115612832578485fd5b818601915086601f830112612845578485fd5b813581811115612853578586fd5b60209150818102612865838201613107565b8281528381019085850183870186018c101561287f57898afd5b8996505b848710156128a9576128958c82612654565b835260019690960195918501918501612883565b50975050505085013592506128c39050856040860161266b565b90509250925092565b6000602082840312156128dd578081fd5b81516114ca8161316f565b6000602082840312156128f9578081fd5b5035919050565b60008060408385031215612912578182fd5b823591506129238460208501612654565b90509250929050565b6000806040838503121561293e578182fd5b8235915060208301356129508161316f565b809150509250929050565b6000815180845261297381602086016020860161312e565b601f01601f19169290920160200192915050565b6000825161299981846020870161312e565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b03988916815296909716602087015260408601949094526060850192909252608084015260a0830152151560c082015290151560e08201526101000190565b6001600160a01b0397881681529590961660208601526040850193909352606084019190915260ff16608083015260a082015260c081019190915260e00190565b600060018060a01b038616825284602083015283604083015260806060830152612aa8608083018461295b565b9695505050505050565b901515815260200190565b90815260200190565b6020810160078310612ad457fe5b91905290565b6000602082526114ca602083018461295b565b60208082526023908201527f476f7665726e616e63653a3a657865637574653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602b908201527f476f7665726e616e63653a3a657865637574653a20696e76616c69642070726f60408201526a706f73616c20737461746560a81b606082015260800190565b60208082526055908201527f476f7665726e616e63653a3a70726f706f73653a206f6e65206c69766520707260408201527f6f706f73616c207065722070726f706f7365722c20666f756e6420616e20616c6060820152741c9958591e481858dd1a5d99481c1c9bdc1bdcd85b605a1b608082015260a00190565b60208082526027908201527f476f7665726e616e63653a3a5f63617374566f74653a20766f74696e672069736040820152660818db1bdcd95960ca1b606082015260800190565b6020808252602d908201527f476f7665726e616e63653a3a70726f706f73653a2070736575646f2d6578746560408201526c393730b610333ab731ba34b7b760991b606082015260800190565b6020808252603c908201527f476f7665726e616e63653a3a70726f706f73653a2070726f706f73657220766f60408201527f7465732062656c6f772070726f706f73616c207468726573686f6c6400000000606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526036908201527f476f7665726e616e63653a3a70726f706f73653a206d6574616d6f72706869636040820152750818dbdb9d1c9858dd1cc81b9bdd08185b1b1bddd95960521b606082015260800190565b60208082526024908201527f476f7665726e616e63653a20696e636f727265637420766f7465457874656e6460408201526354696d6560e01b606082015260800190565b6020808252601d908201527f476f7665726e616e63653a20746f6b656e7320617265206c6f636b6564000000604082015260600190565b60208082526019908201527f544f524e3a207472616e7366657246726f6d206661696c656400000000000000604082015260600190565b60208082526010908201526f43616e206e6f7420626520656d70747960801b604082015260600190565b60208082526018908201527f476f7665726e616e63653a20756e617574686f72697a65640000000000000000604082015260600190565b6020808252601d908201527f476f7665726e616e63653a20696e76616c69642064656c656761746565000000604082015260600190565b60208082526018908201527f476f7665726e616e63653a2062616c616e636520697320300000000000000000604082015260600190565b60208082526023908201527f476f7665726e616e63653a3a70726f706f73653a206e6f74206120636f6e74726040820152621858dd60ea1b606082015260800190565b6020808252602e908201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560408201526d195b881a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252600d908201526c6f6e6c79206d756c746973696760981b604082015260600190565b60208082526026908201527f476f7665726e616e63653a3a73746174653a20696e76616c69642070726f706f6040820152651cd85b081a5960d21b606082015260800190565b6020808252602a908201527f476f7665726e616e63653a20746f6b656e732061726520616c726561647920756040820152691b99195b1959d85d195960b21b606082015260800190565b6020808252601a908201527f476f7665726e616e63653a206e6f7420617574686f72697a6564000000000000604082015260600190565b60208082526019908201527f50726f706f73616c20657865637574696f6e206661696c656400000000000000604082015260600190565b60208082526019908201527f476f7665726e616e63653a20766f74656420616c726561647900000000000000604082015260600190565b8151151581526020808301511515908201526040918201519181019190915260600190565b60405181810167ffffffffffffffff8111828210171561312657600080fd5b604052919050565b60005b83811015613149578181015183820152602001613131565b838111156118ad5750506000910152565b6001600160a01b038116811461169f57600080fd5b801515811461169f57600080fdfea26469706673582212209ae80078297b488112cf4c0eaef3af85f34156332aa7d60065ce1ebb90ab93c264736f6c634300060c0033"; + +type GovernanceProposalStateUpgradeConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: GovernanceProposalStateUpgradeConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class GovernanceProposalStateUpgrade__factory extends ContractFactory { + constructor(...args: GovernanceProposalStateUpgradeConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + stakingRewardsAddress: AddressLike, + gasCompLogic: AddressLike, + userVaultAddress: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction( + stakingRewardsAddress, + gasCompLogic, + userVaultAddress, + overrides || {} + ); + } + override deploy( + stakingRewardsAddress: AddressLike, + gasCompLogic: AddressLike, + userVaultAddress: AddressLike, + overrides?: NonPayableOverrides & { from?: string } + ) { + return super.deploy( + stakingRewardsAddress, + gasCompLogic, + userVaultAddress, + overrides || {} + ) as Promise< + GovernanceProposalStateUpgrade & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect( + runner: ContractRunner | null + ): GovernanceProposalStateUpgrade__factory { + return super.connect(runner) as GovernanceProposalStateUpgrade__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): GovernanceProposalStateUpgradeInterface { + return new Interface(_abi) as GovernanceProposalStateUpgradeInterface; + } + static connect( + address: string, + runner?: ContractRunner | null + ): GovernanceProposalStateUpgrade { + return new Contract( + address, + _abi, + runner + ) as unknown as GovernanceProposalStateUpgrade; + } +} diff --git a/typechain-types/factories/contracts/Governance/v5-proposal-state-patch/index.ts b/typechain-types/factories/contracts/Governance/v5-proposal-state-patch/index.ts new file mode 100644 index 0000000..e86f89e --- /dev/null +++ b/typechain-types/factories/contracts/Governance/v5-proposal-state-patch/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { GovernanceProposalStateUpgrade__factory } from "./GovernanceProposalStateUpgrade__factory"; diff --git a/typechain-types/factories/contracts/index.ts b/typechain-types/factories/contracts/index.ts new file mode 100644 index 0000000..5bad996 --- /dev/null +++ b/typechain-types/factories/contracts/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as classic from "./Classic"; +export * as governance from "./Governance"; diff --git a/typechain-types/factories/index.ts b/typechain-types/factories/index.ts new file mode 100644 index 0000000..6ff9ace --- /dev/null +++ b/typechain-types/factories/index.ts @@ -0,0 +1,5 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as openzeppelin from "./@openzeppelin"; +export * as contracts from "./contracts"; diff --git a/typechain-types/hardhat.d.ts b/typechain-types/hardhat.d.ts new file mode 100644 index 0000000..4e64817 --- /dev/null +++ b/typechain-types/hardhat.d.ts @@ -0,0 +1,1989 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { ethers } from "ethers"; +import { + DeployContractOptions, + FactoryOptions, + HardhatEthersHelpers as HardhatEthersHelpersBase, +} from "@nomicfoundation/hardhat-ethers/types"; + +import * as Contracts from "."; + +declare module "hardhat/types/runtime" { + interface HardhatEthersHelpers extends HardhatEthersHelpersBase { + getContractFactory( + name: "Ownable", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "Proxy", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "TransparentUpgradeableProxy", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "UpgradeableProxy", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ERC20", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ERC20Burnable", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IERC20", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "Pausable", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IERC1155Errors", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IERC20Errors", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IERC721Errors", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ERC20", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IERC20Metadata", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IERC20", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "CTornado", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "Echoer", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ERC20Tornado", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ETHTornado", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IERC20", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IHasher", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "MerkleTreeWithHistory", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "BadRecipient", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ERC20Mock", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IDeployer", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ERC20Basic", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IUSDT", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "MerkleTreeWithHistoryMock", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IVerifier", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "Tornado", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ITornadoInstance", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "TornadoProxyLight", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "Verifier", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "AdminUpgradeableProxy", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "Aggregator", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "GovernanceAggregator", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IENSRegistry", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IENSResolver", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IRelayerRegistry", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "RelayerAggregator", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "Deployer", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IDeployer", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "FeeManager", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "GasCompensationVault", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "InstanceRegistry", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ITornadoRouter", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ITornadoInstance", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IERC20Decimals", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "LoopbackProxy", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IENS", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IFeeManager", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "RelayerRegistry", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "TestnetAdminProxy", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "TestnetFeeManager", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "TestnetGovernanceProxy", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "Airdrop", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ENS", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "EnsResolve", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "Resolver", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ERC20Permit", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "AirdropMock", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ENSMock", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "Timestamp", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "TORNMock", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "VestingMock", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "VoucherMock", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "TORN", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "Vesting", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "Voucher", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "TornadoRouter", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ITornadoGovernance", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ITornadoVault", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "TornadoStakingRewards", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "TornadoVault", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IUniswapV3Factory", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IUniswapV3Pool", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IUniswapV3PoolActions", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IUniswapV3PoolDerivedState", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IUniswapV3PoolEvents", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IUniswapV3PoolImmutables", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IUniswapV3PoolOwnerActions", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IUniswapV3PoolState", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "Configuration", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "Core", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "Delegation", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "Governance", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "Dummy", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "DummySecond", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "MockGovernance", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "Proposal", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IGovernance", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ProposalStateChangeGovernance", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IProxy", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "NewImplementation", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ProposalUpgrade", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "GasCompensator", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IGasCompensationVault", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "GovernanceGasUpgrade", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "GovernanceVaultUpgrade", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ITornadoVault", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "GovernanceStakingUpgrade", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ITornadoStakingRewards", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "AdminUpgradeableProxy", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "GovernanceExploitPatchUpgrade", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IMetamorphicContractFactory", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "InitialProposal", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "MaliciousProposal", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "PatchProposal", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "GovernanceProposalStateUpgrade", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + + getContractAt( + name: "Ownable", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "Proxy", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "TransparentUpgradeableProxy", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "UpgradeableProxy", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ERC20", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ERC20Burnable", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IERC20", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "Pausable", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IERC1155Errors", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IERC20Errors", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IERC721Errors", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ERC20", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IERC20Metadata", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IERC20", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "CTornado", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "Echoer", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ERC20Tornado", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ETHTornado", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IERC20", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IHasher", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "MerkleTreeWithHistory", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "BadRecipient", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ERC20Mock", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IDeployer", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ERC20Basic", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IUSDT", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "MerkleTreeWithHistoryMock", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IVerifier", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "Tornado", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ITornadoInstance", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "TornadoProxyLight", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "Verifier", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "AdminUpgradeableProxy", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "Aggregator", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "GovernanceAggregator", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IENSRegistry", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IENSResolver", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IRelayerRegistry", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "RelayerAggregator", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "Deployer", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IDeployer", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "FeeManager", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "GasCompensationVault", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "InstanceRegistry", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ITornadoRouter", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ITornadoInstance", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IERC20Decimals", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "LoopbackProxy", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IENS", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IFeeManager", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "RelayerRegistry", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "TestnetAdminProxy", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "TestnetFeeManager", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "TestnetGovernanceProxy", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "Airdrop", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ENS", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "EnsResolve", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "Resolver", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ERC20Permit", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "AirdropMock", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ENSMock", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "Timestamp", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "TORNMock", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "VestingMock", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "VoucherMock", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "TORN", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "Vesting", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "Voucher", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "TornadoRouter", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ITornadoGovernance", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ITornadoVault", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "TornadoStakingRewards", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "TornadoVault", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IUniswapV3Factory", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IUniswapV3Pool", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IUniswapV3PoolActions", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IUniswapV3PoolDerivedState", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IUniswapV3PoolEvents", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IUniswapV3PoolImmutables", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IUniswapV3PoolOwnerActions", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IUniswapV3PoolState", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "Configuration", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "Core", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "Delegation", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "Governance", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "Dummy", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "DummySecond", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "MockGovernance", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "Proposal", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IGovernance", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ProposalStateChangeGovernance", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IProxy", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "NewImplementation", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ProposalUpgrade", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "GasCompensator", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IGasCompensationVault", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "GovernanceGasUpgrade", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "GovernanceVaultUpgrade", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ITornadoVault", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "GovernanceStakingUpgrade", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ITornadoStakingRewards", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "AdminUpgradeableProxy", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "GovernanceExploitPatchUpgrade", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IMetamorphicContractFactory", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "InitialProposal", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "MaliciousProposal", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "PatchProposal", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "GovernanceProposalStateUpgrade", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + + deployContract( + name: "Ownable", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Proxy", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "TransparentUpgradeableProxy", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "UpgradeableProxy", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ERC20", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ERC20Burnable", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC20", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Pausable", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC1155Errors", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC20Errors", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC721Errors", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ERC20", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC20Metadata", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC20", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "CTornado", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Echoer", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ERC20Tornado", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ETHTornado", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC20", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IHasher", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "MerkleTreeWithHistory", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "BadRecipient", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ERC20Mock", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IDeployer", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ERC20Basic", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IUSDT", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "MerkleTreeWithHistoryMock", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IVerifier", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Tornado", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ITornadoInstance", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "TornadoProxyLight", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Verifier", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "AdminUpgradeableProxy", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Aggregator", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "GovernanceAggregator", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IENSRegistry", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IENSResolver", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IRelayerRegistry", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "RelayerAggregator", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Deployer", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IDeployer", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "FeeManager", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "GasCompensationVault", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "InstanceRegistry", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ITornadoRouter", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ITornadoInstance", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC20Decimals", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "LoopbackProxy", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IENS", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IFeeManager", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "RelayerRegistry", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "TestnetAdminProxy", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "TestnetFeeManager", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "TestnetGovernanceProxy", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Airdrop", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ENS", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "EnsResolve", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Resolver", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ERC20Permit", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "AirdropMock", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ENSMock", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Timestamp", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "TORNMock", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "VestingMock", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "VoucherMock", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "TORN", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Vesting", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Voucher", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "TornadoRouter", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ITornadoGovernance", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ITornadoVault", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "TornadoStakingRewards", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "TornadoVault", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IUniswapV3Factory", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IUniswapV3Pool", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IUniswapV3PoolActions", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IUniswapV3PoolDerivedState", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IUniswapV3PoolEvents", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IUniswapV3PoolImmutables", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IUniswapV3PoolOwnerActions", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IUniswapV3PoolState", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Configuration", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Core", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Delegation", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Governance", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Dummy", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "DummySecond", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "MockGovernance", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Proposal", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IGovernance", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ProposalStateChangeGovernance", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IProxy", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "NewImplementation", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ProposalUpgrade", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "GasCompensator", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IGasCompensationVault", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "GovernanceGasUpgrade", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "GovernanceVaultUpgrade", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ITornadoVault", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "GovernanceStakingUpgrade", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ITornadoStakingRewards", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "AdminUpgradeableProxy", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "GovernanceExploitPatchUpgrade", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IMetamorphicContractFactory", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "InitialProposal", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "MaliciousProposal", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "PatchProposal", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "GovernanceProposalStateUpgrade", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + + deployContract( + name: "Ownable", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Proxy", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "TransparentUpgradeableProxy", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "UpgradeableProxy", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ERC20", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ERC20Burnable", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC20", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Pausable", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC1155Errors", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC20Errors", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC721Errors", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ERC20", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC20Metadata", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC20", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "CTornado", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Echoer", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ERC20Tornado", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ETHTornado", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC20", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IHasher", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "MerkleTreeWithHistory", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "BadRecipient", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ERC20Mock", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IDeployer", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ERC20Basic", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IUSDT", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "MerkleTreeWithHistoryMock", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IVerifier", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Tornado", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ITornadoInstance", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "TornadoProxyLight", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Verifier", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "AdminUpgradeableProxy", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Aggregator", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "GovernanceAggregator", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IENSRegistry", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IENSResolver", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IRelayerRegistry", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "RelayerAggregator", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Deployer", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IDeployer", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "FeeManager", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "GasCompensationVault", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "InstanceRegistry", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ITornadoRouter", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ITornadoInstance", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC20Decimals", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "LoopbackProxy", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IENS", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IFeeManager", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "RelayerRegistry", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "TestnetAdminProxy", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "TestnetFeeManager", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "TestnetGovernanceProxy", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Airdrop", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ENS", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "EnsResolve", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Resolver", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ERC20Permit", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "AirdropMock", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ENSMock", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Timestamp", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "TORNMock", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "VestingMock", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "VoucherMock", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "TORN", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Vesting", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Voucher", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "TornadoRouter", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ITornadoGovernance", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ITornadoVault", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "TornadoStakingRewards", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "TornadoVault", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IUniswapV3Factory", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IUniswapV3Pool", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IUniswapV3PoolActions", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IUniswapV3PoolDerivedState", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IUniswapV3PoolEvents", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IUniswapV3PoolImmutables", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IUniswapV3PoolOwnerActions", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IUniswapV3PoolState", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Configuration", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Core", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Delegation", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Governance", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Dummy", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "DummySecond", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "MockGovernance", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Proposal", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IGovernance", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ProposalStateChangeGovernance", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IProxy", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "NewImplementation", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ProposalUpgrade", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "GasCompensator", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IGasCompensationVault", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "GovernanceGasUpgrade", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "GovernanceVaultUpgrade", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ITornadoVault", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "GovernanceStakingUpgrade", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ITornadoStakingRewards", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "AdminUpgradeableProxy", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "GovernanceExploitPatchUpgrade", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IMetamorphicContractFactory", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "InitialProposal", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "MaliciousProposal", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "PatchProposal", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "GovernanceProposalStateUpgrade", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + + // default types + getContractFactory( + name: string, + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + abi: any[], + bytecode: ethers.BytesLike, + signer?: ethers.Signer + ): Promise; + getContractAt( + nameOrAbi: string | any[], + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + deployContract( + name: string, + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: string, + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + } +} diff --git a/typechain-types/index.ts b/typechain-types/index.ts new file mode 100644 index 0000000..1ba8a7a --- /dev/null +++ b/typechain-types/index.ts @@ -0,0 +1,210 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as openzeppelin from "./@openzeppelin"; +export type { openzeppelin }; +import type * as contracts from "./contracts"; +export type { contracts }; +export * as factories from "./factories"; +export type { Ownable } from "./@openzeppelin/contracts-v3/access/Ownable"; +export { Ownable__factory } from "./factories/@openzeppelin/contracts-v3/access/Ownable__factory"; +export type { Proxy } from "./@openzeppelin/contracts-v3/proxy/Proxy"; +export { Proxy__factory } from "./factories/@openzeppelin/contracts-v3/proxy/Proxy__factory"; +export type { TransparentUpgradeableProxy } from "./@openzeppelin/contracts-v3/proxy/TransparentUpgradeableProxy"; +export { TransparentUpgradeableProxy__factory } from "./factories/@openzeppelin/contracts-v3/proxy/TransparentUpgradeableProxy__factory"; +export type { UpgradeableProxy } from "./@openzeppelin/contracts-v3/proxy/UpgradeableProxy"; +export { UpgradeableProxy__factory } from "./factories/@openzeppelin/contracts-v3/proxy/UpgradeableProxy__factory"; +export type { ERC20 } from "./@openzeppelin/contracts-v3/token/ERC20/ERC20"; +export { ERC20__factory } from "./factories/@openzeppelin/contracts-v3/token/ERC20/ERC20__factory"; +export type { ERC20Burnable } from "./@openzeppelin/contracts-v3/token/ERC20/ERC20Burnable"; +export { ERC20Burnable__factory } from "./factories/@openzeppelin/contracts-v3/token/ERC20/ERC20Burnable__factory"; +export type { IERC20 } from "./@openzeppelin/contracts-v3/token/ERC20/IERC20"; +export { IERC20__factory } from "./factories/@openzeppelin/contracts-v3/token/ERC20/IERC20__factory"; +export type { Pausable } from "./@openzeppelin/contracts-v3/utils/Pausable"; +export { Pausable__factory } from "./factories/@openzeppelin/contracts-v3/utils/Pausable__factory"; +export type { IERC1155Errors } from "./@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors"; +export { IERC1155Errors__factory } from "./factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC1155Errors__factory"; +export type { IERC20Errors } from "./@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC20Errors"; +export { IERC20Errors__factory } from "./factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC20Errors__factory"; +export type { IERC721Errors } from "./@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC721Errors"; +export { IERC721Errors__factory } from "./factories/@openzeppelin/contracts/interfaces/draft-IERC6093.sol/IERC721Errors__factory"; +export type { IERC20Metadata } from "./@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata"; +export { IERC20Metadata__factory } from "./factories/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata__factory"; +export type { CTornado } from "./contracts/Classic/CTornado"; +export { CTornado__factory } from "./factories/contracts/Classic/CTornado__factory"; +export type { Echoer } from "./contracts/Classic/Echoer"; +export { Echoer__factory } from "./factories/contracts/Classic/Echoer__factory"; +export type { ERC20Tornado } from "./contracts/Classic/ERC20Tornado"; +export { ERC20Tornado__factory } from "./factories/contracts/Classic/ERC20Tornado__factory"; +export type { ETHTornado } from "./contracts/Classic/ETHTornado"; +export { ETHTornado__factory } from "./factories/contracts/Classic/ETHTornado__factory"; +export type { IHasher } from "./contracts/Classic/MerkleTreeWithHistory.sol/IHasher"; +export { IHasher__factory } from "./factories/contracts/Classic/MerkleTreeWithHistory.sol/IHasher__factory"; +export type { MerkleTreeWithHistory } from "./contracts/Classic/MerkleTreeWithHistory.sol/MerkleTreeWithHistory"; +export { MerkleTreeWithHistory__factory } from "./factories/contracts/Classic/MerkleTreeWithHistory.sol/MerkleTreeWithHistory__factory"; +export type { BadRecipient } from "./contracts/Classic/Mocks/BadRecipient"; +export { BadRecipient__factory } from "./factories/contracts/Classic/Mocks/BadRecipient__factory"; +export type { ERC20Mock } from "./contracts/Classic/Mocks/ERC20Mock"; +export { ERC20Mock__factory } from "./factories/contracts/Classic/Mocks/ERC20Mock__factory"; +export type { IDeployer } from "./contracts/Classic/Mocks/IDeployer"; +export { IDeployer__factory } from "./factories/contracts/Classic/Mocks/IDeployer__factory"; +export type { ERC20Basic } from "./contracts/Classic/Mocks/IUSDT.sol/ERC20Basic"; +export { ERC20Basic__factory } from "./factories/contracts/Classic/Mocks/IUSDT.sol/ERC20Basic__factory"; +export type { IUSDT } from "./contracts/Classic/Mocks/IUSDT.sol/IUSDT"; +export { IUSDT__factory } from "./factories/contracts/Classic/Mocks/IUSDT.sol/IUSDT__factory"; +export type { MerkleTreeWithHistoryMock } from "./contracts/Classic/Mocks/MerkleTreeWithHistoryMock"; +export { MerkleTreeWithHistoryMock__factory } from "./factories/contracts/Classic/Mocks/MerkleTreeWithHistoryMock__factory"; +export type { IVerifier } from "./contracts/Classic/Tornado.sol/IVerifier"; +export { IVerifier__factory } from "./factories/contracts/Classic/Tornado.sol/IVerifier__factory"; +export type { Tornado } from "./contracts/Classic/Tornado.sol/Tornado"; +export { Tornado__factory } from "./factories/contracts/Classic/Tornado.sol/Tornado__factory"; +export type { ITornadoInstance } from "./contracts/Classic/TornadoProxyLight.sol/ITornadoInstance"; +export { ITornadoInstance__factory } from "./factories/contracts/Classic/TornadoProxyLight.sol/ITornadoInstance__factory"; +export type { TornadoProxyLight } from "./contracts/Classic/TornadoProxyLight.sol/TornadoProxyLight"; +export { TornadoProxyLight__factory } from "./factories/contracts/Classic/TornadoProxyLight.sol/TornadoProxyLight__factory"; +export type { Verifier } from "./contracts/Classic/Verifier"; +export { Verifier__factory } from "./factories/contracts/Classic/Verifier__factory"; +export type { AdminUpgradeableProxy } from "./contracts/Governance/AdminUpgradeableProxy"; +export { AdminUpgradeableProxy__factory } from "./factories/contracts/Governance/AdminUpgradeableProxy__factory"; +export type { Aggregator } from "./contracts/Governance/Aggregator/Aggregator"; +export { Aggregator__factory } from "./factories/contracts/Governance/Aggregator/Aggregator__factory"; +export type { GovernanceAggregator } from "./contracts/Governance/Aggregator/GovernanceAggregator"; +export { GovernanceAggregator__factory } from "./factories/contracts/Governance/Aggregator/GovernanceAggregator__factory"; +export type { IENSRegistry } from "./contracts/Governance/Aggregator/RelayerAggregator.sol/IENSRegistry"; +export { IENSRegistry__factory } from "./factories/contracts/Governance/Aggregator/RelayerAggregator.sol/IENSRegistry__factory"; +export type { IENSResolver } from "./contracts/Governance/Aggregator/RelayerAggregator.sol/IENSResolver"; +export { IENSResolver__factory } from "./factories/contracts/Governance/Aggregator/RelayerAggregator.sol/IENSResolver__factory"; +export type { IRelayerRegistry } from "./contracts/Governance/Aggregator/RelayerAggregator.sol/IRelayerRegistry"; +export { IRelayerRegistry__factory } from "./factories/contracts/Governance/Aggregator/RelayerAggregator.sol/IRelayerRegistry__factory"; +export type { RelayerAggregator } from "./contracts/Governance/Aggregator/RelayerAggregator.sol/RelayerAggregator"; +export { RelayerAggregator__factory } from "./factories/contracts/Governance/Aggregator/RelayerAggregator.sol/RelayerAggregator__factory"; +export type { Deployer } from "./contracts/Governance/Deployer.sol/Deployer"; +export { Deployer__factory } from "./factories/contracts/Governance/Deployer.sol/Deployer__factory"; +export type { FeeManager } from "./contracts/Governance/FeeManager"; +export { FeeManager__factory } from "./factories/contracts/Governance/FeeManager__factory"; +export type { GasCompensationVault } from "./contracts/Governance/GasCompensationVault"; +export { GasCompensationVault__factory } from "./factories/contracts/Governance/GasCompensationVault__factory"; +export type { InstanceRegistry } from "./contracts/Governance/InstanceRegistry.sol/InstanceRegistry"; +export { InstanceRegistry__factory } from "./factories/contracts/Governance/InstanceRegistry.sol/InstanceRegistry__factory"; +export type { ITornadoRouter } from "./contracts/Governance/InstanceRegistry.sol/ITornadoRouter"; +export { ITornadoRouter__factory } from "./factories/contracts/Governance/InstanceRegistry.sol/ITornadoRouter__factory"; +export type { IERC20Decimals } from "./contracts/Governance/libraries/UniswapV3OracleHelper.sol/IERC20Decimals"; +export { IERC20Decimals__factory } from "./factories/contracts/Governance/libraries/UniswapV3OracleHelper.sol/IERC20Decimals__factory"; +export type { LoopbackProxy } from "./contracts/Governance/LoopbackProxy"; +export { LoopbackProxy__factory } from "./factories/contracts/Governance/LoopbackProxy__factory"; +export type { IENS } from "./contracts/Governance/RelayerRegistry.sol/IENS"; +export { IENS__factory } from "./factories/contracts/Governance/RelayerRegistry.sol/IENS__factory"; +export type { IFeeManager } from "./contracts/Governance/RelayerRegistry.sol/IFeeManager"; +export { IFeeManager__factory } from "./factories/contracts/Governance/RelayerRegistry.sol/IFeeManager__factory"; +export type { RelayerRegistry } from "./contracts/Governance/RelayerRegistry.sol/RelayerRegistry"; +export { RelayerRegistry__factory } from "./factories/contracts/Governance/RelayerRegistry.sol/RelayerRegistry__factory"; +export type { TestnetAdminProxy } from "./contracts/Governance/Testnet/TestnetAdminProxy"; +export { TestnetAdminProxy__factory } from "./factories/contracts/Governance/Testnet/TestnetAdminProxy__factory"; +export type { TestnetFeeManager } from "./contracts/Governance/Testnet/TestnetFeeManager"; +export { TestnetFeeManager__factory } from "./factories/contracts/Governance/Testnet/TestnetFeeManager__factory"; +export type { TestnetGovernanceProxy } from "./contracts/Governance/Testnet/TestnetGovernanceProxy"; +export { TestnetGovernanceProxy__factory } from "./factories/contracts/Governance/Testnet/TestnetGovernanceProxy__factory"; +export type { Airdrop } from "./contracts/Governance/TORN/Airdrop"; +export { Airdrop__factory } from "./factories/contracts/Governance/TORN/Airdrop__factory"; +export type { ENS } from "./contracts/Governance/TORN/ENS.sol/ENS"; +export { ENS__factory } from "./factories/contracts/Governance/TORN/ENS.sol/ENS__factory"; +export type { EnsResolve } from "./contracts/Governance/TORN/ENS.sol/EnsResolve"; +export { EnsResolve__factory } from "./factories/contracts/Governance/TORN/ENS.sol/EnsResolve__factory"; +export type { Resolver } from "./contracts/Governance/TORN/ENS.sol/Resolver"; +export { Resolver__factory } from "./factories/contracts/Governance/TORN/ENS.sol/Resolver__factory"; +export type { ERC20Permit } from "./contracts/Governance/TORN/ERC20Permit"; +export { ERC20Permit__factory } from "./factories/contracts/Governance/TORN/ERC20Permit__factory"; +export type { AirdropMock } from "./contracts/Governance/TORN/mocks/AirdropMock"; +export { AirdropMock__factory } from "./factories/contracts/Governance/TORN/mocks/AirdropMock__factory"; +export type { ENSMock } from "./contracts/Governance/TORN/mocks/ENSMock"; +export { ENSMock__factory } from "./factories/contracts/Governance/TORN/mocks/ENSMock__factory"; +export type { Timestamp } from "./contracts/Governance/TORN/mocks/Timestamp"; +export { Timestamp__factory } from "./factories/contracts/Governance/TORN/mocks/Timestamp__factory"; +export type { TORNMock } from "./contracts/Governance/TORN/mocks/TORNMock"; +export { TORNMock__factory } from "./factories/contracts/Governance/TORN/mocks/TORNMock__factory"; +export type { VestingMock } from "./contracts/Governance/TORN/mocks/VestingMock"; +export { VestingMock__factory } from "./factories/contracts/Governance/TORN/mocks/VestingMock__factory"; +export type { VoucherMock } from "./contracts/Governance/TORN/mocks/VoucherMock"; +export { VoucherMock__factory } from "./factories/contracts/Governance/TORN/mocks/VoucherMock__factory"; +export type { TORN } from "./contracts/Governance/TORN/TORN"; +export { TORN__factory } from "./factories/contracts/Governance/TORN/TORN__factory"; +export type { Vesting } from "./contracts/Governance/TORN/Vesting"; +export { Vesting__factory } from "./factories/contracts/Governance/TORN/Vesting__factory"; +export type { Voucher } from "./contracts/Governance/TORN/Voucher"; +export { Voucher__factory } from "./factories/contracts/Governance/TORN/Voucher__factory"; +export type { TornadoRouter } from "./contracts/Governance/TornadoRouter"; +export { TornadoRouter__factory } from "./factories/contracts/Governance/TornadoRouter__factory"; +export type { ITornadoGovernance } from "./contracts/Governance/TornadoStakingRewards.sol/ITornadoGovernance"; +export { ITornadoGovernance__factory } from "./factories/contracts/Governance/TornadoStakingRewards.sol/ITornadoGovernance__factory"; +export type { ITornadoVault } from "./contracts/Governance/TornadoStakingRewards.sol/ITornadoVault"; +export { ITornadoVault__factory } from "./factories/contracts/Governance/TornadoStakingRewards.sol/ITornadoVault__factory"; +export type { TornadoStakingRewards } from "./contracts/Governance/TornadoStakingRewards.sol/TornadoStakingRewards"; +export { TornadoStakingRewards__factory } from "./factories/contracts/Governance/TornadoStakingRewards.sol/TornadoStakingRewards__factory"; +export type { TornadoVault } from "./contracts/Governance/TornadoVault"; +export { TornadoVault__factory } from "./factories/contracts/Governance/TornadoVault__factory"; +export type { IUniswapV3Factory } from "./contracts/Governance/Uniswap/v3-core/contracts/interfaces/IUniswapV3Factory"; +export { IUniswapV3Factory__factory } from "./factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/IUniswapV3Factory__factory"; +export type { IUniswapV3Pool } from "./contracts/Governance/Uniswap/v3-core/contracts/interfaces/IUniswapV3Pool"; +export { IUniswapV3Pool__factory } from "./factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/IUniswapV3Pool__factory"; +export type { IUniswapV3PoolActions } from "./contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions"; +export { IUniswapV3PoolActions__factory } from "./factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions__factory"; +export type { IUniswapV3PoolDerivedState } from "./contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState"; +export { IUniswapV3PoolDerivedState__factory } from "./factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState__factory"; +export type { IUniswapV3PoolEvents } from "./contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents"; +export { IUniswapV3PoolEvents__factory } from "./factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents__factory"; +export type { IUniswapV3PoolImmutables } from "./contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables"; +export { IUniswapV3PoolImmutables__factory } from "./factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables__factory"; +export type { IUniswapV3PoolOwnerActions } from "./contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions"; +export { IUniswapV3PoolOwnerActions__factory } from "./factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions__factory"; +export type { IUniswapV3PoolState } from "./contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolState"; +export { IUniswapV3PoolState__factory } from "./factories/contracts/Governance/Uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolState__factory"; +export type { Configuration } from "./contracts/Governance/v1/Configuration"; +export { Configuration__factory } from "./factories/contracts/Governance/v1/Configuration__factory"; +export type { Core } from "./contracts/Governance/v1/Core"; +export { Core__factory } from "./factories/contracts/Governance/v1/Core__factory"; +export type { Delegation } from "./contracts/Governance/v1/Delegation"; +export { Delegation__factory } from "./factories/contracts/Governance/v1/Delegation__factory"; +export type { Governance } from "./contracts/Governance/v1/Governance"; +export { Governance__factory } from "./factories/contracts/Governance/v1/Governance__factory"; +export type { Dummy } from "./contracts/Governance/v1/Mocks/Dummy.sol/Dummy"; +export { Dummy__factory } from "./factories/contracts/Governance/v1/Mocks/Dummy.sol/Dummy__factory"; +export type { DummySecond } from "./contracts/Governance/v1/Mocks/Dummy.sol/DummySecond"; +export { DummySecond__factory } from "./factories/contracts/Governance/v1/Mocks/Dummy.sol/DummySecond__factory"; +export type { MockGovernance } from "./contracts/Governance/v1/Mocks/MockGovernance"; +export { MockGovernance__factory } from "./factories/contracts/Governance/v1/Mocks/MockGovernance__factory"; +export type { Proposal } from "./contracts/Governance/v1/Mocks/Proposal"; +export { Proposal__factory } from "./factories/contracts/Governance/v1/Mocks/Proposal__factory"; +export type { IGovernance } from "./contracts/Governance/v1/Mocks/ProposalStateChangeGovernance.sol/IGovernance"; +export { IGovernance__factory } from "./factories/contracts/Governance/v1/Mocks/ProposalStateChangeGovernance.sol/IGovernance__factory"; +export type { ProposalStateChangeGovernance } from "./contracts/Governance/v1/Mocks/ProposalStateChangeGovernance.sol/ProposalStateChangeGovernance"; +export { ProposalStateChangeGovernance__factory } from "./factories/contracts/Governance/v1/Mocks/ProposalStateChangeGovernance.sol/ProposalStateChangeGovernance__factory"; +export type { IProxy } from "./contracts/Governance/v1/Mocks/ProposalUpgrade.sol/IProxy"; +export { IProxy__factory } from "./factories/contracts/Governance/v1/Mocks/ProposalUpgrade.sol/IProxy__factory"; +export type { NewImplementation } from "./contracts/Governance/v1/Mocks/ProposalUpgrade.sol/NewImplementation"; +export { NewImplementation__factory } from "./factories/contracts/Governance/v1/Mocks/ProposalUpgrade.sol/NewImplementation__factory"; +export type { ProposalUpgrade } from "./contracts/Governance/v1/Mocks/ProposalUpgrade.sol/ProposalUpgrade"; +export { ProposalUpgrade__factory } from "./factories/contracts/Governance/v1/Mocks/ProposalUpgrade.sol/ProposalUpgrade__factory"; +export type { GasCompensator } from "./contracts/Governance/v2-vault-and-gas/GasCompensator.sol/GasCompensator"; +export { GasCompensator__factory } from "./factories/contracts/Governance/v2-vault-and-gas/GasCompensator.sol/GasCompensator__factory"; +export type { IGasCompensationVault } from "./contracts/Governance/v2-vault-and-gas/GasCompensator.sol/IGasCompensationVault"; +export { IGasCompensationVault__factory } from "./factories/contracts/Governance/v2-vault-and-gas/GasCompensator.sol/IGasCompensationVault__factory"; +export type { GovernanceGasUpgrade } from "./contracts/Governance/v2-vault-and-gas/GovernanceGasUpgrade"; +export { GovernanceGasUpgrade__factory } from "./factories/contracts/Governance/v2-vault-and-gas/GovernanceGasUpgrade__factory"; +export type { GovernanceVaultUpgrade } from "./contracts/Governance/v2-vault-and-gas/GovernanceVaultUpgrade"; +export { GovernanceVaultUpgrade__factory } from "./factories/contracts/Governance/v2-vault-and-gas/GovernanceVaultUpgrade__factory"; +export type { GovernanceStakingUpgrade } from "./contracts/Governance/v3-relayer-registry/GovernanceStakingUpgrade"; +export { GovernanceStakingUpgrade__factory } from "./factories/contracts/Governance/v3-relayer-registry/GovernanceStakingUpgrade__factory"; +export type { ITornadoStakingRewards } from "./contracts/Governance/v3-relayer-registry/interfaces/ITornadoStakingRewards"; +export { ITornadoStakingRewards__factory } from "./factories/contracts/Governance/v3-relayer-registry/interfaces/ITornadoStakingRewards__factory"; +export type { GovernanceExploitPatchUpgrade } from "./contracts/Governance/v4-exploit-patch/GovernanceExploitPatchUpgrade"; +export { GovernanceExploitPatchUpgrade__factory } from "./factories/contracts/Governance/v4-exploit-patch/GovernanceExploitPatchUpgrade__factory"; +export type { IMetamorphicContractFactory } from "./contracts/Governance/v4-exploit-patch/metamorphic/IMetamorphicContractFactory"; +export { IMetamorphicContractFactory__factory } from "./factories/contracts/Governance/v4-exploit-patch/metamorphic/IMetamorphicContractFactory__factory"; +export type { InitialProposal } from "./contracts/Governance/v4-exploit-patch/mock/MockProposals.sol/InitialProposal"; +export { InitialProposal__factory } from "./factories/contracts/Governance/v4-exploit-patch/mock/MockProposals.sol/InitialProposal__factory"; +export type { MaliciousProposal } from "./contracts/Governance/v4-exploit-patch/mock/MockProposals.sol/MaliciousProposal"; +export { MaliciousProposal__factory } from "./factories/contracts/Governance/v4-exploit-patch/mock/MockProposals.sol/MaliciousProposal__factory"; +export type { PatchProposal } from "./contracts/Governance/v4-exploit-patch/PatchProposal"; +export { PatchProposal__factory } from "./factories/contracts/Governance/v4-exploit-patch/PatchProposal__factory"; +export type { GovernanceProposalStateUpgrade } from "./contracts/Governance/v5-proposal-state-patch/GovernanceProposalStateUpgrade"; +export { GovernanceProposalStateUpgrade__factory } from "./factories/contracts/Governance/v5-proposal-state-patch/GovernanceProposalStateUpgrade__factory";