Paweł Bylica
de39513ced
core, internal, eth, miner, les: Take VM config from BlockChain ( #17955 )
...
Until this commit, when sending an RPC request that called `NewEVM`, a blank `vm.Config`
would be taken so as to set some options, based on the default configuration. If some extra
configuration switches were passed to the blockchain, those would be ignored.
This PR adds a function to get the config from the blockchain, and this is what is now used
for RPC calls.
Some subsequent changes need to be made, see https://github.com/ethereum/go-ethereum/pull/17955#pullrequestreview-182237244
for the details of the discussion.
6 years ago
Kenso Trabing
14346e4ef9
internal: fix typo in comments ( #18106 )
...
Changed "signTransactions" to "signTransaction"
6 years ago
Simon Jentzsch
97fb08342d
EIP-1186 eth_getProof ( #17737 )
...
* first impl of eth_getProof
* fixed docu
* added comments and refactored based on comments from holiman
* created structs
* handle errors correctly
* change Value to *hexutil.Big in order to have the same output as parity
* use ProofList as return type
6 years ago
Péter Szilágyi
aff421e78c
internal/ethapi: warn on failed account accesses
6 years ago
Liang ZOU
6663e5da10
all: fix various comment typos ( #17748 )
6 years ago
Péter Szilágyi
e8f229b82e
cmd, core, eth, miner, params: configurable gas floor and ceil
6 years ago
Felix Lange
0255951587
crypto: replace ToECDSAPub with error-checking func UnmarshalPubkey ( #16932 )
...
ToECDSAPub was unsafe because it returned a non-nil key with nil X, Y in
case of invalid input. This change replaces ToECDSAPub with
UnmarshalPubkey across the codebase.
7 years ago
Péter Szilágyi
90829a04bf
internal/ethapi: reduce pendingTransactions to O(txs+accs) from O(txs*accs)
7 years ago
Péter Szilágyi
99483e85b9
rpc: support returning nil pointer big.Ints (null)
7 years ago
Martin Holst Swende
eac16f9824
core: improve getBadBlocks to return full block rlp ( #16902 )
...
* core: improve getBadBlocks to return full block rlp
* core, eth, ethapi: changes to getBadBlocks formatting
* ethapi: address review concerns
7 years ago
kiel barry
cbfb40b0aa
params: fix golint warnings ( #16853 )
...
params: fix golint warnings
7 years ago
Péter Szilágyi
49719e21bc
core, eth: minor txpool event cleanups
7 years ago
rjl493456442
a2e43d28d0
all: collate new transaction events together
7 years ago
Péter Szilágyi
6cf0ab38bd
core/rawdb: separate raw database access to own package ( #16666 )
7 years ago
Steven Roose
ec8ee611ca
core/types: remove String methods from struct types ( #16205 )
...
Most of these methods did not contain all the relevant information
inside the object and were not using a similar formatting type.
Moreover, the existence of a suboptimal String method breaks usage
with more advanced data dumping tools like go-spew.
7 years ago
Péter Szilágyi
28ef23f446
internal/ethapi: make resent gas params optional
7 years ago
Péter Szilágyi
b7e57ca1d0
cmd/evm, core/vm, internal/ethapi: don't disable call gas metering
7 years ago
Péter Szilágyi
ba7b384019
internal/ethapi: fix getTransactionReceipt
7 years ago
Péter Szilágyi
5cf1d35470
eth, les, light: filter on logs only, derive receipts on demand
7 years ago
Martin Holst Swende
b585f76128
ethapi: prevent creating contract if no data is provided ( #16108 )
...
* ethapi: prevent creating contract if no data is provided
* internal/ethapi: downcase error for no data on contract creation
7 years ago
Felix Lange
a5c0bbb4f4
all: update license information ( #16089 )
7 years ago
Péter Szilágyi
55599ee95d
core, trie: intermediate mempool between trie and database ( #15857 )
...
This commit reduces database I/O by not writing every state trie to disk.
7 years ago
Guillaume Ballet
dd7a715d73
internal: fix a typo that caused a lint error on travis ( #15987 )
7 years ago
Martin Holst Swende
722bac84fa
ethapi: add personal.signTransaction ( #15971 )
...
* ethapi: add personal.signTransaction
* ethapi: refactor to minimize duplicate code
* ethapi: make nonce,gas,gasPrice obligatory in signTransaction
7 years ago
Péter Szilágyi
6f69cdd109
all: switch gas limits from big.Int to uint64
7 years ago
Péter Szilágyi
5258785c81
cmd, core, eth/tracers: support fancier js tracing ( #15516 )
...
* cmd, core, eth/tracers: support fancier js tracing
* eth, internal/web3ext: rework trace API, concurrency, chain tracing
* eth/tracers: add three more JavaScript tracers
* eth/tracers, vendor: swap ottovm to duktape for tracing
* core, eth, internal: finalize call tracer and needed extras
* eth, tests: prestate tracer, call test suite, rewinding
* vendor: fix windows builds for tracer js engine
* vendor: temporary duktape fix
* eth/tracers: fix up 4byte and evmdis tracer
* vendor: pull in latest duktape with my upstream fixes
* eth: fix some review comments
* eth: rename rewind to reexec to make it more obvious
* core/vm: terminate tracing using defers
7 years ago
Felix Lange
8c33ac10bf
internal/ethapi: support "input" in transaction args ( #15640 )
...
The tx data field is called "input" in returned objects and "data" in
argument objects. Make it so "input" can be used, but bail if both
are set.
7 years ago
Paweł Bylica
fb5f25eeee
core/vm: Remove snapshot param from Interpreter.Run()
7 years ago
rhaps107
e9971d356b
internal/ethapi: don't crash for missing receipts
...
Fixes #15408
Fixes #14432
7 years ago
yoza
bbea4b2b53
internal/ethapi: fix typo in comment ( #15659 )
7 years ago
Péter Szilágyi
989fb4472a
internal/ethapi: avoid recreating JavaScript tracer wrappers
7 years ago
Pulyak Viktor
f5091e5711
internal/ethapi: fix js tracer to properly decode addresses ( #15297 )
...
* Add method getBalanceFromJs for work with address as bytes
* expect []byte instead of common.Address in ethapi tracer
7 years ago
tsarpaul
c7b0abf86b
Added output to clarify gas calculation in txpool.inspect
7 years ago
Péter Szilágyi
b0190189a3
core/vm, internal/ethapi: tracer no full storage, nicer json output ( #15499 )
...
* core/vm, internal/ethapi: tracer no full storage, nicer json output
* core/vm, internal/ethapi: omit disabled trace fields
7 years ago
gary rong
984c25ac40
accounts, internal: fail if no suitable estimated gas found ( #15477 )
...
* accounts, internal: return an error if no suitable estimated gas found
* accounts, internal: minor polishes on the gas estimator
7 years ago
rjl493456442
94903d572b
internal, accounts, eth: utilize vm failed flag to help gas estimation
7 years ago
Péter Szilágyi
7e9e3a134b
core/types, internal: swap Receipt.Failed to Status
7 years ago
rjl493456442
a31835c8b4
internal/ethapi: add status code to receipt rpc return
7 years ago
slumber1122
2b4a5f2677
internal/ethapi: remove code duplication around tx sending ( #15158 )
7 years ago
Ernesto del Toro
3c8656347f
eth, internal/ethapi: fix spelling of 'Ethereum' ( #15164 )
7 years ago
Péter Szilágyi
da7d57e07c
core: make txpool operate on immutable state
7 years ago
Martin Holst Swende
286ec5df40
cmd/evm, core/vm, internal/ethapi: Show error when exiting ( #14985 )
...
* cmd/evm, core/vm, internal/ethapi: Add 'err' to tracer interface CaptureEnd
* cmd/evm: fix nullpointer when there is no error
7 years ago
rjl493456442
28aea46ac0
core: implement Metropolis EIP 658, receipt status byte
7 years ago
Miya Chen
bf1e263128
core, light: send chain events using event.Feed ( #14865 )
7 years ago
Péter Szilágyi
5d9ac49c7e
accounts: refactor API for generalized USB wallets
7 years ago
Péter Szilágyi
db568a61e2
accounts, console, internal: support trezor hardware wallet
7 years ago
Egon Elbre
f42bd73ce5
internal: fix megacheck warnings ( #14919 )
7 years ago
Péter Szilágyi
0ff35e170d
core: remove redundant storage of transactions and receipts ( #14801 )
...
* core: remove redundant storage of transactions and receipts
* core, eth, internal: new transaction schema usage polishes
* eth: implement upgrade mechanism for db deduplication
* core, eth: drop old sequential key db upgrader
* eth: close last iterator on successful db upgrage
* core: prefix the lookup entries to make their purpose clearer
7 years ago
Felix Lange
9e5f03b6c4
core/state: access trie through Database interface, track errors ( #14589 )
...
With this commit, core/state's access to the underlying key/value database is
mediated through an interface. Database errors are tracked in StateDB and
returned by CommitTo or the new Error method.
Motivation for this change: We can remove the light client's duplicated copy of
core/state. The light client now supports node iteration, so tracing and storage
enumeration can work with the light client (not implemented in this commit).
7 years ago
Martin Holst Swende
80f7c6c299
cmd/evm: add --prestate, --sender, --json flags for fuzzing ( #14476 )
8 years ago