[ { "inputs": [ { "internalType": "string", "name": "_name", "type": "string" }, { "internalType": "string", "name": "_symbol", "type": "string" }, { "internalType": "uint256", "name": "_initialSupply", "type": "uint256" }, { "internalType": "address", "name": "_limitOrder", "type": "address" }, { "internalType": "address", "name": "_router", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "allowance", "type": "uint256" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "ERC20InsufficientAllowance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "uint256", "name": "balance", "type": "uint256" }, { "internalType": "uint256", "name": "value", "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": "PoolAlreadySet", "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": "user", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "balance", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address" } ], "name": "fullBalance", "outputs": [ { "internalType": "uint256", "name": "balance", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "_pool", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "initialize", "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" } ]
60806040523480156200001157600080fd5b50604051620010a3380380620010a383398101604081905262000034916200048e565b84848482826003620000478382620005b0565b506004620000568282620005b0565b5050506200006b3382620000cd60201b60201c565b5050426006819055620000849150620151809062000692565b600555600980546001600160a01b039384166001600160a01b031991821617909155600a80549290931691811691909117909155600b8054909116331790555062000701915050565b6001600160a01b038216620000fd5760405163ec442f0560e01b8152600060048201526024015b60405180910390fd5b6200010b600083836200010f565b5050565b6001600160a01b0383166200013e57806002600082825462000132919062000692565b90915550620001f79050565b6001600160a01b03831660009081526020819052604090205481620001638562000287565b10156200019d5760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401620000f4565b6001600160a01b03841660009081526020819052604090208282039055600554421015620001f5576001600160a01b03841660009081526007602052604081208054849290620001ef90849062000692565b90915550505b505b6001600160a01b038216620002155760028054829003905562000234565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200027a91815260200190565b60405180910390a3505050565b6001600160a01b038116600090815260208190526040902054600554429081108015620002b657506006548114155b8015620002d157506008546001600160a01b03848116911614155b8015620002ec57506009546001600160a01b03848116911614155b8015620003075750600a546001600160a01b03848116911614155b8015620003225750600b546001600160a01b03848116911614155b15620003a6576001600160a01b0383166000908152600760205260409020546200034d908362000692565b91506201518060065482620003639190620006ae565b6200036f9084620006c4565b6200037b9190620006de565b6001600160a01b038416600090815260076020526040902054909250620003a39083620006ae565b91505b50919050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620003d457600080fd5b81516001600160401b0380821115620003f157620003f1620003ac565b604051601f8301601f19908116603f011681019082821181831017156200041c576200041c620003ac565b816040528381526020925086838588010111156200043957600080fd5b600091505b838210156200045d57858201830151818301840152908201906200043e565b600093810190920192909252949350505050565b80516001600160a01b03811681146200048957600080fd5b919050565b600080600080600060a08688031215620004a757600080fd5b85516001600160401b0380821115620004bf57600080fd5b620004cd89838a01620003c2565b96506020880151915080821115620004e457600080fd5b50620004f388828901620003c2565b945050604086015192506200050b6060870162000471565b91506200051b6080870162000471565b90509295509295909350565b600181811c908216806200053c57607f821691505b602082108103620003a657634e487b7160e01b600052602260045260246000fd5b601f821115620005ab57600081815260208120601f850160051c81016020861015620005865750805b601f850160051c820191505b81811015620005a75782815560010162000592565b5050505b505050565b81516001600160401b03811115620005cc57620005cc620003ac565b620005e481620005dd845462000527565b846200055d565b602080601f8311600181146200061c5760008415620006035750858301515b600019600386901b1c1916600185901b178555620005a7565b600085815260208120601f198616915b828110156200064d578886015182559484019460019091019084016200062c565b50858210156200066c5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b80820180821115620006a857620006a86200067c565b92915050565b81810381811115620006a857620006a86200067c565b8082028115828204841417620006a857620006a86200067c565b600082620006fc57634e487b7160e01b600052601260045260246000fd5b500490565b61099280620007116000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c8063466549d511610071578063466549d51461012357806370a082311461014c57806395d89b411461015f578063a9059cbb14610167578063dd62ed3e1461017a578063eb990c59146101b357600080fd5b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100ef57806323b872dd14610101578063313ce56714610114575b600080fd5b6100b66101c8565b6040516100c3919061074c565b60405180910390f35b6100df6100da3660046107b6565b61025a565b60405190151581526020016100c3565b6002545b6040519081526020016100c3565b6100df61010f3660046107e0565b610274565b604051601281526020016100c3565b6100f361013136600461081c565b6001600160a01b031660009081526020819052604090205490565b6100f361015a36600461081c565b610298565b6100b66103ad565b6100df6101753660046107b6565b6103bc565b6100f361018836600461083e565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6101c66101c1366004610871565b6103ca565b005b6060600380546101d7906108b3565b80601f0160208091040260200160405190810160405280929190818152602001828054610203906108b3565b80156102505780601f1061022557610100808354040283529160200191610250565b820191906000526020600020905b81548152906001019060200180831161023357829003601f168201915b5050505050905090565b600033610268818585610419565b60019150505b92915050565b60003361028285828561042b565b61028d8585856104ae565b506001949350505050565b6001600160a01b0381166000908152602081905260409020546005544290811080156102c657506006548114155b80156102e057506008546001600160a01b03848116911614155b80156102fa57506009546001600160a01b03848116911614155b80156103145750600a546001600160a01b03848116911614155b801561032e5750600b546001600160a01b03848116911614155b156103a7576001600160a01b03831660009081526007602052604090205461035690836108fd565b9150620151806006548261036a9190610910565b6103749084610923565b61037e919061093a565b6001600160a01b0384166000908152600760205260409020549092506103a49083610910565b91505b50919050565b6060600480546101d7906108b3565b6000336102688185856104ae565b6008546001600160a01b0316156103f457604051632fc00d1f60e11b815260040160405180910390fd5b5050600880546001600160a01b0319166001600160a01b039290921691909117905550565b610426838383600161050d565b505050565b6001600160a01b0383811660009081526001602090815260408083209386168352929052205460001981146104a8578181101561049957604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064015b60405180910390fd5b6104a88484848403600061050d565b50505050565b6001600160a01b0383166104d857604051634b637e8f60e11b815260006004820152602401610490565b6001600160a01b0382166105025760405163ec442f0560e01b815260006004820152602401610490565b6104268383836105e2565b6001600160a01b0384166105375760405163e602df0560e01b815260006004820152602401610490565b6001600160a01b03831661056157604051634a1406b160e11b815260006004820152602401610490565b6001600160a01b03808516600090815260016020908152604080832093871683529290522082905580156104a857826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516105d491815260200190565b60405180910390a350505050565b6001600160a01b03831661060d57806002600082825461060291906108fd565b909155506106bf9050565b6001600160a01b0383166000908152602081905260409020548161063085610298565b10156106685760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401610490565b6001600160a01b038416600090815260208190526040902082820390556005544210156106bd576001600160a01b038416600090815260076020526040812080548492906106b79084906108fd565b90915550505b505b6001600160a01b0382166106db576002805482900390556106fa565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161073f91815260200190565b60405180910390a3505050565b600060208083528351808285015260005b818110156107795785810183015185820160400152820161075d565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146107b157600080fd5b919050565b600080604083850312156107c957600080fd5b6107d28361079a565b946020939093013593505050565b6000806000606084860312156107f557600080fd5b6107fe8461079a565b925061080c6020850161079a565b9150604084013590509250925092565b60006020828403121561082e57600080fd5b6108378261079a565b9392505050565b6000806040838503121561085157600080fd5b61085a8361079a565b91506108686020840161079a565b90509250929050565b6000806000806080858703121561088757600080fd5b6108908561079a565b935061089e6020860161079a565b93969395505050506040820135916060013590565b600181811c908216806108c757607f821691505b6020821081036103a757634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b8082018082111561026e5761026e6108e7565b8181038181111561026e5761026e6108e7565b808202811582820484141761026e5761026e6108e7565b60008261095757634e487b7160e01b600052601260045260246000fd5b50049056fea26469706673582212201a442e020303437ecb8f51f57188e1f630fdaf63c65612021732fb6fd54b672364736f6c6343000814003300000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000033b2e3c9fd0803ce8000000000000000000000000000000300af2ede7cd604355a09884a1521af732f3b8f700000000000000000000000096cad68444c1dc8ae728b4708db8f49f3a7be68b0000000000000000000000000000000000000000000000000000000000000004444f4a4f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004444f4a4f00000000000000000000000000000000000000000000000000000000