consensus, core, core/vm, parems: review fixes

This commit is contained in:
Jeffrey Wilcke
2017-05-12 21:35:45 +02:00
parent e6aff513db
commit a5f6a1cb7c
6 changed files with 34 additions and 42 deletions

View File

@ -209,9 +209,6 @@ func makeHeader(config *params.ChainConfig, parent *types.Block, state *state.St
} else {
time = new(big.Int).Add(parent.Time(), big.NewInt(10)) // block time is fixed at 10 seconds
}
parentHeader := parent.Header()
// adjust the parent time
parentHeader.Time = new(big.Int).Sub(time, big.NewInt(10))
return &types.Header{
Root: state.IntermediateRoot(config.IsEIP158(parent.Number())),

View File

@ -108,17 +108,6 @@ type Signer interface {
Equal(Signer) bool
}
/*
// WithSignature returns a new transaction with the given signature. This signature
// needs to be in the [R || S || V] format where V is 0 or 1.
func (s EIP86Signer) WithSignature(tx *Transaction, sig []byte) (*Transaction, error) {
}
// Hash returns the hash to be signed by the sender.
// It does not uniquely identify the transaction.
func (s EIP86Signer) Hash(tx *Transaction) common.Hash {}
*/
// EIP155Transaction implements TransactionInterface using the
// EIP155 rules
type EIP155Signer struct {

View File

@ -45,7 +45,7 @@ type Config struct {
DisableGasMetering bool
// Enable recording of SHA3/keccak preimages
EnablePreimageRecording bool
// JumpTable contains the in instruction table. This
// JumpTable contains the EVM instruction table. This
// may me left uninitialised and will be set the default
// table.
JumpTable [256]operation
@ -74,7 +74,7 @@ func NewInterpreter(evm *EVM, cfg Config) *Interpreter {
case evm.ChainConfig().IsHomestead(evm.BlockNumber):
cfg.JumpTable = homesteadInstructionSet
default:
cfg.JumpTable = baseInstructionSet
cfg.JumpTable = frontierInstructionSet
}
}
@ -131,14 +131,14 @@ func (in *Interpreter) Run(snapshot int, contract *Contract, input []byte) (ret
}
}()
log.Debug("in running contract", "hash", codehash[:])
log.Debug("interpreter running contract", "hash", codehash[:])
tstart := time.Now()
defer log.Debug("in finished running contract", "hash", codehash[:], "elapsed", time.Since(tstart))
defer log.Debug("interpreter finished running contract", "hash", codehash[:], "elapsed", time.Since(tstart))
// The Interpreter main run loop (contextual). This loop runs until either an
// explicit STOP, RETURN or SELFDESTRUCT is executed, an error occurred during
// the execution of one of the operations or until the in.done is set by
// the parent context.Context.
// the execution of one of the operations or until the done flag is set by the
// parent context.
for atomic.LoadInt32(&in.evm.abort) == 0 {
// Get the memory location of pc
op = contract.GetOp(pc)

View File

@ -56,12 +56,14 @@ type operation struct {
}
var (
baseInstructionSet = NewBaseInstructionSet()
frontierInstructionSet = NewFrontierInstructionSet()
homesteadInstructionSet = NewHomesteadInstructionSet()
)
// NewHomesteadInstructionSet returns the frontier and homestead
// instructions that can be executed during the homestead phase.
func NewHomesteadInstructionSet() [256]operation {
instructionSet := NewBaseInstructionSet()
instructionSet := NewFrontierInstructionSet()
instructionSet[DELEGATECALL] = operation{
execute: opDelegateCall,
gasCost: gasDelegateCall,
@ -72,7 +74,9 @@ func NewHomesteadInstructionSet() [256]operation {
return instructionSet
}
func NewBaseInstructionSet() [256]operation {
// NewFrontierInstructionSet returns the frontier instructions
// that can be executed during the frontier phase.
func NewFrontierInstructionSet() [256]operation {
return [256]operation{
STOP: {
execute: opStop,