[ { "inputs": [ { "internalType": "string", "name": "name_", "type": "string" }, { "internalType": "string", "name": "symbol_", "type": "string" }, { "internalType": "uint8", "name": "decimals_", "type": "uint8" } ], "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": "amount", "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": "amount", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [], "name": "DOMAIN_SEPARATOR", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "PERMIT_TYPEHASH", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "usr", "type": "address" }, { "internalType": "uint256", "name": "wad", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "usr", "type": "address" }, { "internalType": "uint256", "name": "wad", "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": "usr", "type": "address" }, { "internalType": "uint256", "name": "wad", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "nonces", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "uint256", "name": "deadline", "type": "uint256" }, { "internalType": "uint8", "name": "v", "type": "uint8" }, { "internalType": "bytes32", "name": "r", "type": "bytes32" }, { "internalType": "bytes32", "name": "s", "type": "bytes32" } ], "name": "permit", "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": "dst", "type": "address" }, { "internalType": "uint256", "name": "wad", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "src", "type": "address" }, { "internalType": "address", "name": "dst", "type": "address" }, { "internalType": "uint256", "name": "wad", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" } ]
60a060405234801561000f575f80fd5b506040516110d73803806110d783398101604081905261002e916101b6565b5f61003984826102b7565b50600161004683826102b7565b5060ff81166080526040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f9061007e905f90610371565b60408051918290038220828201825260018352603160f81b6020938401528151928301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c001604051602081830303815290604052805190602001206006819055505050506103e2565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112610127575f80fd5b81516001600160401b0381111561014057610140610104565b604051601f8201601f19908116603f011681016001600160401b038111828210171561016e5761016e610104565b604052818152838201602001851015610185575f80fd5b5f5b828110156101a357602081860181015183830182015201610187565b505f918101602001919091529392505050565b5f805f606084860312156101c8575f80fd5b83516001600160401b038111156101dd575f80fd5b6101e986828701610118565b602086015190945090506001600160401b03811115610206575f80fd5b61021286828701610118565b925050604084015160ff81168114610228575f80fd5b809150509250925092565b600181811c9082168061024757607f821691505b60208210810361026557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102b257805f5260205f20601f840160051c810160208510156102905750805b601f840160051c820191505b818110156102af575f815560010161029c565b50505b505050565b81516001600160401b038111156102d0576102d0610104565b6102e4816102de8454610233565b8461026b565b6020601f821160018114610316575f83156102ff5750848201515b5f19600385901b1c1916600184901b1784556102af565b5f84815260208120601f198516915b828110156103455787850151825560209485019460019092019101610325565b508482101561036257868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f80835461037e81610233565b60018216801561039557600181146103aa576103d7565b60ff19831686528115158202860193506103d7565b865f5260205f205f5b838110156103cf578154888201526001909101906020016103b3565b505081860193505b509195945050505050565b608051610cdd6103fa5f395f61018b0152610cdd5ff3fe608060405234801561000f575f80fd5b50600436106100f0575f3560e01c806340c10f19116100935780639dc29fac116100635780639dc29fac14610223578063a9059cbb14610236578063d505accf14610249578063dd62ed3e1461025c575f80fd5b806340c10f19146101c857806370a08231146101dd5780637ecebe00146101fc57806395d89b411461021b575f80fd5b806323b872dd116100ce57806323b872dd1461014c57806330adf81f1461015f578063313ce567146101865780633644e515146101bf575f80fd5b806306fdde03146100f4578063095ea7b31461011257806318160ddd14610135575b5f80fd5b6100fc610286565b6040516101099190610a9e565b60405180910390f35b610125610120366004610b04565b610311565b6040519015158152602001610109565b61013e60025481565b604051908152602001610109565b61012561015a366004610b2c565b61037d565b61013e7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b6101ad7f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff9091168152602001610109565b61013e60065481565b6101db6101d6366004610b04565b610592565b005b61013e6101eb366004610b66565b60036020525f908152604090205481565b61013e61020a366004610b66565b60056020525f908152604090205481565b6100fc610621565b6101db610231366004610b04565b61062e565b610125610244366004610b04565b610810565b6101db610257366004610b7f565b610823565b61013e61026a366004610bec565b600460209081525f928352604080842090915290825290205481565b5f805461029290610c1d565b80601f01602080910402602001604051908101604052809291908181526020018280546102be90610c1d565b80156103095780601f106102e057610100808354040283529160200191610309565b820191905f5260205f20905b8154815290600101906020018083116102ec57829003601f168201915b505050505081565b335f8181526004602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061036b9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b0383165f908152600360205260408120548211156103e05760405162461bcd60e51b8152602060048201526014602482015273696e73756666696369656e742d62616c616e636560601b60448201526064015b60405180910390fd5b6001600160a01b038416331480159061041c57506001600160a01b0384165f9081526004602090815260408083203384529091529020545f1914155b156104dd576001600160a01b0384165f90815260046020908152604080832033845290915290205482111561048c5760405162461bcd60e51b8152602060048201526016602482015275696e73756666696369656e742d616c6c6f77616e636560501b60448201526064016103d7565b6001600160a01b0384165f9081526004602090815260408083203384529091529020546104b99083610a6c565b6001600160a01b0385165f9081526004602090815260408083203384529091529020555b6001600160a01b0384165f908152600360205260409020546104ff9083610a6c565b6001600160a01b038086165f90815260036020526040808220939093559085168152205461052d9083610a85565b6001600160a01b038085165f8181526003602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906105809086815260200190565b60405180910390a35060019392505050565b6001600160a01b0382165f908152600360205260409020546105b49082610a85565b6001600160a01b0383165f908152600360205260409020556002546105d99082610a85565b6002556040518181526001600160a01b038316905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a35050565b6001805461029290610c1d565b6001600160a01b0382165f9081526003602052604090205481111561068c5760405162461bcd60e51b8152602060048201526014602482015273696e73756666696369656e742d62616c616e636560601b60448201526064016103d7565b6001600160a01b03821633148015906106c857506001600160a01b0382165f9081526004602090815260408083203384529091529020545f1914155b15610789576001600160a01b0382165f9081526004602090815260408083203384529091529020548111156107385760405162461bcd60e51b8152602060048201526016602482015275696e73756666696369656e742d616c6c6f77616e636560501b60448201526064016103d7565b6001600160a01b0382165f9081526004602090815260408083203384529091529020546107659082610a6c565b6001600160a01b0383165f9081526004602090815260408083203384529091529020555b6001600160a01b0382165f908152600360205260409020546107ab9082610a6c565b6001600160a01b0383165f908152600360205260409020556002546107d09082610a6c565b6002556040518181525f906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610615565b5f61081c33848461037d565b9392505050565b4284101561085d5760405162461bcd60e51b81526020600482015260076024820152661156141254915160ca1b60448201526064016103d7565b6006546001600160a01b0388165f90815260056020526040812080549192917f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9918b918b918b9190876108af83610c69565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810187905260e0016040516020818303038152906040528051906020012060405160200161092892919061190160f01b81526002810192909252602282015260420190565b60408051601f1981840301815282825280516020918201205f80855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015610990573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b038116158015906109c65750886001600160a01b0316816001600160a01b0316145b610a065760405162461bcd60e51b8152602060048201526011602482015270494e56414c49445f5349474e415455524560781b60448201526064016103d7565b6001600160a01b038981165f818152600460209081526040808320948d16808452948252918290208b905590518a81527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050505050505050565b5f82610a788382610c81565b9150811115610377575f80fd5b5f82610a918382610c94565b9150811015610377575f80fd5b602081525f82518060208401525f5b81811015610aca5760208186018101516040868401015201610aad565b505f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b0381168114610aff575f80fd5b919050565b5f8060408385031215610b15575f80fd5b610b1e83610ae9565b946020939093013593505050565b5f805f60608486031215610b3e575f80fd5b610b4784610ae9565b9250610b5560208501610ae9565b929592945050506040919091013590565b5f60208284031215610b76575f80fd5b61081c82610ae9565b5f805f805f805f60e0888a031215610b95575f80fd5b610b9e88610ae9565b9650610bac60208901610ae9565b95506040880135945060608801359350608088013560ff81168114610bcf575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f8060408385031215610bfd575f80fd5b610c0683610ae9565b9150610c1460208401610ae9565b90509250929050565b600181811c90821680610c3157607f821691505b602082108103610c4f57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b5f60018201610c7a57610c7a610c55565b5060010190565b8181038181111561037757610377610c55565b8082018082111561037757610377610c5556fea264697066735822122030747da99d690f97ff76a6311b2bbc912a4fb4b4c57a8953d5efe2c4ee1b09fe64736f6c634300081a0033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000d4d6f636b2055534443204f504e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084d6f636b55534443000000000000000000000000000000000000000000000000