diff options
author | obscuren <geffobscura@gmail.com> | 2015-02-27 01:39:05 +0800 |
---|---|---|
committer | obscuren <geffobscura@gmail.com> | 2015-02-27 01:39:05 +0800 |
commit | 37e6870f64437a212fde383ab1538ad1e7e2acd9 (patch) | |
tree | fbcd0c11c1ca9931a6a8f6c74ae02340cb097bb2 /core | |
parent | a1c830cd3c53bce7748d97e3f99fe6a90d526adb (diff) | |
download | dexon-37e6870f64437a212fde383ab1538ad1e7e2acd9.tar.gz dexon-37e6870f64437a212fde383ab1538ad1e7e2acd9.tar.zst dexon-37e6870f64437a212fde383ab1538ad1e7e2acd9.zip |
wip
Diffstat (limited to 'core')
-rw-r--r-- | core/block_processor.go | 10 | ||||
-rw-r--r-- | core/state_transition.go | 4 |
2 files changed, 8 insertions, 6 deletions
diff --git a/core/block_processor.go b/core/block_processor.go index f66d158b2..5e943bda5 100644 --- a/core/block_processor.go +++ b/core/block_processor.go @@ -48,9 +48,8 @@ type BlockProcessor struct { func NewBlockProcessor(db ethutil.Database, txpool *TxPool, chainManager *ChainManager, eventMux *event.TypeMux) *BlockProcessor { sm := &BlockProcessor{ - db: db, - mem: make(map[string]*big.Int), - //Pow: ðash.Ethash{}, + db: db, + mem: make(map[string]*big.Int), Pow: ezp.New(), bc: chainManager, eventMux: eventMux, @@ -100,7 +99,8 @@ func (self *BlockProcessor) ApplyTransaction(coinbase *state.StateObject, stated // Notify all subscribers if !transientProcess { go self.eventMux.Post(TxPostEvent{tx}) - go self.eventMux.Post(statedb.Logs()) + logs := statedb.Logs() + go self.eventMux.Post(logs) } return receipt, txGas, err @@ -205,6 +205,8 @@ func (sm *BlockProcessor) processWithParent(block, parent *types.Block) (td *big receiptSha := types.DeriveSha(receipts) if bytes.Compare(receiptSha, header.ReceiptHash) != 0 { fmt.Println("receipts", receipts) + state.Sync() + chainlogger.Infof("%s\n", state.Dump()) err = fmt.Errorf("validating receipt root. received=%x got=%x", header.ReceiptHash, receiptSha) return } diff --git a/core/state_transition.go b/core/state_transition.go index 36ffa23d9..7331fdd4a 100644 --- a/core/state_transition.go +++ b/core/state_transition.go @@ -126,7 +126,7 @@ func (self *StateTransition) BuyGas() error { self.AddGas(self.msg.Gas()) self.initialGas.Set(self.msg.Gas()) - sender.SubAmount(MessageGasValue(self.msg)) + sender.SubBalance(MessageGasValue(self.msg)) return nil } @@ -251,7 +251,7 @@ func (self *StateTransition) RefundGas() { coinbase, sender := self.Coinbase(), self.From() // Return remaining gas remaining := new(big.Int).Mul(self.gas, self.msg.GasPrice()) - sender.AddAmount(remaining) + sender.AddBalance(remaining) uhalf := new(big.Int).Div(self.GasUsed(), ethutil.Big2) for addr, ref := range self.state.Refunds() { |