Skip to content

Commit d6a82cf

Browse files
feat: frontier strata
1 parent 36b0362 commit d6a82cf

File tree

3 files changed

+109
-0
lines changed

3 files changed

+109
-0
lines changed
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
{
2+
"externalVaults": [
3+
"0x797DD80692c3b2dAdabCe8e30C07fDE5307D48a9",
4+
"0x313603FA690301b0CaeEf8069c065862f9162162"
5+
],
6+
"irms": [
7+
"0x66d56E8Acad6a8fb6914753317cD3277D458E540",
8+
"0x66d56E8Acad6a8fb6914753317cD3277D458E540",
9+
"0x66d56E8Acad6a8fb6914753317cD3277D458E540",
10+
"0x2F9E82B49b542736216DA531EBAC2b6B32f43060",
11+
"0x0000000000000000000000000000000000000000"
12+
],
13+
"oracleRouters": [
14+
"0x848C9230DC53025eDB37032e4eb95e238c7E4b07",
15+
"0x848C9230DC53025eDB37032e4eb95e238c7E4b07",
16+
"0x848C9230DC53025eDB37032e4eb95e238c7E4b07",
17+
"0x848C9230DC53025eDB37032e4eb95e238c7E4b07",
18+
"0x848C9230DC53025eDB37032e4eb95e238c7E4b07"
19+
],
20+
"stubOracle": "0x0000000000000000000000000000000000000000",
21+
"vaults": [
22+
"0x53AfE3343f322c4189Ab69E0D048efd154259419",
23+
"0x09FcE883cC16894274802c01e3b9cD90EAE4e43d",
24+
"0x6331D36C27D967c4261D59a8f80d58d03089810A",
25+
"0xBd360BB80E6CBe86e533B672Df6BFc054602ADBD",
26+
"0xCfC6a55Aa72DCF3755A515aE8B82552028b63D2A"
27+
]
28+
}
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
// SPDX-License-Identifier: GPL-2.0-or-later
2+
3+
pragma solidity ^0.8.0;
4+
5+
import {ManageCluster} from "./ManageCluster.s.sol";
6+
7+
contract Cluster is ManageCluster {
8+
address internal constant USDe = 0x4c9EDD5852cd905f086C759E8383e09bff1E68B3;
9+
address internal constant pUSDe = 0xA62B204099277762d1669d283732dCc1B3AA96CE;
10+
address internal constant PT_pUSDe = 0xF3f491e5608f8B8a6Fd9E9d66a4a4036d7FD282C;
11+
12+
function defineCluster() internal override {
13+
// define the path to the cluster addresses file here
14+
cluster.clusterAddressesPath = "/script/production/frontier/Strata.json";
15+
16+
// do not change the order of the assets in the .assets array. if done, it must be reflected in other the other
17+
// arrays the ltvs matrix.
18+
// if more than one vauls has to be deployed for the same asset, it can be added in the array as many times as
19+
// needed.
20+
// note however, that mappings may need reworking as they always use asset address as key.
21+
cluster.assets = [USDC, USDT, USDe, pUSDe, PT_pUSDe];
22+
}
23+
24+
function configureCluster() internal override {
25+
super.configureCluster();
26+
27+
// define unit of account here
28+
cluster.unitOfAccount = USD;
29+
30+
// define oracle providers here.
31+
// adapter names can be found in the relevant adapter contract (as returned by the `name` function).
32+
// for cross adapters, use the following format: "CrossAdapter=<adapterName1>+<adapterName2>".
33+
// although Redstone Classic oracles reuse the ChainlinkOracle contract and returns "ChainlinkOracle" name,
34+
// they should be referred to as "RedstoneClassicOracle".
35+
// in case the asset is an ERC4626 vault itself (i.e. sUSDS) and is recognized as a valid external vault as per
36+
// External Vaults Registry, the string should be preceeded by "ExternalVault|" prefix. this is in order to
37+
// resolve the asset (vault) in the oracle router.
38+
// in case the adapter is not present in the Adapter Registry, the adapter address can be passed instead in form
39+
// of a string.
40+
cluster.oracleProviders[USDC ] = "0xD35657aE033A86FFa8fc6Bc767C5eb57C7c3D4B8";
41+
cluster.oracleProviders[USDT ] = "0x575Ffc02361368A2708c00bC7e299d1cD1c89f8A";
42+
cluster.oracleProviders[USDe ] = "0x95dF7A30aF54cc05d1CFB1E9d7655f12269b8439";
43+
cluster.oracleProviders[pUSDe ] = "ExternalVault|0x95dF7A30aF54cc05d1CFB1E9d7655f12269b8439";
44+
cluster.oracleProviders[PT_pUSDe] = "0xD7AD788Fee2a7f7CADA6e82860D8DAed9eF21895";
45+
46+
// define IRM classes here and assign them to the assets or refer to the adaptive IRM address directly
47+
{
48+
// Base=0% APY Kink(90%)=2.7% APY Max=40.00% APY
49+
//cluster.kinkIRMParams[WETH] = [uint256(0), uint256(218407859), uint256(22859618857), uint256(3865470566)];
50+
51+
cluster.irms[USDC ] = IRM_ADAPTIVE_USD;
52+
cluster.irms[USDT ] = IRM_ADAPTIVE_USD;
53+
cluster.irms[USDe ] = IRM_ADAPTIVE_USD;
54+
cluster.irms[pUSDe ] = IRM_ADAPTIVE_USD_YB;
55+
}
56+
57+
// define ltv values here. columns are liability vaults, rows are collateral vaults
58+
cluster.ltvs = [
59+
// 0 1 2 3 4
60+
// USDC USDT USDe pUSDe PT_pUSDe
61+
/* 0 USDC */ [LTV_ZERO, LTV_HIGH, LTV__LOW, LTV_ZERO, LTV_ZERO],
62+
/* 1 USDT */ [LTV_HIGH, LTV_ZERO, LTV__LOW, LTV_ZERO, LTV_ZERO],
63+
/* 2 USDe */ [LTV__LOW, LTV__LOW, LTV_ZERO, LTV_ZERO, LTV_ZERO],
64+
/* 3 pUSDe */ [LTV__LOW, LTV__LOW, LTV_HIGH, LTV_ZERO, LTV_ZERO],
65+
/* 4 PT_pUSDe*/ [LTV__LOW, LTV__LOW, LTV_HIGH, LTV_HIGH, LTV_ZERO]
66+
];
67+
68+
// define external ltvs here. columns are liability vaults, rows are collateral vaults.
69+
cluster.externalLTVs = [
70+
// 0 1 2 3 4
71+
// USDC USDT USDe pUSDe PT_pUSDe
72+
/* 0 Prime USDC */ [LTV_HIGH, LTV_HIGH, LTV_ZERO, LTV_ZERO, LTV_ZERO],
73+
/* 1 Prime USDT */ [LTV_HIGH, LTV_HIGH, LTV_ZERO, LTV_ZERO, LTV_ZERO]
74+
];
75+
}
76+
}

