@pvpbet/pvpbet
Version:
A decentralized PVP betting platform based on the Ethereum Virtual Machine (EVM).
512 lines (506 loc) • 24.1 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 { GetContractReturnType } from "@nomicfoundation/hardhat-viem/types";
import "@nomicfoundation/hardhat-viem/types";
export interface GovToken$Type {
"_format": "hh-sol-artifact-1",
"contractName": "GovToken",
"sourceName": "contracts/GovToken.sol",
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"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"
},
{
"inputs": [],
"name": "EnforcedPause",
"type": "error"
},
{
"inputs": [],
"name": "ExpectedPause",
"type": "error"
},
{
"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": [
{
"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": "address",
"name": "previousOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferred",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "Paused",
"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"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "Unpaused",
"type": "event"
},
{
"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": [],
"name": "name",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "pause",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "paused",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"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"
},
{
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "unpause",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x60806040523480156200001157600080fd5b50336040518060400160405280600e81526020016d282b282132ba23b7bb2a37b5b2b760911b81525060405180604001604052806004815260200163282b282160e11b8152508160039081620000689190620003ae565b506004620000778282620003ae565b50506005805460ff19169055506001600160a01b038116620000b457604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b620000bf81620000ef565b50620000e933620000d36012600a6200058f565b620000e390633b9aca00620005a7565b62000149565b620005d7565b600580546001600160a01b03838116610100818102610100600160a81b031985161790945560405193909204169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038216620001755760405163ec442f0560e01b815260006004820152602401620000ab565b620001836000838362000187565b5050565b6200019483838362000199565b505050565b620001a3620001b0565b62000194838383620001d7565b60055460ff1615620001d55760405163d93c066560e01b815260040160405180910390fd5b565b6001600160a01b03831662000206578060026000828254620001fa9190620005c1565b909155506200027a9050565b6001600160a01b038316600090815260208190526040902054818110156200025b5760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401620000ab565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b0382166200029857600280548290039055620002b7565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620002fd91815260200190565b60405180910390a3505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200033557607f821691505b6020821081036200035657634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200019457600081815260208120601f850160051c81016020861015620003855750805b601f850160051c820191505b81811015620003a65782815560010162000391565b505050505050565b81516001600160401b03811115620003ca57620003ca6200030a565b620003e281620003db845462000320565b846200035c565b602080601f8311600181146200041a5760008415620004015750858301515b600019600386901b1c1916600185901b178555620003a6565b600085815260208120601f198616915b828110156200044b578886015182559484019460019091019084016200042a565b50858210156200046a5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620004d1578160001904821115620004b557620004b56200047a565b80851615620004c357918102915b93841c939080029062000495565b509250929050565b600082620004ea5750600162000589565b81620004f95750600062000589565b81600181146200051257600281146200051d576200053d565b600191505062000589565b60ff8411156200053157620005316200047a565b50506001821b62000589565b5060208310610133831016604e8410600b841016171562000562575081810a62000589565b6200056e838362000490565b80600019048211156200058557620005856200047a565b0290505b92915050565b6000620005a060ff841683620004d9565b9392505050565b80820281158282048414176200058957620005896200047a565b808201808211156200058957620005896200047a565b6109d180620005e76000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806370a082311161009757806395d89b411161006657806395d89b41146101e6578063a9059cbb146101ee578063dd62ed3e14610201578063f2fde38b1461023a57600080fd5b806370a0823114610184578063715018a6146101ad5780638456cb59146101b55780638da5cb5b146101bd57600080fd5b806323b872dd116100d357806323b872dd1461014d578063313ce567146101605780633f4ba83a1461016f5780635c975abb1461017957600080fd5b806306fdde03146100fa578063095ea7b31461011857806318160ddd1461013b575b600080fd5b61010261024d565b60405161010f919061081b565b60405180910390f35b61012b610126366004610885565b6102df565b604051901515815260200161010f565b6002545b60405190815260200161010f565b61012b61015b3660046108af565b6102f9565b6040516012815260200161010f565b61017761031d565b005b60055460ff1661012b565b61013f6101923660046108eb565b6001600160a01b031660009081526020819052604090205490565b61017761032f565b610177610341565b60055461010090046001600160a01b03166040516001600160a01b03909116815260200161010f565b610102610351565b61012b6101fc366004610885565b610360565b61013f61020f36600461090d565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6101776102483660046108eb565b61036e565b60606003805461025c90610940565b80601f016020809104026020016040519081016040528092919081815260200182805461028890610940565b80156102d55780601f106102aa576101008083540402835291602001916102d5565b820191906000526020600020905b8154815290600101906020018083116102b857829003601f168201915b5050505050905090565b6000336102ed8185856103b1565b60019150505b92915050565b6000336103078582856103c3565b610312858585610441565b506001949350505050565b6103256104a0565b61032d6104d3565b565b6103376104a0565b61032d6000610525565b6103496104a0565b61032d61057f565b60606004805461025c90610940565b6000336102ed818585610441565b6103766104a0565b6001600160a01b0381166103a557604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b6103ae81610525565b50565b6103be83838360016105bc565b505050565b6001600160a01b03838116600090815260016020908152604080832093861683529290522054600019811461043b578181101561042c57604051637dc7a0d960e11b81526001600160a01b0384166004820152602481018290526044810183905260640161039c565b61043b848484840360006105bc565b50505050565b6001600160a01b03831661046b57604051634b637e8f60e11b81526000600482015260240161039c565b6001600160a01b0382166104955760405163ec442f0560e01b81526000600482015260240161039c565b6103be838383610691565b6005546001600160a01b0361010090910416331461032d5760405163118cdaa760e01b815233600482015260240161039c565b6104db61069c565b6005805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b600580546001600160a01b03838116610100818102610100600160a81b031985161790945560405193909204169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6105876106bf565b6005805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586105083390565b6001600160a01b0384166105e65760405163e602df0560e01b81526000600482015260240161039c565b6001600160a01b03831661061057604051634a1406b160e11b81526000600482015260240161039c565b6001600160a01b038085166000908152600160209081526040808320938716835292905220829055801561043b57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161068391815260200190565b60405180910390a350505050565b6103be8383836106e3565b60055460ff1661032d57604051638dfc202b60e01b815260040160405180910390fd5b60055460ff161561032d5760405163d93c066560e01b815260040160405180910390fd5b6106eb6106bf565b6103be8383836001600160a01b03831661071c578060026000828254610711919061097a565b9091555061078e9050565b6001600160a01b0383166000908152602081905260409020548181101561076f5760405163391434e360e21b81526001600160a01b0385166004820152602481018290526044810183905260640161039c565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b0382166107aa576002805482900390556107c9565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161080e91815260200190565b60405180910390a3505050565b600060208083528351808285015260005b818110156108485785810183015185820160400152820161082c565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461088057600080fd5b919050565b6000806040838503121561089857600080fd5b6108a183610869565b946020939093013593505050565b6000806000606084860312156108c457600080fd5b6108cd84610869565b92506108db60208501610869565b9150604084013590509250925092565b6000602082840312156108fd57600080fd5b61090682610869565b9392505050565b6000806040838503121561092057600080fd5b61092983610869565b915061093760208401610869565b90509250929050565b600181811c9082168061095457607f821691505b60208210810361097457634e487b7160e01b600052602260045260246000fd5b50919050565b808201808211156102f357634e487b7160e01b600052601160045260246000fdfea26469706673582212201226116b5f51b99296e9df9d38c4eb3fbaa41794de88d56f1f0dd457eebcc62564736f6c63430008140033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100f55760003560e01c806370a082311161009757806395d89b411161006657806395d89b41146101e6578063a9059cbb146101ee578063dd62ed3e14610201578063f2fde38b1461023a57600080fd5b806370a0823114610184578063715018a6146101ad5780638456cb59146101b55780638da5cb5b146101bd57600080fd5b806323b872dd116100d357806323b872dd1461014d578063313ce567146101605780633f4ba83a1461016f5780635c975abb1461017957600080fd5b806306fdde03146100fa578063095ea7b31461011857806318160ddd1461013b575b600080fd5b61010261024d565b60405161010f919061081b565b60405180910390f35b61012b610126366004610885565b6102df565b604051901515815260200161010f565b6002545b60405190815260200161010f565b61012b61015b3660046108af565b6102f9565b6040516012815260200161010f565b61017761031d565b005b60055460ff1661012b565b61013f6101923660046108eb565b6001600160a01b031660009081526020819052604090205490565b61017761032f565b610177610341565b60055461010090046001600160a01b03166040516001600160a01b03909116815260200161010f565b610102610351565b61012b6101fc366004610885565b610360565b61013f61020f36600461090d565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6101776102483660046108eb565b61036e565b60606003805461025c90610940565b80601f016020809104026020016040519081016040528092919081815260200182805461028890610940565b80156102d55780601f106102aa576101008083540402835291602001916102d5565b820191906000526020600020905b8154815290600101906020018083116102b857829003601f168201915b5050505050905090565b6000336102ed8185856103b1565b60019150505b92915050565b6000336103078582856103c3565b610312858585610441565b506001949350505050565b6103256104a0565b61032d6104d3565b565b6103376104a0565b61032d6000610525565b6103496104a0565b61032d61057f565b60606004805461025c90610940565b6000336102ed818585610441565b6103766104a0565b6001600160a01b0381166103a557604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b6103ae81610525565b50565b6103be83838360016105bc565b505050565b6001600160a01b03838116600090815260016020908152604080832093861683529290522054600019811461043b578181101561042c57604051637dc7a0d960e11b81526001600160a01b0384166004820152602481018290526044810183905260640161039c565b61043b848484840360006105bc565b50505050565b6001600160a01b03831661046b57604051634b637e8f60e11b81526000600482015260240161039c565b6001600160a01b0382166104955760405163ec442f0560e01b81526000600482015260240161039c565b6103be838383610691565b6005546001600160a01b0361010090910416331461032d5760405163118cdaa760e01b815233600482015260240161039c565b6104db61069c565b6005805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b600580546001600160a01b03838116610100818102610100600160a81b031985161790945560405193909204169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6105876106bf565b6005805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586105083390565b6001600160a01b0384166105e65760405163e602df0560e01b81526000600482015260240161039c565b6001600160a01b03831661061057604051634a1406b160e11b81526000600482015260240161039c565b6001600160a01b038085166000908152600160209081526040808320938716835292905220829055801561043b57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258460405161068391815260200190565b60405180910390a350505050565b6103be8383836106e3565b60055460ff1661032d57604051638dfc202b60e01b815260040160405180910390fd5b60055460ff161561032d5760405163d93c066560e01b815260040160405180910390fd5b6106eb6106bf565b6103be8383836001600160a01b03831661071c578060026000828254610711919061097a565b9091555061078e9050565b6001600160a01b0383166000908152602081905260409020548181101561076f5760405163391434e360e21b81526001600160a01b0385166004820152602481018290526044810183905260640161039c565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b0382166107aa576002805482900390556107c9565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161080e91815260200190565b60405180910390a3505050565b600060208083528351808285015260005b818110156108485785810183015185820160400152820161082c565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461088057600080fd5b919050565b6000806040838503121561089857600080fd5b6108a183610869565b946020939093013593505050565b6000806000606084860312156108c457600080fd5b6108cd84610869565b92506108db60208501610869565b9150604084013590509250925092565b6000602082840312156108fd57600080fd5b61090682610869565b9392505050565b6000806040838503121561092057600080fd5b61092983610869565b915061093760208401610869565b90509250929050565b600181811c9082168061095457607f821691505b60208210810361097457634e487b7160e01b600052602260045260246000fd5b50919050565b808201808211156102f357634e487b7160e01b600052601160045260246000fdfea26469706673582212201226116b5f51b99296e9df9d38c4eb3fbaa41794de88d56f1f0dd457eebcc62564736f6c63430008140033",
"linkReferences": {},
"deployedLinkReferences": {}
}
declare module "@nomicfoundation/hardhat-viem/types" {
export function deployContract(
contractName: "GovToken",
constructorArgs?: [],
config?: DeployContractConfig
): Promise<GetContractReturnType<GovToken$Type["abi"]>>;
export function deployContract(
contractName: "contracts/GovToken.sol:GovToken",
constructorArgs?: [],
config?: DeployContractConfig
): Promise<GetContractReturnType<GovToken$Type["abi"]>>;
export function sendDeploymentTransaction(
contractName: "GovToken",
constructorArgs?: [],
config?: SendDeploymentTransactionConfig
): Promise<{
contract: GetContractReturnType<GovToken$Type["abi"]>;
deploymentTransaction: GetTransactionReturnType;
}>;
export function sendDeploymentTransaction(
contractName: "contracts/GovToken.sol:GovToken",
constructorArgs?: [],
config?: SendDeploymentTransactionConfig
): Promise<{
contract: GetContractReturnType<GovToken$Type["abi"]>;
deploymentTransaction: GetTransactionReturnType;
}>;
export function getContractAt(
contractName: "GovToken",
address: Address,
config?: GetContractAtConfig
): Promise<GetContractReturnType<GovToken$Type["abi"]>>;
export function getContractAt(
contractName: "contracts/GovToken.sol:GovToken",
address: Address,
config?: GetContractAtConfig
): Promise<GetContractReturnType<GovToken$Type["abi"]>>;
}