@@ -10,18 +10,13 @@ import { checkInterestRate } from "src/vip-framework/checks/interestRateModel";
10
10
11
11
import {
12
12
Actions ,
13
- CONVERSION_INCENTIVE ,
14
13
PROTOCOL_SHARE_RESERVE ,
15
- USDFMarketSpec ,
16
14
asBNBMarketSpec ,
17
15
convertAmountToVTokens ,
18
- converterBaseAssets ,
19
- vip515 ,
20
- } from "../../vips/vip-515/bscmainnet" ;
16
+ vip520 ,
17
+ } from "../../vips/vip-520/bscmainnet" ;
21
18
import VTOKEN_ABI from "./abi/LegacyPoolVToken.json" ;
22
- import MOCKTOKEN_ABI from "./abi/MockToken.json" ;
23
19
import RESILIENT_ORACLE_ABI from "./abi/ResilientOracle.json" ;
24
- import SINGLE_TOKEN_CONVERTER_ABI from "./abi/SingleTokenConverter.json" ;
25
20
import ASBNB_ABI from "./abi/asBNB.json" ;
26
21
import COMPTROLLER_ABI from "./abi/comptroller.json" ;
27
22
@@ -37,17 +32,13 @@ forking(51547465, async () => {
37
32
let resilientOracle : Contract ;
38
33
let asBNB : Contract ;
39
34
let vasBNB : Contract ;
40
- let usdf : Contract ;
41
- let vUSDF : Contract ;
42
35
43
36
const provider = ethers . provider ;
44
37
45
38
before ( async ( ) => {
46
39
comptroller = new ethers . Contract ( asBNBMarketSpec . vToken . comptroller , COMPTROLLER_ABI , provider ) ;
47
40
asBNB = new ethers . Contract ( asBNBMarketSpec . vToken . underlying . address , ASBNB_ABI , provider ) ;
48
41
vasBNB = new ethers . Contract ( asBNBMarketSpec . vToken . address , VTOKEN_ABI , provider ) ;
49
- usdf = new ethers . Contract ( USDFMarketSpec . vToken . underlying . address , MOCKTOKEN_ABI , provider ) ;
50
- vUSDF = new ethers . Contract ( USDFMarketSpec . vToken . address , VTOKEN_ABI , provider ) ;
51
42
resilientOracle = new ethers . Contract ( bscmainnet . RESILIENT_ORACLE , RESILIENT_ORACLE_ABI , ethers . provider ) ;
52
43
53
44
await setMaxStalePeriodInChainlinkOracle (
@@ -73,46 +64,18 @@ forking(51547465, async () => {
73
64
) ;
74
65
expect ( borrowPaused ) . to . equal ( false ) ;
75
66
} ) ;
76
-
77
- it ( "check USDF market not listed" , async ( ) => {
78
- const market = await comptroller . markets ( USDFMarketSpec . vToken . underlying . address ) ;
79
- expect ( market . isListed ) . to . equal ( false ) ;
80
- } ) ;
81
-
82
- it ( "check USDF market not paused" , async ( ) => {
83
- const borrowPaused = await comptroller . actionPaused (
84
- USDFMarketSpec . vToken . underlying . address ,
85
- Actions . ENTER_MARKET ,
86
- ) ;
87
- expect ( borrowPaused ) . to . equal ( false ) ;
88
- } ) ;
89
67
} ) ;
90
68
91
- testVip (
92
- "VIP-515" ,
93
- await vip515 ( {
94
- maxStalePeriod : 30 * 24 * 60 * 60 , // 30 days in seconds
95
- } ) ,
96
- {
97
- callbackAfterExecution : async txResponse => {
98
- const numberOfNewMarkets = 2 ;
99
-
100
- await expectEvents (
101
- txResponse ,
102
- [ COMPTROLLER_ABI , VTOKEN_ABI ] ,
103
- [ "MarketListed" , "NewSupplyCap" , "NewCollateralFactor" , "NewReserveFactor" , "NewProtocolShareReserve" ] ,
104
- [
105
- numberOfNewMarkets ,
106
- numberOfNewMarkets ,
107
- numberOfNewMarkets ,
108
- numberOfNewMarkets ,
109
- numberOfNewMarkets ,
110
- numberOfNewMarkets ,
111
- ] ,
112
- ) ;
113
- } ,
69
+ testVip ( "vip-520" , await vip520 ( ) , {
70
+ callbackAfterExecution : async txResponse => {
71
+ await expectEvents (
72
+ txResponse ,
73
+ [ COMPTROLLER_ABI , VTOKEN_ABI ] ,
74
+ [ "MarketListed" , "NewSupplyCap" , "NewCollateralFactor" , "NewReserveFactor" , "NewProtocolShareReserve" ] ,
75
+ [ 1 , 1 , 1 , 1 , 1 , 1 ] ,
76
+ ) ;
114
77
} ,
115
- ) ;
78
+ } ) ;
116
79
117
80
describe ( "Post-VIP behavior" , async ( ) => {
118
81
checkInterestRate ( RATE_MODEL , "asBNB" , {
@@ -122,13 +85,6 @@ forking(51547465, async () => {
122
85
kink : asBNBMarketSpec . interestRateModel . kink ,
123
86
} ) ;
124
87
125
- checkInterestRate ( RATE_MODEL , "vUSDF" , {
126
- base : USDFMarketSpec . interestRateModel . baseRatePerYear ,
127
- multiplier : USDFMarketSpec . interestRateModel . multiplierPerYear ,
128
- jump : USDFMarketSpec . interestRateModel . jumpMultiplierPerYear ,
129
- kink : USDFMarketSpec . interestRateModel . kink ,
130
- } ) ;
131
-
132
88
checkVToken ( asBNBMarketSpec . vToken . address , {
133
89
name : "Venus asBNB" ,
134
90
symbol : "vasBNB" ,
@@ -137,84 +93,44 @@ forking(51547465, async () => {
137
93
exchangeRate : asBNBMarketSpec . vToken . exchangeRate ,
138
94
comptroller : asBNBMarketSpec . vToken . comptroller ,
139
95
} ) ;
140
-
141
- checkVToken ( USDFMarketSpec . vToken . address , {
142
- name : "Venus USDF" ,
143
- symbol : "vUSDF" ,
144
- decimals : 8 ,
145
- underlying : USDFMarketSpec . vToken . underlying . address ,
146
- exchangeRate : USDFMarketSpec . vToken . exchangeRate ,
147
- comptroller : USDFMarketSpec . vToken . comptroller ,
148
- } ) ;
149
-
150
96
checkRiskParameters ( asBNBMarketSpec . vToken . address , asBNBMarketSpec . vToken , asBNBMarketSpec . riskParameters ) ;
151
- checkRiskParameters ( USDFMarketSpec . vToken . address , USDFMarketSpec . vToken , USDFMarketSpec . riskParameters ) ;
152
97
153
- it ( "check price USDF" , async ( ) => {
154
- const expectedPrice = "1000174500000000000" ; // 1.0001745 USD
155
- expect ( await resilientOracle . getPrice ( USDFMarketSpec . vToken . underlying . address ) ) . to . equal ( expectedPrice ) ;
156
- expect ( await resilientOracle . getUnderlyingPrice ( USDFMarketSpec . vToken . address ) ) . to . equal ( expectedPrice ) ;
157
- } ) ;
158
-
159
- it ( "markets have correct owner" , async ( ) => {
98
+ it ( "market have correct owner" , async ( ) => {
160
99
expect ( await vasBNB . admin ( ) ) . to . equal ( bscmainnet . NORMAL_TIMELOCK ) ;
161
- expect ( await vUSDF . admin ( ) ) . to . equal ( bscmainnet . NORMAL_TIMELOCK ) ;
162
100
} ) ;
163
101
164
102
it ( "markets have correct ACM" , async ( ) => {
165
103
expect ( await vasBNB . accessControlManager ( ) ) . to . equal ( bscmainnet . ACCESS_CONTROL_MANAGER ) ;
166
- expect ( await vUSDF . accessControlManager ( ) ) . to . equal ( bscmainnet . ACCESS_CONTROL_MANAGER ) ;
167
104
} ) ;
168
105
169
106
it ( "markets should have correct protocol share reserve" , async ( ) => {
170
107
expect ( await vasBNB . protocolShareReserve ( ) ) . to . equal ( PROTOCOL_SHARE_RESERVE ) ;
171
- expect ( await vUSDF . protocolShareReserve ( ) ) . to . equal ( PROTOCOL_SHARE_RESERVE ) ;
172
108
} ) ;
173
109
174
110
it ( "markets should have correct total supply" , async ( ) => {
175
111
const vasBNBSupply = await vasBNB . totalSupply ( ) ;
176
- const vUSDFSupply = await vUSDF . totalSupply ( ) ;
177
112
178
113
expect ( vasBNBSupply ) . to . equal (
179
114
convertAmountToVTokens ( asBNBMarketSpec . initialSupply . amount , asBNBMarketSpec . vToken . exchangeRate ) ,
180
115
) ;
181
- expect ( vUSDFSupply ) . to . equal (
182
- convertAmountToVTokens ( USDFMarketSpec . initialSupply . amount , USDFMarketSpec . vToken . exchangeRate ) ,
183
- ) ;
184
116
} ) ;
185
117
186
118
it ( "markets should have balance of underlying" , async ( ) => {
187
119
const asBNBBalance = await asBNB . balanceOf ( vasBNB . address ) ;
188
- const usdfBalance = await usdf . balanceOf ( vUSDF . address ) ;
189
120
190
121
expect ( asBNBBalance ) . to . equal ( asBNBMarketSpec . initialSupply . amount ) ;
191
- expect ( usdfBalance ) . to . equal ( USDFMarketSpec . initialSupply . amount ) ;
192
122
} ) ;
193
123
194
124
it ( "should burn vTokens" , async ( ) => {
195
125
const vasBNBBalanceBurned = await vasBNB . balanceOf ( ethers . constants . AddressZero ) ;
196
- const vUSDFBalanceBurned = await vUSDF . balanceOf ( ethers . constants . AddressZero ) ;
197
126
198
127
expect ( vasBNBBalanceBurned ) . to . equal ( asBNBMarketSpec . initialSupply . vTokensToBurn ) ;
199
- expect ( vUSDFBalanceBurned ) . to . equal ( USDFMarketSpec . initialSupply . vTokensToBurn ) ;
200
- } ) ;
201
-
202
- it ( "should transfer vTokens to receiver" , async ( ) => {
203
- const vUSDFReceiverBalance = await vUSDF . balanceOf ( USDFMarketSpec . initialSupply . vTokenReceiver ) ;
204
-
205
- expect ( vUSDFReceiverBalance ) . to . equal (
206
- convertAmountToVTokens ( USDFMarketSpec . initialSupply . amount , USDFMarketSpec . vToken . exchangeRate ) . sub (
207
- USDFMarketSpec . initialSupply . vTokensToBurn ,
208
- ) ,
209
- ) ;
210
128
} ) ;
211
129
212
130
it ( "should not leave any vTokens in the timelock" , async ( ) => {
213
131
const vasBNBTimelockBalance = await vasBNB . balanceOf ( bscmainnet . NORMAL_TIMELOCK ) ;
214
- const vUSDFTimelockBalance = await vUSDF . balanceOf ( bscmainnet . NORMAL_TIMELOCK ) ;
215
132
216
133
expect ( vasBNBTimelockBalance ) . to . equal ( 0 ) ;
217
- expect ( vUSDFTimelockBalance ) . to . equal ( 0 ) ;
218
134
} ) ;
219
135
} ) ;
220
136
@@ -223,18 +139,4 @@ forking(51547465, async () => {
223
139
expect ( await comptroller . actionPaused ( asBNBMarketSpec . vToken . address , Actions . BORROW ) ) . to . equal ( true ) ;
224
140
} ) ;
225
141
} ) ;
226
-
227
- describe ( "Converters" , ( ) => {
228
- for ( const [ converterAddress , baseAsset ] of Object . entries ( converterBaseAssets ) ) {
229
- const converterContract = new ethers . Contract ( converterAddress , SINGLE_TOKEN_CONVERTER_ABI , ethers . provider ) ;
230
-
231
- it ( `should set ${ CONVERSION_INCENTIVE } as incentive in converter ${ converterAddress } , for asset USDF` , async ( ) => {
232
- const result = await converterContract . conversionConfigurations (
233
- baseAsset ,
234
- USDFMarketSpec . vToken . underlying . address ,
235
- ) ;
236
- expect ( result . incentive ) . to . equal ( CONVERSION_INCENTIVE ) ;
237
- } ) ;
238
- }
239
- } ) ;
240
142
} ) ;
0 commit comments