eth/tracers, internal/ethapi: remove unnecessary map pointer in state override (#30094)
This commit is contained in:
parent
4dfc75deef
commit
ac0f220040
@ -843,7 +843,7 @@ func TestTracingWithOverrides(t *testing.T) {
|
|||||||
byte(vm.PUSH1), 00,
|
byte(vm.PUSH1), 00,
|
||||||
byte(vm.RETURN),
|
byte(vm.RETURN),
|
||||||
}),
|
}),
|
||||||
StateDiff: &map[common.Hash]common.Hash{
|
StateDiff: map[common.Hash]common.Hash{
|
||||||
common.HexToHash("0x03"): common.HexToHash("0x11"),
|
common.HexToHash("0x03"): common.HexToHash("0x11"),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@ -898,9 +898,9 @@ func newAccounts(n int) (accounts []Account) {
|
|||||||
return accounts
|
return accounts
|
||||||
}
|
}
|
||||||
|
|
||||||
func newRPCBalance(balance *big.Int) **hexutil.Big {
|
func newRPCBalance(balance *big.Int) *hexutil.Big {
|
||||||
rpcBalance := (*hexutil.Big)(balance)
|
rpcBalance := (*hexutil.Big)(balance)
|
||||||
return &rpcBalance
|
return rpcBalance
|
||||||
}
|
}
|
||||||
|
|
||||||
func newRPCBytes(bytes []byte) *hexutil.Bytes {
|
func newRPCBytes(bytes []byte) *hexutil.Bytes {
|
||||||
@ -908,7 +908,7 @@ func newRPCBytes(bytes []byte) *hexutil.Bytes {
|
|||||||
return &rpcBytes
|
return &rpcBytes
|
||||||
}
|
}
|
||||||
|
|
||||||
func newStates(keys []common.Hash, vals []common.Hash) *map[common.Hash]common.Hash {
|
func newStates(keys []common.Hash, vals []common.Hash) map[common.Hash]common.Hash {
|
||||||
if len(keys) != len(vals) {
|
if len(keys) != len(vals) {
|
||||||
panic("invalid input")
|
panic("invalid input")
|
||||||
}
|
}
|
||||||
@ -916,7 +916,7 @@ func newStates(keys []common.Hash, vals []common.Hash) *map[common.Hash]common.H
|
|||||||
for i := 0; i < len(keys); i++ {
|
for i := 0; i < len(keys); i++ {
|
||||||
m[keys[i]] = vals[i]
|
m[keys[i]] = vals[i]
|
||||||
}
|
}
|
||||||
return &m
|
return m
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestTraceChain(t *testing.T) {
|
func TestTraceChain(t *testing.T) {
|
||||||
|
@ -968,11 +968,11 @@ func (api *BlockChainAPI) GetBlockReceipts(ctx context.Context, blockNrOrHash rp
|
|||||||
// if stateDiff is set, all diff will be applied first and then execute the call
|
// if stateDiff is set, all diff will be applied first and then execute the call
|
||||||
// message.
|
// message.
|
||||||
type OverrideAccount struct {
|
type OverrideAccount struct {
|
||||||
Nonce *hexutil.Uint64 `json:"nonce"`
|
Nonce *hexutil.Uint64 `json:"nonce"`
|
||||||
Code *hexutil.Bytes `json:"code"`
|
Code *hexutil.Bytes `json:"code"`
|
||||||
Balance **hexutil.Big `json:"balance"`
|
Balance *hexutil.Big `json:"balance"`
|
||||||
State *map[common.Hash]common.Hash `json:"state"`
|
State map[common.Hash]common.Hash `json:"state"`
|
||||||
StateDiff *map[common.Hash]common.Hash `json:"stateDiff"`
|
StateDiff map[common.Hash]common.Hash `json:"stateDiff"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// StateOverride is the collection of overridden accounts.
|
// StateOverride is the collection of overridden accounts.
|
||||||
@ -994,7 +994,7 @@ func (diff *StateOverride) Apply(statedb *state.StateDB) error {
|
|||||||
}
|
}
|
||||||
// Override account balance.
|
// Override account balance.
|
||||||
if account.Balance != nil {
|
if account.Balance != nil {
|
||||||
u256Balance, _ := uint256.FromBig((*big.Int)(*account.Balance))
|
u256Balance, _ := uint256.FromBig((*big.Int)(account.Balance))
|
||||||
statedb.SetBalance(addr, u256Balance, tracing.BalanceChangeUnspecified)
|
statedb.SetBalance(addr, u256Balance, tracing.BalanceChangeUnspecified)
|
||||||
}
|
}
|
||||||
if account.State != nil && account.StateDiff != nil {
|
if account.State != nil && account.StateDiff != nil {
|
||||||
@ -1002,11 +1002,11 @@ func (diff *StateOverride) Apply(statedb *state.StateDB) error {
|
|||||||
}
|
}
|
||||||
// Replace entire state if caller requires.
|
// Replace entire state if caller requires.
|
||||||
if account.State != nil {
|
if account.State != nil {
|
||||||
statedb.SetStorage(addr, *account.State)
|
statedb.SetStorage(addr, account.State)
|
||||||
}
|
}
|
||||||
// Apply state diff into specified accounts.
|
// Apply state diff into specified accounts.
|
||||||
if account.StateDiff != nil {
|
if account.StateDiff != nil {
|
||||||
for key, value := range *account.StateDiff {
|
for key, value := range account.StateDiff {
|
||||||
statedb.SetState(addr, key, value)
|
statedb.SetState(addr, key, value)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -913,7 +913,7 @@ func TestCall(t *testing.T) {
|
|||||||
overrides: StateOverride{
|
overrides: StateOverride{
|
||||||
randomAccounts[2].addr: OverrideAccount{
|
randomAccounts[2].addr: OverrideAccount{
|
||||||
Code: hex2Bytes("6080604052348015600f57600080fd5b506004361060285760003560e01c80638381f58a14602d575b600080fd5b60336049565b6040518082815260200191505060405180910390f35b6000548156fea2646970667358221220eab35ffa6ab2adfe380772a48b8ba78e82a1b820a18fcb6f59aa4efb20a5f60064736f6c63430007040033"),
|
Code: hex2Bytes("6080604052348015600f57600080fd5b506004361060285760003560e01c80638381f58a14602d575b600080fd5b60336049565b6040518082815260200191505060405180910390f35b6000548156fea2646970667358221220eab35ffa6ab2adfe380772a48b8ba78e82a1b820a18fcb6f59aa4efb20a5f60064736f6c63430007040033"),
|
||||||
StateDiff: &map[common.Hash]common.Hash{{}: common.BigToHash(big.NewInt(123))},
|
StateDiff: map[common.Hash]common.Hash{{}: common.BigToHash(big.NewInt(123))},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
want: "0x000000000000000000000000000000000000000000000000000000000000007b",
|
want: "0x000000000000000000000000000000000000000000000000000000000000007b",
|
||||||
@ -1343,9 +1343,9 @@ func newAccounts(n int) (accounts []account) {
|
|||||||
return accounts
|
return accounts
|
||||||
}
|
}
|
||||||
|
|
||||||
func newRPCBalance(balance *big.Int) **hexutil.Big {
|
func newRPCBalance(balance *big.Int) *hexutil.Big {
|
||||||
rpcBalance := (*hexutil.Big)(balance)
|
rpcBalance := (*hexutil.Big)(balance)
|
||||||
return &rpcBalance
|
return rpcBalance
|
||||||
}
|
}
|
||||||
|
|
||||||
func hex2Bytes(str string) *hexutil.Bytes {
|
func hex2Bytes(str string) *hexutil.Bytes {
|
||||||
|
Loading…
Reference in New Issue
Block a user