Address Contract Partially Verified
Address
0x8D548DbC4c689cFA5E5925d52b9Ac358b3913653
Balance
0.000005443 ETH
Nonce
1
Code Size
9984 bytes
Creator
0xD1B2ac4A...A65B at tx 0xa7d8922a...bc4e0e
Indexed Transactions
0
Contract Bytecode
9984 bytes
0x6080604052600436106101ba575f3560e01c8063715018a6116100eb578063a9059cbb11610089578063df20fd4911610063578063df20fd491461061b578063f6b20c3b14610643578063f887ea4014610659578063ffb54a9914610683576101c1565b8063a9059cbb14610579578063da8d0bd0146105b5578063dd62ed3e146105df576101c1565b80638a8c523c116100c55780638a8c523c146104e55780638da5cb5b146104fb57806395d89b4114610525578063a8aa1b311461054f576101c1565b8063715018a61461047b57806375f0a87414610491578063893d20e8146104bb576101c1565b80632f54bf6e11610158578063516239de11610132578063516239de146103af578063571ac8b0146103d95780636ddd17131461041557806370a082311461043f576101c1565b80632f54bf6e1461030d578063313ce567146103495780633f4218e014610373576101c1565b806318160ddd1161019457806318160ddd1461025557806323b872dd1461027f5780632b112e49146102bb5780632c18c23d146102e5576101c1565b80630445b667146101c557806306fdde03146101ef578063095ea7b314610219576101c1565b366101c157005b5f80fd5b3480156101d0575f80fd5b506101d96106ad565b6040516101e69190611c4c565b60405180910390f35b3480156101fa575f80fd5b506102036106b3565b6040516102109190611cd5565b60405180910390f35b348015610224575f80fd5b5061023f600480360381019061023a9190611d7d565b6106ec565b60405161024c9190611dd5565b60405180910390f35b348015610260575f80fd5b506102696107d9565b6040516102769190611c4c565b60405180910390f35b34801561028a575f80fd5b506102a560048036038101906102a09190611dee565b6107f9565b6040516102b29190611dd5565b60405180910390f35b3480156102c6575f80fd5b506102cf6109ec565b6040516102dc9190611c4c565b60405180910390f35b3480156102f0575f80fd5b5061030b60048036038101906103069190611e3e565b610aa1565b005b348015610318575f80fd5b50610333600480360381019061032e9190611e69565b610af3565b6040516103409190611dd5565b60405180910390f35b348015610354575f80fd5b5061035d610b4a565b60405161036a9190611eaf565b60405180910390f35b34801561037e575f80fd5b5061039960048036038101906103949190611e69565b610b4f565b6040516103a69190611dd5565b60405180910390f35b3480156103ba575f80fd5b506103c3610b6c565b6040516103d09190611c4c565b60405180910390f35b3480156103e4575f80fd5b506103ff60048036038101906103fa9190611e69565b610b72565b60405161040c9190611dd5565b60405180910390f35b348015610420575f80fd5b50610429610ba4565b6040516104369190611dd5565b60405180910390f35b34801561044a575f80fd5b5061046560048036038101906104609190611e69565b610bb7565b6040516104729190611c4c565b60405180910390f35b348015610486575f80fd5b5061048f610bcc565b005b34801561049c575f80fd5b506104a5610c55565b6040516104b29190611ed7565b60405180910390f35b3480156104c6575f80fd5b506104cf610c7a565b6040516104dc9190611ed7565b60405180910390f35b3480156104f0575f80fd5b506104f9610ca1565b005b348015610506575f80fd5b5061050f610d06565b60405161051c9190611ed7565b60405180910390f35b348015610530575f80fd5b50610539610d29565b6040516105469190611cd5565b60405180910390f35b34801561055a575f80fd5b50610563610d62565b6040516105709190611ed7565b60405180910390f35b348015610584575f80fd5b5061059f600480360381019061059a9190611d7d565b610d86565b6040516105ac9190611dd5565b60405180910390f35b3480156105c0575f80fd5b506105c9610d9a565b6040516105d69190611c4c565b60405180910390f35b3480156105ea575f80fd5b5061060560048036038101906106009190611ef0565b610da0565b6040516106129190611c4c565b60405180910390f35b348015610626575f80fd5b50610641600480360381019061063c9190611f58565b610e22565b005b34801561064e575f80fd5b50610657610ef9565b005b348015610664575f80fd5b5061066d610f51565b60405161067a9190611ff1565b60405180910390f35b34801561068e575f80fd5b50610697610f76565b6040516106a49190611dd5565b60405180910390f35b60095481565b6040518060400160405280600981526020017f444f47454e41524949000000000000000000000000000000000000000000000081525081565b5f8160025f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516107c79190611c4c565b60405180910390a36001905092915050565b600c600a6107e79190612166565b633b9aca006107f691906121b0565b81565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054146109d85761095b826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e63650000000000000000000081525060025f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610f899092919063ffffffff16565b60025f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505b6109e3848484610feb565b90509392505050565b5f60015f8073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205460015f61dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054600c600a610a799190612166565b633b9aca00610a8891906121b0565b610a9291906121f1565b610a9c91906121f1565b905090565b610aaa33610af3565b610ae9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae09061226e565b60405180910390fd5b80600c8190555050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b600c81565b6003602052805f5260405f205f915054906101000a900460ff1681565b600b5481565b5f610b9d827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6106ec565b9050919050565b600860159054906101000a900460ff1681565b6001602052805f5260405f205f915090505481565b610bd533610af3565b610c14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0b9061226e565b60405180910390fd5b5f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b610caa33610af3565b610ce9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce09061226e565b60405180910390fd5b6001600860146101000a81548160ff021916908315150217905550565b5f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040518060400160405280600981526020017f444f47454e41524949000000000000000000000000000000000000000000000081525081565b7f0000000000000000000000000b3936ccaa286c430788883d8bca448bae779de181565b5f610d92338484610feb565b905092915050565b600c5481565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610e2b33610af3565b610e6a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e619061226e565b60405180910390fd5b6014600c600a610e7a9190612166565b633b9aca00610e8991906121b0565b610e9391906122b9565b8110610ed4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ecb90612359565b60405180910390fd5b81600860156101000a81548160ff021916908315150217905550806009819055505050565b610f0233610af3565b610f41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f389061226e565b60405180910390fd5b5f6005819055505f600481905550565b60085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600860149054906101000a900460ff1681565b5f838311158290610fd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc79190611cd5565b60405180910390fd5b505f8385610fde91906121f1565b9050809150509392505050565b5f600a5f9054906101000a900460ff16156110125761100b84848461140c565b9050611405565b60035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161580156110b0575060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561110557600860149054906101000a900460ff16611104576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110fb906123c1565b60405180910390fd5b5b61110d6115d6565b801561116457507f0000000000000000000000000b3936ccaa286c430788883d8bca448bae779de173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b801561117f5750600c54600b5461117b91906123df565b4310155b1561118d5761118c61164f565b5b611214826040518060400160405280601481526020017f496e73756666696369656e742042616c616e636500000000000000000000000081525060015f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610f899092919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f60035f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806112f1575060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b6113055761130085848661184d565b611307565b825b90506113598160015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611a6d90919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516113f79190611c4c565b60405180910390a360019150505b9392505050565b5f611494826040518060400160405280601481526020017f496e73756666696369656e742042616c616e636500000000000000000000000081525060015f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610f899092919063ffffffff16565b60015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506115258260015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611a6d90919063ffffffff16565b60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516115c39190611c4c565b60405180910390a3600190509392505050565b5f600a5f9054906101000a900460ff161580156115ff5750600860159054906101000a900460ff165b801561164a575060095460015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410155b905090565b6001600a5f6101000a81548160ff0219169083151502179055505f60095490505f600267ffffffffffffffff81111561168b5761168a612412565b5b6040519080825280602002602001820160405280156116b95781602001602082028036833780820191505090505b50905030815f815181106116d0576116cf61243f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28160018151811061173f5761173e61243f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505060085f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac947835f8460075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518663ffffffff1660e01b81526004016117fc95949392919061257c565b5f604051808303815f87803b158015611813575f80fd5b505af1158015611825573d5f803e3d5ffd5b5050505043600b8190555050505f600a5f6101000a81548160ff021916908315150217905550565b5f8060065490507f0000000000000000000000000b3936ccaa286c430788883d8bca448bae779de173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036118b157600454905061190b565b7f0000000000000000000000000b3936ccaa286c430788883d8bca448bae779de173ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff160361190a5760055490505b5b5f84148061191857505f81145b156119265783915050611a66565b5f61194d606461193f8488611aca90919063ffffffff16565b611b4190919063ffffffff16565b90505f811115611a4e576119a78160015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611a6d90919063ffffffff16565b60015f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611a459190611c4c565b60405180910390a35b611a618186611b8a90919063ffffffff16565b925050505b9392505050565b5f808284611a7b91906123df565b905083811015611ac0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ab79061261e565b60405180910390fd5b8091505092915050565b5f808303611ada575f9050611b3b565b5f8284611ae791906121b0565b9050828482611af691906122b9565b14611b36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b2d906126ac565b60405180910390fd5b809150505b92915050565b5f611b8283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611bd3565b905092915050565b5f611bcb83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610f89565b905092915050565b5f8083118290611c19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c109190611cd5565b60405180910390fd5b505f8385611c2791906122b9565b9050809150509392505050565b5f819050919050565b611c4681611c34565b82525050565b5f602082019050611c5f5f830184611c3d565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611ca782611c65565b611cb18185611c6f565b9350611cc1818560208601611c7f565b611cca81611c8d565b840191505092915050565b5f6020820190508181035f830152611ced8184611c9d565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611d2282611cf9565b9050919050565b611d3281611d18565b8114611d3c575f80fd5b50565b5f81359050611d4d81611d29565b92915050565b611d5c81611c34565b8114611d66575f80fd5b50565b5f81359050611d7781611d53565b92915050565b5f8060408385031215611d9357611d92611cf5565b5b5f611da085828601611d3f565b9250506020611db185828601611d69565b9150509250929050565b5f8115159050919050565b611dcf81611dbb565b82525050565b5f602082019050611de85f830184611dc6565b92915050565b5f805f60608486031215611e0557611e04611cf5565b5b5f611e1286828701611d3f565b9350506020611e2386828701611d3f565b9250506040611e3486828701611d69565b9150509250925092565b5f60208284031215611e5357611e52611cf5565b5b5f611e6084828501611d69565b91505092915050565b5f60208284031215611e7e57611e7d611cf5565b5b5f611e8b84828501611d3f565b91505092915050565b5f60ff82169050919050565b611ea981611e94565b82525050565b5f602082019050611ec25f830184611ea0565b92915050565b611ed181611d18565b82525050565b5f602082019050611eea5f830184611ec8565b92915050565b5f8060408385031215611f0657611f05611cf5565b5b5f611f1385828601611d3f565b9250506020611f2485828601611d3f565b9150509250929050565b611f3781611dbb565b8114611f41575f80fd5b50565b5f81359050611f5281611f2e565b92915050565b5f8060408385031215611f6e57611f6d611cf5565b5b5f611f7b85828601611f44565b9250506020611f8c85828601611d69565b9150509250929050565b5f819050919050565b5f611fb9611fb4611faf84611cf9565b611f96565b611cf9565b9050919050565b5f611fca82611f9f565b9050919050565b5f611fdb82611fc0565b9050919050565b611feb81611fd1565b82525050565b5f6020820190506120045f830184611fe2565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111561208c578086048111156120685761206761200a565b5b60018516156120775780820291505b808102905061208585612037565b945061204c565b94509492505050565b5f826120a4576001905061215f565b816120b1575f905061215f565b81600181146120c757600281146120d157612100565b600191505061215f565b60ff8411156120e3576120e261200a565b5b8360020a9150848211156120fa576120f961200a565b5b5061215f565b5060208310610133831016604e8410600b84101617156121355782820a9050838111156121305761212f61200a565b5b61215f565b6121428484846001612043565b925090508184048111156121595761215861200a565b5b81810290505b9392505050565b5f61217082611c34565b915061217b83611e94565b92506121a87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484612095565b905092915050565b5f6121ba82611c34565b91506121c583611c34565b92508282026121d381611c34565b915082820484148315176121ea576121e961200a565b5b5092915050565b5f6121fb82611c34565b915061220683611c34565b925082820390508181111561221e5761221d61200a565b5b92915050565b7f214f574e455200000000000000000000000000000000000000000000000000005f82015250565b5f612258600683611c6f565b915061226382612224565b602082019050919050565b5f6020820190508181035f8301526122858161224c565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6122c382611c34565b91506122ce83611c34565b9250826122de576122dd61228c565b5b828204905092915050565b7f416d6f756e7420746f6f20686967682c206d617820616c6c6f77656420696e205f8201527f3525000000000000000000000000000000000000000000000000000000000000602082015250565b5f612343602283611c6f565b915061234e826122e9565b604082019050919050565b5f6020820190508181035f83015261237081612337565b9050919050565b7f54726164696e67206e6f74206f70656e207965740000000000000000000000005f82015250565b5f6123ab601483611c6f565b91506123b682612377565b602082019050919050565b5f6020820190508181035f8301526123d88161239f565b9050919050565b5f6123e982611c34565b91506123f483611c34565b925082820190508082111561240c5761240b61200a565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f819050919050565b5f61248f61248a6124858461246c565b611f96565b611c34565b9050919050565b61249f81612475565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6124d781611d18565b82525050565b5f6124e883836124ce565b60208301905092915050565b5f602082019050919050565b5f61250a826124a5565b61251481856124af565b935061251f836124bf565b805f5b8381101561254f57815161253688826124dd565b9750612541836124f4565b925050600181019050612522565b5085935050505092915050565b5f61256682611fc0565b9050919050565b6125768161255c565b82525050565b5f60a08201905061258f5f830188611c3d565b61259c6020830187612496565b81810360408301526125ae8186612500565b90506125bd606083018561256d565b6125ca6080830184611c3d565b9695505050505050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612608601b83611c6f565b9150612613826125d4565b602082019050919050565b5f6020820190508181035f830152612635816125fc565b9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612696602183611c6f565b91506126a18261263c565b604082019050919050565b5f6020820190508181035f8301526126c38161268a565b905091905056fea26469706673582212208c7404154528fb5441f5307fbf7e27c566cb085d73832ff931451330a69f1c6564736f6c634300081a0033
Verified Source Code Partial Match
Compiler: v0.8.26+commit.8a97fa7a
EVM: cancun
Optimization: No
DOGENARII.sol 277 lines
// SPDX-License-Identifier: MIT
/*
TG: https://t.me/dogenariioneth
X: https://x.com/dogenariioneth
*/
pragma solidity 0.8.26;
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 ERC20 {
function getOwner() external view returns (address);
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);
}
abstract contract Auth {
address public owner;
constructor(address _owner) {
owner = _owner;
}
modifier onlyOwner() {
require(isOwner(msg.sender), "!OWNER"); _;
}
function isOwner(address account) public view returns (bool) {
return account == owner;
}
function renounceOwnership() external onlyOwner {
owner = address(0);
}
}
interface IDEXFactory {
function createPair(address tokenA, address tokenB) external returns (address pair);
}
interface IDEXRouter {
function factory() external pure returns (address);
function WETH() external pure returns (address);
function swapExactTokensForETHSupportingFeeOnTransferTokens(
uint amountIn,
uint amountOutMin,
address[] calldata path,
address to,
uint deadline
) external;
}
contract DOGENARII is ERC20, Auth {
using SafeMath for uint256;
address immutable WETH;
address constant DEAD = 0x000000000000000000000000000000000000dEaD;
address constant ZERO = 0x0000000000000000000000000000000000000000;
string public constant name = "DOGENARII";
string public constant symbol = "DOGENARII";
uint8 public constant decimals = 12;
uint256 public constant totalSupply = 1_000_000_000 * 10**decimals;
mapping (address => uint256) public balanceOf;
mapping (address => mapping (address => uint256)) _allowances;
mapping (address => bool) public isFeeExempt;
uint256 sellFee = 18;
uint256 buyFee = 18;
uint256 transferFee = 0;
address public marketingWallet;
IDEXRouter public router;
address public immutable pair;
bool public tradingOpen = false;
bool public swapEnabled = true;
uint256 public swapThreshold = totalSupply / 200;
bool inSwap;
modifier swapping() { inSwap = true; _; inSwap = false; }
uint256 public lastContractSellBlock;
uint256 public MIN_BLOCKS_BETWEEN_CONTRACT_SELLS = 1;
constructor () Auth(msg.sender) {
router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
WETH = router.WETH();
pair = IDEXFactory(router.factory()).createPair(WETH, address(this));
_allowances[address(this)][address(router)] = type(uint256).max;
marketingWallet = 0x256Ce426Eae5ff2691822136a31e70df0C53C0cC;
isFeeExempt[msg.sender] = true;
isFeeExempt[marketingWallet] = true;
balanceOf[msg.sender] = totalSupply;
emit Transfer(address(0), msg.sender, totalSupply);
}
receive() external payable { }
function getOwner() external view override returns (address) { return owner; }
function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }
function approve(address spender, uint256 amount) public override returns (bool) {
_allowances[msg.sender][spender] = amount;
emit Approval(msg.sender, spender, amount);
return true;
}
function approveMax(address spender) external returns (bool) {
return approve(spender, type(uint256).max);
}
function transfer(address recipient, uint256 amount) external override returns (bool) {
return _transferFrom(msg.sender, recipient, amount);
}
function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
if(_allowances[sender][msg.sender] != type(uint256).max){
_allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
}
return _transferFrom(sender, recipient, amount);
}
function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
if(inSwap){ return _basicTransfer(sender, recipient, amount); }
if(!isFeeExempt[sender] && !isFeeExempt[recipient]){
require(tradingOpen,"Trading not open yet");
}
if(shouldSwapBack() && recipient == pair && (block.number >= lastContractSellBlock + MIN_BLOCKS_BETWEEN_CONTRACT_SELLS)) {
swapBack();
}
balanceOf[sender] = balanceOf[sender].sub(amount, "Insufficient Balance");
uint256 amountReceived = (isFeeExempt[sender] || isFeeExempt[recipient]) ? amount : takeFee(sender, amount, recipient);
balanceOf[recipient] = balanceOf[recipient].add(amountReceived);
emit Transfer(sender, recipient, amountReceived);
return true;
}
function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
balanceOf[sender] = balanceOf[sender].sub(amount, "Insufficient Balance");
balanceOf[recipient] = balanceOf[recipient].add(amount);
emit Transfer(sender, recipient, amount);
return true;
}
function takeFee(address sender, uint256 amount, address recipient) internal returns (uint256) {
uint256 multiplier = transferFee;
if(recipient == pair) {
multiplier = sellFee;
} else if(sender == pair) {
multiplier = buyFee;
}
if(amount == 0 || multiplier == 0){
return amount;
}
uint256 feeAmount = amount.mul(multiplier).div(100);
if(feeAmount > 0){
balanceOf[address(this)] = balanceOf[address(this)].add(feeAmount);
emit Transfer(sender, address(this), feeAmount);
}
return amount.sub(feeAmount);
}
function shouldSwapBack() internal view returns (bool) {
return !inSwap
&& swapEnabled
&& balanceOf[address(this)] >= swapThreshold;
}
function enableTrading() external onlyOwner {
tradingOpen = true;
}
function swapdelay(uint256 _blocks) external onlyOwner {
MIN_BLOCKS_BETWEEN_CONTRACT_SELLS = _blocks;
}
function swapBack() internal swapping {
uint256 amountToSwap = swapThreshold;
address[] memory path = new address[](2);
path[0] = address(this);
path[1] = WETH;
router.swapExactTokensForETHSupportingFeeOnTransferTokens(
amountToSwap,
0,
path,
payable(marketingWallet),
block.timestamp
);
lastContractSellBlock = block.number;
}
function removeFees() external onlyOwner {
buyFee = 0;
sellFee = 0;
}
function setSwapBackSettings(bool _enabled, uint256 _amount) external onlyOwner {
require(_amount < (totalSupply/20), "Amount too high, max allowed in 5%");
swapEnabled = _enabled;
swapThreshold = _amount;
}
function getCirculatingSupply() public view returns (uint256) {
return (totalSupply - balanceOf[DEAD] - balanceOf[ZERO]);
}
}
Read Contract
MIN_BLOCKS_BETWEEN_CONTRACT_SELLS 0xda8d0bd0 → uint256
allowance 0xdd62ed3e → uint256
balanceOf 0x70a08231 → uint256
decimals 0x313ce567 → uint8
getCirculatingSupply 0x2b112e49 → uint256
getOwner 0x893d20e8 → address
isFeeExempt 0x3f4218e0 → bool
isOwner 0x2f54bf6e → bool
lastContractSellBlock 0x516239de → uint256
marketingWallet 0x75f0a874 → address
name 0x06fdde03 → string
owner 0x8da5cb5b → address
pair 0xa8aa1b31 → address
router 0xf887ea40 → address
swapEnabled 0x6ddd1713 → bool
swapThreshold 0x0445b667 → uint256
symbol 0x95d89b41 → string
totalSupply 0x18160ddd → uint256
tradingOpen 0xffb54a99 → bool
Write Contract 9 functions
These functions modify contract state and require a wallet transaction to execute.
approve 0x095ea7b3
address spender
uint256 amount
returns: bool
approveMax 0x571ac8b0
address spender
returns: bool
enableTrading 0x8a8c523c
No parameters
removeFees 0xf6b20c3b
No parameters
renounceOwnership 0x715018a6
No parameters
setSwapBackSettings 0xdf20fd49
bool _enabled
uint256 _amount
swapdelay 0x2c18c23d
uint256 _blocks
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