{
    "_format": "hh-sol-artifact-1",
    "contractName": "TestToken",
    "sourceName": "contracts/OperatorTokenomics/testcontracts/TestToken.sol",
    "abi": [
        {
            "inputs": [
                {
                    "internalType": "string",
                    "name": "name",
                    "type": "string"
                },
                {
                    "internalType": "string",
                    "name": "symbol",
                    "type": "string"
                }
            ],
            "stateMutability": "nonpayable",
            "type": "constructor"
        },
        {
            "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": "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": true,
                    "internalType": "address",
                    "name": "from",
                    "type": "address"
                },
                {
                    "indexed": true,
                    "internalType": "address",
                    "name": "to",
                    "type": "address"
                },
                {
                    "indexed": false,
                    "internalType": "uint256",
                    "name": "value",
                    "type": "uint256"
                },
                {
                    "indexed": false,
                    "internalType": "bytes",
                    "name": "data",
                    "type": "bytes"
                }
            ],
            "name": "TransferAndCall",
            "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": "amount",
                    "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": "address",
                    "name": "spender",
                    "type": "address"
                },
                {
                    "internalType": "uint256",
                    "name": "subtractedValue",
                    "type": "uint256"
                }
            ],
            "name": "decreaseAllowance",
            "outputs": [
                {
                    "internalType": "bool",
                    "name": "",
                    "type": "bool"
                }
            ],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "spender",
                    "type": "address"
                },
                {
                    "internalType": "uint256",
                    "name": "addedValue",
                    "type": "uint256"
                }
            ],
            "name": "increaseAllowance",
            "outputs": [
                {
                    "internalType": "bool",
                    "name": "",
                    "type": "bool"
                }
            ],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "recipient",
                    "type": "address"
                },
                {
                    "internalType": "uint256",
                    "name": "amount",
                    "type": "uint256"
                }
            ],
            "name": "mint",
            "outputs": [],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [],
            "name": "name",
            "outputs": [
                {
                    "internalType": "string",
                    "name": "",
                    "type": "string"
                }
            ],
            "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": "amount",
                    "type": "uint256"
                }
            ],
            "name": "transfer",
            "outputs": [
                {
                    "internalType": "bool",
                    "name": "",
                    "type": "bool"
                }
            ],
            "stateMutability": "nonpayable",
            "type": "function"
        },
        {
            "inputs": [
                {
                    "internalType": "address",
                    "name": "to",
                    "type": "address"
                },
                {
                    "internalType": "uint256",
                    "name": "amount",
                    "type": "uint256"
                },
                {
                    "internalType": "bytes",
                    "name": "data",
                    "type": "bytes"
                }
            ],
            "name": "transferAndCall",
            "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": "amount",
                    "type": "uint256"
                }
            ],
            "name": "transferFrom",
            "outputs": [
                {
                    "internalType": "bool",
                    "name": "",
                    "type": "bool"
                }
            ],
            "stateMutability": "nonpayable",
            "type": "function"
        }
    ],
    "bytecode": "0x60806040523480156200001157600080fd5b5060405162000d5638038062000d568339810160408190526200003491620001e1565b8151829082906200004d9060039060208501906200006e565b508051620000639060049060208401906200006e565b505050505062000287565b8280546200007c906200024b565b90600052602060002090601f016020900481019282620000a05760008555620000eb565b82601f10620000bb57805160ff1916838001178555620000eb565b82800160010185558215620000eb579182015b82811115620000eb578251825591602001919060010190620000ce565b50620000f9929150620000fd565b5090565b5b80821115620000f95760008155600101620000fe565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200013c57600080fd5b81516001600160401b038082111562000159576200015962000114565b604051601f8301601f19908116603f0116810190828211818310171562000184576200018462000114565b81604052838152602092508683858801011115620001a157600080fd5b600091505b83821015620001c55785820183015181830184015290820190620001a6565b83821115620001d75760008385830101525b9695505050505050565b60008060408385031215620001f557600080fd5b82516001600160401b03808211156200020d57600080fd5b6200021b868387016200012a565b935060208501519150808211156200023257600080fd5b5062000241858286016200012a565b9150509250929050565b600181811c908216806200026057607f821691505b6020821081036200028157634e487b7160e01b600052602260045260246000fd5b50919050565b610abf80620002976000396000f3fe608060405234801561001057600080fd5b50600436106100bf5760003560e01c80634000aea01161007c5780634000aea01461014c57806340c10f191461015f57806370a082311461017457806395d89b411461019d578063a457c2d7146101a5578063a9059cbb146101b8578063dd62ed3e146101cb57600080fd5b806306fdde03146100c4578063095ea7b3146100e257806318160ddd1461010557806323b872dd14610117578063313ce5671461012a5780633950935114610139575b600080fd5b6100cc6101de565b6040516100d9919061082e565b60405180910390f35b6100f56100f036600461089f565b610270565b60405190151581526020016100d9565b6002545b6040519081526020016100d9565b6100f56101253660046108c9565b610288565b604051601281526020016100d9565b6100f561014736600461089f565b6102ac565b6100f561015a366004610905565b6102ce565b61017261016d36600461089f565b610357565b005b61010961018236600461098c565b6001600160a01b031660009081526020819052604090205490565b6100cc610365565b6100f56101b336600461089f565b610374565b6100f56101c636600461089f565b6103f4565b6101096101d93660046109ae565b610402565b6060600380546101ed906109e1565b80601f0160208091040260200160405190810160405280929190818152602001828054610219906109e1565b80156102665780601f1061023b57610100808354040283529160200191610266565b820191906000526020600020905b81548152906001019060200180831161024957829003601f168201915b5050505050905090565b60003361027e81858561042d565b5060019392505050565b600033610296858285610551565b6102a18585856105cb565b506001949350505050565b60003361027e8185856102bf8383610402565b6102c99190610a1b565b61042d565b60006102da85856103f4565b50843b801561034b57604051635260769b60e11b815286906001600160a01b0382169063a4c0ed36906103179033908a908a908a90600401610a41565b600060405180830381600087803b15801561033157600080fd5b505af1158015610345573d6000803e3d6000fd5b50505050505b50600195945050505050565b610361828261076f565b5050565b6060600480546101ed906109e1565b600033816103828286610402565b9050838110156103e75760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b6102a1828686840361042d565b60003361027e8185856105cb565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b03831661048f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103de565b6001600160a01b0382166104f05760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103de565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061055d8484610402565b905060001981146105c557818110156105b85760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016103de565b6105c5848484840361042d565b50505050565b6001600160a01b03831661062f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103de565b6001600160a01b0382166106915760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103de565b6001600160a01b038316600090815260208190526040902054818110156107095760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016103de565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36105c5565b6001600160a01b0382166107c55760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016103de565b80600260008282546107d79190610a1b565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b600060208083528351808285015260005b8181101561085b5785810183015185820160400152820161083f565b8181111561086d576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b038116811461089a57600080fd5b919050565b600080604083850312156108b257600080fd5b6108bb83610883565b946020939093013593505050565b6000806000606084860312156108de57600080fd5b6108e784610883565b92506108f560208501610883565b9150604084013590509250925092565b6000806000806060858703121561091b57600080fd5b61092485610883565b935060208501359250604085013567ffffffffffffffff8082111561094857600080fd5b818701915087601f83011261095c57600080fd5b81358181111561096b57600080fd5b88602082850101111561097d57600080fd5b95989497505060200194505050565b60006020828403121561099e57600080fd5b6109a782610883565b9392505050565b600080604083850312156109c157600080fd5b6109ca83610883565b91506109d860208401610883565b90509250929050565b600181811c908216806109f557607f821691505b602082108103610a1557634e487b7160e01b600052602260045260246000fd5b50919050565b60008219821115610a3c57634e487b7160e01b600052601160045260246000fd5b500190565b6001600160a01b0385168152602081018490526060604082018190528101829052818360808301376000818301608090810191909152601f909201601f19160101939250505056fea2646970667358221220c0a552fe78ff08f6975363832bbe0c3fac82a9dfe4d3f472a7094a129fbac22664736f6c634300080d0033",
    "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100bf5760003560e01c80634000aea01161007c5780634000aea01461014c57806340c10f191461015f57806370a082311461017457806395d89b411461019d578063a457c2d7146101a5578063a9059cbb146101b8578063dd62ed3e146101cb57600080fd5b806306fdde03146100c4578063095ea7b3146100e257806318160ddd1461010557806323b872dd14610117578063313ce5671461012a5780633950935114610139575b600080fd5b6100cc6101de565b6040516100d9919061082e565b60405180910390f35b6100f56100f036600461089f565b610270565b60405190151581526020016100d9565b6002545b6040519081526020016100d9565b6100f56101253660046108c9565b610288565b604051601281526020016100d9565b6100f561014736600461089f565b6102ac565b6100f561015a366004610905565b6102ce565b61017261016d36600461089f565b610357565b005b61010961018236600461098c565b6001600160a01b031660009081526020819052604090205490565b6100cc610365565b6100f56101b336600461089f565b610374565b6100f56101c636600461089f565b6103f4565b6101096101d93660046109ae565b610402565b6060600380546101ed906109e1565b80601f0160208091040260200160405190810160405280929190818152602001828054610219906109e1565b80156102665780601f1061023b57610100808354040283529160200191610266565b820191906000526020600020905b81548152906001019060200180831161024957829003601f168201915b5050505050905090565b60003361027e81858561042d565b5060019392505050565b600033610296858285610551565b6102a18585856105cb565b506001949350505050565b60003361027e8185856102bf8383610402565b6102c99190610a1b565b61042d565b60006102da85856103f4565b50843b801561034b57604051635260769b60e11b815286906001600160a01b0382169063a4c0ed36906103179033908a908a908a90600401610a41565b600060405180830381600087803b15801561033157600080fd5b505af1158015610345573d6000803e3d6000fd5b50505050505b50600195945050505050565b610361828261076f565b5050565b6060600480546101ed906109e1565b600033816103828286610402565b9050838110156103e75760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b6102a1828686840361042d565b60003361027e8185856105cb565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b03831661048f5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103de565b6001600160a01b0382166104f05760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103de565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061055d8484610402565b905060001981146105c557818110156105b85760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016103de565b6105c5848484840361042d565b50505050565b6001600160a01b03831661062f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103de565b6001600160a01b0382166106915760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103de565b6001600160a01b038316600090815260208190526040902054818110156107095760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016103de565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36105c5565b6001600160a01b0382166107c55760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016103de565b80600260008282546107d79190610a1b565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b600060208083528351808285015260005b8181101561085b5785810183015185820160400152820161083f565b8181111561086d576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b038116811461089a57600080fd5b919050565b600080604083850312156108b257600080fd5b6108bb83610883565b946020939093013593505050565b6000806000606084860312156108de57600080fd5b6108e784610883565b92506108f560208501610883565b9150604084013590509250925092565b6000806000806060858703121561091b57600080fd5b61092485610883565b935060208501359250604085013567ffffffffffffffff8082111561094857600080fd5b818701915087601f83011261095c57600080fd5b81358181111561096b57600080fd5b88602082850101111561097d57600080fd5b95989497505060200194505050565b60006020828403121561099e57600080fd5b6109a782610883565b9392505050565b600080604083850312156109c157600080fd5b6109ca83610883565b91506109d860208401610883565b90509250929050565b600181811c908216806109f557607f821691505b602082108103610a1557634e487b7160e01b600052602260045260246000fd5b50919050565b60008219821115610a3c57634e487b7160e01b600052601160045260246000fd5b500190565b6001600160a01b0385168152602081018490526060604082018190528101829052818360808301376000818301608090810191909152601f909201601f19160101939250505056fea2646970667358221220c0a552fe78ff08f6975363832bbe0c3fac82a9dfe4d3f472a7094a129fbac22664736f6c634300080d0033",
    "linkReferences": {},
    "deployedLinkReferences": {}
}
