[ { "inputs": [], "stateMutability": "payable", "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" }, { "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" }, { "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": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "approveInternal", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "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": "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": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transferInternal", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
600b60808181526a15195d1a195c881554d11560aa1b60a0526101006040908152600460c0818152631554d11560e21b60e05260038054939592946020946001946001600160401b039482871c9390928716801562000368575b8885101462000353578190601f94858111620002fd575b50889085831160011462000296576000926200028a575b505060001982861b1c191690861b1783555b8051938411620002755786548581811c911680156200026a575b8782101462000255578281116200020a575b50859184116001146200019f5793839491849260009562000193575b50501b92600019911b1c19161782555b6b033b2e3c9fd0803ce8000000918260055533156200017c57600254908382018092116200016757506000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9160025533835282815284832084815401905584519384523393a3516108a19081620003748239f35b601190634e487b7160e01b6000525260246000fd5b602490600085519163ec442f0560e01b8352820152fd5b015193503880620000e1565b9190601f198416928760005284876000209460005b8989838310620001f25750505010620001d7575b50505050811b018255620000f1565b01519060f884600019921b161c1916905538808080620001c8565b868601518955909701969485019488935001620001b4565b87600052866000208380870160051c8201928988106200024b575b0160051c019086905b8281106200023e575050620000c5565b600081550186906200022e565b9250819262000225565b602288634e487b7160e01b6000525260246000fd5b90607f1690620000b3565b604187634e487b7160e01b6000525260246000fd5b01519050388062000087565b90889350601f19831691876000528a6000209260005b8c828210620002e65750508411620002cd575b505050811b01835562000099565b015160001983881b60f8161c19169055388080620002bf565b8385015186558c97909501949384019301620002ac565b90915085600052886000208580850160051c8201928b861062000349575b918a91869594930160051c01915b8281106200033957505062000070565b600081558594508a910162000329565b925081926200031b565b602289634e487b7160e01b6000525260246000fd5b93607f16936200005956fe608060408181526004918236101561001657600080fd5b600092833560e01c91826306fdde031461058957508163095ea7b31461055f57816318160ddd14610540578163222f5be01461052857816323b872dd14610449578163313ce5671461042d57816340c10f191461038157816356189cb41461036357816370a082311461032c57816395d89b411461020d5781639dc29fac1461013a57508063a9059cbb1461010a5763dd62ed3e146100b457600080fd5b346101065780600319360112610106576100cc6106aa565b6001600160a01b036024358181169290839003610102579160209491849316825260018552828220908252845220549051908152f35b8480fd5b5080fd5b50346101065780600319360112610106576020906101336101296106aa565b60243590336106fa565b5160018152f35b839150346101065782600319360112610106576101556106aa565b6001600160a01b038116916024359183156101f6578385528460205285852054918383106101c25750508184957fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef936020938688528785520381872055816002540360025551908152a380f35b865163391434e360e21b81526001600160a01b03909216908201908152602081018390526040810184905281906060010390fd5b8551634b637e8f60e11b8152808301869052602490fd5b838334610106578160031936011261010657805190828454600181811c90808316928315610322575b602093848410811461030f578388529081156102f3575060011461029e575b505050829003601f01601f191682019267ffffffffffffffff84118385101761028b5750829182610287925282610661565b0390f35b634e487b7160e01b815260418552602490fd5b8787529192508591837f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b8385106102df5750505050830101858080610255565b8054888601830152930192849082016102c9565b60ff1916878501525050151560051b8401019050858080610255565b634e487b7160e01b895260228a52602489fd5b91607f1691610236565b5050346101065760203660031901126101065760209181906001600160a01b036103546106aa565b16815280845220549051908152f35b833461037e5761037b610375366106c5565b916107d8565b80f35b80fd5b9190503461042957806003193601126104295761039c6106aa565b6001600160a01b031691602435919083156104145760025490838201809211610401575084927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9260209260025585855284835280852082815401905551908152a380f35b634e487b7160e01b865260119052602485fd5b84602492519163ec442f0560e01b8352820152fd5b8280fd5b5050346101065781600319360112610106576020905160128152f35b839150346101065761045a366106c5565b6001600160a01b0383168086526001602081815288882033895290528787205492969395908301610494575b6020886101338989896106fa565b8683106104fc5781156104e55733156104ce5750825260016020908152868320338452815291869020908590039055829061013387610486565b8751634a1406b160e11b8152908101849052602490fd5b875163e602df0560e01b8152908101849052602490fd5b8751637dc7a0d960e11b8152339181019182526020820193909352604081018790528291506060010390fd5b833461037e5761037b61053a366106c5565b916106fa565b5050346101065781600319360112610106576020906002549051908152f35b50503461010657806003193601126101065760209061013361057f6106aa565b60243590336107d8565b8490843461042957826003193601126104295782600354600181811c90808316928315610657575b602093848410811461030f578388529081156102f3575060011461060157505050829003601f01601f191682019267ffffffffffffffff84118385101761028b5750829182610287925282610661565b600387529192508591837fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b8385106106435750505050830101858080610255565b80548886018301529301928490820161062d565b91607f16916105b1565b6020808252825181830181905290939260005b82811061069657505060409293506000838284010152601f8019910116010190565b818101860151848201604001528501610674565b600435906001600160a01b03821682036106c057565b600080fd5b60609060031901126106c0576001600160a01b039060043582811681036106c0579160243590811681036106c0579060443590565b916001600160a01b038084169283156107bf57169283156107a65760009083825281602052604082205490838210610774575091604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef958760209652828652038282205586815220818154019055604051908152a3565b60405163391434e360e21b81526001600160a01b03919091166004820152602481019190915260448101839052606490fd5b60405163ec442f0560e01b815260006004820152602490fd5b604051634b637e8f60e11b815260006004820152602490fd5b6001600160a01b0390811691821561085257169182156108395760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260018252604060002085600052825280604060002055604051908152a3565b604051634a1406b160e11b815260006004820152602490fd5b60405163e602df0560e01b815260006004820152602490fdfea264697066735822122057bc44bf1c9dc3f49cbe98ba429d78e069a55837c5ff1b25cde4938790499fd564736f6c63430008140033