Feature Tip: Add private address tag to any address under My Name Tag !
Overview
ETH Balance
0 ETH
Eth Value
$0.00Latest 25 from a total of 800 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Accept Ownership | 20630293 | 552 days ago | IN | 0 ETH | 0.0000372 | ||||
| Transfer Ownersh... | 20600995 | 556 days ago | IN | 0 ETH | 0.00004646 | ||||
| Claim | 16399730 | 1145 days ago | IN | 0 ETH | 0.00123528 | ||||
| Set Merkle Root | 16399730 | 1145 days ago | IN | 0 ETH | 0.00086144 | ||||
| Distribute To | 16392082 | 1146 days ago | IN | 0 ETH | 0.0012226 | ||||
| Distribute To | 16349137 | 1152 days ago | IN | 0 ETH | 0.00522029 | ||||
| Distribute To | 16184284 | 1175 days ago | IN | 0 ETH | 0.00301389 | ||||
| Distribute To | 16171274 | 1177 days ago | IN | 0 ETH | 0.00441742 | ||||
| Distribute To | 16092591 | 1188 days ago | IN | 0 ETH | 0.00176457 | ||||
| Distribute To | 16069028 | 1191 days ago | IN | 0 ETH | 0.00200906 | ||||
| Distribute To | 15834851 | 1224 days ago | IN | 0 ETH | 0.00339113 | ||||
| Distribute To | 15768767 | 1233 days ago | IN | 0 ETH | 0.00224876 | ||||
| Distribute To | 15690810 | 1244 days ago | IN | 0 ETH | 0.00087876 | ||||
| Distribute To | 15634324 | 1252 days ago | IN | 0 ETH | 0.00765255 | ||||
| Distribute To | 15455189 | 1279 days ago | IN | 0 ETH | 0.02981555 | ||||
| Claim | 15445832 | 1280 days ago | IN | 0 ETH | 0.00077192 | ||||
| Claim | 15408378 | 1286 days ago | IN | 0 ETH | 0.00045218 | ||||
| Distribute To | 15373047 | 1292 days ago | IN | 0 ETH | 0.00219976 | ||||
| Distribute To | 15373023 | 1292 days ago | IN | 0 ETH | 0.01496254 | ||||
| Distribute To | 15361348 | 1294 days ago | IN | 0 ETH | 0.00074421 | ||||
| Distribute To | 15354300 | 1295 days ago | IN | 0 ETH | 0.00063773 | ||||
| Distribute To | 15343899 | 1297 days ago | IN | 0 ETH | 0.00114618 | ||||
| Distribute To | 15303997 | 1303 days ago | IN | 0 ETH | 0.01194795 | ||||
| Claim | 15267933 | 1308 days ago | IN | 0 ETH | 0.0004316 | ||||
| Distribute To | 15226917 | 1315 days ago | IN | 0 ETH | 0.00575802 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
WriteDistributionHelperV1
Compiler Version
v0.6.8+commit.0bbfe453
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2021-03-05
*/
// Sources flattened with hardhat v2.0.7 https://hardhat.org
// File @openzeppelin/contracts/cryptography/MerkleProof.sol@v3.3.0
//SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity 0.6.8;
pragma experimental ABIEncoderV2;
/**
* @dev These functions deal with verification of Merkle trees (hash trees),
*/
library MerkleProof {
/**
* @dev Returns true if a `leaf` can be proved to be a part of a Merkle tree
* defined by `root`. For this, a `proof` must be provided, containing
* sibling hashes on the branch from the leaf to the root of the tree. Each
* pair of leaves and each pair of pre-images are assumed to be sorted.
*/
function verify(
bytes32[] memory proof,
bytes32 root,
bytes32 leaf
) internal pure returns (bool) {
bytes32 computedHash = leaf;
for (uint256 i = 0; i < proof.length; i++) {
bytes32 proofElement = proof[i];
if (computedHash <= proofElement) {
// Hash(current computed hash + current element of the proof)
computedHash = keccak256(
abi.encodePacked(computedHash, proofElement)
);
} else {
// Hash(current element of the proof + current computed hash)
computedHash = keccak256(
abi.encodePacked(proofElement, computedHash)
);
}
}
// Check if the computed hash (root) is equal to the provided root
return computedHash == root;
}
}
// File contracts/interfaces/IMirrorWriteToken.sol
interface IMirrorWriteToken {
function register(string calldata label, address owner) external;
function registrationCost() external view returns (uint256);
// ============ ERC20 Interface ============
event Approval(
address indexed owner,
address indexed spender,
uint256 value
);
event Transfer(address indexed from, address indexed to, uint256 value);
function name() external view returns (string memory);
function symbol() external view returns (string memory);
function decimals() external view returns (uint8);
function totalSupply() external view returns (uint256);
function balanceOf(address owner) external view returns (uint256);
function allowance(address owner, address spender)
external
view
returns (uint256);
function approve(address spender, uint256 value) external returns (bool);
function transfer(address to, uint256 value) external returns (bool);
function transferFrom(
address from,
address to,
uint256 value
) external returns (bool);
function permit(
address owner,
address spender,
uint256 value,
uint256 deadline,
uint8 v,
bytes32 r,
bytes32 s
) external;
function nonces(address owner) external view returns (uint256);
function DOMAIN_SEPARATOR() external view returns (bytes32);
}
// File contracts/lib/SafeMath.sol
// a library for performing overflow-safe math, courtesy of DappHub (https://github.com/dapphub/ds-math)
library SafeMath {
function add(uint256 x, uint256 y) internal pure returns (uint256 z) {
require((z = x + y) >= x, "ds-math-add-overflow");
}
function sub(uint256 x, uint256 y) internal pure returns (uint256 z) {
require((z = x - y) <= x, "ds-math-sub-underflow");
}
function mul(uint256 x, uint256 y) internal pure returns (uint256 z) {
require(y == 0 || (z = x * y) / y == x, "ds-math-mul-overflow");
}
}
// File contracts/helpers/WriteDistributionHelperV1.sol
/**
* @title WriteDistributionHelperV1
* @author MirrorXYZ
*
* A helper contract for distributing $WRITE token.
*/
contract WriteDistributionHelperV1 {
// ============ Constants ============
uint64 constant units = 1e18;
// ============ Immutable Storage ============
address public immutable token;
// ============ Mutable Storage ============
address private _owner;
/**
* @dev Allows for two-step ownership transfer, whereby the next owner
* needs to accept the ownership transfer explicitly.
*/
address private _nextOwner;
bytes32 public merkleRoot;
mapping(uint256 => uint256) private claimedBitMap;
// ============ Events ============
event Distributed(address account);
event RootUpdated(bytes32 oldRoot, bytes32 newRoot);
event Claimed(uint256 index, address account, uint256 amount);
event Transfer(address indexed from, address indexed to, uint256 value);
event OwnershipTransferred(
address indexed previousOwner,
address indexed newOwner
);
// ============ Modifiers ============
modifier onlyOwner() {
require(isOwner(), "WriteDistributionV1: caller is not the owner.");
_;
}
modifier onlyNextOwner() {
require(
isNextOwner(),
"WriteDistributionV1: current owner must set caller as next owner."
);
_;
}
// ============ Constructor ============
constructor(address token_) public {
token = token_;
_owner = tx.origin;
emit OwnershipTransferred(address(0), _owner);
}
// ============ Ownership ============
/**
* @dev Returns true if the caller is the current owner.
*/
function isOwner() public view returns (bool) {
return msg.sender == _owner;
}
/**
* @dev Returns true if the caller is the next owner.
*/
function isNextOwner() public view returns (bool) {
return msg.sender == _nextOwner;
}
/**
* @dev Allows a new account (`newOwner`) to accept ownership.
* Can only be called by the current owner.
*/
function transferOwnership(address nextOwner_) external onlyOwner {
require(
nextOwner_ != address(0),
"WriteDistributionV1: next owner is the zero address."
);
_nextOwner = nextOwner_;
}
/**
* @dev Cancel a transfer of ownership to a new account.
* Can only be called by the current owner.
*/
function cancelOwnershipTransfer() external onlyOwner {
delete _nextOwner;
}
/**
* @dev Transfers ownership of the contract to the caller.
* Can only be called by a new potential owner set by the current owner.
*/
function acceptOwnership() external onlyNextOwner {
delete _nextOwner;
emit OwnershipTransferred(_owner, msg.sender);
_owner = msg.sender;
}
/**
* @dev Leaves the contract without owner. It will not be possible to call
* `onlyOwner` functions anymore. Can only be called by the current owner.
*
* NOTE: Renouncing ownership will leave the contract without an owner,
* thereby removing any functionality that is only available to the owner.
*/
function renounceOwnership() external onlyOwner {
emit OwnershipTransferred(_owner, address(0));
_owner = address(0);
}
// ============ Distribution ============
function distributeTo(address[] memory addresses)
public
onlyOwner
returns (bool ok)
{
IMirrorWriteToken tokenContract = IMirrorWriteToken(token);
for (uint256 i = 0; i < addresses.length; i++) {
tokenContract.transfer(addresses[i], units);
emit Distributed(addresses[i]);
}
return true;
}
// ============ Merkle-Tree Token Claim ============
function setMerkleRoot(bytes32 merkleRoot_) external onlyOwner {
emit RootUpdated(merkleRoot, merkleRoot_);
merkleRoot = merkleRoot_;
}
function isClaimed(uint256 index) public view returns (bool) {
uint256 claimedWordIndex = index / 256;
uint256 claimedBitIndex = index % 256;
uint256 claimedWord = claimedBitMap[claimedWordIndex];
uint256 mask = (1 << claimedBitIndex);
return claimedWord & mask == mask;
}
function _setClaimed(uint256 index) private {
uint256 claimedWordIndex = index / 256;
uint256 claimedBitIndex = index % 256;
claimedBitMap[claimedWordIndex] =
claimedBitMap[claimedWordIndex] |
(1 << claimedBitIndex);
}
function claim(
uint256 index,
address account,
uint256 amount,
bytes32[] calldata merkleProof
) external {
require(!isClaimed(index), "WriteDistributionV1: already claimed.");
// Verify the merkle proof.
bytes32 node = keccak256(abi.encodePacked(index, account, amount));
require(
MerkleProof.verify(merkleProof, merkleRoot, node),
"WriteDistributionV1: Invalid proof."
);
// Mark it claimed and send the token.
_setClaimed(index);
require(
IMirrorWriteToken(token).transfer(account, amount),
"WriteDistributionV1: Transfer failed."
);
emit Claimed(index, account, amount);
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"token_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"index","type":"uint256"},{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Claimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Distributed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"oldRoot","type":"bytes32"},{"indexed":false,"internalType":"bytes32","name":"newRoot","type":"bytes32"}],"name":"RootUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"cancelOwnershipTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes32[]","name":"merkleProof","type":"bytes32[]"}],"name":"claim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"}],"name":"distributeTo","outputs":[{"internalType":"bool","name":"ok","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"isClaimed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isNextOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"merkleRoot","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"merkleRoot_","type":"bytes32"}],"name":"setMerkleRoot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"nextOwner_","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
60a060405234801561001057600080fd5b50604051610e62380380610e6283398101604081905261002f91610090565b6001600160601b0319606082901b16608052600080546001600160a01b03191632178082556040516001600160a01b039190911691907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506100be565b6000602082840312156100a1578081fd5b81516001600160a01b03811681146100b7578182fd5b9392505050565b60805160601c610d7d6100e5600039806102d9528061059f528061074e5250610d7d6000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c80638f32d59b11610081578063ed459df21161005b578063ed459df214610172578063f2fde38b1461017a578063fc0c546a1461018d576100d4565b80638f32d59b146101375780639e34070f1461014c578063b7085d3d1461015f576100d4565b8063715018a6116100b2578063715018a61461011457806379ba50971461011c5780637cb6475914610124576100d4565b806323452b9c146100d95780632e7ba6ef146100e35780632eb4a7ab146100f6575b600080fd5b6100e16101a2565b005b6100e16100f136600461094b565b6101ee565b6100fe6103c1565b60405161010b9190610a84565b60405180910390f35b6100e16103c7565b6100e1610442565b6100e1610132366004610933565b6104dc565b61013f610540565b60405161010b9190610a79565b61013f61015a366004610933565b610551565b61013f61016d366004610873565b610577565b61013f6106c2565b6100e1610188366004610851565b6106d3565b61019561074c565b60405161010b9190610a29565b6101aa610540565b6101cf5760405162461bcd60e51b81526004016101c690610c01565b60405180910390fd5b6001805473ffffffffffffffffffffffffffffffffffffffff19169055565b6101f785610551565b156102145760405162461bcd60e51b81526004016101c690610a8d565b600085858560405160200161022b939291906109ee565b604051602081830303815290604052805190602001209050610284838380806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250506002549150849050610770565b6102a05760405162461bcd60e51b81526004016101c690610ba4565b6102a98661080d565b6040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906103109088908890600401610a3d565b602060405180830381600087803b15801561032a57600080fd5b505af115801561033e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103629190610913565b61037e5760405162461bcd60e51b81526004016101c690610aea565b7f4ec90e965519d92681267467f775ada5bd214aa92c0dc93d90a5e880ce9ed0268686866040516103b193929190610ce1565b60405180910390a1505050505050565b60025481565b6103cf610540565b6103eb5760405162461bcd60e51b81526004016101c690610c01565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36000805473ffffffffffffffffffffffffffffffffffffffff19169055565b61044a6106c2565b6104665760405162461bcd60e51b81526004016101c690610c5e565b6001805473ffffffffffffffffffffffffffffffffffffffff191690556000805460405133926001600160a01b03909216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff191633179055565b6104e4610540565b6105005760405162461bcd60e51b81526004016101c690610c01565b7f26df13263ccd588bd14d17b939ae977c1d51960da437d7eb886d1cfb6f3d0682600254826040516105339291906109e0565b60405180910390a1600255565b6000546001600160a01b0316331490565b6101008104600090815260036020526040902054600160ff9092169190911b9081161490565b6000610581610540565b61059d5760405162461bcd60e51b81526004016101c690610c01565b7f000000000000000000000000000000000000000000000000000000000000000060005b83518110156106b857816001600160a01b031663a9059cbb8583815181106105e557fe5b6020026020010151670de0b6b3a76400006040518363ffffffff1660e01b8152600401610613929190610a56565b602060405180830381600087803b15801561062d57600080fd5b505af1158015610641573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106659190610913565b507f6c6019f7bc0a12e4798364f4b5376d198b647a80b63f8fe6054438d70a1a8f4384828151811061069357fe5b60200260200101516040516106a89190610a29565b60405180910390a16001016105c1565b5060019392505050565b6001546001600160a01b0316331490565b6106db610540565b6106f75760405162461bcd60e51b81526004016101c690610c01565b6001600160a01b03811661071d5760405162461bcd60e51b81526004016101c690610b47565b6001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b7f000000000000000000000000000000000000000000000000000000000000000081565b600081815b855181101561080257600086828151811061078c57fe5b602002602001015190508083116107cd5782816040516020016107b09291906109e0565b6040516020818303038152906040528051906020012092506107f9565b80836040516020016107e09291906109e0565b6040516020818303038152906040528051906020012092505b50600101610775565b509092149392505050565b610100810460009081526003602052604090208054600160ff9093169290921b9091179055565b80356001600160a01b038116811461084b57600080fd5b92915050565b600060208284031215610862578081fd5b61086c8383610834565b9392505050565b60006020808385031215610885578182fd5b823567ffffffffffffffff81111561089b578283fd5b80840185601f8201126108ac578384fd5b803591506108c16108bc83610d27565b610d00565b82815283810190828501858502840186018910156108dd578687fd5b8693505b84841015610907576108f38982610834565b8352600193909301929185019185016108e1565b50979650505050505050565b600060208284031215610924578081fd5b8151801515811461086c578182fd5b600060208284031215610944578081fd5b5035919050565b600080600080600060808688031215610962578081fd5b853594506109738760208801610834565b935060408601359250606086013567ffffffffffffffff80821115610996578283fd5b81880189601f8201126109a7578384fd5b80359250818311156109b7578384fd5b89602080850283010111156109ca578384fd5b6020810194505050809150509295509295909350565b918252602082015260400190565b92835260609190911b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000166020830152603482015260540190565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b0392909216825267ffffffffffffffff16602082015260400190565b901515815260200190565b90815260200190565b60208082526025908201527f5772697465446973747269627574696f6e56313a20616c726561647920636c6160408201527f696d65642e000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526025908201527f5772697465446973747269627574696f6e56313a205472616e7366657220666160408201527f696c65642e000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526034908201527f5772697465446973747269627574696f6e56313a206e657874206f776e65722060408201527f697320746865207a65726f20616464726573732e000000000000000000000000606082015260800190565b60208082526023908201527f5772697465446973747269627574696f6e56313a20496e76616c69642070726f60408201527f6f662e0000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252602d908201527f5772697465446973747269627574696f6e56313a2063616c6c6572206973206e60408201527f6f7420746865206f776e65722e00000000000000000000000000000000000000606082015260800190565b60208082526041908201527f5772697465446973747269627574696f6e56313a2063757272656e74206f776e60408201527f6572206d757374207365742063616c6c6572206173206e657874206f776e657260608201527f2e00000000000000000000000000000000000000000000000000000000000000608082015260a00190565b9283526001600160a01b03919091166020830152604082015260600190565b60405181810167ffffffffffffffff81118282101715610d1f57600080fd5b604052919050565b600067ffffffffffffffff821115610d3d578081fd5b506020908102019056fea264697066735822122007770f9054057e77436e06ffcdf7500773242735c1596c238e8f51939aafe34964736f6c63430006080033000000000000000000000000622236bb180256b6ae1a935dae08dc0356141632
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100d45760003560e01c80638f32d59b11610081578063ed459df21161005b578063ed459df214610172578063f2fde38b1461017a578063fc0c546a1461018d576100d4565b80638f32d59b146101375780639e34070f1461014c578063b7085d3d1461015f576100d4565b8063715018a6116100b2578063715018a61461011457806379ba50971461011c5780637cb6475914610124576100d4565b806323452b9c146100d95780632e7ba6ef146100e35780632eb4a7ab146100f6575b600080fd5b6100e16101a2565b005b6100e16100f136600461094b565b6101ee565b6100fe6103c1565b60405161010b9190610a84565b60405180910390f35b6100e16103c7565b6100e1610442565b6100e1610132366004610933565b6104dc565b61013f610540565b60405161010b9190610a79565b61013f61015a366004610933565b610551565b61013f61016d366004610873565b610577565b61013f6106c2565b6100e1610188366004610851565b6106d3565b61019561074c565b60405161010b9190610a29565b6101aa610540565b6101cf5760405162461bcd60e51b81526004016101c690610c01565b60405180910390fd5b6001805473ffffffffffffffffffffffffffffffffffffffff19169055565b6101f785610551565b156102145760405162461bcd60e51b81526004016101c690610a8d565b600085858560405160200161022b939291906109ee565b604051602081830303815290604052805190602001209050610284838380806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250506002549150849050610770565b6102a05760405162461bcd60e51b81526004016101c690610ba4565b6102a98661080d565b6040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b037f000000000000000000000000622236bb180256b6ae1a935dae08dc0356141632169063a9059cbb906103109088908890600401610a3d565b602060405180830381600087803b15801561032a57600080fd5b505af115801561033e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103629190610913565b61037e5760405162461bcd60e51b81526004016101c690610aea565b7f4ec90e965519d92681267467f775ada5bd214aa92c0dc93d90a5e880ce9ed0268686866040516103b193929190610ce1565b60405180910390a1505050505050565b60025481565b6103cf610540565b6103eb5760405162461bcd60e51b81526004016101c690610c01565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36000805473ffffffffffffffffffffffffffffffffffffffff19169055565b61044a6106c2565b6104665760405162461bcd60e51b81526004016101c690610c5e565b6001805473ffffffffffffffffffffffffffffffffffffffff191690556000805460405133926001600160a01b03909216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff191633179055565b6104e4610540565b6105005760405162461bcd60e51b81526004016101c690610c01565b7f26df13263ccd588bd14d17b939ae977c1d51960da437d7eb886d1cfb6f3d0682600254826040516105339291906109e0565b60405180910390a1600255565b6000546001600160a01b0316331490565b6101008104600090815260036020526040902054600160ff9092169190911b9081161490565b6000610581610540565b61059d5760405162461bcd60e51b81526004016101c690610c01565b7f000000000000000000000000622236bb180256b6ae1a935dae08dc035614163260005b83518110156106b857816001600160a01b031663a9059cbb8583815181106105e557fe5b6020026020010151670de0b6b3a76400006040518363ffffffff1660e01b8152600401610613929190610a56565b602060405180830381600087803b15801561062d57600080fd5b505af1158015610641573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106659190610913565b507f6c6019f7bc0a12e4798364f4b5376d198b647a80b63f8fe6054438d70a1a8f4384828151811061069357fe5b60200260200101516040516106a89190610a29565b60405180910390a16001016105c1565b5060019392505050565b6001546001600160a01b0316331490565b6106db610540565b6106f75760405162461bcd60e51b81526004016101c690610c01565b6001600160a01b03811661071d5760405162461bcd60e51b81526004016101c690610b47565b6001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b7f000000000000000000000000622236bb180256b6ae1a935dae08dc035614163281565b600081815b855181101561080257600086828151811061078c57fe5b602002602001015190508083116107cd5782816040516020016107b09291906109e0565b6040516020818303038152906040528051906020012092506107f9565b80836040516020016107e09291906109e0565b6040516020818303038152906040528051906020012092505b50600101610775565b509092149392505050565b610100810460009081526003602052604090208054600160ff9093169290921b9091179055565b80356001600160a01b038116811461084b57600080fd5b92915050565b600060208284031215610862578081fd5b61086c8383610834565b9392505050565b60006020808385031215610885578182fd5b823567ffffffffffffffff81111561089b578283fd5b80840185601f8201126108ac578384fd5b803591506108c16108bc83610d27565b610d00565b82815283810190828501858502840186018910156108dd578687fd5b8693505b84841015610907576108f38982610834565b8352600193909301929185019185016108e1565b50979650505050505050565b600060208284031215610924578081fd5b8151801515811461086c578182fd5b600060208284031215610944578081fd5b5035919050565b600080600080600060808688031215610962578081fd5b853594506109738760208801610834565b935060408601359250606086013567ffffffffffffffff80821115610996578283fd5b81880189601f8201126109a7578384fd5b80359250818311156109b7578384fd5b89602080850283010111156109ca578384fd5b6020810194505050809150509295509295909350565b918252602082015260400190565b92835260609190911b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000166020830152603482015260540190565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160a01b0392909216825267ffffffffffffffff16602082015260400190565b901515815260200190565b90815260200190565b60208082526025908201527f5772697465446973747269627574696f6e56313a20616c726561647920636c6160408201527f696d65642e000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526025908201527f5772697465446973747269627574696f6e56313a205472616e7366657220666160408201527f696c65642e000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526034908201527f5772697465446973747269627574696f6e56313a206e657874206f776e65722060408201527f697320746865207a65726f20616464726573732e000000000000000000000000606082015260800190565b60208082526023908201527f5772697465446973747269627574696f6e56313a20496e76616c69642070726f60408201527f6f662e0000000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252602d908201527f5772697465446973747269627574696f6e56313a2063616c6c6572206973206e60408201527f6f7420746865206f776e65722e00000000000000000000000000000000000000606082015260800190565b60208082526041908201527f5772697465446973747269627574696f6e56313a2063757272656e74206f776e60408201527f6572206d757374207365742063616c6c6572206173206e657874206f776e657260608201527f2e00000000000000000000000000000000000000000000000000000000000000608082015260a00190565b9283526001600160a01b03919091166020830152604082015260600190565b60405181810167ffffffffffffffff81118282101715610d1f57600080fd5b604052919050565b600067ffffffffffffffff821115610d3d578081fd5b506020908102019056fea264697066735822122007770f9054057e77436e06ffcdf7500773242735c1596c238e8f51939aafe34964736f6c63430006080033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000622236bb180256b6ae1a935dae08dc0356141632
-----Decoded View---------------
Arg [0] : token_ (address): 0x622236BB180256B6Ae1a935DaE08dC0356141632
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000622236bb180256b6ae1a935dae08dc0356141632
Deployed Bytecode Sourcemap
3954:5483:0:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;3954:5483:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;6440:90:0;;;:::i;:::-;;8664:770;;;;;;;;;:::i;4439:25::-;;;:::i;:::-;;;;;;;;;;;;;;;;7225:142;;;:::i;6698:176::-;;;:::i;7884:158::-;;;;;;;;;:::i;5636:92::-;;;:::i;:::-;;;;;;;;8050:322;;;;;;;;;:::i;7424:392::-;;;;;;;;;:::i;5813:100::-;;;:::i;6056:247::-;;;;;;;;;:::i;4133:30::-;;;:::i;:::-;;;;;;;;6440:90;5020:9;:7;:9::i;:::-;5012:67;;;;-1:-1:-1;;;5012:67:0;;;;;;;;;;;;;;;;;6512:10:::1;6505:17:::0;;-1:-1:-1;;6505:17:0::1;::::0;;6440:90::o;8664:770::-;8831:16;8841:5;8831:9;:16::i;:::-;8830:17;8822:67;;;;-1:-1:-1;;;8822:67:0;;;;;;;;;8939:12;8981:5;8988:7;8997:6;8964:40;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;8964:40:0;;;8954:51;;;;;;8939:66;;9038:49;9057:11;;9038:49;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;;9070:10:0;;;-1:-1:-1;9082:4:0;;-1:-1:-1;9038:18:0;:49::i;:::-;9016:134;;;;-1:-1:-1;;;9016:134:0;;;;;;;;;9211:18;9223:5;9211:11;:18::i;:::-;9262:50;;;;;-1:-1:-1;;;;;9280:5:0;9262:33;;;;:50;;9296:7;;9305:6;;9262:50;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;9262:50:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9262:50:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;9262:50:0;;;;;;;;;9240:137;;;;-1:-1:-1;;;9240:137:0;;;;;;;;;9395:31;9403:5;9410:7;9419:6;9395:31;;;;;;;;;;;;;;;;;8664:770;;;;;;:::o;4439:25::-;;;;:::o;7225:142::-;5020:9;:7;:9::i;:::-;5012:67;;;;-1:-1:-1;;;5012:67:0;;;;;;;;;7326:1:::1;7310:6:::0;;7289:40:::1;::::0;-1:-1:-1;;;;;7310:6:0;;::::1;::::0;7289:40:::1;::::0;7326:1;;7289:40:::1;7357:1;7340:19:::0;;-1:-1:-1;;7340:19:0::1;::::0;;7225:142::o;6698:176::-;5165:13;:11;:13::i;:::-;5143:128;;;;-1:-1:-1;;;5143:128:0;;;;;;;;;6766:10:::1;6759:17:::0;;-1:-1:-1;;6759:17:0::1;::::0;;-1:-1:-1;6815:6:0;;6794:40:::1;::::0;6823:10:::1;::::0;-1:-1:-1;;;;;6815:6:0;;::::1;::::0;6794:40:::1;::::0;::::1;6847:6;:19:::0;;-1:-1:-1;;6847:19:0::1;6856:10;6847:19;::::0;;6698:176::o;7884:158::-;5020:9;:7;:9::i;:::-;5012:67;;;;-1:-1:-1;;;5012:67:0;;;;;;;;;7963:36:::1;7975:10;;7987:11;7963:36;;;;;;;;;;;;;;;;8010:10;:24:::0;7884:158::o;5636:92::-;5676:4;5714:6;-1:-1:-1;;;;;5714:6:0;5700:10;:20;;5636:92::o;8050:322::-;8157:3;8149:11;;8105:4;8241:31;;;:13;:31;;;;;;8299:1;8197:11;;;;8299:20;;;;8338:18;;;:26;;8050:322::o;7424:392::-;7527:7;5020:9;:7;:9::i;:::-;5012:67;;;;-1:-1:-1;;;5012:67:0;;;;;;;;;7604:5:::1;7552:31;7623:162;7647:9;:16;7643:1;:20;7623:162;;;7685:13;-1:-1:-1::0;;;;;7685:22:0::1;;7708:9;7718:1;7708:12;;;;;;;;;;;;;;4066:4;7685:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24::::0;17:12:::1;2:2;7685:43:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;7685:43:0;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;7685:43:0;;;;;;;;;;7748:25;7760:9;7770:1;7760:12;;;;;;;;;;;;;;7748:25;;;;;;;;;;;;;;;7665:3;;7623:162;;;-1:-1:-1::0;7804:4:0::1;::::0;7424:392;-1:-1:-1;;;7424:392:0:o;5813:100::-;5895:10;;-1:-1:-1;;;;;5895:10:0;5881;:24;;5813:100::o;6056:247::-;5020:9;:7;:9::i;:::-;5012:67;;;;-1:-1:-1;;;5012:67:0;;;;;;;;;-1:-1:-1;;;;;6155:24:0;::::1;6133:126;;;;-1:-1:-1::0;;;6133:126:0::1;;;;;;;;;6272:10;:23:::0;;-1:-1:-1;;6272:23:0::1;-1:-1:-1::0;;;;;6272:23:0;;;::::1;::::0;;;::::1;::::0;;6056:247::o;4133:30::-;;;:::o;690:910::-;815:4;855;815;872:605;896:5;:12;892:1;:16;872:605;;;930:20;953:5;959:1;953:8;;;;;;;;;;;;;;930:31;;998:12;982;:28;978:488;;1174:12;1188;1157:44;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;1157:44:0;;;1125:95;;;;;;1110:110;;978:488;;;1404:12;1418;1387:44;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;1387:44:0;;;1355:95;;;;;;1340:110;;978:488;-1:-1:-1;910:3:0;;872:605;;;-1:-1:-1;1572:20:0;;;;690:910;-1:-1:-1;;;690:910:0:o;8380:276::-;8470:3;8462:11;;8435:24;8579:31;;;:13;:31;;;;;;;8627:1;8510:11;;;;8627:20;;;;8579:69;;;8532:116;;8380:276::o;5:130:-1:-;72:20;;-1:-1;;;;;13993:54;;14875:35;;14865:2;;14924:1;;14914:12;14865:2;57:78;;;;;1662:241;;1766:2;1754:9;1745:7;1741:23;1737:32;1734:2;;;-1:-1;;1772:12;1734:2;1834:53;1879:7;1855:22;1834:53;;;1824:63;1728:175;-1:-1;;;1728:175;1910:377;;2039:2;;2027:9;2018:7;2014:23;2010:32;2007:2;;;-1:-1;;2045:12;2007:2;2103:17;2090:31;2141:18;2133:6;2130:30;2127:2;;;-1:-1;;2163:12;2127:2;2254:6;2243:9;2239:22;277:3;270:4;262:6;258:17;254:27;244:2;;-1:-1;;285:12;244:2;332:6;319:20;305:34;;354:80;369:64;426:6;369:64;;;354:80;;;462:21;;;519:14;;;;494:17;;;608;;;599:27;;;;596:36;-1:-1;593:2;;;-1:-1;;635:12;593:2;-1:-1;661:10;;655:206;680:6;677:1;674:13;655:206;;;760:37;793:3;781:10;760:37;;;748:50;;702:1;695:9;;;;;812:14;;;;840;;655:206;;;-1:-1;2183:88;2001:286;-1:-1;;;;;;;2001:286;2294:257;;2406:2;2394:9;2385:7;2381:23;2377:32;2374:2;;;-1:-1;;2412:12;2374:2;1334:6;1328:13;15021:5;13826:13;13819:21;14999:5;14996:32;14986:2;;-1:-1;;15032:12;2558:241;;2662:2;2650:9;2641:7;2637:23;2633:32;2630:2;;;-1:-1;;2668:12;2630:2;-1:-1;1455:20;;2624:175;-1:-1;2624:175;3054:773;;;;;;3244:3;3232:9;3223:7;3219:23;3215:33;3212:2;;;-1:-1;;3251:12;3212:2;1605:6;1592:20;3303:63;;3421:53;3466:7;3403:2;3446:9;3442:22;3421:53;;;3411:63;;3511:2;3554:9;3550:22;1592:20;3519:63;;3647:2;3636:9;3632:18;3619:32;3671:18;;3663:6;3660:30;3657:2;;;-1:-1;;3693:12;3657:2;3794:6;3783:9;3779:22;1023:3;1016:4;1008:6;1004:17;1000:27;990:2;;-1:-1;;1031:12;990:2;1074:6;1061:20;1051:30;;3671:18;1093:6;1090:30;1087:2;;;-1:-1;;1123:12;1087:2;1218:3;3403:2;;1202:6;1198:17;1159:6;1184:32;;1181:41;1178:2;;;-1:-1;;1225:12;1178:2;3403;1159:6;1155:17;3721:90;;;;;;;;3206:621;;;;;;;;;7297:392;4295:37;;;7550:2;7541:12;;4295:37;7652:12;;;7441:248;7696:531;4295:37;;;14788:2;14784:14;;;;;;7977:2;7968:12;;4043:58;8079:12;;;4295:37;8190:12;;;7868:359;8234:222;-1:-1;;;;;13993:54;;;;3905:37;;8361:2;8346:18;;8332:124;8463:333;-1:-1;;;;;13993:54;;;;3905:37;;8782:2;8767:18;;4295:37;8618:2;8603:18;;8589:207;8803:331;-1:-1;;;;;13993:54;;;;3905:37;;14210:18;14199:30;9120:2;9105:18;;7236:49;8957:2;8942:18;;8928:206;9141:210;13826:13;;13819:21;4178:34;;9262:2;9247:18;;9233:118;9358:222;4295:37;;;9485:2;9470:18;;9456:124;9927:416;10127:2;10141:47;;;4728:2;10112:18;;;13594:19;4764:34;13634:14;;;4744:55;4833:7;4819:12;;;4812:29;4860:12;;;10098:245;10350:416;10550:2;10564:47;;;5111:2;10535:18;;;13594:19;5147:34;13634:14;;;5127:55;5216:7;5202:12;;;5195:29;5243:12;;;10521:245;10773:416;10973:2;10987:47;;;5494:2;10958:18;;;13594:19;5530:34;13634:14;;;5510:55;5599:22;5585:12;;;5578:44;5641:12;;;10944:245;11196:416;11396:2;11410:47;;;5892:2;11381:18;;;13594:19;5928:34;13634:14;;;5908:55;5997:5;5983:12;;;5976:27;6022:12;;;11367:245;11619:416;11819:2;11833:47;;;6273:2;11804:18;;;13594:19;6309:34;13634:14;;;6289:55;6378:15;6364:12;;;6357:37;6413:12;;;11790:245;12042:416;12242:2;12256:47;;;6664:2;12227:18;;;13594:19;6700:34;13634:14;;;6680:55;6769:34;6755:12;;;6748:56;6838:3;6824:12;;;6817:25;6861:12;;;12213:245;12465:444;4295:37;;;-1:-1;;;;;13993:54;;;;12812:2;12797:18;;3905:37;12895:2;12880:18;;4295:37;12648:2;12633:18;;12619:290;12916:256;12978:2;12972:9;13004:17;;;13079:18;13064:34;;13100:22;;;13061:62;13058:2;;;13136:1;;13126:12;13058:2;12978;13145:22;12956:216;;-1:-1;12956:216;13179:304;;13338:18;13330:6;13327:30;13324:2;;;-1:-1;;13360:12;13324:2;-1:-1;13405:4;13393:17;;;13458:15;;13261:222
Swarm Source
ipfs://07770f9054057e77436e06ffcdf7500773242735c1596c238e8f51939aafe349
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ 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.