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
}
}}
Submitted on: 2025-09-18 12:00:02
Comments
Log in to comment.
No comments yet.