The Rug: Editions Factory
Source Code
Contract Deployer
Overview
ETH Balance
0 ETH
Eth Value
$0.00Latest 25 from a total of 530 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Create | 15386397 | 1313 days ago | IN | 0 ETH | 0.00495361 | ||||
| Create | 15381782 | 1314 days ago | IN | 0 ETH | 0.00259537 | ||||
| Create | 15381166 | 1314 days ago | IN | 0 ETH | 0.00229682 | ||||
| Create | 15380607 | 1314 days ago | IN | 0 ETH | 0.00256509 | ||||
| Create | 15378507 | 1314 days ago | IN | 0 ETH | 0.00627274 | ||||
| Create | 15378499 | 1314 days ago | IN | 0 ETH | 0.00405601 | ||||
| Create | 15376878 | 1314 days ago | IN | 0 ETH | 0.00318259 | ||||
| Create | 15376426 | 1315 days ago | IN | 0 ETH | 0.00333102 | ||||
| Create | 15371563 | 1315 days ago | IN | 0 ETH | 0.00647321 | ||||
| Create | 15368389 | 1316 days ago | IN | 0 ETH | 0.01949047 | ||||
| Create | 15354170 | 1318 days ago | IN | 0 ETH | 0.00475776 | ||||
| Create | 15349640 | 1319 days ago | IN | 0 ETH | 0.0046742 | ||||
| Create | 15348455 | 1319 days ago | IN | 0 ETH | 0.00620214 | ||||
| Create | 15325720 | 1323 days ago | IN | 0 ETH | 0.00396327 | ||||
| Create | 15313832 | 1324 days ago | IN | 0 ETH | 0.00589982 | ||||
| Create | 15313810 | 1324 days ago | IN | 0 ETH | 0.0073374 | ||||
| Create | 15313094 | 1325 days ago | IN | 0 ETH | 0.00752032 | ||||
| Create | 15311095 | 1325 days ago | IN | 0 ETH | 0.00285581 | ||||
| Create | 15308368 | 1325 days ago | IN | 0 ETH | 0.0093255 | ||||
| Create | 15308350 | 1325 days ago | IN | 0 ETH | 0.00772728 | ||||
| Create | 15308258 | 1325 days ago | IN | 0 ETH | 0.00936695 | ||||
| Create | 15304769 | 1326 days ago | IN | 0 ETH | 0.01232867 | ||||
| Create | 15303684 | 1326 days ago | IN | 0 ETH | 0.01072698 | ||||
| Create | 15298176 | 1327 days ago | IN | 0 ETH | 0.00863096 | ||||
| Create | 15298146 | 1327 days ago | IN | 0 ETH | 0.00671946 |
Latest 25 internal transactions (View All)
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| 0x3d602d80 | 15386397 | 1313 days ago | Contract Creation | 0 ETH | |||
| 0x3d602d80 | 15381782 | 1314 days ago | Contract Creation | 0 ETH | |||
| 0x3d602d80 | 15381166 | 1314 days ago | Contract Creation | 0 ETH | |||
| 0x3d602d80 | 15380607 | 1314 days ago | Contract Creation | 0 ETH | |||
| 0x3d602d80 | 15378507 | 1314 days ago | Contract Creation | 0 ETH | |||
| 0x3d602d80 | 15378499 | 1314 days ago | Contract Creation | 0 ETH | |||
| 0x3d602d80 | 15376878 | 1314 days ago | Contract Creation | 0 ETH | |||
| 0x3d602d80 | 15376426 | 1315 days ago | Contract Creation | 0 ETH | |||
| 0x3d602d80 | 15371563 | 1315 days ago | Contract Creation | 0 ETH | |||
| 0x3d602d80 | 15368389 | 1316 days ago | Contract Creation | 0 ETH | |||
| 0x3d602d80 | 15354170 | 1318 days ago | Contract Creation | 0 ETH | |||
| 0x3d602d80 | 15349640 | 1319 days ago | Contract Creation | 0 ETH | |||
| 0x3d602d80 | 15348455 | 1319 days ago | Contract Creation | 0 ETH | |||
| 0x3d602d80 | 15325720 | 1323 days ago | Contract Creation | 0 ETH | |||
| 0x3d602d80 | 15313832 | 1324 days ago | Contract Creation | 0 ETH | |||
| 0x3d602d80 | 15313810 | 1324 days ago | Contract Creation | 0 ETH | |||
| 0x3d602d80 | 15313094 | 1325 days ago | Contract Creation | 0 ETH | |||
| 0x3d602d80 | 15311095 | 1325 days ago | Contract Creation | 0 ETH | |||
| 0x3d602d80 | 15308368 | 1325 days ago | Contract Creation | 0 ETH | |||
| 0x3d602d80 | 15308350 | 1325 days ago | Contract Creation | 0 ETH | |||
| 0x3d602d80 | 15308258 | 1325 days ago | Contract Creation | 0 ETH | |||
| 0x3d602d80 | 15304769 | 1326 days ago | Contract Creation | 0 ETH | |||
| 0x3d602d80 | 15303684 | 1326 days ago | Contract Creation | 0 ETH | |||
| 0x3d602d80 | 15298176 | 1327 days ago | Contract Creation | 0 ETH | |||
| 0x3d602d80 | 15298146 | 1327 days ago | Contract Creation | 0 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.
Contract Name:
EditionsFactory
Compiler Version
v0.8.10+commit.fc410830
Optimization Enabled:
Yes with 2000 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity 0.8.10;
import {Ownable} from "../../lib/Ownable.sol";
import {Clones} from "../../lib/Clones.sol";
import {IEditionsFactory, IEditionsFactoryEvents} from "./interface/IEditionsFactory.sol";
import {IEditions} from "./interface/IEditions.sol";
interface ITributaryRegistry {
function registerTributary(address producer, address tributary) external;
}
/**
* @title EditionsFactory
* @notice The EditionsFactory contract is used to deploy edition clones.
* @author MirrorXYZ
*/
contract EditionsFactory is Ownable, IEditionsFactoryEvents, IEditionsFactory {
/// @notice Address that holds the implementation for Crowdfunds
address public implementation;
/// @notice Mirror tributary registry
address public tributaryRegistry;
constructor(
address owner_,
address implementation_,
address tributaryRegistry_
) Ownable(owner_) {
implementation = implementation_;
tributaryRegistry = tributaryRegistry_;
}
// ======== Admin function =========
function setImplementation(address implementation_)
external
override
onlyOwner
{
require(implementation_ != address(0), "must set implementation");
emit ImplementationSet(implementation, implementation_);
implementation = implementation_;
}
function setTributaryRegistry(address tributaryRegistry_)
external
override
onlyOwner
{
require(
tributaryRegistry_ != address(0),
"must set tributary registry"
);
emit TributaryRegistrySet(tributaryRegistry, tributaryRegistry_);
tributaryRegistry = tributaryRegistry_;
}
// ======== Deploy function =========
/// @notice Deploys a new edition (ERC721) clone, and register tributary.
/// @param owner_ the clone owner
/// @param tributary the tributary receive tokens in behalf of the clone fees
/// @param name_ the name for the edition clone
/// @param symbol_ the symbol for the edition clone
/// @param description_ the description for the edition clone
/// @param contentURI_ the contentURI for the edition clone
/// @param animationURI_ the animationURI for the edition clone
/// @param contractURI_ the contractURI for the edition clone
/// @param edition_ the parameters for the edition sale
/// @param nonce additional entropy for the clone salt parameter
/// @param paused_ the pause state for the edition sale
function create(
address owner_,
address tributary,
string memory name_,
string memory symbol_,
string memory description_,
string memory contentURI_,
string memory animationURI_,
string memory contractURI_,
IEditions.Edition memory edition_,
uint256 nonce,
bool paused_
) external override returns (address clone) {
clone = Clones.cloneDeterministic(
implementation,
keccak256(abi.encode(owner_, name_, symbol_, nonce))
);
IEditions(clone).initialize(
owner_,
name_,
symbol_,
description_,
contentURI_,
animationURI_,
contractURI_,
edition_,
paused_
);
emit EditionsDeployed(owner_, clone, implementation);
if (tributaryRegistry != address(0)) {
ITributaryRegistry(tributaryRegistry).registerTributary(
clone,
tributary
);
}
}
function predictDeterministicAddress(address implementation_, bytes32 salt)
external
view
override
returns (address)
{
return
Clones.predictDeterministicAddress(
implementation_,
salt,
address(this)
);
}
}// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity 0.8.10;
interface IOwnableEvents {
event OwnershipTransferred(
address indexed previousOwner,
address indexed newOwner
);
}
contract Ownable is IOwnableEvents {
address public owner;
address private nextOwner;
// 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 {
_renounceOwnership();
}
/**
* @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;
}
function _setOwner(address previousOwner, address newOwner) internal {
owner = newOwner;
emit OwnershipTransferred(previousOwner, owner);
}
function _renounceOwnership() internal {
emit OwnershipTransferred(owner, address(0));
owner = address(0);
}
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.1 (proxy/Clones.sol)
pragma solidity ^0.8.0;
/**
* @dev Copy of OpenZeppelin's Clones contract
* https://eips.ethereum.org/EIPS/eip-1167[EIP 1167] is a standard for
* deploying minimal proxy contracts, also known as "clones".
*
* > To simply and cheaply clone contract functionality in an immutable way, this standard specifies
* > a minimal bytecode implementation that delegates all calls to a known, fixed address.
*
* The library includes functions to deploy a proxy using either `create` (traditional deployment) or `create2`
* (salted deterministic deployment). It also includes functions to predict the addresses of clones deployed using the
* deterministic method.
*
* _Available since v3.4._
*/
library Clones {
/**
* @dev Deploys and returns the address of a clone that mimics the behaviour of `implementation`.
*
* This function uses the create opcode, which should never revert.
*/
function clone(address implementation) internal returns (address instance) {
assembly {
let ptr := mload(0x40)
mstore(
ptr,
0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000
)
mstore(add(ptr, 0x14), shl(0x60, implementation))
mstore(
add(ptr, 0x28),
0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000
)
instance := create(0, ptr, 0x37)
}
require(instance != address(0), "ERC1167: create failed");
}
/**
* @dev Deploys and returns the address of a clone that mimics the behaviour of `implementation`.
*
* This function uses the create2 opcode and a `salt` to deterministically deploy
* the clone. Using the same `implementation` and `salt` multiple time will revert, since
* the clones cannot be deployed twice at the same address.
*/
function cloneDeterministic(address implementation, bytes32 salt)
internal
returns (address instance)
{
assembly {
let ptr := mload(0x40)
mstore(
ptr,
0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000
)
mstore(add(ptr, 0x14), shl(0x60, implementation))
mstore(
add(ptr, 0x28),
0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000
)
instance := create2(0, ptr, 0x37, salt)
}
require(instance != address(0), "ERC1167: create2 failed");
}
/**
* @dev Computes the address of a clone deployed using {Clones-cloneDeterministic}.
*/
function predictDeterministicAddress(
address implementation,
bytes32 salt,
address deployer
) internal pure returns (address predicted) {
assembly {
let ptr := mload(0x40)
mstore(
ptr,
0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000
)
mstore(add(ptr, 0x14), shl(0x60, implementation))
mstore(
add(ptr, 0x28),
0x5af43d82803e903d91602b57fd5bf3ff00000000000000000000000000000000
)
mstore(add(ptr, 0x38), shl(0x60, deployer))
mstore(add(ptr, 0x4c), salt)
mstore(add(ptr, 0x6c), keccak256(ptr, 0x37))
predicted := keccak256(add(ptr, 0x37), 0x55)
}
}
/**
* @dev Computes the address of a clone deployed using {Clones-cloneDeterministic}.
*/
function predictDeterministicAddress(address implementation, bytes32 salt)
internal
view
returns (address predicted)
{
return predictDeterministicAddress(implementation, salt, address(this));
}
}// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity 0.8.10;
import {IEditions} from "./IEditions.sol";
interface IEditionsFactoryEvents {
event EditionsDeployed(
address indexed owner,
address indexed clone,
address indexed implementation
);
event TributaryRegistrySet(
address indexed oldTributaryRegistry,
address indexed newTributaryRegistry
);
event ImplementationSet(
address indexed oldImplementation,
address indexed newImplementation
);
}
interface IEditionsFactory {
function setImplementation(address implementation_) external;
function setTributaryRegistry(address tributaryRegistry_) external;
function create(
address owner,
address tributary,
string memory name_,
string memory symbol_,
string memory description_,
string memory contentURI_,
string memory animationURI_,
string memory contractURI_,
IEditions.Edition memory edition_,
uint256 nonce,
bool paused_
) external returns (address clone);
function predictDeterministicAddress(address implementation_, bytes32 salt)
external
view
returns (address);
}// SPDX-License-Identifier: GPL-3.0-or-later
pragma solidity 0.8.10;
interface IEditionsEvents {
event EditionPurchased(
uint256 indexed tokenId,
address indexed nftRecipient,
uint256 amountPaid
);
event RoyaltyChange(
address indexed oldRoyaltyRecipient,
uint256 oldRoyaltyBPS,
address indexed newRoyaltyRecipient,
uint256 newRoyaltyBPS
);
event RendererSet(address indexed renderer);
event EditionLimitSet(uint256 oldLimit, uint256 newLimit);
event Withdrawal(address indexed recipient, uint256 amount, uint256 fee);
event FundingRecipientSet(
address indexed oldFundingRecipient,
address indexed newFundingRecipient
);
event PriceSet(uint256 price);
}
interface IEditions {
struct Edition {
// Edition price
uint256 price;
// Edition supply limit
uint256 limit;
}
// ============ Authorization ============
function factory() external returns (address);
// ============ Fee Configuration ============
function feeConfig() external returns (address);
function treasuryConfig() external returns (address);
// ============ Edition Data ============
function description() external view returns (string memory);
function price() external returns (uint256);
function limit() external returns (uint256);
// ============ Royalty Info (ERC2981) ============
function royaltyRecipient() external returns (address);
function royaltyBPS() external returns (uint256);
// ============ Rendering ============
function renderer() external view returns (address);
// ============ Initializing ============
function initialize(
address owner_,
string memory name_,
string memory symbol_,
string memory description_,
string memory contentURI_,
string memory animationURI_,
string memory contractURI_,
Edition memory edition_,
bool paused_
) external;
// ============ Pause Methods ============
function unpause() external;
function pause() external;
// ============ Allocation ============
function allocate(address recipient, uint256 count) external;
// ============ Purchase ============
function purchase(address recipient)
external
payable
returns (uint256 tokenId);
// ============ Minting ============
function mint(address recipient) external returns (uint256 tokenId);
function setLimit(uint256 limit_) external;
// ============ ERC2981 Methods ============
function setRoyaltyInfo(
address payable royaltyRecipient_,
uint256 royaltyPercentage_
) external;
// ============ Rendering Methods ============
function setRenderer(address renderer_) external;
function contractURI() external view returns (string memory);
// ============ Withdrawal ============
function setPrice(uint256 price_) external;
function withdraw(uint16 feeBPS, address fundingRecipient) external;
}{
"optimizer": {
"enabled": true,
"runs": 2000
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"libraries": {}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"owner_","type":"address"},{"internalType":"address","name":"implementation_","type":"address"},{"internalType":"address","name":"tributaryRegistry_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"clone","type":"address"},{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"EditionsDeployed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldImplementation","type":"address"},{"indexed":true,"internalType":"address","name":"newImplementation","type":"address"}],"name":"ImplementationSet","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":true,"internalType":"address","name":"oldTributaryRegistry","type":"address"},{"indexed":true,"internalType":"address","name":"newTributaryRegistry","type":"address"}],"name":"TributaryRegistrySet","type":"event"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"cancelOwnershipTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner_","type":"address"},{"internalType":"address","name":"tributary","type":"address"},{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"string","name":"description_","type":"string"},{"internalType":"string","name":"contentURI_","type":"string"},{"internalType":"string","name":"animationURI_","type":"string"},{"internalType":"string","name":"contractURI_","type":"string"},{"components":[{"internalType":"uint256","name":"price","type":"uint256"},{"internalType":"uint256","name":"limit","type":"uint256"}],"internalType":"struct IEditions.Edition","name":"edition_","type":"tuple"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"bool","name":"paused_","type":"bool"}],"name":"create","outputs":[{"internalType":"address","name":"clone","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"implementation_","type":"address"},{"internalType":"bytes32","name":"salt","type":"bytes32"}],"name":"predictDeterministicAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"implementation_","type":"address"}],"name":"setImplementation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tributaryRegistry_","type":"address"}],"name":"setTributaryRegistry","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"nextOwner_","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"tributaryRegistry","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]Contract Creation Code
608060405234801561001057600080fd5b50604051610f57380380610f5783398101604081905261002f916100c6565b600080546001600160a01b0319166001600160a01b03851690811782556040518592907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600280546001600160a01b039384166001600160a01b0319918216179091556003805492909316911617905550610109565b80516001600160a01b03811681146100c157600080fd5b919050565b6000806000606084860312156100db57600080fd5b6100e4846100aa565b92506100f2602085016100aa565b9150610100604085016100aa565b90509250925092565b610e3f806101186000396000f3fe608060405234801561001057600080fd5b50600436106100df5760003560e01c80638da5cb5b1161008c578063d6811b6f11610066578063d6811b6f14610199578063d784d426146101ac578063ed459df2146101bf578063f2fde38b146101d257600080fd5b80638da5cb5b146101545780638f32d59b14610167578063d321de731461018657600080fd5b80636a875c11116100bd5780636a875c1114610131578063715018a61461014457806379ba50971461014c57600080fd5b806323452b9c146100e4578063360d0fad146100ee5780635c60da1b1461011e575b600080fd5b6100ec6101e5565b005b6101016100fc366004610a0f565b610263565b6040516001600160a01b0390911681526020015b60405180910390f35b600254610101906001600160a01b031681565b61010161013f366004610b54565b6102e8565b6100ec61049b565b6100ec6104ff565b600054610101906001600160a01b031681565b6000546001600160a01b031633145b6040519015158152602001610115565b6100ec610194366004610ca2565b6105d4565b600354610101906001600160a01b031681565b6100ec6101ba366004610ca2565b6106ed565b6001546001600160a01b03163314610176565b6100ec6101e0366004610ca2565b610806565b6000546001600160a01b031633146102445760405162461bcd60e51b815260206004820152601860248201527f63616c6c6572206973206e6f7420746865206f776e65722e000000000000000060448201526064015b60405180910390fd5b6001805473ffffffffffffffffffffffffffffffffffffffff19169055565b60006102df8383306040517f3d602d80600a3d3981f3363d3d373d3d3d363d730000000000000000000000008152606093841b60148201527f5af43d82803e903d91602b57fd5bf3ff000000000000000000000000000000006028820152921b6038830152604c8201526037808220606c830152605591012090565b90505b92915050565b600254604051600091610330916001600160a01b0390911690610315908f908e908e908990602001610d0a565b604051602081830303815290604052805190602001206108e5565b6040517f583c4cfe0000000000000000000000000000000000000000000000000000000081529091506001600160a01b0382169063583c4cfe90610388908f908e908e908e908e908e908e908e908d90600401610d50565b600060405180830381600087803b1580156103a257600080fd5b505af11580156103b6573d6000803e3d6000fd5b50506002546040516001600160a01b0391821693508482169250908f16907ffea1e5bf9c3183ceb56da220d209a9e345888dcb744760aa7b18f29edfb9df1490600090a46003546001600160a01b03161561048c576003546040517f3d2a6f770000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301528d8116602483015290911690633d2a6f7790604401600060405180830381600087803b15801561047357600080fd5b505af1158015610487573d6000803e3d6000fd5b505050505b9b9a5050505050505050505050565b6000546001600160a01b031633146104f55760405162461bcd60e51b815260206004820152601860248201527f63616c6c6572206973206e6f7420746865206f776e65722e0000000000000000604482015260640161023b565b6104fd61099c565b565b6001546001600160a01b0316331461057f5760405162461bcd60e51b815260206004820152602c60248201527f63757272656e74206f776e6572206d757374207365742063616c6c657220617360448201527f206e657874206f776e65722e0000000000000000000000000000000000000000606482015260840161023b565b6001805473ffffffffffffffffffffffffffffffffffffffff19908116909155600080543392168217815560405182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3565b6000546001600160a01b0316331461062e5760405162461bcd60e51b815260206004820152601860248201527f63616c6c6572206973206e6f7420746865206f776e65722e0000000000000000604482015260640161023b565b6001600160a01b0381166106845760405162461bcd60e51b815260206004820152601b60248201527f6d75737420736574207472696275746172792072656769737472790000000000604482015260640161023b565b6003546040516001600160a01b038084169216907f756c03f5bcc6dd093cf5c568f68d0cb3f49a739c4f82dda11e7aaf6802f6590790600090a36003805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6000546001600160a01b031633146107475760405162461bcd60e51b815260206004820152601860248201527f63616c6c6572206973206e6f7420746865206f776e65722e0000000000000000604482015260640161023b565b6001600160a01b03811661079d5760405162461bcd60e51b815260206004820152601760248201527f6d7573742073657420696d706c656d656e746174696f6e000000000000000000604482015260640161023b565b6002546040516001600160a01b038084169216907f1acacd74b878778c66cc2abd6987699d6602bfb4b7f244c64c6ed0d61054bb5e90600090a36002805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6000546001600160a01b031633146108605760405162461bcd60e51b815260206004820152601860248201527f63616c6c6572206973206e6f7420746865206f776e65722e0000000000000000604482015260640161023b565b6001600160a01b0381166108b65760405162461bcd60e51b815260206004820152601f60248201527f4e657874206f776e657220697320746865207a65726f20616464726573732e00604482015260640161023b565b6001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b60006040517f3d602d80600a3d3981f3363d3d373d3d3d363d7300000000000000000000000081528360601b60148201527f5af43d82803e903d91602b57fd5bf300000000000000000000000000000000006028820152826037826000f59150506001600160a01b0381166102e25760405162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c6564000000000000000000604482015260640161023b565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36000805473ffffffffffffffffffffffffffffffffffffffff19169055565b80356001600160a01b0381168114610a0a57600080fd5b919050565b60008060408385031215610a2257600080fd5b610a2b836109f3565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112610a7957600080fd5b813567ffffffffffffffff80821115610a9457610a94610a39565b604051601f8301601f19908116603f01168101908282118183101715610abc57610abc610a39565b81604052838152866020858801011115610ad557600080fd5b836020870160208301376000602085830101528094505050505092915050565b600060408284031215610b0757600080fd5b6040516040810181811067ffffffffffffffff82111715610b2a57610b2a610a39565b604052823581526020928301359281019290925250919050565b80358015158114610a0a57600080fd5b60008060008060008060008060008060006101808c8e031215610b7657600080fd5b610b7f8c6109f3565b9a50610b8d60208d016109f3565b995067ffffffffffffffff8060408e01351115610ba957600080fd5b610bb98e60408f01358f01610a68565b99508060608e01351115610bcc57600080fd5b610bdc8e60608f01358f01610a68565b98508060808e01351115610bef57600080fd5b610bff8e60808f01358f01610a68565b97508060a08e01351115610c1257600080fd5b610c228e60a08f01358f01610a68565b96508060c08e01351115610c3557600080fd5b610c458e60c08f01358f01610a68565b95508060e08e01351115610c5857600080fd5b50610c698d60e08e01358e01610a68565b9350610c798d6101008e01610af5565b92506101408c01359150610c906101608d01610b44565b90509295989b509295989b9093969950565b600060208284031215610cb457600080fd5b6102df826109f3565b6000815180845260005b81811015610ce357602081850181015186830182015201610cc7565b81811115610cf5576000602083870101525b50601f01601f19169290920160200192915050565b6001600160a01b0385168152608060208201526000610d2c6080830186610cbd565b8281036040840152610d3e8186610cbd565b91505082606083015295945050505050565b60006101406001600160a01b038c168352806020840152610d738184018c610cbd565b90508281036040840152610d87818b610cbd565b90508281036060840152610d9b818a610cbd565b90508281036080840152610daf8189610cbd565b905082810360a0840152610dc38188610cbd565b905082810360c0840152610dd78187610cbd565b915050835160e08301526020840151610100830152610dfb61012083018415159052565b9a995050505050505050505056fea264697066735822122015cd97feb0dd921a956fd8833e5942d234ee2fe7aa8589947a82e66cf60f61a164736f6c634300080a00330000000000000000000000002330ee705ffd040bb0cba8cb7734dfe00e7c4b57000000000000000000000000e9aa761f39b117d3acc627eae3728c208458423b0000000000000000000000001171b858777120a59a6cc8148edda8982f187cd8
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100df5760003560e01c80638da5cb5b1161008c578063d6811b6f11610066578063d6811b6f14610199578063d784d426146101ac578063ed459df2146101bf578063f2fde38b146101d257600080fd5b80638da5cb5b146101545780638f32d59b14610167578063d321de731461018657600080fd5b80636a875c11116100bd5780636a875c1114610131578063715018a61461014457806379ba50971461014c57600080fd5b806323452b9c146100e4578063360d0fad146100ee5780635c60da1b1461011e575b600080fd5b6100ec6101e5565b005b6101016100fc366004610a0f565b610263565b6040516001600160a01b0390911681526020015b60405180910390f35b600254610101906001600160a01b031681565b61010161013f366004610b54565b6102e8565b6100ec61049b565b6100ec6104ff565b600054610101906001600160a01b031681565b6000546001600160a01b031633145b6040519015158152602001610115565b6100ec610194366004610ca2565b6105d4565b600354610101906001600160a01b031681565b6100ec6101ba366004610ca2565b6106ed565b6001546001600160a01b03163314610176565b6100ec6101e0366004610ca2565b610806565b6000546001600160a01b031633146102445760405162461bcd60e51b815260206004820152601860248201527f63616c6c6572206973206e6f7420746865206f776e65722e000000000000000060448201526064015b60405180910390fd5b6001805473ffffffffffffffffffffffffffffffffffffffff19169055565b60006102df8383306040517f3d602d80600a3d3981f3363d3d373d3d3d363d730000000000000000000000008152606093841b60148201527f5af43d82803e903d91602b57fd5bf3ff000000000000000000000000000000006028820152921b6038830152604c8201526037808220606c830152605591012090565b90505b92915050565b600254604051600091610330916001600160a01b0390911690610315908f908e908e908990602001610d0a565b604051602081830303815290604052805190602001206108e5565b6040517f583c4cfe0000000000000000000000000000000000000000000000000000000081529091506001600160a01b0382169063583c4cfe90610388908f908e908e908e908e908e908e908e908d90600401610d50565b600060405180830381600087803b1580156103a257600080fd5b505af11580156103b6573d6000803e3d6000fd5b50506002546040516001600160a01b0391821693508482169250908f16907ffea1e5bf9c3183ceb56da220d209a9e345888dcb744760aa7b18f29edfb9df1490600090a46003546001600160a01b03161561048c576003546040517f3d2a6f770000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301528d8116602483015290911690633d2a6f7790604401600060405180830381600087803b15801561047357600080fd5b505af1158015610487573d6000803e3d6000fd5b505050505b9b9a5050505050505050505050565b6000546001600160a01b031633146104f55760405162461bcd60e51b815260206004820152601860248201527f63616c6c6572206973206e6f7420746865206f776e65722e0000000000000000604482015260640161023b565b6104fd61099c565b565b6001546001600160a01b0316331461057f5760405162461bcd60e51b815260206004820152602c60248201527f63757272656e74206f776e6572206d757374207365742063616c6c657220617360448201527f206e657874206f776e65722e0000000000000000000000000000000000000000606482015260840161023b565b6001805473ffffffffffffffffffffffffffffffffffffffff19908116909155600080543392168217815560405182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3565b6000546001600160a01b0316331461062e5760405162461bcd60e51b815260206004820152601860248201527f63616c6c6572206973206e6f7420746865206f776e65722e0000000000000000604482015260640161023b565b6001600160a01b0381166106845760405162461bcd60e51b815260206004820152601b60248201527f6d75737420736574207472696275746172792072656769737472790000000000604482015260640161023b565b6003546040516001600160a01b038084169216907f756c03f5bcc6dd093cf5c568f68d0cb3f49a739c4f82dda11e7aaf6802f6590790600090a36003805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6000546001600160a01b031633146107475760405162461bcd60e51b815260206004820152601860248201527f63616c6c6572206973206e6f7420746865206f776e65722e0000000000000000604482015260640161023b565b6001600160a01b03811661079d5760405162461bcd60e51b815260206004820152601760248201527f6d7573742073657420696d706c656d656e746174696f6e000000000000000000604482015260640161023b565b6002546040516001600160a01b038084169216907f1acacd74b878778c66cc2abd6987699d6602bfb4b7f244c64c6ed0d61054bb5e90600090a36002805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6000546001600160a01b031633146108605760405162461bcd60e51b815260206004820152601860248201527f63616c6c6572206973206e6f7420746865206f776e65722e0000000000000000604482015260640161023b565b6001600160a01b0381166108b65760405162461bcd60e51b815260206004820152601f60248201527f4e657874206f776e657220697320746865207a65726f20616464726573732e00604482015260640161023b565b6001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b60006040517f3d602d80600a3d3981f3363d3d373d3d3d363d7300000000000000000000000081528360601b60148201527f5af43d82803e903d91602b57fd5bf300000000000000000000000000000000006028820152826037826000f59150506001600160a01b0381166102e25760405162461bcd60e51b815260206004820152601760248201527f455243313136373a2063726561746532206661696c6564000000000000000000604482015260640161023b565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36000805473ffffffffffffffffffffffffffffffffffffffff19169055565b80356001600160a01b0381168114610a0a57600080fd5b919050565b60008060408385031215610a2257600080fd5b610a2b836109f3565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600082601f830112610a7957600080fd5b813567ffffffffffffffff80821115610a9457610a94610a39565b604051601f8301601f19908116603f01168101908282118183101715610abc57610abc610a39565b81604052838152866020858801011115610ad557600080fd5b836020870160208301376000602085830101528094505050505092915050565b600060408284031215610b0757600080fd5b6040516040810181811067ffffffffffffffff82111715610b2a57610b2a610a39565b604052823581526020928301359281019290925250919050565b80358015158114610a0a57600080fd5b60008060008060008060008060008060006101808c8e031215610b7657600080fd5b610b7f8c6109f3565b9a50610b8d60208d016109f3565b995067ffffffffffffffff8060408e01351115610ba957600080fd5b610bb98e60408f01358f01610a68565b99508060608e01351115610bcc57600080fd5b610bdc8e60608f01358f01610a68565b98508060808e01351115610bef57600080fd5b610bff8e60808f01358f01610a68565b97508060a08e01351115610c1257600080fd5b610c228e60a08f01358f01610a68565b96508060c08e01351115610c3557600080fd5b610c458e60c08f01358f01610a68565b95508060e08e01351115610c5857600080fd5b50610c698d60e08e01358e01610a68565b9350610c798d6101008e01610af5565b92506101408c01359150610c906101608d01610b44565b90509295989b509295989b9093969950565b600060208284031215610cb457600080fd5b6102df826109f3565b6000815180845260005b81811015610ce357602081850181015186830182015201610cc7565b81811115610cf5576000602083870101525b50601f01601f19169290920160200192915050565b6001600160a01b0385168152608060208201526000610d2c6080830186610cbd565b8281036040840152610d3e8186610cbd565b91505082606083015295945050505050565b60006101406001600160a01b038c168352806020840152610d738184018c610cbd565b90508281036040840152610d87818b610cbd565b90508281036060840152610d9b818a610cbd565b90508281036080840152610daf8189610cbd565b905082810360a0840152610dc38188610cbd565b905082810360c0840152610dd78187610cbd565b915050835160e08301526020840151610100830152610dfb61012083018415159052565b9a995050505050505050505056fea264697066735822122015cd97feb0dd921a956fd8833e5942d234ee2fe7aa8589947a82e66cf60f61a164736f6c634300080a0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000002330ee705ffd040bb0cba8cb7734dfe00e7c4b57000000000000000000000000e9aa761f39b117d3acc627eae3728c208458423b0000000000000000000000001171b858777120a59a6cc8148edda8982f187cd8
-----Decoded View---------------
Arg [0] : owner_ (address): 0x2330ee705fFD040bB0cbA8CB7734Dfe00E7C4b57
Arg [1] : implementation_ (address): 0xe9aA761F39B117d3ACC627Eae3728C208458423B
Arg [2] : tributaryRegistry_ (address): 0x1171B858777120a59a6cc8148eDda8982F187Cd8
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 0000000000000000000000002330ee705ffd040bb0cba8cb7734dfe00e7c4b57
Arg [1] : 000000000000000000000000e9aa761f39b117d3acc627eae3728c208458423b
Arg [2] : 0000000000000000000000001171b858777120a59a6cc8148edda8982f187cd8
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 32 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.