// This file was autogenerated by hardhat-viem, do not edit it. // prettier-ignore // tslint:disable // eslint-disable import type { Address } from "viem"; import type { AbiParameterToPrimitiveType, GetContractReturnType } from "@nomicfoundation/hardhat-viem/types"; import "@nomicfoundation/hardhat-viem/types"; export interface DepositBoxFactory$Type { "_format": "hh-sol-artifact-1", "contractName": "DepositBoxFactory", "sourceName": "contracts/deposit/DepositBoxFactory.sol", "abi": [ { "inputs": [ { "internalType": "address", "name": "beaconProxyCodeContract_", "type": "address" }, { "internalType": "address", "name": "depositBoxBeacon_", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "Create2EmptyBytecode", "type": "error" }, { "inputs": [], "name": "FailedDeployment", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "balance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "InsufficientBalance", "type": "error" }, { "inputs": [], "name": "BEACON_PROXY_CODE_CONTRACT", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "DEPOSIT_BOX_BEACON", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "DEPOSIT_BOX_CODE_HASH", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "uint32", "name": "boxId", "type": "uint32" } ], "name": "computeDepositBox", "outputs": [ { "internalType": "address", "name": "box", "type": "address" }, { "internalType": "bytes32", "name": "salt", "type": "bytes32" }, { "internalType": "bool", "name": "deployed", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "uint32", "name": "boxId", "type": "uint32" } ], "name": "deployDepositBox", "outputs": [ { "internalType": "contract IPDepositBox", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function" } ], "bytecode": "0x60e060405234801561000f575f5ffd5b5060405161066238038061066283398101604081905261002e916100de565b6001600160a01b03828116608081905290821660a052604080516020833b808301820190935282825290925f918401903c604080516001600160a01b0384166020820152808201919091525f606082015260800160408051601f19818403018152908290526100a09291602001610126565b60408051601f19818403018152919052805160209091012060c052506101429050565b80516001600160a01b03811681146100d9575f5ffd5b919050565b5f5f604083850312156100ef575f5ffd5b6100f8836100c3565b9150610106602084016100c3565b90509250929050565b5f81518060208401855e5f93019283525090919050565b5f61013a610134838661010f565b8461010f565b949350505050565b60805160a05160c0516104e461017e5f395f818160c901526102ea01525f8181605e01526101bf01525f818160a2015261016e01526104e45ff3fe608060405234801561000f575f5ffd5b5060043610610055575f3560e01c80631122f54e146100595780632d610bb01461009d5780635a3f0e6b146100c45780637f6bc3fd146100f9578063f22e9dd41461010c575b5f5ffd5b6100807f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6100807f000000000000000000000000000000000000000000000000000000000000000081565b6100eb7f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610094565b6100806101073660046103fe565b610146565b61011f61011a3660046103fe565b6102b6565b604080516001600160a01b0390941684526020840192909252151590820152606001610094565b5f5f5f5f61015486866102b6565b925092509250801561016b578293505050506102b0565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316803b806020016040519081016040528181525f908060200190933c604080516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166020820152808201919091525f606082015260800160408051601f1981840301815290829052610212929160200161045f565b6040516020818303038152906040529050836001600160a01b03166102385f8584610326565b6001600160a01b03161461024e5761024e61047b565b60405163c5e4c9f960e01b81526001600160a01b0385169063c5e4c9f99061027c908a908a9060040161048f565b5f604051808303815f87803b158015610293575f5ffd5b505af11580156102a5573d5f5f3e3d5ffd5b509596505050505050505b92915050565b5f5f5f84846040516020016102cc92919061048f565b60405160208183030381529060405280519060200120915061030e827f00000000000000000000000000000000000000000000000000000000000000006103c5565b92505f836001600160a01b03163b1190509250925092565b5f834710156103555760405163cf47918160e01b81524760048201526024810185905260440160405180910390fd5b81515f0361037657604051631328927760e21b815260040160405180910390fd5b8282516020840186f590503d151981151615610397576040513d5f823e3d81fd5b6001600160a01b0381166103be5760405163b06ebf3d60e01b815260040160405180910390fd5b9392505050565b5f6103be8383305f604051836040820152846020820152828152600b8101905060ff8153605590206001600160a01b0316949350505050565b5f5f6040838503121561040f575f5ffd5b82356001600160a01b0381168114610425575f5ffd5b9150602083013563ffffffff8116811461043d575f5ffd5b809150509250929050565b5f81518060208401855e5f93019283525090919050565b5f61047361046d8386610448565b84610448565b949350505050565b634e487b7160e01b5f52600160045260245ffd5b6001600160a01b0392909216825263ffffffff1660208201526040019056fea2646970667358221220a5eda91c81077368af2e514e825fd343cabfd5945926e07e0ebf1e16379b675864736f6c634300081c0033", "deployedBytecode": "0x608060405234801561000f575f5ffd5b5060043610610055575f3560e01c80631122f54e146100595780632d610bb01461009d5780635a3f0e6b146100c45780637f6bc3fd146100f9578063f22e9dd41461010c575b5f5ffd5b6100807f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6100807f000000000000000000000000000000000000000000000000000000000000000081565b6100eb7f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610094565b6100806101073660046103fe565b610146565b61011f61011a3660046103fe565b6102b6565b604080516001600160a01b0390941684526020840192909252151590820152606001610094565b5f5f5f5f61015486866102b6565b925092509250801561016b578293505050506102b0565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316803b806020016040519081016040528181525f908060200190933c604080516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166020820152808201919091525f606082015260800160408051601f1981840301815290829052610212929160200161045f565b6040516020818303038152906040529050836001600160a01b03166102385f8584610326565b6001600160a01b03161461024e5761024e61047b565b60405163c5e4c9f960e01b81526001600160a01b0385169063c5e4c9f99061027c908a908a9060040161048f565b5f604051808303815f87803b158015610293575f5ffd5b505af11580156102a5573d5f5f3e3d5ffd5b509596505050505050505b92915050565b5f5f5f84846040516020016102cc92919061048f565b60405160208183030381529060405280519060200120915061030e827f00000000000000000000000000000000000000000000000000000000000000006103c5565b92505f836001600160a01b03163b1190509250925092565b5f834710156103555760405163cf47918160e01b81524760048201526024810185905260440160405180910390fd5b81515f0361037657604051631328927760e21b815260040160405180910390fd5b8282516020840186f590503d151981151615610397576040513d5f823e3d81fd5b6001600160a01b0381166103be5760405163b06ebf3d60e01b815260040160405180910390fd5b9392505050565b5f6103be8383305f604051836040820152846020820152828152600b8101905060ff8153605590206001600160a01b0316949350505050565b5f5f6040838503121561040f575f5ffd5b82356001600160a01b0381168114610425575f5ffd5b9150602083013563ffffffff8116811461043d575f5ffd5b809150509250929050565b5f81518060208401855e5f93019283525090919050565b5f61047361046d8386610448565b84610448565b949350505050565b634e487b7160e01b5f52600160045260245ffd5b6001600160a01b0392909216825263ffffffff1660208201526040019056fea2646970667358221220a5eda91c81077368af2e514e825fd343cabfd5945926e07e0ebf1e16379b675864736f6c634300081c0033", "linkReferences": {}, "deployedLinkReferences": {} } declare module "@nomicfoundation/hardhat-viem/types" { export function deployContract( contractName: "DepositBoxFactory", constructorArgs: [beaconProxyCodeContract_: AbiParameterToPrimitiveType<{"name":"beaconProxyCodeContract_","type":"address"}>, depositBoxBeacon_: AbiParameterToPrimitiveType<{"name":"depositBoxBeacon_","type":"address"}>], config?: DeployContractConfig ): Promise>; export function deployContract( contractName: "contracts/deposit/DepositBoxFactory.sol:DepositBoxFactory", constructorArgs: [beaconProxyCodeContract_: AbiParameterToPrimitiveType<{"name":"beaconProxyCodeContract_","type":"address"}>, depositBoxBeacon_: AbiParameterToPrimitiveType<{"name":"depositBoxBeacon_","type":"address"}>], config?: DeployContractConfig ): Promise>; export function sendDeploymentTransaction( contractName: "DepositBoxFactory", constructorArgs: [beaconProxyCodeContract_: AbiParameterToPrimitiveType<{"name":"beaconProxyCodeContract_","type":"address"}>, depositBoxBeacon_: AbiParameterToPrimitiveType<{"name":"depositBoxBeacon_","type":"address"}>], config?: SendDeploymentTransactionConfig ): Promise<{ contract: GetContractReturnType; deploymentTransaction: GetTransactionReturnType; }>; export function sendDeploymentTransaction( contractName: "contracts/deposit/DepositBoxFactory.sol:DepositBoxFactory", constructorArgs: [beaconProxyCodeContract_: AbiParameterToPrimitiveType<{"name":"beaconProxyCodeContract_","type":"address"}>, depositBoxBeacon_: AbiParameterToPrimitiveType<{"name":"depositBoxBeacon_","type":"address"}>], config?: SendDeploymentTransactionConfig ): Promise<{ contract: GetContractReturnType; deploymentTransaction: GetTransactionReturnType; }>; export function getContractAt( contractName: "DepositBoxFactory", address: Address, config?: GetContractAtConfig ): Promise>; export function getContractAt( contractName: "contracts/deposit/DepositBoxFactory.sol:DepositBoxFactory", address: Address, config?: GetContractAtConfig ): Promise>; }