Skip to content

Commit 22ea948

Browse files
feat: add EULSwap
1 parent 03e3d94 commit 22ea948

File tree

2 files changed

+76
-0
lines changed

2 files changed

+76
-0
lines changed
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{
2+
"externalVaults": [
3+
"0x4CaF2f4847448b7103922fb9b926E80782dcDC6d"
4+
],
5+
"irms": [
6+
"0x96e714c7963AF23c17878130C9FB5FEeB0751ca2"
7+
],
8+
"oracleRouters": [
9+
"0x1FC53457F04fdd8C73B28934C0ee77f1a41F8BC7"
10+
],
11+
"stubOracle": "0x0000000000000000000000000000000000000000",
12+
"vaults": [
13+
"0x74034eb8d5B2E480825263A975E4CF82A081c959"
14+
]
15+
}
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
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 EUL = 0xd9Fcd98c322942075A5C3860693e9f4f03AAE07b;
9+
10+
function defineCluster() internal override {
11+
// define the path to the cluster addresses file here
12+
cluster.clusterAddressesPath = "/script/production/frontier/EULSwap.json";
13+
14+
// do not change the order of the assets in the .assets array. if done, it must be reflected in other the other
15+
// arrays the ltvs matrix.
16+
// if more than one vauls has to be deployed for the same asset, it can be added in the array as many times as
17+
// needed.
18+
// note however, that mappings may need reworking as they always use asset address as key.
19+
cluster.assets = [EUL];
20+
}
21+
22+
function configureCluster() internal override {
23+
super.configureCluster();
24+
25+
cluster.vaultsGovernor = getDeployer();
26+
27+
// define unit of account here
28+
cluster.unitOfAccount = EUL;
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[EUL] = "";
41+
42+
// define IRM classes here and assign them to the assets or refer to the adaptive IRM address directly
43+
{
44+
// Base=0% APY Kink(90%)=5.0% APY Max=20.00% APY
45+
cluster.kinkIRMParams[EUL] = [uint256(0), uint256(399976852), uint256(9852092153), uint256(3865470566)];
46+
}
47+
48+
// define ltv values here. columns are liability vaults, rows are collateral vaults
49+
cluster.ltvs = [
50+
// 0
51+
// EUL
52+
/* 0 EUL */ [LTV_ZERO]
53+
];
54+
55+
cluster.externalLTVs = [
56+
// 0
57+
// EUL
58+
/* 0 EUL */ [uint16(0.95e4)]
59+
];
60+
}
61+
}

0 commit comments

Comments
 (0)