script/production/mainnet/governedPerspectiveVaults/GovernedPerspectiveVaults.csv

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,11 @@ Vault,Governor,Whitelist
143143
0x22cC732cbca457F6811295bCE75B01822544bA52,Euler Frontier Hyperwave,Yes
144144
0x4f36Bebf5dDb4b804F9C72644aEe82BAd165BFfc,Euler Frontier Hyperwave,Yes
145145
0x9c6bDF412723ADF2798B163638083783506B26e3,Euler Frontier Hyperwave,Yes
146+
0x53AfE3343f322c4189Ab69E0D048efd154259419,Euler Frontier Strata,Yes
147+
0x09FcE883cC16894274802c01e3b9cD90EAE4e43d,Euler Frontier Strata,Yes
148+
0x6331D36C27D967c4261D59a8f80d58d03089810A,Euler Frontier Strata,Yes
149+
0xBd360BB80E6CBe86e533B672Df6BFc054602ADBD,Euler Frontier Strata,Yes
150+
0xCfC6a55Aa72DCF3755A515aE8B82552028b63D2A,Euler Frontier Strata,Yes
146151
0x315F93a074D0948E4D068e98a34092750ea8A38C,Apostro Lido Ecosystem,Yes
147152
0xf9a23b059858CdD0e3ED0DDE89864BB82B88aa19,Apostro Lido Ecosystem,Yes
148153
0xBe4089616039eC3F7361B7058d92a90246ee86e0,Dinero,No

0 commit comments

Comments
 (0)