Skip to content

Commit 99b379a

Browse files
authored
feat: add support for disabled E-mode groups (#4969)
* feat: add support for isolated E-mode groups * feat: add support for disabled E-mode groups
1 parent 49aa726 commit 99b379a

File tree

24 files changed

+1860
-14
lines changed

24 files changed

+1860
-14
lines changed

.changeset/famous-humans-battle.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@venusprotocol/evm": minor
3+
---
4+
5+
add support for isolated E-mode groups

.changeset/legal-impalas-add.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@venusprotocol/evm": minor
3+
---
4+
5+
add support for inactive E-mode groups

apps/evm/src/__mocks__/api/pools.json

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,45 @@
103103
"updatedAt": "2025-09-19T06:07:26.000Z"
104104
}
105105
]
106+
},
107+
{
108+
"id": "3-97-0x94d1820b2D1c7c7452A163983Dc888CEC546b77D",
109+
"comptrollerAddress": "0x94d1820b2D1c7c7452A163983Dc888CEC546b77D",
110+
"chainId": "97",
111+
"label": "BNB",
112+
"poolId": 3,
113+
"isActive": false,
114+
"allowCorePoolFallback": true,
115+
"createdAt": "2025-09-17T19:26:30.000Z",
116+
"updatedAt": "2025-09-19T06:07:26.000Z",
117+
"eModeSettings": [
118+
{
119+
"id": "3-97-0x2E7222e51c0f6e98610A1543Aa3836E092CDe62c",
120+
"chainId": "97",
121+
"marketAddress": "0x2E7222e51c0f6e98610A1543Aa3836E092CDe62c",
122+
"poolId": 3,
123+
"collateralFactorMantissa": "840000000000000000",
124+
"liquidationThresholdMantissa": "880000000000000000",
125+
"liquidationIncentiveMantissa": "1040000000000000000",
126+
"canBeCollateral": true,
127+
"isBorrowable": false,
128+
"createdAt": "2025-09-17T19:30:32.000Z",
129+
"updatedAt": "2025-09-19T06:07:26.000Z"
130+
},
131+
{
132+
"id": "3-97-0xb7526572FFE56AB9D7489838Bf2E18e3323b441A",
133+
"chainId": "97",
134+
"marketAddress": "0xb7526572FFE56AB9D7489838Bf2E18e3323b441A",
135+
"poolId": 3,
136+
"collateralFactorMantissa": "0",
137+
"liquidationThresholdMantissa": "0",
138+
"liquidationIncentiveMantissa": "1040000000000000000",
139+
"canBeCollateral": false,
140+
"isBorrowable": true,
141+
"createdAt": "2025-09-17T19:30:32.000Z",
142+
"updatedAt": "2025-09-19T06:07:26.000Z"
143+
}
144+
]
106145
}
107146
],
108147
"markets": [

apps/evm/src/__mocks__/models/eModeGroup.ts

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,19 @@ const generateEModeGroup = ({
55
groupAssets,
66
id,
77
isIsolated,
8+
isActive,
89
name,
9-
}: { groupAssets: Asset[]; id: number; name: string; isIsolated: boolean }): EModeGroup => ({
10+
}: {
11+
groupAssets: Asset[];
12+
id: number;
13+
name: string;
14+
isIsolated: boolean;
15+
isActive: boolean;
16+
}): EModeGroup => ({
1017
id,
1118
name,
1219
isIsolated,
20+
isActive,
1321
assetSettings: groupAssets.map(a => ({
1422
vToken: a.vToken,
1523
collateralFactor: a.userCollateralFactor + 0.1,
@@ -24,18 +32,28 @@ export const eModeGroups: EModeGroup[] = [
2432
id: 0,
2533
name: 'Stablecoins',
2634
isIsolated: false,
35+
isActive: true,
2736
groupAssets: assetData.slice(0, 3),
2837
}),
2938
generateEModeGroup({
3039
id: 1,
3140
name: 'DeFi',
3241
isIsolated: false,
42+
isActive: true,
3343
groupAssets: assetData.slice(2),
3444
}),
3545
generateEModeGroup({
3646
id: 2,
3747
name: '#ToTheMoon',
3848
isIsolated: true,
49+
isActive: true,
3950
groupAssets: assetData.slice(1, 2),
4051
}),
52+
generateEModeGroup({
53+
id: 3,
54+
name: 'GameFi',
55+
isIsolated: false,
56+
isActive: false,
57+
groupAssets: assetData.slice(0, 2),
58+
}),
4159
];

apps/evm/src/clients/api/queries/useGetPool/__snapshots__/index.spec.tsx.snap

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -545,6 +545,7 @@ exports[`useGetPool > returns the correct asset 1`] = `
545545
},
546546
],
547547
"id": 0,
548+
"isActive": true,
548549
"isIsolated": false,
549550
"name": "Stablecoins",
550551
},
@@ -586,6 +587,7 @@ exports[`useGetPool > returns the correct asset 1`] = `
586587
},
587588
],
588589
"id": 1,
590+
"isActive": true,
589591
"isIsolated": false,
590592
"name": "DeFi",
591593
},
@@ -610,9 +612,52 @@ exports[`useGetPool > returns the correct asset 1`] = `
610612
},
611613
],
612614
"id": 2,
615+
"isActive": true,
613616
"isIsolated": true,
614617
"name": "#ToTheMoon",
615618
},
619+
{
620+
"assetSettings": [
621+
{
622+
"collateralFactor": 0.6,
623+
"isBorrowable": true,
624+
"liquidationPenaltyPercentage": 0,
625+
"liquidationThresholdPercentage": 62,
626+
"vToken": {
627+
"address": "0x6d6F697e34145Bb95c54E77482d97cc261Dc237E",
628+
"decimals": 8,
629+
"symbol": "vXVS",
630+
"underlyingToken": {
631+
"address": "0xB9e0E753630434d7863528cc73CB7AC638a7c8ff",
632+
"decimals": 18,
633+
"iconSrc": "fake-xvs-asset",
634+
"symbol": "XVS",
635+
},
636+
},
637+
},
638+
{
639+
"collateralFactor": 0.9,
640+
"isBorrowable": false,
641+
"liquidationPenaltyPercentage": 30,
642+
"liquidationThresholdPercentage": 92,
643+
"vToken": {
644+
"address": "0xD5C4C2e2facBEB59D0216D0595d63FcDc6F9A1a7",
645+
"decimals": 8,
646+
"symbol": "vUSDC",
647+
"underlyingToken": {
648+
"address": "0x16227D60f7a0e586C66B005219dfc887D13C9531",
649+
"decimals": 6,
650+
"iconSrc": "fake-usdc-asset",
651+
"symbol": "USDC",
652+
},
653+
},
654+
},
655+
],
656+
"id": 3,
657+
"isActive": false,
658+
"isIsolated": false,
659+
"name": "GameFi",
660+
},
616661
],
617662
"isIsolated": false,
618663
"name": "Venus",

0 commit comments

Comments
 (0)