Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 1 from a total of 1 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Register | 13057822 | 1294 days ago | IN | 0 ETH | 0.00441946 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
DistributionProxy
Compiler Version
v0.8.6+commit.11564f7e
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-08-17 */ // SPDX-License-Identifier: GPL-3.0-or-later pragma solidity 0.8.6; contract Ownable { address public owner; address private nextOwner; event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); // modifiers modifier onlyOwner() { require(isOwner(), "caller is not the owner."); _; } modifier onlyNextOwner() { require(isNextOwner(), "current owner must set caller as next owner."); _; } /** * @dev Initialize contract by setting transaction submitter as initial owner. */ constructor(address owner_) { owner = owner_; emit OwnershipTransferred(address(0), owner); } /** * @dev Initiate ownership transfer by setting nextOwner. */ function transferOwnership(address nextOwner_) external onlyOwner { require(nextOwner_ != address(0), "Next owner is the zero address."); nextOwner = nextOwner_; } /** * @dev Cancel ownership transfer by deleting nextOwner. */ function cancelOwnershipTransfer() external onlyOwner { delete nextOwner; } /** * @dev Accepts ownership transfer by setting owner. */ function acceptOwnership() external onlyNextOwner { delete nextOwner; owner = msg.sender; emit OwnershipTransferred(owner, msg.sender); } /** * @dev Renounce ownership by setting owner to zero address. */ function renounceOwnership() external onlyOwner { owner = address(0); emit OwnershipTransferred(owner, address(0)); } /** * @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; } } // File contracts/lib/interface/IGovernable.sol interface IGovernable { function changeGovernor(address governor_) external; function isGovernor() external view returns (bool); function governor() external view returns (address); } // File contracts/lib/Governable.sol contract Governable is Ownable, IGovernable { // ============ Mutable Storage ============ // Mirror governance contract. address public override governor; // ============ Modifiers ============ modifier onlyGovernance() { require(isOwner() || isGovernor(), "caller is not governance"); _; } modifier onlyGovernor() { require(isGovernor(), "caller is not governor"); _; } // ============ Constructor ============ constructor(address owner_) Ownable(owner_) {} // ============ Administration ============ function changeGovernor(address governor_) public override onlyGovernance { governor = governor_; } // ============ Utility Functions ============ function isGovernor() public view override returns (bool) { return msg.sender == governor; } } // File contracts/distribution/interface/IDistributionLogic.sol interface IDistributionLogic { function version() external returns (uint256); function distribute(address tributary, uint256 contribution) external; function claim(address claimant) external; function claimable(address claimant) external view returns (uint256); function increaseAwards(address member, uint256 amount) external; } // File contracts/interface/IENS.sol interface IENS { // Logged when the owner of a node assigns a new owner to a subnode. event NewOwner(bytes32 indexed node, bytes32 indexed label, address owner); // Logged when the owner of a node transfers ownership to a new account. event Transfer(bytes32 indexed node, address owner); // Logged when the resolver for a node changes. event NewResolver(bytes32 indexed node, address resolver); // Logged when the TTL of a node changes event NewTTL(bytes32 indexed node, uint64 ttl); // Logged when an operator is added or removed. event ApprovalForAll( address indexed owner, address indexed operator, bool approved ); function setRecord( bytes32 node, address owner, address resolver, uint64 ttl ) external; function setSubnodeRecord( bytes32 node, bytes32 label, address owner, address resolver, uint64 ttl ) external; function setSubnodeOwner( bytes32 node, bytes32 label, address owner ) external returns (bytes32); function setResolver(bytes32 node, address resolver) external; function setOwner(bytes32 node, address owner) external; function setTTL(bytes32 node, uint64 ttl) external; function setApprovalForAll(address operator, bool approved) external; function owner(bytes32 node) external view returns (address); function resolver(bytes32 node) external view returns (address); function ttl(bytes32 node) external view returns (uint64); function recordExists(bytes32 node) external view returns (bool); function isApprovedForAll(address owner, address operator) external view returns (bool); } // File contracts/distribution/interface/IDistributionStorage.sol interface IDistributionStorage { function registered(address claimant) external view returns (uint256); } // File contracts/distribution/DistributionStorage.sol /** * @title DistributionStorage * @author MirrorXYZ */ contract DistributionStorage is IDistributionStorage { // ============ Immutable Storage ============ // The node of the root name (e.g. namehash(mirror.xyz)) bytes32 public immutable rootNode; /** * The address of the public ENS registry. * @dev Dependency-injectable for testing purposes, but otherwise this is the * canonical ENS registry at 0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e. */ IENS public immutable ensRegistry; // ============ Mutable Storage ============ // The address for Mirror team and investors. address team; // The address of the governance token that this contract is allowed to mint. address token; // The address that is allowed to distribute. address treasury; // The amount that has been contributed to the treasury. mapping(address => uint256) public contributions; mapping(address => uint256) public awards; // The number of rewards that are created per 1 ETH contribution to the treasury. uint256 contributionsFactor = 1000; // The amount that has been claimed per address. mapping(address => uint256) public claimed; // The block number that an address last claimed mapping(address => uint256) public lastClaimed; // The block number that an address registered mapping(address => uint256) public override registered; // Banned accounts mapping(address => bool) public banned; // The percentage of tokens issued that are taken by the Mirror team. uint256 teamRatio = 40; uint256 public registrationReward = 100 * 1e18; uint256 public registeredMembers; struct DistributionEpoch { uint256 startBlock; uint256 claimablePerBlock; } DistributionEpoch[] public epochs; uint256 numEpochs = 0; constructor(bytes32 rootNode_, address ensRegistry_) { rootNode = rootNode_; ensRegistry = IENS(ensRegistry_); } } // File contracts/lib/upgradable/interface/IBeacon.sol interface IBeacon { /// @notice Logic for this contract. function logic() external view returns (address); /// @notice Emitted when the logic is updated. event Update(address oldLogic, address newLogic); /// @notice Updates logic address. function update(address newLogic) external; } // File contracts/lib/upgradable/BeaconStorage.sol contract BeaconStorage { /// @notice Holds the address of the upgrade beacon address internal immutable beacon; constructor(address beacon_) { beacon = beacon_; } } // File contracts/lib/Pausable.sol interface IPausable { /// @notice Emitted when the pause is triggered by `account`. event Paused(address account); /// @notice Emitted when the pause is lifted by `account`. event Unpaused(address account); function paused() external returns (bool); } contract Pausable is IPausable { bool public override paused; // Modifiers modifier whenNotPaused() { require(!paused, "Pausable: paused"); _; } modifier whenPaused() { require(paused, "Pausable: not paused"); _; } /// @notice Initializes the contract in unpaused state. constructor(bool paused_) { paused = paused_; } // ============ Internal Functions ============ function _pause() internal whenNotPaused { paused = true; emit Paused(msg.sender); } function _unpause() internal whenPaused { paused = false; emit Unpaused(msg.sender); } } // File contracts/distribution/DistributionProxy.sol /** * @title DistributionProxy * @author MirrorXYZ */ contract DistributionProxy is BeaconStorage, Governable, DistributionStorage, Pausable { constructor( address beacon_, address owner_, address team_, address token_, bytes32 rootNode_, address ensRegistry_, address treasury_ ) BeaconStorage(beacon_) Governable(owner_) DistributionStorage(rootNode_, ensRegistry_) Pausable(true) { // Initialize the logic, supplying initialization calldata. team = team_; token = token_; treasury = treasury_; } fallback() external payable { address logic = IBeacon(beacon).logic(); assembly { let ptr := mload(0x40) calldatacopy(ptr, 0, calldatasize()) let result := delegatecall(gas(), logic, ptr, calldatasize(), 0, 0) let size := returndatasize() returndatacopy(ptr, 0, size) switch result case 0 { revert(ptr, size) } default { return(ptr, size) } } } receive() external payable {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"beacon_","type":"address"},{"internalType":"address","name":"owner_","type":"address"},{"internalType":"address","name":"team_","type":"address"},{"internalType":"address","name":"token_","type":"address"},{"internalType":"bytes32","name":"rootNode_","type":"bytes32"},{"internalType":"address","name":"ensRegistry_","type":"address"},{"internalType":"address","name":"treasury_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"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":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"stateMutability":"payable","type":"fallback"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"awards","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"banned","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"cancelOwnershipTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"governor_","type":"address"}],"name":"changeGovernor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"claimed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"contributions","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ensRegistry","outputs":[{"internalType":"contract IENS","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"epochs","outputs":[{"internalType":"uint256","name":"startBlock","type":"uint256"},{"internalType":"uint256","name":"claimablePerBlock","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"governor","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isGovernor","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":[{"internalType":"address","name":"","type":"address"}],"name":"lastClaimed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"registered","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"registeredMembers","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"registrationReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rootNode","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"nextOwner_","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60e06040526103e86008556028600d5568056bc75e2d63100000600e55600060115534801561002d57600080fd5b50604051610bc4380380610bc483398101604081905261004c9161013d565b606087901b6001600160601b031916608052600080546001600160a01b0319166001600160a01b0388169081178255604051600192869286928b928392917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3505060a09190915260601b6001600160601b03191660c0526012805460ff1916911515919091179055600380546001600160a01b03199081166001600160a01b03978816179091556004805482169587169590951790945560058054909416941693909317909155506101bc92505050565b80516001600160a01b038116811461013857600080fd5b919050565b600080600080600080600060e0888a03121561015857600080fd5b61016188610121565b965061016f60208901610121565b955061017d60408901610121565b945061018b60608901610121565b9350608088015192506101a060a08901610121565b91506101ae60c08901610121565b905092959891949750929550565b60805160601c60a05160c05160601c6109d36101f16000396000610389015260006105680152600061018401526109d36000f3fe6080604052600436106101795760003560e01c80638f32d59b116100cb578063c884ef831161007f578063eea4a0a311610059578063eea4a0a314610520578063f2fde38b14610536578063faff50a81461055657610180565b8063c884ef83146104b3578063e4c0aaf4146104e0578063ed459df21461050057610180565b8063b2dd5c07116100b0578063b2dd5c0714610431578063c6b61e4c1461045e578063c7af33521461049357610180565b80638f32d59b146103e15780639c8d83bb1461040157610180565b8063715018a61161012d5780637d73b231116101075780637d73b23114610377578063865909f6146103ab5780638da5cb5b146103c157610180565b8063715018a61461032057806379ba5097146103355780637b0e5f561461034a57610180565b806323452b9c1161015e57806323452b9c146102b257806342e94c90146102c95780635c975abb146102f657610180565b8063013eba921461023a5780630c340a241461027a57610180565b3661018057005b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d7dfa0dd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156101db57600080fd5b505afa1580156101ef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610213919061094f565b905060405136600082376000803683855af43d806000843e818015610236578184f35b8184fd5b34801561024657600080fd5b5061026761025536600461092b565b600a6020526000908152604090205481565b6040519081526020015b60405180910390f35b34801561028657600080fd5b5060025461029a906001600160a01b031681565b6040516001600160a01b039091168152602001610271565b3480156102be57600080fd5b506102c761058a565b005b3480156102d557600080fd5b506102676102e436600461092b565b60066020526000908152604090205481565b34801561030257600080fd5b506012546103109060ff1681565b6040519015158152602001610271565b34801561032c57600080fd5b506102c7610608565b34801561034157600080fd5b506102c76106ab565b34801561035657600080fd5b5061026761036536600461092b565b60076020526000908152604090205481565b34801561038357600080fd5b5061029a7f000000000000000000000000000000000000000000000000000000000000000081565b3480156103b757600080fd5b50610267600e5481565b3480156103cd57600080fd5b5060005461029a906001600160a01b031681565b3480156103ed57600080fd5b506000546001600160a01b03163314610310565b34801561040d57600080fd5b5061031061041c36600461092b565b600c6020526000908152604090205460ff1681565b34801561043d57600080fd5b5061026761044c36600461092b565b600b6020526000908152604090205481565b34801561046a57600080fd5b5061047e61047936600461096c565b610780565b60408051928352602083019190915201610271565b34801561049f57600080fd5b506002546001600160a01b03163314610310565b3480156104bf57600080fd5b506102676104ce36600461092b565b60096020526000908152604090205481565b3480156104ec57600080fd5b506102c76104fb36600461092b565b6107ae565b34801561050c57600080fd5b506001546001600160a01b03163314610310565b34801561052c57600080fd5b50610267600f5481565b34801561054257600080fd5b506102c761055136600461092b565b61084c565b34801561056257600080fd5b506102677f000000000000000000000000000000000000000000000000000000000000000081565b6000546001600160a01b031633146105e95760405162461bcd60e51b815260206004820152601860248201527f63616c6c6572206973206e6f7420746865206f776e65722e000000000000000060448201526064015b60405180910390fd5b6001805473ffffffffffffffffffffffffffffffffffffffff19169055565b6000546001600160a01b031633146106625760405162461bcd60e51b815260206004820152601860248201527f63616c6c6572206973206e6f7420746865206f776e65722e000000000000000060448201526064016105e0565b6000805473ffffffffffffffffffffffffffffffffffffffff1916815560405181907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3565b6001546001600160a01b0316331461072b5760405162461bcd60e51b815260206004820152602c60248201527f63757272656e74206f776e6572206d757374207365742063616c6c657220617360448201527f206e657874206f776e65722e000000000000000000000000000000000000000060648201526084016105e0565b6001805473ffffffffffffffffffffffffffffffffffffffff19908116909155600080543392168217815560405182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3565b6010818154811061079057600080fd5b60009182526020909120600290910201805460019091015490915082565b6000546001600160a01b03163314806107d157506002546001600160a01b031633145b61081d5760405162461bcd60e51b815260206004820152601860248201527f63616c6c6572206973206e6f7420676f7665726e616e6365000000000000000060448201526064016105e0565b6002805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6000546001600160a01b031633146108a65760405162461bcd60e51b815260206004820152601860248201527f63616c6c6572206973206e6f7420746865206f776e65722e000000000000000060448201526064016105e0565b6001600160a01b0381166108fc5760405162461bcd60e51b815260206004820152601f60248201527f4e657874206f776e657220697320746865207a65726f20616464726573732e0060448201526064016105e0565b6001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b60006020828403121561093d57600080fd5b813561094881610985565b9392505050565b60006020828403121561096157600080fd5b815161094881610985565b60006020828403121561097e57600080fd5b5035919050565b6001600160a01b038116811461099a57600080fd5b5056fea2646970667358221220bbec471c3704aac83e5b92b3823ff13a9e0e7609b97c696064a8597b5aaaa68f64736f6c6343000806003300000000000000000000000025f4da52b8fcd80b38df63733e2406ddc2303d2b0000000000000000000000002330ee705ffd040bb0cba8cb7734dfe00e7c4b570000000000000000000000002330ee705ffd040bb0cba8cb7734dfe00e7c4b57000000000000000000000000b19d71a47569653e2069ac33d9d654e2eaabdb7f1aaf79d9b3323ad0212f6a2f34f8c627d8d45e45a55c774d080e3077334bfad900000000000000000000000000000000000c2e074ec69a0dfb2997ba6c7d2e1e000000000000000000000000138c3d30a724de380739aad9ec94e59e613a9008
Deployed Bytecode
0x6080604052600436106101795760003560e01c80638f32d59b116100cb578063c884ef831161007f578063eea4a0a311610059578063eea4a0a314610520578063f2fde38b14610536578063faff50a81461055657610180565b8063c884ef83146104b3578063e4c0aaf4146104e0578063ed459df21461050057610180565b8063b2dd5c07116100b0578063b2dd5c0714610431578063c6b61e4c1461045e578063c7af33521461049357610180565b80638f32d59b146103e15780639c8d83bb1461040157610180565b8063715018a61161012d5780637d73b231116101075780637d73b23114610377578063865909f6146103ab5780638da5cb5b146103c157610180565b8063715018a61461032057806379ba5097146103355780637b0e5f561461034a57610180565b806323452b9c1161015e57806323452b9c146102b257806342e94c90146102c95780635c975abb146102f657610180565b8063013eba921461023a5780630c340a241461027a57610180565b3661018057005b60007f00000000000000000000000025f4da52b8fcd80b38df63733e2406ddc2303d2b6001600160a01b031663d7dfa0dd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156101db57600080fd5b505afa1580156101ef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610213919061094f565b905060405136600082376000803683855af43d806000843e818015610236578184f35b8184fd5b34801561024657600080fd5b5061026761025536600461092b565b600a6020526000908152604090205481565b6040519081526020015b60405180910390f35b34801561028657600080fd5b5060025461029a906001600160a01b031681565b6040516001600160a01b039091168152602001610271565b3480156102be57600080fd5b506102c761058a565b005b3480156102d557600080fd5b506102676102e436600461092b565b60066020526000908152604090205481565b34801561030257600080fd5b506012546103109060ff1681565b6040519015158152602001610271565b34801561032c57600080fd5b506102c7610608565b34801561034157600080fd5b506102c76106ab565b34801561035657600080fd5b5061026761036536600461092b565b60076020526000908152604090205481565b34801561038357600080fd5b5061029a7f00000000000000000000000000000000000c2e074ec69a0dfb2997ba6c7d2e1e81565b3480156103b757600080fd5b50610267600e5481565b3480156103cd57600080fd5b5060005461029a906001600160a01b031681565b3480156103ed57600080fd5b506000546001600160a01b03163314610310565b34801561040d57600080fd5b5061031061041c36600461092b565b600c6020526000908152604090205460ff1681565b34801561043d57600080fd5b5061026761044c36600461092b565b600b6020526000908152604090205481565b34801561046a57600080fd5b5061047e61047936600461096c565b610780565b60408051928352602083019190915201610271565b34801561049f57600080fd5b506002546001600160a01b03163314610310565b3480156104bf57600080fd5b506102676104ce36600461092b565b60096020526000908152604090205481565b3480156104ec57600080fd5b506102c76104fb36600461092b565b6107ae565b34801561050c57600080fd5b506001546001600160a01b03163314610310565b34801561052c57600080fd5b50610267600f5481565b34801561054257600080fd5b506102c761055136600461092b565b61084c565b34801561056257600080fd5b506102677f1aaf79d9b3323ad0212f6a2f34f8c627d8d45e45a55c774d080e3077334bfad981565b6000546001600160a01b031633146105e95760405162461bcd60e51b815260206004820152601860248201527f63616c6c6572206973206e6f7420746865206f776e65722e000000000000000060448201526064015b60405180910390fd5b6001805473ffffffffffffffffffffffffffffffffffffffff19169055565b6000546001600160a01b031633146106625760405162461bcd60e51b815260206004820152601860248201527f63616c6c6572206973206e6f7420746865206f776e65722e000000000000000060448201526064016105e0565b6000805473ffffffffffffffffffffffffffffffffffffffff1916815560405181907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3565b6001546001600160a01b0316331461072b5760405162461bcd60e51b815260206004820152602c60248201527f63757272656e74206f776e6572206d757374207365742063616c6c657220617360448201527f206e657874206f776e65722e000000000000000000000000000000000000000060648201526084016105e0565b6001805473ffffffffffffffffffffffffffffffffffffffff19908116909155600080543392168217815560405182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3565b6010818154811061079057600080fd5b60009182526020909120600290910201805460019091015490915082565b6000546001600160a01b03163314806107d157506002546001600160a01b031633145b61081d5760405162461bcd60e51b815260206004820152601860248201527f63616c6c6572206973206e6f7420676f7665726e616e6365000000000000000060448201526064016105e0565b6002805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6000546001600160a01b031633146108a65760405162461bcd60e51b815260206004820152601860248201527f63616c6c6572206973206e6f7420746865206f776e65722e000000000000000060448201526064016105e0565b6001600160a01b0381166108fc5760405162461bcd60e51b815260206004820152601f60248201527f4e657874206f776e657220697320746865207a65726f20616464726573732e0060448201526064016105e0565b6001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b60006020828403121561093d57600080fd5b813561094881610985565b9392505050565b60006020828403121561096157600080fd5b815161094881610985565b60006020828403121561097e57600080fd5b5035919050565b6001600160a01b038116811461099a57600080fd5b5056fea2646970667358221220bbec471c3704aac83e5b92b3823ff13a9e0e7609b97c696064a8597b5aaaa68f64736f6c63430008060033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000025f4da52b8fcd80b38df63733e2406ddc2303d2b0000000000000000000000002330ee705ffd040bb0cba8cb7734dfe00e7c4b570000000000000000000000002330ee705ffd040bb0cba8cb7734dfe00e7c4b57000000000000000000000000b19d71a47569653e2069ac33d9d654e2eaabdb7f1aaf79d9b3323ad0212f6a2f34f8c627d8d45e45a55c774d080e3077334bfad900000000000000000000000000000000000c2e074ec69a0dfb2997ba6c7d2e1e000000000000000000000000138c3d30a724de380739aad9ec94e59e613a9008
-----Decoded View---------------
Arg [0] : beacon_ (address): 0x25f4Da52b8fCd80b38DF63733e2406ddC2303D2B
Arg [1] : owner_ (address): 0x2330ee705fFD040bB0cbA8CB7734Dfe00E7C4b57
Arg [2] : team_ (address): 0x2330ee705fFD040bB0cbA8CB7734Dfe00E7C4b57
Arg [3] : token_ (address): 0xB19D71A47569653e2069Ac33D9d654e2EaabdB7f
Arg [4] : rootNode_ (bytes32): 0x1aaf79d9b3323ad0212f6a2f34f8c627d8d45e45a55c774d080e3077334bfad9
Arg [5] : ensRegistry_ (address): 0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e
Arg [6] : treasury_ (address): 0x138c3d30A724de380739aad9ec94E59e613a9008
-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 00000000000000000000000025f4da52b8fcd80b38df63733e2406ddc2303d2b
Arg [1] : 0000000000000000000000002330ee705ffd040bb0cba8cb7734dfe00e7c4b57
Arg [2] : 0000000000000000000000002330ee705ffd040bb0cba8cb7734dfe00e7c4b57
Arg [3] : 000000000000000000000000b19d71a47569653e2069ac33d9d654e2eaabdb7f
Arg [4] : 1aaf79d9b3323ad0212f6a2f34f8c627d8d45e45a55c774d080e3077334bfad9
Arg [5] : 00000000000000000000000000000000000c2e074ec69a0dfb2997ba6c7d2e1e
Arg [6] : 000000000000000000000000138c3d30a724de380739aad9ec94e59e613a9008
Deployed Bytecode Sourcemap
9708:1212:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10375:13;10399:6;-1:-1:-1;;;;;10391:21:0;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10375:39;;10468:4;10462:11;10508:14;10505:1;10500:3;10487:36;10602:1;10599;10583:14;10578:3;10571:5;10564;10551:53;10630:16;10683:4;10680:1;10675:3;10660:28;10711:6;10731:58;;;;10842:4;10837:3;10830:17;10731:58;10769:4;10764:3;10757:17;7142:46;;;;;;;;;;-1:-1:-1;7142:46:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;1276:25:1;;;1264:2;1249:18;7142:46:0;;;;;;;;2514:32;;;;;;;;;;-1:-1:-1;2514:32:0;;;;-1:-1:-1;;;;;2514:32:0;;;;;;-1:-1:-1;;;;;871:55:1;;;853:74;;841:2;826:18;2514:32:0;808:125:1;1117:89:0;;;;;;;;;;;;;:::i;:::-;;6754:48;;;;;;;;;;-1:-1:-1;6754:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;8901:27;;;;;;;;;;-1:-1:-1;8901:27:0;;;;;;;;;;;1103:14:1;;1096:22;1078:41;;1066:2;1051:18;8901:27:0;1033:92:1;1555:142:0;;;;;;;;;;;;;:::i;1290:173::-;;;;;;;;;;;;;:::i;6809:41::-;;;;;;;;;;-1:-1:-1;6809:41:0;;;;;:::i;:::-;;;;;;;;;;;;;;6351:33;;;;;;;;;;;;;;;7481:46;;;;;;;;;;;;;;;;96:20;;;;;;;;;;-1:-1:-1;96:20:0;;;;-1:-1:-1;;;;;96:20:0;;;1785:91;;;;;;;;;;-1:-1:-1;1825:4:0;1863:5;-1:-1:-1;;;;;1863:5:0;1849:10;:19;1785:91;;7332:38;;;;;;;;;;-1:-1:-1;7332:38:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;7247:54;;;;;;;;;;-1:-1:-1;7247:54:0;;;;;:::i;:::-;;;;;;;;;;;;;;7681:33;;;;;;;;;;-1:-1:-1;7681:33:0;;;;;:::i;:::-;;:::i;:::-;;;;3390:25:1;;;3446:2;3431:18;;3424:34;;;;3363:18;7681:33:0;3345:119:1;3166:106:0;;;;;;;;;;-1:-1:-1;3256:8:0;;-1:-1:-1;;;;;3256:8:0;3242:10;:22;3166:106;;7039:42;;;;;;;;;;-1:-1:-1;7039:42:0;;;;;:::i;:::-;;;;;;;;;;;;;;2991:113;;;;;;;;;;-1:-1:-1;2991:113:0;;;;;:::i;:::-;;:::i;1961:99::-;;;;;;;;;;-1:-1:-1;2043:9:0;;-1:-1:-1;;;;;2043:9:0;2029:10;:23;1961:99;;7534:32;;;;;;;;;;;;;;;;841:188;;;;;;;;;;-1:-1:-1;841:188:0;;;;;:::i;:::-;;:::i;6084:33::-;;;;;;;;;;;;;;;1117:89;1825:4;1863:5;-1:-1:-1;;;;;1863:5:0;1849:10;:19;326:46;;;;-1:-1:-1;;;326:46:0;;2530:2:1;326:46:0;;;2512:21:1;2569:2;2549:18;;;2542:30;2608:26;2588:18;;;2581:54;2652:18;;326:46:0;;;;;;;;;1189:9:::1;1182:16:::0;;-1:-1:-1;;1182:16:0::1;::::0;;1117:89::o;1555:142::-;1825:4;1863:5;-1:-1:-1;;;;;1863:5:0;1849:10;:19;326:46;;;;-1:-1:-1;;;326:46:0;;2530:2:1;326:46:0;;;2512:21:1;2569:2;2549:18;;;2542:30;2608:26;2588:18;;;2581:54;2652:18;;326:46:0;2502:174:1;326:46:0;1630:1:::1;1614:18:::0;;-1:-1:-1;;1614:18:0::1;::::0;;1650:39:::1;::::0;1630:1;;1650:39:::1;::::0;1630:1;;1650:39:::1;1555:142::o:0;1290:173::-;2043:9;;-1:-1:-1;;;;;2043:9:0;2029:10;:23;436:70;;;;-1:-1:-1;;;436:70:0;;1757:2:1;436:70:0;;;1739:21:1;1796:2;1776:18;;;1769:30;1835:34;1815:18;;;1808:62;1906:14;1886:18;;;1879:42;1938:19;;436:70:0;1729:234:1;436:70:0;1358:9:::1;1351:16:::0;;-1:-1:-1;;1351:16:0;;::::1;::::0;;;-1:-1:-1;1380:18:0;;1388:10:::1;1380:18:::0;::::1;::::0;::::1;::::0;;1416:39:::1;::::0;1388:10;;1416:39:::1;::::0;::::1;1290:173::o:0;7681:33::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7681:33:0;:::o;2991:113::-;1825:4;1863:5;-1:-1:-1;;;;;1863:5:0;1849:10;:19;2646:25;;;-1:-1:-1;3256:8:0;;-1:-1:-1;;;;;3256:8:0;3242:10;:22;2659:12;2638:62;;;;-1:-1:-1;;;2638:62:0;;2883:2:1;2638:62:0;;;2865:21:1;2922:2;2902:18;;;2895:30;2961:26;2941:18;;;2934:54;3005:18;;2638:62:0;2855:174:1;2638:62:0;3076:8:::1;:20:::0;;-1:-1:-1;;3076:20:0::1;-1:-1:-1::0;;;;;3076:20:0;;;::::1;::::0;;;::::1;::::0;;2991:113::o;841:188::-;1825:4;1863:5;-1:-1:-1;;;;;1863:5:0;1849:10;:19;326:46;;;;-1:-1:-1;;;326:46:0;;2530:2:1;326:46:0;;;2512:21:1;2569:2;2549:18;;;2542:30;2608:26;2588:18;;;2581:54;2652:18;;326:46:0;2502:174:1;326:46:0;-1:-1:-1;;;;;926:24:0;::::1;918:68;;;::::0;-1:-1:-1;;;918:68:0;;2170:2:1;918:68:0::1;::::0;::::1;2152:21:1::0;2209:2;2189:18;;;2182:30;2248:33;2228:18;;;2221:61;2299:18;;918:68:0::1;2142:181:1::0;918:68:0::1;999:9;:22:::0;;-1:-1:-1;;999:22:0::1;-1:-1:-1::0;;;;;999:22:0;;;::::1;::::0;;;::::1;::::0;;841:188::o;14:247:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:2;;;142:1;139;132:12;94:2;181:9;168:23;200:31;225:5;200:31;:::i;:::-;250:5;84:177;-1:-1:-1;;;84:177:1:o;266:251::-;336:6;389:2;377:9;368:7;364:23;360:32;357:2;;;405:1;402;395:12;357:2;437:9;431:16;456:31;481:5;456:31;:::i;522:180::-;581:6;634:2;622:9;613:7;609:23;605:32;602:2;;;650:1;647;640:12;602:2;-1:-1:-1;673:23:1;;592:110;-1:-1:-1;592:110:1:o;3469:154::-;-1:-1:-1;;;;;3548:5:1;3544:54;3537:5;3534:65;3524:2;;3613:1;3610;3603:12;3524:2;3514:109;:::o
Swarm Source
ipfs://bbec471c3704aac83e5b92b3823ff13a9e0e7609b97c696064a8597b5aaaa68f
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 31 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.