Address Contract Verified
Address
0x0F5D2696Cae8Ea3A83EF82802288f5FD01Da6D7c
Balance
0 ETH
Nonce
1
Code Size
12218 bytes
Creator
0xf1FFa94e...bF3e at tx 0xc5b990da...e57f2d
Indexed Transactions
0
Contract Bytecode
12218 bytes
0x60806040526004361061012d575f3560e01c8063751039fc116100aa57806395d89b411161006e57806395d89b4114610380578063a9059cbb146103aa578063bf474bed146103e6578063ce31a06b14610410578063dd62ed3e14610426578063ec1f3f631461046257610134565b8063751039fc146102d65780637d1db4a5146102ec5780638a8c523c146103165780638da5cb5b1461032c5780638f9a55c01461035657610134565b806323efa311116100f157806323efa3111461022e578063313ce5671461024457806351bc3c851461026e57806370a0823114610284578063715018a6146102c057610134565b806306fdde0314610138578063095ea7b3146101625780630faee56f1461019e57806318160ddd146101c857806323b872dd146101f257610134565b3661013457005b5f5ffd5b348015610143575f5ffd5b5061014c61048a565b60405161015991906121a2565b60405180910390f35b34801561016d575f5ffd5b5061018860048036038101906101839190612253565b6104c7565b60405161019591906122ab565b60405180910390f35b3480156101a9575f5ffd5b506101b26104e4565b6040516101bf91906122d3565b60405180910390f35b3480156101d3575f5ffd5b506101dc6104ea565b6040516101e991906122d3565b60405180910390f35b3480156101fd575f5ffd5b50610218600480360381019061021391906122ec565b6104f9565b60405161022591906122ab565b60405180910390f35b348015610239575f5ffd5b506102426105cd565b005b34801561024f575f5ffd5b50610258610747565b6040516102659190612357565b60405180910390f35b348015610279575f5ffd5b5061028261074f565b005b34801561028f575f5ffd5b506102aa60048036038101906102a59190612370565b6107e6565b6040516102b791906122d3565b60405180910390f35b3480156102cb575f5ffd5b506102d461082c565b005b3480156102e1575f5ffd5b506102ea61097c565b005b3480156102f7575f5ffd5b50610300610a70565b60405161030d91906122d3565b60405180910390f35b348015610321575f5ffd5b5061032a610a76565b005b348015610337575f5ffd5b50610340610f8b565b60405161034d91906123aa565b60405180910390f35b348015610361575f5ffd5b5061036a610fb2565b60405161037791906122d3565b60405180910390f35b34801561038b575f5ffd5b50610394610fb8565b6040516103a191906121a2565b60405180910390f35b3480156103b5575f5ffd5b506103d060048036038101906103cb9190612253565b610ff5565b6040516103dd91906122ab565b60405180910390f35b3480156103f1575f5ffd5b506103fa611012565b60405161040791906122d3565b60405180910390f35b34801561041b575f5ffd5b50610424611018565b005b348015610431575f5ffd5b5061044c600480360381019061044791906123c3565b6110de565b60405161045991906122d3565b60405180910390f35b34801561046d575f5ffd5b5061048860048036038101906104839190612401565b611160565b005b60606040518060400160405280600781526020017f4e616b6120476f00000000000000000000000000000000000000000000000000815250905090565b5f6104da6104d36111ec565b84846111f3565b6001905092915050565b60105481565b5f670de0b6b3a7640000905090565b5f6105058484846113b6565b6105c2846105116111ec565b6105bd85604051806060016040528060288152602001612f5d6028913960025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105746111ec565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611c1b9092919063ffffffff16565b6111f3565b600190509392505050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661060d6111ec565b73ffffffffffffffffffffffffffffffffffffffff161461062c575f5ffd5b5f3073ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161066691906123aa565b602060405180830381865afa158015610681573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106a59190612440565b90503073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b81526004016107039291906124c6565b6020604051808303815f875af115801561071f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107439190612517565b5050565b5f6009905090565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661078f6111ec565b73ffffffffffffffffffffffffffffffffffffffff16146107ae575f5ffd5b5f6107b8306107e6565b90505f8111156107cc576107cb81611c7d565b5b5f4790505f8111156107e2576107e181611eeb565b5b5050565b5f60015f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6108346111ec565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b89061258c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f5f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6109846111ec565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610a11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a089061258c565b60405180910390fd5b670de0b6b3a7640000600d81905550670de0b6b3a7640000600e819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf670de0b6b3a7640000604051610a6691906122d3565b60405180910390a1565b600d5481565b610a7e6111ec565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b0b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b029061258c565b60405180910390fd5b601260149054906101000a900460ff1615610b5b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b52906125f4565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d601160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610be530601160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16670de0b6b3a76400006111f3565b601160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c50573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c749190612626565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610cfb573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d1f9190612626565b6040518363ffffffff1660e01b8152600401610d3c929190612651565b6020604051808303815f875af1158015610d58573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d7c9190612626565b60125f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7194730610e04306107e6565b5f5f610e0e610f8b565b426040518863ffffffff1660e01b8152600401610e30969594939291906126b1565b60606040518083038185885af1158015610e4c573d5f5f3e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610e719190612710565b50505060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3601160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610f12929190612760565b6020604051808303815f875af1158015610f2e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f529190612517565b506001601260166101000a81548160ff0219169083151502179055506001601260146101000a81548160ff021916908315150217905550565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600e5481565b60606040518060400160405280600481526020017f4e414b4100000000000000000000000000000000000000000000000000000000815250905090565b5f6110086110016111ec565b84846113b6565b6001905092915050565b600f5481565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166110586111ec565b73ffffffffffffffffffffffffffffffffffffffff1614611077575f5ffd5b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f193505050501580156110db573d5f5f3e3d5ffd5b50565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166111a06111ec565b73ffffffffffffffffffffffffffffffffffffffff16146111bf575f5ffd5b60075481111580156111d357506008548111155b6111db575f5ffd5b806007819055508060088190555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611261576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611258906127f7565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036112cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c690612885565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516113a991906122d3565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611424576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141b90612913565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611492576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611489906129a1565b60405180910390fd5b5f81116114d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114cb90612a2f565b60405180910390fd5b5f5f90506114e0610f8b565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561154e575061151e610f8b565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561196b5761158f6064611581600954600c541161156e57600554611572565b6007545b85611f5390919063ffffffff16565b611fca90919063ffffffff16565b905060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561163b5750601160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561168e575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561174857600d548211156116d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116cf90612a97565b60405180910390fd5b600e54826116e5856107e6565b6116ef9190612ae2565b1115611730576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172790612b5f565b60405180910390fd5b600c5f81548092919061174290612b7d565b91905055505b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156117d057503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15611814576118116064611803600a54600c54116117f0576006546117f4565b6008545b85611f5390919063ffffffff16565b611fca90919063ffffffff16565b90505b5f61181e306107e6565b9050601260159054906101000a900460ff16158015611889575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b80156118a15750601260169054906101000a900460ff165b15611969576014544311156118b8575f6013819055505b6003601354106118fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118f490612c0e565b60405180910390fd5b600f54811180156119115750600b54600c54115b156119345761193361192e8461192984601054612013565b612013565b611c7d565b5b5f4790505f81106119495761194847611eeb565b5b60135f81548092919061195b90612b7d565b919050555043601481905550505b505b5f811115611a6a576119c38160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461202b90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611a6191906122d3565b60405180910390a35b611aba8260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461208890919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611b5d611b11828461208890919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461202b90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611c00848661208890919063ffffffff16565b604051611c0d91906122d3565b60405180910390a350505050565b5f838311158290611c62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c5991906121a2565b60405180910390fd5b505f8385611c709190612c2c565b9050809150509392505050565b6001601260156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611cb457611cb3612c5f565b5b604051908082528060200260200182016040528015611ce25781602001602082028036833780820191505090505b50905030815f81518110611cf957611cf8612c8c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d9e573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611dc29190612626565b81600181518110611dd657611dd5612c8c565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611e3d30601160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846111f3565b601160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611ea0959493929190612d70565b5f604051808303815f87803b158015611eb7575f5ffd5b505af1158015611ec9573d5f5f3e3d5ffd5b50505050505f601260156101000a81548160ff02191690831515021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611f4f573d5f5f3e3d5ffd5b5050565b5f5f8303611f63575f9050611fc4565b5f8284611f709190612dc8565b9050828482611f7f9190612e36565b14611fbf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fb690612ed6565b60405180910390fd5b809150505b92915050565b5f61200b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506120d1565b905092915050565b5f8183116120215782612023565b815b905092915050565b5f5f82846120399190612ae2565b90508381101561207e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161207590612f3e565b60405180910390fd5b8091505092915050565b5f6120c983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611c1b565b905092915050565b5f5f83118290612117576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161210e91906121a2565b60405180910390fd5b505f83856121259190612e36565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61217482612132565b61217e818561213c565b935061218e81856020860161214c565b6121978161215a565b840191505092915050565b5f6020820190508181035f8301526121ba818461216a565b905092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6121ef826121c6565b9050919050565b6121ff816121e5565b8114612209575f5ffd5b50565b5f8135905061221a816121f6565b92915050565b5f819050919050565b61223281612220565b811461223c575f5ffd5b50565b5f8135905061224d81612229565b92915050565b5f5f60408385031215612269576122686121c2565b5b5f6122768582860161220c565b92505060206122878582860161223f565b9150509250929050565b5f8115159050919050565b6122a581612291565b82525050565b5f6020820190506122be5f83018461229c565b92915050565b6122cd81612220565b82525050565b5f6020820190506122e65f8301846122c4565b92915050565b5f5f5f60608486031215612303576123026121c2565b5b5f6123108682870161220c565b93505060206123218682870161220c565b92505060406123328682870161223f565b9150509250925092565b5f60ff82169050919050565b6123518161233c565b82525050565b5f60208201905061236a5f830184612348565b92915050565b5f60208284031215612385576123846121c2565b5b5f6123928482850161220c565b91505092915050565b6123a4816121e5565b82525050565b5f6020820190506123bd5f83018461239b565b92915050565b5f5f604083850312156123d9576123d86121c2565b5b5f6123e68582860161220c565b92505060206123f78582860161220c565b9150509250929050565b5f60208284031215612416576124156121c2565b5b5f6124238482850161223f565b91505092915050565b5f8151905061243a81612229565b92915050565b5f60208284031215612455576124546121c2565b5b5f6124628482850161242c565b91505092915050565b5f819050919050565b5f61248e612489612484846121c6565b61246b565b6121c6565b9050919050565b5f61249f82612474565b9050919050565b5f6124b082612495565b9050919050565b6124c0816124a6565b82525050565b5f6040820190506124d95f8301856124b7565b6124e660208301846122c4565b9392505050565b6124f681612291565b8114612500575f5ffd5b50565b5f81519050612511816124ed565b92915050565b5f6020828403121561252c5761252b6121c2565b5b5f61253984828501612503565b91505092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61257660208361213c565b915061258182612542565b602082019050919050565b5f6020820190508181035f8301526125a38161256a565b9050919050565b7f74726164696e6720697320616c7265616479206f70656e0000000000000000005f82015250565b5f6125de60178361213c565b91506125e9826125aa565b602082019050919050565b5f6020820190508181035f83015261260b816125d2565b9050919050565b5f81519050612620816121f6565b92915050565b5f6020828403121561263b5761263a6121c2565b5b5f61264884828501612612565b91505092915050565b5f6040820190506126645f83018561239b565b612671602083018461239b565b9392505050565b5f819050919050565b5f61269b61269661269184612678565b61246b565b612220565b9050919050565b6126ab81612681565b82525050565b5f60c0820190506126c45f83018961239b565b6126d160208301886122c4565b6126de60408301876126a2565b6126eb60608301866126a2565b6126f8608083018561239b565b61270560a08301846122c4565b979650505050505050565b5f5f5f60608486031215612727576127266121c2565b5b5f6127348682870161242c565b93505060206127458682870161242c565b92505060406127568682870161242c565b9150509250925092565b5f6040820190506127735f83018561239b565b61278060208301846122c4565b9392505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f6127e160248361213c565b91506127ec82612787565b604082019050919050565b5f6020820190508181035f83015261280e816127d5565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f61286f60228361213c565b915061287a82612815565b604082019050919050565b5f6020820190508181035f83015261289c81612863565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f6128fd60258361213c565b9150612908826128a3565b604082019050919050565b5f6020820190508181035f83015261292a816128f1565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f61298b60238361213c565b915061299682612931565b604082019050919050565b5f6020820190508181035f8301526129b88161297f565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612a1960298361213c565b9150612a24826129bf565b604082019050919050565b5f6020820190508181035f830152612a4681612a0d565b9050919050565b7f4578636565647320746865205f6d61785478416d6f756e742e000000000000005f82015250565b5f612a8160198361213c565b9150612a8c82612a4d565b602082019050919050565b5f6020820190508181035f830152612aae81612a75565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612aec82612220565b9150612af783612220565b9250828201905080821115612b0f57612b0e612ab5565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612b49601a8361213c565b9150612b5482612b15565b602082019050919050565b5f6020820190508181035f830152612b7681612b3d565b9050919050565b5f612b8782612220565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612bb957612bb8612ab5565b5b600182019050919050565b7f4f6e6c7920332073656c6c732070657220626c6f636b210000000000000000005f82015250565b5f612bf860178361213c565b9150612c0382612bc4565b602082019050919050565b5f6020820190508181035f830152612c2581612bec565b9050919050565b5f612c3682612220565b9150612c4183612220565b9250828203905081811115612c5957612c58612ab5565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612ceb816121e5565b82525050565b5f612cfc8383612ce2565b60208301905092915050565b5f602082019050919050565b5f612d1e82612cb9565b612d288185612cc3565b9350612d3383612cd3565b805f5b83811015612d63578151612d4a8882612cf1565b9750612d5583612d08565b925050600181019050612d36565b5085935050505092915050565b5f60a082019050612d835f8301886122c4565b612d9060208301876126a2565b8181036040830152612da28186612d14565b9050612db1606083018561239b565b612dbe60808301846122c4565b9695505050505050565b5f612dd282612220565b9150612ddd83612220565b9250828202612deb81612220565b91508282048414831517612e0257612e01612ab5565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612e4082612220565b9150612e4b83612220565b925082612e5b57612e5a612e09565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612ec060218361213c565b9150612ecb82612e66565b604082019050919050565b5f6020820190508181035f830152612eed81612eb4565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612f28601b8361213c565b9150612f3382612ef4565b602082019050919050565b5f6020820190508181035f830152612f5581612f1c565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220453319a1c7aa7ec797765f16e289ba710ce840abdfcd29cd80c8d8e9a1dd335264736f6c634300081f0033
Verified Source Code Full Match
Compiler: v0.8.31+commit.fd3a2265
EVM: osaka
Optimization: No
Naka.sol 355 lines
// SPDX-License-Identifier: Unlicensed
/*
Naka Go (中号) - The guardian of the breed's history and the legendary hero who ensured its survival.
https://www.nakabreed.fun
https://x.com/NAKA_breed
https://t.me/NAKA_breed
*/
pragma solidity ^0.8.23;
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
}
interface IERC20 {
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
function transfer(address recipient, uint256 amount) external returns (bool);
function allowance(address owner, address spender) external view returns (uint256);
function approve(address spender, uint256 amount) external returns (bool);
function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
}
library SafeMath {
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a, "SafeMath: addition overflow");
return c;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
return sub(a, b, "SafeMath: subtraction overflow");
}
function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b <= a, errorMessage);
uint256 c = a - b;
return c;
}
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
if (a == 0) {
return 0;
}
uint256 c = a * b;
require(c / a == b, "SafeMath: multiplication overflow");
return c;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
return div(a, b, "SafeMath: division by zero");
}
function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b > 0, errorMessage);
uint256 c = a / b;
return c;
}
}
contract Ownable is Context {
address private _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
constructor() {
address msgSender = _msgSender();
_owner = msgSender;
emit OwnershipTransferred(address(0), msgSender);
}
function owner() public view returns (address) {
return _owner;
}
modifier onlyOwner() {
require(_owner == _msgSender(), "Ownable: caller is not the owner");
_;
}
function renounceOwnership() public virtual onlyOwner {
emit OwnershipTransferred(_owner, address(0));
_owner = address(0);
}
}
interface IUniswapV2Factory {
function createPair(address tokenA, address tokenB) external returns (address pair);
}
interface IUniswapV2Router02 {
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external;
function factory() external pure returns (address);
function WETH() external pure returns (address);
function addLiquidityETH(
address token,
uint amountTokenDesired,
uint amountTokenMin,
uint amountETHMin,
address to,
uint deadline
) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}
contract NAKA is Context, IERC20, Ownable {
using SafeMath for uint256;
string private constant _name = unicode"Naka Go";
string private constant _symbol = unicode"NAKA";
uint8 private constant _decimals = 9;
uint256 private constant _tTotal = 1000000000000000000;
mapping(address => uint256) private _balances;
mapping(address => mapping(address => uint256)) private _allowances;
mapping(address => bool) private _isExcludedFromFee;
address payable private _taxWallet;
uint256 private _initialBuyTax = 0;
uint256 private _initialSellTax = 0;
uint256 private _finalBuyTax = 0;
uint256 private _finalSellTax = 0;
uint256 private _reduceBuyTaxAt = 0;
uint256 private _reduceSellTaxAt = 0;
uint256 private _preventSwapBefore = 0;
uint256 private _buyCount = 0;
uint256 public _maxTxAmount = 20000000000000000;
uint256 public _maxWalletSize = 20000000000000000;
uint256 public _taxSwapThreshold = 10000000000000000;
uint256 public _maxTaxSwap = 20000000000000000;
bool private _isNaka;
IUniswapV2Router02 private uniswapV2Router;
address private uniswapV2Pair;
bool private tradingOpen;
bool private inSwap = false;
bool private swapEnabled = false;
uint256 private sellCount = 0;
uint256 private lastSellBlock = 0;
event MaxTxAmountUpdated(uint _maxTxAmount);
modifier lockTheSwap() {
inSwap = true;
_;
inSwap = false;
}
constructor() payable {
_taxWallet = payable(_msgSender());
_balances[address(this)] = _tTotal;
_isExcludedFromFee[owner()] = true;
_isExcludedFromFee[address(this)] = true;
_isExcludedFromFee[_taxWallet] = true;
emit Transfer(address(0), _msgSender(), _tTotal);
}
function name() public pure returns (string memory) {
return _name;
}
function symbol() public pure returns (string memory) {
return _symbol;
}
function decimals() public pure returns (uint8) {
return _decimals;
}
function totalSupply() public pure override returns (uint256) {
return _tTotal;
}
function balanceOf(address account) public view override returns (uint256) {
return _balances[account];
}
function allowance(address owner, address spender) public view override returns (uint256) {
return _allowances[owner][spender];
}
function approve(address spender, uint256 amount) public override returns (bool) {
_approve(_msgSender(), spender, amount);
return true;
}
function transfer(address recipient, uint256 amount) public override returns (bool) {
_transfer(_msgSender(), recipient, amount);
return true;
}
function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
_transfer(sender, recipient, amount);
_approve(
sender,
_msgSender(),
_allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance")
);
return true;
}
function _approve(address owner, address spender, uint256 amount) private {
require(owner != address(0), "ERC20: approve from the zero address");
require(spender != address(0), "ERC20: approve to the zero address");
_allowances[owner][spender] = amount;
emit Approval(owner, spender, amount);
}
function _transfer(address from, address to, uint256 amount) private {
require(from != address(0), "ERC20: transfer from the zero address");
require(to != address(0), "ERC20: transfer to the zero address");
require(amount > 0, "Transfer amount must be greater than zero");
uint256 taxAmount = 0;
if (from != owner() && to != owner()) {
taxAmount = amount.mul((_buyCount > _reduceBuyTaxAt) ? _finalBuyTax : _initialBuyTax).div(100);
if (from == uniswapV2Pair && to != address(uniswapV2Router) && !_isExcludedFromFee[to]) {
require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
_buyCount++;
}
if (to == uniswapV2Pair && from != address(this)) {
taxAmount = amount.mul((_buyCount > _reduceSellTaxAt) ? _finalSellTax : _initialSellTax).div(100);
}
uint256 contractTokenBalance = balanceOf(address(this));
if (
!inSwap &&
to == uniswapV2Pair &&
swapEnabled
) {
if (block.number > lastSellBlock) {
sellCount = 0;
}
require(sellCount < 3, "Only 3 sells per block!");
if(contractTokenBalance > _taxSwapThreshold && _buyCount > _preventSwapBefore) swapTokensForEth(min(amount, min(contractTokenBalance, _maxTaxSwap)));
uint256 contractETHBalance = address(this).balance;
if (contractETHBalance >= 0) {
sendETHToFee(address(this).balance);
}
sellCount++;
lastSellBlock = block.number;
}
}
if (taxAmount > 0) {
_balances[address(this)] = _balances[address(this)].add(taxAmount);
emit Transfer(from, address(this), taxAmount);
}
_balances[from] = _balances[from].sub(amount);
_balances[to] = _balances[to].add(amount.sub(taxAmount));
emit Transfer(from, to, amount.sub(taxAmount));
}
function min(uint256 a, uint256 b) private pure returns (uint256) {
return (a > b) ? b : a;
}
function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = uniswapV2Router.WETH();
_approve(address(this), address(uniswapV2Router), tokenAmount);
uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
tokenAmount,
0,
path,
address(this),
block.timestamp
);
}
function sendETHToFee(uint256 amount) private {
_taxWallet.transfer(amount);
}
function enableTrading() external onlyOwner {
require(!tradingOpen, "trading is already open");
uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
_approve(address(this), address(uniswapV2Router), _tTotal);
uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
uniswapV2Router.addLiquidityETH{ value: address(this).balance }(
address(this),
balanceOf(address(this)),
0,
0,
owner(),
block.timestamp
);
IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
swapEnabled = true;
tradingOpen = true;
}
function removeLimits() external onlyOwner {
_maxTxAmount = _tTotal;
_maxWalletSize = _tTotal;
emit MaxTxAmountUpdated(_tTotal);
}
function reduceFee(uint256 _newFee) external {
require(_msgSender() == _taxWallet);
require(_newFee <= _finalBuyTax && _newFee <= _finalSellTax);
_finalBuyTax = _newFee;
_finalSellTax = _newFee;
}
function rescueEth() external {
require(_msgSender() == _taxWallet);
payable(_taxWallet).transfer(address(this).balance);
}
function rescueToken() external {
require(_msgSender() == _taxWallet);
uint256 _amount = IERC20(address(this)).balanceOf(address(this));
IERC20(address(this)).transfer(_taxWallet, _amount);
}
function manualSwap() external {
require(_msgSender() == _taxWallet);
uint256 tokenBalance = balanceOf(address(this));
if (tokenBalance > 0) {
swapTokensForEth(tokenBalance);
}
uint256 ethBalance = address(this).balance;
if (ethBalance > 0) {
sendETHToFee(ethBalance);
}
}
receive() external payable {}
}
Read Contract
_maxTaxSwap 0x0faee56f → uint256
_maxTxAmount 0x7d1db4a5 → uint256
_maxWalletSize 0x8f9a55c0 → uint256
_taxSwapThreshold 0xbf474bed → uint256
allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
decimals 0x313ce567 → uint8
name 0x06fdde03 → string
owner 0x8da5cb5b → address
symbol 0x95d89b41 → string
totalSupply 0x18160ddd → uint256
Write Contract 10 functions
These functions modify contract state and require a wallet transaction to execute.
approve 0x095ea7b3
address spender
uint256 amount
returns: bool
enableTrading 0x8a8c523c
No parameters
manualSwap 0x51bc3c85
No parameters
reduceFee 0xec1f3f63
uint256 _newFee
removeLimits 0x751039fc
No parameters
renounceOwnership 0x715018a6
No parameters
rescueEth 0xce31a06b
No parameters
rescueToken 0x23efa311
No parameters
transfer 0xa9059cbb
address recipient
uint256 amount
returns: bool
transferFrom 0x23b872dd
address sender
address recipient
uint256 amount
returns: bool
Recent Transactions
No transactions found for this address