Overview
ETH Balance
0.000799799799800184 ETH
Eth Value
$2.76 (@ $3,445.57/ETH)More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 34 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Send Revenue | 17767652 | 364 days ago | IN | 0 ETH | 0.06213458 | ||||
Add Account | 17767648 | 364 days ago | IN | 0 ETH | 0.01367122 | ||||
Transfer | 17767645 | 364 days ago | IN | 0.4 ETH | 0.00040866 | ||||
Send Revenue | 17689760 | 375 days ago | IN | 0 ETH | 0.05823391 | ||||
Add Account | 17689752 | 375 days ago | IN | 0 ETH | 0.01063986 | ||||
Transfer | 17689749 | 375 days ago | IN | 0.4 ETH | 0.00046757 | ||||
Send Revenue | 17619122 | 385 days ago | IN | 0 ETH | 0.04626774 | ||||
Add Account | 17619117 | 385 days ago | IN | 0 ETH | 0.0106124 | ||||
Transfer | 17619070 | 385 days ago | IN | 0.4 ETH | 0.00028756 | ||||
Send Revenue | 17597929 | 388 days ago | IN | 0 ETH | 0.04199957 | ||||
Transfer | 17597926 | 388 days ago | IN | 0.7 ETH | 0.00030936 | ||||
Add Account | 17597923 | 388 days ago | IN | 0 ETH | 0.11819062 | ||||
Add Account | 17597919 | 388 days ago | IN | 0 ETH | 0.01750953 | ||||
Clear Account | 17597918 | 388 days ago | IN | 0 ETH | 0.02632658 | ||||
Send Revenue | 17580224 | 391 days ago | IN | 0 ETH | 0.06222668 | ||||
Transfer | 17580221 | 391 days ago | IN | 1 ETH | 0.00046885 | ||||
Send Revenue | 17572489 | 392 days ago | IN | 0 ETH | 0.03919183 | ||||
Add Account | 17572486 | 392 days ago | IN | 0 ETH | 0.10025622 | ||||
Clear Account | 17571931 | 392 days ago | IN | 0 ETH | 0.05967755 | ||||
Transfer | 17571895 | 392 days ago | IN | 1 ETH | 0.00062367 | ||||
Send Revenue | 17564707 | 393 days ago | IN | 0 ETH | 0.05528807 | ||||
Transfer | 17564703 | 393 days ago | IN | 2 ETH | 0.00038629 | ||||
Set Gov | 17559662 | 394 days ago | IN | 0 ETH | 0.00034375 | ||||
Set Handler | 17559654 | 394 days ago | IN | 0 ETH | 0.00030491 | ||||
Send Revenue | 17559630 | 394 days ago | IN | 0 ETH | 0.03704827 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
17767652 | 364 days ago | 0.0004004 ETH | ||||
17767652 | 364 days ago | 0.0012012 ETH | ||||
17767652 | 364 days ago | 0.006006 ETH | ||||
17767652 | 364 days ago | 0.0004004 ETH | ||||
17767652 | 364 days ago | 0.0004004 ETH | ||||
17767652 | 364 days ago | 0.0044044 ETH | ||||
17767652 | 364 days ago | 0.0004004 ETH | ||||
17767652 | 364 days ago | 0.0004004 ETH | ||||
17767652 | 364 days ago | 0.0004004 ETH | ||||
17767652 | 364 days ago | 0.0004004 ETH | ||||
17767652 | 364 days ago | 0.0004004 ETH | ||||
17767652 | 364 days ago | 0.0004004 ETH | ||||
17767652 | 364 days ago | 0.0004004 ETH | ||||
17767652 | 364 days ago | 0.0004004 ETH | ||||
17767652 | 364 days ago | 0.0004004 ETH | ||||
17767652 | 364 days ago | 0.0004004 ETH | ||||
17767652 | 364 days ago | 0.0004004 ETH | ||||
17767652 | 364 days ago | 0.0004004 ETH | ||||
17767652 | 364 days ago | 0.0004004 ETH | ||||
17767652 | 364 days ago | 0.0004004 ETH | ||||
17767652 | 364 days ago | 0.0004004 ETH | ||||
17767652 | 364 days ago | 0.0004004 ETH | ||||
17767652 | 364 days ago | 0.0004004 ETH | ||||
17767652 | 364 days ago | 0.0004004 ETH | ||||
17767652 | 364 days ago | 0.0004004 ETH |
Loading...
Loading
Contract Name:
RevenueShare
Compiler Version
v0.8.7+commit.e28d00a7
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import "@openzeppelin/contracts/utils/math/SafeMath.sol"; import "@openzeppelin/contracts/token/ERC721/IERC721.sol"; import "./Governable.sol"; contract RevenueShare is Governable { receive() external payable {} using SafeMath for uint256; mapping (address => bool) public _isHandler; address[] public _accountList; uint256[] public _nftBalanceList; mapping (address => bool) public _accountMap; uint256 public _sendId; IERC721 private _nftContract; event RevenueShare( uint256 sendId, uint256 balance ); event RevenueSend( uint256 sendId, address indexed account, uint256 balance ); modifier onlyHandler() { require(_isHandler[msg.sender], "RevenueShare: forbidden"); _; } constructor() { _isHandler[msg.sender] = true; _nftContract = IERC721(0xf3Bb55d379E8c505749B9afD2c23b993a7D72CB7); _sendId = 0; } function getAccountLength() public view returns (uint256) { return _accountList.length; } function getAccountInfo(uint256 i) public view returns (address, uint256) { return (_accountList[i], _nftBalanceList[i]); } function setHandler(address _handler, bool _isActive) external onlyGov { _isHandler[_handler] = _isActive; } function setTokenAddress(address nftContractAddress) external onlyGov { _nftContract = IERC721(nftContractAddress); } function addAccount_(address[] memory _accounts, uint256[] memory _nftBalances) public onlyHandler { require(_accounts.length == _nftBalances.length, "account and balance mismatch"); for (uint256 i = 0; i < _accounts.length; i++) { address account = _accounts[i]; uint256 bal = _nftBalances[i]; if (_accountMap[account] != true) { _accountMap[account] = true; _accountList.push(account); _nftBalanceList.push(bal); } } } function addAccount(address[] memory _accounts) public onlyHandler { for (uint256 i = 0; i < _accounts.length; i++) { address account = _accounts[i]; if (_accountMap[account] != true) { _accountMap[account] = true; _accountList.push(account); _nftBalanceList.push(0); } } } function clearAccount() public onlyHandler { for (uint256 i = 0; i < _accountList.length; i++) { address account = _accountList[i]; _accountMap[account] = false; } _accountList = new address[](0); _nftBalanceList = new uint256[](0); } function withdraw() external onlyGov { address payable ownerAddress = payable(msg.sender); ownerAddress.transfer(address(this).balance); } function sendRevenue(uint256 total) public onlyHandler { require(total <= address(this).balance, "Balance is not enough"); uint256 nftTotal = 999; uint256 sum = 0; _sendId++; for (uint256 i = 0; i < _accountList.length; i++) { address account = _accountList[i]; uint256 nftBalance = _nftContract.balanceOf(account); //uint256 nftBalance = _nftBalanceList[i]; uint256 amount = total * nftBalance / nftTotal; sum += amount; address payable toAddress = payable(account); toAddress.transfer(amount); emit RevenueSend(_sendId, account, amount); } emit RevenueShare(_sendId, sum); } function sendRevenue_(uint256 total) public onlyHandler { require(total <= address(this).balance, "Balance is not enough"); uint256 nftTotal = 999; uint256 sum = 0; _sendId++; for (uint256 i = 0; i < _accountList.length; i++) { address account = _accountList[i]; // uint256 nftBalance = _nftContract.balanceOf(account); uint256 nftBalance = _nftBalanceList[i]; uint256 amount = total * nftBalance / nftTotal; sum += amount; address payable toAddress = payable(account); toAddress.transfer(amount); emit RevenueSend(_sendId, account, amount); } emit RevenueShare(_sendId, sum); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.8.0) (token/ERC721/IERC721.sol) pragma solidity ^0.8.0; import "../../utils/introspection/IERC165.sol"; /** * @dev Required interface of an ERC721 compliant contract. */ interface IERC721 is IERC165 { /** * @dev Emitted when `tokenId` token is transferred from `from` to `to`. */ event Transfer(address indexed from, address indexed to, uint256 indexed tokenId); /** * @dev Emitted when `owner` enables `approved` to manage the `tokenId` token. */ event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId); /** * @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets. */ event ApprovalForAll(address indexed owner, address indexed operator, bool approved); /** * @dev Returns the number of tokens in ``owner``'s account. */ function balanceOf(address owner) external view returns (uint256 balance); /** * @dev Returns the owner of the `tokenId` token. * * Requirements: * * - `tokenId` must exist. */ function ownerOf(uint256 tokenId) external view returns (address owner); /** * @dev Safely transfers `tokenId` token from `from` to `to`. * * Requirements: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `tokenId` token must exist and be owned by `from`. * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. * * Emits a {Transfer} event. */ function safeTransferFrom( address from, address to, uint256 tokenId, bytes calldata data ) external; /** * @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients * are aware of the ERC721 protocol to prevent tokens from being forever locked. * * Requirements: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `tokenId` token must exist and be owned by `from`. * - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}. * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. * * Emits a {Transfer} event. */ function safeTransferFrom( address from, address to, uint256 tokenId ) external; /** * @dev Transfers `tokenId` token from `from` to `to`. * * WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC721 * or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must * understand this adds an external call which potentially creates a reentrancy vulnerability. * * Requirements: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `tokenId` token must be owned by `from`. * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. * * Emits a {Transfer} event. */ function transferFrom( address from, address to, uint256 tokenId ) external; /** * @dev Gives permission to `to` to transfer `tokenId` token to another account. * The approval is cleared when the token is transferred. * * Only a single account can be approved at a time, so approving the zero address clears previous approvals. * * Requirements: * * - The caller must own the token or be an approved operator. * - `tokenId` must exist. * * Emits an {Approval} event. */ function approve(address to, uint256 tokenId) external; /** * @dev Approve or remove `operator` as an operator for the caller. * Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. * * Requirements: * * - The `operator` cannot be the caller. * * Emits an {ApprovalForAll} event. */ function setApprovalForAll(address operator, bool _approved) external; /** * @dev Returns the account approved for `tokenId` token. * * Requirements: * * - `tokenId` must exist. */ function getApproved(uint256 tokenId) external view returns (address operator); /** * @dev Returns if the `operator` is allowed to manage all of the assets of `owner`. * * See {setApprovalForAll} */ function isApprovedForAll(address owner, address operator) external view returns (bool); }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC165.sol) pragma solidity ^0.8.0; /** * @dev Interface of the ERC165 standard, as defined in the * https://eips.ethereum.org/EIPS/eip-165[EIP]. * * Implementers can declare support of contract interfaces, which can then be * queried by others ({ERC165Checker}). * * For an implementation, see {ERC165}. */ interface IERC165 { /** * @dev Returns true if this contract implements the interface defined by * `interfaceId`. See the corresponding * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] * to learn more about how these ids are created. * * This function call must use less than 30 000 gas. */ function supportsInterface(bytes4 interfaceId) external view returns (bool); }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.6.0) (utils/math/SafeMath.sol) pragma solidity ^0.8.0; // CAUTION // This version of SafeMath should only be used with Solidity 0.8 or later, // because it relies on the compiler's built in overflow checks. /** * @dev Wrappers over Solidity's arithmetic operations. * * NOTE: `SafeMath` is generally not needed starting with Solidity 0.8, since the compiler * now has built in overflow checking. */ library SafeMath { /** * @dev Returns the addition of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } } /** * @dev Returns the subtraction of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b > a) return (false, 0); return (true, a - b); } } /** * @dev Returns the multiplication of two unsigned integers, with an overflow flag. * * _Available since v3.4._ */ function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) return (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } } /** * @dev Returns the division of two unsigned integers, with a division by zero flag. * * _Available since v3.4._ */ function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a / b); } } /** * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag. * * _Available since v3.4._ */ function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a % b); } } /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } /** * @dev Returns the integer division of two unsigned integers, reverting on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { return a % b; } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {trySub}. * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } /** * @dev Returns the integer division of two unsigned integers, reverting with custom message on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a / b; } } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * reverting with custom message when dividing by zero. * * CAUTION: This function is deprecated because it requires allocating memory for the error * message unnecessarily. For custom revert reasons use {tryMod}. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a % b; } } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; contract Governable { address public gov; constructor() { gov = msg.sender; } modifier onlyGov() { require(msg.sender == gov, "Governable: forbidden"); _; } function setGov(address _gov) external onlyGov { gov = _gov; } }
{ "optimizer": { "enabled": true, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"sendId","type":"uint256"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"balance","type":"uint256"}],"name":"RevenueSend","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"sendId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"balance","type":"uint256"}],"name":"RevenueShare","type":"event"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"_accountList","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_accountMap","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isHandler","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"_nftBalanceList","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sendId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_accounts","type":"address[]"}],"name":"addAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_accounts","type":"address[]"},{"internalType":"uint256[]","name":"_nftBalances","type":"uint256[]"}],"name":"addAccount_","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clearAccount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"i","type":"uint256"}],"name":"getAccountInfo","outputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getAccountLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"gov","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"total","type":"uint256"}],"name":"sendRevenue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"total","type":"uint256"}],"name":"sendRevenue_","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_gov","type":"address"}],"name":"setGov","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_handler","type":"address"},{"internalType":"bool","name":"_isActive","type":"bool"}],"name":"setHandler","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"nftContractAddress","type":"address"}],"name":"setTokenAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405234801561001057600080fd5b50600080546001600160a01b031990811633908117835582526001602081905260408320805460ff191690911790556006805490911673f3bb55d379e8c505749b9afd2c23b993a7d72cb7179055600555611171806100706000396000f3fe6080604052600436106101025760003560e01c80639cb7de4b11610095578063b89e4f5811610064578063b89e4f58146102f0578063bfa1f0c614610305578063c6e4cdfa14610325578063cfad57a214610345578063dc6e21a31461036557600080fd5b80639cb7de4b14610260578063a4a4bb0314610280578063a82a9e3a146102a0578063af256e92146102c057600080fd5b80633ccfd60b116100d15780633ccfd60b146101cb5780637328c513146101e05780637bd90023146102005780638505d7fb1461022057600080fd5b806312d43a511461010e57806322de3c911461014b57806326a4e8d21461016a5780633b561afc1461018c57600080fd5b3661010957005b600080fd5b34801561011a57600080fd5b5060005461012e906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561015757600080fd5b506002545b604051908152602001610142565b34801561017657600080fd5b5061018a610185366004610e3b565b61037b565b005b34801561019857600080fd5b506101ac6101a7366004610f98565b6103d0565b604080516001600160a01b039093168352602083019190915201610142565b3480156101d757600080fd5b5061018a610426565b3480156101ec57600080fd5b5061018a6101fb366004610f98565b610482565b34801561020c57600080fd5b5061012e61021b366004610f98565b6106c2565b34801561022c57600080fd5b5061025061023b366004610e3b565b60016020526000908152604090205460ff1681565b6040519015158152602001610142565b34801561026c57600080fd5b5061018a61027b366004610e5d565b6106ec565b34801561028c57600080fd5b5061018a61029b366004610ed6565b610741565b3480156102ac57600080fd5b5061015c6102bb366004610f98565b6108e3565b3480156102cc57600080fd5b506102506102db366004610e3b565b60046020526000908152604090205460ff1681565b3480156102fc57600080fd5b5061018a610904565b34801561031157600080fd5b5061018a610320366004610f98565b6109d0565b34801561033157600080fd5b5061018a610340366004610e99565b610b79565b34801561035157600080fd5b5061018a610360366004610e3b565b610ca5565b34801561037157600080fd5b5061015c60055481565b6000546001600160a01b031633146103ae5760405162461bcd60e51b81526004016103a590611001565b60405180910390fd5b600680546001600160a01b0319166001600160a01b0392909216919091179055565b600080600283815481106103e6576103e661110f565b600091825260209091200154600380546001600160a01b0390921691859081106104125761041261110f565b906000526020600020015491509150915091565b6000546001600160a01b031633146104505760405162461bcd60e51b81526004016103a590611001565b604051339081904780156108fc02916000818181858888f1935050505015801561047e573d6000803e3d6000fd5b5050565b3360009081526001602052604090205460ff166104b15760405162461bcd60e51b81526004016103a590610fca565b478111156104f95760405162461bcd60e51b8152602060048201526015602482015274084c2d8c2dcc6ca40d2e640dcdee840cadcdeeaced605b1b60448201526064016103a5565b600580546103e791600091908261050f836110de565b919050555060005b600254811015610680576000600282815481106105365761053661110f565b60009182526020822001546006546040516370a0823160e01b81526001600160a01b039283166004820181905294509116906370a082319060240160206040518083038186803b15801561058957600080fd5b505afa15801561059d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c19190610fb1565b90506000856105d083896110bf565b6105da919061109d565b90506105e68186611085565b60405190955083906001600160a01b0382169083156108fc029084906000818181858888f19350505050158015610621573d6000803e3d6000fd5b5060055460408051918252602082018490526001600160a01b038616917f04dabc8a7338eb71b276b2e5e15b17186b05758738763938326c54108fd963d3910160405180910390a2505050508080610678906110de565b915050610517565b5060055460408051918252602082018390527f751f077bf09a5a8e4d4231f905a8887c5fd4c41657ba70cc7783920d86704b90910160405180910390a1505050565b600281815481106106d257600080fd5b6000918252602090912001546001600160a01b0316905081565b6000546001600160a01b031633146107165760405162461bcd60e51b81526004016103a590611001565b6001600160a01b03919091166000908152600160205260409020805460ff1916911515919091179055565b3360009081526001602052604090205460ff166107705760405162461bcd60e51b81526004016103a590610fca565b80518251146107c15760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e7420616e642062616c616e6365206d69736d617463680000000060448201526064016103a5565b60005b82518110156108de5760008382815181106107e1576107e161110f565b6020026020010151905060008383815181106107ff576107ff61110f565b6020908102919091018101516001600160a01b0384166000908152600490925260409091205490915060ff1615156001146108c9576001600160a01b0382166000818152600460205260408120805460ff19166001908117909155600280548083019091557f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0180546001600160a01b03191690931790925560038054928301815590527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b018190555b505080806108d6906110de565b9150506107c4565b505050565b600381815481106108f357600080fd5b600091825260209091200154905081565b3360009081526001602052604090205460ff166109335760405162461bcd60e51b81526004016103a590610fca565b60005b600254811015610991576000600282815481106109555761095561110f565b60009182526020808320909101546001600160a01b031682526004905260409020805460ff191690555080610989816110de565b915050610936565b5060408051600081526020810191829052516109af91600291610cf1565b5060408051600081526020810191829052516109cd91600391610d56565b50565b3360009081526001602052604090205460ff166109ff5760405162461bcd60e51b81526004016103a590610fca565b47811115610a475760405162461bcd60e51b8152602060048201526015602482015274084c2d8c2dcc6ca40d2e640dcdee840cadcdeeaced605b1b60448201526064016103a5565b600580546103e7916000919082610a5d836110de565b919050555060005b60025481101561068057600060028281548110610a8457610a8461110f565b6000918252602082200154600380546001600160a01b0390921693509084908110610ab157610ab161110f565b6000918252602082200154915085610ac983896110bf565b610ad3919061109d565b9050610adf8186611085565b60405190955083906001600160a01b0382169083156108fc029084906000818181858888f19350505050158015610b1a573d6000803e3d6000fd5b5060055460408051918252602082018490526001600160a01b038616917f04dabc8a7338eb71b276b2e5e15b17186b05758738763938326c54108fd963d3910160405180910390a2505050508080610b71906110de565b915050610a65565b3360009081526001602052604090205460ff16610ba85760405162461bcd60e51b81526004016103a590610fca565b60005b815181101561047e576000828281518110610bc857610bc861110f565b6020908102919091018101516001600160a01b0381166000908152600490925260409091205490915060ff161515600114610c92576001600160a01b0381166000818152600460205260408120805460ff19166001908117909155600280548083019091557f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0180546001600160a01b03191690931790925560038054928301815581527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b909101555b5080610c9d816110de565b915050610bab565b6000546001600160a01b03163314610ccf5760405162461bcd60e51b81526004016103a590611001565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b828054828255906000526020600020908101928215610d46579160200282015b82811115610d4657825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190610d11565b50610d52929150610d91565b5090565b828054828255906000526020600020908101928215610d46579160200282015b82811115610d46578251825591602001919060010190610d76565b5b80821115610d525760008155600101610d92565b80356001600160a01b0381168114610dbd57600080fd5b919050565b600082601f830112610dd357600080fd5b81356020610de8610de383611061565b611030565b80838252828201915082860187848660051b8901011115610e0857600080fd5b60005b85811015610e2e57610e1c82610da6565b84529284019290840190600101610e0b565b5090979650505050505050565b600060208284031215610e4d57600080fd5b610e5682610da6565b9392505050565b60008060408385031215610e7057600080fd5b610e7983610da6565b915060208301358015158114610e8e57600080fd5b809150509250929050565b600060208284031215610eab57600080fd5b813567ffffffffffffffff811115610ec257600080fd5b610ece84828501610dc2565b949350505050565b60008060408385031215610ee957600080fd5b823567ffffffffffffffff80821115610f0157600080fd5b610f0d86838701610dc2565b9350602091508185013581811115610f2457600080fd5b85019050601f81018613610f3757600080fd5b8035610f45610de382611061565b80828252848201915084840189868560051b8701011115610f6557600080fd5b600094505b83851015610f88578035835260019490940193918501918501610f6a565b5080955050505050509250929050565b600060208284031215610faa57600080fd5b5035919050565b600060208284031215610fc357600080fd5b5051919050565b60208082526017908201527f526576656e756553686172653a20666f7262696464656e000000000000000000604082015260600190565b60208082526015908201527423b7bb32b93730b136329d103337b93134b23232b760591b604082015260600190565b604051601f8201601f1916810167ffffffffffffffff8111828210171561105957611059611125565b604052919050565b600067ffffffffffffffff82111561107b5761107b611125565b5060051b60200190565b60008219821115611098576110986110f9565b500190565b6000826110ba57634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156110d9576110d96110f9565b500290565b60006000198214156110f2576110f26110f9565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fdfea26469706673582212207174ddbcf57407f6a4fe551038d639f391d263f7d0acbf4b9196d3bf20c9716d64736f6c63430008070033
Deployed Bytecode
0x6080604052600436106101025760003560e01c80639cb7de4b11610095578063b89e4f5811610064578063b89e4f58146102f0578063bfa1f0c614610305578063c6e4cdfa14610325578063cfad57a214610345578063dc6e21a31461036557600080fd5b80639cb7de4b14610260578063a4a4bb0314610280578063a82a9e3a146102a0578063af256e92146102c057600080fd5b80633ccfd60b116100d15780633ccfd60b146101cb5780637328c513146101e05780637bd90023146102005780638505d7fb1461022057600080fd5b806312d43a511461010e57806322de3c911461014b57806326a4e8d21461016a5780633b561afc1461018c57600080fd5b3661010957005b600080fd5b34801561011a57600080fd5b5060005461012e906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561015757600080fd5b506002545b604051908152602001610142565b34801561017657600080fd5b5061018a610185366004610e3b565b61037b565b005b34801561019857600080fd5b506101ac6101a7366004610f98565b6103d0565b604080516001600160a01b039093168352602083019190915201610142565b3480156101d757600080fd5b5061018a610426565b3480156101ec57600080fd5b5061018a6101fb366004610f98565b610482565b34801561020c57600080fd5b5061012e61021b366004610f98565b6106c2565b34801561022c57600080fd5b5061025061023b366004610e3b565b60016020526000908152604090205460ff1681565b6040519015158152602001610142565b34801561026c57600080fd5b5061018a61027b366004610e5d565b6106ec565b34801561028c57600080fd5b5061018a61029b366004610ed6565b610741565b3480156102ac57600080fd5b5061015c6102bb366004610f98565b6108e3565b3480156102cc57600080fd5b506102506102db366004610e3b565b60046020526000908152604090205460ff1681565b3480156102fc57600080fd5b5061018a610904565b34801561031157600080fd5b5061018a610320366004610f98565b6109d0565b34801561033157600080fd5b5061018a610340366004610e99565b610b79565b34801561035157600080fd5b5061018a610360366004610e3b565b610ca5565b34801561037157600080fd5b5061015c60055481565b6000546001600160a01b031633146103ae5760405162461bcd60e51b81526004016103a590611001565b60405180910390fd5b600680546001600160a01b0319166001600160a01b0392909216919091179055565b600080600283815481106103e6576103e661110f565b600091825260209091200154600380546001600160a01b0390921691859081106104125761041261110f565b906000526020600020015491509150915091565b6000546001600160a01b031633146104505760405162461bcd60e51b81526004016103a590611001565b604051339081904780156108fc02916000818181858888f1935050505015801561047e573d6000803e3d6000fd5b5050565b3360009081526001602052604090205460ff166104b15760405162461bcd60e51b81526004016103a590610fca565b478111156104f95760405162461bcd60e51b8152602060048201526015602482015274084c2d8c2dcc6ca40d2e640dcdee840cadcdeeaced605b1b60448201526064016103a5565b600580546103e791600091908261050f836110de565b919050555060005b600254811015610680576000600282815481106105365761053661110f565b60009182526020822001546006546040516370a0823160e01b81526001600160a01b039283166004820181905294509116906370a082319060240160206040518083038186803b15801561058957600080fd5b505afa15801561059d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c19190610fb1565b90506000856105d083896110bf565b6105da919061109d565b90506105e68186611085565b60405190955083906001600160a01b0382169083156108fc029084906000818181858888f19350505050158015610621573d6000803e3d6000fd5b5060055460408051918252602082018490526001600160a01b038616917f04dabc8a7338eb71b276b2e5e15b17186b05758738763938326c54108fd963d3910160405180910390a2505050508080610678906110de565b915050610517565b5060055460408051918252602082018390527f751f077bf09a5a8e4d4231f905a8887c5fd4c41657ba70cc7783920d86704b90910160405180910390a1505050565b600281815481106106d257600080fd5b6000918252602090912001546001600160a01b0316905081565b6000546001600160a01b031633146107165760405162461bcd60e51b81526004016103a590611001565b6001600160a01b03919091166000908152600160205260409020805460ff1916911515919091179055565b3360009081526001602052604090205460ff166107705760405162461bcd60e51b81526004016103a590610fca565b80518251146107c15760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e7420616e642062616c616e6365206d69736d617463680000000060448201526064016103a5565b60005b82518110156108de5760008382815181106107e1576107e161110f565b6020026020010151905060008383815181106107ff576107ff61110f565b6020908102919091018101516001600160a01b0384166000908152600490925260409091205490915060ff1615156001146108c9576001600160a01b0382166000818152600460205260408120805460ff19166001908117909155600280548083019091557f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0180546001600160a01b03191690931790925560038054928301815590527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b018190555b505080806108d6906110de565b9150506107c4565b505050565b600381815481106108f357600080fd5b600091825260209091200154905081565b3360009081526001602052604090205460ff166109335760405162461bcd60e51b81526004016103a590610fca565b60005b600254811015610991576000600282815481106109555761095561110f565b60009182526020808320909101546001600160a01b031682526004905260409020805460ff191690555080610989816110de565b915050610936565b5060408051600081526020810191829052516109af91600291610cf1565b5060408051600081526020810191829052516109cd91600391610d56565b50565b3360009081526001602052604090205460ff166109ff5760405162461bcd60e51b81526004016103a590610fca565b47811115610a475760405162461bcd60e51b8152602060048201526015602482015274084c2d8c2dcc6ca40d2e640dcdee840cadcdeeaced605b1b60448201526064016103a5565b600580546103e7916000919082610a5d836110de565b919050555060005b60025481101561068057600060028281548110610a8457610a8461110f565b6000918252602082200154600380546001600160a01b0390921693509084908110610ab157610ab161110f565b6000918252602082200154915085610ac983896110bf565b610ad3919061109d565b9050610adf8186611085565b60405190955083906001600160a01b0382169083156108fc029084906000818181858888f19350505050158015610b1a573d6000803e3d6000fd5b5060055460408051918252602082018490526001600160a01b038616917f04dabc8a7338eb71b276b2e5e15b17186b05758738763938326c54108fd963d3910160405180910390a2505050508080610b71906110de565b915050610a65565b3360009081526001602052604090205460ff16610ba85760405162461bcd60e51b81526004016103a590610fca565b60005b815181101561047e576000828281518110610bc857610bc861110f565b6020908102919091018101516001600160a01b0381166000908152600490925260409091205490915060ff161515600114610c92576001600160a01b0381166000818152600460205260408120805460ff19166001908117909155600280548083019091557f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0180546001600160a01b03191690931790925560038054928301815581527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b909101555b5080610c9d816110de565b915050610bab565b6000546001600160a01b03163314610ccf5760405162461bcd60e51b81526004016103a590611001565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b828054828255906000526020600020908101928215610d46579160200282015b82811115610d4657825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190610d11565b50610d52929150610d91565b5090565b828054828255906000526020600020908101928215610d46579160200282015b82811115610d46578251825591602001919060010190610d76565b5b80821115610d525760008155600101610d92565b80356001600160a01b0381168114610dbd57600080fd5b919050565b600082601f830112610dd357600080fd5b81356020610de8610de383611061565b611030565b80838252828201915082860187848660051b8901011115610e0857600080fd5b60005b85811015610e2e57610e1c82610da6565b84529284019290840190600101610e0b565b5090979650505050505050565b600060208284031215610e4d57600080fd5b610e5682610da6565b9392505050565b60008060408385031215610e7057600080fd5b610e7983610da6565b915060208301358015158114610e8e57600080fd5b809150509250929050565b600060208284031215610eab57600080fd5b813567ffffffffffffffff811115610ec257600080fd5b610ece84828501610dc2565b949350505050565b60008060408385031215610ee957600080fd5b823567ffffffffffffffff80821115610f0157600080fd5b610f0d86838701610dc2565b9350602091508185013581811115610f2457600080fd5b85019050601f81018613610f3757600080fd5b8035610f45610de382611061565b80828252848201915084840189868560051b8701011115610f6557600080fd5b600094505b83851015610f88578035835260019490940193918501918501610f6a565b5080955050505050509250929050565b600060208284031215610faa57600080fd5b5035919050565b600060208284031215610fc357600080fd5b5051919050565b60208082526017908201527f526576656e756553686172653a20666f7262696464656e000000000000000000604082015260600190565b60208082526015908201527423b7bb32b93730b136329d103337b93134b23232b760591b604082015260600190565b604051601f8201601f1916810167ffffffffffffffff8111828210171561105957611059611125565b604052919050565b600067ffffffffffffffff82111561107b5761107b611125565b5060051b60200190565b60008219821115611098576110986110f9565b500190565b6000826110ba57634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156110d9576110d96110f9565b500290565b60006000198214156110f2576110f26110f9565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fdfea26469706673582212207174ddbcf57407f6a4fe551038d639f391d263f7d0acbf4b9196d3bf20c9716d64736f6c63430008070033
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | Ether (ETH) | 100.00% | $3,445.57 | 0.0007998 | $2.76 |
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.