Overview
S Balance
S Value
$0.00More Info
Private Name Tags
ContractCreator
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
EulerEarnFactoryPerspective
Compiler Version
v0.8.24+commit.e11b9ed9
Optimization Enabled:
Yes with 20000 runs
Other Settings:
cancun EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
1234567891011121314151617181920212223242526// SPDX-License-Identifier: GPL-2.0-or-laterpragma solidity ^0.8.24;import {IEulerEarnFactory} from "euler-earn/interface/IEulerEarnFactory.sol";import {BasePerspective} from "../implementation/BasePerspective.sol";/// @title EulerEarnFactoryPerspective/// @custom:security-contact security@euler.xyz/// @author Euler Labs (https://www.eulerlabs.com/)/// @notice A contract that verifies whether a vault was deployed by the EulerEarnFactory Factory.contract EulerEarnFactoryPerspective is BasePerspective {/// @notice Creates a new EulerEarnFactoryPerspective instance./// @param vaultFactory_ The address of the EulerEarnFactory contract.constructor(address vaultFactory_) BasePerspective(vaultFactory_) {}/// @inheritdoc BasePerspectivefunction name() public pure virtual override returns (string memory) {return "Euler Earn Factory Perspective";}/// @inheritdoc BasePerspectivefunction perspectiveVerifyInternal(address vault) internal virtual override {testProperty(IEulerEarnFactory(address(vaultFactory)).isValidDeployment(vault), ERROR__FACTORY);}
1234567891011121314151617// SPDX-License-Identifier: GPL-2.0-or-laterpragma solidity ^0.8.0;interface IEulerEarnFactory {function deployEulerEarn(address _asset,string memory _name,string memory _symbol,uint256 _initialCashAllocationPoints,uint24 _smearingPeriod) external returns (address);function eulerEarnImpl() external view returns (address);function getEulerEarnVaultsListLength() external view returns (uint256);function getEulerEarnVaultsListSlice(uint256 _start, uint256 _end) external view returns (address[] memory);function isValidDeployment(address _earnVaultAddress) external view returns (bool);}
1234567891011121314151617181920212223242526// SPDX-License-Identifier: GPL-2.0-or-laterpragma solidity ^0.8.24;import {EnumerableSet} from "openzeppelin-contracts/utils/structs/EnumerableSet.sol";import {GenericFactory} from "evk/GenericFactory/GenericFactory.sol";import {IPerspective} from "./interfaces/IPerspective.sol";import {PerspectiveErrors} from "./PerspectiveErrors.sol";/// @title BasePerspective/// @custom:security-contact security@euler.xyz/// @author Euler Labs (https://www.eulerlabs.com/)/// @notice A base contract for implementing a perspective.abstract contract BasePerspective is IPerspective, PerspectiveErrors {using EnumerableSet for EnumerableSet.AddressSet;struct Transient {uint256 placeholder;}GenericFactory public immutable vaultFactory;EnumerableSet.AddressSet internal verified;Transient private transientVerified;Transient private transientErrors;
1234567891011121314151617181920212223242526// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v5.1.0) (utils/structs/EnumerableSet.sol)// This file was procedurally generated from scripts/generate/templates/EnumerableSet.js.pragma solidity ^0.8.20;/*** @dev Library for managing* https://en.wikipedia.org/wiki/Set_(abstract_data_type)[sets] of primitive* types.** Sets have the following properties:** - Elements are added, removed, and checked for existence in constant time* (O(1)).* - Elements are enumerated in O(n). No guarantees are made on the ordering.** ```solidity* contract Example {* // Add the library methods* using EnumerableSet for EnumerableSet.AddressSet;** // Declare a set state variable* EnumerableSet.AddressSet private mySet;* }* ```
1234567891011121314151617181920212223242526// SPDX-License-Identifier: GPL-2.0-or-laterpragma solidity ^0.8.0;import {BeaconProxy} from "./BeaconProxy.sol";import {MetaProxyDeployer} from "./MetaProxyDeployer.sol";/// @title IComponent/// @notice Minimal interface which must be implemented by the contract deployed by the factoryinterface IComponent {/// @notice Function replacing the constructor in proxied contracts/// @param creator The new contract's creator addressfunction initialize(address creator) external;}/// @title GenericFactory/// @custom:security-contact security@euler.xyz/// @author Euler Labs (https://www.eulerlabs.com/)/// @notice The factory allows permissionless creation of upgradeable or non-upgradeable proxy contracts and serves as a/// beacon for the upgradeable onescontract GenericFactory is MetaProxyDeployer {// Constantsuint256 internal constant REENTRANCYLOCK__UNLOCKED = 1;uint256 internal constant REENTRANCYLOCK__LOCKED = 2;
1234567891011121314151617181920212223242526// SPDX-License-Identifier: GPL-2.0-or-laterpragma solidity >=0.8.0;/// @title IPerspective/// @custom:security-contact security@euler.xyz/// @author Euler Labs (https://www.eulerlabs.com/)/// @notice A contract that verifies the properties of a vault.interface IPerspective {/// @notice Emitted when a vault is verified successfully./// @param vault The address of the vault that has been verified.event PerspectiveVerified(address indexed vault);/// @notice Error thrown when a perspective verification fails./// @param perspective The address of the perspective contract where the error occurred./// @param vault The address of the vault being verified./// @param codes The error codes indicating the reasons for verification failure.error PerspectiveError(address perspective, address vault, uint256 codes);/// @notice Error thrown when a panic occurs in the perspective contract.error PerspectivePanic();/// @notice Returns the name of the perspective./// @dev Name should be unique and descriptive./// @return The name of the perspective.function name() external view returns (string memory);
1234567891011121314151617181920212223242526// SPDX-License-Identifier: GPL-2.0-or-laterpragma solidity ^0.8.0;/// @title PerspectiveErrors/// @custom:security-contact security@euler.xyz/// @author Euler Labs (https://www.eulerlabs.com/)/// @notice A contract that defines the error codes for the perspectives.abstract contract PerspectiveErrors {uint256 internal constant ERROR__FACTORY = 1 << 0;uint256 internal constant ERROR__IMPLEMENTATION = 1 << 1;uint256 internal constant ERROR__UPGRADABILITY = 1 << 2;uint256 internal constant ERROR__SINGLETON = 1 << 3;uint256 internal constant ERROR__NESTING = 1 << 4;uint256 internal constant ERROR__ORACLE_INVALID_ROUTER = 1 << 5;uint256 internal constant ERROR__ORACLE_GOVERNED_ROUTER = 1 << 6;uint256 internal constant ERROR__ORACLE_INVALID_FALLBACK = 1 << 7;uint256 internal constant ERROR__ORACLE_INVALID_ROUTER_CONFIG = 1 << 8;uint256 internal constant ERROR__ORACLE_INVALID_ADAPTER = 1 << 9;uint256 internal constant ERROR__UNIT_OF_ACCOUNT = 1 << 10;uint256 internal constant ERROR__CREATOR = 1 << 11;uint256 internal constant ERROR__GOVERNOR = 1 << 12;uint256 internal constant ERROR__FEE_RECEIVER = 1 << 13;uint256 internal constant ERROR__INTEREST_FEE = 1 << 14;uint256 internal constant ERROR__INTEREST_RATE_MODEL = 1 << 15;uint256 internal constant ERROR__SUPPLY_CAP = 1 << 16;
1234567891011121314151617181920212223242526// SPDX-License-Identifier: GPL-2.0-or-laterpragma solidity ^0.8.0;/// @title BeaconProxy/// @custom:security-contact security@euler.xyz/// @author Euler Labs (https://www.eulerlabs.com/)/// @notice A proxy contract, forwarding all calls to an implementation contract, fetched from a beacon/// @dev The proxy attaches up to 128 bytes of metadata to the delegated call data.contract BeaconProxy {// ERC-1967 beacon address slot. bytes32(uint256(keccak256('eip1967.proxy.beacon')) - 1)bytes32 internal constant BEACON_SLOT = 0xa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50;// Beacon implementation() selectorbytes32 internal constant IMPLEMENTATION_SELECTOR =0x5c60da1b00000000000000000000000000000000000000000000000000000000;// Max trailing data length, 4 immutable slotsuint256 internal constant MAX_TRAILING_DATA_LENGTH = 128;address internal immutable beacon;uint256 internal immutable metadataLength;bytes32 internal immutable metadata0;bytes32 internal immutable metadata1;bytes32 internal immutable metadata2;bytes32 internal immutable metadata3;event Genesis();
1234567891011121314151617181920212223242526// SPDX-License-Identifier: GPL-2.0-or-laterpragma solidity ^0.8.0;/// @title MetaProxyDeployer/// @custom:security-contact security@euler.xyz/// @author Euler Labs (https://www.eulerlabs.com/)/// @notice Contract for deploying minimal proxies with metadata, based on EIP-3448./// @dev The metadata of the proxies does not include the data length as defined by EIP-3448, saving gas at a cost of/// supporting variable size data.contract MetaProxyDeployer {error E_DeploymentFailed();// Meta proxy bytecode from EIP-3488 https://eips.ethereum.org/EIPS/eip-3448bytes constant BYTECODE_HEAD = hex"600b380380600b3d393df3363d3d373d3d3d3d60368038038091363936013d73";bytes constant BYTECODE_TAIL = hex"5af43d3d93803e603457fd5bf3";/// @dev Creates a proxy for `targetContract` with metadata from `metadata`./// @return addr A non-zero address if successful.function deployMetaProxy(address targetContract, bytes memory metadata) internal returns (address addr) {bytes memory code = abi.encodePacked(BYTECODE_HEAD, targetContract, BYTECODE_TAIL, metadata);assembly ("memory-safe") {addr := create(0, add(code, 32), mload(code))}
1234567891011121314151617181920212223242526{"remappings": ["lib/euler-price-oracle:@openzeppelin/contracts/=lib/euler-price-oracle/lib/openzeppelin-contracts/contracts/","lib/native-token-transfers/evm:openzeppelin-contracts/contracts/=lib/native-token-transfers/evm/lib/openzeppelin-contracts/contracts/","lib/euler-earn:@openzeppelin/=lib/euler-earn/lib/openzeppelin-contracts/","lib/euler-earn:@openzeppelin-upgradeable/=lib/euler-earn/lib/openzeppelin-contracts-upgradeable/contracts/","lib/euler-earn:ethereum-vault-connector/=lib/euler-earn/lib/ethereum-vault-connector/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","ethereum-vault-connector/=lib/ethereum-vault-connector/src/","evc/=lib/ethereum-vault-connector/src/","evk/=lib/euler-vault-kit/src/","evk-test/=lib/euler-vault-kit/test/","euler-price-oracle/=lib/euler-price-oracle/src/","euler-price-oracle-test/=lib/euler-price-oracle/test/","fee-flow/=lib/fee-flow/src/","reward-streams/=lib/reward-streams/src/","@openzeppelin/=lib/openzeppelin-contracts/contracts/","euler-earn/=lib/euler-earn/src/","native-token-transfers/=lib/native-token-transfers/evm/src/","@openzeppelin-upgradeable/=lib/euler-earn/lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@pendle/core-v2/=lib/euler-price-oracle/lib/pendle-core-v2-public/contracts/","@pyth/=lib/euler-price-oracle/lib/pyth-sdk-solidity/","@redstone/evm-connector/=lib/euler-price-oracle/lib/redstone-oracles-monorepo/packages/evm-connector/contracts/",
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"vaultFactory_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"perspective","type":"address"},{"internalType":"address","name":"vault","type":"address"},{"internalType":"uint256","name":"codes","type":"uint256"}],"name":"PerspectiveError","type":"error"},{"inputs":[],"name":"PerspectivePanic","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"vault","type":"address"}],"name":"PerspectiveVerified","type":"event"},{"inputs":[{"internalType":"address","name":"vault","type":"address"}],"name":"isVerified","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"vault","type":"address"},{"internalType":"bool","name":"failEarly","type":"bool"}],"name":"perspectiveVerify","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"vaultFactory","outputs":[{"internalType":"contract GenericFactory","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"verifiedArray","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"verifiedLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
60a060405234801561000f575f80fd5b50604051610a4e380380610a4e83398101604081905261002e9161003f565b6001600160a01b031660805261006c565b5f6020828403121561004f575f80fd5b81516001600160a01b0381168114610065575f80fd5b9392505050565b6080516109ae6100a05f395f81816101230152818161016d0152818161037e01528181610463015261054e01526109ae5ff3fe608060405234801561000f575f80fd5b506004361061006f575f3560e01c80638d5e21d31161004d5780638d5e21d3146100e6578063b9209e33146100fb578063d8a06f731461011e575f80fd5b806306fdde0314610073578063138721d9146100bb5780632e5896e5146100d1575b5f80fd5b604080518082018252601e81527f45756c6572204561726e20466163746f72792050657273706563746976650000602082015290516100b291906106e8565b60405180910390f35b6100c361016a565b6040519081526020016100b2565b6100e46100df366004610780565b6101fd565b005b6100ee610327565b6040516100b291906107b7565b61010e610109366004610810565b61041c565b60405190151581526020016100b2565b6101457f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b2565b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e02cb6df6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101f8919061082b565b905090565b5f8281526002602052604090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff815c0161023457005b61023e5f846104d4565b1561024857505050565b6004805c9060055c9085905d8360055d6001835d61026585610505565b5f8260045d8160055d5060035c80156102d4576040517f818fa2cf00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff87166024820152604481018290526064015b60405180910390fd5b6102de5f876105c3565b5060405173ffffffffffffffffffffffffffffffffffffffff8716907f570e1c1f1f2e6e95bfd6d0cae607f36c3cd5ebb7bc35c2f87299924b1bcd3920905f90a2505050505050565b6040517f2082bd630000000000000000000000000000000000000000000000000000000081525f60048201527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60248201526060907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690632082bd63906044015f60405180830381865afa1580156103d7573d5f803e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526101f8919081019061087f565b6040517f6ee0787a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301525f917f000000000000000000000000000000000000000000000000000000000000000090911690636ee0787a90602401602060405180830381865afa1580156104aa573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104ce919061095d565b92915050565b73ffffffffffffffffffffffffffffffffffffffff81165f90815260018301602052604081205415155b9392505050565b6040517f6ee0787a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301526105c0917f000000000000000000000000000000000000000000000000000000000000000090911690636ee0787a90602401602060405180830381865afa158015610595573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105b9919061095d565b60016105e4565b50565b5f6104fe8373ffffffffffffffffffffffffffffffffffffffff841661069c565b81156105ee575050565b805f03610627576040517fcb365b8800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60055c801561068d576040517f818fa2cf000000000000000000000000000000000000000000000000000000008152306004808301919091525c73ffffffffffffffffffffffffffffffffffffffff8116602483015260448201849052906064016102cb565b60035c82811760035d50505050565b5f8181526001830160205260408120546106e157508154600181810184555f8481526020808220909301849055845484825282860190935260409020919091556104ce565b505f6104ce565b5f602080835283518060208501525f5b81811015610714578581018301518582016040015282016106f8565b505f6040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b73ffffffffffffffffffffffffffffffffffffffff811681146105c0575f80fd5b80151581146105c0575f80fd5b5f8060408385031215610791575f80fd5b823561079c81610752565b915060208301356107ac81610773565b809150509250929050565b602080825282518282018190525f9190848201906040850190845b8181101561080457835173ffffffffffffffffffffffffffffffffffffffff16835292840192918401916001016107d2565b50909695505050505050565b5f60208284031215610820575f80fd5b81356104fe81610752565b5f6020828403121561083b575f80fd5b5051919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b805161087a81610752565b919050565b5f6020808385031215610890575f80fd5b825167ffffffffffffffff808211156108a7575f80fd5b818501915085601f8301126108ba575f80fd5b8151818111156108cc576108cc610842565b8060051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f8301168101818110858211171561090f5761090f610842565b60405291825284820192508381018501918883111561092c575f80fd5b938501935b82851015610951576109428561086f565b84529385019392850192610931565b98975050505050505050565b5f6020828403121561096d575f80fd5b81516104fe8161077356fea2646970667358221220c15f4bd1bb59b09bcbafd244948a23bf4df6167ed5ae3cce9431c0b1701d567464736f6c63430008180033000000000000000000000000c8eb6dd027c4ab1754245f6fde91b39090c12add
Deployed Bytecode
0x608060405234801561000f575f80fd5b506004361061006f575f3560e01c80638d5e21d31161004d5780638d5e21d3146100e6578063b9209e33146100fb578063d8a06f731461011e575f80fd5b806306fdde0314610073578063138721d9146100bb5780632e5896e5146100d1575b5f80fd5b604080518082018252601e81527f45756c6572204561726e20466163746f72792050657273706563746976650000602082015290516100b291906106e8565b60405180910390f35b6100c361016a565b6040519081526020016100b2565b6100e46100df366004610780565b6101fd565b005b6100ee610327565b6040516100b291906107b7565b61010e610109366004610810565b61041c565b60405190151581526020016100b2565b6101457f000000000000000000000000c8eb6dd027c4ab1754245f6fde91b39090c12add81565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100b2565b5f7f000000000000000000000000c8eb6dd027c4ab1754245f6fde91b39090c12add73ffffffffffffffffffffffffffffffffffffffff1663e02cb6df6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101d4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101f8919061082b565b905090565b5f8281526002602052604090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff815c0161023457005b61023e5f846104d4565b1561024857505050565b6004805c9060055c9085905d8360055d6001835d61026585610505565b5f8260045d8160055d5060035c80156102d4576040517f818fa2cf00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff87166024820152604481018290526064015b60405180910390fd5b6102de5f876105c3565b5060405173ffffffffffffffffffffffffffffffffffffffff8716907f570e1c1f1f2e6e95bfd6d0cae607f36c3cd5ebb7bc35c2f87299924b1bcd3920905f90a2505050505050565b6040517f2082bd630000000000000000000000000000000000000000000000000000000081525f60048201527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60248201526060907f000000000000000000000000c8eb6dd027c4ab1754245f6fde91b39090c12add73ffffffffffffffffffffffffffffffffffffffff1690632082bd63906044015f60405180830381865afa1580156103d7573d5f803e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526101f8919081019061087f565b6040517f6ee0787a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301525f917f000000000000000000000000c8eb6dd027c4ab1754245f6fde91b39090c12add90911690636ee0787a90602401602060405180830381865afa1580156104aa573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104ce919061095d565b92915050565b73ffffffffffffffffffffffffffffffffffffffff81165f90815260018301602052604081205415155b9392505050565b6040517f6ee0787a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301526105c0917f000000000000000000000000c8eb6dd027c4ab1754245f6fde91b39090c12add90911690636ee0787a90602401602060405180830381865afa158015610595573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105b9919061095d565b60016105e4565b50565b5f6104fe8373ffffffffffffffffffffffffffffffffffffffff841661069c565b81156105ee575050565b805f03610627576040517fcb365b8800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60055c801561068d576040517f818fa2cf000000000000000000000000000000000000000000000000000000008152306004808301919091525c73ffffffffffffffffffffffffffffffffffffffff8116602483015260448201849052906064016102cb565b60035c82811760035d50505050565b5f8181526001830160205260408120546106e157508154600181810184555f8481526020808220909301849055845484825282860190935260409020919091556104ce565b505f6104ce565b5f602080835283518060208501525f5b81811015610714578581018301518582016040015282016106f8565b505f6040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b73ffffffffffffffffffffffffffffffffffffffff811681146105c0575f80fd5b80151581146105c0575f80fd5b5f8060408385031215610791575f80fd5b823561079c81610752565b915060208301356107ac81610773565b809150509250929050565b602080825282518282018190525f9190848201906040850190845b8181101561080457835173ffffffffffffffffffffffffffffffffffffffff16835292840192918401916001016107d2565b50909695505050505050565b5f60208284031215610820575f80fd5b81356104fe81610752565b5f6020828403121561083b575f80fd5b5051919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b805161087a81610752565b919050565b5f6020808385031215610890575f80fd5b825167ffffffffffffffff808211156108a7575f80fd5b818501915085601f8301126108ba575f80fd5b8151818111156108cc576108cc610842565b8060051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f8301168101818110858211171561090f5761090f610842565b60405291825284820192508381018501918883111561092c575f80fd5b938501935b82851015610951576109428561086f565b84529385019392850192610931565b98975050505050505050565b5f6020828403121561096d575f80fd5b81516104fe8161077356fea2646970667358221220c15f4bd1bb59b09bcbafd244948a23bf4df6167ed5ae3cce9431c0b1701d567464736f6c63430008180033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000c8eb6dd027c4ab1754245f6fde91b39090c12add
-----Decoded View---------------
Arg [0] : vaultFactory_ (address): 0xc8EB6dD027C4Ab1754245F6FdE91B39090C12aDd
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000c8eb6dd027c4ab1754245f6fde91b39090c12add
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 35 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
Loading...
Loading
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.