Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 1 internal transaction
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
20966875 | 52 days ago | Contract Creation | 0 ETH |
Loading...
Loading
Contract Name:
ReleaseRegistry
Compiler Version
v0.8.18+commit.87f61d96
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2024-10-14 */ // SPDX-License-Identifier: GNU AGPLv3 pragma solidity >=0.8.18; // lib/tokenized-strategy-periphery/src/utils/Governance.sol contract Governance { /// @notice Emitted when the governance address is updated. event GovernanceTransferred( address indexed previousGovernance, address indexed newGovernance ); modifier onlyGovernance() { _checkGovernance(); _; } /// @notice Checks if the msg sender is the governance. function _checkGovernance() internal view virtual { require(governance == msg.sender, "!governance"); } /// @notice Address that can set the default base fee and provider address public governance; constructor(address _governance) { governance = _governance; emit GovernanceTransferred(address(0), _governance); } /** * @notice Sets a new address as the governance of the contract. * @dev Throws if the caller is not current governance. * @param _newGovernance The new governance address. */ function transferGovernance( address _newGovernance ) external virtual onlyGovernance { require(_newGovernance != address(0), "ZERO ADDRESS"); address oldGovernance = governance; governance = _newGovernance; emit GovernanceTransferred(oldGovernance, _newGovernance); } } // lib/tokenized-strategy-periphery/src/utils/Governance2Step.sol contract Governance2Step is Governance { /// @notice Emitted when the pending governance address is set. event UpdatePendingGovernance(address indexed newPendingGovernance); /// @notice Address that is set to take over governance. address public pendingGovernance; constructor(address _governance) Governance(_governance) {} /** * @notice Sets a new address as the `pendingGovernance` of the contract. * @dev Throws if the caller is not current governance. * @param _newGovernance The new governance address. */ function transferGovernance( address _newGovernance ) external virtual override onlyGovernance { require(_newGovernance != address(0), "ZERO ADDRESS"); pendingGovernance = _newGovernance; emit UpdatePendingGovernance(_newGovernance); } /** * @notice Allows the `pendingGovernance` to accept the role. */ function acceptGovernance() external virtual { require(msg.sender == pendingGovernance, "!pending governance"); emit GovernanceTransferred(governance, msg.sender); governance = msg.sender; pendingGovernance = address(0); } } // src/registry/ReleaseRegistry.sol interface IFactory { function apiVersion() external view returns (string memory); } interface ITokenizedStrategy { function apiVersion() external view returns (string memory); } /** * @title YearnV3 Release Registry * @author yearn.finance * @notice * Used by Yearn Governance to track on chain all * releases of the V3 vaults by API Version. */ contract ReleaseRegistry is Governance2Step { event NewRelease( uint256 indexed releaseId, address indexed factory, address indexed tokenizedStrategy, string apiVersion ); string public constant name = "Yearn V3 Release Registry"; // The total number of releases that have been deployed uint256 public numReleases; // Mapping of release id starting at 0 to the address // of the corresponding factory for that release. mapping(uint256 => address) public factories; // Mapping of release id starting at 0 to the address // of the corresponding Tokenized Strategy for that release. mapping(uint256 => address) public tokenizedStrategies; // Mapping of the API version for a specific release to the // place in the order it was released. mapping(string => uint256) public releaseTargets; constructor(address _governance) Governance2Step(_governance) {} /** * @notice Returns the latest factory. * @return The address of the factory for the latest release. */ function latestFactory() external view virtual returns (address) { uint256 _numReleases = numReleases; if (_numReleases == 0) return address(0); return factories[numReleases - 1]; } /** * @notice Returns the latest tokenized strategy. * @return The address of the tokenized strategy for the latest release. */ function latestTokenizedStrategy() external view virtual returns (address) { uint256 _numReleases = numReleases; if (_numReleases == 0) return address(0); return tokenizedStrategies[numReleases - 1]; } /** * @notice Returns the api version of the latest release. * @return The api version of the latest release. */ function latestRelease() external view virtual returns (string memory) { uint256 _numReleases = numReleases; if (_numReleases == 0) return ""; return IFactory(factories[numReleases - 1]).apiVersion(); } /** * @notice Issue a new release using a deployed factory. * @dev Stores the factory address in `factories` and the release * target in `releaseTargets` with its associated API version. * * Throws if caller isn't `governance`. * Throws if the api version is the same as the previous release. * Throws if the factory does not have the same api version as the tokenized strategy. * Emits a `NewRelease` event. * * @param _factory The factory that will be used create new vaults. */ function newRelease( address _factory, address _tokenizedStrategy ) external virtual onlyGovernance { // Check if the release is different from the current one uint256 releaseId = numReleases; string memory apiVersion = IFactory(_factory).apiVersion(); string memory tokenizedStrategyApiVersion = ITokenizedStrategy( _tokenizedStrategy ).apiVersion(); require( keccak256(bytes(apiVersion)) == keccak256(bytes(tokenizedStrategyApiVersion)), "ReleaseRegistry: api version mismatch" ); if (releaseId > 0) { // Make sure this isn't the same as the last one require( keccak256( bytes(IFactory(factories[releaseId - 1]).apiVersion()) ) != keccak256(bytes(apiVersion)), "ReleaseRegistry: same api version" ); } // Update latest release. factories[releaseId] = _factory; tokenizedStrategies[releaseId] = _tokenizedStrategy; // Set the api to the target. releaseTargets[apiVersion] = releaseId; // Increase our number of releases. numReleases = releaseId + 1; // Log the release for external listeners emit NewRelease(releaseId, _factory, _tokenizedStrategy, apiVersion); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_governance","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousGovernance","type":"address"},{"indexed":true,"internalType":"address","name":"newGovernance","type":"address"}],"name":"GovernanceTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"releaseId","type":"uint256"},{"indexed":true,"internalType":"address","name":"factory","type":"address"},{"indexed":true,"internalType":"address","name":"tokenizedStrategy","type":"address"},{"indexed":false,"internalType":"string","name":"apiVersion","type":"string"}],"name":"NewRelease","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newPendingGovernance","type":"address"}],"name":"UpdatePendingGovernance","type":"event"},{"inputs":[],"name":"acceptGovernance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"factories","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"governance","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"latestFactory","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"latestRelease","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"latestTokenizedStrategy","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_factory","type":"address"},{"internalType":"address","name":"_tokenizedStrategy","type":"address"}],"name":"newRelease","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"numReleases","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingGovernance","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"","type":"string"}],"name":"releaseTargets","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"tokenizedStrategies","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_newGovernance","type":"address"}],"name":"transferGovernance","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b50604051610bb2380380610bb283398101604081905261002f91610081565b600080546001600160a01b0319166001600160a01b038316908117825560405183928392917f5f56bee8cffbe9a78652a74a60705edede02af10b0bbb888ca44b79a0d42ce80908290a35050506100b1565b60006020828403121561009357600080fd5b81516001600160a01b03811681146100aa57600080fd5b9392505050565b610af2806100c06000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80635aa6e6751161008c578063d38bfff411610066578063d38bfff4146101fb578063e704cba71461020e578063f0d3a17c14610216578063f39c38a01461022957600080fd5b80635aa6e675146101b7578063672383c4146101ca5780637be0ca5e146101f357600080fd5b806303c0b755146100d457806306fdde03146101125780630fd2afe81461015b578063238efcbc1461019c5780634e55dc0a146101a657806356e0a94b146101ae575b600080fd5b6100ff6100e2366004610886565b805160208183018101805160058252928201919093012091525481565b6040519081526020015b60405180910390f35b61014e6040518060400160405280601981526020017f596561726e2056332052656c656173652052656769737472790000000000000081525081565b604051610109919061092a565b61018461016936600461095d565b6004602052600090815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001610109565b6101a461023c565b005b6101846102e9565b6100ff60025481565b600054610184906001600160a01b031681565b6101846101d836600461095d565b6003602052600090815260409020546001600160a01b031681565b61014e610331565b6101a4610209366004610992565b6103f4565b61018461048b565b6101a46102243660046109b4565b6104b3565b600154610184906001600160a01b031681565b6001546001600160a01b031633146102915760405162461bcd60e51b81526020600482015260136024820152722170656e64696e6720676f7665726e616e636560681b60448201526064015b60405180910390fd5b6000805460405133926001600160a01b03909216917f5f56bee8cffbe9a78652a74a60705edede02af10b0bbb888ca44b79a0d42ce8091a3600080546001600160a01b03199081163317909155600180549091169055565b6002546000908082036102fe57600091505090565b60036000600160025461031191906109fd565b81526020810191909152604001600020546001600160a01b031692915050565b600254606090600081900361035457505060408051602081019091526000815290565b60036000600160025461036791906109fd565b815260200190815260200160002060009054906101000a90046001600160a01b03166001600160a01b031663258294106040518163ffffffff1660e01b8152600401600060405180830381865afa1580156103c6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103ee9190810190610a16565b91505090565b6103fc6107cd565b6001600160a01b0381166104415760405162461bcd60e51b815260206004820152600c60248201526b5a45524f204144445245535360a01b6044820152606401610288565b600180546001600160a01b0319166001600160a01b0383169081179091556040517fa443b483867b0f9db5b03913474dd21935ac5ba70fa6c94e3423ba9be157c44b90600090a250565b6002546000908082036104a057600091505090565b60046000600160025461031191906109fd565b6104bb6107cd565b600060025490506000836001600160a01b031663258294106040518163ffffffff1660e01b8152600401600060405180830381865afa158015610502573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261052a9190810190610a16565b90506000836001600160a01b031663258294106040518163ffffffff1660e01b8152600401600060405180830381865afa15801561056c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105949190810190610a16565b905080805190602001208280519060200120146106015760405162461bcd60e51b815260206004820152602560248201527f52656c6561736552656769737472793a206170692076657273696f6e206d69736044820152640dac2e8c6d60db1b6064820152608401610288565b821561070257815160208301206003600061061d6001876109fd565b815260200190815260200160002060009054906101000a90046001600160a01b03166001600160a01b031663258294106040518163ffffffff1660e01b8152600401600060405180830381865afa15801561067c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106a49190810190610a16565b80519060200120036107025760405162461bcd60e51b815260206004820152602160248201527f52656c6561736552656769737472793a2073616d65206170692076657273696f6044820152603760f91b6064820152608401610288565b600083815260036020908152604080832080546001600160a01b03808b166001600160a01b031992831617909255600490935292819020805493881693909216929092179055518390600590610759908590610a8d565b90815260405190819003602001902055610774836001610aa9565b600281905550836001600160a01b0316856001600160a01b0316847f1e64daea1fff30af27f156c266895d276293b147737b2219edb8845994d18b4f856040516107be919061092a565b60405180910390a45050505050565b6000546001600160a01b031633146108155760405162461bcd60e51b815260206004820152600b60248201526a21676f7665726e616e636560a81b6044820152606401610288565b565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561085657610856610817565b604052919050565b600067ffffffffffffffff82111561087857610878610817565b50601f01601f191660200190565b60006020828403121561089857600080fd5b813567ffffffffffffffff8111156108af57600080fd5b8201601f810184136108c057600080fd5b80356108d36108ce8261085e565b61082d565b8181528560208385010111156108e857600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b83811015610921578181015183820152602001610909565b50506000910152565b6020815260008251806020840152610949816040850160208701610906565b601f01601f19169190910160400192915050565b60006020828403121561096f57600080fd5b5035919050565b80356001600160a01b038116811461098d57600080fd5b919050565b6000602082840312156109a457600080fd5b6109ad82610976565b9392505050565b600080604083850312156109c757600080fd5b6109d083610976565b91506109de60208401610976565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610a1057610a106109e7565b92915050565b600060208284031215610a2857600080fd5b815167ffffffffffffffff811115610a3f57600080fd5b8201601f81018413610a5057600080fd5b8051610a5e6108ce8261085e565b818152856020838501011115610a7357600080fd5b610a84826020830160208601610906565b95945050505050565b60008251610a9f818460208701610906565b9190910192915050565b80820180821115610a1057610a106109e756fea2646970667358221220f88027a70ec897a26f3070932c8f155ab072da3e0762492098d92b65205f1eff64736f6c634300081200330000000000000000000000006f3cbe2ab3483ec4ba7b672fbdca0e9b33f88db8
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c80635aa6e6751161008c578063d38bfff411610066578063d38bfff4146101fb578063e704cba71461020e578063f0d3a17c14610216578063f39c38a01461022957600080fd5b80635aa6e675146101b7578063672383c4146101ca5780637be0ca5e146101f357600080fd5b806303c0b755146100d457806306fdde03146101125780630fd2afe81461015b578063238efcbc1461019c5780634e55dc0a146101a657806356e0a94b146101ae575b600080fd5b6100ff6100e2366004610886565b805160208183018101805160058252928201919093012091525481565b6040519081526020015b60405180910390f35b61014e6040518060400160405280601981526020017f596561726e2056332052656c656173652052656769737472790000000000000081525081565b604051610109919061092a565b61018461016936600461095d565b6004602052600090815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001610109565b6101a461023c565b005b6101846102e9565b6100ff60025481565b600054610184906001600160a01b031681565b6101846101d836600461095d565b6003602052600090815260409020546001600160a01b031681565b61014e610331565b6101a4610209366004610992565b6103f4565b61018461048b565b6101a46102243660046109b4565b6104b3565b600154610184906001600160a01b031681565b6001546001600160a01b031633146102915760405162461bcd60e51b81526020600482015260136024820152722170656e64696e6720676f7665726e616e636560681b60448201526064015b60405180910390fd5b6000805460405133926001600160a01b03909216917f5f56bee8cffbe9a78652a74a60705edede02af10b0bbb888ca44b79a0d42ce8091a3600080546001600160a01b03199081163317909155600180549091169055565b6002546000908082036102fe57600091505090565b60036000600160025461031191906109fd565b81526020810191909152604001600020546001600160a01b031692915050565b600254606090600081900361035457505060408051602081019091526000815290565b60036000600160025461036791906109fd565b815260200190815260200160002060009054906101000a90046001600160a01b03166001600160a01b031663258294106040518163ffffffff1660e01b8152600401600060405180830381865afa1580156103c6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103ee9190810190610a16565b91505090565b6103fc6107cd565b6001600160a01b0381166104415760405162461bcd60e51b815260206004820152600c60248201526b5a45524f204144445245535360a01b6044820152606401610288565b600180546001600160a01b0319166001600160a01b0383169081179091556040517fa443b483867b0f9db5b03913474dd21935ac5ba70fa6c94e3423ba9be157c44b90600090a250565b6002546000908082036104a057600091505090565b60046000600160025461031191906109fd565b6104bb6107cd565b600060025490506000836001600160a01b031663258294106040518163ffffffff1660e01b8152600401600060405180830381865afa158015610502573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261052a9190810190610a16565b90506000836001600160a01b031663258294106040518163ffffffff1660e01b8152600401600060405180830381865afa15801561056c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105949190810190610a16565b905080805190602001208280519060200120146106015760405162461bcd60e51b815260206004820152602560248201527f52656c6561736552656769737472793a206170692076657273696f6e206d69736044820152640dac2e8c6d60db1b6064820152608401610288565b821561070257815160208301206003600061061d6001876109fd565b815260200190815260200160002060009054906101000a90046001600160a01b03166001600160a01b031663258294106040518163ffffffff1660e01b8152600401600060405180830381865afa15801561067c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106a49190810190610a16565b80519060200120036107025760405162461bcd60e51b815260206004820152602160248201527f52656c6561736552656769737472793a2073616d65206170692076657273696f6044820152603760f91b6064820152608401610288565b600083815260036020908152604080832080546001600160a01b03808b166001600160a01b031992831617909255600490935292819020805493881693909216929092179055518390600590610759908590610a8d565b90815260405190819003602001902055610774836001610aa9565b600281905550836001600160a01b0316856001600160a01b0316847f1e64daea1fff30af27f156c266895d276293b147737b2219edb8845994d18b4f856040516107be919061092a565b60405180910390a45050505050565b6000546001600160a01b031633146108155760405162461bcd60e51b815260206004820152600b60248201526a21676f7665726e616e636560a81b6044820152606401610288565b565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561085657610856610817565b604052919050565b600067ffffffffffffffff82111561087857610878610817565b50601f01601f191660200190565b60006020828403121561089857600080fd5b813567ffffffffffffffff8111156108af57600080fd5b8201601f810184136108c057600080fd5b80356108d36108ce8261085e565b61082d565b8181528560208385010111156108e857600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b83811015610921578181015183820152602001610909565b50506000910152565b6020815260008251806020840152610949816040850160208701610906565b601f01601f19169190910160400192915050565b60006020828403121561096f57600080fd5b5035919050565b80356001600160a01b038116811461098d57600080fd5b919050565b6000602082840312156109a457600080fd5b6109ad82610976565b9392505050565b600080604083850312156109c757600080fd5b6109d083610976565b91506109de60208401610976565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610a1057610a106109e7565b92915050565b600060208284031215610a2857600080fd5b815167ffffffffffffffff811115610a3f57600080fd5b8201601f81018413610a5057600080fd5b8051610a5e6108ce8261085e565b818152856020838501011115610a7357600080fd5b610a84826020830160208601610906565b95945050505050565b60008251610a9f818460208701610906565b9190910192915050565b80820180821115610a1057610a106109e756fea2646970667358221220f88027a70ec897a26f3070932c8f155ab072da3e0762492098d92b65205f1eff64736f6c63430008120033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000006f3cbe2ab3483ec4ba7b672fbdca0e9b33f88db8
-----Decoded View---------------
Arg [0] : _governance (address): 0x6f3cBE2ab3483EC4BA7B672fbdCa0E9B33F88db8
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000006f3cbe2ab3483ec4ba7b672fbdca0e9b33f88db8
Deployed Bytecode Sourcemap
3129:4098:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3980:48;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1442:25:1;;;1430:2;1415:18;3980:48:0;;;;;;;;3354:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;3808:54::-;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;3808:54:0;;;;;;-1:-1:-1;;;;;2483:32:1;;;2465:51;;2453:2;2438:18;3808:54:0;2319:203:1;2437:267:0;;;:::i;:::-;;4238:213;;;:::i;3481:26::-;;;;;;694:25;;;;;-1:-1:-1;;;;;694:25:0;;;3630:44;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;3630:44:0;;;4987:234;;;:::i;2061:283::-;;;;;;:::i;:::-;;:::i;4610:233::-;;;:::i;5789:1435::-;;;;;;:::i;:::-;;:::i;1737:32::-;;;;;-1:-1:-1;;;;;1737:32:0;;;2437:267;2515:17;;-1:-1:-1;;;;;2515:17:0;2501:10;:31;2493:63;;;;-1:-1:-1;;;2493:63:0;;3363:2:1;2493:63:0;;;3345:21:1;3402:2;3382:18;;;3375:30;-1:-1:-1;;;3421:18:1;;;3414:49;3480:18;;2493:63:0;;;;;;;;;2596:10;;;2574:45;;2608:10;;-1:-1:-1;;;;;2596:10:0;;;;2574:45;;;2632:10;:23;;-1:-1:-1;;;;;;2632:23:0;;;2645:10;2632:23;;;;;2666:30;;;;;;;2437:267::o;4238:213::-;4337:11;;4294:7;;4363:17;;;4359:40;;4397:1;4382:17;;;4238:213;:::o;4359:40::-;4417:9;:26;4441:1;4427:11;;:15;;;;:::i;:::-;4417:26;;;;;;;;;;;-1:-1:-1;4417:26:0;;-1:-1:-1;;;;;4417:26:0;;4238:213;-1:-1:-1;;4238:213:0:o;4987:234::-;5092:11;;5043:13;;5069:20;5118:17;;;5114:32;;-1:-1:-1;;5137:9:0;;;;;;;;;-1:-1:-1;5137:9:0;;;4987:234::o;5114:32::-;5173:9;:26;5197:1;5183:11;;:15;;;;:::i;:::-;5173:26;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5173:26:0;-1:-1:-1;;;;;5164:47:0;;:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5164:49:0;;;;;;;;;;;;:::i;:::-;5157:56;;;4987:234;:::o;2061:283::-;390:18;:16;:18::i;:::-;-1:-1:-1;;;;;2189:28:0;::::1;2181:53;;;::::0;-1:-1:-1;;;2181:53:0;;4630:2:1;2181:53:0::1;::::0;::::1;4612:21:1::0;4669:2;4649:18;;;4642:30;-1:-1:-1;;;4688:18:1;;;4681:42;4740:18;;2181:53:0::1;4428:336:1::0;2181:53:0::1;2245:17;:34:::0;;-1:-1:-1;;;;;;2245:34:0::1;-1:-1:-1::0;;;;;2245:34:0;::::1;::::0;;::::1;::::0;;;2297:39:::1;::::0;::::1;::::0;-1:-1:-1;;2297:39:0::1;2061:283:::0;:::o;4610:233::-;4719:11;;4676:7;;4745:17;;;4741:40;;4779:1;4764:17;;;4610:233;:::o;4741:40::-;4799:19;:36;4833:1;4819:11;;:15;;;;:::i;5789:1435::-;390:18;:16;:18::i;:::-;5990:17:::1;6010:11;;5990:31;;6034:24;6070:8;-1:-1:-1::0;;;;;6061:29:0::1;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;6061:31:0::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;6034:58;;6103:41;6180:18;-1:-1:-1::0;;;;;6147:73:0::1;;:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;6147:75:0::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;6103:119;;6322:27;6306:45;;;;;;6273:10;6257:28;;;;;;:94;6235:181;;;::::0;-1:-1:-1;;;6235:181:0;;4971:2:1;6235:181:0::1;::::0;::::1;4953:21:1::0;5010:2;4990:18;;;4983:30;5049:34;5029:18;;;5022:62;-1:-1:-1;;;5100:18:1;;;5093:35;5145:19;;6235:181:0::1;4769:401:1::0;6235:181:0::1;6433:13:::0;;6429:340:::1;;6660:28:::0;;::::1;::::0;::::1;::::0;6598:9:::1;:24;6608:13;6620:1;6608:9:::0;:13:::1;:::i;:::-;6598:24;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;6598:24:0::1;-1:-1:-1::0;;;;;6589:45:0::1;;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;6589:47:0::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;6551:105;;;;;;:137:::0;6525:232:::1;;;::::0;-1:-1:-1;;;6525:232:0;;5377:2:1;6525:232:0::1;::::0;::::1;5359:21:1::0;5416:2;5396:18;;;5389:30;5455:34;5435:18;;;5428:62;-1:-1:-1;;;5506:18:1;;;5499:31;5547:19;;6525:232:0::1;5175:397:1::0;6525:232:0::1;6816:20;::::0;;;:9:::1;:20;::::0;;;;;;;:31;;-1:-1:-1;;;;;6816:31:0;;::::1;-1:-1:-1::0;;;;;;6816:31:0;;::::1;;::::0;;;6858:19:::1;:30:::0;;;;;;;:51;;;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;6961:26;6826:9;;6961:14:::1;::::0;:26:::1;::::0;6976:10;;6961:26:::1;:::i;:::-;::::0;;;::::1;::::0;;;;;::::1;::::0;;;:38;7071:13:::1;:9:::0;7083:1:::1;7071:13;:::i;:::-;7057:11;:27;;;;7185:18;-1:-1:-1::0;;;;;7153:63:0::1;7175:8;-1:-1:-1::0;;;;;7153:63:0::1;7164:9;7153:63;7205:10;7153:63;;;;;;:::i;:::-;;;;;;;;5912:1312;;;5789:1435:::0;;:::o;497:117::-;566:10;;-1:-1:-1;;;;;566:10:0;580;566:24;558:48;;;;-1:-1:-1;;;558:48:0;;6203:2:1;558:48:0;;;6185:21:1;6242:2;6222:18;;;6215:30;-1:-1:-1;;;6261:18:1;;;6254:41;6312:18;;558:48:0;6001:335:1;558:48:0;497:117::o;14:127:1:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:275;217:2;211:9;282:2;263:13;;-1:-1:-1;;259:27:1;247:40;;317:18;302:34;;338:22;;;299:62;296:88;;;364:18;;:::i;:::-;400:2;393:22;146:275;;-1:-1:-1;146:275:1:o;426:187::-;475:4;508:18;500:6;497:30;494:56;;;530:18;;:::i;:::-;-1:-1:-1;596:2:1;575:15;-1:-1:-1;;571:29:1;602:4;567:40;;426:187::o;618:673::-;687:6;740:2;728:9;719:7;715:23;711:32;708:52;;;756:1;753;746:12;708:52;796:9;783:23;829:18;821:6;818:30;815:50;;;861:1;858;851:12;815:50;884:22;;937:4;929:13;;925:27;-1:-1:-1;915:55:1;;966:1;963;956:12;915:55;1002:2;989:16;1027:49;1043:32;1072:2;1043:32;:::i;:::-;1027:49;:::i;:::-;1099:2;1092:5;1085:17;1139:7;1134:2;1129;1125;1121:11;1117:20;1114:33;1111:53;;;1160:1;1157;1150:12;1111:53;1215:2;1210;1206;1202:11;1197:2;1190:5;1186:14;1173:45;1259:1;1238:14;;;1254:2;1234:23;1227:34;;;;1242:5;618:673;-1:-1:-1;;;;618:673:1:o;1478:250::-;1563:1;1573:113;1587:6;1584:1;1581:13;1573:113;;;1663:11;;;1657:18;1644:11;;;1637:39;1609:2;1602:10;1573:113;;;-1:-1:-1;;1720:1:1;1702:16;;1695:27;1478:250::o;1733:396::-;1882:2;1871:9;1864:21;1845:4;1914:6;1908:13;1957:6;1952:2;1941:9;1937:18;1930:34;1973:79;2045:6;2040:2;2029:9;2025:18;2020:2;2012:6;2008:15;1973:79;:::i;:::-;2113:2;2092:15;-1:-1:-1;;2088:29:1;2073:45;;;;2120:2;2069:54;;1733:396;-1:-1:-1;;1733:396:1:o;2134:180::-;2193:6;2246:2;2234:9;2225:7;2221:23;2217:32;2214:52;;;2262:1;2259;2252:12;2214:52;-1:-1:-1;2285:23:1;;2134:180;-1:-1:-1;2134:180:1:o;2527:173::-;2595:20;;-1:-1:-1;;;;;2644:31:1;;2634:42;;2624:70;;2690:1;2687;2680:12;2624:70;2527:173;;;:::o;2705:186::-;2764:6;2817:2;2805:9;2796:7;2792:23;2788:32;2785:52;;;2833:1;2830;2823:12;2785:52;2856:29;2875:9;2856:29;:::i;:::-;2846:39;2705:186;-1:-1:-1;;;2705:186:1:o;2896:260::-;2964:6;2972;3025:2;3013:9;3004:7;3000:23;2996:32;2993:52;;;3041:1;3038;3031:12;2993:52;3064:29;3083:9;3064:29;:::i;:::-;3054:39;;3112:38;3146:2;3135:9;3131:18;3112:38;:::i;:::-;3102:48;;2896:260;;;;;:::o;3509:127::-;3570:10;3565:3;3561:20;3558:1;3551:31;3601:4;3598:1;3591:15;3625:4;3622:1;3615:15;3641:128;3708:9;;;3729:11;;;3726:37;;;3743:18;;:::i;:::-;3641:128;;;;:::o;3774:649::-;3854:6;3907:2;3895:9;3886:7;3882:23;3878:32;3875:52;;;3923:1;3920;3913:12;3875:52;3956:9;3950:16;3989:18;3981:6;3978:30;3975:50;;;4021:1;4018;4011:12;3975:50;4044:22;;4097:4;4089:13;;4085:27;-1:-1:-1;4075:55:1;;4126:1;4123;4116:12;4075:55;4155:2;4149:9;4180:49;4196:32;4225:2;4196:32;:::i;4180:49::-;4252:2;4245:5;4238:17;4292:7;4287:2;4282;4278;4274:11;4270:20;4267:33;4264:53;;;4313:1;4310;4303:12;4264:53;4326:67;4390:2;4385;4378:5;4374:14;4369:2;4365;4361:11;4326:67;:::i;:::-;4412:5;3774:649;-1:-1:-1;;;;;3774:649:1:o;5577:289::-;5708:3;5746:6;5740:13;5762:66;5821:6;5816:3;5809:4;5801:6;5797:17;5762:66;:::i;:::-;5844:16;;;;;5577:289;-1:-1:-1;;5577:289:1:o;5871:125::-;5936:9;;;5957:10;;;5954:36;;;5970:18;;:::i
Swarm Source
ipfs://f88027a70ec897a26f3070932c8f155ab072da3e0762492098d92b65205f1eff
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.