|
|
|
@ -46,7 +46,6 @@ import ( |
|
|
|
|
const ( |
|
|
|
|
defaultGas = 90000 |
|
|
|
|
defaultGasPrice = 50 * params.Shannon |
|
|
|
|
emptyHex = "0x" |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
// PublicEthereumAPI provides an API to access Ethereum related information.
|
|
|
|
@ -548,26 +547,6 @@ func (s *PublicBlockChainAPI) GetStorageAt(ctx context.Context, address common.A |
|
|
|
|
return res[:], state.Error() |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// callmsg is the message type used for call transitions.
|
|
|
|
|
type callmsg struct { |
|
|
|
|
addr common.Address |
|
|
|
|
to *common.Address |
|
|
|
|
gas, gasPrice *big.Int |
|
|
|
|
value *big.Int |
|
|
|
|
data []byte |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// accessor boilerplate to implement core.Message
|
|
|
|
|
func (m callmsg) From() (common.Address, error) { return m.addr, nil } |
|
|
|
|
func (m callmsg) FromFrontier() (common.Address, error) { return m.addr, nil } |
|
|
|
|
func (m callmsg) Nonce() uint64 { return 0 } |
|
|
|
|
func (m callmsg) CheckNonce() bool { return false } |
|
|
|
|
func (m callmsg) To() *common.Address { return m.to } |
|
|
|
|
func (m callmsg) GasPrice() *big.Int { return m.gasPrice } |
|
|
|
|
func (m callmsg) Gas() *big.Int { return m.gas } |
|
|
|
|
func (m callmsg) Value() *big.Int { return m.value } |
|
|
|
|
func (m callmsg) Data() []byte { return m.data } |
|
|
|
|
|
|
|
|
|
// CallArgs represents the arguments for a call.
|
|
|
|
|
type CallArgs struct { |
|
|
|
|
From common.Address `json:"from"` |
|
|
|
@ -626,10 +605,8 @@ func (s *PublicBlockChainAPI) doCall(ctx context.Context, args CallArgs, blockNr |
|
|
|
|
// Wait for the context to be done and cancel the evm. Even if the
|
|
|
|
|
// EVM has finished, cancelling may be done (repeatedly)
|
|
|
|
|
go func() { |
|
|
|
|
select { |
|
|
|
|
case <-ctx.Done(): |
|
|
|
|
evm.Cancel() |
|
|
|
|
} |
|
|
|
|
<-ctx.Done() |
|
|
|
|
evm.Cancel() |
|
|
|
|
}() |
|
|
|
|
|
|
|
|
|
// Setup the gas pool (also for unmetered requests)
|
|
|
|
@ -1306,7 +1283,7 @@ func (api *PublicDebugAPI) PrintBlock(ctx context.Context, number uint64) (strin |
|
|
|
|
if block == nil { |
|
|
|
|
return "", fmt.Errorf("block #%d not found", number) |
|
|
|
|
} |
|
|
|
|
return fmt.Sprintf("%s", block), nil |
|
|
|
|
return block.String(), nil |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// SeedHash retrieves the seed hash of a block.
|
|
|
|
|