// 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 ExampleToken$Type { "_format": "hh-sol-artifact-1", "contractName": "ExampleToken", "sourceName": "contracts/ExampleToken.sol", "abi": [ { "inputs": [ { "internalType": "string", "name": "name_", "type": "string" }, { "internalType": "string", "name": "symbol_", "type": "string" }, { "internalType": "uint256", "name": "supply_", "type": "uint256" }, { "internalType": "address", "name": "wallet_", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "AccessControlBadConfirmation", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "bytes32", "name": "neededRole", "type": "bytes32" } ], "name": "AccessControlUnauthorizedAccount", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "allowance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "ERC20InsufficientAllowance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "balance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "ERC20InsufficientBalance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "approver", "type": "address" } ], "name": "ERC20InvalidApprover", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "receiver", "type": "address" } ], "name": "ERC20InvalidReceiver", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "ERC20InvalidSender", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" } ], "name": "ERC20InvalidSpender", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "previousAdminRole", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "newAdminRole", "type": "bytes32" } ], "name": "RoleAdminChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } ], "name": "RoleGranted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } ], "name": "RoleRevoked", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [], "name": "DEFAULT_ADMIN_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" } ], "name": "getRoleAdmin", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "grantRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "hasRole", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "callerConfirmation", "type": "address" } ], "name": "renounceRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "revokeRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" } ], "bytecode": "0x6080604052346103bb57610e3080380380610019816103bf565b9283398101906080818303126103bb5780516001600160401b0381116103bb57826100459183016103e4565b602082015190926001600160401b0382116103bb576100659183016103e4565b604082015160609092015190916001600160a01b038216918290036103bb5783516001600160401b0381116102cc57600354600181811c911680156103b1575b60208210146102ae57601f811161034e575b50602094601f82116001146102eb579481929394955f926102e0575b50508160011b915f199060031b1c1916176003555b82516001600160401b0381116102cc57600454600181811c911680156102c2575b60208210146102ae57601f811161024b575b506020601f82116001146101e857819293945f926101dd575b50508160011b915f199060031b1c1916176004555b61015233610435565b5081156101ca57600254908082018092116101b65760207fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef915f9360025584845283825260408420818154019055604051908152a360405161095190816104bf8239f35b634e487b7160e01b5f52601160045260245ffd5b63ec442f0560e01b5f525f60045260245ffd5b015190505f80610134565b601f1982169060045f52805f20915f5b8181106102335750958360019596971061021b575b505050811b01600455610149565b01515f1960f88460031b161c191690555f808061020d565b9192602060018192868b0151815501940192016101f8565b60045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f830160051c810191602084106102a4575b601f0160051c01905b818110610299575061011b565b5f815560010161028c565b9091508190610283565b634e487b7160e01b5f52602260045260245ffd5b90607f1690610109565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100d3565b601f1982169560035f52805f20915f5b8881106103365750836001959697981061031e575b505050811b016003556100e8565b01515f1960f88460031b161c191690555f8080610310565b919260206001819286850151815501940192016102fb565b60035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f830160051c810191602084106103a7575b601f0160051c01905b81811061039c57506100b7565b5f815560010161038f565b9091508190610386565b90607f16906100a5565b5f80fd5b6040519190601f01601f191682016001600160401b038111838210176102cc57604052565b81601f820112156103bb578051906001600160401b0382116102cc57610413601f8301601f19166020016103bf565b92828452602083830101116103bb57815f9260208093018386015e8301015290565b6001600160a01b0381165f9081525f516020610e105f395f51905f52602052604090205460ff166104b9576001600160a01b03165f8181525f516020610e105f395f51905f5260205260408120805460ff191660011790553391907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b505f9056fe6080806040526004361015610012575f80fd5b5f3560e01c90816301ffc9a71461066b5750806306fdde0314610599578063095ea7b31461051757806318160ddd146104fa57806323b872dd1461041b578063248a9ca3146103e85780632f2ff15d146103aa578063313ce5671461038f57806336568abe1461034b57806370a082311461031457806391d14854146102cb57806395d89b41146101b0578063a217fddf14610196578063a9059cbb14610165578063d547741f146101205763dd62ed3e146100cc575f80fd5b3461011c57604036600319011261011c576100e56106e8565b6100ed6106fe565b6001600160a01b039182165f908152600160209081526040808320949093168252928352819020549051908152f35b5f80fd5b3461011c57604036600319011261011c5761016360043561013f6106fe565b9061015e610159825f526005602052600160405f20015490565b6107d1565b610897565b005b3461011c57604036600319011261011c5761018b6101816106e8565b6024359033610714565b602060405160018152f35b3461011c575f36600319011261011c5760206040515f8152f35b3461011c575f36600319011261011c576040515f6004548060011c906001811680156102c1575b6020831081146102ad57828552908115610291575060011461023c575b50819003601f01601f191681019067ffffffffffffffff82118183101761022857610224829182604052826106be565b0390f35b634e487b7160e01b5f52604160045260245ffd5b905060045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5f905b82821061027b575060209150820101826101f4565b6001816020925483858801015201910190610266565b90506020925060ff191682840152151560051b820101826101f4565b634e487b7160e01b5f52602260045260245ffd5b91607f16916101d7565b3461011c57604036600319011261011c576102e46106fe565b6004355f52600560205260405f209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b3461011c57602036600319011261011c576001600160a01b036103356106e8565b165f525f602052602060405f2054604051908152f35b3461011c57604036600319011261011c576103646106fe565b336001600160a01b038216036103805761016390600435610897565b63334bd91960e11b5f5260045ffd5b3461011c575f36600319011261011c57602060405160128152f35b3461011c57604036600319011261011c576101636004356103c96106fe565b906103e3610159825f526005602052600160405f20015490565b61080b565b3461011c57602036600319011261011c5760206104136004355f526005602052600160405f20015490565b604051908152f35b3461011c57606036600319011261011c576104346106e8565b61043c6106fe565b6001600160a01b0382165f818152600160209081526040808320338452909152902054909260443592915f19811061047a575b5061018b9350610714565b8381106104df5784156104cc5733156104b95761018b945f52600160205260405f2060018060a01b0333165f526020528360405f20910390558461046f565b634a1406b160e11b5f525f60045260245ffd5b63e602df0560e01b5f525f60045260245ffd5b8390637dc7a0d960e11b5f523360045260245260445260645ffd5b3461011c575f36600319011261011c576020600254604051908152f35b3461011c57604036600319011261011c576105306106e8565b6024359033156104cc576001600160a01b03169081156104b957335f52600160205260405f20825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b3461011c575f36600319011261011c576040515f6003548060011c90600181168015610661575b6020831081146102ad57828552908115610291575060011461060c5750819003601f01601f191681019067ffffffffffffffff82118183101761022857610224829182604052826106be565b905060035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5f905b82821061064b575060209150820101826101f4565b6001816020925483858801015201910190610636565b91607f16916105c0565b3461011c57602036600319011261011c576004359063ffffffff60e01b821680920361011c57602091637965db0b60e01b81149081156106ad575b5015158152f35b6301ffc9a760e01b149050836106a6565b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b600435906001600160a01b038216820361011c57565b602435906001600160a01b038216820361011c57565b6001600160a01b03169081156107be576001600160a01b03169182156107ab57815f525f60205260405f205481811061079257817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b8263391434e360e21b5f5260045260245260445260645ffd5b63ec442f0560e01b5f525f60045260245ffd5b634b637e8f60e11b5f525f60045260245ffd5b5f81815260056020908152604080832033845290915290205460ff16156107f55750565b63e2517d3f60e01b5f523360045260245260445ffd5b5f8181526005602090815260408083206001600160a01b038616845290915290205460ff16610891575f8181526005602090815260408083206001600160a01b0395909516808452949091528120805460ff19166001179055339291907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b50505f90565b5f8181526005602090815260408083206001600160a01b038616845290915290205460ff1615610891575f8181526005602090815260408083206001600160a01b0395909516808452949091528120805460ff19169055339291907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a460019056fea2646970667358221220588a4140637190e7440c731f2dafd1c990da04de88f805259ab22596fef6410664736f6c634300081e003305b8ccbb9d4d8fb16ea74ce3c29a41f1b461fbdaff4714a0d9a8eb05499746bc", "deployedBytecode": "0x6080806040526004361015610012575f80fd5b5f3560e01c90816301ffc9a71461066b5750806306fdde0314610599578063095ea7b31461051757806318160ddd146104fa57806323b872dd1461041b578063248a9ca3146103e85780632f2ff15d146103aa578063313ce5671461038f57806336568abe1461034b57806370a082311461031457806391d14854146102cb57806395d89b41146101b0578063a217fddf14610196578063a9059cbb14610165578063d547741f146101205763dd62ed3e146100cc575f80fd5b3461011c57604036600319011261011c576100e56106e8565b6100ed6106fe565b6001600160a01b039182165f908152600160209081526040808320949093168252928352819020549051908152f35b5f80fd5b3461011c57604036600319011261011c5761016360043561013f6106fe565b9061015e610159825f526005602052600160405f20015490565b6107d1565b610897565b005b3461011c57604036600319011261011c5761018b6101816106e8565b6024359033610714565b602060405160018152f35b3461011c575f36600319011261011c5760206040515f8152f35b3461011c575f36600319011261011c576040515f6004548060011c906001811680156102c1575b6020831081146102ad57828552908115610291575060011461023c575b50819003601f01601f191681019067ffffffffffffffff82118183101761022857610224829182604052826106be565b0390f35b634e487b7160e01b5f52604160045260245ffd5b905060045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5f905b82821061027b575060209150820101826101f4565b6001816020925483858801015201910190610266565b90506020925060ff191682840152151560051b820101826101f4565b634e487b7160e01b5f52602260045260245ffd5b91607f16916101d7565b3461011c57604036600319011261011c576102e46106fe565b6004355f52600560205260405f209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b3461011c57602036600319011261011c576001600160a01b036103356106e8565b165f525f602052602060405f2054604051908152f35b3461011c57604036600319011261011c576103646106fe565b336001600160a01b038216036103805761016390600435610897565b63334bd91960e11b5f5260045ffd5b3461011c575f36600319011261011c57602060405160128152f35b3461011c57604036600319011261011c576101636004356103c96106fe565b906103e3610159825f526005602052600160405f20015490565b61080b565b3461011c57602036600319011261011c5760206104136004355f526005602052600160405f20015490565b604051908152f35b3461011c57606036600319011261011c576104346106e8565b61043c6106fe565b6001600160a01b0382165f818152600160209081526040808320338452909152902054909260443592915f19811061047a575b5061018b9350610714565b8381106104df5784156104cc5733156104b95761018b945f52600160205260405f2060018060a01b0333165f526020528360405f20910390558461046f565b634a1406b160e11b5f525f60045260245ffd5b63e602df0560e01b5f525f60045260245ffd5b8390637dc7a0d960e11b5f523360045260245260445260645ffd5b3461011c575f36600319011261011c576020600254604051908152f35b3461011c57604036600319011261011c576105306106e8565b6024359033156104cc576001600160a01b03169081156104b957335f52600160205260405f20825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b3461011c575f36600319011261011c576040515f6003548060011c90600181168015610661575b6020831081146102ad57828552908115610291575060011461060c5750819003601f01601f191681019067ffffffffffffffff82118183101761022857610224829182604052826106be565b905060035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5f905b82821061064b575060209150820101826101f4565b6001816020925483858801015201910190610636565b91607f16916105c0565b3461011c57602036600319011261011c576004359063ffffffff60e01b821680920361011c57602091637965db0b60e01b81149081156106ad575b5015158152f35b6301ffc9a760e01b149050836106a6565b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b600435906001600160a01b038216820361011c57565b602435906001600160a01b038216820361011c57565b6001600160a01b03169081156107be576001600160a01b03169182156107ab57815f525f60205260405f205481811061079257817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b8263391434e360e21b5f5260045260245260445260645ffd5b63ec442f0560e01b5f525f60045260245ffd5b634b637e8f60e11b5f525f60045260245ffd5b5f81815260056020908152604080832033845290915290205460ff16156107f55750565b63e2517d3f60e01b5f523360045260245260445ffd5b5f8181526005602090815260408083206001600160a01b038616845290915290205460ff16610891575f8181526005602090815260408083206001600160a01b0395909516808452949091528120805460ff19166001179055339291907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b50505f90565b5f8181526005602090815260408083206001600160a01b038616845290915290205460ff1615610891575f8181526005602090815260408083206001600160a01b0395909516808452949091528120805460ff19169055339291907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a460019056fea2646970667358221220588a4140637190e7440c731f2dafd1c990da04de88f805259ab22596fef6410664736f6c634300081e0033", "linkReferences": {}, "deployedLinkReferences": {} } declare module "@nomicfoundation/hardhat-viem/types" { export function deployContract( contractName: "ExampleToken", constructorArgs: [name_: AbiParameterToPrimitiveType<{"name":"name_","type":"string"}>, symbol_: AbiParameterToPrimitiveType<{"name":"symbol_","type":"string"}>, supply_: AbiParameterToPrimitiveType<{"name":"supply_","type":"uint256"}>, wallet_: AbiParameterToPrimitiveType<{"name":"wallet_","type":"address"}>], config?: DeployContractConfig ): Promise>; export function deployContract( contractName: "contracts/ExampleToken.sol:ExampleToken", constructorArgs: [name_: AbiParameterToPrimitiveType<{"name":"name_","type":"string"}>, symbol_: AbiParameterToPrimitiveType<{"name":"symbol_","type":"string"}>, supply_: AbiParameterToPrimitiveType<{"name":"supply_","type":"uint256"}>, wallet_: AbiParameterToPrimitiveType<{"name":"wallet_","type":"address"}>], config?: DeployContractConfig ): Promise>; export function sendDeploymentTransaction( contractName: "ExampleToken", constructorArgs: [name_: AbiParameterToPrimitiveType<{"name":"name_","type":"string"}>, symbol_: AbiParameterToPrimitiveType<{"name":"symbol_","type":"string"}>, supply_: AbiParameterToPrimitiveType<{"name":"supply_","type":"uint256"}>, wallet_: AbiParameterToPrimitiveType<{"name":"wallet_","type":"address"}>], config?: SendDeploymentTransactionConfig ): Promise<{ contract: GetContractReturnType; deploymentTransaction: GetTransactionReturnType; }>; export function sendDeploymentTransaction( contractName: "contracts/ExampleToken.sol:ExampleToken", constructorArgs: [name_: AbiParameterToPrimitiveType<{"name":"name_","type":"string"}>, symbol_: AbiParameterToPrimitiveType<{"name":"symbol_","type":"string"}>, supply_: AbiParameterToPrimitiveType<{"name":"supply_","type":"uint256"}>, wallet_: AbiParameterToPrimitiveType<{"name":"wallet_","type":"address"}>], config?: SendDeploymentTransactionConfig ): Promise<{ contract: GetContractReturnType; deploymentTransaction: GetTransactionReturnType; }>; export function getContractAt( contractName: "ExampleToken", address: Address, config?: GetContractAtConfig ): Promise>; export function getContractAt( contractName: "contracts/ExampleToken.sol:ExampleToken", address: Address, config?: GetContractAtConfig ): Promise>; }