forked from cerc-io/plugeth
Moved BlockDo to utils
This commit is contained in:
parent
fd1ddbce68
commit
1e965cb8f5
@ -215,7 +215,7 @@ func (self *JSRE) execBlock(call otto.FunctionCall) otto.Value {
|
|||||||
return otto.UndefinedValue()
|
return otto.UndefinedValue()
|
||||||
}
|
}
|
||||||
|
|
||||||
err = self.ethereum.BlockDo(ethutil.FromHex(hash))
|
err = utils.BlockDo(self.ethereum, ethutil.FromHex(hash))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Println(err)
|
fmt.Println(err)
|
||||||
return otto.FalseValue()
|
return otto.FalseValue()
|
||||||
|
19
utils/cmd.go
19
utils/cmd.go
@ -1,6 +1,7 @@
|
|||||||
package utils
|
package utils
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
"github.com/ethereum/eth-go"
|
"github.com/ethereum/eth-go"
|
||||||
"github.com/ethereum/eth-go/ethminer"
|
"github.com/ethereum/eth-go/ethminer"
|
||||||
"github.com/ethereum/eth-go/ethpub"
|
"github.com/ethereum/eth-go/ethpub"
|
||||||
@ -74,3 +75,21 @@ func StartMining(ethereum *eth.Ethereum) bool {
|
|||||||
|
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Replay block
|
||||||
|
func BlockDo(ethereum *eth.Ethereum, hash []byte) error {
|
||||||
|
block := ethereum.BlockChain().GetBlock(hash)
|
||||||
|
if block == nil {
|
||||||
|
return fmt.Errorf("unknown block %x", hash)
|
||||||
|
}
|
||||||
|
|
||||||
|
parent := ethereum.BlockChain().GetBlock(block.PrevHash)
|
||||||
|
|
||||||
|
_, err := ethereum.StateManager().ApplyDiff(parent.State(), parent, block)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user