import { Signer, ContractFactory, Overrides } from "ethers"; import type { Provider, TransactionRequest } from "@ethersproject/providers"; import type { PromiseOrValue } from "../common"; import type { TokenTransferHook, TokenTransferHookInterface } from "../TokenTransferHook"; type TokenTransferHookConstructorParams = [signer?: Signer] | ConstructorParameters; export declare class TokenTransferHook__factory extends ContractFactory { constructor(...args: TokenTransferHookConstructorParams); deploy(_permit2: PromiseOrValue, _reactor: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; getDeployTransaction(_permit2: PromiseOrValue, _reactor: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): TransactionRequest; attach(address: string): TokenTransferHook; connect(signer: Signer): TokenTransferHook__factory; static readonly bytecode = "0x60c060405234801561000f575f5ffd5b50604051610a6b380380610a6b83398101604081905261002e9161005c565b6001600160a01b039182166080521660a052610094565b6001600160a01b0381168114610059575f5ffd5b50565b5f5f6040838503121561006d575f5ffd5b825161007881610045565b602084015190925061008981610045565b809150509250929050565b60805160a0516109ab6100c05f395f81816098015260e701525f81816048015261011501526109ab5ff3fe608060405234801561000f575f5ffd5b506004361061003f575f3560e01c806312261ee714610043578063ab57265014610093578063d8b61ded146100ba575b5f5ffd5b61006a7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61006a7f000000000000000000000000000000000000000000000000000000000000000081565b6100cd6100c83660046102fb565b6100cf565b005b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610110575f5ffd5b61013b7f0000000000000000000000000000000000000000000000000000000000000000828461013f565b5050565b73ffffffffffffffffffffffffffffffffffffffff831663137c29fe6101e6610167856106ab565b6040805160a0810182525f606082018181526080830182905282526020820181905291810191909152506040805160a081018252602080840180515173ffffffffffffffffffffffffffffffffffffffff1660608085019182529151850151608085015283528451840151918301919091529251909201519082015290565b610237846101f3876106ab565b906040805180820182525f808252602091820152815180830190925273ffffffffffffffffffffffffffffffffffffffff9092168152918101518101519082015290565b610241868061079e565b6102529060408101906020016107da565b60c08701356102656101008901896107fc565b61027260a08b018b6107fc565b6040518963ffffffff1660e01b81526004016102959897969594939291906108ab565b5f604051808303815f87803b1580156102ac575f5ffd5b505af11580156102be573d5f5f3e3d5ffd5b50505050505050565b73ffffffffffffffffffffffffffffffffffffffff811681146102e8575f5ffd5b50565b80356102f6816102c7565b919050565b5f5f6040838503121561030c575f5ffd5b8235610317816102c7565b9150602083013567ffffffffffffffff811115610332575f5ffd5b83016101208186031215610344575f5ffd5b809150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051610120810167ffffffffffffffff811182821017156103a0576103a061034f565b60405290565b6040516060810167ffffffffffffffff811182821017156103a0576103a061034f565b60405160e0810167ffffffffffffffff811182821017156103a0576103a061034f565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156104335761043361034f565b604052919050565b5f82601f83011261044a575f5ffd5b8135602083015f5f67ffffffffffffffff84111561046a5761046a61034f565b50601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200161049d816103ec565b9150508281528583830111156104b1575f5ffd5b828260208301375f92810160200192909252509392505050565b5f61012082840312156104dc575f5ffd5b6104e461037c565b90506104ef826102eb565b81526104fd602083016102eb565b60208201526040828101359082015260608083013590820152610522608083016102eb565b608082015260a082013567ffffffffffffffff811115610540575f5ffd5b61054c8482850161043b565b60a08301525061055e60c083016102eb565b60c082015260e082013567ffffffffffffffff81111561057c575f5ffd5b6105888482850161043b565b60e08301525061059b61010083016102eb565b61010082015292915050565b5f606082840312156105b7575f5ffd5b6105bf6103a6565b905081356105cc816102c7565b81526020828101359082015260409182013591810191909152919050565b5f82601f8301126105f9575f5ffd5b813567ffffffffffffffff8111156106135761061361034f565b61062260208260051b016103ec565b80828252602082019150602060608402860101925085831115610643575f5ffd5b602085015b838110156106a1576060818803121561065f575f5ffd5b6106676103a6565b8135610672816102c7565b815260208281013590820152604082013561068c816102c7565b60408201528352602090920191606001610648565b5095945050505050565b5f61012082360312156106bc575f5ffd5b6106c46103c9565b823567ffffffffffffffff8111156106da575f5ffd5b6106e6368286016104cb565b8252506106f636602085016105a7565b6020820152608083013567ffffffffffffffff811115610714575f5ffd5b610720368286016105ea565b60408301525060a083013567ffffffffffffffff81111561073f575f5ffd5b61074b3682860161043b565b60608301525060c0830135608082015261076760e084016102eb565b60a082015261010083013567ffffffffffffffff811115610786575f5ffd5b6107923682860161043b565b60c08301525092915050565b5f82357ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee18336030181126107d0575f5ffd5b9190910192915050565b5f602082840312156107ea575f5ffd5b81356107f5816102c7565b9392505050565b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261082f575f5ffd5b83018035915067ffffffffffffffff821115610849575f5ffd5b60200191503681900382131561085d575f5ffd5b9250929050565b81835281816020850137505f602082840101525f60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b6108d6818a51805173ffffffffffffffffffffffffffffffffffffffff168252602090810151910152565b60208901516040820152604089015160608201526109176080820189805173ffffffffffffffffffffffffffffffffffffffff168252602090810151910152565b73ffffffffffffffffffffffffffffffffffffffff871660c08201528560e08201526101406101008201525f61095261014083018688610864565b828103610120840152610966818587610864565b9b9a505050505050505050505056fea2646970667358221220ac86a9fb1aa36b2fedaa0319a9bf6d136ef217d64259172d5eac989dcf75e33864736f6c634300081e0033"; static readonly abi: readonly [{ readonly type: "constructor"; readonly inputs: readonly [{ readonly name: "_permit2"; readonly type: "address"; readonly internalType: "contract IPermit2"; }, { readonly name: "_reactor"; readonly type: "address"; readonly internalType: "contract IReactor"; }]; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "permit2"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; readonly internalType: "contract IPermit2"; }]; readonly stateMutability: "view"; }, { readonly type: "function"; readonly name: "preExecutionHook"; readonly inputs: readonly [{ readonly name: "filler"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "resolvedOrder"; readonly type: "tuple"; readonly internalType: "struct ResolvedOrder"; readonly components: readonly [{ readonly name: "info"; readonly type: "tuple"; readonly internalType: "struct OrderInfo"; readonly components: readonly [{ readonly name: "reactor"; readonly type: "address"; readonly internalType: "contract IReactor"; }, { readonly name: "swapper"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "nonce"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "deadline"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "preExecutionHook"; readonly type: "address"; readonly internalType: "contract IPreExecutionHook"; }, { readonly name: "preExecutionHookData"; readonly type: "bytes"; readonly internalType: "bytes"; }, { readonly name: "postExecutionHook"; readonly type: "address"; readonly internalType: "contract IPostExecutionHook"; }, { readonly name: "postExecutionHookData"; readonly type: "bytes"; readonly internalType: "bytes"; }, { readonly name: "auctionResolver"; readonly type: "address"; readonly internalType: "contract IAuctionResolver"; }]; }, { readonly name: "input"; readonly type: "tuple"; readonly internalType: "struct InputToken"; readonly components: readonly [{ readonly name: "token"; readonly type: "address"; readonly internalType: "contract ERC20"; }, { readonly name: "amount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "maxAmount"; readonly type: "uint256"; readonly internalType: "uint256"; }]; }, { readonly name: "outputs"; readonly type: "tuple[]"; readonly internalType: "struct OutputToken[]"; readonly components: readonly [{ readonly name: "token"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "amount"; readonly type: "uint256"; readonly internalType: "uint256"; }, { readonly name: "recipient"; readonly type: "address"; readonly internalType: "address"; }]; }, { readonly name: "sig"; readonly type: "bytes"; readonly internalType: "bytes"; }, { readonly name: "hash"; readonly type: "bytes32"; readonly internalType: "bytes32"; }, { readonly name: "auctionResolver"; readonly type: "address"; readonly internalType: "address"; }, { readonly name: "witnessTypeString"; readonly type: "string"; readonly internalType: "string"; }]; }]; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; }, { readonly type: "function"; readonly name: "reactor"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly name: ""; readonly type: "address"; readonly internalType: "contract IReactor"; }]; readonly stateMutability: "view"; }]; static createInterface(): TokenTransferHookInterface; static connect(address: string, signerOrProvider: Signer | Provider): TokenTransferHook; } export {};