forked from cerc-io/plugeth
all: remove redundant conversions and import names (#21903)
This commit is contained in:
parent
f59ed3565d
commit
810f9e057d
@ -202,12 +202,12 @@ func TestConvertType(t *testing.T) {
|
|||||||
fields = append(fields, reflect.StructField{
|
fields = append(fields, reflect.StructField{
|
||||||
Name: "X",
|
Name: "X",
|
||||||
Type: reflect.TypeOf(new(big.Int)),
|
Type: reflect.TypeOf(new(big.Int)),
|
||||||
Tag: reflect.StructTag("json:\"" + "x" + "\""),
|
Tag: "json:\"" + "x" + "\"",
|
||||||
})
|
})
|
||||||
fields = append(fields, reflect.StructField{
|
fields = append(fields, reflect.StructField{
|
||||||
Name: "Y",
|
Name: "Y",
|
||||||
Type: reflect.TypeOf(new(big.Int)),
|
Type: reflect.TypeOf(new(big.Int)),
|
||||||
Tag: reflect.StructTag("json:\"" + "y" + "\""),
|
Tag: "json:\"" + "y" + "\"",
|
||||||
})
|
})
|
||||||
val := reflect.New(reflect.StructOf(fields))
|
val := reflect.New(reflect.StructOf(fields))
|
||||||
val.Elem().Field(0).Set(reflect.ValueOf(big.NewInt(1)))
|
val.Elem().Field(0).Set(reflect.ValueOf(big.NewInt(1)))
|
||||||
|
@ -255,7 +255,7 @@ func TestTypeCheck(t *testing.T) {
|
|||||||
{"bytes", nil, [2]byte{0, 1}, "abi: cannot use array as type slice as argument"},
|
{"bytes", nil, [2]byte{0, 1}, "abi: cannot use array as type slice as argument"},
|
||||||
{"bytes", nil, common.Hash{1}, "abi: cannot use array as type slice as argument"},
|
{"bytes", nil, common.Hash{1}, "abi: cannot use array as type slice as argument"},
|
||||||
{"string", nil, "hello world", ""},
|
{"string", nil, "hello world", ""},
|
||||||
{"string", nil, string(""), ""},
|
{"string", nil, "", ""},
|
||||||
{"string", nil, []byte{}, "abi: cannot use slice as type string as argument"},
|
{"string", nil, []byte{}, "abi: cannot use slice as type string as argument"},
|
||||||
{"bytes32[]", nil, [][32]byte{{}}, ""},
|
{"bytes32[]", nil, [][32]byte{{}}, ""},
|
||||||
{"function", nil, [24]byte{}, ""},
|
{"function", nil, [24]byte{}, ""},
|
||||||
|
@ -21,7 +21,7 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"math/big"
|
"math/big"
|
||||||
|
|
||||||
ethereum "github.com/ethereum/go-ethereum"
|
"github.com/ethereum/go-ethereum"
|
||||||
"github.com/ethereum/go-ethereum/common"
|
"github.com/ethereum/go-ethereum/common"
|
||||||
"github.com/ethereum/go-ethereum/core/types"
|
"github.com/ethereum/go-ethereum/core/types"
|
||||||
"github.com/ethereum/go-ethereum/event"
|
"github.com/ethereum/go-ethereum/event"
|
||||||
|
@ -230,7 +230,7 @@ func DecryptKey(keyjson []byte, auth string) (*Key, error) {
|
|||||||
key := crypto.ToECDSAUnsafe(keyBytes)
|
key := crypto.ToECDSAUnsafe(keyBytes)
|
||||||
|
|
||||||
return &Key{
|
return &Key{
|
||||||
Id: uuid.UUID(keyId),
|
Id: keyId,
|
||||||
Address: crypto.PubkeyToAddress(key.PublicKey),
|
Address: crypto.PubkeyToAddress(key.PublicKey),
|
||||||
PrivateKey: key,
|
PrivateKey: key,
|
||||||
}, nil
|
}, nil
|
||||||
|
@ -19,7 +19,7 @@ package keystore
|
|||||||
import (
|
import (
|
||||||
"math/big"
|
"math/big"
|
||||||
|
|
||||||
ethereum "github.com/ethereum/go-ethereum"
|
"github.com/ethereum/go-ethereum"
|
||||||
"github.com/ethereum/go-ethereum/accounts"
|
"github.com/ethereum/go-ethereum/accounts"
|
||||||
"github.com/ethereum/go-ethereum/core/types"
|
"github.com/ethereum/go-ethereum/core/types"
|
||||||
"github.com/ethereum/go-ethereum/crypto"
|
"github.com/ethereum/go-ethereum/crypto"
|
||||||
|
@ -33,7 +33,7 @@ import (
|
|||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
ethereum "github.com/ethereum/go-ethereum"
|
"github.com/ethereum/go-ethereum"
|
||||||
"github.com/ethereum/go-ethereum/accounts"
|
"github.com/ethereum/go-ethereum/accounts"
|
||||||
"github.com/ethereum/go-ethereum/common"
|
"github.com/ethereum/go-ethereum/common"
|
||||||
"github.com/ethereum/go-ethereum/core/types"
|
"github.com/ethereum/go-ethereum/core/types"
|
||||||
|
@ -25,7 +25,7 @@ import (
|
|||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
ethereum "github.com/ethereum/go-ethereum"
|
"github.com/ethereum/go-ethereum"
|
||||||
"github.com/ethereum/go-ethereum/accounts"
|
"github.com/ethereum/go-ethereum/accounts"
|
||||||
"github.com/ethereum/go-ethereum/common"
|
"github.com/ethereum/go-ethereum/common"
|
||||||
"github.com/ethereum/go-ethereum/core/types"
|
"github.com/ethereum/go-ethereum/core/types"
|
||||||
|
@ -54,7 +54,7 @@ import (
|
|||||||
"github.com/ethereum/go-ethereum/signer/rules"
|
"github.com/ethereum/go-ethereum/signer/rules"
|
||||||
"github.com/ethereum/go-ethereum/signer/storage"
|
"github.com/ethereum/go-ethereum/signer/storage"
|
||||||
|
|
||||||
colorable "github.com/mattn/go-colorable"
|
"github.com/mattn/go-colorable"
|
||||||
"github.com/mattn/go-isatty"
|
"github.com/mattn/go-isatty"
|
||||||
"gopkg.in/urfave/cli.v1"
|
"gopkg.in/urfave/cli.v1"
|
||||||
)
|
)
|
||||||
|
@ -30,7 +30,7 @@ import (
|
|||||||
"github.com/ethereum/go-ethereum/console/prompt"
|
"github.com/ethereum/go-ethereum/console/prompt"
|
||||||
"github.com/ethereum/go-ethereum/p2p/dnsdisc"
|
"github.com/ethereum/go-ethereum/p2p/dnsdisc"
|
||||||
"github.com/ethereum/go-ethereum/p2p/enode"
|
"github.com/ethereum/go-ethereum/p2p/enode"
|
||||||
cli "gopkg.in/urfave/cli.v1"
|
"gopkg.in/urfave/cli.v1"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
@ -23,7 +23,7 @@ import (
|
|||||||
|
|
||||||
"github.com/ethereum/go-ethereum/cmd/evm/internal/compiler"
|
"github.com/ethereum/go-ethereum/cmd/evm/internal/compiler"
|
||||||
|
|
||||||
cli "gopkg.in/urfave/cli.v1"
|
"gopkg.in/urfave/cli.v1"
|
||||||
)
|
)
|
||||||
|
|
||||||
var compileCommand = cli.Command{
|
var compileCommand = cli.Command{
|
||||||
|
@ -23,7 +23,7 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/ethereum/go-ethereum/core/asm"
|
"github.com/ethereum/go-ethereum/core/asm"
|
||||||
cli "gopkg.in/urfave/cli.v1"
|
"gopkg.in/urfave/cli.v1"
|
||||||
)
|
)
|
||||||
|
|
||||||
var disasmCommand = cli.Command{
|
var disasmCommand = cli.Command{
|
||||||
|
@ -38,7 +38,7 @@ import (
|
|||||||
"github.com/ethereum/go-ethereum/core/vm/runtime"
|
"github.com/ethereum/go-ethereum/core/vm/runtime"
|
||||||
"github.com/ethereum/go-ethereum/log"
|
"github.com/ethereum/go-ethereum/log"
|
||||||
"github.com/ethereum/go-ethereum/params"
|
"github.com/ethereum/go-ethereum/params"
|
||||||
cli "gopkg.in/urfave/cli.v1"
|
"gopkg.in/urfave/cli.v1"
|
||||||
)
|
)
|
||||||
|
|
||||||
var runCommand = cli.Command{
|
var runCommand = cli.Command{
|
||||||
|
@ -28,7 +28,7 @@ import (
|
|||||||
"github.com/ethereum/go-ethereum/log"
|
"github.com/ethereum/go-ethereum/log"
|
||||||
"github.com/ethereum/go-ethereum/tests"
|
"github.com/ethereum/go-ethereum/tests"
|
||||||
|
|
||||||
cli "gopkg.in/urfave/cli.v1"
|
"gopkg.in/urfave/cli.v1"
|
||||||
)
|
)
|
||||||
|
|
||||||
var stateTestCommand = cli.Command{
|
var stateTestCommand = cli.Command{
|
||||||
|
@ -24,7 +24,7 @@ import (
|
|||||||
"reflect"
|
"reflect"
|
||||||
"unicode"
|
"unicode"
|
||||||
|
|
||||||
cli "gopkg.in/urfave/cli.v1"
|
"gopkg.in/urfave/cli.v1"
|
||||||
|
|
||||||
"github.com/ethereum/go-ethereum/cmd/utils"
|
"github.com/ethereum/go-ethereum/cmd/utils"
|
||||||
"github.com/ethereum/go-ethereum/eth"
|
"github.com/ethereum/go-ethereum/eth"
|
||||||
|
@ -42,7 +42,7 @@ import (
|
|||||||
"github.com/ethereum/go-ethereum/metrics"
|
"github.com/ethereum/go-ethereum/metrics"
|
||||||
"github.com/ethereum/go-ethereum/node"
|
"github.com/ethereum/go-ethereum/node"
|
||||||
gopsutil "github.com/shirou/gopsutil/mem"
|
gopsutil "github.com/shirou/gopsutil/mem"
|
||||||
cli "gopkg.in/urfave/cli.v1"
|
"gopkg.in/urfave/cli.v1"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
@ -25,7 +25,7 @@ import (
|
|||||||
"github.com/ethereum/go-ethereum/cmd/utils"
|
"github.com/ethereum/go-ethereum/cmd/utils"
|
||||||
"github.com/ethereum/go-ethereum/internal/debug"
|
"github.com/ethereum/go-ethereum/internal/debug"
|
||||||
"github.com/ethereum/go-ethereum/internal/flags"
|
"github.com/ethereum/go-ethereum/internal/flags"
|
||||||
cli "gopkg.in/urfave/cli.v1"
|
"gopkg.in/urfave/cli.v1"
|
||||||
)
|
)
|
||||||
|
|
||||||
// AppHelpFlagGroups is the application flags, grouped by functionality.
|
// AppHelpFlagGroups is the application flags, grouped by functionality.
|
||||||
|
@ -152,7 +152,7 @@ func newAlethGenesisSpec(network string, genesis *core.Genesis) (*alethGenesisSp
|
|||||||
spec.Genesis.Author = genesis.Coinbase
|
spec.Genesis.Author = genesis.Coinbase
|
||||||
spec.Genesis.Timestamp = (hexutil.Uint64)(genesis.Timestamp)
|
spec.Genesis.Timestamp = (hexutil.Uint64)(genesis.Timestamp)
|
||||||
spec.Genesis.ParentHash = genesis.ParentHash
|
spec.Genesis.ParentHash = genesis.ParentHash
|
||||||
spec.Genesis.ExtraData = (hexutil.Bytes)(genesis.ExtraData)
|
spec.Genesis.ExtraData = genesis.ExtraData
|
||||||
spec.Genesis.GasLimit = (hexutil.Uint64)(genesis.GasLimit)
|
spec.Genesis.GasLimit = (hexutil.Uint64)(genesis.GasLimit)
|
||||||
|
|
||||||
for address, account := range genesis.Alloc {
|
for address, account := range genesis.Alloc {
|
||||||
@ -430,7 +430,7 @@ func newParityChainSpec(network string, genesis *core.Genesis, bootnodes []strin
|
|||||||
spec.Genesis.Author = genesis.Coinbase
|
spec.Genesis.Author = genesis.Coinbase
|
||||||
spec.Genesis.Timestamp = (hexutil.Uint64)(genesis.Timestamp)
|
spec.Genesis.Timestamp = (hexutil.Uint64)(genesis.Timestamp)
|
||||||
spec.Genesis.ParentHash = genesis.ParentHash
|
spec.Genesis.ParentHash = genesis.ParentHash
|
||||||
spec.Genesis.ExtraData = (hexutil.Bytes)(genesis.ExtraData)
|
spec.Genesis.ExtraData = genesis.ExtraData
|
||||||
spec.Genesis.GasLimit = (hexutil.Uint64)(genesis.GasLimit)
|
spec.Genesis.GasLimit = (hexutil.Uint64)(genesis.GasLimit)
|
||||||
|
|
||||||
spec.Accounts = make(map[common.UnprefixedAddress]*parityChainSpecAccount)
|
spec.Accounts = make(map[common.UnprefixedAddress]*parityChainSpecAccount)
|
||||||
|
@ -64,7 +64,7 @@ import (
|
|||||||
"github.com/ethereum/go-ethereum/p2p/netutil"
|
"github.com/ethereum/go-ethereum/p2p/netutil"
|
||||||
"github.com/ethereum/go-ethereum/params"
|
"github.com/ethereum/go-ethereum/params"
|
||||||
pcsclite "github.com/gballet/go-libpcsclite"
|
pcsclite "github.com/gballet/go-libpcsclite"
|
||||||
cli "gopkg.in/urfave/cli.v1"
|
"gopkg.in/urfave/cli.v1"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
|
@ -88,7 +88,7 @@ func TestUnmarshalBytes(t *testing.T) {
|
|||||||
if !checkError(t, test.input, err, test.wantErr) {
|
if !checkError(t, test.input, err, test.wantErr) {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
if !bytes.Equal(test.want.([]byte), []byte(v)) {
|
if !bytes.Equal(test.want.([]byte), v) {
|
||||||
t.Errorf("input %s: value mismatch: got %x, want %x", test.input, &v, test.want)
|
t.Errorf("input %s: value mismatch: got %x, want %x", test.input, &v, test.want)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
@ -33,7 +33,7 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
"unsafe"
|
"unsafe"
|
||||||
|
|
||||||
mmap "github.com/edsrzf/mmap-go"
|
"github.com/edsrzf/mmap-go"
|
||||||
"github.com/ethereum/go-ethereum/consensus"
|
"github.com/ethereum/go-ethereum/consensus"
|
||||||
"github.com/ethereum/go-ethereum/log"
|
"github.com/ethereum/go-ethereum/log"
|
||||||
"github.com/ethereum/go-ethereum/metrics"
|
"github.com/ethereum/go-ethereum/metrics"
|
||||||
|
@ -65,7 +65,7 @@ func (oracle *CheckpointOracle) LookupCheckpointEvents(blockLogs [][]*types.Log,
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
if event.Index == section && common.Hash(event.CheckpointHash) == hash {
|
if event.Index == section && event.CheckpointHash == hash {
|
||||||
votes = append(votes, event)
|
votes = append(votes, event)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -318,7 +318,7 @@ func (s *StateDB) GetState(addr common.Address, hash common.Hash) common.Hash {
|
|||||||
func (s *StateDB) GetProof(a common.Address) ([][]byte, error) {
|
func (s *StateDB) GetProof(a common.Address) ([][]byte, error) {
|
||||||
var proof proofList
|
var proof proofList
|
||||||
err := s.trie.Prove(crypto.Keccak256(a.Bytes()), 0, &proof)
|
err := s.trie.Prove(crypto.Keccak256(a.Bytes()), 0, &proof)
|
||||||
return [][]byte(proof), err
|
return proof, err
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetStorageProof returns the StorageProof for given key
|
// GetStorageProof returns the StorageProof for given key
|
||||||
@ -329,7 +329,7 @@ func (s *StateDB) GetStorageProof(a common.Address, key common.Hash) ([][]byte,
|
|||||||
return proof, errors.New("storage trie for requested address does not exist")
|
return proof, errors.New("storage trie for requested address does not exist")
|
||||||
}
|
}
|
||||||
err := trie.Prove(crypto.Keccak256(key.Bytes()), 0, &proof)
|
err := trie.Prove(crypto.Keccak256(key.Bytes()), 0, &proof)
|
||||||
return [][]byte(proof), err
|
return proof, err
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetCommittedState retrieves a value from the given account's committed storage trie.
|
// GetCommittedState retrieves a value from the given account's committed storage trie.
|
||||||
|
@ -1139,7 +1139,7 @@ func TestTransactionAllowedTxSize(t *testing.T) {
|
|||||||
t.Fatalf("expected rejection on slightly oversize transaction")
|
t.Fatalf("expected rejection on slightly oversize transaction")
|
||||||
}
|
}
|
||||||
// Try adding a transaction of random not allowed size
|
// Try adding a transaction of random not allowed size
|
||||||
if err := pool.addRemoteSync(pricedDataTransaction(2, pool.currentMaxGas, big.NewInt(1), key, dataSize+1+uint64(rand.Intn(int(10*txMaxSize))))); err == nil {
|
if err := pool.addRemoteSync(pricedDataTransaction(2, pool.currentMaxGas, big.NewInt(1), key, dataSize+1+uint64(rand.Intn(10*txMaxSize)))); err == nil {
|
||||||
t.Fatalf("expected rejection on oversize transaction")
|
t.Fatalf("expected rejection on oversize transaction")
|
||||||
}
|
}
|
||||||
// Run some sanity checks on the pool internals
|
// Run some sanity checks on the pool internals
|
||||||
|
@ -525,7 +525,7 @@ func (evm *EVM) Create(caller ContractRef, code []byte, gas uint64, value *big.I
|
|||||||
// instead of the usual sender-and-nonce-hash as the address where the contract is initialized at.
|
// instead of the usual sender-and-nonce-hash as the address where the contract is initialized at.
|
||||||
func (evm *EVM) Create2(caller ContractRef, code []byte, gas uint64, endowment *big.Int, salt *uint256.Int) (ret []byte, contractAddr common.Address, leftOverGas uint64, err error) {
|
func (evm *EVM) Create2(caller ContractRef, code []byte, gas uint64, endowment *big.Int, salt *uint256.Int) (ret []byte, contractAddr common.Address, leftOverGas uint64, err error) {
|
||||||
codeAndHash := &codeAndHash{code: code}
|
codeAndHash := &codeAndHash{code: code}
|
||||||
contractAddr = crypto.CreateAddress2(caller.Address(), common.Hash(salt.Bytes32()), codeAndHash.Hash().Bytes())
|
contractAddr = crypto.CreateAddress2(caller.Address(), salt.Bytes32(), codeAndHash.Hash().Bytes())
|
||||||
return evm.create(caller, codeAndHash, gas, endowment, contractAddr)
|
return evm.create(caller, codeAndHash, gas, endowment, contractAddr)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -96,7 +96,7 @@ var (
|
|||||||
func gasSStore(evm *EVM, contract *Contract, stack *Stack, mem *Memory, memorySize uint64) (uint64, error) {
|
func gasSStore(evm *EVM, contract *Contract, stack *Stack, mem *Memory, memorySize uint64) (uint64, error) {
|
||||||
var (
|
var (
|
||||||
y, x = stack.Back(1), stack.Back(0)
|
y, x = stack.Back(1), stack.Back(0)
|
||||||
current = evm.StateDB.GetState(contract.Address(), common.Hash(x.Bytes32()))
|
current = evm.StateDB.GetState(contract.Address(), x.Bytes32())
|
||||||
)
|
)
|
||||||
// The legacy gas metering only takes into consideration the current state
|
// The legacy gas metering only takes into consideration the current state
|
||||||
// Legacy rules should be applied if we are in Petersburg (removal of EIP-1283)
|
// Legacy rules should be applied if we are in Petersburg (removal of EIP-1283)
|
||||||
@ -135,7 +135,7 @@ func gasSStore(evm *EVM, contract *Contract, stack *Stack, mem *Memory, memorySi
|
|||||||
if current == value { // noop (1)
|
if current == value { // noop (1)
|
||||||
return params.NetSstoreNoopGas, nil
|
return params.NetSstoreNoopGas, nil
|
||||||
}
|
}
|
||||||
original := evm.StateDB.GetCommittedState(contract.Address(), common.Hash(x.Bytes32()))
|
original := evm.StateDB.GetCommittedState(contract.Address(), x.Bytes32())
|
||||||
if original == current {
|
if original == current {
|
||||||
if original == (common.Hash{}) { // create slot (2.1.1)
|
if original == (common.Hash{}) { // create slot (2.1.1)
|
||||||
return params.NetSstoreInitGas, nil
|
return params.NetSstoreInitGas, nil
|
||||||
@ -183,14 +183,14 @@ func gasSStoreEIP2200(evm *EVM, contract *Contract, stack *Stack, mem *Memory, m
|
|||||||
// Gas sentry honoured, do the actual gas calculation based on the stored value
|
// Gas sentry honoured, do the actual gas calculation based on the stored value
|
||||||
var (
|
var (
|
||||||
y, x = stack.Back(1), stack.Back(0)
|
y, x = stack.Back(1), stack.Back(0)
|
||||||
current = evm.StateDB.GetState(contract.Address(), common.Hash(x.Bytes32()))
|
current = evm.StateDB.GetState(contract.Address(), x.Bytes32())
|
||||||
)
|
)
|
||||||
value := common.Hash(y.Bytes32())
|
value := common.Hash(y.Bytes32())
|
||||||
|
|
||||||
if current == value { // noop (1)
|
if current == value { // noop (1)
|
||||||
return params.SloadGasEIP2200, nil
|
return params.SloadGasEIP2200, nil
|
||||||
}
|
}
|
||||||
original := evm.StateDB.GetCommittedState(contract.Address(), common.Hash(x.Bytes32()))
|
original := evm.StateDB.GetCommittedState(contract.Address(), x.Bytes32())
|
||||||
if original == current {
|
if original == current {
|
||||||
if original == (common.Hash{}) { // create slot (2.1.1)
|
if original == (common.Hash{}) { // create slot (2.1.1)
|
||||||
return params.SstoreSetGasEIP2200, nil
|
return params.SstoreSetGasEIP2200, nil
|
||||||
|
@ -341,7 +341,7 @@ func opReturnDataCopy(pc *uint64, interpreter *EVMInterpreter, callContext *call
|
|||||||
|
|
||||||
func opExtCodeSize(pc *uint64, interpreter *EVMInterpreter, callContext *callCtx) ([]byte, error) {
|
func opExtCodeSize(pc *uint64, interpreter *EVMInterpreter, callContext *callCtx) ([]byte, error) {
|
||||||
slot := callContext.stack.peek()
|
slot := callContext.stack.peek()
|
||||||
slot.SetUint64(uint64(interpreter.evm.StateDB.GetCodeSize(common.Address(slot.Bytes20()))))
|
slot.SetUint64(uint64(interpreter.evm.StateDB.GetCodeSize(slot.Bytes20())))
|
||||||
return nil, nil
|
return nil, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -517,7 +517,7 @@ func opSstore(pc *uint64, interpreter *EVMInterpreter, callContext *callCtx) ([]
|
|||||||
loc := callContext.stack.pop()
|
loc := callContext.stack.pop()
|
||||||
val := callContext.stack.pop()
|
val := callContext.stack.pop()
|
||||||
interpreter.evm.StateDB.SetState(callContext.contract.Address(),
|
interpreter.evm.StateDB.SetState(callContext.contract.Address(),
|
||||||
common.Hash(loc.Bytes32()), common.Hash(val.Bytes32()))
|
loc.Bytes32(), val.Bytes32())
|
||||||
return nil, nil
|
return nil, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -817,7 +817,7 @@ func opStop(pc *uint64, interpreter *EVMInterpreter, callContext *callCtx) ([]by
|
|||||||
func opSuicide(pc *uint64, interpreter *EVMInterpreter, callContext *callCtx) ([]byte, error) {
|
func opSuicide(pc *uint64, interpreter *EVMInterpreter, callContext *callCtx) ([]byte, error) {
|
||||||
beneficiary := callContext.stack.pop()
|
beneficiary := callContext.stack.pop()
|
||||||
balance := interpreter.evm.StateDB.GetBalance(callContext.contract.Address())
|
balance := interpreter.evm.StateDB.GetBalance(callContext.contract.Address())
|
||||||
interpreter.evm.StateDB.AddBalance(common.Address(beneficiary.Bytes20()), balance)
|
interpreter.evm.StateDB.AddBalance(beneficiary.Bytes20(), balance)
|
||||||
interpreter.evm.StateDB.Suicide(callContext.contract.Address())
|
interpreter.evm.StateDB.Suicide(callContext.contract.Address())
|
||||||
return nil, nil
|
return nil, nil
|
||||||
}
|
}
|
||||||
@ -832,7 +832,7 @@ func makeLog(size int) executionFunc {
|
|||||||
mStart, mSize := stack.pop(), stack.pop()
|
mStart, mSize := stack.pop(), stack.pop()
|
||||||
for i := 0; i < size; i++ {
|
for i := 0; i < size; i++ {
|
||||||
addr := stack.pop()
|
addr := stack.pop()
|
||||||
topics[i] = common.Hash(addr.Bytes32())
|
topics[i] = addr.Bytes32()
|
||||||
}
|
}
|
||||||
|
|
||||||
d := callContext.memory.GetCopy(int64(mStart.Uint64()), int64(mSize.Uint64()))
|
d := callContext.memory.GetCopy(int64(mStart.Uint64()), int64(mSize.Uint64()))
|
||||||
|
@ -73,7 +73,7 @@ func gasSStoreEIP2929(evm *EVM, contract *Contract, stack *Stack, mem *Memory, m
|
|||||||
// return params.SloadGasEIP2200, nil
|
// return params.SloadGasEIP2200, nil
|
||||||
return cost + WarmStorageReadCostEIP2929, nil // SLOAD_GAS
|
return cost + WarmStorageReadCostEIP2929, nil // SLOAD_GAS
|
||||||
}
|
}
|
||||||
original := evm.StateDB.GetCommittedState(contract.Address(), common.Hash(x.Bytes32()))
|
original := evm.StateDB.GetCommittedState(contract.Address(), x.Bytes32())
|
||||||
if original == current {
|
if original == current {
|
||||||
if original == (common.Hash{}) { // create slot (2.1.1)
|
if original == (common.Hash{}) { // create slot (2.1.1)
|
||||||
return cost + params.SstoreSetGasEIP2200, nil
|
return cost + params.SstoreSetGasEIP2200, nil
|
||||||
|
@ -20,7 +20,7 @@ import (
|
|||||||
"context"
|
"context"
|
||||||
"sync"
|
"sync"
|
||||||
|
|
||||||
ethereum "github.com/ethereum/go-ethereum"
|
"github.com/ethereum/go-ethereum"
|
||||||
"github.com/ethereum/go-ethereum/event"
|
"github.com/ethereum/go-ethereum/event"
|
||||||
"github.com/ethereum/go-ethereum/rpc"
|
"github.com/ethereum/go-ethereum/rpc"
|
||||||
)
|
)
|
||||||
|
@ -25,7 +25,7 @@ import (
|
|||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
ethereum "github.com/ethereum/go-ethereum"
|
"github.com/ethereum/go-ethereum"
|
||||||
"github.com/ethereum/go-ethereum/common"
|
"github.com/ethereum/go-ethereum/common"
|
||||||
"github.com/ethereum/go-ethereum/common/hexutil"
|
"github.com/ethereum/go-ethereum/common/hexutil"
|
||||||
"github.com/ethereum/go-ethereum/core/types"
|
"github.com/ethereum/go-ethereum/core/types"
|
||||||
@ -292,7 +292,7 @@ func (api *PublicFilterAPI) NewFilter(crit FilterCriteria) (rpc.ID, error) {
|
|||||||
logs := make(chan []*types.Log)
|
logs := make(chan []*types.Log)
|
||||||
logsSub, err := api.events.SubscribeLogs(ethereum.FilterQuery(crit), logs)
|
logsSub, err := api.events.SubscribeLogs(ethereum.FilterQuery(crit), logs)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return rpc.ID(""), err
|
return "", err
|
||||||
}
|
}
|
||||||
|
|
||||||
api.filtersMu.Lock()
|
api.filtersMu.Lock()
|
||||||
|
@ -24,7 +24,7 @@ import (
|
|||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
ethereum "github.com/ethereum/go-ethereum"
|
"github.com/ethereum/go-ethereum"
|
||||||
"github.com/ethereum/go-ethereum/common"
|
"github.com/ethereum/go-ethereum/common"
|
||||||
"github.com/ethereum/go-ethereum/core"
|
"github.com/ethereum/go-ethereum/core"
|
||||||
"github.com/ethereum/go-ethereum/core/rawdb"
|
"github.com/ethereum/go-ethereum/core/rawdb"
|
||||||
|
@ -25,7 +25,7 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
ethereum "github.com/ethereum/go-ethereum"
|
"github.com/ethereum/go-ethereum"
|
||||||
"github.com/ethereum/go-ethereum/common"
|
"github.com/ethereum/go-ethereum/common"
|
||||||
"github.com/ethereum/go-ethereum/consensus/ethash"
|
"github.com/ethereum/go-ethereum/consensus/ethash"
|
||||||
"github.com/ethereum/go-ethereum/core"
|
"github.com/ethereum/go-ethereum/core"
|
||||||
|
@ -30,7 +30,7 @@ import (
|
|||||||
"github.com/ethereum/go-ethereum/core/vm"
|
"github.com/ethereum/go-ethereum/core/vm"
|
||||||
"github.com/ethereum/go-ethereum/crypto"
|
"github.com/ethereum/go-ethereum/crypto"
|
||||||
"github.com/ethereum/go-ethereum/log"
|
"github.com/ethereum/go-ethereum/log"
|
||||||
duktape "gopkg.in/olebedev/go-duktape.v3"
|
"gopkg.in/olebedev/go-duktape.v3"
|
||||||
)
|
)
|
||||||
|
|
||||||
// bigIntegerJS is the minified version of https://github.com/peterolson/BigInteger.js.
|
// bigIntegerJS is the minified version of https://github.com/peterolson/BigInteger.js.
|
||||||
|
@ -29,7 +29,7 @@ func TestSubCloseUnsub(t *testing.T) {
|
|||||||
// the point of this test is **not** to panic
|
// the point of this test is **not** to panic
|
||||||
var mux TypeMux
|
var mux TypeMux
|
||||||
mux.Stop()
|
mux.Stop()
|
||||||
sub := mux.Subscribe(int(0))
|
sub := mux.Subscribe(0)
|
||||||
sub.Unsubscribe()
|
sub.Unsubscribe()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -27,8 +27,8 @@ import (
|
|||||||
func TestFeedPanics(t *testing.T) {
|
func TestFeedPanics(t *testing.T) {
|
||||||
{
|
{
|
||||||
var f Feed
|
var f Feed
|
||||||
f.Send(int(2))
|
f.Send(2)
|
||||||
want := feedTypeError{op: "Send", got: reflect.TypeOf(uint64(0)), want: reflect.TypeOf(int(0))}
|
want := feedTypeError{op: "Send", got: reflect.TypeOf(uint64(0)), want: reflect.TypeOf(0)}
|
||||||
if err := checkPanic(want, func() { f.Send(uint64(2)) }); err != nil {
|
if err := checkPanic(want, func() { f.Send(uint64(2)) }); err != nil {
|
||||||
t.Error(err)
|
t.Error(err)
|
||||||
}
|
}
|
||||||
@ -37,14 +37,14 @@ func TestFeedPanics(t *testing.T) {
|
|||||||
var f Feed
|
var f Feed
|
||||||
ch := make(chan int)
|
ch := make(chan int)
|
||||||
f.Subscribe(ch)
|
f.Subscribe(ch)
|
||||||
want := feedTypeError{op: "Send", got: reflect.TypeOf(uint64(0)), want: reflect.TypeOf(int(0))}
|
want := feedTypeError{op: "Send", got: reflect.TypeOf(uint64(0)), want: reflect.TypeOf(0)}
|
||||||
if err := checkPanic(want, func() { f.Send(uint64(2)) }); err != nil {
|
if err := checkPanic(want, func() { f.Send(uint64(2)) }); err != nil {
|
||||||
t.Error(err)
|
t.Error(err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
var f Feed
|
var f Feed
|
||||||
f.Send(int(2))
|
f.Send(2)
|
||||||
want := feedTypeError{op: "Subscribe", got: reflect.TypeOf(make(chan uint64)), want: reflect.TypeOf(make(chan<- int))}
|
want := feedTypeError{op: "Subscribe", got: reflect.TypeOf(make(chan uint64)), want: reflect.TypeOf(make(chan<- int))}
|
||||||
if err := checkPanic(want, func() { f.Subscribe(make(chan uint64)) }); err != nil {
|
if err := checkPanic(want, func() { f.Subscribe(make(chan uint64)) }); err != nil {
|
||||||
t.Error(err)
|
t.Error(err)
|
||||||
@ -58,7 +58,7 @@ func TestFeedPanics(t *testing.T) {
|
|||||||
}
|
}
|
||||||
{
|
{
|
||||||
var f Feed
|
var f Feed
|
||||||
if err := checkPanic(errBadChannel, func() { f.Subscribe(int(0)) }); err != nil {
|
if err := checkPanic(errBadChannel, func() { f.Subscribe(0) }); err != nil {
|
||||||
t.Error(err)
|
t.Error(err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -77,7 +77,7 @@ func (a *Account) Code(ctx context.Context) (hexutil.Bytes, error) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return hexutil.Bytes{}, err
|
return hexutil.Bytes{}, err
|
||||||
}
|
}
|
||||||
return hexutil.Bytes(state.GetCode(a.address)), nil
|
return state.GetCode(a.address), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *Account) Storage(ctx context.Context, args struct{ Slot common.Hash }) (common.Hash, error) {
|
func (a *Account) Storage(ctx context.Context, args struct{ Slot common.Hash }) (common.Hash, error) {
|
||||||
@ -116,7 +116,7 @@ func (l *Log) Topics(ctx context.Context) []common.Hash {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (l *Log) Data(ctx context.Context) hexutil.Bytes {
|
func (l *Log) Data(ctx context.Context) hexutil.Bytes {
|
||||||
return hexutil.Bytes(l.log.Data)
|
return l.log.Data
|
||||||
}
|
}
|
||||||
|
|
||||||
// Transaction represents an Ethereum transaction.
|
// Transaction represents an Ethereum transaction.
|
||||||
@ -157,7 +157,7 @@ func (t *Transaction) InputData(ctx context.Context) (hexutil.Bytes, error) {
|
|||||||
if err != nil || tx == nil {
|
if err != nil || tx == nil {
|
||||||
return hexutil.Bytes{}, err
|
return hexutil.Bytes{}, err
|
||||||
}
|
}
|
||||||
return hexutil.Bytes(tx.Data()), nil
|
return tx.Data(), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t *Transaction) Gas(ctx context.Context) (hexutil.Uint64, error) {
|
func (t *Transaction) Gas(ctx context.Context) (hexutil.Uint64, error) {
|
||||||
@ -410,7 +410,7 @@ func (b *Block) resolveReceipts(ctx context.Context) ([]*types.Receipt, error) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
b.receipts = []*types.Receipt(receipts)
|
b.receipts = receipts
|
||||||
}
|
}
|
||||||
return b.receipts, nil
|
return b.receipts, nil
|
||||||
}
|
}
|
||||||
@ -490,7 +490,7 @@ func (b *Block) Nonce(ctx context.Context) (hexutil.Bytes, error) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return hexutil.Bytes{}, err
|
return hexutil.Bytes{}, err
|
||||||
}
|
}
|
||||||
return hexutil.Bytes(header.Nonce[:]), nil
|
return header.Nonce[:], nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (b *Block) MixHash(ctx context.Context) (common.Hash, error) {
|
func (b *Block) MixHash(ctx context.Context) (common.Hash, error) {
|
||||||
@ -564,7 +564,7 @@ func (b *Block) ExtraData(ctx context.Context) (hexutil.Bytes, error) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return hexutil.Bytes{}, err
|
return hexutil.Bytes{}, err
|
||||||
}
|
}
|
||||||
return hexutil.Bytes(header.Extra), nil
|
return header.Extra, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (b *Block) LogsBloom(ctx context.Context) (hexutil.Bytes, error) {
|
func (b *Block) LogsBloom(ctx context.Context) (hexutil.Bytes, error) {
|
||||||
@ -572,7 +572,7 @@ func (b *Block) LogsBloom(ctx context.Context) (hexutil.Bytes, error) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return hexutil.Bytes{}, err
|
return hexutil.Bytes{}, err
|
||||||
}
|
}
|
||||||
return hexutil.Bytes(header.Bloom.Bytes()), nil
|
return header.Bloom.Bytes(), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (b *Block) TotalDifficulty(ctx context.Context) (hexutil.Big, error) {
|
func (b *Block) TotalDifficulty(ctx context.Context) (hexutil.Big, error) {
|
||||||
@ -907,7 +907,7 @@ func (r *Resolver) Block(ctx context.Context, args struct {
|
|||||||
}) (*Block, error) {
|
}) (*Block, error) {
|
||||||
var block *Block
|
var block *Block
|
||||||
if args.Number != nil {
|
if args.Number != nil {
|
||||||
number := rpc.BlockNumber(uint64(*args.Number))
|
number := rpc.BlockNumber(*args.Number)
|
||||||
numberOrHash := rpc.BlockNumberOrHashWithNumber(number)
|
numberOrHash := rpc.BlockNumberOrHashWithNumber(number)
|
||||||
block = &Block{
|
block = &Block{
|
||||||
backend: r.backend,
|
backend: r.backend,
|
||||||
|
@ -28,7 +28,7 @@ import (
|
|||||||
"github.com/ethereum/go-ethereum/metrics"
|
"github.com/ethereum/go-ethereum/metrics"
|
||||||
"github.com/ethereum/go-ethereum/metrics/exp"
|
"github.com/ethereum/go-ethereum/metrics/exp"
|
||||||
"github.com/fjl/memsize/memsizeui"
|
"github.com/fjl/memsize/memsizeui"
|
||||||
colorable "github.com/mattn/go-colorable"
|
"github.com/mattn/go-colorable"
|
||||||
"github.com/mattn/go-isatty"
|
"github.com/mattn/go-isatty"
|
||||||
"gopkg.in/urfave/cli.v1"
|
"gopkg.in/urfave/cli.v1"
|
||||||
)
|
)
|
||||||
|
@ -793,7 +793,7 @@ func (args *CallArgs) ToMessage(globalGasCap uint64) types.Message {
|
|||||||
|
|
||||||
var data []byte
|
var data []byte
|
||||||
if args.Data != nil {
|
if args.Data != nil {
|
||||||
data = []byte(*args.Data)
|
data = *args.Data
|
||||||
}
|
}
|
||||||
|
|
||||||
msg := types.NewMessage(addr, args.To, 0, value, gas, gasPrice, data, false)
|
msg := types.NewMessage(addr, args.To, 0, value, gas, gasPrice, data, false)
|
||||||
|
@ -21,7 +21,7 @@ import (
|
|||||||
"path/filepath"
|
"path/filepath"
|
||||||
|
|
||||||
"github.com/ethereum/go-ethereum/params"
|
"github.com/ethereum/go-ethereum/params"
|
||||||
cli "gopkg.in/urfave/cli.v1"
|
"gopkg.in/urfave/cli.v1"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
@ -19,7 +19,6 @@ package miner
|
|||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/ethereum/go-ethereum/common"
|
|
||||||
"github.com/ethereum/go-ethereum/core/types"
|
"github.com/ethereum/go-ethereum/core/types"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -43,7 +42,7 @@ func TestUnconfirmedInsertBounds(t *testing.T) {
|
|||||||
for depth := uint64(0); depth < 2*uint64(limit); depth++ {
|
for depth := uint64(0); depth < 2*uint64(limit); depth++ {
|
||||||
// Insert multiple blocks for the same level just to stress it
|
// Insert multiple blocks for the same level just to stress it
|
||||||
for i := 0; i < int(depth); i++ {
|
for i := 0; i < int(depth); i++ {
|
||||||
pool.Insert(depth, common.Hash([32]byte{byte(depth), byte(i)}))
|
pool.Insert(depth, [32]byte{byte(depth), byte(i)})
|
||||||
}
|
}
|
||||||
// Validate that no blocks below the depth allowance are left in
|
// Validate that no blocks below the depth allowance are left in
|
||||||
pool.blocks.Do(func(block interface{}) {
|
pool.blocks.Do(func(block interface{}) {
|
||||||
@ -63,7 +62,7 @@ func TestUnconfirmedShifts(t *testing.T) {
|
|||||||
|
|
||||||
pool := newUnconfirmedBlocks(new(noopChainRetriever), limit)
|
pool := newUnconfirmedBlocks(new(noopChainRetriever), limit)
|
||||||
for depth := start; depth < start+uint64(limit); depth++ {
|
for depth := start; depth < start+uint64(limit); depth++ {
|
||||||
pool.Insert(depth, common.Hash([32]byte{byte(depth)}))
|
pool.Insert(depth, [32]byte{byte(depth)})
|
||||||
}
|
}
|
||||||
// Try to shift below the limit and ensure no blocks are dropped
|
// Try to shift below the limit and ensure no blocks are dropped
|
||||||
pool.Shift(start + uint64(limit) - 1)
|
pool.Shift(start + uint64(limit) - 1)
|
||||||
|
@ -21,7 +21,7 @@ package geth
|
|||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
|
|
||||||
ethereum "github.com/ethereum/go-ethereum"
|
"github.com/ethereum/go-ethereum"
|
||||||
"github.com/ethereum/go-ethereum/common"
|
"github.com/ethereum/go-ethereum/common"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -163,7 +163,7 @@ func splitNodeItemKey(key []byte) (id ID, ip net.IP, field string) {
|
|||||||
}
|
}
|
||||||
key = key[len(dbDiscoverRoot)+1:]
|
key = key[len(dbDiscoverRoot)+1:]
|
||||||
// Split out the IP.
|
// Split out the IP.
|
||||||
ip = net.IP(key[:16])
|
ip = key[:16]
|
||||||
if ip4 := ip.To4(); ip4 != nil {
|
if ip4 := ip.To4(); ip4 != nil {
|
||||||
ip = ip4
|
ip = ip4
|
||||||
}
|
}
|
||||||
|
@ -506,7 +506,7 @@ func parseBytes(encType interface{}) ([]byte, bool) {
|
|||||||
case []byte:
|
case []byte:
|
||||||
return v, true
|
return v, true
|
||||||
case hexutil.Bytes:
|
case hexutil.Bytes:
|
||||||
return []byte(v), true
|
return v, true
|
||||||
case string:
|
case string:
|
||||||
bytes, err := hexutil.Decode(v)
|
bytes, err := hexutil.Decode(v)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -100,7 +100,7 @@ func (n rawNode) cache() (hashNode, bool) { panic("this should never end up in
|
|||||||
func (n rawNode) fstring(ind string) string { panic("this should never end up in a live trie") }
|
func (n rawNode) fstring(ind string) string { panic("this should never end up in a live trie") }
|
||||||
|
|
||||||
func (n rawNode) EncodeRLP(w io.Writer) error {
|
func (n rawNode) EncodeRLP(w io.Writer) error {
|
||||||
_, err := w.Write([]byte(n))
|
_, err := w.Write(n)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -173,7 +173,7 @@ func (it *nodeIterator) LeafKey() []byte {
|
|||||||
func (it *nodeIterator) LeafBlob() []byte {
|
func (it *nodeIterator) LeafBlob() []byte {
|
||||||
if len(it.stack) > 0 {
|
if len(it.stack) > 0 {
|
||||||
if node, ok := it.stack[len(it.stack)-1].node.(valueNode); ok {
|
if node, ok := it.stack[len(it.stack)-1].node.(valueNode); ok {
|
||||||
return []byte(node)
|
return node
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
panic("not at leaf")
|
panic("not at leaf")
|
||||||
|
Loading…
Reference in New Issue
Block a user