@settlemint/solidity-token-erc20-metatx
Version:
Smart contract set to use ERC20 meta transactions in SettleMint
282 lines (276 loc) • 13.6 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 CallReceiverMockTrustingForwarder$Type {
"_format": "hh-sol-artifact-1",
"contractName": "CallReceiverMockTrustingForwarder",
"sourceName": "contracts/mocks/CallReceiverMock.sol",
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "trustedForwarder_",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "OwnableInvalidOwner",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "OwnableUnauthorizedAccount",
"type": "error"
},
{
"anonymous": false,
"inputs": [],
"name": "MockFunctionCalled",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "a",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "b",
"type": "uint256"
}
],
"name": "MockFunctionCalledWithArgs",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "previousOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferred",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "forwarder",
"type": "address"
}
],
"name": "isTrustedForwarder",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "mockFunction",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [],
"name": "mockFunctionEmptyReturn",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [],
"name": "mockFunctionNonPayable",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "mockFunctionRevertsNoReason",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [],
"name": "mockFunctionRevertsReason",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [],
"name": "mockFunctionThrows",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "a",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "b",
"type": "uint256"
}
],
"name": "mockFunctionWithArgs",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [],
"name": "mockStaticFunction",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"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"
}
],
"bytecode": "0x60803460d157601f6106a438819003918201601f19168301916001600160401b0383118484101760d65780849260209460405283398101031260d157516001600160a01b0381169081900360d157331560bb5760008054336001600160a01b0319821681178355604051939290916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a3600280546001600160a01b0319169190911790556105b790816100ed8239f35b631e4fbdf760e01b600052600060045260246000fd5b600080fd5b634e487b7160e01b600052604160045260246000fdfe608080604052600436101561001357600080fd5b60003560e01c9081630c034968146103e9575080630f63e42c146103a85780632c81d638146100fd5780633bcfaa141461036d5780633e6fec0414610331578063572b6c05146102da578063715018a61461025c5780638da5cb5b14610228578063c292d81c146101f5578063c8fc7696146101d9578063f2fde38b146101025763fdb27325146100a357600080fd5b60406003193601126100fd577f2b42b3c9af4187c86225f201736204c7597312c830cb5c2537dff6ef24b946ae6040805160043581526024356020820152a16100f96100ed6104b9565b60405191829182610451565b0390f35b600080fd5b346100fd5760206003193601126100fd5760043573ffffffffffffffffffffffffffffffffffffffff81168091036100fd5761013c610532565b80156101aa5773ffffffffffffffffffffffffffffffffffffffff600054827fffffffffffffffffffffffff0000000000000000000000000000000000000000821617600055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b7f1e4fbdf700000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b346100fd5760006003193601126100fd576100f96100ed6104b9565b60006003193601126100fd577f52c66ed6ec9ca819cba26fe2b2650059270d8981b295af300187a964f54a8c23600080a1005b346100fd5760006003193601126100fd57602073ffffffffffffffffffffffffffffffffffffffff60005416604051908152f35b346100fd5760006003193601126100fd57610275610532565b600073ffffffffffffffffffffffffffffffffffffffff81547fffffffffffffffffffffffff000000000000000000000000000000000000000081168355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346100fd5760206003193601126100fd5760043573ffffffffffffffffffffffffffffffffffffffff81168091036100fd5760209073ffffffffffffffffffffffffffffffffffffffff6002541614604051908152f35b60006003193601126100fd577f52c66ed6ec9ca819cba26fe2b2650059270d8981b295af300187a964f54a8c23600080a16100f96100ed6104b9565b60006003193601126100fd577f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b346100fd5760006003193601126100fd577f52c66ed6ec9ca819cba26fe2b2650059270d8981b295af300187a964f54a8c23600080a16100f96100ed6104b9565b60006003193601126100fd57807f08c379a0000000000000000000000000000000000000000000000000000000006064925260206004820152601b60248201527f43616c6c52656365697665724d6f636b3a20726576657274696e6700000000006044820152fd5b9190916020815282519283602083015260005b8481106104a35750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006040809697860101520116010190565b8060208092840101516040828601015201610464565b604051906040820182811067ffffffffffffffff82111761050357604052600682527f30783132333400000000000000000000000000000000000000000000000000006020830152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff60005416330361055357565b7f118cdaa7000000000000000000000000000000000000000000000000000000006000523360045260246000fdfea2646970667358221220711877aaba670ebf872a84c1064bc4bc47a97f0d90683185161b9a4657f4778464736f6c634300081b0033",
"deployedBytecode": "0x608080604052600436101561001357600080fd5b60003560e01c9081630c034968146103e9575080630f63e42c146103a85780632c81d638146100fd5780633bcfaa141461036d5780633e6fec0414610331578063572b6c05146102da578063715018a61461025c5780638da5cb5b14610228578063c292d81c146101f5578063c8fc7696146101d9578063f2fde38b146101025763fdb27325146100a357600080fd5b60406003193601126100fd577f2b42b3c9af4187c86225f201736204c7597312c830cb5c2537dff6ef24b946ae6040805160043581526024356020820152a16100f96100ed6104b9565b60405191829182610451565b0390f35b600080fd5b346100fd5760206003193601126100fd5760043573ffffffffffffffffffffffffffffffffffffffff81168091036100fd5761013c610532565b80156101aa5773ffffffffffffffffffffffffffffffffffffffff600054827fffffffffffffffffffffffff0000000000000000000000000000000000000000821617600055167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b7f1e4fbdf700000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b346100fd5760006003193601126100fd576100f96100ed6104b9565b60006003193601126100fd577f52c66ed6ec9ca819cba26fe2b2650059270d8981b295af300187a964f54a8c23600080a1005b346100fd5760006003193601126100fd57602073ffffffffffffffffffffffffffffffffffffffff60005416604051908152f35b346100fd5760006003193601126100fd57610275610532565b600073ffffffffffffffffffffffffffffffffffffffff81547fffffffffffffffffffffffff000000000000000000000000000000000000000081168355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346100fd5760206003193601126100fd5760043573ffffffffffffffffffffffffffffffffffffffff81168091036100fd5760209073ffffffffffffffffffffffffffffffffffffffff6002541614604051908152f35b60006003193601126100fd577f52c66ed6ec9ca819cba26fe2b2650059270d8981b295af300187a964f54a8c23600080a16100f96100ed6104b9565b60006003193601126100fd577f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b346100fd5760006003193601126100fd577f52c66ed6ec9ca819cba26fe2b2650059270d8981b295af300187a964f54a8c23600080a16100f96100ed6104b9565b60006003193601126100fd57807f08c379a0000000000000000000000000000000000000000000000000000000006064925260206004820152601b60248201527f43616c6c52656365697665724d6f636b3a20726576657274696e6700000000006044820152fd5b9190916020815282519283602083015260005b8481106104a35750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006040809697860101520116010190565b8060208092840101516040828601015201610464565b604051906040820182811067ffffffffffffffff82111761050357604052600682527f30783132333400000000000000000000000000000000000000000000000000006020830152565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff60005416330361055357565b7f118cdaa7000000000000000000000000000000000000000000000000000000006000523360045260246000fdfea2646970667358221220711877aaba670ebf872a84c1064bc4bc47a97f0d90683185161b9a4657f4778464736f6c634300081b0033",
"linkReferences": {},
"deployedLinkReferences": {}
}
declare module "@nomicfoundation/hardhat-viem/types" {
export function deployContract(
contractName: "CallReceiverMockTrustingForwarder",
constructorArgs: [trustedForwarder_: AbiParameterToPrimitiveType<{"name":"trustedForwarder_","type":"address"}>],
config?: DeployContractConfig
): Promise<GetContractReturnType<CallReceiverMockTrustingForwarder$Type["abi"]>>;
export function deployContract(
contractName: "contracts/mocks/CallReceiverMock.sol:CallReceiverMockTrustingForwarder",
constructorArgs: [trustedForwarder_: AbiParameterToPrimitiveType<{"name":"trustedForwarder_","type":"address"}>],
config?: DeployContractConfig
): Promise<GetContractReturnType<CallReceiverMockTrustingForwarder$Type["abi"]>>;
export function sendDeploymentTransaction(
contractName: "CallReceiverMockTrustingForwarder",
constructorArgs: [trustedForwarder_: AbiParameterToPrimitiveType<{"name":"trustedForwarder_","type":"address"}>],
config?: SendDeploymentTransactionConfig
): Promise<{
contract: GetContractReturnType<CallReceiverMockTrustingForwarder$Type["abi"]>;
deploymentTransaction: GetTransactionReturnType;
}>;
export function sendDeploymentTransaction(
contractName: "contracts/mocks/CallReceiverMock.sol:CallReceiverMockTrustingForwarder",
constructorArgs: [trustedForwarder_: AbiParameterToPrimitiveType<{"name":"trustedForwarder_","type":"address"}>],
config?: SendDeploymentTransactionConfig
): Promise<{
contract: GetContractReturnType<CallReceiverMockTrustingForwarder$Type["abi"]>;
deploymentTransaction: GetTransactionReturnType;
}>;
export function getContractAt(
contractName: "CallReceiverMockTrustingForwarder",
address: Address,
config?: GetContractAtConfig
): Promise<GetContractReturnType<CallReceiverMockTrustingForwarder$Type["abi"]>>;
export function getContractAt(
contractName: "contracts/mocks/CallReceiverMock.sol:CallReceiverMockTrustingForwarder",
address: Address,
config?: GetContractAtConfig
): Promise<GetContractReturnType<CallReceiverMockTrustingForwarder$Type["abi"]>>;
}