diff options
author | Jeffrey Wilcke <geffobscura@gmail.com> | 2015-07-10 00:06:39 +0800 |
---|---|---|
committer | Jeffrey Wilcke <geffobscura@gmail.com> | 2015-07-10 00:06:39 +0800 |
commit | 98f4c936f25de27dbc90f36f2c1ffd1f23b114e9 (patch) | |
tree | 07f8b038c7421e1a9af0fd54e7b78e0002c4591e /tests/block_test_util.go | |
parent | 423c2f499c2350ae54d02a3151686ebd39fc8c94 (diff) | |
parent | 344277d026001d8e114ebfad92f1c385dcd3d3da (diff) | |
download | dexon-98f4c936f25de27dbc90f36f2c1ffd1f23b114e9.tar dexon-98f4c936f25de27dbc90f36f2c1ffd1f23b114e9.tar.gz dexon-98f4c936f25de27dbc90f36f2c1ffd1f23b114e9.tar.bz2 dexon-98f4c936f25de27dbc90f36f2c1ffd1f23b114e9.tar.lz dexon-98f4c936f25de27dbc90f36f2c1ffd1f23b114e9.tar.xz dexon-98f4c936f25de27dbc90f36f2c1ffd1f23b114e9.tar.zst dexon-98f4c936f25de27dbc90f36f2c1ffd1f23b114e9.zip |
Merge branch 'release/0.9.38'
Diffstat (limited to 'tests/block_test_util.go')
-rw-r--r-- | tests/block_test_util.go | 40 |
1 files changed, 32 insertions, 8 deletions
diff --git a/tests/block_test_util.go b/tests/block_test_util.go index 5432bf845..e624cced0 100644 --- a/tests/block_test_util.go +++ b/tests/block_test_util.go @@ -208,10 +208,22 @@ func (t *BlockTest) InsertPreState(ethereum *eth.Ethereum) (*state.StateDB, erro db := ethereum.StateDb() statedb := state.New(common.Hash{}, db) for addrString, acct := range t.preAccounts { - addr, _ := hex.DecodeString(addrString) - code, _ := hex.DecodeString(strings.TrimPrefix(acct.Code, "0x")) - balance, _ := new(big.Int).SetString(acct.Balance, 0) - nonce, _ := strconv.ParseUint(acct.Nonce, 16, 64) + addr, err := hex.DecodeString(addrString) + if err != nil { + return nil, err + } + code, err := hex.DecodeString(strings.TrimPrefix(acct.Code, "0x")) + if err != nil { + return nil, err + } + balance, ok := new(big.Int).SetString(acct.Balance, 0) + if !ok { + return nil, err + } + nonce, err := strconv.ParseUint(prepInt(16, acct.Nonce), 16, 64) + if err != nil { + return nil, err + } if acct.PrivateKey != "" { privkey, err := hex.DecodeString(strings.TrimPrefix(acct.PrivateKey, "0x")) @@ -365,10 +377,22 @@ func (s *BlockTest) validateBlockHeader(h *btHeader, h2 *types.Header) error { func (t *BlockTest) ValidatePostState(statedb *state.StateDB) error { for addrString, acct := range t.preAccounts { // XXX: is is worth it checking for errors here? - addr, _ := hex.DecodeString(addrString) - code, _ := hex.DecodeString(strings.TrimPrefix(acct.Code, "0x")) - balance, _ := new(big.Int).SetString(acct.Balance, 0) - nonce, _ := strconv.ParseUint(acct.Nonce, 16, 64) + addr, err := hex.DecodeString(addrString) + if err != nil { + return err + } + code, err := hex.DecodeString(strings.TrimPrefix(acct.Code, "0x")) + if err != nil { + return err + } + balance, ok := new(big.Int).SetString(acct.Balance, 0) + if !ok { + return err + } + nonce, err := strconv.ParseUint(prepInt(16, acct.Nonce), 16, 64) + if err != nil { + return err + } // address is indirectly verified by the other fields, as it's the db key code2 := statedb.GetCode(common.BytesToAddress(addr)) |