Overview
ETH Balance
0.005 ETH
Eth Value
$8.71 (@ $1,741.23/ETH)More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 178 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Set Can Use Anti... | 22317313 | 34 hrs ago | IN | 0.005 ETH | 0.00021968 | ||||
Set Can Use Anti... | 22310467 | 2 days ago | IN | 0.005 ETH | 0.00020058 | ||||
Set Exempt | 22300288 | 3 days ago | IN | 0 ETH | 0.00005182 | ||||
Set Exempt | 22300286 | 3 days ago | IN | 0 ETH | 0.00004728 | ||||
Set Can Use Anti... | 22297782 | 4 days ago | IN | 0.005 ETH | 0.00023212 | ||||
Set Can Use Anti... | 22297572 | 4 days ago | IN | 0.005 ETH | 0.00023617 | ||||
Set Can Use Anti... | 22248835 | 10 days ago | IN | 0.005 ETH | 0.00035323 | ||||
Set Exempt | 22246790 | 11 days ago | IN | 0 ETH | 0.00021949 | ||||
Set Exempt | 22246788 | 11 days ago | IN | 0 ETH | 0.0001988 | ||||
Set Can Use Anti... | 22246764 | 11 days ago | IN | 0.005 ETH | 0.0007757 | ||||
Set Exempt | 22245651 | 11 days ago | IN | 0 ETH | 0.00015474 | ||||
Set Exempt | 22245648 | 11 days ago | IN | 0 ETH | 0.00007123 | ||||
Set Can Use Anti... | 22245632 | 11 days ago | IN | 0.005 ETH | 0.00031025 | ||||
Set Exempt | 22245217 | 11 days ago | IN | 0 ETH | 0.00013682 | ||||
Set Exempt | 22245214 | 11 days ago | IN | 0 ETH | 0.00012573 | ||||
Set Can Use Anti... | 22244622 | 11 days ago | IN | 0.005 ETH | 0.00026972 | ||||
Set Exempt | 22238227 | 12 days ago | IN | 0 ETH | 0.00005518 | ||||
Set Exempt | 22238222 | 12 days ago | IN | 0 ETH | 0.00006111 | ||||
Set Exempt | 22237752 | 12 days ago | IN | 0 ETH | 0.00006578 | ||||
Set Exempt | 22237749 | 12 days ago | IN | 0 ETH | 0.00006458 | ||||
Set Can Use Anti... | 22237662 | 12 days ago | IN | 0.005 ETH | 0.00029977 | ||||
Set Can Use Anti... | 22237323 | 12 days ago | IN | 0.005 ETH | 0.00030811 | ||||
Set Can Use Anti... | 22234332 | 13 days ago | IN | 0.005 ETH | 0.00052453 | ||||
Set Exempt | 22232304 | 13 days ago | IN | 0 ETH | 0.00008011 | ||||
Set Exempt | 22232302 | 13 days ago | IN | 0 ETH | 0.00007446 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Method | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|---|
Pay Service | 22317313 | 34 hrs ago | 0.005 ETH | ||||
Pay Service | 22310467 | 2 days ago | 0.005 ETH | ||||
Pay Service | 22297782 | 4 days ago | 0.005 ETH | ||||
Pay Service | 22297572 | 4 days ago | 0.005 ETH | ||||
Pay Service | 22248835 | 10 days ago | 0.005 ETH | ||||
Pay Service | 22246764 | 11 days ago | 0.005 ETH | ||||
Pay Service | 22245632 | 11 days ago | 0.005 ETH | ||||
Pay Service | 22244622 | 11 days ago | 0.005 ETH | ||||
Pay Service | 22237662 | 12 days ago | 0.005 ETH | ||||
Pay Service | 22237323 | 12 days ago | 0.005 ETH | ||||
Pay Service | 22234332 | 13 days ago | 0.005 ETH | ||||
Pay Service | 22232274 | 13 days ago | 0.005 ETH | ||||
Pay Service | 22232118 | 13 days ago | 0.005 ETH | ||||
Pay Service | 22220155 | 14 days ago | 0.005 ETH | ||||
Pay Service | 22204902 | 17 days ago | 0.005 ETH | ||||
Pay Service | 22145797 | 25 days ago | 0.005 ETH | ||||
Pay Service | 22135232 | 26 days ago | 0.005 ETH | ||||
Pay Service | 22132311 | 27 days ago | 0.005 ETH | ||||
Pay Service | 22129381 | 27 days ago | 0.005 ETH | ||||
Pay Service | 22129061 | 27 days ago | 0.005 ETH | ||||
Pay Service | 22122397 | 28 days ago | 0.005 ETH | ||||
Pay Service | 22079752 | 34 days ago | 0.005 ETH | ||||
Pay Service | 22074408 | 35 days ago | 0.005 ETH | ||||
Pay Service | 22074029 | 35 days ago | 0.005 ETH | ||||
Pay Service | 22060323 | 37 days ago | 0.005 ETH |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
ERC20AntiBot
Compiler Version
v0.8.24+commit.e11b9ed9
Optimization Enabled:
Yes with 1000 runs
Other Settings:
paris EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.24; /* &&&&&& &&&&& &% &&&&&&&&&&&&&&& && &&&&&&&&&&% &&&&&&& &&&&& #&&&&&&&&&&&&& &&&&& &&&&&&& && &&&& &% &&&&&&& &&. &&&&&&&&&& & %&&&&&&& &&&& &&&& *&&&&&&&&& &&&&&&&&& &&&& .&&& &&&&&&&& &&&&&&&& &&& .&&&&&&& &&&&&&& &&&% &&&&&& &&&&&& &&&&& /&&&&. &&&& %&&& #&&&, &&&&( &&&&&&&&&&&&& &&&&&&&&&&&&&&&&&&&&&&&&&&&& &&&&&&&&&& &&&% &&&&&&&&&&&&&&&&&&&&&&&&& &&& &&& &&&* &&&&&&&&&&&&&&&&&&&&& &&* &&& .&&&&&& &&&&&&&&&&&&&&&&&&&& &&&&& && &&& #&&&&&& &&&&&&&&&&&&&&&&&&&&& &&&&& && &&& &&&& &&&&&&&&&&&&&&&&&&&&&& #&& &&& &&& &&&&&&&&&&&&&&&&&&&&&&&&, *&&& (&&&&&&&&&&&&&&&&&&&& &&&&&&&&&&&% &&&&&&&&&&&&&&&&& &&&&& &&&&&&&&&&&&&&&&&& %&&&&&&& &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&# &&&&&&&&&&&&&&&&&&&&&&&&&&&& &&&&&&&&&&&&&&&&&&&& */ /* * ERC20AntiBot contract * This contract is used to control bad actors using bots on trades */ /// @title ERC20AntiBot /// @author Smithii import {IERC20AntiBot} from "./interfaces/services/IERC20AntiBot.sol"; import {Indexable} from "./utils/Indexable.sol"; import {Payable} from "./utils/Payable.sol"; contract ERC20AntiBot is IERC20AntiBot, Payable, Indexable { constructor( address _indexer, address _payments, string memory _serviceId ) Indexable(_indexer) Payable(_payments, _serviceId) {} /// mappings mapping(address => mapping(address => uint256)) private buyBlock; mapping(address => Options) private canUseAntiBot; mapping(address => mapping(address => bool)) public exempts; /// @inheritdoc IERC20AntiBot function isBotDetected(address _from) public view returns (bool) { if (isExempt(msg.sender, _from)) return false; if (isActive(msg.sender)) { return (buyBlock[msg.sender][_from] == block.number); } return false; } /// @inheritdoc IERC20AntiBot function registerBlock(address _to) external { if (isActive(msg.sender)) { buyBlock[msg.sender][_to] = block.number; } } /// set a token address to be registered in the AntiBot /// @param _tokenAddress the address to check /// @param _options the options for anti bot function _setCanUseAntiBot( address _tokenAddress, Options memory _options ) internal { canUseAntiBot[_tokenAddress] = _options; } /// @inheritdoc IERC20AntiBot function setCanUseAntiBot( bytes32 projectId, address _tokenAddress ) external payable onlyProjectOwner(_tokenAddress) { if (canUseAntiBot[_tokenAddress].active) revert TokenAlreadyActiveOnAntiBot(); Options memory _options = Options(true, true); _setCanUseAntiBot(_tokenAddress, _options); payService(projectId, _tokenAddress, 1); } /// @inheritdoc IERC20AntiBot function setActive( address _tokenAddress, bool _active ) external onlyProjectOwner(_tokenAddress) { if (!canUseAntiBot[_tokenAddress].active) revert TokenNotActiveOnAntiBot(); canUseAntiBot[_tokenAddress].applied = _active; } /// @inheritdoc IERC20AntiBot function setExempt( address _tokenAddress, address _traderAddress, bool _exempt ) external onlyProjectOwner(_tokenAddress) { if (!canUseAntiBot[_tokenAddress].active) revert TokenNotActiveOnAntiBot(); exempts[_tokenAddress][_traderAddress] = _exempt; } /// @inheritdoc IERC20AntiBot function isExempt( address _tokenAddress, address _traderAddress ) public view returns (bool) { return exempts[_tokenAddress][_traderAddress]; } /// @inheritdoc IERC20AntiBot function isActive(address _tokenAddress) public view returns (bool) { if (!canUseAntiBot[_tokenAddress].active) return false; return canUseAntiBot[_tokenAddress].applied; } /// @inheritdoc IERC20AntiBot function canUse(address _tokenAddress) public view returns (bool) { return canUseAntiBot[_tokenAddress].active; } }
// SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.24; /* * IIndexer Inteface */ /// @title IIndexer /// @author Smithii interface IIndexer { /// Structs struct Contract { address contractAddress; string contracType; string name; string symbol; } struct Project { address owner; Contract[] contracts; } /// Errors error ProjectContractAlreadyRegistered(); error ProjectIndexAlreadyRegistered(); /// Events event ProjectRegistered( bytes32 projectId, address owner, address contractAddress, string contractType ); /// Register a project in the Indexer /// @param _projectId bytes32 projectId /// @param _owner the owner of the project /// @param _contract the contract address function registerProject( bytes32 _projectId, address _owner, address _contract, string memory _contractType, string memory _name, string memory _symbol ) external; /// Check if the ProjectIndex is registered /// @param _projectId bytes32 projectId /// @return bool if the proyect is aleady registered function isProjectIndexRegistered( bytes32 _projectId ) external returns (bool); /// Check if a contract is registered in the project /// @param _contract the contract address /// @return bool if the proyect is aleady registered` function isContractRegistered(address _contract) external returns (bool); /// @param _projectId the project Index function getProjectOwner(bytes32 _projectId) external returns (address); /// /// @param _projectAddress address of the project function getProjectAddressOwner( address _projectAddress ) external returns (address); /// /// @param _projectAddress address of the project /// @return address the owner of the project /// @return address[] the contracts of the project function getProjectInfoByProjectAddress( address _projectAddress ) external returns (address, Contract[] memory); /// /// @param _projectId bytes32 projectId /// @return address the owner of the project /// @return address[] the contracts of the project function getProjectInfoByIndex( bytes32 _projectId ) external returns (address, Contract[] memory); }
// SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.24; /* * IPayments interface */ /// @title Payments /// @author Smithii interface IPayments { struct Service { bytes32 serviceId; uint256 pricePerItem; bool active; } struct Invoice { address user; Service service; uint256 qty; uint256 total; uint256 timestamp; } /// Events event ServiceAdded(bytes32 serviceId, string name, uint256 price); event ServiceSet(bytes32 serviceId, bool active); event ServicePaid( bytes32 projectId, address contractAddress, bytes32 serviceId, address user, uint256 amount, uint256 timestamp ); event ServiceWithdraw( bytes32 projectId, address contractAddress, bytes32 serviceId, uint256 amount ); /// Errors error ServiceNotActive(bytes32 serviceId); error InvalidTotalAmount(); error ServiceAlreadyPaid( bytes32 projectId, address contractAddress, bytes32 serviceId ); /// Add a service to the payment program /// @param _serviceId the service id /// @param _pricePerItem the price per item function addService(bytes32 _serviceId, uint256 _pricePerItem) external; /// Set the service active status /// @param _serviceId the service id /// @param _active the active status function setService(bytes32 _serviceId, bool _active) external; /// function payService by projectId and contract address /// @param _projectId bytes32 projectId /// @param _contract the contract address /// @param _serviceId the service id /// @param _qty the qty of items to pay function payService( bytes32 _projectId, address _contract, bytes32 _serviceId, uint256 _qty ) external payable; /// Withdraw per invoice /// @param _projectId the project id /// @param _contract the contract address /// @param _serviceId the service id /// @param _to the address to withdraw the balance function withdraw( bytes32 _projectId, address _contract, bytes32 _serviceId, address payable _to ) external; /// Withdraw the contract balance /// @param _to the address to withdraw the balance function withdrawAll(address payable _to) external; }
// SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.24; /* * IERC20AntiBot interface */ /// @title ERC20AntiBot /// @author Smithii interface IERC20AntiBot { struct Options { bool applied; bool active; } /// errors error TokenNotActiveOnAntiBot(); error TokenAlreadyActiveOnAntiBot(); /// /// @param _from the address to check function isBotDetected(address _from) external returns (bool); /// Registers the block number of the receiver /// @param _to the address to register function registerBlock(address _to) external; /// Registers and pay for a token address to use the Antibot /// @param projectId the project id /// @param _tokenAddress the address to register function setCanUseAntiBot( bytes32 projectId, address _tokenAddress ) external payable; /// Set the exempt status of a trader /// @param _tokenAddress the token address /// @param _traderAddress the trader address /// @param _exempt the exempt status function setExempt( address _tokenAddress, address _traderAddress, bool _exempt ) external; /// helper function to check if the trader is exempt /// @param _tokenAddress the token address /// @param _traderAddress the trader address function isExempt( address _tokenAddress, address _traderAddress ) external returns (bool); /// /// @param _tokenAddress the token address /// @param _active the active oft he options to be applied function setActive(address _tokenAddress, bool _active) external; /// Check if the token address is active to use the Antibot /// @param _tokenAddress the address to check function isActive(address _tokenAddress) external returns (bool); /// Get if the token address can use the Antibot /// @param _tokenAddress the address to check function canUse(address _tokenAddress) external returns (bool); }
// SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.24; /// @title Indexable /// @author Smithii import {IIndexer} from "../interfaces/marketplace/IIndexer.sol"; abstract contract Indexable { address public indexer = address(0); bytes32 public projectId; /// errors error NotPtojectOwner(); constructor(address _indexer) { indexer = _indexer; } modifier onlyProjectOwner(address _address) { if (getProjectAddressOwner(_address) != msg.sender) revert NotPtojectOwner(); _; } /// Registers the project in the Indexer /// @param _projectId the project id /// @param _owner the owner of the project /// @param _contract the contract address /// @param _contractType the contract type eg. ERC20, ERC721 function registerProject( bytes32 _projectId, address _owner, address _contract, string memory _contractType, string memory _name, string memory _symbol ) public { IIndexer(indexer).registerProject( _projectId, _owner, _contract, _contractType, _name, _symbol ); } /// /// @param _projectAddress the project address function isContractRegistered( address _projectAddress ) public returns (bool) { return IIndexer(indexer).isContractRegistered(_projectAddress); } /// /// @param _projectId the project id function getProjectOwner(bytes32 _projectId) public returns (address) { return IIndexer(indexer).getProjectOwner(_projectId); } function getProjectAddressOwner( address _projectAddress ) public returns (address) { return IIndexer(indexer).getProjectAddressOwner(_projectAddress); } }
// SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.24; /// @title Payable /// @author Smithii import {IPayments} from "../interfaces/marketplace/IPayments.sol"; abstract contract Payable { address public payments = address(0); bytes32 public serviceId; constructor(address _payments, string memory _serviceId) { payments = _payments; serviceId = keccak256(abi.encodePacked(_serviceId)); } /// /// @param _projectId the project id /// @param _token the token address /// @param qty the qty of items to pay function payService( bytes32 _projectId, address _token, uint256 qty ) public payable { IPayments(payments).payService{value: msg.value}( _projectId, _token, serviceId, qty ); } receive() external payable {} }
{ "optimizer": { "enabled": true, "runs": 1000 }, "evmVersion": "paris", "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_indexer","type":"address"},{"internalType":"address","name":"_payments","type":"address"},{"internalType":"string","name":"_serviceId","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"NotPtojectOwner","type":"error"},{"inputs":[],"name":"TokenAlreadyActiveOnAntiBot","type":"error"},{"inputs":[],"name":"TokenNotActiveOnAntiBot","type":"error"},{"inputs":[{"internalType":"address","name":"_tokenAddress","type":"address"}],"name":"canUse","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"exempts","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_projectAddress","type":"address"}],"name":"getProjectAddressOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_projectId","type":"bytes32"}],"name":"getProjectOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"indexer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenAddress","type":"address"}],"name":"isActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"}],"name":"isBotDetected","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_projectAddress","type":"address"}],"name":"isContractRegistered","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenAddress","type":"address"},{"internalType":"address","name":"_traderAddress","type":"address"}],"name":"isExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_projectId","type":"bytes32"},{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"qty","type":"uint256"}],"name":"payService","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"payments","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"projectId","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"}],"name":"registerBlock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_projectId","type":"bytes32"},{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_contract","type":"address"},{"internalType":"string","name":"_contractType","type":"string"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"}],"name":"registerProject","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"serviceId","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenAddress","type":"address"},{"internalType":"bool","name":"_active","type":"bool"}],"name":"setActive","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"projectId","type":"bytes32"},{"internalType":"address","name":"_tokenAddress","type":"address"}],"name":"setCanUseAntiBot","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_tokenAddress","type":"address"},{"internalType":"address","name":"_traderAddress","type":"address"},{"internalType":"bool","name":"_exempt","type":"bool"}],"name":"setExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052600080546001600160a01b03199081169091556002805490911690553480156200002d57600080fd5b5060405162000fd338038062000fd3833981016040819052620000509162000124565b600080546001600160a01b0319166001600160a01b0384161790556040518390839083906200008490829060200162000204565b60408051808303601f1901815291905280516020909101206001555050600280546001600160a01b0319166001600160a01b03929092169190911790555062000222915050565b80516001600160a01b0381168114620000e357600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b838110156200011b57818101518382015260200162000101565b50506000910152565b6000806000606084860312156200013a57600080fd5b6200014584620000cb565b92506200015560208501620000cb565b60408501519092506001600160401b03808211156200017357600080fd5b818601915086601f8301126200018857600080fd5b8151818111156200019d576200019d620000e8565b604051601f8201601f19908116603f01168101908382118183101715620001c857620001c8620000e8565b81604052828152896020848701011115620001e257600080fd5b620001f5836020830160208801620000fe565b80955050505050509250925092565b6000825162000218818460208701620000fe565b9190910192915050565b610da180620002326000396000f3fe60806040526004361061012d5760003560e01c8063c0e9d8b0116100a5578063e06118b711610074578063f4b6122211610059578063f4b6122214610379578063f9f6b49b1461038c578063fa12b14c146103ac57600080fd5b8063e06118b714610339578063ec253dbc1461035957600080fd5b8063c0e9d8b01461029a578063d406b88a146102ba578063da20ec6a146102da578063dfc693f0146102f057600080fd5b80636f058fd2116100fc578063a571c0d1116100e1578063a571c0d11461021f578063a6d23e101461023f578063b092abfb1461025f57600080fd5b80636f058fd2146101b75780639f8a13d7146101ef57600080fd5b80630df344af146101395780632ce962cf1461014e5780633fafa1271461016e578063466634291461019757600080fd5b3661013457005b600080fd5b61014c6101473660046109ba565b6103ea565b005b34801561015a57600080fd5b5061014c6101693660046109f8565b6104db565b34801561017a57600080fd5b5061018460035481565b6040519081526020015b60405180910390f35b3480156101a357600080fd5b5061014c6101b2366004610ae2565b610577565b3480156101c357600080fd5b506101d76101d2366004610b98565b610604565b6040516001600160a01b03909116815260200161018e565b3480156101fb57600080fd5b5061020f61020a366004610b98565b610695565b604051901515815260200161018e565b34801561022b57600080fd5b5061014c61023a366004610b98565b6106e1565b34801561024b57600080fd5b506000546101d7906001600160a01b031681565b34801561026b57600080fd5b5061020f61027a366004610bbc565b600660209081526000928352604080842090915290825290205460ff1681565b3480156102a657600080fd5b5061014c6102b5366004610bea565b610719565b3480156102c657600080fd5b5061020f6102d5366004610b98565b6107c4565b3480156102e657600080fd5b5061018460015481565b3480156102fc57600080fd5b5061020f61030b366004610bbc565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205460ff1690565b34801561034557600080fd5b506002546101d7906001600160a01b031681565b34801561036557600080fd5b506101d7610374366004610c35565b610839565b61014c610387366004610c4e565b610884565b34801561039857600080fd5b5061020f6103a7366004610b98565b61091b565b3480156103b857600080fd5b5061020f6103c7366004610b98565b6001600160a01b0316600090815260056020526040902054610100900460ff1690565b80336103f582610604565b6001600160a01b03161461041c5760405163e0b2364960e01b815260040160405180910390fd5b6001600160a01b038216600090815260056020526040902054610100900460ff1615610474576040517f3f72e1b000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082018252600180825260208083019182526001600160a01b038616600090815260059091529290922081518154935161ffff1990941690151561ff0019161761010093151593909302929092179091556104d584846001610884565b50505050565b81336104e682610604565b6001600160a01b03161461050d5760405163e0b2364960e01b815260040160405180910390fd5b6001600160a01b038316600090815260056020526040902054610100900460ff1661054b57604051639d38be3360e01b815260040160405180910390fd5b506001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b6002546040517f466634290000000000000000000000000000000000000000000000000000000081526001600160a01b03909116906346663429906105ca90899089908990899089908990600401610ccc565b600060405180830381600087803b1580156105e457600080fd5b505af11580156105f8573d6000803e3d6000fd5b50505050505050505050565b6002546040517f6f058fd20000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301526000921690636f058fd2906024015b6020604051808303816000875af115801561066b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061068f9190610d31565b92915050565b6001600160a01b038116600090815260056020526040812054610100900460ff166106c257506000919050565b506001600160a01b031660009081526005602052604090205460ff1690565b6106ea33610695565b15610716573360009081526004602090815260408083206001600160a01b038516845290915290204390555b50565b823361072482610604565b6001600160a01b03161461074b5760405163e0b2364960e01b815260040160405180910390fd5b6001600160a01b038416600090815260056020526040902054610100900460ff1661078957604051639d38be3360e01b815260040160405180910390fd5b506001600160a01b03928316600090815260066020908152604080832094909516825292909252919020805460ff1916911515919091179055565b3360009081526006602090815260408083206001600160a01b038516845290915281205460ff16156107f857506000919050565b61080133610695565b1561083157503360009081526004602090815260408083206001600160a01b039490941683529290522054431490565b506000919050565b6002546040517fec253dbc000000000000000000000000000000000000000000000000000000008152600481018390526000916001600160a01b03169063ec253dbc9060240161064c565b6000546001546040517f8690b8c9000000000000000000000000000000000000000000000000000000008152600481018690526001600160a01b038581166024830152604482019290925260648101849052911690638690b8c99034906084016000604051808303818588803b1580156108fd57600080fd5b505af1158015610911573d6000803e3d6000fd5b5050505050505050565b6002546040517ff9f6b49b0000000000000000000000000000000000000000000000000000000081526001600160a01b038381166004830152600092169063f9f6b49b906024016020604051808303816000875af1158015610981573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061068f9190610d4e565b6001600160a01b038116811461071657600080fd5b600080604083850312156109cd57600080fd5b8235915060208301356109df816109a5565b809150509250929050565b801515811461071657600080fd5b60008060408385031215610a0b57600080fd5b8235610a16816109a5565b915060208301356109df816109ea565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112610a6657600080fd5b813567ffffffffffffffff80821115610a8157610a81610a26565b604051601f8301601f19908116603f01168101908282118183101715610aa957610aa9610a26565b81604052838152866020858801011115610ac257600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060c08789031215610afb57600080fd5b863595506020870135610b0d816109a5565b94506040870135610b1d816109a5565b9350606087013567ffffffffffffffff80821115610b3a57600080fd5b610b468a838b01610a55565b94506080890135915080821115610b5c57600080fd5b610b688a838b01610a55565b935060a0890135915080821115610b7e57600080fd5b50610b8b89828a01610a55565b9150509295509295509295565b600060208284031215610baa57600080fd5b8135610bb5816109a5565b9392505050565b60008060408385031215610bcf57600080fd5b8235610bda816109a5565b915060208301356109df816109a5565b600080600060608486031215610bff57600080fd5b8335610c0a816109a5565b92506020840135610c1a816109a5565b91506040840135610c2a816109ea565b809150509250925092565b600060208284031215610c4757600080fd5b5035919050565b600080600060608486031215610c6357600080fd5b833592506020840135610c75816109a5565b929592945050506040919091013590565b6000815180845260005b81811015610cac57602081850181015186830182015201610c90565b506000602082860101526020601f19601f83011685010191505092915050565b86815260006001600160a01b03808816602084015280871660408401525060c06060830152610cfe60c0830186610c86565b8281036080840152610d108186610c86565b905082810360a0840152610d248185610c86565b9998505050505050505050565b600060208284031215610d4357600080fd5b8151610bb5816109a5565b600060208284031215610d6057600080fd5b8151610bb5816109ea56fea2646970667358221220f7be706641a0a56d6bd42335dfc99d8d6ed778bb3ac9f3ca2a4aa345a15f87a764736f6c6343000818003300000000000000000000000097219a5865fe186817d581a56b3b451a3fa62e19000000000000000000000000d5765b5d565227a27dd7c96b32b2600958c9ce9c0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000c4552433230416e7469426f740000000000000000000000000000000000000000
Deployed Bytecode
0x60806040526004361061012d5760003560e01c8063c0e9d8b0116100a5578063e06118b711610074578063f4b6122211610059578063f4b6122214610379578063f9f6b49b1461038c578063fa12b14c146103ac57600080fd5b8063e06118b714610339578063ec253dbc1461035957600080fd5b8063c0e9d8b01461029a578063d406b88a146102ba578063da20ec6a146102da578063dfc693f0146102f057600080fd5b80636f058fd2116100fc578063a571c0d1116100e1578063a571c0d11461021f578063a6d23e101461023f578063b092abfb1461025f57600080fd5b80636f058fd2146101b75780639f8a13d7146101ef57600080fd5b80630df344af146101395780632ce962cf1461014e5780633fafa1271461016e578063466634291461019757600080fd5b3661013457005b600080fd5b61014c6101473660046109ba565b6103ea565b005b34801561015a57600080fd5b5061014c6101693660046109f8565b6104db565b34801561017a57600080fd5b5061018460035481565b6040519081526020015b60405180910390f35b3480156101a357600080fd5b5061014c6101b2366004610ae2565b610577565b3480156101c357600080fd5b506101d76101d2366004610b98565b610604565b6040516001600160a01b03909116815260200161018e565b3480156101fb57600080fd5b5061020f61020a366004610b98565b610695565b604051901515815260200161018e565b34801561022b57600080fd5b5061014c61023a366004610b98565b6106e1565b34801561024b57600080fd5b506000546101d7906001600160a01b031681565b34801561026b57600080fd5b5061020f61027a366004610bbc565b600660209081526000928352604080842090915290825290205460ff1681565b3480156102a657600080fd5b5061014c6102b5366004610bea565b610719565b3480156102c657600080fd5b5061020f6102d5366004610b98565b6107c4565b3480156102e657600080fd5b5061018460015481565b3480156102fc57600080fd5b5061020f61030b366004610bbc565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205460ff1690565b34801561034557600080fd5b506002546101d7906001600160a01b031681565b34801561036557600080fd5b506101d7610374366004610c35565b610839565b61014c610387366004610c4e565b610884565b34801561039857600080fd5b5061020f6103a7366004610b98565b61091b565b3480156103b857600080fd5b5061020f6103c7366004610b98565b6001600160a01b0316600090815260056020526040902054610100900460ff1690565b80336103f582610604565b6001600160a01b03161461041c5760405163e0b2364960e01b815260040160405180910390fd5b6001600160a01b038216600090815260056020526040902054610100900460ff1615610474576040517f3f72e1b000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080518082018252600180825260208083019182526001600160a01b038616600090815260059091529290922081518154935161ffff1990941690151561ff0019161761010093151593909302929092179091556104d584846001610884565b50505050565b81336104e682610604565b6001600160a01b03161461050d5760405163e0b2364960e01b815260040160405180910390fd5b6001600160a01b038316600090815260056020526040902054610100900460ff1661054b57604051639d38be3360e01b815260040160405180910390fd5b506001600160a01b03919091166000908152600560205260409020805460ff1916911515919091179055565b6002546040517f466634290000000000000000000000000000000000000000000000000000000081526001600160a01b03909116906346663429906105ca90899089908990899089908990600401610ccc565b600060405180830381600087803b1580156105e457600080fd5b505af11580156105f8573d6000803e3d6000fd5b50505050505050505050565b6002546040517f6f058fd20000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301526000921690636f058fd2906024015b6020604051808303816000875af115801561066b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061068f9190610d31565b92915050565b6001600160a01b038116600090815260056020526040812054610100900460ff166106c257506000919050565b506001600160a01b031660009081526005602052604090205460ff1690565b6106ea33610695565b15610716573360009081526004602090815260408083206001600160a01b038516845290915290204390555b50565b823361072482610604565b6001600160a01b03161461074b5760405163e0b2364960e01b815260040160405180910390fd5b6001600160a01b038416600090815260056020526040902054610100900460ff1661078957604051639d38be3360e01b815260040160405180910390fd5b506001600160a01b03928316600090815260066020908152604080832094909516825292909252919020805460ff1916911515919091179055565b3360009081526006602090815260408083206001600160a01b038516845290915281205460ff16156107f857506000919050565b61080133610695565b1561083157503360009081526004602090815260408083206001600160a01b039490941683529290522054431490565b506000919050565b6002546040517fec253dbc000000000000000000000000000000000000000000000000000000008152600481018390526000916001600160a01b03169063ec253dbc9060240161064c565b6000546001546040517f8690b8c9000000000000000000000000000000000000000000000000000000008152600481018690526001600160a01b038581166024830152604482019290925260648101849052911690638690b8c99034906084016000604051808303818588803b1580156108fd57600080fd5b505af1158015610911573d6000803e3d6000fd5b5050505050505050565b6002546040517ff9f6b49b0000000000000000000000000000000000000000000000000000000081526001600160a01b038381166004830152600092169063f9f6b49b906024016020604051808303816000875af1158015610981573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061068f9190610d4e565b6001600160a01b038116811461071657600080fd5b600080604083850312156109cd57600080fd5b8235915060208301356109df816109a5565b809150509250929050565b801515811461071657600080fd5b60008060408385031215610a0b57600080fd5b8235610a16816109a5565b915060208301356109df816109ea565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112610a6657600080fd5b813567ffffffffffffffff80821115610a8157610a81610a26565b604051601f8301601f19908116603f01168101908282118183101715610aa957610aa9610a26565b81604052838152866020858801011115610ac257600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060c08789031215610afb57600080fd5b863595506020870135610b0d816109a5565b94506040870135610b1d816109a5565b9350606087013567ffffffffffffffff80821115610b3a57600080fd5b610b468a838b01610a55565b94506080890135915080821115610b5c57600080fd5b610b688a838b01610a55565b935060a0890135915080821115610b7e57600080fd5b50610b8b89828a01610a55565b9150509295509295509295565b600060208284031215610baa57600080fd5b8135610bb5816109a5565b9392505050565b60008060408385031215610bcf57600080fd5b8235610bda816109a5565b915060208301356109df816109a5565b600080600060608486031215610bff57600080fd5b8335610c0a816109a5565b92506020840135610c1a816109a5565b91506040840135610c2a816109ea565b809150509250925092565b600060208284031215610c4757600080fd5b5035919050565b600080600060608486031215610c6357600080fd5b833592506020840135610c75816109a5565b929592945050506040919091013590565b6000815180845260005b81811015610cac57602081850181015186830182015201610c90565b506000602082860101526020601f19601f83011685010191505092915050565b86815260006001600160a01b03808816602084015280871660408401525060c06060830152610cfe60c0830186610c86565b8281036080840152610d108186610c86565b905082810360a0840152610d248185610c86565b9998505050505050505050565b600060208284031215610d4357600080fd5b8151610bb5816109a5565b600060208284031215610d6057600080fd5b8151610bb5816109ea56fea2646970667358221220f7be706641a0a56d6bd42335dfc99d8d6ed778bb3ac9f3ca2a4aa345a15f87a764736f6c63430008180033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000097219a5865fe186817d581a56b3b451a3fa62e19000000000000000000000000d5765b5d565227a27dd7c96b32b2600958c9ce9c0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000c4552433230416e7469426f740000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : _indexer (address): 0x97219a5865fe186817D581A56B3b451a3Fa62E19
Arg [1] : _payments (address): 0xD5765b5d565227A27dD7C96B32b2600958c9cE9c
Arg [2] : _serviceId (string): ERC20AntiBot
-----Encoded View---------------
5 Constructor Arguments found :
Arg [0] : 00000000000000000000000097219a5865fe186817d581a56b3b451a3fa62e19
Arg [1] : 000000000000000000000000d5765b5d565227a27dd7c96b32b2600958c9ce9c
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [3] : 000000000000000000000000000000000000000000000000000000000000000c
Arg [4] : 4552433230416e7469426f740000000000000000000000000000000000000000
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.