5
5
"testing"
6
6
7
7
sdk "github.com/cosmos/cosmos-sdk/types"
8
+ "github.com/ethereum/go-ethereum/core/tracing"
8
9
testkeeper "github.com/sei-protocol/sei-chain/testutil/keeper"
9
10
"github.com/sei-protocol/sei-chain/x/evm/state"
10
11
"github.com/sei-protocol/sei-chain/x/evm/types"
@@ -16,17 +17,17 @@ func TestAddBalance(t *testing.T) {
16
17
db := state .NewDBImpl (ctx , k , false )
17
18
seiAddr , evmAddr := testkeeper .MockAddressPair ()
18
19
require .Equal (t , big .NewInt (0 ), db .GetBalance (evmAddr ))
19
- db .AddBalance (evmAddr , big .NewInt (0 ))
20
+ db .AddBalance (evmAddr , big .NewInt (0 ), tracing . BalanceChangeUnspecified )
20
21
21
22
// set association
22
23
k .SetAddressMapping (db .Ctx (), seiAddr , evmAddr )
23
24
require .Equal (t , big .NewInt (0 ), db .GetBalance (evmAddr ))
24
- db .AddBalance (evmAddr , big .NewInt (10000000000000 ))
25
+ db .AddBalance (evmAddr , big .NewInt (10000000000000 ), tracing . BalanceChangeUnspecified )
25
26
require .Nil (t , db .Err ())
26
27
require .Equal (t , db .GetBalance (evmAddr ), big .NewInt (10000000000000 ))
27
28
28
29
_ , evmAddr2 := testkeeper .MockAddressPair ()
29
- db .SubBalance (evmAddr2 , big .NewInt (- 5000000000000 )) // should redirect to AddBalance
30
+ db .SubBalance (evmAddr2 , big .NewInt (- 5000000000000 ), tracing . BalanceChangeUnspecified ) // should redirect to AddBalance
30
31
require .Nil (t , db .Err ())
31
32
require .Equal (t , db .GetBalance (evmAddr ), big .NewInt (10000000000000 ))
32
33
require .Equal (t , db .GetBalance (evmAddr2 ), big .NewInt (5000000000000 ))
@@ -37,42 +38,42 @@ func TestSubBalance(t *testing.T) {
37
38
db := state .NewDBImpl (ctx , k , false )
38
39
seiAddr , evmAddr := testkeeper .MockAddressPair ()
39
40
require .Equal (t , big .NewInt (0 ), db .GetBalance (evmAddr ))
40
- db .SubBalance (evmAddr , big .NewInt (0 ))
41
+ db .SubBalance (evmAddr , big .NewInt (0 ), tracing . BalanceChangeUnspecified )
41
42
42
43
// set association
43
44
k .SetAddressMapping (db .Ctx (), seiAddr , evmAddr )
44
45
require .Equal (t , big .NewInt (0 ), db .GetBalance (evmAddr ))
45
46
amt := sdk .NewCoins (sdk .NewCoin (k .GetBaseDenom (ctx ), sdk .NewInt (20 )))
46
47
k .BankKeeper ().MintCoins (db .Ctx (), types .ModuleName , amt )
47
48
k .BankKeeper ().SendCoinsFromModuleToAccount (db .Ctx (), types .ModuleName , seiAddr , amt )
48
- db .SubBalance (evmAddr , big .NewInt (10000000000000 ))
49
+ db .SubBalance (evmAddr , big .NewInt (10000000000000 ), tracing . BalanceChangeUnspecified )
49
50
require .Nil (t , db .Err ())
50
51
require .Equal (t , db .GetBalance (evmAddr ), big .NewInt (10000000000000 ))
51
52
52
53
_ , evmAddr2 := testkeeper .MockAddressPair ()
53
54
amt = sdk .NewCoins (sdk .NewCoin (k .GetBaseDenom (ctx ), sdk .NewInt (10 )))
54
55
k .BankKeeper ().MintCoins (db .Ctx (), types .ModuleName , amt )
55
56
k .BankKeeper ().SendCoinsFromModuleToAccount (db .Ctx (), types .ModuleName , sdk .AccAddress (evmAddr2 [:]), amt )
56
- db .AddBalance (evmAddr2 , big .NewInt (- 5000000000000 )) // should redirect to SubBalance
57
+ db .AddBalance (evmAddr2 , big .NewInt (- 5000000000000 ), tracing . BalanceChangeUnspecified ) // should redirect to SubBalance
57
58
require .Nil (t , db .Err ())
58
59
require .Equal (t , db .GetBalance (evmAddr ), big .NewInt (10000000000000 ))
59
60
require .Equal (t , db .GetBalance (evmAddr2 ), big .NewInt (5000000000000 ))
60
61
61
62
// insufficient balance
62
- db .SubBalance (evmAddr2 , big .NewInt (10000000000000 ))
63
+ db .SubBalance (evmAddr2 , big .NewInt (10000000000000 ), tracing . BalanceChangeUnspecified )
63
64
require .NotNil (t , db .Err ())
64
65
}
65
66
66
67
func TestSetBalance (t * testing.T ) {
67
68
k , ctx := testkeeper .MockEVMKeeper ()
68
69
db := state .NewDBImpl (ctx , k , true )
69
70
_ , evmAddr := testkeeper .MockAddressPair ()
70
- db .SetBalance (evmAddr , big .NewInt (10000000000000 ))
71
+ db .SetBalance (evmAddr , big .NewInt (10000000000000 ), tracing . BalanceChangeUnspecified )
71
72
require .Equal (t , big .NewInt (10000000000000 ), db .GetBalance (evmAddr ))
72
73
73
74
seiAddr2 , evmAddr2 := testkeeper .MockAddressPair ()
74
75
k .SetAddressMapping (db .Ctx (), seiAddr2 , evmAddr2 )
75
- db .SetBalance (evmAddr2 , big .NewInt (10000000000000 ))
76
+ db .SetBalance (evmAddr2 , big .NewInt (10000000000000 ), tracing . BalanceChangeUnspecified )
76
77
require .Equal (t , big .NewInt (10000000000000 ), db .GetBalance (evmAddr2 ))
77
78
}
78
79
@@ -82,55 +83,55 @@ func TestSurplus(t *testing.T) {
82
83
83
84
// test negative usei surplus negative wei surplus
84
85
db := state .NewDBImpl (ctx , k , false )
85
- db .AddBalance (evmAddr , big .NewInt (1_000_000_000_001 ))
86
+ db .AddBalance (evmAddr , big .NewInt (1_000_000_000_001 ), tracing . BalanceChangeUnspecified )
86
87
_ , err := db .Finalize ()
87
88
require .NotNil (t , err )
88
89
require .Contains (t , err .Error (), "negative surplus value" )
89
90
90
91
// test negative usei surplus positive wei surplus (negative total)
91
92
db = state .NewDBImpl (ctx , k , false )
92
- db .AddBalance (evmAddr , big .NewInt (1_000_000_000_000 ))
93
- db .SubBalance (evmAddr , big .NewInt (1 ))
93
+ db .AddBalance (evmAddr , big .NewInt (1_000_000_000_000 ), tracing . BalanceChangeUnspecified )
94
+ db .SubBalance (evmAddr , big .NewInt (1 ), tracing . BalanceChangeUnspecified )
94
95
_ , err = db .Finalize ()
95
96
require .NotNil (t , err )
96
97
require .Contains (t , err .Error (), "negative surplus value" )
97
98
98
99
// test negative usei surplus positive wei surplus (positive total)
99
100
db = state .NewDBImpl (ctx , k , false )
100
- db .AddBalance (evmAddr , big .NewInt (1_000_000_000_000 ))
101
- db .SubBalance (evmAddr , big .NewInt (2 ))
102
- db .SubBalance (evmAddr , big .NewInt (999_999_999_999 ))
101
+ db .AddBalance (evmAddr , big .NewInt (1_000_000_000_000 ), tracing . BalanceChangeUnspecified )
102
+ db .SubBalance (evmAddr , big .NewInt (2 ), tracing . BalanceChangeUnspecified )
103
+ db .SubBalance (evmAddr , big .NewInt (999_999_999_999 ), tracing . BalanceChangeUnspecified )
103
104
surplus , err := db .Finalize ()
104
105
require .Nil (t , err )
105
106
require .Equal (t , sdk .OneInt (), surplus )
106
107
107
108
// test positive usei surplus negative wei surplus (negative total)
108
109
db = state .NewDBImpl (ctx , k , false )
109
- db .SubBalance (evmAddr , big .NewInt (1_000_000_000_000 ))
110
- db .AddBalance (evmAddr , big .NewInt (2 ))
111
- db .AddBalance (evmAddr , big .NewInt (999_999_999_999 ))
110
+ db .SubBalance (evmAddr , big .NewInt (1_000_000_000_000 ), tracing . BalanceChangeUnspecified )
111
+ db .AddBalance (evmAddr , big .NewInt (2 ), tracing . BalanceChangeUnspecified )
112
+ db .AddBalance (evmAddr , big .NewInt (999_999_999_999 ), tracing . BalanceChangeUnspecified )
112
113
_ , err = db .Finalize ()
113
114
require .NotNil (t , err )
114
115
require .Contains (t , err .Error (), "negative surplus value" )
115
116
116
117
// test positive usei surplus negative wei surplus (positive total)
117
118
db = state .NewDBImpl (ctx , k , false )
118
- db .SubBalance (evmAddr , big .NewInt (1_000_000_000_000 ))
119
- db .AddBalance (evmAddr , big .NewInt (999_999_999_999 ))
119
+ db .SubBalance (evmAddr , big .NewInt (1_000_000_000_000 ), tracing . BalanceChangeUnspecified )
120
+ db .AddBalance (evmAddr , big .NewInt (999_999_999_999 ), tracing . BalanceChangeUnspecified )
120
121
surplus , err = db .Finalize ()
121
122
require .Nil (t , err )
122
123
require .Equal (t , sdk .OneInt (), surplus )
123
124
124
125
// test snapshots
125
126
db = state .NewDBImpl (ctx , k , false )
126
- db .SubBalance (evmAddr , big .NewInt (1_000_000_000_000 ))
127
- db .AddBalance (evmAddr , big .NewInt (999_999_999_999 ))
127
+ db .SubBalance (evmAddr , big .NewInt (1_000_000_000_000 ), tracing . BalanceChangeUnspecified )
128
+ db .AddBalance (evmAddr , big .NewInt (999_999_999_999 ), tracing . BalanceChangeUnspecified )
128
129
db .Snapshot ()
129
- db .SubBalance (evmAddr , big .NewInt (1_000_000_000_000 ))
130
- db .AddBalance (evmAddr , big .NewInt (999_999_999_999 ))
130
+ db .SubBalance (evmAddr , big .NewInt (1_000_000_000_000 ), tracing . BalanceChangeUnspecified )
131
+ db .AddBalance (evmAddr , big .NewInt (999_999_999_999 ), tracing . BalanceChangeUnspecified )
131
132
db .Snapshot ()
132
- db .SubBalance (evmAddr , big .NewInt (1_000_000_000_000 ))
133
- db .AddBalance (evmAddr , big .NewInt (999_999_999_999 ))
133
+ db .SubBalance (evmAddr , big .NewInt (1_000_000_000_000 ), tracing . BalanceChangeUnspecified )
134
+ db .AddBalance (evmAddr , big .NewInt (999_999_999_999 ), tracing . BalanceChangeUnspecified )
134
135
surplus , err = db .Finalize ()
135
136
require .Nil (t , err )
136
137
require .Equal (t , sdk .NewInt (3 ), surplus )
0 commit comments