@ensuro/account-abstraction
Version:
ERC-4337 related contracts by the Ensuro Team
27 lines (25 loc) • 30.7 kB
TypeScript
// This file was autogenerated by Hardhat, do not edit it.
// prettier-ignore
// tslint:disable
// eslint-disable
// biome-ignore format: see above
export interface ERC2771ForwarderAccount$Type {
readonly _format: "hh3-artifact-1";
readonly contractName: "ERC2771ForwarderAccount";
readonly sourceName: "contracts/ERC2771ForwarderAccount.sol";
readonly abi: [{"inputs":[{"internalType":"contract IEntryPoint","name":"anEntryPoint","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[],"name":"ECDSAInvalidSignature","type":"error"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"name":"ECDSAInvalidSignatureLength","type":"error"},{"inputs":[{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"ECDSAInvalidSignatureS","type":"error"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"name":"ERC1967InvalidImplementation","type":"error"},{"inputs":[],"name":"ERC1967NonPayable","type":"error"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"bytes","name":"error","type":"bytes"}],"name":"ExecuteError","type":"error"},{"inputs":[],"name":"FailedCall","type":"error"},{"inputs":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"name":"InsufficientBalance","type":"error"},{"inputs":[],"name":"InvalidCall","type":"error"},{"inputs":[{"internalType":"contract ERC2771Context","name":"target","type":"address"},{"internalType":"address","name":"signer","type":"address"}],"name":"InvalidTarget","type":"error"},{"inputs":[{"internalType":"bytes4","name":"selector","type":"bytes4"}],"name":"MethodNotSupported","type":"error"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"name":"RequiredEntryPointOrExecutor","type":"error"},{"inputs":[],"name":"UUPSUnauthorizedCallContext","type":"error"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"name":"UUPSUnsupportedProxiableUUID","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"executor","type":"address"},{"indexed":true,"internalType":"contract ERC2771Context","name":"target","type":"address"}],"name":"ExecutorAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"executor","type":"address"}],"name":"ExecutorRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"inputs":[],"name":"UPGRADE_INTERFACE_VERSION","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addDeposit","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"executor","type":"address"},{"internalType":"contract ERC2771Context","name":"target","type":"address"}],"name":"addExecutor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"entryPoint","outputs":[{"internalType":"contract IEntryPoint","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"caller","type":"address"},{"internalType":"address","name":"target","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"func","type":"bytes"}],"name":"erc2771Forward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"execute","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"internalType":"struct BaseAccount.Call[]","name":"","type":"tuple[]"}],"name":"executeBatch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"bytes","name":"initCode","type":"bytes"},{"internalType":"bytes","name":"callData","type":"bytes"},{"internalType":"bytes32","name":"accountGasLimits","type":"bytes32"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"bytes32","name":"gasFees","type":"bytes32"},{"internalType":"bytes","name":"paymasterAndData","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}],"internalType":"struct PackedUserOperation","name":"userOp","type":"tuple"},{"internalType":"bytes32","name":"userOpHash","type":"bytes32"}],"name":"executeUserOp","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getDeposit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"executor","type":"address"}],"name":"removeExecutor","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":[{"components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"bytes","name":"initCode","type":"bytes"},{"internalType":"bytes","name":"callData","type":"bytes"},{"internalType":"bytes32","name":"accountGasLimits","type":"bytes32"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"bytes32","name":"gasFees","type":"bytes32"},{"internalType":"bytes","name":"paymasterAndData","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}],"internalType":"struct PackedUserOperation","name":"userOp","type":"tuple"},{"internalType":"bytes32","name":"userOpHash","type":"bytes32"},{"internalType":"uint256","name":"missingAccountFunds","type":"uint256"}],"name":"validateUserOp","outputs":[{"internalType":"uint256","name":"validationData","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"withdrawAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawDepositTo","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}];
readonly bytecode: "0x60c060405230608052348015610013575f5ffd5b5060405161166d38038061166d83398101604081905261003291610043565b6001600160a01b031660a052610070565b5f60208284031215610053575f5ffd5b81516001600160a01b0381168114610069575f5ffd5b9392505050565b60805160a0516115ab6100c25f395f818161027b0152818161039901528181610415015281816105ea0152818161067f01526106b901525f81816107c8015281816107f1015261092d01526115ab5ff3fe6080604052600436106100f2575f3560e01c80638129fc1c11610087578063b0d691fe11610057578063b0d691fe14610262578063b61d27f6146102a5578063c399ec88146102bf578063d087d288146102d3575f5ffd5b80638129fc1c146101dc57806381a30acd146101e75780638dd7712f14610206578063ad3cb1cc14610225575f5ffd5b80634d44560d116100c25780634d44560d146101775780634f1ef2861461019657806352d1902d146101a95780636267e759146101bd575f5ffd5b806319822f7c146100fd578063247884291461012f57806334fcd5be146101505780634a58db191461016f575f5ffd5b366100f957005b5f5ffd5b348015610108575f5ffd5b5061011c610117366004611014565b6102e7565b6040519081526020015b60405180910390f35b34801561013a575f5ffd5b5061014e610149366004611072565b61030c565b005b34801561015b575f5ffd5b5061014e61016a36600461108d565b61037e565b61014e610397565b348015610182575f5ffd5b5061014e6101913660046110fe565b610413565b61014e6101a43660046111c7565b610497565b3480156101b4575f5ffd5b5061011c6104ad565b3480156101c8575f5ffd5b5061014e6101d7366004611214565b6104c8565b34801561014e575f5ffd5b3480156101f2575f5ffd5b5061014e610201366004611290565b610545565b348015610211575f5ffd5b5061014e6102203660046112fe565b61057b565b348015610230575f5ffd5b50610255604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516101269190611340565b34801561026d575f5ffd5b506040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152602001610126565b3480156102b0575f5ffd5b5061014e61016a366004611375565b3480156102ca575f5ffd5b5061011c6105cb565b3480156102de575f5ffd5b5061011c610659565b5f6102f06106ae565b6102fa848461072b565b905061030582610778565b9392505050565b6001600160a01b0381165f8181527f32800a8a254400b8b55434a22b827759dcb96a572133b419f26b7155e38430006020819052604080832080546001600160a01b0319169055519092917f4a2cf608bfb427f53279ec7f0eadf48913b9346ccefc3af138dbdec14ea0907d91a25050565b60405163574b16a760e11b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000060405163b760faf960e01b81523060048201526001600160a01b03919091169063b760faf99034906024015f604051808303818588803b1580156103fa575f5ffd5b505af115801561040c573d5f5f3e3d5ffd5b5050505050565b7f000000000000000000000000000000000000000000000000000000000000000060405163040b850f60e31b81526001600160a01b03848116600483015260248201849052919091169063205c2878906044015f604051808303815f87803b15801561047d575f5ffd5b505af115801561048f573d5f5f3e3d5ffd5b505050505050565b61049f6107bd565b6104a98282610861565b5050565b5f6104b6610922565b505f5160206115565f395f51905f5290565b6001600160a01b038281165f8181527f32800a8a254400b8b55434a22b827759dcb96a572133b419f26b7155e38430006020819052604080832080546001600160a01b031916958716958617905551909392917f8a39fc6d5142759acd84b3e96ccde9187266ecb0df56c8ff08bf2aedc7c93c4791a3505050565b565b61054d6106ae565b61048f84838388604051602001610566939291906113cd565b6040516020818303038152906040528561096b565b6105836106ae565b5f5f61058f8484610a37565b509150915061040c815f01518260400151846040516020016105b29291906113f3565b604051602081830303815290604052836020015161096b565b6040516370a0823160e01b81523060048201525f906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a08231906024015b602060405180830381865afa158015610630573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106549190611422565b905090565b604051631aab3f0d60e11b81523060048201525f60248201819052906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906335567e1a90604401610615565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105435760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20456e747279506f696e740000000060448201526064015b60405180910390fd5b5f5f5f6107388585610a37565b50915091505f6107488686610b88565b90506107588184845f0151610c09565b610768576001935050505061076f565b5f93505050505b92915050565b50565b8015610775576040515f90339083908381818185875af1925050503d805f811461040c576040519150601f19603f3d011682016040523d82523d5f602084013e61040c565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061084357507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108375f5160206115565f395f51905f52546001600160a01b031690565b6001600160a01b031614155b156105435760405163703e46dd60e11b815260040160405180910390fd5b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156108bb575060408051601f3d908101601f191682019092526108b891810190611422565b60015b6108e357604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610722565b5f5160206115565f395f51905f52811461091357604051632a87526960e21b815260048101829052602401610722565b61091d8383610c6a565b505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105435760405163703e46dd60e11b815260040160405180910390fd5b6060814710156109975760405163cf47918160e01b815247600482015260248101839052604401610722565b5f6109a3858486610cbf565b90508080156109c457505f3d11806109c457505f856001600160a01b03163b115b156109d9576109d1610cd4565b915050610305565b8015610a0357604051639996b31560e01b81526001600160a01b0386166004820152602401610722565b3d15610a1657610a11610ced565b610a2f565b60405163d6bda27560e01b815260040160405180910390fd5b509392505050565b60408051606080820183525f80835260208301819052928201525f6084610a616060870187611439565b90501015610a825760405163574b16a760e11b815260040160405180910390fd5b610a8f6060860186611439565b610a9d916004915f9161147c565b610aa6916114a3565b90506001600160e01b03198116638dd7712f60e01b14801590610ada57506001600160e01b031981166381a30acd60e01b14155b15610b045760405163c610096760e01b81526001600160e01b031982166004820152602401610722565b610b116060860186611439565b610b1f91600490829061147c565b810190610b2c91906114d9565b604086015260208501526001600160a01b0316808452909350610b81578151610b558686610b88565b60405163f252a21160e01b81526001600160a01b03928316600482015291166024820152604401610722565b9250925092565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000005f908152601c829052603c8120610c0181610bc8610100870187611439565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250610cf892505050565b949350505050565b5f7f32800a8a254400b8b55434a22b827759dcb96a572133b419f26b7155e38430006001600160a01b03858116908516148015610c6157506001600160a01b038581165f908152602083905260409020548116908416145b95945050505050565b610c7382610d20565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a2805115610cb75761091d8282610d83565b6104a9610e05565b5f5f5f83516020850186885af1949350505050565b6040513d81523d5f602083013e3d602001810160405290565b6040513d5f823e3d81fd5b5f5f5f5f610d068686610e24565b925092509250610d168282610e6a565b5090949350505050565b806001600160a01b03163b5f03610d5557604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610722565b5f5160206115565f395f51905f5280546001600160a01b0319166001600160a01b0392909216919091179055565b60605f610d908484610f22565b9050808015610db157505f3d1180610db157505f846001600160a01b03163b115b15610dc657610dbe610cd4565b91505061076f565b8015610df057604051639996b31560e01b81526001600160a01b0385166004820152602401610722565b3d15610a1657610dfe610ced565b5092915050565b34156105435760405163b398979f60e01b815260040160405180910390fd5b5f5f5f8351604103610e5b576020840151604085015160608601515f1a610e4d88828585610f35565b955095509550505050610b81565b505081515f9150600290610b81565b5f826003811115610e7d57610e7d611541565b03610e86575050565b6001826003811115610e9a57610e9a611541565b03610eb85760405163f645eedf60e01b815260040160405180910390fd5b6002826003811115610ecc57610ecc611541565b03610eed5760405163fce698f760e01b815260048101829052602401610722565b6003826003811115610f0157610f01611541565b036104a9576040516335e2f38360e21b815260048101829052602401610722565b5f5f5f835160208501865af49392505050565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115610f6e57505f91506003905082610ff3565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015610fbf573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b038116610fea57505f925060019150829050610ff3565b92505f91508190505b9450945094915050565b5f610120828403121561100e575f5ffd5b50919050565b5f5f5f60608486031215611026575f5ffd5b833567ffffffffffffffff81111561103c575f5ffd5b61104886828701610ffd565b9660208601359650604090950135949350505050565b6001600160a01b0381168114610775575f5ffd5b5f60208284031215611082575f5ffd5b81356103058161105e565b5f5f6020838503121561109e575f5ffd5b823567ffffffffffffffff8111156110b4575f5ffd5b8301601f810185136110c4575f5ffd5b803567ffffffffffffffff8111156110da575f5ffd5b8560208260051b84010111156110ee575f5ffd5b6020919091019590945092505050565b5f5f6040838503121561110f575f5ffd5b823561111a8161105e565b946020939093013593505050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f83011261114b575f5ffd5b813567ffffffffffffffff81111561116557611165611128565b604051601f8201601f19908116603f0116810167ffffffffffffffff8111828210171561119457611194611128565b6040528181528382016020018510156111ab575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f604083850312156111d8575f5ffd5b82356111e38161105e565b9150602083013567ffffffffffffffff8111156111fe575f5ffd5b61120a8582860161113c565b9150509250929050565b5f5f60408385031215611225575f5ffd5b82356112308161105e565b915060208301356112408161105e565b809150509250929050565b5f5f83601f84011261125b575f5ffd5b50813567ffffffffffffffff811115611272575f5ffd5b602083019150836020828501011115611289575f5ffd5b9250929050565b5f5f5f5f5f608086880312156112a4575f5ffd5b85356112af8161105e565b945060208601356112bf8161105e565b935060408601359250606086013567ffffffffffffffff8111156112e1575f5ffd5b6112ed8882890161124b565b969995985093965092949392505050565b5f5f6040838503121561130f575f5ffd5b823567ffffffffffffffff811115611325575f5ffd5b61133185828601610ffd565b95602094909401359450505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f5f5f5f60608587031215611388575f5ffd5b84356113938161105e565b935060208501359250604085013567ffffffffffffffff8111156113b5575f5ffd5b6113c18782880161124b565b95989497509550505050565b8284823760609190911b6bffffffffffffffffffffffff19169101908152601401919050565b5f83518060208601845e60609390931b6bffffffffffffffffffffffff19169190920190815260140192915050565b5f60208284031215611432575f5ffd5b5051919050565b5f5f8335601e1984360301811261144e575f5ffd5b83018035915067ffffffffffffffff821115611468575f5ffd5b602001915036819003821315611289575f5ffd5b5f5f8585111561148a575f5ffd5b83861115611496575f5ffd5b5050820193919092039150565b80356001600160e01b03198116906004841015610dfe576001600160e01b031960049490940360031b84901b1690921692915050565b5f5f5f5f608085870312156114ec575f5ffd5b84356114f78161105e565b935060208501356115078161105e565b925060408501359150606085013567ffffffffffffffff811115611529575f5ffd5b6115358782880161113c565b91505092959194509250565b634e487b7160e01b5f52602160045260245ffdfe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220925fe411a74f721c53058a316afb80f3ef094898def53447db92437f185df9ba64736f6c634300081e0033";
readonly deployedBytecode: "0x6080604052600436106100f2575f3560e01c80638129fc1c11610087578063b0d691fe11610057578063b0d691fe14610262578063b61d27f6146102a5578063c399ec88146102bf578063d087d288146102d3575f5ffd5b80638129fc1c146101dc57806381a30acd146101e75780638dd7712f14610206578063ad3cb1cc14610225575f5ffd5b80634d44560d116100c25780634d44560d146101775780634f1ef2861461019657806352d1902d146101a95780636267e759146101bd575f5ffd5b806319822f7c146100fd578063247884291461012f57806334fcd5be146101505780634a58db191461016f575f5ffd5b366100f957005b5f5ffd5b348015610108575f5ffd5b5061011c610117366004611014565b6102e7565b6040519081526020015b60405180910390f35b34801561013a575f5ffd5b5061014e610149366004611072565b61030c565b005b34801561015b575f5ffd5b5061014e61016a36600461108d565b61037e565b61014e610397565b348015610182575f5ffd5b5061014e6101913660046110fe565b610413565b61014e6101a43660046111c7565b610497565b3480156101b4575f5ffd5b5061011c6104ad565b3480156101c8575f5ffd5b5061014e6101d7366004611214565b6104c8565b34801561014e575f5ffd5b3480156101f2575f5ffd5b5061014e610201366004611290565b610545565b348015610211575f5ffd5b5061014e6102203660046112fe565b61057b565b348015610230575f5ffd5b50610255604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516101269190611340565b34801561026d575f5ffd5b506040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152602001610126565b3480156102b0575f5ffd5b5061014e61016a366004611375565b3480156102ca575f5ffd5b5061011c6105cb565b3480156102de575f5ffd5b5061011c610659565b5f6102f06106ae565b6102fa848461072b565b905061030582610778565b9392505050565b6001600160a01b0381165f8181527f32800a8a254400b8b55434a22b827759dcb96a572133b419f26b7155e38430006020819052604080832080546001600160a01b0319169055519092917f4a2cf608bfb427f53279ec7f0eadf48913b9346ccefc3af138dbdec14ea0907d91a25050565b60405163574b16a760e11b815260040160405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000060405163b760faf960e01b81523060048201526001600160a01b03919091169063b760faf99034906024015f604051808303818588803b1580156103fa575f5ffd5b505af115801561040c573d5f5f3e3d5ffd5b5050505050565b7f000000000000000000000000000000000000000000000000000000000000000060405163040b850f60e31b81526001600160a01b03848116600483015260248201849052919091169063205c2878906044015f604051808303815f87803b15801561047d575f5ffd5b505af115801561048f573d5f5f3e3d5ffd5b505050505050565b61049f6107bd565b6104a98282610861565b5050565b5f6104b6610922565b505f5160206115565f395f51905f5290565b6001600160a01b038281165f8181527f32800a8a254400b8b55434a22b827759dcb96a572133b419f26b7155e38430006020819052604080832080546001600160a01b031916958716958617905551909392917f8a39fc6d5142759acd84b3e96ccde9187266ecb0df56c8ff08bf2aedc7c93c4791a3505050565b565b61054d6106ae565b61048f84838388604051602001610566939291906113cd565b6040516020818303038152906040528561096b565b6105836106ae565b5f5f61058f8484610a37565b509150915061040c815f01518260400151846040516020016105b29291906113f3565b604051602081830303815290604052836020015161096b565b6040516370a0823160e01b81523060048201525f906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a08231906024015b602060405180830381865afa158015610630573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106549190611422565b905090565b604051631aab3f0d60e11b81523060048201525f60248201819052906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906335567e1a90604401610615565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105435760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20456e747279506f696e740000000060448201526064015b60405180910390fd5b5f5f5f6107388585610a37565b50915091505f6107488686610b88565b90506107588184845f0151610c09565b610768576001935050505061076f565b5f93505050505b92915050565b50565b8015610775576040515f90339083908381818185875af1925050503d805f811461040c576040519150601f19603f3d011682016040523d82523d5f602084013e61040c565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061084357507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166108375f5160206115565f395f51905f52546001600160a01b031690565b6001600160a01b031614155b156105435760405163703e46dd60e11b815260040160405180910390fd5b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156108bb575060408051601f3d908101601f191682019092526108b891810190611422565b60015b6108e357604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610722565b5f5160206115565f395f51905f52811461091357604051632a87526960e21b815260048101829052602401610722565b61091d8383610c6a565b505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105435760405163703e46dd60e11b815260040160405180910390fd5b6060814710156109975760405163cf47918160e01b815247600482015260248101839052604401610722565b5f6109a3858486610cbf565b90508080156109c457505f3d11806109c457505f856001600160a01b03163b115b156109d9576109d1610cd4565b915050610305565b8015610a0357604051639996b31560e01b81526001600160a01b0386166004820152602401610722565b3d15610a1657610a11610ced565b610a2f565b60405163d6bda27560e01b815260040160405180910390fd5b509392505050565b60408051606080820183525f80835260208301819052928201525f6084610a616060870187611439565b90501015610a825760405163574b16a760e11b815260040160405180910390fd5b610a8f6060860186611439565b610a9d916004915f9161147c565b610aa6916114a3565b90506001600160e01b03198116638dd7712f60e01b14801590610ada57506001600160e01b031981166381a30acd60e01b14155b15610b045760405163c610096760e01b81526001600160e01b031982166004820152602401610722565b610b116060860186611439565b610b1f91600490829061147c565b810190610b2c91906114d9565b604086015260208501526001600160a01b0316808452909350610b81578151610b558686610b88565b60405163f252a21160e01b81526001600160a01b03928316600482015291166024820152604401610722565b9250925092565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000005f908152601c829052603c8120610c0181610bc8610100870187611439565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250610cf892505050565b949350505050565b5f7f32800a8a254400b8b55434a22b827759dcb96a572133b419f26b7155e38430006001600160a01b03858116908516148015610c6157506001600160a01b038581165f908152602083905260409020548116908416145b95945050505050565b610c7382610d20565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a2805115610cb75761091d8282610d83565b6104a9610e05565b5f5f5f83516020850186885af1949350505050565b6040513d81523d5f602083013e3d602001810160405290565b6040513d5f823e3d81fd5b5f5f5f5f610d068686610e24565b925092509250610d168282610e6a565b5090949350505050565b806001600160a01b03163b5f03610d5557604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610722565b5f5160206115565f395f51905f5280546001600160a01b0319166001600160a01b0392909216919091179055565b60605f610d908484610f22565b9050808015610db157505f3d1180610db157505f846001600160a01b03163b115b15610dc657610dbe610cd4565b91505061076f565b8015610df057604051639996b31560e01b81526001600160a01b0385166004820152602401610722565b3d15610a1657610dfe610ced565b5092915050565b34156105435760405163b398979f60e01b815260040160405180910390fd5b5f5f5f8351604103610e5b576020840151604085015160608601515f1a610e4d88828585610f35565b955095509550505050610b81565b505081515f9150600290610b81565b5f826003811115610e7d57610e7d611541565b03610e86575050565b6001826003811115610e9a57610e9a611541565b03610eb85760405163f645eedf60e01b815260040160405180910390fd5b6002826003811115610ecc57610ecc611541565b03610eed5760405163fce698f760e01b815260048101829052602401610722565b6003826003811115610f0157610f01611541565b036104a9576040516335e2f38360e21b815260048101829052602401610722565b5f5f5f835160208501865af49392505050565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115610f6e57505f91506003905082610ff3565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015610fbf573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b038116610fea57505f925060019150829050610ff3565b92505f91508190505b9450945094915050565b5f610120828403121561100e575f5ffd5b50919050565b5f5f5f60608486031215611026575f5ffd5b833567ffffffffffffffff81111561103c575f5ffd5b61104886828701610ffd565b9660208601359650604090950135949350505050565b6001600160a01b0381168114610775575f5ffd5b5f60208284031215611082575f5ffd5b81356103058161105e565b5f5f6020838503121561109e575f5ffd5b823567ffffffffffffffff8111156110b4575f5ffd5b8301601f810185136110c4575f5ffd5b803567ffffffffffffffff8111156110da575f5ffd5b8560208260051b84010111156110ee575f5ffd5b6020919091019590945092505050565b5f5f6040838503121561110f575f5ffd5b823561111a8161105e565b946020939093013593505050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f83011261114b575f5ffd5b813567ffffffffffffffff81111561116557611165611128565b604051601f8201601f19908116603f0116810167ffffffffffffffff8111828210171561119457611194611128565b6040528181528382016020018510156111ab575f5ffd5b816020850160208301375f918101602001919091529392505050565b5f5f604083850312156111d8575f5ffd5b82356111e38161105e565b9150602083013567ffffffffffffffff8111156111fe575f5ffd5b61120a8582860161113c565b9150509250929050565b5f5f60408385031215611225575f5ffd5b82356112308161105e565b915060208301356112408161105e565b809150509250929050565b5f5f83601f84011261125b575f5ffd5b50813567ffffffffffffffff811115611272575f5ffd5b602083019150836020828501011115611289575f5ffd5b9250929050565b5f5f5f5f5f608086880312156112a4575f5ffd5b85356112af8161105e565b945060208601356112bf8161105e565b935060408601359250606086013567ffffffffffffffff8111156112e1575f5ffd5b6112ed8882890161124b565b969995985093965092949392505050565b5f5f6040838503121561130f575f5ffd5b823567ffffffffffffffff811115611325575f5ffd5b61133185828601610ffd565b95602094909401359450505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f5f5f5f60608587031215611388575f5ffd5b84356113938161105e565b935060208501359250604085013567ffffffffffffffff8111156113b5575f5ffd5b6113c18782880161124b565b95989497509550505050565b8284823760609190911b6bffffffffffffffffffffffff19169101908152601401919050565b5f83518060208601845e60609390931b6bffffffffffffffffffffffff19169190920190815260140192915050565b5f60208284031215611432575f5ffd5b5051919050565b5f5f8335601e1984360301811261144e575f5ffd5b83018035915067ffffffffffffffff821115611468575f5ffd5b602001915036819003821315611289575f5ffd5b5f5f8585111561148a575f5ffd5b83861115611496575f5ffd5b5050820193919092039150565b80356001600160e01b03198116906004841015610dfe576001600160e01b031960049490940360031b84901b1690921692915050565b5f5f5f5f608085870312156114ec575f5ffd5b84356114f78161105e565b935060208501356115078161105e565b925060408501359150606085013567ffffffffffffffff811115611529575f5ffd5b6115358782880161113c565b91505092959194509250565b634e487b7160e01b5f52602160045260245ffdfe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220925fe411a74f721c53058a316afb80f3ef094898def53447db92437f185df9ba64736f6c634300081e0033";
readonly linkReferences: {};
readonly deployedLinkReferences: {};
readonly immutableReferences: {"4888":[{"length":32,"start":1992},{"length":32,"start":2033},{"length":32,"start":2349}],"14489":[{"length":32,"start":635},{"length":32,"start":921},{"length":32,"start":1045},{"length":32,"start":1514},{"length":32,"start":1663},{"length":32,"start":1721}]};
readonly inputSourceName: "project/contracts/ERC2771ForwarderAccount.sol";
readonly buildInfoId: "solc-0_8_30-ce7ccc34c8ce5a5834c5c7141e779845a204959a";
};
import "hardhat/types/artifacts";
declare module "hardhat/types/artifacts" {
interface ArtifactMap {
["ERC2771ForwarderAccount"]: ERC2771ForwarderAccount$Type;
["contracts/ERC2771ForwarderAccount.sol:ERC2771ForwarderAccount"]: ERC2771ForwarderAccount$Type;
}
}