Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 7 from a total of 7 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Create Pool | 20333173 | 46 days ago | IN | 0 ETH | 0.00166356 | ||||
Create Pool | 19855857 | 113 days ago | IN | 0 ETH | 0.0008868 | ||||
Create Pool | 18001010 | 373 days ago | IN | 0 ETH | 0.00102498 | ||||
Create Pool | 17664922 | 420 days ago | IN | 0 ETH | 0.00641745 | ||||
Create Pool | 17208960 | 484 days ago | IN | 0 ETH | 0.02235677 | ||||
Create Pool | 15903352 | 667 days ago | IN | 0 ETH | 0.00255705 | ||||
Create Pool | 15834695 | 677 days ago | IN | 0 ETH | 0.00406885 |
Latest 7 internal transactions
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
20333173 | 46 days ago | Contract Creation | 0 ETH | |||
19855857 | 113 days ago | Contract Creation | 0 ETH | |||
17664922 | 420 days ago | Contract Creation | 0 ETH | |||
17208960 | 484 days ago | Contract Creation | 0 ETH | |||
15903352 | 667 days ago | Contract Creation | 0 ETH | |||
15834695 | 677 days ago | Contract Creation | 0 ETH | |||
15817831 | 679 days ago | Contract Creation | 0 ETH |
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:
RigoblockPoolProxyFactory
Compiler Version
v0.8.17+commit.8df45f5f
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: Apache-2.0-or-later /* Copyright 2022 Rigo Intl. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ pragma solidity 0.8.17; import "./RigoblockPoolProxy.sol"; import {IPoolRegistry as PoolRegistry} from "../interfaces/IPoolRegistry.sol"; import "../interfaces/IRigoblockPoolProxyFactory.sol"; /// @title Rigoblock Pool Proxy Factory contract - allows creation of new Rigoblock pools. /// @author Gabriele Rigo - <[email protected]> // solhint-disable-next-line contract RigoblockPoolProxyFactory is IRigoblockPoolProxyFactory { /// @inheritdoc IRigoblockPoolProxyFactory address public override implementation; address private _registry; Parameters private _parameters; modifier onlyRigoblockDao() { require(PoolRegistry(getRegistry()).rigoblockDao() == msg.sender, "FACTORY_CALLER_NOT_DAO_ERROR"); _; } constructor(address newImplementation, address registry) { implementation = newImplementation; _registry = registry; } /* * PUBLIC FUNCTIONS */ /// @inheritdoc IRigoblockPoolProxyFactory function createPool( string calldata name, string calldata symbol, address baseToken ) external override returns (address newPoolAddress, bytes32 poolId) { (bytes32 newPoolId, RigoblockPoolProxy proxy) = _createPool(name, symbol, baseToken); newPoolAddress = address(proxy); poolId = newPoolId; try PoolRegistry(getRegistry()).register(newPoolAddress, name, symbol, poolId) { emit PoolCreated(newPoolAddress); } catch Error(string memory reason) { revert(reason); } catch (bytes memory returnData) { revert(string(returnData)); } } /// @inheritdoc IRigoblockPoolProxyFactory function setImplementation(address newImplementation) external override onlyRigoblockDao { require(newImplementation != implementation, "FACTORY_SAME_INPUT_ADDRESS_ERROR"); require(_isContract(newImplementation), "FACTORY_NEW_IMPLEMENTATION_NOT_CONTRACT_ERROR"); implementation = newImplementation; emit Upgraded(newImplementation); } /// @inheritdoc IRigoblockPoolProxyFactory function setRegistry(address newRegistry) external override onlyRigoblockDao { require(newRegistry != getRegistry(), "FACTORY_SAME_INPUT_ADDRESS_ERROR"); require(_isContract(newRegistry), "FACTORY_NEW_REGISTRY_NOT_CONTRACT_ERROR"); _registry = newRegistry; emit RegistryUpgraded(newRegistry); } /// @notice Returns the pool initialization parameters at proxy deploy. /// @return Tuple of the pool parameters. function parameters() external view override returns (Parameters memory) { return _parameters; } /* * CONSTANT PUBLIC FUNCTIONS */ /// @inheritdoc IRigoblockPoolProxyFactory function getRegistry() public view override returns (address) { return _registry; } /* * INTERNAL FUNCTIONS */ /// @dev Creates a pool and routes to eventful. /// @param name String of the name. /// @param symbol String of the symbol. /// @param baseToken Address of the base token. function _createPool( string calldata name, string calldata symbol, address baseToken ) internal returns (bytes32 salt, RigoblockPoolProxy newProxy) { // we omit the encoding params in the constructor in order to guarantee same address for name and owner salt = keccak256(abi.encode(name, msg.sender)); // we write to storage to allow proxy to read initialization parameters _parameters = Parameters({name: name, symbol: bytes8(bytes(symbol)), owner: msg.sender, baseToken: baseToken}); // constructor is null to guarantee same create2 deployed address try new RigoblockPoolProxy{salt: salt}() returns (RigoblockPoolProxy proxy) { newProxy = proxy; } catch Error(string memory revertReason) { revert(revertReason); } catch (bytes memory) { revert("FACTORY_CREATE2_FAILED_ERROR"); } delete _parameters; } /// @dev Returns whether an address is a contract. /// @return Bool target address has code. function _isContract(address target) private view returns (bool) { return target.code.length > 0; } }
// SPDX-License-Identifier: Apache 2.0 /* Copyright 2017-2022 RigoBlock, Rigo Investment Sagl. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ pragma solidity >=0.7.0 <0.9.0; /// @title Pool Registry Interface - Allows external interaction with pool registry. /// @author Gabriele Rigo - <[email protected]> // solhint-disable-next-line interface IPoolRegistry { /// @notice Mapping of pool meta by pool key. /// @param meta Mapping of bytes32 key to bytes32 meta. struct PoolMeta { mapping(bytes32 => bytes32) meta; } /// @notice Emitted when Rigoblock Dao updates authority address. /// @param authority Address of the new authority contract. event AuthorityChanged(address indexed authority); /// @notice Emitted when pool owner updates meta data for its pool. /// @param pool Address of the pool. /// @param key Bytes32 key for indexing. /// @param value Bytes32 of the value associated with the key. event MetaChanged(address indexed pool, bytes32 indexed key, bytes32 value); /// @notice Emitted when a new pool is registered in registry. /// @param group Address of the pool factory. /// @param pool Address of the registered pool. /// @param name String name of the pool. /// @param symbol String name of the pool. /// @param id Bytes32 id of the pool. event Registered( address indexed group, address pool, bytes32 indexed name, // client can prune sybil pools bytes32 indexed symbol, bytes32 id ); /// @notice Emitted when rigoblock Dao address is updated. /// @param rigoblockDao New Dao address. event RigoblockDaoChanged(address indexed rigoblockDao); /// @notice Returns the address of the Rigoblock authority contract. /// @return Address of the authority contract. function authority() external view returns (address); /// @notice Returns the address of the Rigoblock Dao. /// @return Address of the Rigoblock Dao. function rigoblockDao() external view returns (address); /// @notice Allows a factory which is an authority to register a pool. /// @param pool Address of the pool. /// @param name String name of the pool (31 characters/bytes or less). /// @param symbol String symbol of the pool (3 to 5 characters/bytes). /// @param poolId Bytes32 of the pool id. function register( address pool, string calldata name, string calldata symbol, bytes32 poolId ) external; /// @notice Allows Rigoblock governance to update authority. /// @param authority Address of the authority contract. function setAuthority(address authority) external; /// @notice Allows pool owner to set metadata for a pool. /// @param pool Address of the pool. /// @param key Bytes32 of the key. /// @param value Bytes32 of the value. function setMeta( address pool, bytes32 key, bytes32 value ) external; /// @notice Allows Rigoblock Dao to update its address. /// @dev Creates internal record. /// @param newRigoblockDao Address of the Rigoblock Dao. function setRigoblockDao(address newRigoblockDao) external; /// @notice Returns metadata for a given pool. /// @param pool Address of the pool. /// @param key Bytes32 key. /// @return poolMeta Meta by key. function getMeta(address pool, bytes32 key) external view returns (bytes32 poolMeta); /// @notice Returns the id of a pool from its address. /// @param pool Address of the pool. /// @return poolId bytes32 id of the pool. function getPoolIdFromAddress(address pool) external view returns (bytes32 poolId); }
// SPDX-License-Identifier: Apache-2.0-or-later pragma solidity >=0.8.0 <0.9.0; interface IRigoblockPoolProxy { /// @notice Emitted when implementation written to proxy storage. /// @dev Emitted also at first variable initialization. /// @param newImplementation Address of the new implementation. event Upgraded(address indexed newImplementation); }
// SPDX-License-Identifier: Apache-2.0-or-later /* Copyright 2017-2022 RigoBlock, Rigo Investment Sagl, Rigo Intl. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ pragma solidity >=0.8.0 <0.9.0; /// @title Pool Proxy Factory Interface - Allows external interaction with Pool Proxy Factory. /// @author Gabriele Rigo - <[email protected]> // solhint-disable-next-line interface IRigoblockPoolProxyFactory { /// @notice Emitted when a new pool is created. /// @param poolAddress Address of the new pool. event PoolCreated(address poolAddress); /// @notice Emitted when a new implementation is set by the Rigoblock Dao. /// @param implementation Address of the new implementation. event Upgraded(address indexed implementation); /// @notice Emitted when registry address is upgraded by the Rigoblock Dao. /// @param registry Address of the new registry. event RegistryUpgraded(address indexed registry); /// @notice Returns the implementation address for the pool proxies. /// @return Address of the implementation. function implementation() external view returns (address); /// @notice Creates a new Rigoblock pool. /// @param name String of the name. /// @param symbol String of the symbol. /// @param baseToken Address of the base token. /// @return newPoolAddress Address of the new pool. /// @return poolId Id of the new pool. function createPool( string calldata name, string calldata symbol, address baseToken ) external returns (address newPoolAddress, bytes32 poolId); /// @notice Allows Rigoblock Dao to update factory pool implementation. /// @param newImplementation Address of the new implementation contract. function setImplementation(address newImplementation) external; /// @notice Allows owner to update the registry. /// @param newRegistry Address of the new registry. function setRegistry(address newRegistry) external; /// @notice Returns the address of the pool registry. /// @return Address of the registry. function getRegistry() external view returns (address); /// @notice Pool initialization parameters. /// @params name String of the name (max 31 characters). /// @params symbol bytes8 symbol. /// @params owner Address of the owner. /// @params baseToken Address of the base token. struct Parameters { string name; bytes8 symbol; address owner; address baseToken; } /// @notice Returns the pool initialization parameters at proxy deploy. /// @return Tuple of the pool parameters. function parameters() external view returns (Parameters memory); }
// SPDX-License-Identifier: Apache-2.0-or-later /* Copyright 2022 Rigo Intl. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ pragma solidity >=0.8.0 <0.9.0; import "../interfaces/IRigoblockPoolProxy.sol"; import "../interfaces/IRigoblockPoolProxyFactory.sol"; /// @title RigoblockPoolProxy - Proxy contract forwards calls to the implementation address returned by the admin. /// @author Gabriele Rigo - <[email protected]> contract RigoblockPoolProxy is IRigoblockPoolProxy { // implementation slot is used to store implementation address, a contract which implements the pool logic. // Reduced deployment cost by using internal variable. bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc; /// @notice Sets address of implementation contract. constructor() payable { // store implementation address in implementation slot value assert(_IMPLEMENTATION_SLOT == bytes32(uint256(keccak256("eip1967.proxy.implementation")) - 1)); address implementation = IRigoblockPoolProxyFactory(msg.sender).implementation(); getImplementation().implementation = implementation; emit Upgraded(implementation); // initialize pool // abi.encodeWithSelector(IRigoblockPool.initializePool.selector) (, bytes memory returnData) = implementation.delegatecall(abi.encodeWithSelector(0x250e6de0)); // we must assert initialization didn't fail, otherwise it could fail silently and still deploy the pool. require(returnData.length == 0, "POOL_INITIALIZATION_FAILED_ERROR"); } /* solhint-disable no-complex-fallback */ /// @notice Fallback function forwards all transactions and returns all received return data. fallback() external payable { address implementation = getImplementation().implementation; // solhint-disable-next-line no-inline-assembly assembly { calldatacopy(0, 0, calldatasize()) let success := delegatecall(gas(), implementation, 0, calldatasize(), 0, 0) returndatacopy(0, 0, returndatasize()) if eq(success, 0) { revert(0, returndatasize()) } return(0, returndatasize()) } } /* solhint-enable no-complex-fallback */ /// @notice Implementation slot is accessed directly. /// @dev Saves gas compared to using storage slot library. /// @param implementation Address of the implementation. struct ImplementationSlot { address implementation; } /// @notice Method to read/write from/to implementation slot. /// @return s Storage slot of the pool implementation. function getImplementation() private pure returns (ImplementationSlot storage s) { assembly { s.slot := _IMPLEMENTATION_SLOT } } }
{ "evmVersion": "london", "libraries": {}, "metadata": { "bytecodeHash": "ipfs", "useLiteralContent": true }, "optimizer": { "enabled": true, "runs": 200 }, "remappings": [], "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"address","name":"registry","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"poolAddress","type":"address"}],"name":"PoolCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"registry","type":"address"}],"name":"RegistryUpgraded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"address","name":"baseToken","type":"address"}],"name":"createPool","outputs":[{"internalType":"address","name":"newPoolAddress","type":"address"},{"internalType":"bytes32","name":"poolId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getRegistry","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"parameters","outputs":[{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"bytes8","name":"symbol","type":"bytes8"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"baseToken","type":"address"}],"internalType":"struct IRigoblockPoolProxyFactory.Parameters","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"}],"name":"setImplementation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newRegistry","type":"address"}],"name":"setRegistry","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b5060405161137a38038061137a83398101604081905261002f9161007c565b600080546001600160a01b039384166001600160a01b031991821617909155600180549290931691161790556100af565b80516001600160a01b038116811461007757600080fd5b919050565b6000806040838503121561008f57600080fd5b61009883610060565b91506100a660208401610060565b90509250929050565b6112bc806100be6000396000f3fe60806040523480156200001157600080fd5b50600436106200006a5760003560e01c80631d7d13cc146200006f5780635ab1bd5314620000aa5780635c60da1b14620000d05780638903573014620000e4578063a91ee0dc14620000fd578063d784d4261462000116575b600080fd5b620000866200008036600462000a8f565b6200012d565b604080516001600160a01b0390931683526020830191909152015b60405180910390f35b6001546001600160a01b03165b6040516001600160a01b039091168152602001620000a1565b600054620000b7906001600160a01b031681565b620000ee620002b3565b604051620000a1919062000b64565b620001146200010e36600462000bc8565b620003c1565b005b620001146200012736600462000bc8565b620005b2565b60008060008062000142898989898962000799565b915091508093508192506200015f6001546001600160a01b031690565b6001600160a01b0316633f47734b858b8b8b8b896040518763ffffffff1660e01b8152600401620001969695949392919062000c18565b600060405180830381600087803b158015620001b157600080fd5b505af1925050508015620001c3575060015b6200026b57620001d262000c68565b806308c379a0036200021b5750620001e962000ccb565b80620001f657506200021d565b8060405162461bcd60e51b815260040162000212919062000d5b565b60405180910390fd5b505b3d80801562000249576040519150601f19603f3d011682016040523d82523d6000602084013e6200024e565b606091505b508060405162461bcd60e51b815260040162000212919062000d5b565b6040516001600160a01b03851681527f83a48fbcfc991335314e74d0496aab6a1987e992ddc85dddbcc4d6dd6ef2e9fc9060200160405180910390a150509550959350505050565b6040805160808101825260608082526000602083018190529282018390528101919091526002604051806080016040529081600082018054620002f69062000d70565b80601f0160208091040260200160405190810160405280929190818152602001828054620003249062000d70565b8015620003755780601f10620003495761010080835404028352916020019162000375565b820191906000526020600020905b8154815290600101906020018083116200035757829003601f168201915b505050918352505060018201546001600160c01b031960c082901b1660208301526001600160a01b03600160401b90910481166040830152600290920154909116606090910152919050565b33620003d56001546001600160a01b031690565b6001600160a01b0316633edd80c36040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000413573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000439919062000dac565b6001600160a01b031614620004915760405162461bcd60e51b815260206004820152601c60248201527f464143544f52595f43414c4c45525f4e4f545f44414f5f4552524f5200000000604482015260640162000212565b6001546001600160a01b03166001600160a01b0316816001600160a01b031603620004ff5760405162461bcd60e51b815260206004820181905260248201527f464143544f52595f53414d455f494e5055545f414444524553535f4552524f52604482015260640162000212565b6001600160a01b0381163b620005685760405162461bcd60e51b815260206004820152602760248201527f464143544f52595f4e45575f52454749535452595f4e4f545f434f4e545241436044820152662a2fa2a92927a960c91b606482015260840162000212565b600180546001600160a01b0319166001600160a01b0383169081179091556040517fdbcbf29e459c8e6b09f8c283c975e06dbb85d68408225dcb45d6cff0f9a8706e90600090a250565b33620005c66001546001600160a01b031690565b6001600160a01b0316633edd80c36040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000604573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200062a919062000dac565b6001600160a01b031614620006825760405162461bcd60e51b815260206004820152601c60248201527f464143544f52595f43414c4c45525f4e4f545f44414f5f4552524f5200000000604482015260640162000212565b6000546001600160a01b0390811690821603620006e25760405162461bcd60e51b815260206004820181905260248201527f464143544f52595f53414d455f494e5055545f414444524553535f4552524f52604482015260640162000212565b6001600160a01b0381163b620007515760405162461bcd60e51b815260206004820152602d60248201527f464143544f52595f4e45575f494d504c454d454e544154494f4e5f4e4f545f4360448201526c27a72a2920a1aa2fa2a92927a960991b606482015260840162000212565b600080546001600160a01b0319166001600160a01b038316908117825560405190917fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b91a250565b600080868633604051602001620007b39392919062000dcc565b60408051601f19818403018152828252805160209182012060a0601f8b0183900490920284018201909252608083018981529194508291908a908a908190850183828082843760009201919091525050509082525060200162000817868862000dfa565b6001600160c01b03191681523360208201526001600160a01b038516604090910152805160029081906200084c908262000e7e565b50602082015160018201805460408086015160c09490941c6001600160e01b031990921691909117600160401b6001600160a01b039485160217909155606090930151600290920180546001600160a01b03191692909116919091179055518290620008b890620009c2565b8190604051809103906000f590508015620008d05760015b6200098057620008df62000c68565b806308c379a003620009035750620008f662000ccb565b80620001f6575062000905565b505b3d80801562000931576040519150601f19603f3d011682016040523d82523d6000602084013e62000936565b606091505b5060405162461bcd60e51b815260206004820152601c60248201527f464143544f52595f435245415445325f4641494c45445f4552524f5200000000604482015260640162000212565b905060026000620009928282620009d0565b506001810180546001600160e01b031916905560020180546001600160a01b031916905590969095509350505050565b61033b8062000f4c83390190565b508054620009de9062000d70565b6000825580601f10620009ef575050565b601f01602090049060005260206000209081019062000a0f919062000a12565b50565b5b8082111562000a29576000815560010162000a13565b5090565b60008083601f84011262000a4057600080fd5b50813567ffffffffffffffff81111562000a5957600080fd5b60208301915083602082850101111562000a7257600080fd5b9250929050565b6001600160a01b038116811462000a0f57600080fd5b60008060008060006060868803121562000aa857600080fd5b853567ffffffffffffffff8082111562000ac157600080fd5b62000acf89838a0162000a2d565b9097509550602088013591508082111562000ae957600080fd5b5062000af88882890162000a2d565b909450925050604086013562000b0e8162000a79565b809150509295509295909350565b6000815180845260005b8181101562000b445760208185018101518683018201520162000b26565b506000602082860101526020601f19601f83011685010191505092915050565b60208152600082516080602084015262000b8260a084018262000b1c565b60208501516001600160c01b0319166040858101919091528501516001600160a01b03908116606080870191909152909501519094166080909301929092525090919050565b60006020828403121562000bdb57600080fd5b813562000be88162000a79565b9392505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b038716815260806020820181905260009062000c3f908301878962000bef565b828103604084015262000c5481868862000bef565b915050826060830152979650505050505050565b600060033d111562000c825760046000803e5060005160e01c5b90565b634e487b7160e01b600052604160045260246000fd5b601f8201601f1916810167ffffffffffffffff8111828210171562000cc45762000cc462000c85565b6040525050565b600060443d101562000cda5790565b6040516003193d81016004833e81513d67ffffffffffffffff816024840111818411171562000d0b57505050505090565b828501915081518181111562000d245750505050505090565b843d870101602082850101111562000d3f5750505050505090565b62000d506020828601018762000c9b565b509095945050505050565b60208152600062000be8602083018462000b1c565b600181811c9082168062000d8557607f821691505b60208210810362000da657634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121562000dbf57600080fd5b815162000be88162000a79565b60408152600062000de260408301858762000bef565b905060018060a01b0383166020830152949350505050565b6001600160c01b0319813581811691600885101562000e235780818660080360031b1b83161692505b505092915050565b601f82111562000e7957600081815260208120601f850160051c8101602086101562000e545750805b601f850160051c820191505b8181101562000e755782815560010162000e60565b5050505b505050565b815167ffffffffffffffff81111562000e9b5762000e9b62000c85565b62000eb38162000eac845462000d70565b8462000e2b565b602080601f83116001811462000eeb576000841562000ed25750858301515b600019600386901b1c1916600185901b17855562000e75565b600085815260208120601f198616915b8281101562000f1c5788860151825594840194600190910190840162000efb565b508582101562000f3b5787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056fe608060405261002f60017f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd6101ea565b60008051602061031b8339815191521461004b5761004b610211565b6000336001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561008b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100af9190610227565b90508060008051602061031b83398151915280546001600160a01b0319166001600160a01b03928316179055604051908216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a260408051600481526024810182526020810180516001600160e01b0316630128736f60e51b17905290516000916001600160a01b0384169161014a9190610257565b600060405180830381855af49150503d8060008114610185576040519150601f19603f3d011682016040523d82523d6000602084013e61018a565b606091505b5091505080516000146101e35760405162461bcd60e51b815260206004820181905260248201527f504f4f4c5f494e495449414c495a4154494f4e5f4641494c45445f4552524f52604482015260640160405180910390fd5b5050610286565b8181038181111561020b57634e487b7160e01b600052601160045260246000fd5b92915050565b634e487b7160e01b600052600160045260246000fd5b60006020828403121561023957600080fd5b81516001600160a01b038116811461025057600080fd5b9392505050565b6000825160005b81811015610278576020818601810151858301520161025e565b506000920191825250919050565b6087806102946000396000f3fe60806040527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b03163660008037600080366000845af43d6000803e80604b573d6000fd5b503d6000f3fea26469706673582212200f74c83651b80afff3529310debe8504f073a23e59eec106c535ef5765dd152e64736f6c63430008110033360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220a95e49aca36f8844744cd5771c3e48d1cb425e3a6c4c8d2864fee086cff653b164736f6c63430008110033000000000000000000000000eb0c08ad44af89bcbb5ed6dd28cad452311b851600000000000000000000000006767e8090ba5c4eca89ed00c3a719909d503ed6
Deployed Bytecode
0x60806040523480156200001157600080fd5b50600436106200006a5760003560e01c80631d7d13cc146200006f5780635ab1bd5314620000aa5780635c60da1b14620000d05780638903573014620000e4578063a91ee0dc14620000fd578063d784d4261462000116575b600080fd5b620000866200008036600462000a8f565b6200012d565b604080516001600160a01b0390931683526020830191909152015b60405180910390f35b6001546001600160a01b03165b6040516001600160a01b039091168152602001620000a1565b600054620000b7906001600160a01b031681565b620000ee620002b3565b604051620000a1919062000b64565b620001146200010e36600462000bc8565b620003c1565b005b620001146200012736600462000bc8565b620005b2565b60008060008062000142898989898962000799565b915091508093508192506200015f6001546001600160a01b031690565b6001600160a01b0316633f47734b858b8b8b8b896040518763ffffffff1660e01b8152600401620001969695949392919062000c18565b600060405180830381600087803b158015620001b157600080fd5b505af1925050508015620001c3575060015b6200026b57620001d262000c68565b806308c379a0036200021b5750620001e962000ccb565b80620001f657506200021d565b8060405162461bcd60e51b815260040162000212919062000d5b565b60405180910390fd5b505b3d80801562000249576040519150601f19603f3d011682016040523d82523d6000602084013e6200024e565b606091505b508060405162461bcd60e51b815260040162000212919062000d5b565b6040516001600160a01b03851681527f83a48fbcfc991335314e74d0496aab6a1987e992ddc85dddbcc4d6dd6ef2e9fc9060200160405180910390a150509550959350505050565b6040805160808101825260608082526000602083018190529282018390528101919091526002604051806080016040529081600082018054620002f69062000d70565b80601f0160208091040260200160405190810160405280929190818152602001828054620003249062000d70565b8015620003755780601f10620003495761010080835404028352916020019162000375565b820191906000526020600020905b8154815290600101906020018083116200035757829003601f168201915b505050918352505060018201546001600160c01b031960c082901b1660208301526001600160a01b03600160401b90910481166040830152600290920154909116606090910152919050565b33620003d56001546001600160a01b031690565b6001600160a01b0316633edd80c36040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000413573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000439919062000dac565b6001600160a01b031614620004915760405162461bcd60e51b815260206004820152601c60248201527f464143544f52595f43414c4c45525f4e4f545f44414f5f4552524f5200000000604482015260640162000212565b6001546001600160a01b03166001600160a01b0316816001600160a01b031603620004ff5760405162461bcd60e51b815260206004820181905260248201527f464143544f52595f53414d455f494e5055545f414444524553535f4552524f52604482015260640162000212565b6001600160a01b0381163b620005685760405162461bcd60e51b815260206004820152602760248201527f464143544f52595f4e45575f52454749535452595f4e4f545f434f4e545241436044820152662a2fa2a92927a960c91b606482015260840162000212565b600180546001600160a01b0319166001600160a01b0383169081179091556040517fdbcbf29e459c8e6b09f8c283c975e06dbb85d68408225dcb45d6cff0f9a8706e90600090a250565b33620005c66001546001600160a01b031690565b6001600160a01b0316633edd80c36040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000604573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200062a919062000dac565b6001600160a01b031614620006825760405162461bcd60e51b815260206004820152601c60248201527f464143544f52595f43414c4c45525f4e4f545f44414f5f4552524f5200000000604482015260640162000212565b6000546001600160a01b0390811690821603620006e25760405162461bcd60e51b815260206004820181905260248201527f464143544f52595f53414d455f494e5055545f414444524553535f4552524f52604482015260640162000212565b6001600160a01b0381163b620007515760405162461bcd60e51b815260206004820152602d60248201527f464143544f52595f4e45575f494d504c454d454e544154494f4e5f4e4f545f4360448201526c27a72a2920a1aa2fa2a92927a960991b606482015260840162000212565b600080546001600160a01b0319166001600160a01b038316908117825560405190917fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b91a250565b600080868633604051602001620007b39392919062000dcc565b60408051601f19818403018152828252805160209182012060a0601f8b0183900490920284018201909252608083018981529194508291908a908a908190850183828082843760009201919091525050509082525060200162000817868862000dfa565b6001600160c01b03191681523360208201526001600160a01b038516604090910152805160029081906200084c908262000e7e565b50602082015160018201805460408086015160c09490941c6001600160e01b031990921691909117600160401b6001600160a01b039485160217909155606090930151600290920180546001600160a01b03191692909116919091179055518290620008b890620009c2565b8190604051809103906000f590508015620008d05760015b6200098057620008df62000c68565b806308c379a003620009035750620008f662000ccb565b80620001f6575062000905565b505b3d80801562000931576040519150601f19603f3d011682016040523d82523d6000602084013e62000936565b606091505b5060405162461bcd60e51b815260206004820152601c60248201527f464143544f52595f435245415445325f4641494c45445f4552524f5200000000604482015260640162000212565b905060026000620009928282620009d0565b506001810180546001600160e01b031916905560020180546001600160a01b031916905590969095509350505050565b61033b8062000f4c83390190565b508054620009de9062000d70565b6000825580601f10620009ef575050565b601f01602090049060005260206000209081019062000a0f919062000a12565b50565b5b8082111562000a29576000815560010162000a13565b5090565b60008083601f84011262000a4057600080fd5b50813567ffffffffffffffff81111562000a5957600080fd5b60208301915083602082850101111562000a7257600080fd5b9250929050565b6001600160a01b038116811462000a0f57600080fd5b60008060008060006060868803121562000aa857600080fd5b853567ffffffffffffffff8082111562000ac157600080fd5b62000acf89838a0162000a2d565b9097509550602088013591508082111562000ae957600080fd5b5062000af88882890162000a2d565b909450925050604086013562000b0e8162000a79565b809150509295509295909350565b6000815180845260005b8181101562000b445760208185018101518683018201520162000b26565b506000602082860101526020601f19601f83011685010191505092915050565b60208152600082516080602084015262000b8260a084018262000b1c565b60208501516001600160c01b0319166040858101919091528501516001600160a01b03908116606080870191909152909501519094166080909301929092525090919050565b60006020828403121562000bdb57600080fd5b813562000be88162000a79565b9392505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b038716815260806020820181905260009062000c3f908301878962000bef565b828103604084015262000c5481868862000bef565b915050826060830152979650505050505050565b600060033d111562000c825760046000803e5060005160e01c5b90565b634e487b7160e01b600052604160045260246000fd5b601f8201601f1916810167ffffffffffffffff8111828210171562000cc45762000cc462000c85565b6040525050565b600060443d101562000cda5790565b6040516003193d81016004833e81513d67ffffffffffffffff816024840111818411171562000d0b57505050505090565b828501915081518181111562000d245750505050505090565b843d870101602082850101111562000d3f5750505050505090565b62000d506020828601018762000c9b565b509095945050505050565b60208152600062000be8602083018462000b1c565b600181811c9082168062000d8557607f821691505b60208210810362000da657634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121562000dbf57600080fd5b815162000be88162000a79565b60408152600062000de260408301858762000bef565b905060018060a01b0383166020830152949350505050565b6001600160c01b0319813581811691600885101562000e235780818660080360031b1b83161692505b505092915050565b601f82111562000e7957600081815260208120601f850160051c8101602086101562000e545750805b601f850160051c820191505b8181101562000e755782815560010162000e60565b5050505b505050565b815167ffffffffffffffff81111562000e9b5762000e9b62000c85565b62000eb38162000eac845462000d70565b8462000e2b565b602080601f83116001811462000eeb576000841562000ed25750858301515b600019600386901b1c1916600185901b17855562000e75565b600085815260208120601f198616915b8281101562000f1c5788860151825594840194600190910190840162000efb565b508582101562000f3b5787850151600019600388901b60f8161c191681555b5050505050600190811b0190555056fe608060405261002f60017f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd6101ea565b60008051602061031b8339815191521461004b5761004b610211565b6000336001600160a01b0316635c60da1b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561008b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100af9190610227565b90508060008051602061031b83398151915280546001600160a01b0319166001600160a01b03928316179055604051908216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a260408051600481526024810182526020810180516001600160e01b0316630128736f60e51b17905290516000916001600160a01b0384169161014a9190610257565b600060405180830381855af49150503d8060008114610185576040519150601f19603f3d011682016040523d82523d6000602084013e61018a565b606091505b5091505080516000146101e35760405162461bcd60e51b815260206004820181905260248201527f504f4f4c5f494e495449414c495a4154494f4e5f4641494c45445f4552524f52604482015260640160405180910390fd5b5050610286565b8181038181111561020b57634e487b7160e01b600052601160045260246000fd5b92915050565b634e487b7160e01b600052600160045260246000fd5b60006020828403121561023957600080fd5b81516001600160a01b038116811461025057600080fd5b9392505050565b6000825160005b81811015610278576020818601810151858301520161025e565b506000920191825250919050565b6087806102946000396000f3fe60806040527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b03163660008037600080366000845af43d6000803e80604b573d6000fd5b503d6000f3fea26469706673582212200f74c83651b80afff3529310debe8504f073a23e59eec106c535ef5765dd152e64736f6c63430008110033360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220a95e49aca36f8844744cd5771c3e48d1cb425e3a6c4c8d2864fee086cff653b164736f6c63430008110033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000eb0c08ad44af89bcbb5ed6dd28cad452311b851600000000000000000000000006767e8090ba5c4eca89ed00c3a719909d503ed6
-----Decoded View---------------
Arg [0] : newImplementation (address): 0xeb0c08Ad44af89BcBB5Ed6dD28caD452311B8516
Arg [1] : registry (address): 0x06767e8090bA5c4Eca89ED00C3A719909D503ED6
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000eb0c08ad44af89bcbb5ed6dd28cad452311b8516
Arg [1] : 00000000000000000000000006767e8090ba5c4eca89ed00c3a719909d503ed6
Loading...
Loading
Loading...
Loading
OVERVIEW
The factory of the RigoBlock V3 pools.Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.