Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 77 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Deploy | 18591080 | 516 days ago | IN | 0 ETH | 0.02480197 | ||||
Deploy | 18409142 | 541 days ago | IN | 0 ETH | 0.01060802 | ||||
Deploy | 18338722 | 551 days ago | IN | 0 ETH | 0.00584956 | ||||
Deploy | 18317504 | 554 days ago | IN | 0 ETH | 0.00581332 | ||||
Deploy | 18243375 | 564 days ago | IN | 0 ETH | 0.00916571 | ||||
Deploy | 18182751 | 573 days ago | IN | 0 ETH | 0.00920188 | ||||
Deploy | 18090339 | 586 days ago | IN | 0 ETH | 0.01242892 | ||||
Transfer | 18021153 | 595 days ago | IN | 0.01 ETH | 0.00200152 | ||||
Deploy | 18019437 | 596 days ago | IN | 0 ETH | 0.02155904 | ||||
Transfer* | 18019428 | 596 days ago | IN | 0 ETH | 0.0004004 | ||||
Deploy | 17568043 | 659 days ago | IN | 0 ETH | 0.01749077 | ||||
Deploy | 17532559 | 664 days ago | IN | 0 ETH | 0.01716947 | ||||
Deploy | 17517997 | 666 days ago | IN | 0 ETH | 0.01642908 | ||||
Deploy | 17381706 | 685 days ago | IN | 0 ETH | 0.03817516 | ||||
Deploy | 17310829 | 695 days ago | IN | 0 ETH | 0.03079324 | ||||
Deploy | 17238112 | 705 days ago | IN | 0 ETH | 0.12335495 | ||||
Deploy | 17197799 | 711 days ago | IN | 0 ETH | 0.1533803 | ||||
Deploy | 17194716 | 711 days ago | IN | 0 ETH | 0.15531319 | ||||
Deploy | 17180580 | 713 days ago | IN | 0 ETH | 0.08718936 | ||||
Deploy | 17175535 | 714 days ago | IN | 0 ETH | 0.10557856 | ||||
Deploy | 17166363 | 715 days ago | IN | 0 ETH | 0.07956955 | ||||
Deploy | 17125383 | 721 days ago | IN | 0 ETH | 0.04025076 | ||||
Deploy | 17103061 | 724 days ago | IN | 0 ETH | 0.04693622 | ||||
Deploy | 17088063 | 726 days ago | IN | 0 ETH | 0.06998269 | ||||
Deploy | 17056070 | 731 days ago | IN | 0 ETH | 0.02748201 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
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:
SignatureDropDeployer
Compiler Version
v0.8.17+commit.8df45f5f
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.13; import "openzeppelin-contracts/contracts/proxy/Clones.sol"; import "./Ownable.sol"; interface ITWFactory { function deployProxyByImplementation( address _implementation, bytes memory _data, bytes32 _salt ) external returns (address); } interface ITWTokenERC1155 { function initialize( address _defaultAdmin, string memory _name, string memory _symbol, string memory _contractURI, address[] memory _trustedForwarders, address _primarySaleRecipient, address _royaltyRecipient, uint128 _royaltyBps, uint128 _platformFeeBps, address _platformFeeRecipient ) external; function mintTo( address to, uint256 tokenId, string calldata uri, uint256 amount ) external; function grantRole(bytes32 role, address account) external; function revokeRole(bytes32 role, address account) external; function setOwner(address _newOwner) external; function setFlatPlatformFeeInfo( address _platformFeeRecipient, uint256 _flatFee ) external; enum PlatformFeeType { Bps, FLAT } function setPlatformFeeType(PlatformFeeType _feeType) external; } interface ISignatureDropDeployer { event ProxyDeployed( address indexed proxyAddress, address indexed admin, bytes32 salt ); event NewMinter(address indexed oldMinter, address indexed newMinter); struct DeployParams { address admin; string _name; string _symbol; string _contractURI; string _uri; address[] _trustedForwarders; address _primarySaleRecipient; address _royaltyRecipient; uint128 _royaltyBps; uint256 _platformFee; address _platformFeeRecipient; bytes32 salt; } function setMinter(address _newMinter) external; function deploy(DeployParams memory params) external returns (address); function predictDeterministicAddress(bytes32 _salt) external view returns (address); } contract SignatureDropDeployer is ISignatureDropDeployer, Ownable { bytes32 public constant DEFAULT_ADMIN_ROLE = 0x00; bytes32 public constant MINTER_ROLE = keccak256("MINTER_ROLE"); bytes32 public constant TRANSFER_ROLE = keccak256("TRANSFER_ROLE"); address public immutable TWFactoryAddress; address public immutable TWEditionImplementationAddress; address public minter; constructor( address _owner, address _minter, address _factory, address _implementation ) Ownable(_owner) { _setMinter(_minter); TWFactoryAddress = _factory; TWEditionImplementationAddress = _implementation; } function setMinter(address _newMinter) public override onlyOwner { _setMinter(_newMinter); } function deploy(DeployParams memory params) public override returns (address) { bytes memory callData = abi.encodeWithSelector( ITWTokenERC1155.initialize.selector, address(this), params._name, params._symbol, params._contractURI, params._trustedForwarders, params._primarySaleRecipient, params._royaltyRecipient, params._royaltyBps, 0, // no bps fee for platform params._platformFeeRecipient ); // Deploy proxy. address proxyAddress = _deployProxy(callData, params.salt); // Mint token to admin. ITWTokenERC1155(proxyAddress).mintTo( params.admin, type(uint256).max, params._uri, 0 ); // Set fees. _setFees( proxyAddress, params._platformFeeRecipient, params._platformFee ); // Set roles. _setRoles(proxyAddress, params.admin); emit ProxyDeployed(proxyAddress, params.admin, params.salt); return proxyAddress; } function predictDeterministicAddress(bytes32 _salt) public view override returns (address) { return Clones.predictDeterministicAddress( TWEditionImplementationAddress, keccak256(abi.encodePacked(address(this), _salt)), TWFactoryAddress ); } function _setMinter(address _newMinter) internal { emit NewMinter(minter, _newMinter); minter = _newMinter; } function _deployProxy(bytes memory callData, bytes32 salt) internal returns (address) { return ITWFactory(TWFactoryAddress).deployProxyByImplementation( TWEditionImplementationAddress, callData, salt ); } function _setFees( address proxyAddress, address _platformFeeRecipient, uint256 _platformFee ) internal { ITWTokenERC1155(proxyAddress).setFlatPlatformFeeInfo( _platformFeeRecipient, _platformFee ); ITWTokenERC1155(proxyAddress).setPlatformFeeType( ITWTokenERC1155.PlatformFeeType.FLAT ); } function _setRoles(address proxyAddress, address admin) internal { // Grant minter role to Mirror wallet. ITWTokenERC1155(proxyAddress).grantRole(MINTER_ROLE, minter); // Set roles for admin. ITWTokenERC1155(proxyAddress).grantRole(DEFAULT_ADMIN_ROLE, admin); ITWTokenERC1155(proxyAddress).grantRole(MINTER_ROLE, admin); ITWTokenERC1155(proxyAddress).grantRole(TRANSFER_ROLE, admin); // Remove roles for deployer. ITWTokenERC1155(proxyAddress).revokeRole(MINTER_ROLE, address(this)); ITWTokenERC1155(proxyAddress).revokeRole(TRANSFER_ROLE, address(this)); // Transfer ownership to admin. ITWTokenERC1155(proxyAddress).setOwner(admin); ITWTokenERC1155(proxyAddress).revokeRole( DEFAULT_ADMIN_ROLE, address(this) ); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.8.0) (proxy/Clones.sol) pragma solidity ^0.8.0; /** * @dev 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) { /// @solidity memory-safe-assembly assembly { // Cleans the upper 96 bits of the `implementation` word, then packs the first 3 bytes // of the `implementation` address with the bytecode before the address. mstore(0x00, or(shr(0xe8, shl(0x60, implementation)), 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000)) // Packs the remaining 17 bytes of `implementation` with the bytecode after the address. mstore(0x20, or(shl(0x78, implementation), 0x5af43d82803e903d91602b57fd5bf3)) instance := create(0, 0x09, 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) { /// @solidity memory-safe-assembly assembly { // Cleans the upper 96 bits of the `implementation` word, then packs the first 3 bytes // of the `implementation` address with the bytecode before the address. mstore(0x00, or(shr(0xe8, shl(0x60, implementation)), 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000)) // Packs the remaining 17 bytes of `implementation` with the bytecode after the address. mstore(0x20, or(shl(0x78, implementation), 0x5af43d82803e903d91602b57fd5bf3)) instance := create2(0, 0x09, 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) { /// @solidity memory-safe-assembly assembly { let ptr := mload(0x40) mstore(add(ptr, 0x38), deployer) mstore(add(ptr, 0x24), 0x5af43d82803e903d91602b57fd5bf3ff) mstore(add(ptr, 0x14), implementation) mstore(ptr, 0x3d602d80600a3d3981f3363d3d373d3d3d363d73) mstore(add(ptr, 0x58), salt) mstore(add(ptr, 0x78), keccak256(add(ptr, 0x0c), 0x37)) predicted := keccak256(add(ptr, 0x43), 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.13; interface IOwnableEvents { event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); } interface IOwnable { function transferOwnership(address nextOwner_) external; function cancelOwnershipTransfer() external; function acceptOwnership() external; function renounceOwnership() external; function isOwner() external view returns (bool); function isNextOwner() external view returns (bool); } contract Ownable is IOwnable, 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."); _; } /// @notice Initialize contract by setting the initial owner. constructor(address owner_) { _setInitialOwner(owner_); } /// @notice Initiate ownership transfer by setting nextOwner. function transferOwnership(address nextOwner_) external override onlyOwner { require(nextOwner_ != address(0), "Next owner is the zero address."); nextOwner = nextOwner_; } /// @notice Cancel ownership transfer by deleting nextOwner. function cancelOwnershipTransfer() external override onlyOwner { delete nextOwner; } /// @notice Accepts ownership transfer by setting owner. function acceptOwnership() external override onlyNextOwner { delete nextOwner; owner = msg.sender; emit OwnershipTransferred(owner, msg.sender); } /// @notice Renounce ownership by setting owner to zero address. function renounceOwnership() external override onlyOwner { _renounceOwnership(); } /// @notice Returns true if the caller is the current owner. function isOwner() public view override returns (bool) { return msg.sender == owner; } /// @notice Returns true if the caller is the next owner. function isNextOwner() public view override returns (bool) { return msg.sender == nextOwner; } /// > [[[[[[[[[[[ Internal Functions ]]]]]]]]]]] function _setOwner(address previousOwner, address newOwner) internal { owner = newOwner; emit OwnershipTransferred(previousOwner, owner); } function _setInitialOwner(address newOwner) internal { owner = newOwner; emit OwnershipTransferred(address(0), newOwner); } function _renounceOwnership() internal { emit OwnershipTransferred(owner, address(0)); owner = address(0); } }
{ "remappings": [ "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "openzeppelin-contracts/=lib/openzeppelin-contracts/" ], "optimizer": { "enabled": true, "runs": 200 }, "metadata": { "bytecodeHash": "ipfs" }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "evmVersion": "london", "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":"_minter","type":"address"},{"internalType":"address","name":"_factory","type":"address"},{"internalType":"address","name":"_implementation","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"oldMinter","type":"address"},{"indexed":true,"internalType":"address","name":"newMinter","type":"address"}],"name":"NewMinter","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":"proxyAddress","type":"address"},{"indexed":true,"internalType":"address","name":"admin","type":"address"},{"indexed":false,"internalType":"bytes32","name":"salt","type":"bytes32"}],"name":"ProxyDeployed","type":"event"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MINTER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TRANSFER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TWEditionImplementationAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TWFactoryAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"cancelOwnershipTransfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"address","name":"admin","type":"address"},{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"string","name":"_contractURI","type":"string"},{"internalType":"string","name":"_uri","type":"string"},{"internalType":"address[]","name":"_trustedForwarders","type":"address[]"},{"internalType":"address","name":"_primarySaleRecipient","type":"address"},{"internalType":"address","name":"_royaltyRecipient","type":"address"},{"internalType":"uint128","name":"_royaltyBps","type":"uint128"},{"internalType":"uint256","name":"_platformFee","type":"uint256"},{"internalType":"address","name":"_platformFeeRecipient","type":"address"},{"internalType":"bytes32","name":"salt","type":"bytes32"}],"internalType":"struct ISignatureDropDeployer.DeployParams","name":"params","type":"tuple"}],"name":"deploy","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","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":"minter","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"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":"_newMinter","type":"address"}],"name":"setMinter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"nextOwner_","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60c06040523480156200001157600080fd5b50604051620014183803806200141883398101604081905262000034916200012b565b83620000408162000067565b506200004c83620000b2565b6001600160a01b039182166080521660a05250620001889050565b600080546001600160a01b0319166001600160a01b03831690811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350565b6002546040516001600160a01b038084169216907f0b5e7be615a67a819aff3f47c967d1535cead1b98db60fafdcbf22dcaa8fa5a990600090a3600280546001600160a01b0319166001600160a01b0392909216919091179055565b80516001600160a01b03811681146200012657600080fd5b919050565b600080600080608085870312156200014257600080fd5b6200014d856200010e565b93506200015d602086016200010e565b92506200016d604086016200010e565b91506200017d606086016200010e565b905092959194509250565b60805160a05161124e620001ca60003960008181610179015281816102f0015261073d0152600081816102250152818161032b0152610710015261124e6000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c80638da5cb5b11610097578063e47957d311610066578063e47957d314610220578063ed459df214610247578063f2fde38b1461025a578063fca3b5aa1461026d57600080fd5b80638da5cb5b146101d15780638f32d59b146101e4578063a217fddf14610203578063d53913931461020b57600080fd5b80635414dff0116100d35780635414dff01461019b57806367f1a2f1146101ae578063715018a6146101c157806379ba5097146101c957600080fd5b80630754617214610105578063206b60f91461013557806323452b9c1461016a578063382d9cc414610174575b600080fd5b600254610118906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b61015c7f8502233096d909befbda0999bb8ea2f3a6be3c138b9fbf003752a4c8bce86f6c81565b60405190815260200161012c565b610172610280565b005b6101187f000000000000000000000000000000000000000000000000000000000000000081565b6101186101a9366004610c8f565b6102c5565b6101186101bc366004610e4e565b6103ac565b610172610533565b610172610567565b600054610118906001600160a01b031681565b6000546001600160a01b031633145b604051901515815260200161012c565b61015c600081565b61015c6000805160206111f983398151915281565b6101187f000000000000000000000000000000000000000000000000000000000000000081565b6001546001600160a01b031633146101f3565b610172610268366004610fc3565b61061e565b61017261027b366004610fc3565b6106c0565b6000546001600160a01b031633146102b35760405162461bcd60e51b81526004016102aa90610fe0565b60405180910390fd5b600180546001600160a01b0319169055565b6040516bffffffffffffffffffffffff193060601b166020820152603481018290526000906103a6907f000000000000000000000000000000000000000000000000000000000000000090605401604051602081830303815290604052805190602001207f000000000000000000000000000000000000000000000000000000000000000060405160388101919091526f5af43d82803e903d91602b57fd5bf3ff60248201526014810192909252733d602d80600a3d3981f3363d3d373d3d3d363d73825260588201526037600c8201206078820152605560439091012090565b92915050565b60008063e159163460e01b308460200151856040015186606001518760a001518860c001518960e001518a610100015160008c61014001516040516024016103fd9a9998979695949392919061105d565b604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b03838183161783525050505090506000610443828561016001516106f6565b84516080860151604051631607e8a560e31b81529293506001600160a01b0384169263b03f4528926104819290916000199190600090600401611147565b600060405180830381600087803b15801561049b57600080fd5b505af11580156104af573d6000803e3d6000fd5b505050506104c8818561014001518661012001516107b3565b6104d6818560000151610879565b83600001516001600160a01b0316816001600160a01b03167fd283ed05905c0eb69fe3ef042c6ad706d8d9c75b138624098de540fa2c011a0586610160015160405161052491815260200190565b60405180910390a39392505050565b6000546001600160a01b0316331461055d5760405162461bcd60e51b81526004016102aa90610fe0565b610565610be9565b565b6001546001600160a01b031633146105d65760405162461bcd60e51b815260206004820152602c60248201527f63757272656e74206f776e6572206d757374207365742063616c6c657220617360448201526b103732bc3a1037bbb732b91760a11b60648201526084016102aa565b600180546001600160a01b0319908116909155600080543392168217815560405182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3565b6000546001600160a01b031633146106485760405162461bcd60e51b81526004016102aa90610fe0565b6001600160a01b03811661069e5760405162461bcd60e51b815260206004820152601f60248201527f4e657874206f776e657220697320746865207a65726f20616464726573732e0060448201526064016102aa565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146106ea5760405162461bcd60e51b81526004016102aa90610fe0565b6106f381610c33565b50565b6040516311b804ab60e01b81526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906311b804ab90610769907f0000000000000000000000000000000000000000000000000000000000000000908790879060040161117f565b6020604051808303816000875af1158015610788573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ac91906111b3565b9392505050565b604051631f95148f60e21b81526001600160a01b03838116600483015260248201839052841690637e54523c90604401600060405180830381600087803b1580156107fd57600080fd5b505af1158015610811573d6000803e3d6000fd5b505060405163b6f10c7960e01b81526001600160a01b038616925063b6f10c799150610842906001906004016111d0565b600060405180830381600087803b15801561085c57600080fd5b505af1158015610870573d6000803e3d6000fd5b50505050505050565b600254604051632f2ff15d60e01b81526000805160206111f983398151915260048201526001600160a01b03918216602482015290831690632f2ff15d90604401600060405180830381600087803b1580156108d457600080fd5b505af11580156108e8573d6000803e3d6000fd5b5050604051632f2ff15d60e01b8152600060048201526001600160a01b03848116602483015285169250632f2ff15d9150604401600060405180830381600087803b15801561093657600080fd5b505af115801561094a573d6000803e3d6000fd5b5050604051632f2ff15d60e01b81526000805160206111f983398151915260048201526001600160a01b03848116602483015285169250632f2ff15d9150604401600060405180830381600087803b1580156109a557600080fd5b505af11580156109b9573d6000803e3d6000fd5b5050604051632f2ff15d60e01b81527f8502233096d909befbda0999bb8ea2f3a6be3c138b9fbf003752a4c8bce86f6c60048201526001600160a01b03848116602483015285169250632f2ff15d9150604401600060405180830381600087803b158015610a2657600080fd5b505af1158015610a3a573d6000803e3d6000fd5b505060405163d547741f60e01b81526000805160206111f983398151915260048201523060248201526001600160a01b038516925063d547741f9150604401600060405180830381600087803b158015610a9357600080fd5b505af1158015610aa7573d6000803e3d6000fd5b505060405163d547741f60e01b81527f8502233096d909befbda0999bb8ea2f3a6be3c138b9fbf003752a4c8bce86f6c60048201523060248201526001600160a01b038516925063d547741f9150604401600060405180830381600087803b158015610b1257600080fd5b505af1158015610b26573d6000803e3d6000fd5b50506040516313af403560e01b81526001600160a01b038481166004830152851692506313af40359150602401600060405180830381600087803b158015610b6d57600080fd5b505af1158015610b81573d6000803e3d6000fd5b505060405163d547741f60e01b8152600060048201523060248201526001600160a01b038516925063d547741f9150604401600060405180830381600087803b158015610bcd57600080fd5b505af1158015610be1573d6000803e3d6000fd5b505050505050565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6002546040516001600160a01b038084169216907f0b5e7be615a67a819aff3f47c967d1535cead1b98db60fafdcbf22dcaa8fa5a990600090a3600280546001600160a01b0319166001600160a01b0392909216919091179055565b600060208284031215610ca157600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b604051610180810167ffffffffffffffff81118282101715610ce257610ce2610ca8565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715610d1157610d11610ca8565b604052919050565b6001600160a01b03811681146106f357600080fd5b8035610d3981610d19565b919050565b600082601f830112610d4f57600080fd5b813567ffffffffffffffff811115610d6957610d69610ca8565b610d7c601f8201601f1916602001610ce8565b818152846020838601011115610d9157600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f830112610dbf57600080fd5b8135602067ffffffffffffffff821115610ddb57610ddb610ca8565b8160051b610dea828201610ce8565b9283528481018201928281019087851115610e0457600080fd5b83870192505b84831015610e2c578235610e1d81610d19565b82529183019190830190610e0a565b979650505050505050565b80356001600160801b0381168114610d3957600080fd5b600060208284031215610e6057600080fd5b813567ffffffffffffffff80821115610e7857600080fd5b908301906101808286031215610e8d57600080fd5b610e95610cbe565b610e9e83610d2e565b8152602083013582811115610eb257600080fd5b610ebe87828601610d3e565b602083015250604083013582811115610ed657600080fd5b610ee287828601610d3e565b604083015250606083013582811115610efa57600080fd5b610f0687828601610d3e565b606083015250608083013582811115610f1e57600080fd5b610f2a87828601610d3e565b60808301525060a083013582811115610f4257600080fd5b610f4e87828601610dae565b60a083015250610f6060c08401610d2e565b60c0820152610f7160e08401610d2e565b60e08201526101009150610f86828401610e37565b82820152610120915081830135828201526101409150610fa7828401610d2e565b9181019190915261016091820135918101919091529392505050565b600060208284031215610fd557600080fd5b81356107ac81610d19565b60208082526018908201527f63616c6c6572206973206e6f7420746865206f776e65722e0000000000000000604082015260600190565b6000815180845260005b8181101561103d57602081850181015186830182015201611021565b506000602082860101526020601f19601f83011685010191505092915050565b6001600160a01b038b811682526101406020808401829052600092906110858584018f611017565b92508483036040860152611099838e611017565b925084830360608601526110ad838d611017565b85810360808701528b51808252828d0194509082019060005b818110156110e45785518516835294830194918301916001016110c6565b50506001600160a01b038b1660a0870152935061110092505050565b6001600160a01b03861660c08301526001600160801b03851660e083015260ff84166101008301526001600160a01b0383166101208301529b9a5050505050505050505050565b60018060a01b038516815283602082015260806040820152600061116e6080830185611017565b905082606083015295945050505050565b6001600160a01b03841681526060602082018190526000906111a390830185611017565b9050826040830152949350505050565b6000602082840312156111c557600080fd5b81516107ac81610d19565b60208101600283106111f257634e487b7160e01b600052602160045260246000fd5b9190529056fe9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6a2646970667358221220757638bf4dd42a39a9e38934d415802a62a55120d9421fc0076f3fb8c75543f864736f6c634300081100330000000000000000000000002330ee705ffd040bb0cba8cb7734dfe00e7c4b570000000000000000000000005be12d4b22eaa4354b3d6f636df047ab7a2a0af80000000000000000000000005dbc7b840baa9dabcbe9d2492e45d7244b54a2a0000000000000000000000000ab1a1c03be678b5d55cec01322f7dac5a2bc7afc
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101005760003560e01c80638da5cb5b11610097578063e47957d311610066578063e47957d314610220578063ed459df214610247578063f2fde38b1461025a578063fca3b5aa1461026d57600080fd5b80638da5cb5b146101d15780638f32d59b146101e4578063a217fddf14610203578063d53913931461020b57600080fd5b80635414dff0116100d35780635414dff01461019b57806367f1a2f1146101ae578063715018a6146101c157806379ba5097146101c957600080fd5b80630754617214610105578063206b60f91461013557806323452b9c1461016a578063382d9cc414610174575b600080fd5b600254610118906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b61015c7f8502233096d909befbda0999bb8ea2f3a6be3c138b9fbf003752a4c8bce86f6c81565b60405190815260200161012c565b610172610280565b005b6101187f000000000000000000000000ab1a1c03be678b5d55cec01322f7dac5a2bc7afc81565b6101186101a9366004610c8f565b6102c5565b6101186101bc366004610e4e565b6103ac565b610172610533565b610172610567565b600054610118906001600160a01b031681565b6000546001600160a01b031633145b604051901515815260200161012c565b61015c600081565b61015c6000805160206111f983398151915281565b6101187f0000000000000000000000005dbc7b840baa9dabcbe9d2492e45d7244b54a2a081565b6001546001600160a01b031633146101f3565b610172610268366004610fc3565b61061e565b61017261027b366004610fc3565b6106c0565b6000546001600160a01b031633146102b35760405162461bcd60e51b81526004016102aa90610fe0565b60405180910390fd5b600180546001600160a01b0319169055565b6040516bffffffffffffffffffffffff193060601b166020820152603481018290526000906103a6907f000000000000000000000000ab1a1c03be678b5d55cec01322f7dac5a2bc7afc90605401604051602081830303815290604052805190602001207f0000000000000000000000005dbc7b840baa9dabcbe9d2492e45d7244b54a2a060405160388101919091526f5af43d82803e903d91602b57fd5bf3ff60248201526014810192909252733d602d80600a3d3981f3363d3d373d3d3d363d73825260588201526037600c8201206078820152605560439091012090565b92915050565b60008063e159163460e01b308460200151856040015186606001518760a001518860c001518960e001518a610100015160008c61014001516040516024016103fd9a9998979695949392919061105d565b604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b03838183161783525050505090506000610443828561016001516106f6565b84516080860151604051631607e8a560e31b81529293506001600160a01b0384169263b03f4528926104819290916000199190600090600401611147565b600060405180830381600087803b15801561049b57600080fd5b505af11580156104af573d6000803e3d6000fd5b505050506104c8818561014001518661012001516107b3565b6104d6818560000151610879565b83600001516001600160a01b0316816001600160a01b03167fd283ed05905c0eb69fe3ef042c6ad706d8d9c75b138624098de540fa2c011a0586610160015160405161052491815260200190565b60405180910390a39392505050565b6000546001600160a01b0316331461055d5760405162461bcd60e51b81526004016102aa90610fe0565b610565610be9565b565b6001546001600160a01b031633146105d65760405162461bcd60e51b815260206004820152602c60248201527f63757272656e74206f776e6572206d757374207365742063616c6c657220617360448201526b103732bc3a1037bbb732b91760a11b60648201526084016102aa565b600180546001600160a01b0319908116909155600080543392168217815560405182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3565b6000546001600160a01b031633146106485760405162461bcd60e51b81526004016102aa90610fe0565b6001600160a01b03811661069e5760405162461bcd60e51b815260206004820152601f60248201527f4e657874206f776e657220697320746865207a65726f20616464726573732e0060448201526064016102aa565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146106ea5760405162461bcd60e51b81526004016102aa90610fe0565b6106f381610c33565b50565b6040516311b804ab60e01b81526000906001600160a01b037f0000000000000000000000005dbc7b840baa9dabcbe9d2492e45d7244b54a2a016906311b804ab90610769907f000000000000000000000000ab1a1c03be678b5d55cec01322f7dac5a2bc7afc908790879060040161117f565b6020604051808303816000875af1158015610788573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ac91906111b3565b9392505050565b604051631f95148f60e21b81526001600160a01b03838116600483015260248201839052841690637e54523c90604401600060405180830381600087803b1580156107fd57600080fd5b505af1158015610811573d6000803e3d6000fd5b505060405163b6f10c7960e01b81526001600160a01b038616925063b6f10c799150610842906001906004016111d0565b600060405180830381600087803b15801561085c57600080fd5b505af1158015610870573d6000803e3d6000fd5b50505050505050565b600254604051632f2ff15d60e01b81526000805160206111f983398151915260048201526001600160a01b03918216602482015290831690632f2ff15d90604401600060405180830381600087803b1580156108d457600080fd5b505af11580156108e8573d6000803e3d6000fd5b5050604051632f2ff15d60e01b8152600060048201526001600160a01b03848116602483015285169250632f2ff15d9150604401600060405180830381600087803b15801561093657600080fd5b505af115801561094a573d6000803e3d6000fd5b5050604051632f2ff15d60e01b81526000805160206111f983398151915260048201526001600160a01b03848116602483015285169250632f2ff15d9150604401600060405180830381600087803b1580156109a557600080fd5b505af11580156109b9573d6000803e3d6000fd5b5050604051632f2ff15d60e01b81527f8502233096d909befbda0999bb8ea2f3a6be3c138b9fbf003752a4c8bce86f6c60048201526001600160a01b03848116602483015285169250632f2ff15d9150604401600060405180830381600087803b158015610a2657600080fd5b505af1158015610a3a573d6000803e3d6000fd5b505060405163d547741f60e01b81526000805160206111f983398151915260048201523060248201526001600160a01b038516925063d547741f9150604401600060405180830381600087803b158015610a9357600080fd5b505af1158015610aa7573d6000803e3d6000fd5b505060405163d547741f60e01b81527f8502233096d909befbda0999bb8ea2f3a6be3c138b9fbf003752a4c8bce86f6c60048201523060248201526001600160a01b038516925063d547741f9150604401600060405180830381600087803b158015610b1257600080fd5b505af1158015610b26573d6000803e3d6000fd5b50506040516313af403560e01b81526001600160a01b038481166004830152851692506313af40359150602401600060405180830381600087803b158015610b6d57600080fd5b505af1158015610b81573d6000803e3d6000fd5b505060405163d547741f60e01b8152600060048201523060248201526001600160a01b038516925063d547741f9150604401600060405180830381600087803b158015610bcd57600080fd5b505af1158015610be1573d6000803e3d6000fd5b505050505050565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6002546040516001600160a01b038084169216907f0b5e7be615a67a819aff3f47c967d1535cead1b98db60fafdcbf22dcaa8fa5a990600090a3600280546001600160a01b0319166001600160a01b0392909216919091179055565b600060208284031215610ca157600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b604051610180810167ffffffffffffffff81118282101715610ce257610ce2610ca8565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715610d1157610d11610ca8565b604052919050565b6001600160a01b03811681146106f357600080fd5b8035610d3981610d19565b919050565b600082601f830112610d4f57600080fd5b813567ffffffffffffffff811115610d6957610d69610ca8565b610d7c601f8201601f1916602001610ce8565b818152846020838601011115610d9157600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f830112610dbf57600080fd5b8135602067ffffffffffffffff821115610ddb57610ddb610ca8565b8160051b610dea828201610ce8565b9283528481018201928281019087851115610e0457600080fd5b83870192505b84831015610e2c578235610e1d81610d19565b82529183019190830190610e0a565b979650505050505050565b80356001600160801b0381168114610d3957600080fd5b600060208284031215610e6057600080fd5b813567ffffffffffffffff80821115610e7857600080fd5b908301906101808286031215610e8d57600080fd5b610e95610cbe565b610e9e83610d2e565b8152602083013582811115610eb257600080fd5b610ebe87828601610d3e565b602083015250604083013582811115610ed657600080fd5b610ee287828601610d3e565b604083015250606083013582811115610efa57600080fd5b610f0687828601610d3e565b606083015250608083013582811115610f1e57600080fd5b610f2a87828601610d3e565b60808301525060a083013582811115610f4257600080fd5b610f4e87828601610dae565b60a083015250610f6060c08401610d2e565b60c0820152610f7160e08401610d2e565b60e08201526101009150610f86828401610e37565b82820152610120915081830135828201526101409150610fa7828401610d2e565b9181019190915261016091820135918101919091529392505050565b600060208284031215610fd557600080fd5b81356107ac81610d19565b60208082526018908201527f63616c6c6572206973206e6f7420746865206f776e65722e0000000000000000604082015260600190565b6000815180845260005b8181101561103d57602081850181015186830182015201611021565b506000602082860101526020601f19601f83011685010191505092915050565b6001600160a01b038b811682526101406020808401829052600092906110858584018f611017565b92508483036040860152611099838e611017565b925084830360608601526110ad838d611017565b85810360808701528b51808252828d0194509082019060005b818110156110e45785518516835294830194918301916001016110c6565b50506001600160a01b038b1660a0870152935061110092505050565b6001600160a01b03861660c08301526001600160801b03851660e083015260ff84166101008301526001600160a01b0383166101208301529b9a5050505050505050505050565b60018060a01b038516815283602082015260806040820152600061116e6080830185611017565b905082606083015295945050505050565b6001600160a01b03841681526060602082018190526000906111a390830185611017565b9050826040830152949350505050565b6000602082840312156111c557600080fd5b81516107ac81610d19565b60208101600283106111f257634e487b7160e01b600052602160045260246000fd5b9190529056fe9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6a2646970667358221220757638bf4dd42a39a9e38934d415802a62a55120d9421fc0076f3fb8c75543f864736f6c63430008110033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000002330ee705ffd040bb0cba8cb7734dfe00e7c4b570000000000000000000000005be12d4b22eaa4354b3d6f636df047ab7a2a0af80000000000000000000000005dbc7b840baa9dabcbe9d2492e45d7244b54a2a0000000000000000000000000ab1a1c03be678b5d55cec01322f7dac5a2bc7afc
-----Decoded View---------------
Arg [0] : _owner (address): 0x2330ee705fFD040bB0cbA8CB7734Dfe00E7C4b57
Arg [1] : _minter (address): 0x5bE12d4b22EAa4354b3D6F636df047AB7A2A0aF8
Arg [2] : _factory (address): 0x5DBC7B840baa9daBcBe9D2492E45D7244B54A2A0
Arg [3] : _implementation (address): 0xAb1a1c03BE678B5d55Cec01322f7DAC5a2Bc7aFC
-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 0000000000000000000000002330ee705ffd040bb0cba8cb7734dfe00e7c4b57
Arg [1] : 0000000000000000000000005be12d4b22eaa4354b3d6f636df047ab7a2a0af8
Arg [2] : 0000000000000000000000005dbc7b840baa9dabcbe9d2492e45d7244b54a2a0
Arg [3] : 000000000000000000000000ab1a1c03be678b5d55cec01322f7dac5a2bc7afc
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 34 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.