MainnetStrategyActors

Description:

Decentralized Finance (DeFi) protocol contract providing Yield, Factory functionality.

Blockchain: Ethereum

Source Code: View Code On The Blockchain

Solidity Source Code:

{{
  "language": "Solidity",
  "sources": {
    "script/Actors.sol": {
      "content": "// SPDX-License-Identifier: BSD-3-Clause
pragma solidity ^0.8.28;

import {IActors} from "@yieldnest-vault-script/Actors.sol";

contract MainnetStrategyActors is IActors {
    address public constant YnSecurityCouncil = 0xfcad670592a3b24869C0b51a6c6FDED4F95D6975;
    address public constant YnProcessor = 0x56866A6D5655C9E534320DA95fbBB82Fb3bF3D7D; // ynethx processor
    address public constant YnDev = 0xa08F39d30dc865CC11a49b6e5cBd27630D6141C3;
    address public constant YnBootstrapper = 0x832e0D8e7A7Bdfe181f30df614383FAA4B5C2924;
    address public constant YnEOABoostrapper = 0xB35eea5E7a22C541F76eB50dD9d3f77576aF15BF;

    address public constant TIMELOCK = address(0);

    address public constant ADMIN = YnSecurityCouncil;
    address public constant PROCESSOR = YnProcessor;
    address public constant EXECUTOR_1 = YnSecurityCouncil;
    address public constant PROPOSER_1 = YnSecurityCouncil;

    address public constant PROVIDER_MANAGER = YnSecurityCouncil;
    address public constant BUFFER_MANAGER = YnSecurityCouncil;
    address public constant ASSET_MANAGER = YnSecurityCouncil;
    address public constant PROCESSOR_MANAGER = YnSecurityCouncil;
    address public constant PAUSER = YnDev;
    address public constant UNPAUSER = YnSecurityCouncil;
    address public constant FEE_MANAGER = YnSecurityCouncil;

    address public constant ALLOCATOR_MANAGER = YnSecurityCouncil;

    address public constant UPDATER = YnDev;
    address public constant BOOTSTRAPPER = YnBootstrapper;
    address public constant UNAUTHORIZED = address(0);

    address public constant SAFE = 0x8eE2dd06404C96A62a47cc6D8A54B1a2f7A27013;

    address public constant EOA_BOOTSTRAPPER = YnEOABoostrapper;
}
"
    },
    "lib/yieldnest-flex-strategy/lib/yieldnest-vault/script/Actors.sol": {
      "content": "/* solhint-disable one-contract-per-file, const-name-snakecase */
// SPDX-License-Identifier: BSD-3-Clause
pragma solidity ^0.8.24;

interface IActors {
    function ADMIN() external view returns (address);
    function UNAUTHORIZED() external view returns (address);
    function PROPOSER_1() external view returns (address);
    function EXECUTOR_1() external view returns (address);

    /// @dev timelock
    function PROVIDER_MANAGER() external view returns (address);
    /// @dev timelock
    function BUFFER_MANAGER() external view returns (address);
    /// @dev timelock
    function ASSET_MANAGER() external view returns (address);
    /// @dev timelock
    function PROCESSOR_MANAGER() external view returns (address);
    /// @dev multisig
    function PAUSER() external view returns (address);
    /// @dev multisig
    function UNPAUSER() external view returns (address);
    /// @dev multisig
    function PROCESSOR() external view returns (address);
    /// @dev multisig
    function UPDATER() external view returns (address);
    /// @dev multisig
    function FEE_MANAGER() external view returns (address);

    /// @dev multisig
    function BOOTSTRAPPER() external view returns (address);

    function TIMELOCK() external view returns (address);
}

abstract contract LocalActors is IActors {
    address public constant ADMIN = address(1);
    address public constant PROCESSOR = address(2);
    address public constant EXECUTOR_1 = address(3);
    address public constant PROPOSER_1 = address(4);
    address public constant PROVIDER_MANAGER = address(5);
    address public constant BUFFER_MANAGER = address(6);
    address public constant ASSET_MANAGER = address(7);
    address public constant PROCESSOR_MANAGER = address(8);
    address public constant PAUSER = address(9);
    address public constant UNPAUSER = address(10);
    address public constant UPDATER = address(11);
    address public constant FEE_MANAGER = address(12);
    address public constant BOOTSTRAPPER = address(13);
    address public constant UNAUTHORIZED = address(0);
    address public constant TIMELOCK = address(14);
}

contract HoleskyActors is IActors {
    address public constant HoleskyAdmin = 0x743b91CDB1C694D4F51bCDA3a4A59DcC0d02b913;

    address public constant ADMIN = HoleskyAdmin;
    address public constant PROCESSOR = HoleskyAdmin;
    address public constant EXECUTOR_1 = HoleskyAdmin;
    address public constant PROPOSER_1 = HoleskyAdmin;
    address public constant PROVIDER_MANAGER = HoleskyAdmin;
    address public constant BUFFER_MANAGER = HoleskyAdmin;
    address public constant ASSET_MANAGER = HoleskyAdmin;
    address public constant PROCESSOR_MANAGER = HoleskyAdmin;
    address public constant PAUSER = HoleskyAdmin;
    address public constant UNPAUSER = HoleskyAdmin;
    address public constant ALLOCATOR_MANAGER = HoleskyAdmin;
    address public constant UPDATER = HoleskyAdmin;
    address public constant FEE_MANAGER = HoleskyAdmin;
    address public constant BOOTSTRAPPER = HoleskyAdmin;
    address public constant UNAUTHORIZED = address(0);
    address public constant TIMELOCK = HoleskyAdmin;
}

contract MainnetActors is IActors {
    address public constant YnSecurityCouncil = 0xfcad670592a3b24869C0b51a6c6FDED4F95D6975;
    address public constant YnProcessor = 0x56866A6D5655C9E534320DA95fbBB82Fb3bF3D7D;
    address public constant YnDev = 0xa08F39d30dc865CC11a49b6e5cBd27630D6141C3;
    address public constant YnBootstrapper = 0x832e0D8e7A7Bdfe181f30df614383FAA4B5C2924;

    address public constant TIMELOCK = 0xb5b52c63067E490982874B0d0F559668Bbe0c36B;

    address public constant ADMIN = YnSecurityCouncil;
    address public constant PROCESSOR = YnProcessor;
    address public constant EXECUTOR_1 = YnSecurityCouncil;
    address public constant PROPOSER_1 = YnSecurityCouncil;

    address public constant PROVIDER_MANAGER = YnSecurityCouncil;
    address public constant BUFFER_MANAGER = YnSecurityCouncil;
    address public constant ASSET_MANAGER = YnSecurityCouncil;
    address public constant PROCESSOR_MANAGER = YnSecurityCouncil;
    address public constant PAUSER = YnDev;
    address public constant UNPAUSER = YnSecurityCouncil;
    address public constant FEE_MANAGER = YnSecurityCouncil;

    address public constant ALLOCATOR_MANAGER = YnSecurityCouncil;

    address public constant UPDATER = YnDev;
    // FIXME; set different bootstrapper for mainnet
    address public constant BOOTSTRAPPER = YnBootstrapper;
    address public constant UNAUTHORIZED = address(0);
}
"
    }
  },
  "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:
DeFi, Yield, Factory|addr:0x8d7f79ba5b15ef923a6c617a4b0f38665954f02b|verified:true|block:23387129|tx:0xb38ad81006514e55fea42ca5e08e5107b2c9b5c6047c7b0097a1107372111281|first_check:1758189600

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

Comments

Log in to comment.

No comments yet.