aboutsummaryrefslogtreecommitdiffstats
path: root/tests/block_test_util.go
diff options
context:
space:
mode:
authorGustav Simonsson <gustav.simonsson@gmail.com>2015-07-08 05:57:54 +0800
committerGustav Simonsson <gustav.simonsson@gmail.com>2015-07-08 19:09:22 +0800
commitb08abe64e4d2e3fa8d10c89647595226d6b31b19 (patch)
tree30e1f8b499313bd71a7910b62d773a586fbbd156 /tests/block_test_util.go
parent0b53a5c67381b3843ae01bf4210b57416ab5d210 (diff)
downloaddexon-b08abe64e4d2e3fa8d10c89647595226d6b31b19.tar.gz
dexon-b08abe64e4d2e3fa8d10c89647595226d6b31b19.tar.zst
dexon-b08abe64e4d2e3fa8d10c89647595226d6b31b19.zip
Unskip SimpleTx3, check err in pre/post state validations
Diffstat (limited to 'tests/block_test_util.go')
-rw-r--r--tests/block_test_util.go40
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))