@@ -13,7 +13,6 @@ import (
1313 "github.com/ava-labs/libevm/core/state"
1414 "github.com/ava-labs/libevm/core/vm"
1515 "github.com/holiman/uint256"
16- "github.com/stretchr/testify/assert"
1716 "github.com/stretchr/testify/require"
1817
1918 "github.com/ava-labs/coreth/core"
@@ -91,7 +90,6 @@ func TestStatefulPrecompile(t *testing.T) {
9190 userAddr2 := common .BytesToAddress ([]byte ("user2" ))
9291 assetID := common .BytesToHash ([]byte ("ScoobyCoin" ))
9392 zeroBytes := make ([]byte , 32 )
94- big0 := uint256 .NewInt (0 )
9593 bigHundred := big .NewInt (100 )
9694 u256Hundred := uint256 .NewInt (100 )
9795 oneHundredBytes := make ([]byte , 32 )
@@ -116,7 +114,7 @@ func TestStatefulPrecompile(t *testing.T) {
116114 from : userAddr1 ,
117115 precompileAddr : NativeAssetBalanceAddr ,
118116 input : PackNativeAssetBalanceInput (userAddr1 , assetID ),
119- value : big0 ,
117+ value : common . U2560 ,
120118 gasInput : params .AssetBalanceApricot ,
121119 expectedGasRemaining : 0 ,
122120 expectedErr : nil ,
@@ -141,7 +139,7 @@ func TestStatefulPrecompile(t *testing.T) {
141139 from : userAddr1 ,
142140 precompileAddr : NativeAssetBalanceAddr ,
143141 input : PackNativeAssetBalanceInput (userAddr1 , assetID ),
144- value : big0 ,
142+ value : common . U2560 ,
145143 gasInput : params .AssetBalanceApricot ,
146144 expectedGasRemaining : 0 ,
147145 expectedErr : nil ,
@@ -165,7 +163,7 @@ func TestStatefulPrecompile(t *testing.T) {
165163 from : userAddr1 ,
166164 precompileAddr : NativeAssetBalanceAddr ,
167165 input : PackNativeAssetBalanceInput (userAddr1 , assetID ),
168- value : big0 ,
166+ value : common . U2560 ,
169167 gasInput : params .AssetBalanceApricot ,
170168 expectedGasRemaining : 0 ,
171169 expectedErr : nil ,
@@ -181,7 +179,7 @@ func TestStatefulPrecompile(t *testing.T) {
181179 from : userAddr1 ,
182180 precompileAddr : NativeAssetBalanceAddr ,
183181 input : nil ,
184- value : big0 ,
182+ value : common . U2560 ,
185183 gasInput : params .AssetBalanceApricot ,
186184 expectedGasRemaining : 0 ,
187185 expectedErr : vm .ErrExecutionReverted ,
@@ -197,7 +195,7 @@ func TestStatefulPrecompile(t *testing.T) {
197195 from : userAddr1 ,
198196 precompileAddr : NativeAssetBalanceAddr ,
199197 input : PackNativeAssetBalanceInput (userAddr1 , assetID ),
200- value : big0 ,
198+ value : common . U2560 ,
201199 gasInput : params .AssetBalanceApricot - 1 ,
202200 expectedGasRemaining : 0 ,
203201 expectedErr : vm .ErrOutOfGas ,
@@ -233,7 +231,7 @@ func TestStatefulPrecompile(t *testing.T) {
233231 from : userAddr1 ,
234232 precompileAddr : NativeAssetCallAddr ,
235233 input : PackNativeAssetCallInput (userAddr2 , assetID , big .NewInt (50 ), nil ),
236- value : big0 ,
234+ value : common . U2560 ,
237235 gasInput : params .AssetCallApricot + ethparams .CallNewAccountGas + 123 ,
238236 expectedGasRemaining : 123 ,
239237 expectedErr : nil ,
@@ -248,7 +246,7 @@ func TestStatefulPrecompile(t *testing.T) {
248246
249247 expectedBalance := big .NewInt (50 )
250248 require .Equal (t , u256Hundred , user1Balance , "user 1 balance" )
251- require .Equal (t , big0 , user2Balance , "user 2 balance" )
249+ require .True (t , user2Balance . IsZero () , "user 2 balance should be zero " )
252250 require .Equal (t , expectedBalance , user1AssetBalance , "user 1 asset balance" )
253251 require .Equal (t , expectedBalance , user2AssetBalance , "user 2 asset balance" )
254252 },
@@ -282,7 +280,7 @@ func TestStatefulPrecompile(t *testing.T) {
282280 expectedBalance := big .NewInt (50 )
283281
284282 require .Equal (t , uint256 .NewInt (51 ), user1Balance , "user 1 balance" )
285- require .Equal (t , big0 , user2Balance , "user 2 balance" )
283+ require .True (t , user2Balance . IsZero () , "user 2 balance should be zero " )
286284 require .Equal (t , uint256 .NewInt (49 ), nativeAssetCallAddrBalance , "native asset call addr balance" )
287285 require .Equal (t , expectedBalance , user1AssetBalance , "user 1 asset balance" )
288286 require .Equal (t , expectedBalance , user2AssetBalance , "user 2 asset balance" )
@@ -314,10 +312,10 @@ func TestStatefulPrecompile(t *testing.T) {
314312 user1AssetBalance := wrappedStateDB .GetBalanceMultiCoin (userAddr1 , assetID )
315313 user2AssetBalance := wrappedStateDB .GetBalanceMultiCoin (userAddr2 , assetID )
316314
317- require .Equal (t , bigHundred , user1Balance , "user 1 balance" )
318- require .Equal (t , big0 , user2Balance , "user 2 balance" )
319- require .Equal (t , big .NewInt (51 ), user1AssetBalance , "user 1 asset balance" )
320- require .Equal (t , big0 , user2AssetBalance , "user 2 asset balance" )
315+ require .Equal (t , u256Hundred , user1Balance , "user 1 balance" )
316+ require .True (t , user2Balance . IsZero () , "user 2 balance should be zero " )
317+ require .Equal (t , big .NewInt (50 ), user1AssetBalance , "user 1 asset balance" )
318+ require .Zero (t , user2AssetBalance . Cmp ( common . Big0 ) , "user 2 asset balance should be zero " )
321319 },
322320 },
323321 {
@@ -346,10 +344,10 @@ func TestStatefulPrecompile(t *testing.T) {
346344 user1AssetBalance := wrappedStateDB .GetBalanceMultiCoin (userAddr1 , assetID )
347345 user2AssetBalance := wrappedStateDB .GetBalanceMultiCoin (userAddr2 , assetID )
348346
349- require .Equal (t , big .NewInt (50 ), user1Balance , "user 1 balance" )
350- require .Equal (t , big0 , user2Balance , "user 2 balance" )
347+ require .Equal (t , uint256 .NewInt (50 ), user1Balance , "user 1 balance" )
348+ require .True (t , user2Balance . IsZero () , "user 2 balance should be zero " )
351349 require .Equal (t , big .NewInt (50 ), user1AssetBalance , "user 1 asset balance" )
352- require .Equal (t , big0 , user2AssetBalance , "user 2 asset balance" )
350+ require .Zero (t , user2AssetBalance . Cmp ( common . Big0 ) , "user 2 asset balance should be zero " )
353351 },
354352 },
355353 {
@@ -398,10 +396,10 @@ func TestStatefulPrecompile(t *testing.T) {
398396 user1AssetBalance := wrappedStateDB .GetBalanceMultiCoin (userAddr1 , assetID )
399397 user2AssetBalance := wrappedStateDB .GetBalanceMultiCoin (userAddr2 , assetID )
400398
401- require .Equal (t , bigHundred , user1Balance , "user 1 balance" )
402- require .Equal (t , big0 , user2Balance , "user 2 balance" )
399+ require .Equal (t , u256Hundred , user1Balance , "user 1 balance" )
400+ require .True (t , user2Balance . IsZero () , "user 2 balance should be zero " )
403401 require .Equal (t , bigHundred , user1AssetBalance , "user 1 asset balance" )
404- require .Equal (t , big0 , user2AssetBalance , "user 2 asset balance" )
402+ require .Zero (t , user2AssetBalance . Cmp ( common . Big0 ) , "user 2 asset balance should be zero " )
405403 },
406404 },
407405 {
@@ -437,7 +435,7 @@ func TestStatefulPrecompile(t *testing.T) {
437435 from : userAddr1 ,
438436 precompileAddr : GenesisContractAddr ,
439437 input : PackNativeAssetCallInput (userAddr2 , assetID , big .NewInt (50 ), nil ),
440- value : big0 ,
438+ value : common . U2560 ,
441439 gasInput : params .AssetCallApricot + ethparams .CallNewAccountGas ,
442440 expectedGasRemaining : params .AssetCallApricot + ethparams .CallNewAccountGas ,
443441 expectedErr : vm .ErrExecutionReverted ,
@@ -451,18 +449,11 @@ func TestStatefulPrecompile(t *testing.T) {
451449 // Create EVM with BlockNumber and Time initialized to 0 to enable Apricot Rules.
452450 evm := vm .NewEVM (vmCtx , vm.TxContext {}, stateDB , params .TestApricotPhase5Config , vm.Config {}) // Use ApricotPhase5Config because these precompiles are deprecated in ApricotPhase6.
453451 ret , gasRemaining , err := evm .Call (vm .AccountRef (test .from ), test .precompileAddr , test .input , test .gasInput , test .value )
454- // Place gas remaining check before error check, so that it is not skipped when there is an error
455- assert .Equalf (t , test .expectedGasRemaining , gasRemaining , "unexpected gas remaining (%d of %d)" , gasRemaining , test .gasInput )
456-
457- if test .expectedErr != nil {
458- assert .Equal (t , test .expectedErr , err , "expected error to match" )
459- return
460- }
461- if assert .NoError (t , err , "EVM Call produced unexpected error" ) {
462- assert .Equal (t , test .expectedResult , ret , "unexpected return value" )
463- if test .stateDBCheck != nil {
464- test .stateDBCheck (t , stateDB )
465- }
452+ require .ErrorIs (t , err , test .expectedErr )
453+ require .Equalf (t , test .expectedGasRemaining , gasRemaining , "unexpected gas remaining (%d of %d)" , gasRemaining , test .gasInput )
454+ require .Equal (t , test .expectedResult , ret , "unexpected return value" )
455+ if test .stateDBCheck != nil {
456+ test .stateDBCheck (t , stateDB )
466457 }
467458 })
468459 }
0 commit comments