@settlemint/solidity-token-erc20-metatx
Version:
Smart contract set to use ERC20 meta transactions in SettleMint
439 lines (433 loc) • 32.2 kB
TypeScript
// 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 Forwarder$Type {
"_format": "hh-sol-artifact-1",
"contractName": "Forwarder",
"sourceName": "contracts/Forwarder.sol",
"abi": [
{
"inputs": [
{
"internalType": "string",
"name": "name",
"type": "string"
}
],
"stateMutability": "payable",
"type": "constructor"
},
{
"inputs": [
{
"internalType": "uint48",
"name": "deadline",
"type": "uint48"
}
],
"name": "ERC2771ForwarderExpiredRequest",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "signer",
"type": "address"
},
{
"internalType": "address",
"name": "from",
"type": "address"
}
],
"name": "ERC2771ForwarderInvalidSigner",
"type": "error"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "requestedValue",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "msgValue",
"type": "uint256"
}
],
"name": "ERC2771ForwarderMismatchedValue",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "target",
"type": "address"
},
{
"internalType": "address",
"name": "forwarder",
"type": "address"
}
],
"name": "ERC2771UntrustfulTarget",
"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": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "uint256",
"name": "currentNonce",
"type": "uint256"
}
],
"name": "InvalidAccountNonce",
"type": "error"
},
{
"inputs": [],
"name": "InvalidShortString",
"type": "error"
},
{
"inputs": [
{
"internalType": "string",
"name": "str",
"type": "string"
}
],
"name": "StringTooLong",
"type": "error"
},
{
"anonymous": false,
"inputs": [],
"name": "EIP712DomainChanged",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "signer",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "nonce",
"type": "uint256"
},
{
"indexed": false,
"internalType": "bool",
"name": "success",
"type": "bool"
}
],
"name": "ExecutedForwardRequest",
"type": "event"
},
{
"inputs": [],
"name": "eip712Domain",
"outputs": [
{
"internalType": "bytes1",
"name": "fields",
"type": "bytes1"
},
{
"internalType": "string",
"name": "name",
"type": "string"
},
{
"internalType": "string",
"name": "version",
"type": "string"
},
{
"internalType": "uint256",
"name": "chainId",
"type": "uint256"
},
{
"internalType": "address",
"name": "verifyingContract",
"type": "address"
},
{
"internalType": "bytes32",
"name": "salt",
"type": "bytes32"
},
{
"internalType": "uint256[]",
"name": "extensions",
"type": "uint256[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "gas",
"type": "uint256"
},
{
"internalType": "uint48",
"name": "deadline",
"type": "uint48"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
},
{
"internalType": "bytes",
"name": "signature",
"type": "bytes"
}
],
"internalType": "struct ERC2771Forwarder.ForwardRequestData",
"name": "request",
"type": "tuple"
}
],
"name": "execute",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "gas",
"type": "uint256"
},
{
"internalType": "uint48",
"name": "deadline",
"type": "uint48"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
},
{
"internalType": "bytes",
"name": "signature",
"type": "bytes"
}
],
"internalType": "struct ERC2771Forwarder.ForwardRequestData[]",
"name": "requests",
"type": "tuple[]"
},
{
"internalType": "address payable",
"name": "refundReceiver",
"type": "address"
}
],
"name": "executeBatch",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "nonces",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "gas",
"type": "uint256"
},
{
"internalType": "uint48",
"name": "deadline",
"type": "uint48"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
},
{
"internalType": "bytes",
"name": "signature",
"type": "bytes"
}
],
"internalType": "struct ERC2771Forwarder.ForwardRequestData",
"name": "request",
"type": "tuple"
}
],
"name": "verify",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
}
],
"bytecode": "0x610160806040526117658038038091610018828561019f565b8339810190602081830312610184578051906001600160401b03821161018457019080601f83011215610184578151916001600160401b038311610189576040519261006e601f8201601f19166020018561019f565b8084526020840192602082840101116101845782602061008e93016101c2565b60409182519161009e848461019f565b600183526020830191603160f81b83526100b7816101e5565b610120526100c48461038a565b61014052519020918260e05251902080610100524660a05282519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f84528483015260608201524660808201523060a082015260a0815261012b60c08261019f565b5190206080523060c0525161129890816104cd8239608051816110dd015260a0518161119a015260c051816110ae015260e0518161112c01526101005181611152015261012051816106cd015261014051816106f60152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b601f909101601f19168101906001600160401b0382119082101761018957604052565b60005b8381106101d55750506000910152565b81810151838201526020016101c5565b90815160208110600014610260575090601f815111610221576020815191015160208210610211571790565b6000198260200360031b1b161790565b6044604051809263305a27a960e01b82526020600483015261025281518092816024860152602086860191016101c2565b601f01601f19168101030190fd5b6001600160401b03811161018957600054600181811c91168015610380575b602082101461036a57601f8111610335575b50602092601f82116001146102d157928192936000926102c6575b50508160011b916000199060031b1c19161760005560ff90565b0151905038806102ac565b601f1982169360008052806000209160005b86811061031d5750836001959610610304575b505050811b0160005560ff90565b015160001960f88460031b161c191690553880806102f6565b919260206001819286850151815501940192016102e3565b60008052601f6020600020910160051c810190601f830160051c015b81811061035e5750610291565b60008155600101610351565b634e487b7160e01b600052602260045260246000fd5b90607f169061027f565b908151602081106000146103b6575090601f815111610221576020815191015160208210610211571790565b6001600160401b03811161018957600154600181811c911680156104c2575b602082101461036a57601f811161048c575b50602092601f8211600114610427579281929360009261041c575b50508160011b916000199060031b1c19161760015560ff90565b015190503880610402565b601f198216936001600052806000209160005b868110610474575083600195961061045b575b505050811b0160015560ff90565b015160001960f88460031b161c1916905538808061044d565b9192602060018192868501518155019401920161043a565b6001600052601f6020600020910160051c810190601f830160051c015b8181106104b657506103e7565b600081556001016104a9565b90607f16906103d556fe6080604052600436101561001257600080fd5b60003560e01c806319d8d38c146108515780637ecebe00146107cd57806384b0196e14610696578063ccf96b4a146103135763df905caf1461005357600080fd5b61005c36610893565b6040810135908134036102e15760009161007582610ab0565b929190821561028e57811561024d5780156101fa57826101f2575b50816101ea575b506100d1575b505050156100a757005b7fd6bda2750000000000000000000000000000000000000000000000000000000060005260046000fd5b73ffffffffffffffffffffffffffffffffffffffff919293501690816000526002602052600080604081209283549360018501905560608601359561011860208201610a7c565b917fffffffffffffffffffffffffffffffffffffffff00000000000000000000000061019f6014602061015961015160a0880188610d2c565b919097610a7c565b604051958287938585019a8b3783019160601b168382015203017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4810184520182610961565b519288f192603f5a9104116101e85760407f842fb24a83793558587a3dab2be7674da4a51d09c5542d6dd354e5d0ea70813c9181519081528415156020820152a238808061009d565bfe5b905038610097565b915038610090565b73ffffffffffffffffffffffffffffffffffffffff848161021a89610a7c565b917fc845a05600000000000000000000000000000000000000000000000000000000600052166004521660245260446000fd5b65ffffffffffff61026060808801610a9d565b7f94eef58a000000000000000000000000000000000000000000000000000000006000521660045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff6102af60208801610a7c565b7fd2650cd100000000000000000000000000000000000000000000000000000000600052166004523060245260446000fd5b507f70647f79000000000000000000000000000000000000000000000000000000006000526004523460245260446000fd5b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106915760043567ffffffffffffffff811161069157366023820112156106915780600401359067ffffffffffffffff8211610691576024810190602436918460051b010111610691576024359073ffffffffffffffffffffffffffffffffffffffff8216809203610691578115926000916000946000925b80841061048757505050503481036104565750816103cc57005b81471061042457600080809381935af13d1561041c573d906103ed82610d7d565b916103fb6040519384610961565b82523d6000602084013e5b1561040d57005b8051156100a757602081519101fd5b606090610406565b50477fcf4791810000000000000000000000000000000000000000000000000000000060005260045260245260446000fd5b7f70647f79000000000000000000000000000000000000000000000000000000006000526004523460245260446000fd5b909192936104a490604061049c8785886109d1565b013590610a40565b936104b08183866109d1565b600090846104bd82610ab0565b9361062c575b82610624575b508161061c575b50610505575b5050156104e9575b6001019291906103b2565b956104fd600191604061049c8a86896109d1565b9690506104de565b73ffffffffffffffffffffffffffffffffffffffff919250168060005260026020526040600020805490600182019055600080606085013594602061054b818301610a7c565b60407fffffffffffffffffffffffffffffffffffffffff0000000000000000000000006105d1601461058060a0880188610d2c565b61058c89989298610a7c565b8651958287938585019b8c3783019160601b168382015203017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4810184520182610961565b519301359088f192603f5a9104116101e85760407f842fb24a83793558587a3dab2be7674da4a51d09c5542d6dd354e5d0ea70813c9181519081528415156020820152a288806104d6565b90508b6104d0565b91508c6104c9565b821561067057811561065d57806104c35773ffffffffffffffffffffffffffffffffffffffff848161021a88610a7c565b65ffffffffffff61026060808701610a9d565b73ffffffffffffffffffffffffffffffffffffffff6102af60208701610a7c565b600080fd5b346106915760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106915761076f6106f17f0000000000000000000000000000000000000000000000000000000000000000610dee565b61071a7f0000000000000000000000000000000000000000000000000000000000000000610f89565b602061077d6040519261072d8385610961565b6000845260003681376040519586957f0f00000000000000000000000000000000000000000000000000000000000000875260e08588015260e0870190610902565b908582036040870152610902565b466060850152306080850152600060a085015283810360c085015281808451928381520193019160005b8281106107b657505050500390f35b8351855286955093810193928101926001016107a7565b346106915760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106915760043573ffffffffffffffffffffffffffffffffffffffff811681036106915761084960209173ffffffffffffffffffffffffffffffffffffffff16600052600260205260406000205490565b604051908152f35b3461069157602061086961086436610893565b610ab0565b50908261088b575b5081610883575b506040519015158152f35b905082610878565b915083610871565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc820112610691576004359067ffffffffffffffff8211610691577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8260e0920301126106915760040190565b919082519283825260005b84811061094c5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b8060208092840101518282860101520161090d565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176109a257604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b9190811015610a115760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2181360301821215610691570190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b91908201809211610a4d57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b3573ffffffffffffffffffffffffffffffffffffffff811681036106915790565b3565ffffffffffff811681036106915790565b90610aba82610a7c565b6020830191610c0e6042610acd85610a7c565b93610b01610ada88610a7c565b73ffffffffffffffffffffffffffffffffffffffff16600052600260205260406000205490565b94608088019565ffffffffffff610b1788610a9d565b610b2e610b2760a08d018d610d2c565b3691610db7565b602081519101209273ffffffffffffffffffffffffffffffffffffffff604051958160208801987f7f96328b83274ebc7c1cf4f7a3abda602b51a78b7fa1d86a2ce353d75e587cac8a5216604088015216606086015260408c0135608086015260608c013560a086015260c08501521660e08301526101008201526101008152610bba61012082610961565b519020610bc5611097565b90604051917f190100000000000000000000000000000000000000000000000000000000000083526002830152602282015220610c08610b2760c0880188610d2c565b9061105b565b506004819492941015610cfd576000610c2a6020921596610a7c565b604051838101907f572b6c0500000000000000000000000000000000000000000000000000000000825230602482015260248152610c69604482610961565b51915afa903d6000519083610cf1575b5082610ce5575b50610c8a90610a9d565b9484610ca4575b509365ffffffffffff4291161015929190565b73ffffffffffffffffffffffffffffffffffffffff919450610cc590610a7c565b1673ffffffffffffffffffffffffffffffffffffffff8316149238610c91565b15159150610c8a610c80565b60201115925038610c79565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215610691570180359067ffffffffffffffff82116106915760200191813603831361069157565b67ffffffffffffffff81116109a257601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b929192610dc382610d7d565b91610dd16040519384610961565b829481845281830111610691578281602093846000960137010152565b60ff8114610e705760ff811690601f8211610e46576040805192610e128285610961565b602084527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe060208501920136833783525290565b7fb3512b0c0000000000000000000000000000000000000000000000000000000060005260046000fd5b5060405160008054908160011c91600181168015610f7f575b602084108114610f52578385528492918115610f155750600114610eb7575b610eb492500382610961565b90565b50600080805290917f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b818310610ef9575050906020610eb492820101610ea8565b6020919350806001915483858801015201910190918392610ee1565b60209250610eb49491507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001682840152151560051b820101610ea8565b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526022600452fd5b92607f1692610e89565b60ff8114610fad5760ff811690601f8211610e46576040805192610e128285610961565b506040516000600154908160011c91600181168015611051575b602084108114610f52578385528492918115610f155750600114610ff157610eb492500382610961565b506001600090815290917fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b818310611035575050906020610eb492820101610ea8565b602091935080600191548385880101520191019091839261101d565b92607f1692610fc7565b815191906041830361108c5761108592506020820151906060604084015193015160001a906111c0565b9192909190565b505060009160029190565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016301480611197575b156110ff577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815261119160c082610961565b51902090565b507f000000000000000000000000000000000000000000000000000000000000000046146110d6565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411611256579160209360809260ff60009560405194855216868401526040830152606082015282805260015afa1561124a5760005173ffffffffffffffffffffffffffffffffffffffff81161561123e5790600090600090565b50600090600190600090565b6040513d6000823e3d90fd5b5050506000916003919056fea26469706673582212206faa1ff89c1a756a525b0fe097f2ce7a0bfd8d12f9e569884af4ce07a80766b264736f6c634300081b0033",
"deployedBytecode": "0x6080604052600436101561001257600080fd5b60003560e01c806319d8d38c146108515780637ecebe00146107cd57806384b0196e14610696578063ccf96b4a146103135763df905caf1461005357600080fd5b61005c36610893565b6040810135908134036102e15760009161007582610ab0565b929190821561028e57811561024d5780156101fa57826101f2575b50816101ea575b506100d1575b505050156100a757005b7fd6bda2750000000000000000000000000000000000000000000000000000000060005260046000fd5b73ffffffffffffffffffffffffffffffffffffffff919293501690816000526002602052600080604081209283549360018501905560608601359561011860208201610a7c565b917fffffffffffffffffffffffffffffffffffffffff00000000000000000000000061019f6014602061015961015160a0880188610d2c565b919097610a7c565b604051958287938585019a8b3783019160601b168382015203017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4810184520182610961565b519288f192603f5a9104116101e85760407f842fb24a83793558587a3dab2be7674da4a51d09c5542d6dd354e5d0ea70813c9181519081528415156020820152a238808061009d565bfe5b905038610097565b915038610090565b73ffffffffffffffffffffffffffffffffffffffff848161021a89610a7c565b917fc845a05600000000000000000000000000000000000000000000000000000000600052166004521660245260446000fd5b65ffffffffffff61026060808801610a9d565b7f94eef58a000000000000000000000000000000000000000000000000000000006000521660045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff6102af60208801610a7c565b7fd2650cd100000000000000000000000000000000000000000000000000000000600052166004523060245260446000fd5b507f70647f79000000000000000000000000000000000000000000000000000000006000526004523460245260446000fd5b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106915760043567ffffffffffffffff811161069157366023820112156106915780600401359067ffffffffffffffff8211610691576024810190602436918460051b010111610691576024359073ffffffffffffffffffffffffffffffffffffffff8216809203610691578115926000916000946000925b80841061048757505050503481036104565750816103cc57005b81471061042457600080809381935af13d1561041c573d906103ed82610d7d565b916103fb6040519384610961565b82523d6000602084013e5b1561040d57005b8051156100a757602081519101fd5b606090610406565b50477fcf4791810000000000000000000000000000000000000000000000000000000060005260045260245260446000fd5b7f70647f79000000000000000000000000000000000000000000000000000000006000526004523460245260446000fd5b909192936104a490604061049c8785886109d1565b013590610a40565b936104b08183866109d1565b600090846104bd82610ab0565b9361062c575b82610624575b508161061c575b50610505575b5050156104e9575b6001019291906103b2565b956104fd600191604061049c8a86896109d1565b9690506104de565b73ffffffffffffffffffffffffffffffffffffffff919250168060005260026020526040600020805490600182019055600080606085013594602061054b818301610a7c565b60407fffffffffffffffffffffffffffffffffffffffff0000000000000000000000006105d1601461058060a0880188610d2c565b61058c89989298610a7c565b8651958287938585019b8c3783019160601b168382015203017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4810184520182610961565b519301359088f192603f5a9104116101e85760407f842fb24a83793558587a3dab2be7674da4a51d09c5542d6dd354e5d0ea70813c9181519081528415156020820152a288806104d6565b90508b6104d0565b91508c6104c9565b821561067057811561065d57806104c35773ffffffffffffffffffffffffffffffffffffffff848161021a88610a7c565b65ffffffffffff61026060808701610a9d565b73ffffffffffffffffffffffffffffffffffffffff6102af60208701610a7c565b600080fd5b346106915760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106915761076f6106f17f0000000000000000000000000000000000000000000000000000000000000000610dee565b61071a7f0000000000000000000000000000000000000000000000000000000000000000610f89565b602061077d6040519261072d8385610961565b6000845260003681376040519586957f0f00000000000000000000000000000000000000000000000000000000000000875260e08588015260e0870190610902565b908582036040870152610902565b466060850152306080850152600060a085015283810360c085015281808451928381520193019160005b8281106107b657505050500390f35b8351855286955093810193928101926001016107a7565b346106915760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126106915760043573ffffffffffffffffffffffffffffffffffffffff811681036106915761084960209173ffffffffffffffffffffffffffffffffffffffff16600052600260205260406000205490565b604051908152f35b3461069157602061086961086436610893565b610ab0565b50908261088b575b5081610883575b506040519015158152f35b905082610878565b915083610871565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc820112610691576004359067ffffffffffffffff8211610691577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8260e0920301126106915760040190565b919082519283825260005b84811061094c5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b8060208092840101518282860101520161090d565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176109a257604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b9190811015610a115760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff2181360301821215610691570190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b91908201809211610a4d57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b3573ffffffffffffffffffffffffffffffffffffffff811681036106915790565b3565ffffffffffff811681036106915790565b90610aba82610a7c565b6020830191610c0e6042610acd85610a7c565b93610b01610ada88610a7c565b73ffffffffffffffffffffffffffffffffffffffff16600052600260205260406000205490565b94608088019565ffffffffffff610b1788610a9d565b610b2e610b2760a08d018d610d2c565b3691610db7565b602081519101209273ffffffffffffffffffffffffffffffffffffffff604051958160208801987f7f96328b83274ebc7c1cf4f7a3abda602b51a78b7fa1d86a2ce353d75e587cac8a5216604088015216606086015260408c0135608086015260608c013560a086015260c08501521660e08301526101008201526101008152610bba61012082610961565b519020610bc5611097565b90604051917f190100000000000000000000000000000000000000000000000000000000000083526002830152602282015220610c08610b2760c0880188610d2c565b9061105b565b506004819492941015610cfd576000610c2a6020921596610a7c565b604051838101907f572b6c0500000000000000000000000000000000000000000000000000000000825230602482015260248152610c69604482610961565b51915afa903d6000519083610cf1575b5082610ce5575b50610c8a90610a9d565b9484610ca4575b509365ffffffffffff4291161015929190565b73ffffffffffffffffffffffffffffffffffffffff919450610cc590610a7c565b1673ffffffffffffffffffffffffffffffffffffffff8316149238610c91565b15159150610c8a610c80565b60201115925038610c79565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215610691570180359067ffffffffffffffff82116106915760200191813603831361069157565b67ffffffffffffffff81116109a257601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b929192610dc382610d7d565b91610dd16040519384610961565b829481845281830111610691578281602093846000960137010152565b60ff8114610e705760ff811690601f8211610e46576040805192610e128285610961565b602084527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe060208501920136833783525290565b7fb3512b0c0000000000000000000000000000000000000000000000000000000060005260046000fd5b5060405160008054908160011c91600181168015610f7f575b602084108114610f52578385528492918115610f155750600114610eb7575b610eb492500382610961565b90565b50600080805290917f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b818310610ef9575050906020610eb492820101610ea8565b6020919350806001915483858801015201910190918392610ee1565b60209250610eb49491507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001682840152151560051b820101610ea8565b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526022600452fd5b92607f1692610e89565b60ff8114610fad5760ff811690601f8211610e46576040805192610e128285610961565b506040516000600154908160011c91600181168015611051575b602084108114610f52578385528492918115610f155750600114610ff157610eb492500382610961565b506001600090815290917fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b818310611035575050906020610eb492820101610ea8565b602091935080600191548385880101520191019091839261101d565b92607f1692610fc7565b815191906041830361108c5761108592506020820151906060604084015193015160001a906111c0565b9192909190565b505060009160029190565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016301480611197575b156110ff577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815261119160c082610961565b51902090565b507f000000000000000000000000000000000000000000000000000000000000000046146110d6565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411611256579160209360809260ff60009560405194855216868401526040830152606082015282805260015afa1561124a5760005173ffffffffffffffffffffffffffffffffffffffff81161561123e5790600090600090565b50600090600190600090565b6040513d6000823e3d90fd5b5050506000916003919056fea26469706673582212206faa1ff89c1a756a525b0fe097f2ce7a0bfd8d12f9e569884af4ce07a80766b264736f6c634300081b0033",
"linkReferences": {},
"deployedLinkReferences": {}
}
declare module "@nomicfoundation/hardhat-viem/types" {
export function deployContract(
contractName: "Forwarder",
constructorArgs: [name: AbiParameterToPrimitiveType<{"name":"name","type":"string"}>],
config?: DeployContractConfig
): Promise<GetContractReturnType<Forwarder$Type["abi"]>>;
export function deployContract(
contractName: "contracts/Forwarder.sol:Forwarder",
constructorArgs: [name: AbiParameterToPrimitiveType<{"name":"name","type":"string"}>],
config?: DeployContractConfig
): Promise<GetContractReturnType<Forwarder$Type["abi"]>>;
export function sendDeploymentTransaction(
contractName: "Forwarder",
constructorArgs: [name: AbiParameterToPrimitiveType<{"name":"name","type":"string"}>],
config?: SendDeploymentTransactionConfig
): Promise<{
contract: GetContractReturnType<Forwarder$Type["abi"]>;
deploymentTransaction: GetTransactionReturnType;
}>;
export function sendDeploymentTransaction(
contractName: "contracts/Forwarder.sol:Forwarder",
constructorArgs: [name: AbiParameterToPrimitiveType<{"name":"name","type":"string"}>],
config?: SendDeploymentTransactionConfig
): Promise<{
contract: GetContractReturnType<Forwarder$Type["abi"]>;
deploymentTransaction: GetTransactionReturnType;
}>;
export function getContractAt(
contractName: "Forwarder",
address: Address,
config?: GetContractAtConfig
): Promise<GetContractReturnType<Forwarder$Type["abi"]>>;
export function getContractAt(
contractName: "contracts/Forwarder.sol:Forwarder",
address: Address,
config?: GetContractAtConfig
): Promise<GetContractReturnType<Forwarder$Type["abi"]>>;
}