Skip to content

Commit 3c167f7

Browse files
feat: sUSDS and sUSDC on Arbitrum
1 parent d4ec870 commit 3c167f7

File tree

4 files changed

+38
-13
lines changed

4 files changed

+38
-13
lines changed

script/production/arbitrum/clusters/ArbitrumCluster.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
"irms": [
44
"0x47842E428bA5553480227125013621e3E5A237b5",
55
"0x47842E428bA5553480227125013621e3E5A237b5",
6+
"0xeE162047dA453404cB4670452C374c8945194595",
7+
"0xeE162047dA453404cB4670452C374c8945194595",
68
"0x91FBEAc79167d574B8b0D9E00cb35143c4CB84E2",
79
"0xF7c774aCFA136F527287Dbc05477c015Ee6ED2C9",
810
"0xF7c774aCFA136F527287Dbc05477c015Ee6ED2C9",
@@ -16,12 +18,16 @@
1618
"0x94B6924796CcC98e5237615F8710Ef5732190F66",
1719
"0x94B6924796CcC98e5237615F8710Ef5732190F66",
1820
"0x94B6924796CcC98e5237615F8710Ef5732190F66",
21+
"0x94B6924796CcC98e5237615F8710Ef5732190F66",
22+
"0x94B6924796CcC98e5237615F8710Ef5732190F66",
1923
"0x94B6924796CcC98e5237615F8710Ef5732190F66"
2024
],
2125
"stubOracle": "0x0000000000000000000000000000000000000000",
2226
"vaults": [
2327
"0x0a1eCC5Fe8C9be3C809844fcBe615B46A869b899",
2428
"0x37512F45B4ba8808910632323b73783Ca938CD51",
29+
"0x0EE8D628411F446BFbbe08BDeF53E42414C8fBC4",
30+
"0xa7a9B773f139010f284E825a74060648d91dE37a",
2531
"0x78E3E051D32157AACD550fBB78458762d8f7edFF",
2632
"0xA8616E4D9f3f0aa01aff1d7c3b66249f8a5f1A58",
2733
"0x5A8294CE02908B1da68c6c39695c9b0FbaF7675d",

script/production/arbitrum/clusters/ArbitrumCluster.s.sol

Lines changed: 27 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ contract Cluster is ManageCluster {
1717
cluster.assets = [
1818
USDC,
1919
USDT0,
20+
sUSDS,
21+
sUSDC,
2022
WETH,
2123
wstETH,
2224
weETH,
@@ -60,6 +62,8 @@ contract Cluster is ManageCluster {
6062
// in case the adapter is not present in the Adapter Registry, the adapter address can be passed instead in form of a string.
6163
cluster.oracleProviders[USDC ] = "0x3CD81aee1c41757B88961572BfD192cBF2127f37";
6264
cluster.oracleProviders[USDT0 ] = "0xbBC0166f5F14e9C4970c87bd5336e19Bc530FD74";
65+
cluster.oracleProviders[sUSDS ] = "0x5939ee098eb6d411c3727b78ee665771f5cb0501";
66+
cluster.oracleProviders[sUSDC ] = "ExternalVault|0x3CD81aee1c41757B88961572BfD192cBF2127f37";
6367
cluster.oracleProviders[WETH ] = "0x6C1212B14E190a5eB91B1c8cc2f6f4623476862C";
6468
cluster.oracleProviders[wstETH] = "0x1B9405C4742DF2fB0a2fC838fA08c4FE03300702";
6569
cluster.oracleProviders[weETH ] = "0x4F22d594a852DD3788Ba605A4786946334881492";
@@ -69,6 +73,8 @@ contract Cluster is ManageCluster {
6973
// define supply caps here. 0 means no supply can occur, type(uint256).max means no cap defined hence max amount
7074
cluster.supplyCaps[USDC ] = 100_000_000;
7175
cluster.supplyCaps[USDT0 ] = 100_000_000;
76+
cluster.supplyCaps[sUSDS ] = 10_000_000;
77+
cluster.supplyCaps[sUSDC ] = 10_000_000;
7278
cluster.supplyCaps[WETH ] = 50_000;
7379
cluster.supplyCaps[wstETH] = 30_000;
7480
cluster.supplyCaps[weETH ] = 30_000;
@@ -78,6 +84,8 @@ contract Cluster is ManageCluster {
7884
// define borrow caps here. 0 means no borrow can occur, type(uint256).max means no cap defined hence max amount
7985
cluster.borrowCaps[USDC ] = 90_000_000;
8086
cluster.borrowCaps[USDT0 ] = 90_000_000;
87+
cluster.borrowCaps[sUSDS ] = 8_000_000;
88+
cluster.borrowCaps[sUSDC ] = 8_000_000;
8189
cluster.borrowCaps[WETH ] = 45_000;
8290
cluster.borrowCaps[wstETH] = 15_000;
8391
cluster.borrowCaps[weETH ] = 15_000;
@@ -96,13 +104,18 @@ contract Cluster is ManageCluster {
96104
uint256[4] memory irmETH_LST = [uint256(0), uint256(146829246), uint256(4818228676), uint256(2147483648)];
97105

98106
// Base=0% APY, Kink(90%)=6.00% APY Max=40.00% APY
99-
uint256[4] memory irmUSD = [uint256(0), uint256(477682641), uint256(20526145828), uint256(3865470566)];
107+
uint256[4] memory irmUSD_1 = [uint256(0), uint256(477682641), uint256(20526145828), uint256(3865470566)];
108+
109+
// Base=0% APY, Kink(80%)=1.50% APY Max=40.00% APY
110+
uint256[4] memory irmUSD_2 = [uint256(0), uint256(137312259), uint256(11863395757), uint256(3435973836)];
100111

101112
// Base=0% APY, Kink(80%)=5.00% APY Max=80.00% APY
102113
uint256[4] memory irmDEFI = [uint256(0), uint256(449973958), uint256(19883875652), uint256(3435973836)];
103114

104-
cluster.kinkIRMParams[USDC ] = irmUSD;
105-
cluster.kinkIRMParams[USDT0 ] = irmUSD;
115+
cluster.kinkIRMParams[USDC ] = irmUSD_1;
116+
cluster.kinkIRMParams[USDT0 ] = irmUSD_1;
117+
cluster.kinkIRMParams[sUSDS ] = irmUSD_2;
118+
cluster.kinkIRMParams[sUSDC ] = irmUSD_2;
106119
cluster.kinkIRMParams[WETH ] = irmETH;
107120
cluster.kinkIRMParams[wstETH] = irmETH_LST;
108121
cluster.kinkIRMParams[weETH ] = irmETH_LST;
@@ -118,15 +131,17 @@ contract Cluster is ManageCluster {
118131

119132
// define ltv values here. columns are liability vaults, rows are collateral vaults
120133
cluster.ltvs = [
121-
// 0 1 2 3 4 5 6
122-
// USDC USDT0 WETH wstETH weETH WBTC ARB
123-
/* 0 USDC */ [uint16(0.00e4), 0.96e4, 0.86e4, 0.84e4, 0.84e4, 0.86e4, 0.65e4],
124-
/* 1 USDT0 */ [uint16(0.96e4), 0.00e4, 0.86e4, 0.84e4, 0.84e4, 0.86e4, 0.65e4],
125-
/* 2 WETH */ [uint16(0.86e4), 0.86e4, 0.00e4, 0.95e4, 0.94e4, 0.86e4, 0.65e4],
126-
/* 3 wstETH */ [uint16(0.84e4), 0.84e4, 0.95e4, 0.00e4, 0.93e4, 0.84e4, 0.65e4],
127-
/* 4 weETH */ [uint16(0.83e4), 0.83e4, 0.94e4, 0.93e4, 0.00e4, 0.83e4, 0.65e4],
128-
/* 5 WBTC */ [uint16(0.86e4), 0.86e4, 0.86e4, 0.84e4, 0.84e4, 0.00e4, 0.65e4],
129-
/* 6 ARB */ [uint16(0.65e4), 0.65e4, 0.65e4, 0.65e4, 0.65e4, 0.65e4, 0.00e4]
134+
// 0 1 2 3 4 5 6 7 8
135+
// USDC USDT0 sUSDS sUSDC WETH wstETH weETH WBTC ARB
136+
/* 0 USDC */ [uint16(0.00e4), 0.96e4, 0.96e4, 0.96e4, 0.86e4, 0.84e4, 0.84e4, 0.86e4, 0.65e4],
137+
/* 1 USDT0 */ [uint16(0.96e4), 0.00e4, 0.94e4, 0.94e4, 0.86e4, 0.84e4, 0.84e4, 0.86e4, 0.65e4],
138+
/* 2 sUSDS */ [uint16(0.96e4), 0.94e4, 0.00e4, 0.94e4, 0.84e4, 0.82e4, 0.81e4, 0.84e4, 0.65e4],
139+
/* 3 sUSDC */ [uint16(0.96e4), 0.94e4, 0.94e4, 0.00e4, 0.84e4, 0.82e4, 0.81e4, 0.84e4, 0.65e4],
140+
/* 4 WETH */ [uint16(0.86e4), 0.86e4, 0.84e4, 0.84e4, 0.00e4, 0.95e4, 0.94e4, 0.86e4, 0.65e4],
141+
/* 5 wstETH */ [uint16(0.84e4), 0.84e4, 0.82e4, 0.82e4, 0.95e4, 0.00e4, 0.93e4, 0.84e4, 0.65e4],
142+
/* 6 weETH */ [uint16(0.83e4), 0.83e4, 0.81e4, 0.81e4, 0.94e4, 0.93e4, 0.00e4, 0.83e4, 0.65e4],
143+
/* 7 WBTC */ [uint16(0.86e4), 0.86e4, 0.84e4, 0.84e4, 0.86e4, 0.84e4, 0.84e4, 0.00e4, 0.65e4],
144+
/* 8 ARB */ [uint16(0.65e4), 0.65e4, 0.65e4, 0.65e4, 0.65e4, 0.65e4, 0.65e4, 0.65e4, 0.00e4]
130145
];
131146

132147
// define external ltvs here. columns are liability vaults, rows are collateral vaults.

script/production/arbitrum/clusters/ManageCluster.s.sol

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ abstract contract Addresses {
1010
address internal constant WETH = 0x82aF49447D8a07e3bd95BD0d56f35241523fBab1;
1111
address internal constant USDC = 0xaf88d065e77c8cC2239327C5EDb3A432268e5831;
1212
address internal constant USDT0 = 0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9;
13+
address internal constant sUSDS = 0xdDb46999F8891663a8F2828d25298f70416d7610;
14+
address internal constant sUSDC = 0x940098b108fB7D0a7E374f6eDED7760787464609;
1315
address internal constant wstETH = 0x5979D7b546E38E414F7E9822514be443A4800529;
1416
address internal constant weETH = 0x35751007a407ca6FEFfE80b3cB397736D2cf4dbe;
1517
address internal constant WBTC = 0x2f2a2543B76A4166549F7aaB2e75Bef0aefC5B0f;

script/production/arbitrum/governedPerspectiveVaults/GovernedPerspectiveVaults.csv

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,6 @@ Vault,Governor,Whitelist
55
0xA8616E4D9f3f0aa01aff1d7c3b66249f8a5f1A58,Euler Arbitrum,Yes
66
0x5A8294CE02908B1da68c6c39695c9b0FbaF7675d,Euler Arbitrum,Yes
77
0x889E1c458B2469b70aCcdfb5B59726dC1668896C,Euler Arbitrum,Yes
8-
0x7eD866D2D66c3149FaFE854C30C68a8BA7ceE8B9,Euler Arbitrum,Yes
8+
0x7eD866D2D66c3149FaFE854C30C68a8BA7ceE8B9,Euler Arbitrum,Yes
9+
0x0EE8D628411F446BFbbe08BDeF53E42414C8fBC4,Euler Arbitrum,Yes
10+
0xa7a9B773f139010f284E825a74060648d91dE37a,Euler Arbitrum,Yes

0 commit comments

Comments
 (0)