@@ -851,6 +851,7 @@ et.testSet({
851
851
852
852
. test ( {
853
853
desc : "zero borrow factor with basic full liquidation" ,
854
+ dev : 1 ,
854
855
actions : ctx => [
855
856
{ from : ctx . wallet2 , send : 'dTokens.dTST.borrow' , args : [ 0 , et . eth ( 5 ) ] , } ,
856
857
@@ -909,38 +910,38 @@ et.testSet({
909
910
{ send : 'liquidation.liquidate' , args : [ ctx . wallet2 . address , ctx . contracts . tokens . TST . address , ctx . contracts . tokens . TST2 . address , ( ) => ctx . stash . repay , 0 ] , expectError : 'e/collateral-violation' } ,
910
911
911
912
// Successful liquidation on asset with zero borrow factor with deferred liquidity checks
912
- // {
913
- // action: 'sendBatch', batch: [
914
- // { send: 'liquidation.liquidate', args: [ctx.wallet2.address, ctx.contracts.tokens.TST.address, ctx.contracts.tokens.TST2.address, () => ctx.stash.repay, 0], },
915
- // { from: ctx.wallet, send: 'dTokens.dTST.repay', args: [0, ctx.stash.repay], },
916
- // ],
917
- // deferLiquidityChecks: [ctx.wallet.address],
918
- // },
919
-
920
- // // liquidator:
921
- // // debt is repaid in batch transaction above
922
- // { call: 'dTokens.dTST.balanceOf', args: [ctx.wallet.address], equals: [0], },
923
- // { call: 'eTokens.eTST2.balanceOfUnderlying', args: [ctx.wallet.address], equals: () => [ctx.stash.yield, '0.000000000001'], },
924
-
925
- // // reserves:
926
- // { call: 'eTokens.eTST.reserveBalanceUnderlying', onResult: (r) => ctx.stash.reserves = r, },
927
-
928
- // // violator:
929
- // { call: 'dTokens.dTST.balanceOf', args: [ctx.wallet2.address], equals: () => [et.units(5).sub(ctx.stash.repay).add(ctx.stash.reserves), '0.000000000001'], },
930
- // { call: 'eTokens.eTST2.balanceOfUnderlying', args: [ctx.wallet2.address], equals: () => [et.units(100).sub(ctx.stash.yield), '0.000000000001'], },
931
-
932
-
933
- // // Confirming innocent bystander's balance not changed:
934
-
935
- // { call: 'eTokens.eTST.balanceOfUnderlying', args: [ctx.wallet3.address], equals: [et.eth('30'), '0.000000000001'], },
936
- // { call: 'eTokens.eTST2.balanceOfUnderlying', args: [ctx.wallet3.address], equals: [et.eth('18'), '0.000000000001'], },
937
-
938
- // {
939
- // call: 'exec.liquidity', args: [ctx.wallet2.address], onResult: async (r) => {
940
- // let targetHealth = (await ctx.contracts.liquidation.TARGET_HEALTH()) / 1e18;
941
- // et.equals(r.collateralFactor / r.liabilityValue, targetHealth, 1e-24);
942
- // }
943
- // },
913
+ {
914
+ action : 'sendBatch' , batch : [
915
+ { send : 'liquidation.liquidate' , args : [ ctx . wallet2 . address , ctx . contracts . tokens . TST . address , ctx . contracts . tokens . TST2 . address , ( ) => ctx . stash . repay , 0 ] , } ,
916
+ { from : ctx . wallet , send : 'dTokens.dTST.repay' , args : [ 0 , ( ) => ctx . stash . repay ] , } ,
917
+ ] ,
918
+ deferLiquidityChecks : [ ctx . wallet . address ] ,
919
+ } ,
920
+
921
+ // liquidator:
922
+ // debt is repaid in batch transaction above
923
+ { call : 'dTokens.dTST.balanceOf' , args : [ ctx . wallet . address ] , equals : [ 0 ] , } ,
924
+ { call : 'eTokens.eTST2.balanceOfUnderlying' , args : [ ctx . wallet . address ] , equals : ( ) => [ ctx . stash . yield , '0.000000000001' ] , } ,
925
+
926
+ // reserves:
927
+ { call : 'eTokens.eTST.reserveBalanceUnderlying' , onResult : ( r ) => ctx . stash . reserves = r , } ,
928
+
929
+ // violator:
930
+ { call : 'dTokens.dTST.balanceOf' , args : [ ctx . wallet2 . address ] , equals : ( ) => [ et . units ( 5 ) . sub ( ctx . stash . repay ) . add ( ctx . stash . reserves ) , '0.000000000001' ] , } ,
931
+ { call : 'eTokens.eTST2.balanceOfUnderlying' , args : [ ctx . wallet2 . address ] , equals : ( ) => [ et . units ( 100 ) . sub ( ctx . stash . yield ) , '0.000000000001' ] , } ,
932
+
933
+
934
+ // Confirming innocent bystander's balance not changed:
935
+
936
+ { call : 'eTokens.eTST.balanceOfUnderlying' , args : [ ctx . wallet3 . address ] , equals : [ et . eth ( '30' ) , '0.000000000001' ] , } ,
937
+ { call : 'eTokens.eTST2.balanceOfUnderlying' , args : [ ctx . wallet3 . address ] , equals : [ et . eth ( '18' ) , '0.000000000001' ] , } ,
938
+
939
+ {
940
+ call : 'exec.liquidity' , args : [ ctx . wallet2 . address ] , onResult : async ( r ) => {
941
+ let targetHealth = ( await ctx . contracts . liquidation . TARGET_HEALTH ( ) ) / 1e18 ;
942
+ et . equals ( r . collateralFactor / r . liabilityValue , targetHealth , 1e-24 ) ;
943
+ }
944
+ } ,
944
945
] ,
945
946
} )
946
947
0 commit comments