mirror of
https://gitlab.com/pulsechaincom/go-pulse.git
synced 2024-12-23 11:57:17 +00:00
comments & refactor
This commit is contained in:
parent
cebf4e3697
commit
c734dde982
@ -124,6 +124,9 @@ done:
|
||||
}
|
||||
}
|
||||
|
||||
// Notify all subscribers
|
||||
self.Ethereum.Reactor().Post("newTx:post", tx)
|
||||
|
||||
txGas.Sub(txGas, st.gas)
|
||||
accumelative := new(big.Int).Set(totalUsedGas.Add(totalUsedGas, txGas))
|
||||
receipt := &Receipt{tx, ethutil.CopyBytes(state.Root().([]byte)), accumelative}
|
||||
@ -158,7 +161,6 @@ func (sm *StateManager) ProcessBlock(state *State, parent, block *Block, dontRea
|
||||
hash := block.Hash()
|
||||
|
||||
if sm.bc.HasBlock(hash) {
|
||||
//fmt.Println("[STATE] We already have this block, ignoring")
|
||||
return nil
|
||||
}
|
||||
|
||||
|
@ -6,6 +6,22 @@ import (
|
||||
"math/big"
|
||||
)
|
||||
|
||||
/*
|
||||
* The State transitioning model
|
||||
*
|
||||
* A state transition is a change made when a transaction is applied to the current world state
|
||||
* The state transitioning model does all all the necessary work to work out a valid new state root.
|
||||
* 1) Nonce handling
|
||||
* 2) Pre pay / buy gas of the coinbase (miner)
|
||||
* 3) Create a new state object if the recipient is \0*32
|
||||
* 4) Value transfer
|
||||
* == If contract creation ==
|
||||
* 4a) Attempt to run transaction data
|
||||
* 4b) If valid, use result as code for the new state object
|
||||
* == end ==
|
||||
* 5) Run Script section
|
||||
* 6) Derive new state root
|
||||
*/
|
||||
type StateTransition struct {
|
||||
coinbase []byte
|
||||
tx *Transaction
|
||||
@ -115,10 +131,6 @@ func (self *StateTransition) TransitionState() (err error) {
|
||||
}
|
||||
|
||||
sender.Nonce += 1
|
||||
defer func() {
|
||||
// Notify all subscribers
|
||||
//self.Ethereum.Reactor().Post("newTx:post", tx)
|
||||
}()
|
||||
|
||||
if err = self.BuyGas(); err != nil {
|
||||
return err
|
||||
|
Loading…
Reference in New Issue
Block a user