L1Contracts

Description:

Proxy contract enabling upgradeable smart contract patterns. Delegates calls to an implementation contract.

Blockchain: Ethereum

Source Code: View Code On The Blockchain

Solidity Source Code:

{{
  "language": "Solidity",
  "sources": {
    "lib/yieldnest-flex-strategy/lib/yieldnest-vault/script/Contracts.sol": {
      "content": "/* solhint-disable one-contract-per-file */
// SPDX-License-Identifier: BSD-3-Clause
pragma solidity ^0.8.24;

interface IContracts {
    function WETH() external pure returns (address);
    function STETH() external pure returns (address);
    function WSTETH() external pure returns (address);
    function YNETH() external pure returns (address);
    function YNETHX() external pure returns (address);
    function YNLSDE() external pure returns (address);
    function OETH() external pure returns (address);
    function WOETH() external pure returns (address);
    function METH() external pure returns (address);
    function SFRXETH() external pure returns (address);
}

library MainnetContracts {
    address public constant ETH = 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE;
    address public constant WETH = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2;
    address public constant STETH = 0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84;
    address public constant WSTETH = 0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0;

    address public constant METH = 0xd5F7838F5C461fefF7FE49ea5ebaF7728bB0ADfa;
    address public constant OETH = 0x856c4Efb76C1D1AE02e20CEB03A2A6a08b0b8dC3;
    address public constant WOETH = 0xDcEe70654261AF21C44c093C300eD3Bb97b78192;
    address public constant RETH = 0xae78736Cd615f374D3085123A210448E74Fc6393;

    address public constant YNETHX = 0x657d9ABA1DBb59e53f9F3eCAA878447dCfC96dCb;
    address public constant YNETH = 0x09db87A538BD693E9d08544577d5cCfAA6373A48;
    address public constant YNLSDE = 0x35Ec69A77B79c255e5d47D5A3BdbEFEfE342630c;

    address public constant SWELL = 0xf951E335afb289353dc249e82926178EaC7DEd78;

    address public constant CL_STETH_FEED = 0x86392dC19c0b719886221c78AB11eb8Cf5c52812;
    address public constant TIMELOCK = 0xb5b52c63067E490982874B0d0F559668Bbe0c36B;
    address public constant FACTORY = 0x1756987c66eC529be59D3Ec1edFB005a2F9728E1;
    address public constant PROXY_ADMIN = 0xA02A8DC24171aC161cCb74Ef02C28e3cA2204783;

    address public constant PROVIDER = address(123456789); // TODO: Update with deployed Provider
    address public constant BUFFER = address(987654321); // TODO: Update with deployed buffer

    address public constant YNETHX_VIEWER = 0x514d0aC9BFAf631AC7b303564bA1C822bC52F365;

    // EVK Vault eWETH-22 is used as the buffer for ynETHx
    address public constant EULER_WETH_22_VAULT = address(0x45c3B59d53e2e148Aaa6a857521059676D5c0489);

    address public constant WSTETH_WITHDRAWAL_QUEUE = 0x889edC2eDab5f40e902b864aD4d7AdE8E412F9B1;

    address public constant YNLSDE_WITHDRAWAL_QUEUE_MANAGER = 0x8Face3283E20b19d98a7a132274B69C1304D60b4;
    address public constant YNLSDE_REDEMPTION_ASSETS_VAULT = 0x73bC33999C34a5126CA19dC900F22690C288D55e;

    address public constant YNETH_WITHDRAWAL_QUEUE_MANAGER = 0x0BC9BC81aD379810B36AD5cC95387112990AA67b;
    address public constant YNETH_REDEMPTION_ASSETS_VAULT = 0x5D6e53c42E3B37f82F693937BC508940769c5caf;

    address public constant OETH_VAULT = 0x39254033945AA2E4809Cc2977E7087BEE48bd7Ab;

    address public constant CURVE_REGISTRY = 0x7D86446dDb609eD0F5f8684AcF30380a356b2B4c;

    address public constant CURVE_TWOCRYPTO_FACTORY = 0x98EE851a00abeE0d95D08cF4CA2BdCE32aeaAF7F;

    address public constant METH_STAKING_MANAGER = 0xe3cBd06D7dadB3F4e6557bAb7EdD924CD1489E8f;

    address public constant SFRXETH = 0xac3E018457B222d93114458476f3E3416Abbe38F;
    address public constant FRX_ETH_WETH_DUAL_ORACLE = 0x350a9841956D8B0212EAdF5E14a449CA85FAE1C0;

    address public constant WBTC = 0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599;
    address public constant USDC = 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48;
    address public constant USDE = 0x4c9EDD5852cd905f086C759E8383e09bff1E68B3;
    address public constant SUSDE = 0x9D39A5DE30e57443BfF2A8307A4256c8797A3497;

    address public constant CURVE_LP_YNETH_YNLSDE_POOL = 0x1f59cC10c6360DA918B0235c98E58008452816EB;
    address public constant CURVE_LP_YNETH_YNLSDE_CONNECTOR = 0xe66E34F9E3116ce497Cbd15268f175eC711539d5;
    address public constant CURVE_LP_YNETH_YNLSDE_STRATEGY = 0x823976dA34aC45C23a8DfEa51B3Ff1Ae0D980213;

    // Smokehouse WSTETH
    address public constant SMOKEHOUSE_WSTETH = 0x833AdaeF212c5cD3f78906B44bBfb18258F238F0;
}

contract L1Contracts is IContracts {
    function WETH() external pure override returns (address) {
        return MainnetContracts.WETH;
    }

    function STETH() external pure override returns (address) {
        return MainnetContracts.STETH;
    }

    function WSTETH() external pure override returns (address) {
        return MainnetContracts.WSTETH;
    }

    function YNETH() external pure override returns (address) {
        return MainnetContracts.YNETH;
    }

    function YNETHX() external pure override returns (address) {
        return MainnetContracts.YNETHX;
    }

    function YNLSDE() external pure override returns (address) {
        return MainnetContracts.YNLSDE;
    }

    function OETH() external pure override returns (address) {
        return MainnetContracts.OETH;
    }

    function WOETH() external pure override returns (address) {
        return MainnetContracts.WOETH;
    }

    function METH() external pure override returns (address) {
        return MainnetContracts.METH;
    }

    function SFRXETH() external pure override returns (address) {
        return MainnetContracts.SFRXETH;
    }
}
"
    }
  },
  "settings": {
    "remappings": [
      "forge-std/=lib/forge-std/src/",
      "@yieldnest-vault/=lib/yieldnest-flex-strategy/lib/yieldnest-vault/src/",
      "lib/openzeppelin-contracts/=lib/yieldnest-flex-strategy/lib/yieldnest-vault/lib/openzeppelin-contracts/",
      "lib/openzeppelin-contracts-upgradeable/=lib/yieldnest-flex-strategy/lib/yieldnest-vault/lib/openzeppelin-contracts-upgradeable/",
      "openzeppelin-contracts-upgradeable/=lib/yieldnest-flex-strategy/lib/yieldnest-vault/lib/openzeppelin-contracts-upgradeable/",
      "openzeppelin-contracts/=lib/yieldnest-flex-strategy/lib/yieldnest-vault/lib/openzeppelin-contracts/",
      "lib/yieldnest-vault/=lib/yieldnest-flex-strategy/lib/yieldnest-vault/",
      "lib/yieldnest-flex-strategy/lib/yieldnest-vault:src/=lib/yieldnest-flex-strategy/lib/yieldnest-vault/src/",
      "lib/yieldnest-flex-strategy/lib/yieldnest-vault:script/=lib/yieldnest-flex-strategy/lib/yieldnest-vault/script/",
      "script/=lib/yieldnest-flex-strategy/script/",
      "@script/=script/",
      "lib/yieldnest-flex-strategy:src/=lib/yieldnest-flex-strategy/src/",
      "@openzeppelin/contracts-upgradeable/=lib/yieldnest-flex-strategy/lib/yieldnest-vault/lib/openzeppelin-contracts-upgradeable/contracts/",
      "@openzeppelin/contracts/=lib/yieldnest-flex-strategy/lib/yieldnest-vault/lib/openzeppelin-contracts/contracts/",
      "@yieldnest-vault-script/=lib/yieldnest-flex-strategy/lib/yieldnest-vault/script/",
      "ds-test/=lib/yieldnest-flex-strategy/lib/yieldnest-vault/lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/",
      "erc4626-tests/=lib/yieldnest-flex-strategy/lib/yieldnest-vault/lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/",
      "halmos-cheatcodes/=lib/yieldnest-flex-strategy/lib/yieldnest-vault/lib/wrapped-token/lib/openzeppelin-contracts-upgradeable/lib/halmos-cheatcodes/src/",
      "lib/forge-std/src/=lib/yieldnest-flex-strategy/lib/forge-std/src/",
      "wrapped-token/=lib/yieldnest-flex-strategy/lib/yieldnest-vault/lib/wrapped-token/src/",
      "yieldnest-flex-strategy/=lib/yieldnest-flex-strategy/",
      "yieldnest-vault/=lib/yieldnest-flex-strategy/lib/yieldnest-vault/",
      "lib/yieldnest-vault:src/=lib/yieldnest-flex-strategy/lib/yieldnest-vault/src/"
    ],
    "optimizer": {
      "enabled": true,
      "runs": 100
    },
    "metadata": {
      "useLiteralContent": false,
      "bytecodeHash": "ipfs",
      "appendCBOR": true
    },
    "outputSelection": {
      "*": {
        "*": [
          "evm.bytecode",
          "evm.deployedBytecode",
          "devdoc",
          "userdoc",
          "metadata",
          "abi"
        ]
      }
    },
    "evmVersion": "cancun",
    "viaIR": false
  }
}}

Tags:
Proxy, Yield, Upgradeable, Factory|addr:0xb75e969d905adfddb736127ef0a47c79d39e307d|verified:true|block:23387129|tx:0x3a2d16a655cf3ecf3ef09b2e65c30adb0e712ce4c71a4853748d2f6be9573889|first_check:1758189631

Submitted on: 2025-09-18 12:00:33

Comments

Log in to comment.

No comments yet.