cui
f8601430fd
core: should enqueue the invalids tx anyway
...
even the pending is empty we shoud enqueue the invalid txs
2018-03-07 10:07:50 +02:00
Péter Szilágyi
bd6879ac51
core/vm, crypto/bn256: switch over to cloudflare library ( #16203 )
...
* core/vm, crypto/bn256: switch over to cloudflare library
* crypto/bn256: unmarshal constraint + start pure go impl
* crypto/bn256: combo cloudflare and google lib
* travis: drop 386 test job
2018-03-05 14:33:45 +02:00
Péter Szilágyi
b7e57ca1d0
cmd/evm, core/vm, internal/ethapi: don't disable call gas metering
2018-03-05 14:01:13 +02:00
Péter Szilágyi
ca64a122d3
eth/downloader: save and load trie sync progress ( #16224 )
2018-03-03 00:52:39 +01:00
Mark Rushakoff
98ec5e5011
core/asm: rename isAlphaNumeric to isLetter ( #16212 )
...
The function would return false for numbers, so isLetter is a more
accurate description of the behavior.
2018-02-28 12:20:07 +02:00
Martin Holst Swende
f83237573f
core: make current*Block atomic, and accessor functions mutex-free ( #16171 )
...
* core: make current*Block atomic, and accessor functions mutex-free
* core: fix review concerns
* core: fix error in atomic assignment
* core/light: implement atomic getter/setter for headerchain
2018-02-26 11:53:10 +02:00
Péter Szilágyi
89f914c030
core: flush out trie cache more meaningfully on stop ( #16143 )
...
* core: flush out trie cache more meaningfully on stop
* core: upgrade legacy tests to chain maker
2018-02-23 14:02:33 +02:00
Martin Holst Swende
44d40ffce1
core, vm, common: define constantinople fork + shift ( #16045 )
...
* core, vm, common: define constantinople fork, start implementation of shift instructions
* vm: more testcases
* vm: add tests for intpool erroneous intpool handling
* core, vm, common: fix constantinople review concerns
* vm: add string<->op definitions for new opcodes
2018-02-23 12:32:57 +02:00
Anton Evangelatov
ae9f97221a
metrics: pull library and introduce ResettingTimer and InfluxDB reporter ( #15910 )
...
* go-metrics: fork library and introduce ResettingTimer and InfluxDB reporter.
* vendor: change nonsense/go-metrics to ethersphere/go-metrics
* go-metrics: add tests. move ResettingTimer logic from reporter to type.
* all, metrics: pull in metrics package in go-ethereum
* metrics/test: make sure metrics are enabled for tests
* metrics: apply gosimple rules
* metrics/exp, internal/debug: init expvar endpoint when starting pprof server
* internal/debug: tiny comment formatting fix
2018-02-23 11:56:08 +02:00
Péter Szilágyi
0b3e23f636
core: yeah, funny file, drop it
2018-02-22 15:41:48 +02:00
ferhat elmas
dc7ca52b3b
core: handle ignored error ( #16065 )
...
- according to implementation of `IntrinsicGas`
we can continue execution since problem will be detected
later. However, early return is future-proof for changes.
2018-02-14 22:02:51 +02:00
ferhat elmas
ff225db813
core/vm: remove unused hashing ( #16075 )
2018-02-14 15:41:05 +02:00
Felix Lange
a5c0bbb4f4
all: update license information ( #16089 )
2018-02-14 13:49:11 +01:00
Felix Lange
b007412db1
core: soften up state memory force-commit log messages ( #16080 )
...
Talk about "state" instead of "trie timing", "trie memory" and remove
the overzealous warning when the limit is just reached. Since the time
limit is always reached on slow machines, move the message to info level
so users don't freak out about internal details.
2018-02-13 15:12:55 +02:00
Péter Szilágyi
69c1f2c2a7
core: force import known but rolled back blocks
2018-02-12 11:54:14 +02:00
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.
2018-02-05 17:40:32 +01:00
Péter Szilágyi
fdb34b7a7c
Merge pull request #15996 from karalabe/drop-redundant-methods
...
core, eth, les, light: get rid of redundant methods
2018-01-31 12:46:38 +02:00
Martin Holst Swende
017b9f7eac
core, ethdb: reuse database batches ( #15989 )
...
* leveldb: Update leveldb to 211f780 (poolfix)
* core, ethdb: reuse database batches
2018-01-30 19:03:31 +02:00
Péter Szilágyi
566d5c0777
core, eth, les, light: get rid of redundant methods
2018-01-30 18:42:00 +02:00
mark.lin
c1d70ea970
accounts/abi, core: add AddTxWithChain in BlockGen for simulation
2018-01-29 18:47:08 +08:00
Péter Szilágyi
84be009154
core: sorted reorg insertion order for proper head header updating
2018-01-22 14:11:07 +02:00
George Ornbo
370dca4491
core/vm: Fix comment typo
2018-01-16 15:47:33 +00:00
Jim McDonald
18a7d31338
miner: avoid unnecessary work ( #15883 )
2018-01-15 12:57:06 +02:00
Felix Lange
9d06026c19
all: regenerate codecs with gencodec commit 90983d99de ( #15830 )
...
Fixes #15777 because null is now allowed for hexutil.Bytes.
2018-01-08 15:13:22 +02:00
Felix Lange
5c2f1e0014
all: update generated code ( #15808 )
...
* core/types, core/vm, eth, tests: regenerate gencodec files
* Makefile: update devtools target
Install protoc-gen-go and print reminders about npm, solc and protoc.
Also switch to github.com/kevinburke/go-bindata because it's more
maintained.
* contracts/ens: update contracts and regenerate with solidity v0.4.19
The newer upstream version of the FIFSRegistrar contract doesn't set the
resolver anymore. The resolver is now deployed separately.
* contracts/release: regenerate with solidity v0.4.19
* contracts/chequebook: fix fallback and regenerate with solidity v0.4.19
The contract didn't have a fallback function, payments would be rejected
when compiled with newer solidity. References to 'mortal' and 'owned'
use the local file system so we can compile without network access.
* p2p/discv5: regenerate with recent stringer
* cmd/faucet: regenerate
* dashboard: regenerate
* eth/tracers: regenerate
* internal/jsre/deps: regenerate
* dashboard: avoid sed -i because it's not portable
* accounts/usbwallet/internal/trezor: fix go generate warnings
2018-01-08 14:15:57 +02:00
Felix Lange
1c2378b926
tests: update to upstream commit 2bb0c3da3b ( #15806 )
...
Also raise traceLimit once again and print the VM
error and output on failure.
2018-01-04 13:18:30 +01:00
Péter Szilágyi
6f69cdd109
all: switch gas limits from big.Int to uint64
2018-01-03 14:45:35 +02:00
ferhat elmas
5866626b08
core, p2p/discv5: use time.NewTicker instead of time.Tick ( #15747 )
2018-01-02 12:50:46 +01:00
gary rong
5f8888e116
accounts, consensus, core, eth: make chain maker consensus agnostic ( #15497 )
...
* accounts, consensus, core, eth: make chain maker consensus agnostic
* consensus, core: move CalcDifficulty to Engine interface
* consensus: add docs for calcDifficulty function
* consensus, core: minor comment fixups
2017-12-22 14:37:50 +02:00
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
2017-12-21 13:56:11 +02:00
Péter Szilágyi
7138de7b55
core: silence txpool reorg warning (annoying on import) ( #15725 )
2017-12-21 10:20:10 +02:00
Kurkó Mihály
b4cf57a581
core: fix typos ( #15720 )
2017-12-20 19:08:51 +02:00
Péter Szilágyi
5e1581c2c3
core: fix panic when stat-ing a tx from a queue-only account ( #15714 )
2017-12-20 12:34:43 +02:00
Paweł Bylica
fb5f25eeee
core/vm: Remove snapshot param from Interpreter.Run()
2017-12-15 13:33:35 +01:00
Zach
3da1bf8ca1
all: use gometalinter.v2, fix new gosimple issues ( #15650 )
2017-12-12 19:05:47 +01:00
Airead
8092106abc
core/types: fix typo in comment ( #15619 )
2017-12-07 10:06:44 +01:00
Felix Lange
be12392fba
core/vm: track 63/64 call gas off stack ( #15563 )
...
* core/vm: track 63/64 call gas off stack
Gas calculations in gasCall* relayed the available gas for calls by
replacing it on the stack. This lead to inconsistent traces, which we
papered over by copying the pre-execution stack in trace mode.
This change relays available gas using a temporary variable, off the
stack, and allows removing the weird copy.
* core/vm: remove stackCopy
* core/vm: pop call gas into pool
* core/vm: to -> addr
2017-11-28 21:05:49 +02:00
Péter Szilágyi
5dea0f2aa4
core/state: copy trie too, not just content
2017-11-24 14:20:49 +02:00
Ricardo Domingos
9ff9d04a69
all: fix code comment typos ( #15547 )
...
* console: fix typo in comment
* contracts/release: fix typo in comment
* core: fix typo in comment
* eth: fix typo in comment
* miner: fix typo in comment
2017-11-24 11:20:01 +02:00
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
2017-11-16 18:53:18 +02:00
Péter Szilágyi
463014126f
core/bloombits: handle non 8-bit boundary section matches
2017-11-15 14:10:35 +02:00
Péter Szilágyi
bce5d837b5
Merge pull request #14582 from holiman/jumpdest_improv
...
core/vm: improve jumpdest analysis
2017-11-15 10:52:14 +02:00
Péter Szilágyi
43c8a1914c
Merge pull request #15470 from karalabe/clique-sametd-splitter
...
core: split same-td blocks on block height
2017-11-15 10:44:18 +02:00
Jay Guo
924098c6e5
core/vm: fix typos in jump_table.go
2017-11-14 17:57:37 +08:00
Martin Holst Swende
96ddf27a48
core/vm: copyright header on test-file
2017-11-13 22:04:53 +01:00
Péter Szilágyi
54ce3887d8
core: split same-td blocks on block height
2017-11-13 17:07:05 +02:00
ferhat elmas
86f6568f66
build: enable unconvert linter ( #15456 )
...
* build: enable unconvert linter
- fixes #15453
- update code base for failing cases
* cmd/puppeth: replace syscall.Stdin with os.Stdin.Fd() for unconvert linter
2017-11-10 19:06:45 +02:00
ferhat elmas
9619a61024
all: gofmt -w -s ( #15419 )
2017-11-08 11:45:52 +01:00
Jim McDonald
0131bd6ff9
core: respect price bump threshold ( #15401 )
...
* core: allow price bump at threshold
* core: test changes to allow price bump at threshold
* core: reinstate tx replacement test underneath threshold
* core: minor test failure message cleanups
2017-10-30 13:05:00 +02:00
ferhat elmas
07e8c177e7
core, swarm: typo fixes
2017-10-30 01:23:23 +01:00
Felföldi Zsolt
8d434f6a6f
les, core/bloombits: post-LES/2 fixes ( #15391 )
...
* les: fix topic ID
* core/bloombits: fix interface conversion
2017-10-27 17:18:53 +03:00
Péter Szilágyi
0095531a58
core, eth, les: fix messy code ( #15367 )
...
* core, eth, les: fix messy code
* les: fixed tx status test and rlp encoding
* core: add a workaround for light sync
2017-10-25 12:18:44 +03:00
Felföldi Zsolt
ca376ead88
les, light: LES/2 protocol version ( #14970 )
...
This PR implements the new LES protocol version extensions:
* new and more efficient Merkle proofs reply format (when replying to
a multiple Merkle proofs request, we just send a single set of trie
nodes containing all necessary nodes)
* BBT (BloomBitsTrie) works similarly to the existing CHT and contains
the bloombits search data to speed up log searches
* GetTxStatusMsg returns the inclusion position or the
pending/queued/unknown state of a transaction referenced by hash
* an optional signature of new block data (number/hash/td) can be
included in AnnounceMsg to provide an option for "very light
clients" (mobile/embedded devices) to skip expensive Ethash check
and accept multiple signatures of somewhat trusted servers (still a
lot better than trusting a single server completely and retrieving
everything through RPC). The new client mode is not implemented in
this PR, just the protocol extension.
2017-10-24 15:19:09 +02:00
Péter Szilágyi
6d6a5a9337
cmd, consensus, core, miner: instatx clique for --dev ( #15323 )
...
* cmd, consensus, core, miner: instatx clique for --dev
* cmd, consensus, clique: support configurable --dev block times
* cmd, core: allow --dev to use persistent storage too
2017-10-24 13:40:42 +03:00
Péter Szilágyi
0af1ab0c86
core: avoid warning when loading the transaction journal
2017-10-20 14:42:20 +03:00
Péter Szilágyi
0e7d019e0e
core: fire tx event on replace, expand tests
2017-10-20 14:42:19 +03:00
Péter Szilágyi
a91e682234
core/vm: check opcode stack before readonly enforcement
2017-10-14 15:42:48 +03:00
Jim McDonald
c599b78f62
core/types: fix test for TransactionsByPriceAndNonce
2017-10-11 11:35:44 +01:00
Péter Szilágyi
629b5837e9
core: revert invalid block dedup code ( #15235 )
2017-10-03 18:59:53 +02:00
Péter Szilágyi
7e9e3a134b
core/types, internal: swap Receipt.Failed to Status
2017-10-02 14:04:22 +03:00
Felix Lange
d78ad226c2
ethclient, mobile: add TransactionSender ( #15127 )
...
* core/types: make Signer derive address instead of public key
There are two reasons to do this now: The upcoming ethclient signer
doesn't know the public key, just the address. EIP 208 will introduce a
new signer which derives the 'entry point' address for transactions with
zero signature. The entry point has no public key.
Other changes to the interface ease the path make to moving signature
crypto out of core/types later.
* ethclient, mobile: add TransactionSender
The new method can get the right signer without any crypto, and without
knowledge of the signature scheme that was used when the transaction was
included.
2017-10-01 11:03:28 +02:00
Péter Szilágyi
2ab2a9f131
core/bloombits, eth/filters: handle null topics ( #15195 )
...
When implementing the new bloombits based filter, I've accidentally broke null
topics by removing the special casing of common.Hash{} filter rules, which
acted as the wildcard topic until now.
This PR fixes the regression, but instead of using the magic hash
common.Hash{} as the null wildcard, the PR reworks the code to handle nil
topics during parsing, converting a JSON null into nil []common.Hash topic.
2017-09-27 12:14:52 +02:00
Péter Szilágyi
229bf51f0d
Merge pull request #15181 from fjl/state-revert-log-index
...
core/state: revert log index when removing logs
2017-09-26 17:11:46 +03:00
cdetrio
673007d7ae
core/vm: standard vm traces ( #15035 )
2017-09-22 10:22:56 +02:00
Felix Lange
a0d783094e
core/state: revert log index when removing logs
2017-09-21 20:46:21 +02:00
Péter Szilágyi
701d60c889
params: enable Byzantium on Ropsten/tests, fix failures
2017-09-14 10:59:05 +03:00
Martin Holst Swende
9be07de539
params: Updated finalized gascosts for ECMUL/MODEXP ( #15135 )
...
* params: Updated finalized gascosts for ECMUL/MODEXP
* core,tests: Updates pending new tests
* tests: Updated with new tests
* core: revert state transition bugfix
* tests: Add expected failures due to #15119
2017-09-14 10:35:54 +03:00
Péter Szilágyi
5bbd7fb390
consensus, core, params: rebrand Metro to Byzantium
2017-09-14 10:10:46 +03:00
Péter Szilágyi
10b3f97c9d
core: only fire one chain head per batch ( #15123 )
...
* core: only fire one chain head per batch
* miner: announce chan events synchronously
2017-09-11 13:13:05 +03:00
Felix Lange
42a5b54bf5
core/vm: improve bitvec comments
2017-09-10 21:04:36 +02:00
Felix Lange
10181b57a9
core, eth/downloader: commit block data using batches ( #15115 )
...
* ethdb: add Putter interface and Has method
* ethdb: improve docs and add IdealBatchSize
* ethdb: remove memory batch lock
Batches are not safe for concurrent use.
* core: use ethdb.Putter for Write* functions
This covers the easy cases.
* core/state: simplify StateSync
* trie: optimize local node check
* ethdb: add ValueSize to Batch
* core: optimize HasHeader check
This avoids one random database read get the block number. For many uses
of HasHeader, the expectation is that it's actually there. Using Has
avoids a load + decode of the value.
* core: write fast sync block data in batches
Collect writes into batches up to the ideal size instead of issuing many
small, concurrent writes.
* eth/downloader: commit larger state batches
Collect nodes into a batch up to the ideal size instead of committing
whenever a node is received.
* core: optimize HasBlock check
This avoids a random database read to get the number.
* core: use numberCache in HasHeader
numberCache has higher capacity, increasing the odds of finding the
header without a database lookup.
* core: write imported block data using a batch
Restore batch writes of state and add blocks, tx entries, receipts to
the same batch. The change also simplifies the miner.
This commit also removes posting of logs when a forked block is imported.
* core: fix DB write error handling
* ethdb: use RLock for Has
* core: fix HasBlock comment
2017-09-09 19:03:07 +03:00
Martin Holst Swende
d6681ed360
core/vm: Rename + updated doc on jumpdest analysis
2017-09-08 12:47:44 +02:00
Mark
c1740e4540
core/types, miner: avoid tx sender miscaching ( #14773 )
2017-09-07 23:22:27 +02:00
Fiisio
02b4d074f6
core/asm: use ContainsRune instead of IndexRune ( #15098 )
2017-09-07 23:11:48 +02:00
Pawan Singh Pal
69c8be7c86
core: delete dao.go ( #15113 )
...
- dao.go is already present in consensus/misc
- core/dao.go is not used anywhere in the codebase
2017-09-07 23:08:06 +02:00
Péter Szilágyi
c4d21bc8e5
Merge pull request #14631 from zsfelfoldi/bloombits2
...
core/bloombits, eth/filter: transformed bloom bitmap based log search
2017-09-06 13:00:35 +03:00
Péter Szilágyi
564c8f3ae6
core/bloombits: drop nil-matcher special case
2017-09-06 11:14:22 +03:00
Zsolt Felfoldi
451ffdb62b
core/bloombits: use general filters instead of addresses and topics
2017-09-06 11:14:21 +03:00
Zsolt Felfoldi
6ff2c02991
core/bloombits: AddBloom index parameter and fixes variable names
2017-09-06 11:14:20 +03:00
Péter Szilágyi
f585f9eee8
core, eth: clean up bloom filtering, add some tests
2017-09-06 11:14:19 +03:00
Zsolt Felfoldi
4ea4d2dc34
core, eth: add bloombit indexer, filter based on it
2017-09-06 11:13:13 +03:00
Péter Szilágyi
cc313e78b7
core: use blocks and avoid deep reorgs in txpool
2017-09-05 19:50:29 +03:00
Péter Szilágyi
da7d57e07c
core: make txpool operate on immutable state
2017-09-05 13:34:41 +03:00
Martin Holst Swende
e7408b5552
core/vm: Make MaxCodesize non-retroactive ( #15072 )
...
* core/vm: Make max_codesize only applicable post Spurious Dragon/158/155/161/170
* tests: Remove expected failure
2017-09-04 12:53:25 +03:00
Martin Holst Swende
1901521ed0
core: Fix flaw where underpriced locals were removed ( #15081 )
...
* core: Fix flaw where underpriced locals were removed
* core: minor code cleanups for tx pool tests
2017-09-04 12:48:36 +03:00
Martin Holst Swende
23b51a68cb
core/vm: avoid state lookup during gas calc for call ( #15061 )
2017-09-04 10:56:45 +02:00
Martin Holst Swende
07635e43e2
core/vm: renamed struct member + go fmt
2017-08-28 13:33:24 +02:00
Martin Holst Swende
64a3a3d23c
core/vm: Fix testcase input for ecmul
2017-08-28 13:30:26 +02:00
Martin Holst Swende
bc2a5578c0
core/vm: more benchmarks
2017-08-27 14:00:32 +02:00
Péter Szilágyi
08f27428b4
core, tests: implement Metropolis EIP 684
2017-08-25 13:00:27 +03:00
Péter Szilágyi
27a5622e99
Merge pull request #15028 from karalabe/metropolis-iceage
...
consensus, core, tests: implement Metropolis EIP 649
2017-08-25 11:00:51 +03:00
Felix Lange
ad16aeb0a2
core/types: encode receipt status in PostState field
...
This fixes a regression where the new Failed field in ReceiptForStorage
rejected previously stored receipts. Fix it by removing the new field
and store status in the PostState field. This also removes massive RLP
hackery around the status field.
2017-08-24 23:51:50 +02:00
Péter Szilágyi
b872961ec8
consensus, core, tests: implement Metropolis EIP 649
2017-08-24 17:16:39 +03:00
Felix Lange
54b1de67e2
core/vm: make jumpdest code nicer
2017-08-24 13:09:53 +02:00
nkbai
68955ed2eb
core/types: fix create indicator in Transaction.String ( #15025 )
2017-08-24 12:48:13 +02:00
Péter Szilágyi
ff9a868232
core/state: revert metro suicide map addition ( #15024 )
2017-08-24 12:42:00 +02:00
Péter Szilágyi
3c48a25762
Merge pull request #15014 from rjl493456442/metropolis-eip658
...
core: add status as a consensus field in receipt
2017-08-23 14:39:37 +03:00
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
2017-08-23 14:37:18 +03:00
Péter Szilágyi
4ee92f2d19
core/types: reject Metro receipts with > 0x01 status bytes
2017-08-23 13:57:15 +03:00
rjl493456442
28aea46ac0
core: implement Metropolis EIP 658, receipt status byte
2017-08-22 18:35:17 +03:00
Ti Zhou
2fd5ba6bd4
core/vm: fix typo in method documentation ( #15019 )
...
Signed-off-by: Ti Zhou <tizhou1986@gmail.com>
2017-08-22 12:43:36 +03:00
Péter Szilágyi
afdfdebd87
Merge pull request #14983 from karalabe/metropolis-revert
...
core/vm: implement REVERT metropolis opcode
2017-08-21 12:23:03 +03:00
Miya Chen
bf1e263128
core, light: send chain events using event.Feed ( #14865 )
2017-08-18 12:58:36 +02:00
Péter Szilágyi
f9fb70d2ee
core/vm: rework reversion to work on a higher level
2017-08-17 16:50:35 +03:00
Péter Szilágyi
1335a6cc8c
core/vm, crypto/bn256: fix bn256 use and pairing corner case
2017-08-17 16:46:46 +03:00
Jeffrey Wilcke
b70a73cd3e
core/vm: implement REVERT metropolis opcode
2017-08-16 15:32:59 +03:00
Péter Szilágyi
4e0fea4d30
core/vm: polish RETURNDATA, add missing returns to CALL*
2017-08-16 13:43:14 +03:00
Jeffrey Wilcke
9bd6068fef
core/vm: implement RETURNDATA metropolis opcodes
2017-08-16 13:43:08 +03:00
Péter Szilágyi
3df7142b3e
core/vm: minor polishes, fix STATICCALL for precompiles
...
* Fix STATICCALL so it is able to call precompiles too
* Fix write detection to use the correct value argument of CALL
* Fix write protection to ignore the value in CALLCODE
2017-08-15 14:40:12 +03:00
Jeffrey Wilcke
3d123bcde6
core/vm: implement metropolis static call opcode
2017-08-15 13:03:49 +03:00
Péter Szilágyi
f8d8b56b28
core/vm: optimize copy-less data retrievals
2017-08-14 17:08:49 +03:00
Martin Holst Swende
d8aaa3a215
core/vm: benchmarking of metro precompiles
2017-08-14 15:37:09 +03:00
Péter Szilágyi
6131dd55c5
core/vm: polish precompile contract code, add tests and benches
...
* Update modexp gas calculation to new version
* Fix modexp modulo 0 special case to return zero
2017-08-14 15:27:44 +03:00
Martin Holst Swende
967e097faa
core/vm: Address review concerns
2017-08-14 10:57:54 +02:00
Jeffrey Wilcke
7bbdf3e268
core: add Metropolis pre-compiles (EIP 197, 198 and 213)
2017-08-11 15:24:54 +03:00
Joel Burget
833eeb9f23
core/vm/runtime: remove unused state parameter to NewEnv ( #14953 )
...
* core: Remove unused `state` parameter to `NewEnv`.
`cfg.State` is used instead.
* core/vm/runtime: remove unused import
2017-08-11 14:29:32 +03:00
Felix Lange
374c49e0ac
Merge pull request #14522 from ethereum/go-ethereum/chainproc2
2017-08-08 13:37:59 +02:00
Péter Szilágyi
1c45f2f42e
core: fix txpool journal and test races
2017-08-08 12:22:01 +03:00
Péter Szilágyi
8edaaa227d
core: polish chain indexer a bit
2017-08-07 17:38:33 +03:00
Zsolt Felfoldi
bd74882d83
core: implement ChainIndexer
2017-08-07 17:37:08 +03:00
Péter Szilágyi
2b50367fe9
core: fix blockchain goroutine leaks in tests
2017-08-07 16:00:47 +03:00
Péter Szilágyi
5b742fb82b
core: bump timeout test to avoid flakyness on overloaded ci
2017-08-07 12:53:32 +03:00
evgk
0cc9b8791e
core/vm: fix typo in comment ( #14894 )
2017-08-04 01:31:18 +02:00
njupt-moon
53f3460ab5
core/asm: fix hex number lexing ( #14861 )
2017-07-31 13:02:36 +02:00
Mark
4f9789b28d
core: avoid write existing block again ( #14849 )
2017-07-31 11:59:07 +02:00
Péter Szilágyi
3d32690b54
cmd, core, eth: journal local transactions to disk ( #14784 )
...
* core: reduce txpool event loop goroutines and sync structs
* cmd, core, eth: journal local transactions to disk
* core: journal replacement pending transactions too
* core: separate transaction journal from pool
2017-07-28 15:09:39 +02:00
cdetrio
ffebf00114
core/vm/runtime: fix evm command to use --gasprice flag value
2017-07-25 13:08:29 -04:00
Felix Lange
3e0dbe0eaa
core/vm: remove logging and add section labels to struct logs ( #14782 )
2017-07-19 14:32:45 +02:00
Péter Szilágyi
c65f10a17b
Merge pull request #14733 from karalabe/metro-eip100
...
consensus/ethash, core: implement Metropolis EIP 100
2017-07-17 12:43:13 +03:00
Péter Szilágyi
a56f3dc0d9
core, ethclient: implement Metropolis EIP 98 ( #14750 )
...
Implements ethereum/EIPs#98
2017-07-17 10:34:53 +02:00
Martin Holst Swende
47359301a2
core: blocknumber in genesis as hex ( #14812 )
2017-07-17 10:33:13 +02:00
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
2017-07-14 19:39:53 +03:00
Felix Lange
225de7ca0a
tests: update tests and implement general state tests ( #14734 )
...
Tests are now included as a submodule. This should make updating easier
and removes ~60MB of JSON data from the working copy.
State tests are replaced by General State Tests, which run the same test
with multiple fork configurations.
With the new test runner, consensus tests are run as subtests by walking
json files. Many hex issues have been fixed upstream since the last
update and most custom parsing code is replaced by existing JSON hex
types. Tests can now be marked as 'expected failures', ensuring that
fixes for those tests will trigger an update to test configuration. The
new test runner also supports parallel execution and the -short flag.
2017-07-11 13:49:14 +02:00
Péter Szilágyi
4f7a38001f
Merge pull request #14737 from holiman/txpool_localaccounts
...
Txpool localaccounts
2017-07-10 12:43:23 +03:00
Péter Szilágyi
34ec9913f6
core: test locals support in txpool queue limits, fix
...
The commit reworks the transaction pool queue limitation tests
to cater for testing local accounts, also testing the nolocal flag.
In addition, it also fixes a panic if local transactions exceeded
the global queue allowance (no accounts left to drop from) and also
fixes queue eviction to operate on all accounts, not just the one
being updated.
2017-07-06 11:51:59 +03:00
ligi
f25486c3fb
core: fix typo in error message ( #14763 )
2017-07-06 00:19:38 +02:00
Péter Szilágyi
88b4fe7d21
core: handle nolocals during add, exepmt locals from expiration
2017-07-05 17:16:42 +03:00
Péter Szilágyi
5e38f7a664
cmd, core: add --txpool.nolocals to disable local price exemptions
2017-07-05 17:06:05 +03:00
Péter Szilágyi
48ee7f9de7
core, eth, les: polish txpool API around local/remote txs
2017-07-05 16:51:55 +03:00
Péter Szilágyi
8f12d76a47
params: remove redundant consts, disable metro on AllProtocolChanges
2017-07-04 12:28:58 +03:00
Martin Holst Swende
a633a2d7ea
core: Prevent local tx:s from being discarded
2017-06-30 22:55:10 +02:00
Martin Holst Swende
67aff49822
core: Change local-handling to use sender-account instead of tx hashes
2017-06-30 22:43:26 +02:00
Péter Szilágyi
8c313eed26
consensus, core: EIP 100 polishes, fix chain maker diff
...
This PR polishes the EIP 100 difficulty adjustment algorithm
to match the same mechanisms as the Homestead was implemented
to keep the code uniform. It also avoids a few memory allocs
by reusing big1 and big2, pulling it out of the common package
and into ethash.
The commit also fixes chain maker to forward the uncle hash
when creating a simulated chain (it wasn't needed until now
so we just skipped a copy there).
2017-06-30 16:42:09 +03:00
Martin Holst Swende
8bbd598ef4
core: fix an off-by-one when the block import counts blocks
2017-06-29 14:19:10 +02:00
Péter Szilágyi
dfd076244d
Merge pull request #14718 from holiman/gascalc_fix
...
core/vm: fix overflow in gas calculation formula
2017-06-28 13:12:13 +03:00
Martin Holst Swende
6dc32e897a
core/vm: add benchmarks for some ops and precompiles ( #14641 )
2017-06-28 11:45:45 +02:00
Martin Holst Swende
e4301564c2
core/vm : fix testcase for gas calculation
2017-06-28 10:47:07 +02:00
Martin Holst Swende
bae7565231
core/vm: fix overflow in gas calculation formula
2017-06-28 09:51:31 +02:00
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).
2017-06-27 15:57:06 +02:00
Péter Szilágyi
f321ed23fb
Merge pull request #14687 from markya0616/unused_events
...
core: remove unused events
2017-06-26 13:27:39 +03:00
mark.lin
beb708e6d7
core: remove unused events
2017-06-23 10:39:38 +08:00
Péter Szilágyi
b664bedcf2
Merge pull request #14673 from holiman/txfix
...
core: add testcase for txpool
2017-06-22 23:01:43 +03:00
Péter Szilágyi
eebde1a2e2
core: ensure transactions correctly drop on pool limiting
2017-06-22 21:03:54 +03:00
Martin Holst Swende
b0b3cf2eeb
core: add testcase for txpool
2017-06-22 20:36:07 +03:00
Felix Lange
0042f13d47
eth/downloader: separate state sync from queue ( #14460 )
...
* eth/downloader: separate state sync from queue
Scheduling of state node downloads hogged the downloader queue lock when
new requests were scheduled. This caused timeouts for other requests.
With this change, state sync is fully independent of all other downloads
and doesn't involve the queue at all.
State sync is started and checked on in processContent. This is slightly
awkward because processContent doesn't have a select loop. Instead, the
queue is closed by an auxiliary goroutine when state sync fails. We
tried several alternatives to this but settled on the current approach
because it's the least amount of change overall.
Handling of the pivot block has changed slightly: the queue previously
prevented import of pivot block receipts before the state of the pivot
block was available. In this commit, the receipt will be imported before
the state. This causes an annoyance where the pivot block is committed
as fast block head even when state downloads fail. Stay tuned for more
updates in this area ;)
* eth/downloader: remove cancelTimeout channel
* eth/downloader: retry state requests on timeout
* eth/downloader: improve comment
* eth/downloader: mark peers idle when state sync is done
* eth/downloader: move pivot block splitting to processContent
This change also ensures that pivot block receipts aren't imported
before the pivot block itself.
* eth/downloader: limit state node retries
* eth/downloader: improve state node error handling and retry check
* eth/downloader: remove maxStateNodeRetries
It fails the sync too much.
* eth/downloader: remove last use of cancelCh in statesync.go
Fixes TestDeliverHeadersHang*Fast and (hopefully)
the weird cancellation behaviour at the end of fast sync.
* eth/downloader: fix leak in runStateSync
* eth/downloader: don't run processFullSyncContent in LightSync mode
* eth/downloader: improve comments
* eth/downloader: fix vet, megacheck
* eth/downloader: remove unrequested tasks anyway
* eth/downloader, trie: various polishes around duplicate items
This commit explicitly tracks duplicate and unexpected state
delieveries done against a trie Sync structure, also adding
there to import info logs.
The commit moves the db batch used to commit trie changes one
level deeper so its flushed after every node insertion. This
is needed to avoid a lot of duplicate retrievals caused by
inconsistencies between Sync internals and database. A better
approach is to track not-yet-written states in trie.Sync and
flush on commit, but I'm focuing on correctness first now.
The commit fixes a regression around pivot block fail count.
The counter previously was reset to 1 if and only if a sync
cycle progressed (inserted at least 1 entry to the database).
The current code reset it already if a node was delivered,
which is not stong enough, because unless it ends up written
to disk, an attacker can just loop and attack ad infinitum.
The commit also fixes a regression around state deliveries
and timeouts. The old downloader tracked if a delivery is
stale (none of the deliveries were requestedt), in which
case it didn't mark the node idle and did not send further
requests, since it signals a past timeout. The current code
did mark it idle even on stale deliveries, which eventually
caused two requests to be in flight at the same time, making
the deliveries always stale and mass duplicating retrievals
between multiple peers.
* eth/downloader: fix state request leak
This commit fixes the hang seen sometimes while doing the state
sync. The cause of the hang was a rare combination of events:
request state data from peer, peer drops and reconnects almost
immediately. This caused a new download task to be assigned to
the peer, overwriting the old one still waiting for a timeout,
which in turned leaked the requests out, never to be retried.
The fix is to ensure that a task assignment moves any pending
one back into the retry queue.
The commit also fixes a regression with peer dropping due to
stalls. The current code considered a peer stalling if they
timed out delivering 1 item. However, the downloader never
requests only one, the minimum is 2 (attempt to fine tune
estimated latency/bandwidth). The fix is simply to drop if
a timeout is detected at 2 items.
Apart from the above bugfixes, the commit contains some code
polishes I made while debugging the hang.
* core, eth, trie: support batched trie sync db writes
* trie: rename SyncMemCache to syncMemBatch
2017-06-22 15:26:03 +03:00
Martin Holst Swende
9a44e1035e
cmd/evm, core/vm: add --nomemory, --nostack to evm ( #14617 )
2017-06-21 14:52:31 +02:00
Péter Szilágyi
335abdceb1
Merge pull request #14581 from holiman/byte_opt
...
core/vm: improve opByte
2017-06-13 14:44:19 +03:00
Martin Holst Swende
ac9865791a
core/vm, common/math: Add doc about Byte, fix format
2017-06-08 23:16:05 +02:00
Martin Holst Swende
80f7c6c299
cmd/evm: add --prestate, --sender, --json flags for fuzzing ( #14476 )
2017-06-07 17:09:08 +02:00
bailantaotao
bc24b7a912
core/types: use Header.Hash for block hashes ( #14587 )
...
Fixes #14586
2017-06-07 12:06:25 +02:00
Martin Holst Swende
1496b3aff6
common/math, core/vm: Un-expose bigEndianByteAt, use correct terms for endianness
2017-06-06 18:38:38 +02:00
Lewis Marshall
04d2de9119
core: Fix VM error logging
...
Signed-off-by: Lewis Marshall <lewis@lmars.net>
2017-06-05 23:51:32 +01:00
Martin Holst Swende
f4b5f67ee0
core/vm: improved jumpdest analysis
2017-06-05 09:15:46 +02:00
Martin Holst Swende
3285a0fda3
core/vm, common/math: Add fast getByte for bigints, improve opByte
2017-06-05 08:44:11 +02:00
Nick Johnson
d5a79934dc
core/vm: Use a bitmap instead of a map for jumpdest analysis
...
t push --force
2017-06-01 19:14:05 +01:00
Péter Szilágyi
cba33029a8
core: only reorg changed account, not all
2017-05-31 23:26:24 +03:00
Péter Szilágyi
9702badd83
core: don't uselessly recheck transactions on dump
2017-05-31 21:29:50 +03:00
Péter Szilágyi
280609c99b
core: check for gas limit exceeding txs too on new block
2017-05-30 00:31:37 +03:00
Péter Szilágyi
08959bbc70
cmd, core, eth: configurable txpool parameters
2017-05-29 11:29:46 +03:00
Péter Szilágyi
c98bce709c
core: fix minor accidental typos and comment errors
2017-05-25 17:22:45 +03:00
changhong
17f0b11942
core: typos and comments improve
...
1. fix typos
2. methods recevier of struct should be same
3. comments improve
(cherry picked from commit 1ba979539582a00b7fd1a7c8a37a6852e59eac0d)
2017-05-25 17:14:33 +03:00
Jeffrey Wilcke
846d091bd2
core/vm: allocate stack to 1024
...
Pre allocate the stack to 1024 optimising stack pushing, reducing calls
to runtime.makeslice and runtime.mallocgc
2017-05-25 11:37:04 +02:00
Felix Lange
ef25b826e6
Merge pull request #14502 from karalabe/mobile-import-ecdsa
...
Enforce 256 bit keys on raw import, support raw mobile imports
2017-05-24 22:30:47 +02:00
Péter Szilágyi
aa73420207
accounts/keystore, crypto: enforce 256 bit keys on import
2017-05-23 14:58:03 +03:00
Jeffrey Wilcke
10582a97ca
core/vm: expose intpool to stack dup method
...
Improve the duplication method of the stack to reuse big ints by passing
in an existing integer pool.
2017-05-23 10:52:11 +02:00
Jeffrey Wilcke
e16a7ef60f
core/vm: capped int pool
2017-05-23 10:40:09 +02:00
Jeffrey Wilcke
a816e75662
core/vm: improved push instructions
...
Improved push instructions by removing unnecessary big int allocations
and by making it int instead of big.Int
2017-05-23 10:39:53 +02:00
Valentin Wüstholz
04b668b232
core/vm: improve error message for invalid opcodes
2017-05-22 17:48:07 +02:00
Jeffrey Wilcke
e7119ce12d
core/state: fixed (self)destructed objects
...
Add the object to the list of destructed objects during a selfdestruct /
suicide operation and also remove it from the list once the journal
reverts.
2017-05-18 09:05:58 +02:00
Jeffrey Wilcke
a5f6a1cb7c
consensus, core, core/vm, parems: review fixes
2017-05-18 09:05:58 +02:00
Jeffrey Wilcke
e6aff513db
core/types: corrected abstract signing address
2017-05-18 09:05:58 +02:00
Jeffrey Wilcke
10a57fc3d4
consensus, core/*, params: metropolis preparation refactor
...
This commit is a preparation for the upcoming metropolis hardfork. It
prepares the state, core and vm packages such that integration with
metropolis becomes less of a hassle.
* Difficulty calculation requires header instead of individual
parameters
* statedb.StartRecord renamed to statedb.Prepare and added Finalise
method required by metropolis, which removes unwanted accounts from
the state (i.e. selfdestruct)
* State keeps record of destructed objects (in addition to dirty
objects)
* core/vm pre-compiles may now return errors
* core/vm pre-compiles gas check now take the full byte slice as argument
instead of just the size
* core/vm now keeps several hard-fork instruction tables instead of a
single instruction table and removes the need for hard-fork checks in
the instructions
* core/vm contains a empty restruction function which is added in
preparation of metropolis write-only mode operations
* Adds the bn256 curve
* Adds and sets the metropolis chain config block parameters (2^64-1)
2017-05-18 09:05:58 +02:00
Péter Szilágyi
a2f23ca9b1
cmd, core, eth, miner: remove txpool gas price limits ( #14442 )
2017-05-16 21:07:27 +02:00
Péter Szilágyi
60293820b7
core: fix processing regression during receipt import
2017-05-08 12:09:35 +03:00
Péter Szilágyi
d51a9fd6b7
cmd, core, params: add --rinkeby flag for fast connectivity
2017-05-04 12:36:20 +03:00
Péter Szilágyi
ba3bcd16a6
Merge pull request #14350 from fjl/trie-iterator-skip-2
...
eth: add debug_storageRangeAt
2017-04-25 11:10:20 +03:00
Felix Lange
207bd7d2cd
eth: add debug_storageRangeAt
2017-04-25 02:14:32 +02:00
Felix Lange
4047ccad2f
trie: add start key to NodeIterator constructors
...
The 'step' method is split into two parts, 'peek' and 'push'. peek
returns the next state but doesn't make it current.
The end of iteration was previously tracked by setting 'trie' to nil.
End of iteration is now tracked using the 'iteratorEnd' error, which is
slightly cleaner and requires less code.
2017-04-25 02:14:31 +02:00
Felix Lange
a13e920af0
trie: clean up iterator constructors
...
Make it so each iterator has exactly one public constructor:
- NodeIterators can be created through a method.
- Iterators can be created through NewIterator on any NodeIterator.
2017-04-25 02:14:31 +02:00
Felix Lange
7b2fc0643f
core, light: delete SplitStatTy, ChainSplitEvent (unused)
2017-04-21 18:56:00 +02:00
Péter Szilágyi
edef84da2b
core: make genesis incompatibility error more explicit
2017-04-20 14:14:13 +03:00
Felix Lange
0cc492f815
all: update license information
2017-04-14 10:29:00 +02:00
Felix Lange
2870496124
core: don't import genesis block in TestDAOForkRangeExtradata
...
The genesis block doesn't have a valid ancestor.
2017-04-12 18:47:47 +02:00
Péter Szilágyi
a7b9e484d0
consensus, core, ethstats: use engine specific block beneficiary ( #14318 )
...
* consensus, core, ethstats: use engine specific block beneficiary
* core, eth, les, miner: use explicit beneficiary during mining
2017-04-12 16:38:31 +03:00
Justin
542e42b21e
core: fix comment typo
2017-04-10 16:01:31 +03:00
Péter Szilágyi
feeccdf4ec
consensus/clique: Proof of Authority ( #3753 )
...
This PR is a prototype implementation of plugable consensus engines and the
Clique PoA protocol ethereum/EIPs#225
2017-04-10 12:24:12 +02:00
Péter Szilágyi
158d603528
consensus, core: drop all the legacy custom core error types
2017-04-06 17:34:19 +03:00
Felix Lange
3d8de95f99
core, core/types: regenerate JSON marshaling, add "hash" to headers ( #13868 )
...
* Makefile: fix devtools target
* core: regenerate genesis marshaling with fjl/gencodec@cbfa5be5a8
* core/types: regenerate marshaling methods with fjl/gencodec@cbfa5be5a8
* core/types: add "hash" to JSON headers
2017-04-06 11:38:21 +03:00
gary rong
49437a02c9
core/state: make TestSnapshotRandom work again ( #3816 )
...
In `touch` operation, only `touched` filed has been changed. Therefore
in the related undo function, only `touched` field should be reverted.
In addition, whether remove this obj from dirty map should depend on
prevDirty flag.
2017-04-05 00:44:16 +02:00
Péter Szilágyi
09777952ee
core, consensus: pluggable consensus engines ( #3817 )
...
This commit adds pluggable consensus engines to go-ethereum. In short, it
introduces a generic consensus interface, and refactors the entire codebase to
use this interface.
2017-04-05 00:16:29 +02:00
bas-vk
baf20010e7
core/types: rename txdata.gasLimit -> txdata.gas in JSON ( #13848 )
2017-03-29 11:59:13 +02:00
Felix Lange
aa9a78e463
core, core/types: use non-pointer receiver for Marshal* methods
...
Regenerated with fjl/gencodec@1a75a21610
Also add ,omitempty to optional GenesisAccount fields.
2017-03-27 13:29:01 +02:00
Felix Lange
4be37e91b9
core/types: ensure all EIP155 signer fields are set by deriveSigner
...
Fixes #3819
2017-03-24 22:06:10 +01:00
Felix Lange
37dd9086ec
core: refactor genesis handling
...
This commit solves several issues concerning the genesis block:
* Genesis/ChainConfig loading was handled by cmd/geth code. This left
library users in the cold. They could specify a JSON-encoded
string and overwrite the config, but didn't get any of the additional
checks performed by geth.
* Decoding and writing of genesis JSON was conflated in
WriteGenesisBlock. This made it a lot harder to embed the genesis
block into the forthcoming config file loader. This commit changes
things so there is a single Genesis type that represents genesis
blocks. All uses of Write*Genesis* are changed to use the new type
instead.
* If the chain config supplied by the user was incompatible with the
current chain (i.e. the chain had already advanced beyond a scheduled
fork), it got overwritten. This is not an issue in practice because
previous forks have always had the highest total difficulty. It might
matter in the future though. The new code reverts the local chain to
the point of the fork when upgrading configuration.
The change to genesis block data removes compression library
dependencies from package core.
2017-03-23 15:58:43 +01:00
Felix Lange
67c47459f2
core/types: handle nil ChainId in NewEIP155Signer
...
All uses of ChainConfig.ChainId eventually end up in NewEIP155Signer.
This fixes the case where users forget to set the ChainId in their
config.
2017-03-23 15:58:42 +01:00
Felix Lange
0f4b75bea2
core/state: expose CommitTo
2017-03-23 15:58:42 +01:00
Felföldi Zsolt
525116dbff
les: implement request distributor, fix blocking issues ( #3660 )
...
* les: implement request distributor, fix blocking issues
* core: moved header validation before chain mutex lock
2017-03-22 20:44:22 +01:00
Yohann Leon
6742fc526f
core/vm: use uint64 instead of *big.Int in tracer ( #3805 )
2017-03-22 15:32:51 +01:00
Péter Szilágyi
9b84caf3a5
core, eth, les: support resuming fast sync on heavy rollback ( #3743 )
2017-03-22 01:37:24 +01:00
Felix Lange
06d6685eb5
Merge pull request #3756 from fjl/core-types-gencodec
...
core/types: use gencodec for JSON marshaling code
2017-03-22 01:36:22 +01:00
Péter Szilágyi
567d41d936
all: swap out the C++ ethash to the pure Go one (mining todo)
2017-03-09 15:50:14 +01:00
Felix Lange
8cf08e4b25
core/types: use gencodec for JSON marshaling code
2017-03-07 12:45:12 +01:00
Péter Szilágyi
07c216d603
Merge pull request #3739 from karalabe/logger-updates-4
...
all: update light logs (and a few others) to the new model
2017-03-03 18:53:30 +02:00
Péter Szilágyi
e7030c4bf5
all: update light logs (and a few others) to the new model
2017-03-03 11:41:52 +02:00
Péter Szilágyi
a38e1a9c00
core: reorg logs crashed, add a check for corner cases
2017-03-03 09:54:13 +02:00
Péter Szilágyi
213b8f9af4
Merge pull request #3722 from fjl/hexutil-text-unmarshal
...
common/hexutil: implement TextMarshaler, TextUnmarshaler
2017-03-02 15:16:59 +02:00
Felix Lange
d304da3803
common/hexutil: implement TextMarshaler, TextUnmarshaler
...
This commit makes the wrapper types more generally applicable.
encoding.TextMarshaler is supported by most codec implementations (e.g.
for yaml).
The tests now ensure that package json actually recognizes the custom
marshaler implementation irrespective of how it is implemented.
The Uint type has new tests, too. These are tricky because uint size
depends on the CPU word size. Turns out that there was one incorrect
case where decoding returned ErrUint64Range instead of ErrUintRange.
2017-03-02 14:05:46 +01:00
Jeffrey Wilcke
bf4155846c
core/evm, core/vm: improved evm trace output
...
* Improved the standard evm tracer output and renamed it to WriteTrace
which now takes an io.Writer to write the logs to.
* Added WriteLogs which writes logs to the given writer in a readable
format.
* evm utility now also prints logs generated during the execution.
2017-03-01 11:20:25 +01:00
Jeffrey Wilcke
230cf2ec91
cmd/evm, core/asm: add EVM assembler ( #3686 )
...
The evm compile command implements a simple assembly language that compiles to
EVM bytecode.
2017-03-01 01:11:24 +01:00
Jeffrey Wilcke
7ff75ac2f2
cmd/utils, core, params: fork all teh things for dev mode ( #3697 )
2017-02-28 23:18:13 +01:00
Péter Szilágyi
94c71c171f
Merge pull request #3723 from karalabe/logger-updates-2
...
Logger updates
2017-02-28 16:55:37 +02:00
Felix Lange
5f7826270c
all: unify big.Int zero checks, use common/math in more places ( #3716 )
...
* common/math: optimize PaddedBigBytes, use it more
name old time/op new time/op delta
PaddedBigBytes-8 71.1ns ± 5% 46.1ns ± 1% -35.15% (p=0.000 n=20+19)
name old alloc/op new alloc/op delta
PaddedBigBytes-8 48.0B ± 0% 32.0B ± 0% -33.33% (p=0.000 n=20+20)
* all: unify big.Int zero checks
Various checks were in use. This commit replaces them all with Int.Sign,
which is cheaper and less code.
eg templates:
func before(x *big.Int) bool { return x.BitLen() == 0 }
func after(x *big.Int) bool { return x.Sign() == 0 }
func before(x *big.Int) bool { return x.BitLen() > 0 }
func after(x *big.Int) bool { return x.Sign() != 0 }
func before(x *big.Int) int { return x.Cmp(common.Big0) }
func after(x *big.Int) int { return x.Sign() }
* common/math, crypto/secp256k1: make ReadBits public in package math
2017-02-28 15:09:11 +01:00
Péter Szilágyi
b117da2db3
core/state: drop most of a logs (useless at this volume)
2017-02-28 15:51:30 +02:00
Péter Szilágyi
e02883c0a2
core, log: track field length and pad to align
2017-02-28 15:36:51 +02:00
Péter Szilágyi
e588e0ca2b
all: next batch of log polishes to contextual versions
2017-02-28 15:03:20 +02:00
Péter Szilágyi
46bcd9a92c
core, eth: drop database block splitting upgrader
2017-02-28 13:41:02 +02:00
Valentin Wüstholz
37511ec520
core, core/vm, cmd/disasm: unify procedures for disassembling evm code ( #3530 )
2017-02-27 12:21:19 +01:00
Felix Lange
5c8fe28b72
common: move big integer math to common/math ( #3699 )
...
* common: remove CurrencyToString
Move denomination values to params instead.
* common: delete dead code
* common: move big integer operations to common/math
This commit consolidates all big integer operations into common/math and
adds tests and documentation.
There should be no change in semantics for BigPow, BigMin, BigMax, S256,
U256, Exp and their behaviour is now locked in by tests.
The BigD, BytesToBig and Bytes2Big functions don't provide additional
value, all uses are replaced by new(big.Int).SetBytes().
BigToBytes is now called PaddedBigBytes, its minimum output size
parameter is now specified as the number of bytes instead of bits. The
single use of this function is in the EVM's MSTORE instruction.
Big and String2Big are replaced by ParseBig, which is slightly stricter.
It previously accepted leading zeros for hexadecimal inputs but treated
decimal inputs as octal if a leading zero digit was present.
ParseUint64 is used in places where String2Big was used to decode a
uint64.
The new functions MustParseBig and MustParseUint64 are now used in many
places where parsing errors were previously ignored.
* common: delete unused big integer variables
* accounts/abi: replace uses of BytesToBig with use of encoding/binary
* common: remove BytesToBig
* common: remove Bytes2Big
* common: remove BigTrue
* cmd/utils: add BigFlag and use it for error-checked integer flags
While here, remove environment variable processing for DirectoryFlag
because we don't use it.
* core: add missing error checks in genesis block parser
* common: remove String2Big
* cmd/evm: use utils.BigFlag
* common/math: check for 256 bit overflow in ParseBig
This is supposed to prevent silent overflow/truncation of values in the
genesis block JSON. Without this check, a genesis block that set a
balance larger than 256 bits would lead to weird behaviour in the VM.
* cmd/utils: fixup import
2017-02-26 22:21:51 +01:00
Péter Szilágyi
d4fd06c3dc
all: blidly swap out glog to our log15, logs need rework
2017-02-23 12:16:44 +02:00
Nick Johnson
555273495b
trie: add difference iterator ( #3637 )
...
This PR implements a differenceIterator, which allows iterating over trie nodes
that exist in one trie but not in another. This is a prerequisite for most GC
strategies, in order to find obsolete nodes.
2017-02-22 23:49:34 +01:00
Jeffrey Wilcke
024d41d0c2
core, core/state, core/vm: remove exported account getters ( #3618 )
...
Removed exported statedb object accessors, reducing the chance for nasty
bugs to creep in. It's also ugly and unnecessary to have these methods.
2017-02-22 23:29:59 +01:00
Jeffrey Wilcke
4ac481b45f
core/vm, crypto: support for go-fuzz ( #3672 )
2017-02-21 10:24:07 +01:00
Martin Holst Swende
b19e5885fe
core/blockchain: Change iterator in procFutureBlocks to use lru.Peek instead of Get ( #3655 )
2017-02-18 09:27:21 +01:00
Felix Lange
9b0af51386
crypto: add btcec fallback for sign/recover without cgo ( #3680 )
...
* vendor: add github.com/btcsuite/btcd/btcec
* crypto: add btcec fallback for sign/recover without cgo
This commit adds a non-cgo fallback implementation of secp256k1
operations.
* crypto, core/vm: remove wrappers for sha256, ripemd160
2017-02-18 09:24:12 +01:00
Felix Lange
c8695fae35
logger: remove Core verbosity level ( #3659 )
2017-02-15 10:14:44 +01:00
Jeffrey Wilcke
c12f4df910
params: core, core/vm, miner: 64bit gas instructions
...
Reworked the EVM gas instructions to use 64bit integers rather than
arbitrary size big ints. All gas operations, be it additions,
multiplications or divisions, are checked and guarded against 64 bit
integer overflows.
In additon, most of the protocol paramaters in the params package have
been converted to uint64 and are now constants rather than variables.
* common/math: added overflow check ops
* core: vmenv, env renamed to evm
* eth, internal/ethapi, les: unmetered eth_call and cancel methods
* core/vm: implemented big.Int pool for evm instructions
* core/vm: unexported intPool methods & verification methods
* core/vm: added memoryGasCost overflow check and test
2017-02-13 21:44:25 +01:00
Martin Holst Swende
72dcd3c58b
core, eth, internal: Added debug_getBadBlocks()
method ( #3654 )
...
* core,eth,internal: Added `debug_getBadBlocks()` method
When bad blocks are discovered, these are stored within geth.
An RPC-endpoint makes them availablewithin the `debug`
namespace. This feature makes it easier to discover network forks.
```
* core, api: go format + docs
* core/blockchain: Documentation, fix minor nitpick
* core: fix failing blockchain test
2017-02-13 21:44:06 +01:00
Jeffrey Wilcke
57f4e90257
Revert "params: core, core/vm, miner: 64bit gas instructions ( #3514 )"
...
This reverts commit 8b57c494908637a5c0e74f8f7a13b3218e026757.
2017-02-13 15:15:12 +01:00
Martin Holst Swende
564b60520c
core: ignore 0x prefix for code in JSON genesis blocks ( #3656 )
2017-02-13 03:36:50 +01:00
Péter Szilágyi
d52b0c32a0
Merge pull request #3635 from holiman/hive_fixes
...
core/genesis: add support for setting nonce in 'alloc'
2017-02-03 14:00:18 +02:00
Péter Szilágyi
7734ead520
Merge pull request #3605 from fjl/event-feed
...
event: add new Subscription type and related utilities
2017-02-03 13:56:00 +02:00
Jeffrey Wilcke
8b57c49490
params: core, core/vm, miner: 64bit gas instructions ( #3514 )
...
Reworked the EVM gas instructions to use 64bit integers rather than
arbitrary size big ints. All gas operations, be it additions,
multiplications or divisions, are checked and guarded against 64 bit
integer overflows.
In additon, most of the protocol paramaters in the params package have
been converted to uint64 and are now constants rather than variables.
* common/math: added overflow check ops
* core: vmenv, env renamed to evm
* eth, internal/ethapi, les: unmetered eth_call and cancel methods
* core/vm: implemented big.Int pool for evm instructions
* core/vm: unexported intPool methods & verification methods
* core/vm: added memoryGasCost overflow check and test
2017-02-02 15:25:42 +01:00
Brian Schroeder
296450451b
state: take write lock in GetNonce ( #3625 )
...
We must take a write lock here because `GetNonce` calls
`StateDB.GetStateObject`, which mutates the DB's live set.
2017-02-01 10:55:46 +01:00
bas-vk
c46c41eae3
core/types: add unittest for tx json serialization ( #3609 )
2017-01-26 21:16:24 +01:00
Vivek Anand
82aa5b1de6
core: fix a small typo in blockchain.go ( #3611 )
2017-01-26 16:54:49 +02:00
Felix Lange
9b62facdd4
event: deprecate TypeMux and related types
...
The Subscription type is gone, all uses are replaced by
*TypeMuxSubscription. This change is prep-work for the
introduction of the new Subscription type in a later commit.
gorename -from '"github.com/ethereum/go-ethereum/event"::Event' -to TypeMuxEvent
gorename -from '"github.com/ethereum/go-ethereum/event"::muxsub' -to TypeMuxSubscription
gofmt -w -r 'Subscription -> *TypeMuxSubscription' ./event/*.go
find . -name '*.go' -and -not -regex '\./vendor/.*' \| xargs gofmt -w -r 'event.Subscription -> *event.TypeMuxSubscription'
2017-01-25 16:25:57 +01:00
Martin Holst Swende
da92f5b2d6
core/genesis: add support for setting nonce in 'alloc'
...
This is to be able to set `pre`-state when performing blockchain tests through Hive, we need to be able to set the nonce.
2017-01-24 20:42:47 +01:00
Felix Lange
fc52f2c007
core/types: make Transaction zero value printable ( #3595 )
2017-01-23 18:51:02 +01:00
bas-vk
0126d01435
types: bugfix invalid V derivation on tx json unmarshal ( #3594 )
2017-01-20 23:32:16 +01:00
Jeffrey Wilcke
508fdc3496
core: removal of dead-code
...
Removal of dead code that appeard as if we had a consensus issue. This
however is not the case as the proper error catching happens in the vm
package instead.
2017-01-17 21:50:08 +01:00
Martin Holst Swende
6fb76443b3
core/blockchain: Made logging of reorgs more structured ( #3573 )
...
* core: Made logging of reorgs more structured, also always log if reorg is > 63 blocks long
* core/blockchain: go fmt
* core/blockchain: Minor fixes to the reorg reporting
2017-01-17 14:10:26 +02:00
Nick Johnson
17d92233d9
cmd/geth, core: add support for recording SHA3 preimages ( #3543 )
2017-01-17 12:19:50 +01:00
Felix Lange
c5df37c111
eth: accept leading zeros for nonce parameter of submitWork ( #3558 )
2017-01-13 00:37:23 +01:00
Bas van Kervel
745a3adebd
core: remove support for Olympic network
2017-01-12 09:50:54 +01:00
Felix Lange
21f1370d2a
core: improve import log alignment
2017-01-10 23:14:08 +01:00
Péter Szilágyi
02b67558e8
Merge pull request #3535 from fjl/all-ineffassign
...
all: fix ineffectual assignments
2017-01-09 23:53:17 +02:00
Felix Lange
b9b3efb09f
all: fix ineffectual assignments and remove uses of crypto.Sha3
...
go get github.com/gordonklaus/ineffassign
ineffassign .
2017-01-09 16:24:42 +01:00
Bas van Kervel
2fed476ce1
core: fix race condition in WriteMipmapBloom
2017-01-09 15:35:58 +02:00
Péter Szilágyi
18c77744ff
all: fix spelling errors
2017-01-06 19:44:35 +02:00
Felix Lange
13e3b2f433
logger, pow/dagger, pow/ezp: delete dead code
2017-01-06 18:18:07 +01:00
Felix Lange
f2da6581ba
all: fix issues reported by honnef.co/go/simple/cmd/gosimple
2017-01-06 18:18:07 +01:00
Felix Lange
35a7dcb162
all: gofmt -w -s
2017-01-06 15:52:03 +01:00
Péter Szilágyi
59b8245bbc
Merge pull request #3516 from fjl/types-drop-sign-ecdsa
...
core/types: remove redundant SignECDSA wrappers, rename to SignTx
2017-01-06 15:55:55 +02:00
Péter Szilágyi
8f9daaa3ba
Merge pull request #3518 from fjl/ethclient-dependency-cleanup
...
core/types: dependency cleanup
2017-01-06 15:42:03 +02:00
Felix Lange
d3b751e4d9
trie: remove dependency on ethdb
...
This removes the core/types -> leveldb dependency.
2017-01-06 14:15:22 +01:00
Felix Lange
7731061903
core/vm: move Log to core/types
...
This significantly reduces the dependency closure of ethclient, which no
longer depends on core/vm as of this change.
All uses of vm.Logs are replaced by []*types.Log. NewLog is gone too,
the constructor simply returned a literal.
2017-01-06 14:15:22 +01:00
Felix Lange
e171bf74f8
core/types: remove redundant SignECDSA wrappers, rename to SignTx
2017-01-05 12:59:17 +01:00
Péter Szilágyi
bbce726c8a
Merge pull request #3515 from bas-vk/exportropsten
...
core,cmd/utils: bugfix for ropsten dump imports
2017-01-05 12:54:45 +02:00
Jeffrey Wilcke
bbc4ea4ae8
core/vm: improved EVM run loop & instruction calling ( #3378 )
...
The run loop, which previously contained custom opcode executes have been
removed and has been simplified to a few checks.
Each operation consists of 4 elements: execution function, gas cost function,
stack validation function and memory size function. The execution function
implements the operation's runtime behaviour, the gas cost function implements
the operation gas costs function and greatly depends on the memory and stack,
the stack validation function validates the stack and makes sure that enough
items can be popped off and pushed on and the memory size function calculates
the memory required for the operation and returns it.
This commit also allows the EVM to go unmetered. This is helpful for offline
operations such as contract calls.
2017-01-05 11:52:10 +01:00
Péter Szilágyi
08eea0f0e4
accounts, core, crypto, internal: use normalised V during signature handling ( #3455 )
...
To address increasing complexity in code that handles signatures, this PR
discards all notion of "different" signature types at the library level. Both
the crypto and accounts package is reduced to only be able to produce plain
canonical secp256k1 signatures. This makes the crpyto APIs much cleaner,
simpler and harder to abuse.
2017-01-05 11:35:23 +01:00
Bas van Kervel
a1798a8188
core,cmd/utils: bugfix for ropsten dump imports
2017-01-05 11:31:57 +01:00
Péter Szilágyi
c44830ebf3
core, light: allow zero cost txs from inexistent accounts too
2016-12-16 13:30:39 +02:00
Péter Szilágyi
745026b7b4
Merge pull request #3433 from karalabe/badblock-order-fix
...
core: import future blocks one-by-one, enfore chain ancestry
2016-12-14 16:45:48 +02:00
Péter Szilágyi
a59fcc33e6
core: import future blocks one-by-one, enfore chain ancestry
2016-12-13 16:19:45 +02:00
Bas van Kervel
9f1520b4c0
core: init pending state in tx pool on creation
2016-12-13 10:38:04 +01:00
bas-vk
4e36b1e3da
core: bugfix state change race condition in txpool ( #3412 )
...
The transaction pool keeps track of the current nonce in its local pendingState. When a
new block comes in the pendingState is reset. During the reset it fetches multiple times
the current state through the use of the currentState callback. When a second block comes
in during the reset its possible that the state changes during the reset. If that block
holds transactions that are currently in the pool the local pendingState that is used to
determine nonces can get out of sync.
2016-12-10 23:54:58 +01:00
Jeffrey Wilcke
3fc7c97827
core, core/vm: implemented a generic environment ( #3348 )
...
Environment is now a struct (not an interface). This
reduces a lot of tech-debt throughout the codebase where a virtual
machine environment had to be implemented in order to test or run it.
The new environment is suitable to be used en the json tests, core
consensus and light client.
2016-12-06 02:16:03 +01:00
Felix Lange
f52a1ae849
core, core/vm, eth/filters: move Removed field into vm.Log
...
This field used to be assigned by the filter system and returned through
the RPC API. Now that we have a Go client that uses the underlying type,
the field needs to move. It is now assigned to true when the RemovedLogs
event is generated so the filter system doesn't need to care about the
field at all.
While here, remove the log list from ChainSideEvent. There are no users
of this field right now and any potential users could subscribe to
RemovedLogsEvent instead.
2016-12-05 10:57:11 +01:00
Steven Roose
61ccb43487
core/types: Document Transaction.To ( #3366 )
2016-11-28 21:56:38 +01:00
Felix Lange
24f288770e
core/types: use package hexutil for JSON handling
2016-11-28 11:22:52 +01:00
Felix Lange
65e6319b12
core/vm: use package hexutil for JSON handling
2016-11-28 11:22:52 +01:00
Jeffrey Wilcke
801a13f791
core: fixed unwinding bad hash ( #3347 )
...
Fixed unwinding of bad hashes when already on the canon chain
2016-11-28 10:37:42 +01:00
Jeffrey Wilcke
6061707371
core: eip unit tests ( #3309 )
2016-11-28 01:33:28 +01:00
Felix Lange
fa0e057f8a
Merge pull request #3341 from obscuren/touch-delete-fix
...
core, core/state: fixed consensus issue added touch revert
2016-11-24 23:01:34 +01:00
Jeffrey Wilcke
12d654a6fc
core, core/state: fixed consensus issue added touch revert
...
Implemented proper touch revert journal entries and copied a Parity
consensus bug in order to remain in sync with the current longest chain.
2016-11-24 22:12:54 +01:00
Péter Szilágyi
529c502876
core: remove dead event
2016-11-24 15:23:01 +02:00
Jeffrey Wilcke
c04c8f10f0
core: improved bad block error reporting ( #3320 )
2016-11-23 13:32:25 +01:00
Jeffrey Wilcke
a8ca75738a
core: implemented new ropsten testnet
2016-11-23 09:34:01 +01:00
Jeffrey Wilcke
aad4890082
cmd/geth, core, light, mobile: removed state account StartingNonce
...
All account's nonce start at 0.
2016-11-23 09:34:01 +01:00
Nick Johnson
c8695209f6
core: Don't perform EIP150 hash check on uncles ( #3303 )
2016-11-18 12:01:54 +01:00
Jeffrey Wilcke
a672eae3d1
core, core/types: refactored tx chain id checking ( #3257 )
...
* core, core/types: refactored tx chain id checking
Refactored explicit chain id checking in to the Sender deriviation method
* cmd/utils, params: define chain ids
2016-11-14 21:37:13 +01:00
Péter Szilágyi
178da7c6a9
mobile: initial wrappers for mobile support
2016-11-14 17:56:58 +02:00
Jeffrey Wilcke
6c9c1e6712
core, core/types: refactored tx chain id checking
...
Refactored explicit chain id checking in to the Sender deriviation method
2016-11-14 15:59:31 +01:00
Zsolt Felfoldi
b10bcd924b
core/types: turn off nonce checking for Call messages
2016-11-14 14:16:06 +01:00
Jeffrey Wilcke
648bd22427
core/vm/runtime: fixed go vet
2016-11-13 23:26:10 +01:00
Jeffrey Wilcke
0231d8f86d
core, params: EIP#170
2016-11-13 23:26:10 +01:00
Jeffrey Wilcke
4dca5d4db7
core/types, params: EIP#155
2016-11-13 14:55:30 +01:00
Jeffrey Wilcke
779ddb1832
core/vm, params: EIP160: EXP reprice
2016-11-13 10:44:04 +01:00
Jeffrey Wilcke
445feaeef5
core, core/state, trie: EIP158, reprice & skip empty account write
...
This commit implements EIP158 part 1, 2, 3 & 4
1. If an account is empty it's no longer written to the trie. An empty
account is defined as (balance=0, nonce=0, storage=0, code=0).
2. Delete an empty account if it's touched
3. An empty account is redefined as either non-existent or empty.
4. Zero value calls and zero value suicides no longer consume the 25k
reation costs.
params: moved core/config to params
Signed-off-by: Jeffrey Wilcke <jeffrey@ethereum.org>
2016-11-13 10:44:04 +01:00
Felix Lange
b8bd9a71c8
all: update license information
2016-11-09 02:51:34 +01:00
Felix Lange
be3865211c
core/types: remove header accessors
...
These accessors were introduced by light client changes, but
the only method that is actually used is GetNumberU64. This
commit replaces all uses of .GetNumberU64 with .Number.Uint64.
2016-11-09 02:19:07 +01:00
Zsolt Felfoldi
760fd65487
light: light chain, VM env and tx pool
2016-11-09 02:12:53 +01:00
Jeffrey Wilcke
1b73c79234
common/math, core/vm: implement fast EXP ( #3214 )
...
* common/math, core/vm: implement fast EXP.
Courtesy @chfast & @karalabe
* common/math: fix go vet issues on exp calculation
2016-11-02 13:43:15 +02:00
Martin Holst Swende
36956da4d2
core: metrics collection for transaction events ( #3157 )
...
* core: Add metrics collection for transaction events; replace/discard for pending and future queues, as well as invalid transactions
* core: change namespace for txpool metrics
* core: define more metrics (not yet used)
* core: implement more tx metrics for when transactions are dropped
* core: minor formatting tweeks (will squash later)
* core: remove superfluous meter, fix missing pending nofunds
* core, metrics: switch txpool meters to counters
2016-11-01 14:46:11 +02:00
Péter Szilágyi
f4d878f3d8
Merge pull request #3216 from karalabe/fastsync-bigdb-tuning
...
core/state, eth/downloader, trie: reset fast-failure on progress
2016-11-01 13:31:12 +02:00
Péter Szilágyi
90b16a3e85
core/state, eth/downloader, trie: reset fast-failure on progress
2016-10-31 14:19:14 +02:00
Jeffrey Wilcke
4dc1fb923a
Merge pull request #3064 from pirapira/limit_struct_logs
...
core/vm: add limit option to LogConfig
2016-10-31 12:07:43 +01:00
Péter Szilágyi
f0dbec0c93
cmd, params: only set default fork configs for test and mainnet
2016-10-29 17:07:07 +03:00
Péter Szilágyi
8639b0fae9
cmd/utils, core, params: explicitly pick reprice fork for fast sync
2016-10-29 12:10:00 +03:00
bas-vk
b59c8399fb
internal/ethapi: add personal_sign and fix eth_sign to hash message ( #2940 )
...
This commit includes several API changes:
- The behavior of eth_sign is changed. It now accepts an arbitrary
message, prepends the well-known string
\x19Ethereum Signed Message:\n<length of message>
hashes the result using keccak256 and calculates the signature of
the hash. This breaks backwards compatability!
- personal_sign(hash, address [, password]) is added. It has the same
semantics as eth_sign but also accepts a password. The private key
used to sign the hash is temporarily unlocked in the scope of the
request.
- personal_recover(message, signature) is added and returns the
address for the account that created a signature.
2016-10-28 21:25:49 +02:00
Hao Bryan Cheng
89014b4524
core/vm: Ignore EnableJit ChainConfig setting ( #3166 )
2016-10-21 17:35:03 +02:00
Péter Szilágyi
1291778032
cmd/geth, code, eth/downloader: tune import logs and mem stats
2016-10-21 12:23:39 +03:00
Péter Szilágyi
88a593d559
cmd/geth, trie: report on trie cache unloads, also add debug log
2016-10-19 17:31:19 +03:00
Péter Szilágyi
4f46bd19d0
cmd, core/state: allow configurable trie cache generations
2016-10-19 14:55:13 +03:00
Jeffrey Wilcke
ca49510e6d
Merge pull request #3168 from benjaminbrent/develop
...
core/vm: fix GASPRICE string (resolves #2553 )
2016-10-19 13:36:13 +02:00
Jeffrey Wilcke
25ac04a444
Merge pull request #3153 from fjl/trie-unload-fix
...
trie: improve cache unloading mechanism
2016-10-19 13:35:49 +02:00
Benjamin Brent
55522373fd
core/vm: fix GASPRICE string ( resolves #2553 )
2016-10-19 15:55:34 +11:00
Jeffrey Wilcke
5b262ff5ab
Merge pull request #3156 from holiman/metrics-blocks
...
core: Add block processing time metric collection
2016-10-18 13:26:31 +02:00
Péter Szilágyi
64500ab0fa
common, core, eth/downloader: adjust import log formatting
2016-10-18 13:16:36 +03:00
Martin Holst Swende
00b853418e
core: Add block processing time metric collection
2016-10-18 09:29:50 +02:00
Felix Lange
44f419ec0f
core/state: bump trie cache values slightly
2016-10-18 04:57:47 +02:00
Péter Szilágyi
81b01f1c2b
Merge pull request #3111 from obscuren/gas-price-fork
...
core, core/vm: added gas price variance table (EIP #150 )
2016-10-14 19:32:11 +03:00
Péter Szilágyi
a4d9e63d12
Merge pull request #3138 from karalabe/txpool-pending-limits
...
core: add global (soft) limits on the pending transactions
2016-10-14 19:10:55 +03:00
Jeffrey Wilcke
64af2aafda
core, core/vm: added gas price variance table
...
This implements 1b & 1c of EIP150 by adding a new GasTable which must be
returned from the RuleSet config method. This table is used to determine
the gas prices for the current epoch.
Please note that when the CreateBySuicide gas price is set it is assumed
that we're in the new epoch phase.
In addition this PR will serve as temporary basis while refactorisation
in being done in the EVM64 PR, which will substentially overhaul the gas
price code.
2016-10-14 18:09:17 +02:00
Felix Lange
40cdcf1183
trie, core/state: improve memory usage and performance ( #3135 )
...
* trie: store nodes as pointers
This avoids memory copies when unwrapping node interface values.
name old time/op new time/op delta
Get 388ns ± 8% 215ns ± 2% -44.56% (p=0.000 n=15+15)
GetDB 363ns ± 3% 202ns ± 2% -44.21% (p=0.000 n=15+15)
UpdateBE 1.57µs ± 2% 1.29µs ± 3% -17.80% (p=0.000 n=13+15)
UpdateLE 1.92µs ± 2% 1.61µs ± 2% -16.25% (p=0.000 n=14+14)
HashBE 2.16µs ± 6% 2.18µs ± 6% ~ (p=0.436 n=15+15)
HashLE 7.43µs ± 3% 7.21µs ± 3% -2.96% (p=0.000 n=15+13)
* trie: close temporary databases in GetDB benchmark
* trie: don't keep []byte from DB load around
Nodes decoded from a DB load kept hashes and values as sub-slices of
the DB value. This can be a problem because loading from leveldb often
returns []byte with a cap that's larger than necessary, increasing
memory usage.
* trie: unload old cached nodes
* trie, core/state: use cache unloading for account trie
* trie: use explicit private flags (fixes Go 1.5 reflection issue).
* trie: fixup cachegen overflow at request of nick
* core/state: rename journal size constant
2016-10-14 19:04:33 +03:00
Péter Szilágyi
182d9cb752
core: add global (soft) limits on the pending transactions
2016-10-14 15:57:58 +03:00
Jeffrey Wilcke
ca419f3cd8
core: fixed import reporter
2016-10-11 00:16:08 +02:00
Felix Lange
be6a3696a9
Merge pull request #3104 from fjl/core-import-log
...
core: print import stats more often
2016-10-10 20:38:27 +02:00
Felix Lange
16d8397e30
core: lower transaction pool max queue limit
2016-10-10 15:32:06 +02:00
Felix Lange
e66b158f0b
core: print import stats more often
...
If geth is busy importing 2048 heavy blocks it can take a while before
it prints anything. This change ensures that a message gets printed
every 8s.
2016-10-07 21:03:38 +02:00
Felix Lange
c88e435724
Merge pull request #3088 from bas-vk/rpc-block-output
...
core/types: renamed receiptRoot to receiptsRoot
2016-10-06 18:32:27 +02:00
Felix Lange
eeb2a1a6e3
Merge pull request #3094 from fjl/tests-update
...
tests: update test files from github.com/ethereum/tests @ 45bc1d21d3c1
2016-10-06 16:19:53 +02:00
Felix Lange
1b7b2ba216
tests: update test files from github.com/ethereum/tests @ 45bc1d21d3c1
...
Two new tests are skipped because they're buggy. Making some newer
random state tests work required implementing the 'compressed return
value encoding'.
2016-10-06 15:36:21 +02:00
Felix Lange
3c836dd71b
core/state: optimize GetState
...
There is no need to use the reflection-based decoder to decode []byte.
2016-10-06 15:32:17 +02:00
Felix Lange
90fce8bfa6
core/state: rename Delete/IsDeleted to Suicide/HasSuicided
...
The delete/remove naming has caused endless confusion in the past.
2016-10-06 15:32:17 +02:00
Felix Lange
1f1ea18b54
core/state: implement reverts by journaling all changes
...
This commit replaces the deep-copy based state revert mechanism with a
linear complexity journal. This commit also hides several internal
StateDB methods to limit the number of ways in which calling code can
use the journal incorrectly.
As usual consultation and bug fixes to the initial implementation were
provided by @karalabe, @obscuren and @Arachnid. Thank you!
2016-10-06 15:32:16 +02:00
Bas van Kervel
71e8ae01b8
core/types: renamed receiptRoot to receiptsRoot
2016-10-05 12:24:42 +02:00
Péter Szilágyi
b7159818f9
core/state: track dirty state entries for each object
2016-10-03 10:48:01 +03:00
Péter Szilágyi
cb84e3f029
cmd, core, internal, light, tests: avoid hashing the code in the VM
2016-10-01 16:01:58 +03:00
Yoichi Hirai
bb6115b737
vm, ethapi: add limit
option to traceTransaction
...
that specifies the maximum number of elements in the `structLogs`
output. This option is useful for debugging a transaction that
involves a large number of repetition.
For example,
```
debug.traceTransaction(tx, {disableStorage: true, limit: 2})
```
shows at most the first two steps in the `structLogs`.
2016-09-30 17:36:00 +02:00
Péter Szilágyi
710435b51b
core, eth, trie: reuse trie journals in all our code
2016-09-28 11:27:31 +03:00
Felix Lange
cd791bd855
core, trie: replace state caches with trie journal
2016-09-28 11:27:28 +03:00
Felix Lange
a59a93f476
core/state: track all accounts in canon state
...
This change introduces a global, per-state cache that keeps account data
in the canon state. Thanks to @karalabe for lots of fixes.
2016-09-26 10:09:52 +02:00
Gustav Simonsson
25ed5fedda
core/state: short-circuit balance change if zero value
2016-09-26 01:26:54 -04:00
Gustav Simonsson
b6b17e5648
core/state, light: remove unused StateObject.initCode
2016-09-19 02:16:58 -04:00
Péter Szilágyi
88b012ad3b
Merge pull request #3006 from Arachnid/patch
...
core/state: Fix memory expansion bug by not copying clean objects
2016-09-19 04:20:14 +03:00
Nick Johnson
581b320b9d
core/state: Fix memory expansion bug by not copying clean objects
2016-09-19 08:57:08 +08:00
Péter Szilágyi
b6b5ec8f75
core/types: add core type marshal methods too
2016-09-08 18:16:53 +03:00
Péter Szilágyi
b4a5251391
core: abstract out a sorted transaction hash map
2016-09-02 14:15:40 +03:00
Péter Szilágyi
a183ea29f9
core: add upper bound on the queued transctions
2016-09-02 14:15:40 +03:00
Péter Szilágyi
affffb39b3
core/types, miner: switch over to the grouped tx sets
2016-09-02 14:12:03 +03:00
Péter Szilágyi
0ef327bbee
core, eth, internal, miner: optimize txpool for quick ops
2016-09-02 14:12:03 +03:00
Péter Szilágyi
795b70423e
core, eth, miner: only retain 1 tx/nonce, remove bad ones
2016-09-02 14:12:03 +03:00
Felix Lange
704fde01e8
core/types, core/vm: improve docs, add JSON marshaling methods
...
In this commit, core/types's types learn how to encode and decode
themselves as JSON. The encoding is very similar to what the RPC API
uses. The RPC API is missing some output fields (e.g. transaction
signature values) which will be added to the API in a later commit. Some
fields that the API generates are ignored by the decoder methods here.
2016-08-04 03:55:33 +02:00
Nick Johnson
2f99720901
core/vm, eth: Add support for javascript trace functions
2016-08-23 15:06:39 +01:00
Nick Johnson
781915f183
core/vm: Refactor tracing to make Tracer the main interface
...
This CL makes several refactors:
- Define a Tracer interface, implementing the `CaptureState` method
- Add the VM environment as the first argument of
`Tracer.CaptureState`
- Rename existing functionality `StructLogger` an make it an
implementation of `Tracer`
- Delete `StructLogCollector` and make `StructLogger` collect the logs
directly
- Change all callers to use the new `StructLogger` where necessary and
extract logs from that.
- Deletes the apparently obsolete and likely nonfunctional 'TraceCall'
from the eth API.
Callers that only wish accumulated logs can use the `StructLogger`
implementation straightforwardly. Callers that wish to efficiently
capture VM traces and operate on them without excessive copying can now
implement the `Tracer` interface to receive VM state at each step and
do with it as they wish.
This CL also removes the accumulation of logs from the vm.Environment;
this was necessary as part of the refactor, but also simplifies it by
removing a responsibility that doesn't directly belong to the
Environment.
2016-08-22 09:26:15 +01:00
Felix Lange
475521dd74
Merge pull request #2909 from fjl/account-manager-cleanup
...
all: clean up tech debt left behind by the API split
2016-08-17 20:59:59 +02:00
Felix Lange
3c09c5f12d
core, miner: move Backend to miner
...
This ensures that package core doesn't depend on package accounts and
resolves an age-old TODO.
2016-08-17 17:39:04 +02:00
Felix Lange
84d11c19fd
eth: remove dapp database remains
2016-08-17 17:39:03 +02:00
Bas van Kervel
47ff813012
rpc: refactor subscriptions and filters
2016-08-17 12:59:58 +02:00
Bas van Kervel
bb8059f6aa
core: ensure the canonical block is written before the canonical hash is set
2016-08-16 15:21:22 +02:00
Felix Lange
e4736fe469
core/vm: hide ecrecover error message
...
Fixes #2825
2016-08-05 23:12:52 +02:00
Péter Szilágyi
2c2e389b77
cmd, core, eth, miner, params, tests: finalize the DAO fork
2016-07-15 16:52:55 +03:00
Péter Szilágyi
3291235711
accounts, core, eth: pass chain config for chain maker to test DAO
2016-07-15 16:52:55 +03:00
Péter Szilágyi
461cdb593b
core, params, tests: add DAO hard-fork balance moves
2016-07-15 16:52:55 +03:00
Péter Szilágyi
7f00e8c033
core, eth: enforce network split post DAO hard-fork
2016-07-15 16:52:55 +03:00
Péter Szilágyi
a87089fd2d
cmd, core, miner: add extradata validation to consensus rules
2016-07-15 16:52:55 +03:00
Péter Szilágyi
9e56811a37
core: gracefully handle missing homestead block config
2016-07-15 16:52:55 +03:00
Péter Szilágyi
6060e098c9
cmd, core, eth, params: implement flags to control dao fork blocks
2016-07-15 16:52:55 +03:00
Péter Szilágyi
1a652afe16
Merge pull request #2724 from pirapira/fix_reset_fees
...
vm: Replace some SstoreClearGas with SstoreResetGas
2016-07-15 16:24:16 +03:00
Péter Szilágyi
f970610c04
Merge pull request #2799 from zsfelfoldi/api-nonce-fix2
...
core: added CheckNonce() to Message interface
2016-07-12 16:07:15 +03:00
zsfelfoldi
00787fe781
core: added CheckNonce() to Message interface
2016-07-11 12:35:23 +02:00
Péter Szilágyi
f5a29eab5c
core: solve a remote-import/local-mine data race
2016-07-08 16:59:19 +03:00
Péter Szilágyi
1e50f5dd28
Merge pull request #2159 from zsfelfoldi/light-backend
...
eth: separate common and full node-specific API and backend service
2016-06-30 12:57:50 +03:00
Péter Szilágyi
6362a9d610
Revert "test, cmd/evm, core, core/vm: illegal code hash implementation"
...
This reverts commit 7a5b571c671e70e0e4807cf971c15e2d1e09d33d.
2016-06-29 11:44:51 +03:00
Péter Szilágyi
d55fc35df1
Revert "core: add voting and result tracking for the dao soft-fork"
...
This reverts commit c4de28938ff8c688c4444c8b3e8e28a52cbc62ff.
2016-06-29 11:44:40 +03:00
Péter Szilágyi
67e9d33486
Revert "core: update DAO soft-fork number, clean up the code"
...
This reverts commit ba784bdf36f2daf7827ec1ec864f3393ba8d86a0.
2016-06-29 11:44:29 +03:00
Péter Szilágyi
219859f8bb
Revert "core: update the DAO soft fork proposal to the final block"
...
This reverts commit 1e3a7d4fab36df9382d023519ef10e3c34bafa3b.
2016-06-29 11:44:03 +03:00
Péter Szilágyi
1e3a7d4fab
core: update the DAO soft fork proposal to the final block
2016-06-24 15:24:09 +03:00
Péter Szilágyi
ba784bdf36
core: update DAO soft-fork number, clean up the code
2016-06-23 17:16:43 +03:00
Péter Szilágyi
c4de28938f
core: add voting and result tracking for the dao soft-fork
2016-06-23 16:43:35 +03:00
Jeffrey Wilcke
7a5b571c67
test, cmd/evm, core, core/vm: illegal code hash implementation
...
This implements a generic approach to enabling soft forks by allowing
anyone to put in hashes of contracts that should not be interacted from.
This will help "The DAO" in their endevour to stop any whithdrawals from
any DAO contract by convincing the mining community to accept their code
hash.
2016-06-22 11:38:25 +03:00
Yoichi Hirai
86bc7795a3
vm: Replace some SstoreClearGas with SstoreResetGas
2016-06-21 21:15:26 +02:00
Fabio Berger
a3efdb13f2
README, core, rpc: fix various typos
2016-06-21 17:38:35 +01:00
zsfelfoldi
3a97280ae8
eth: separate common and full node-specific API and backend service
2016-06-16 17:36:38 +02:00
Péter Szilágyi
22ef7370e7
Merge pull request #2686 from obscuren/issue-2542
...
core/state, eth: Updated suicides objects when tracing transactions
2016-06-14 16:54:46 +03:00
Jeffrey Wilcke
bb3651abc8
core/state, eth: Updated suicides objects when tracing transactions
...
Consensus rules dictate that objects can only be removed during the
finalisation of the transaction (i.e. after all calls have finished).
Thus calling a suicided contract twice from the same transaction:
A->B(S)->ret(A)->B(S) results in 2 suicides. Calling the suicided
object twice from two transactions: A->B(S), A->B, results in only one
suicide and a call to an empty object.
Our current debug tracing functionality replays all transaction that
were executed prior to the targetted transaction in order to provide
the user with an accurate trace.
As a side effect to calling StateDB.IntermediateRoot it also deletes any
suicides objects. Our tracing code never calls this function because it
isn't interested in the intermediate root. Becasue of this it caused a
bug in the tracing code where transactions that were send to priviously
deleted objects resulted in two suicides rather than one suicide and a
call to an empty object.
Fixes #2542
2016-06-13 11:57:42 +02:00
zsfelfoldi
f9917c8c7b
core: improved chainDb using sequential keys
2016-06-07 16:38:56 +02:00
zsfelfoldi
5a458da42a
core: chain read/write speed benchmarks
2016-06-06 14:38:28 +02:00
Felix Lange
fc85dd175e
core: add missing lock in TxPool.{GetTransaction,RemoveTx}
...
Fixes #2650
2016-06-03 12:43:33 +02:00
Jeffrey Wilcke
5c39a1bb26
Merge pull request #2585 from karalabe/trie-dirty-tracking
...
core, core/state, trie: enterprise hand-tuned multi-level caching
2016-05-30 23:07:51 +02:00
Péter Szilágyi
8ee84584a4
core/state: return the starting nonce for non-existent accs (testnet)
2016-05-27 10:42:11 +03:00
Péter Szilágyi
748d1c171d
core, core/state, trie: enterprise hand-tuned multi-level caching
2016-05-26 16:33:09 +03:00
Felix Lange
ca18202eb9
eth: enable bad block reports
...
We used to have reporting of bad blocks, but it was disabled
before the Frontier release. We need it back because users
are usually unable to provide the full RLP data of a bad
block when it occurs.
A shortcoming of this particular implementation is that the
origin peer is not tracked for blocks received during eth/63
sync. No origin peer info is still better than no report at
all though.
2016-05-25 02:02:51 +02:00
Fabio Berger
faf663133b
core: Simplify bloom9 tests with available convenience method TestBytes
2016-05-22 16:42:46 -07:00
Jeffrey Wilcke
fe532a98f9
core: fixed pointer assignment
...
This fixes an issue where it's theoretical possible to cause a consensus
failure when hitting the lower end of the difficulty, though pratically
impossible it's worth a fix.
2016-05-13 12:12:46 +02:00
Felix Lange
56ed6152a1
core, eth, miner: improve shutdown synchronisation
...
Shutting down geth prints hundreds of annoying error messages in some
cases. The errors appear because the Stop method of eth.ProtocolManager,
miner.Miner and core.TxPool is asynchronous. Left over peer sessions
generate events which are processed after Stop even though the database
has already been closed.
The fix is to make Stop synchronous using sync.WaitGroup.
For eth.ProtocolManager, in order to make use of WaitGroup safe, we need
a way to stop new peer sessions from being added while waiting on the
WaitGroup. The eth protocol Run function now selects on a signaling
channel and adds to the WaitGroup only if ProtocolManager is not
shutting down.
For miner.worker and core.TxPool the number of goroutines is static,
WaitGroup can be used in the usual way without additional
synchronisation.
2016-05-09 13:03:08 +02:00
Nicholas Johnson
c74a575725
core: Provide a public accessor for ChainConfig
...
This is necessary for external users of the go-ethereum code who want to, for instance, build a custom node that plays back transactions, as core.ApplyTransaction requires a ChainConfig as a parameter.
2016-04-29 12:42:03 +01:00
Jeffrey Wilcke
c1a4dcfc87
core, eth: added json tag field for proper unmarshalling
...
According to our own instructions the genesis config attribute should be
"config". The genesis definition in the go code, however, has a field
called `ChainConfig`. This field now has a `json:"config"` struct tag so
that the json is properly unmarshalled.
This fixes #2482
2016-04-25 12:48:31 +02:00
Felix Lange
6fdd0893c3
all: fix go vet warnings
2016-04-15 11:17:27 +02:00
Felix Lange
68c755a238
core/state: fix TestDump
...
Lazy "I'll just put return here instead of fixing the test" found by go vet.
2016-04-15 11:16:56 +02:00
Felix Lange
24cdac41f3
core, core/types, eth: add and use Block.Body
...
This fixes a few uses of unkeyed Body literals which go vet was
complaining about.
2016-04-15 10:57:37 +02:00
Felix Lange
d04a2e7557
all: update license information
2016-04-15 09:48:05 +02:00
Péter Szilágyi
e9254bb0f9
core, miner: remove Frontier canary
2016-04-04 13:18:34 +03:00
Jeffrey Wilcke
1f3596c25a
core: transition db now also returns the required gas amount
...
Exposes some core methods to transition and compute new state
information and adds an additional return value to the transition db
method to fetch required gas for that particular message (excluding gas
refunds from any SSTORE[X] = 0 and SUICIDE.
Fixes #2395
2016-04-01 01:01:10 +02:00
Jeffrey Wilcke
9055c16efa
accounts/a/b/backends, core: chain maker homestead block set to 0
...
The chain maker and the simulated backend now run with a homestead phase
beginning at block 0 (i.e. there's no frontier).
This commit also fixes up #2388
2016-04-01 01:01:10 +02:00
Jeffrey Wilcke
f0cbebb19f
core: added basic chain configuration
...
Added chain configuration options and write out during genesis database
insertion. If no "config" was found, nothing is written to the database.
Configurations are written on a per genesis base. This means
that any chain (which is identified by it's genesis hash) can have their
own chain settings.
2016-04-01 01:01:10 +02:00
Jeffrey Wilcke
0cfa21fc7f
core, eth, cmd: temporary work around for enabling the jit
...
This commit serves as a temporary workaround for enabling the jit until
the block customisation PR is merged in.
2016-03-23 23:02:44 +01:00
Jeffrey Wilcke
14013372ae
core: Added EVM configuration options
...
The EVM is now initialised with an additional configured object that
allows you to turn on debugging options.
2016-03-23 23:02:42 +01:00
Jeffrey Wilcke
342ae7ce7d
core, core/vm, tests: changed the initialisation behaviour of the EVM
...
The EVM was previously initialised and created for every CALL, CALLCODE,
DELEGATECALL and CREATE. This PR changes this behaviour so that the same
EVM can be used through the session and beyond as long as the
Environment sticks around.
2016-03-23 00:04:00 +01:00
Péter Szilágyi
2855a93ede
Merge pull request #2341 from leijurv/patch-2
...
core: fixed various typos
2016-03-16 11:22:33 +02:00
Leif Jurvetson
434e4b31d8
core, eth: replace reorganiz with reorganis
2016-03-15 12:03:17 -07:00
Leif Jurvetson
b7bb2d8589
core: various typos
2016-03-15 11:08:18 -07:00
Leif Jurvetson
c7727191ae
core: fixed various typos
2016-03-15 09:12:03 -07:00
Jeffrey Wilcke
8a3ce5450a
Merge pull request #2311 from obscuren/future-proc-fix
...
core: added future proc mutex lock
2016-03-11 18:26:57 +01:00
Jeffrey Wilcke
558d18d2b0
core: added future proc mutex lock
...
Added a future lock which prevents the anything being added or removed
from or to the set when looping over the set of blocks. This fixes a nil
pointer in the range loop when trying to retrieve a block from the set
which was previously available but removed due to regular chain
processing.
Fixes #2305
2016-03-11 09:52:36 +01:00
Péter Szilágyi
daad2b2559
core: cache fresh headers and tds to avoid db trashing
2016-03-10 21:40:34 +02:00
zsfelfoldi
73d21ea6af
core: create a header chain structure shared by core.BlockChain and light.LightChain
2016-03-10 14:57:32 +01:00
Jeffrey Wilcke
bff9ceb6b8
Merge pull request #2301 from obscuren/uncle-fix
...
core: announce ChainSideEvent during reorg
2016-03-10 14:21:41 +01:00
Péter Szilágyi
e90958cd29
cmd, eth, ethdb, node: prioritise chaindata for resources, bump cache
2016-03-09 10:33:39 +02:00
Jeffrey Wilcke
ba3fb9e6f4
core: announce ChainSideEvent during reorg
...
Previously all blocks that were already in our chain were never re
announced as potential uncle block (e.g. ChainSideEvent). This is
problematic during mining where you want to gather as much possible
uncles as possible increasing the profit. This is now addressed in this
PR where during reorganisations of chains the old chain is regarded as
uncles.
Fixed #2298
2016-03-08 16:12:48 +01:00
Péter Szilágyi
5adc461d58
Merge pull request #2267 from karalabe/pending-state-events
...
core, miner: add PendingStateEvent to track non-log updates.
2016-03-02 11:24:27 +02:00
Péter Szilágyi
f30b809f00
Merge pull request #2215 from bas-vk/estimategas
...
core: improved check for contract creation
2016-03-01 10:59:12 +02:00
Péter Szilágyi
b534106cc8
core, miner: add PendingStateEvent to track non-log updates
2016-02-29 11:24:58 +02:00
Jeffrey Wilcke
483feb0d3f
Merge pull request #2242 from jimenezrick/upstream-crypto
...
Closes #2241 : Use Keccak-256 from golang.org/x/crypto/sha3 and mention explicitly
2016-02-24 12:57:57 +01:00
Péter Szilágyi
3dca9cc550
Merge pull request #2095 from karalabe/trie-node-iterator
...
core/state, trie: add node iterator, test state/trie sync consistency
2016-02-23 10:26:25 +02:00
Ricardo Catalinas Jiménez
436fc8d76a
all: Rename crypto.Sha3{,Hash}() to crypto.Keccak256{,Hash}()
...
As we aren't really using the standarized SHA-3
2016-02-21 22:34:34 +00:00
Jeffrey Wilcke
5b283663b4
core: Added new TD strategy which mitigate the risk for selfish mining
...
Assuming the following scenario where a miner has 15% of all hashing
power and the ability to exert a moderate control over the network to
the point where if the attacker sees a message A, it can't stop A from
propagating, but what it **can** do is send a message B and ensure that
most nodes see B before A. The attacker can then selfish mine and
augment selfish mining strategy by giving his own blocks an advantage.
This change makes the time at which a block is received less relevant
and so the level of control an attacker has over the network no longer
makes a difference.
This change changes the current td algorithm `B_td > C_td` to the new
algorithm `B_td > C_td || B_td == C_td && rnd < 0.5`.
2016-02-18 10:12:13 +01:00
Jeffrey Wilcke
b6d88a0e9f
core, core/vm, crypto: fixes for homestead
...
* Removed some strange code that didn't apply state reverting properly
* Refactored code setting from vm & state transition to the executioner
* Updated tests
2016-02-18 10:11:48 +01:00
Gustav Simonsson
371871d685
parmas, crypto, core, core/vm: homestead consensus protocol changes
...
* change gas cost for contract creating txs
* invalidate signature with s value greater than secp256k1 N / 2
* OOG contract creation if not enough gas to store code
* new difficulty adjustment algorithm
* new DELEGATECALL op code
2016-02-18 10:08:11 +01:00
Péter Szilágyi
b8d59d9c98
core/state, trie: switch iterator panics to error fields
2016-02-16 12:37:00 +02:00
Péter Szilágyi
151c7bef41
core/state, trie: node iterator reports parent hashes too
2016-02-16 12:21:08 +02:00
Péter Szilágyi
5a057a8ded
core/state, trie: surface iterator entry hashes
2016-02-16 12:21:08 +02:00
Péter Szilágyi
7e29b0b5b4
core/state, trie: add node iterator, test state/trie sync consistency
2016-02-16 12:21:08 +02:00
Bas van Kervel
0ff2adb21b
core: improved check for contract creation
2016-02-16 10:52:46 +01:00
Jeffrey Wilcke
987c1a595a
eth/filters: ✨ pending logs ✨
...
Pending logs are now filterable through the Go API. Filter API changed
such that each filter type has it's own bucket and adding filter
explicitly requires you specify the bucket to put it in.
2016-02-13 13:14:02 +01:00
Jeffrey Wilcke
6cace73bea
core/vm/runtime: simplified runtime calling mechanism
...
Implemented `runtime.Call` which uses - unlike Execute - the given state
for the execution and the address of the contract you wish to execute.
Unlike `Execute`, `Call` requires a config.
2016-02-11 10:17:16 +01:00
Péter Szilágyi
a50bccc642
Merge pull request #2134 from karalabe/save-state-writes
...
core/state, trie: don't leak database writes before commit
2016-02-03 10:56:21 +02:00
Péter Szilágyi
a8fd0de0d3
Merge pull request #2156 from ppratscher/add_replay_tx
...
core/vm, rpc/api: added debug_replayTransaction RPC call
2016-02-03 10:34:52 +02:00
Peter Pratscher
15780ead07
core/vm, rpc/api: renamed to debug.replayTransaction, migrated to new RPC, integrated feedback
...
Integrated code review suggestions
Integrated last review comments
2016-02-02 15:20:18 +01:00
Péter Szilágyi
d3642b0715
core, eth, rpc/api: rpc method to inspect the txpool queue
2016-02-01 14:58:14 +02:00
Péter Szilágyi
a2dc074b1d
core, core/types, miner: fix transaction nonce-price combo sort
2016-01-22 12:33:34 +02:00
Jeffrey Wilcke
78f1964095
Merge pull request #2115 from karalabe/vm-debug-storage
...
core/vm: resolve circular dependency to debug vm storage
2016-01-20 22:18:19 +01:00
Péter Szilágyi
f3d4ce0d16
core/state, ethdb, trie: test intermediate secure key leak, fix memdb bug
2016-01-20 16:06:28 +02:00
Péter Szilágyi
886478b18b
core/state, trie: don't leak database writes before commit
2016-01-20 12:09:24 +02:00
Péter Szilágyi
2d5d6d9d0e
core/state: always commit in batches, just finish if not needed later
2016-01-13 12:04:03 +02:00
Péter Szilágyi
752c75fb21
core/vm: resolve circular dependency to debug vm storage
2016-01-11 18:21:39 +02:00
Péter Szilágyi
e5b480b638
core: fix invalid state reuse in chain maker based tests
2016-01-11 16:53:06 +02:00
Jeffrey Wilcke
32226f1b0c
Merge pull request #2097 from karalabe/block-state-checks
...
core, eth/downloader: ensure state presence in ancestor lookup
2016-01-05 12:26:38 +01:00
Péter Szilágyi
649787a9bf
core: fix transaction reorg issues within the tx pool
2016-01-05 11:22:59 +02:00
Péter Szilágyi
9e011ff1cd
core, eth/downloader: ensure state presence in ancestor lookup
2016-01-04 16:27:23 +02:00
Felix Lange
e6fb69296e
common: remove old RLP implementation, Value and ExtPackage
...
In order to make this happen, kill all remaining trivial uses of
common/{rlp,value}.go. The non-trivial ones have been updated earlier.
2015-12-18 12:09:10 +01:00
Felix Lange
1b89bd5d26
core/state, core/types use package rlp for state, receipt serialisation
2015-12-18 12:09:10 +01:00
Felix Lange
9be5d5cd90
eth/downloader: fix negative balance issue in tests
...
The test chain generated by makeChainFork included invalid uncle
headers, crashing the generator during the state commit.
The headers were invalid because they used the iteration counter as the
block number, even though makeChainFork uses a block with number > 0 as
the parent. Fix this by introducing BlockGen.Number, which allows
accessing the actual number of the block being generated.
2015-12-18 12:09:10 +01:00
zsfelfoldi
975c591261
core: tx pool skip price validation for "owned" transactions
2015-12-16 03:21:17 +01:00
Felix Lange
fa187a366d
Merge pull request #2035 from bas-vk/rcp-v2-rebase
...
rpc: new RPC implementation with pub/sub support
2015-12-14 17:38:10 +01:00
Bas van Kervel
eae81465c1
rpc: new RPC implementation with pub/sub support
2015-12-14 16:34:05 +01:00
Péter Szilágyi
1cecda8333
core: write individual transactions and receipts too on fast sync
2015-12-04 15:30:59 +02:00
Jeffrey Wilcke
9901a40f04
core: added a new RemovedLogEvent
...
When a chain reorganisation occurs we collect the logs that were deleted
during the chain reorganisation. The removed logs are posted to the
event mux indicating that those were deleted during the reorg.
2015-12-01 12:12:30 +01:00
Péter Szilágyi
1e806c4c77
cmd, common, core, eth, node, rpc, tests, whisper, xeth: use protocol stacks
2015-11-27 11:06:12 +02:00
Péter Szilágyi
e86e0ecdc8
core, eth, miner, xeth: clean up tx/receipt db accessors
2015-11-19 16:03:32 +02:00
Jeffrey Wilcke
ae37a8013d
Merge pull request #1917 from obscuren/validator-interface
...
core, eth, rpc: split out block validator and state processor
2015-11-19 10:57:00 +01:00
Jeffrey Wilcke
1372b991c3
core/vm/runtime: added simple execution runtime
...
The runtime environment can be used for simple basic execution of
contract code without the requirement of setting up a full stack and
operates fully in memory.
2015-11-18 16:50:20 +01:00
Jeffrey Wilcke
a1d9ef48c5
core, eth, rpc: split out block validator and state processor
...
This removes the burden on a single object to take care of all
validation and state processing. Now instead the validation is done by
the `core.BlockValidator` (`types.Validator`) that takes care of both
header and uncle validation through the `ValidateBlock` method and state
validation through the `ValidateState` method. The state processing is
done by a new object `core.StateProcessor` (`types.Processor`) and
accepts a new state as input and uses that to process the given block's
transactions (and uncles for rewords) to calculate the state root for
the next block (P_n + 1).
2015-11-18 14:24:42 +01:00
Péter Szilágyi
667987e7d0
core: only reset head header/fastblock if stale
2015-10-28 17:40:24 +02:00
Péter Szilágyi
28c7b54d68
core: fix #1921 , decode all receipt field, not just consensus
2015-10-22 13:09:30 +03:00
Jeffrey Wilcke
58d0752fdd
Merge pull request #1883 from obscuren/jit-vm-optimisations
...
core/vm: JIT segmentation
2015-10-21 12:34:32 -07:00
Jeffrey Wilcke
0467a6ceec
Merge pull request #1889 from karalabe/fast-sync-rebase
...
eth/63 fast synchronization algorithm
2015-10-21 11:44:22 -07:00
Péter Szilágyi
5b0ee8ec30
core, eth, trie: fix data races and merge/review issues
2015-10-21 16:49:55 +03:00
Jeffrey Wilcke
80f26086ee
core, tests: get_hash fix
...
Make sure that we're fetching the hash from the current chain and not
the canonical chain.
2015-10-21 02:31:46 +02:00
Péter Szilágyi
a9d8dfc8e7
core, eth: roll back uncertain headers in failed fast syncs
2015-10-19 10:03:10 +03:00
Péter Szilágyi
b97e34a8e4
eth/downloader: concurrent receipt and state processing
2015-10-19 10:03:10 +03:00
Péter Szilágyi
ab27bee25a
core, eth, trie: direct state trie synchronization
2015-10-19 10:03:09 +03:00
Péter Szilágyi
832b37c822
core, eth: receipt chain reconstruction
2015-10-19 10:03:09 +03:00
Péter Szilágyi
42c8afd440
core: differentiate receipt concensus and storage decoding
2015-10-19 10:03:09 +03:00
Péter Szilágyi
b99fe27f8b
core: fix block canonical mark / content write race
2015-10-19 10:03:09 +03:00
Péter Szilágyi
f186b39018
eth/downloader: add fast and light sync strategies
2015-10-19 10:03:09 +03:00
Péter Szilágyi
c33cc382b3
core: support inserting pure header chains
2015-10-19 10:03:09 +03:00
Felix Lange
de8d5aaa92
core, core/state: move gas tracking out of core/state
...
The amount of gas available for tx execution was tracked in the
StateObject representing the coinbase account. This commit makes the gas
counter a separate type in package core, which avoids unintended
consequences of intertwining the counter with state logic.
2015-10-17 10:24:34 +02:00
Jeffrey Wilcke
8c85532412
core/vm: added parsing utilities
2015-10-16 22:30:42 +02:00
Jeffrey Wilcke
b196278044
core/vm: added JIT segmenting / optimisations
...
* multi-push segments
* static jumps segments
2015-10-16 22:30:42 +02:00
Jeffrey Wilcke
9d61d78de6
core/vm: abstracted instruction execution away from JIT
...
Moved the execution of instructions to the instruction it self. This
will allow for specialised instructions (e.g. segments) to be execution
in the same manner as regular instructions.
2015-10-16 22:17:35 +02:00
Jeffrey Wilcke
10ed107ba2
Merge pull request #1899 from obscuren/mipmap-bloom
...
core, eth/filters, miner, xeth: Optimised log filtering
2015-10-16 12:35:24 -07:00
Jeffrey Wilcke
6dc14788a2
core, eth/filters, miner, xeth: Optimised log filtering
...
Log filtering is now using a MIPmap like approach where addresses of
logs are added to a mapped bloom bin. The current levels for the MIP are
in ranges of 1.000.000, 500.000, 100.000, 50.000, 1.000. Logs are
therefor filtered in batches of 1.000.
2015-10-16 21:28:59 +02:00
Jeffrey Wilcke
d5327ddc5f
Merge pull request #1869 from Gustav-Simonsson/gpu_miner
...
all: Add GPU mining, disabled by default
2015-10-16 06:25:33 -07:00
Gustav Simonsson
1b1f293082
core/state, core, miner: handle missing root error from state.New
2015-10-16 02:22:06 +02:00
Jeffrey Wilcke
30f057aaf9
eth/filters: added benchmark
2015-10-15 19:45:44 +02:00
Jeffrey Wilcke
cefe5c80b1
Merge pull request #1898 from karalabe/eventmux-post-race
...
core, eth, event, miner, xeth: fix event post / subscription race
2015-10-15 10:44:30 -07:00
Péter Szilágyi
402fd6e8c6
core, eth, event, miner, xeth: fix event post / subscription race
2015-10-12 16:22:03 +03:00
Péter Szilágyi
af9afb686b
core/vm: copy stack element to prevent overwrites
2015-10-12 00:14:35 +03:00
Jeffrey Wilcke
315a422ba7
Merge pull request #1888 from obscuren/testnet
...
cmd, core, eth: added official testnet
2015-10-09 01:31:37 -07:00
Jeffrey Wilcke
1de796f101
cmd, core, eth: added official testnet
2015-10-08 22:01:39 +02:00
Jeffrey Wilcke
bba4dcb72f
Merge pull request #1880 from Gustav-Simonsson/core_transfer
...
core, core/vm, cmd/evm: remove redundant balance check
2015-10-08 11:32:30 -07:00
Gustav Simonsson
ec6a548ee3
all: Add GPU mining, disabled by default
2015-10-07 13:19:30 +02:00
Jeffrey Wilcke
f8786defd0
Merge pull request #1850 from karalabe/genesis-block-receipts
...
core: fix #1848 , block receipts db entry for the genesis too
2015-10-07 01:50:37 -07:00
Gustav Simonsson
e1616f77c7
core, core/vm, cmd/evm: remove redundant balance check
2015-10-06 12:42:34 +02:00
Jeffrey Wilcke
20ab29f885
core: fixed head write on block insertion
...
Due to a rebase this probably got overlooked / ignored. This fixes the
issue of a block insertion never writing the last block.
2015-10-05 17:00:59 +02:00
Jeffrey Wilcke
7c7692933c
cmd/geth, cmd/utils, core, rpc: renamed to blockchain
...
* Renamed ChainManager to BlockChain
* Checkpointing is no longer required and never really properly worked
when the state was corrupted.
2015-10-04 01:13:56 +02:00
Jeffrey Wilcke
361082ec4b
cmd/evm, core/vm, test: refactored VM and core
...
* Moved `vm.Transfer` to `core` package and changed execution to call
`env.Transfer` instead of `core.Transfer` directly.
* core/vm: byte code VM moved to jump table instead of switch
* Moved `vm.Transfer` to `core` package and changed execution to call
`env.Transfer` instead of `core.Transfer` directly.
* Byte code VM now shares the same code as the JITVM
* Renamed Context to Contract
* Changed initialiser of state transition & unexported methods
* Removed the Execution object and refactor `Call`, `CallCode` &
`Create` in to their own functions instead of being methods.
* Removed the hard dep on the state for the VM. The VM now
depends on a Database interface returned by the environment. In the
process the core now depends less on the statedb by usage of the env
* Moved `Log` from package `core/state` to package `core/vm`.
2015-10-04 01:13:54 +02:00
Jeffrey Wilcke
f7a71996fb
core, event/filter, xeth: refactored filter system
...
Moved the filtering system from `event` to `eth/filters` package and
removed the `core.Filter` object. The `filters.Filter` object now
requires a `common.Database` rather than a `eth.Backend` and invokes the
`core.GetBlockByX` directly rather than thru a "manager".
2015-10-02 22:47:43 +02:00
Jeffrey Wilcke
a6cc02f68f
core: deadlock in chainmanager after posting RemovedTransactionEvent
...
This PR solves an issue with the chain manager posting a
`RemovedTransactionEvent`, the tx pool will try to
acquire the chainmanager lock which has previously been locked prior to
posting `RemovedTransactionEvent`. This results in a deadlock in the
core.
2015-10-02 12:20:18 +02:00
Jeffrey Wilcke
49ae538506
Merge pull request #1405 from fjl/lean-trie
...
core, trie: new trie
2015-10-01 04:34:38 -07:00
Péter Szilágyi
b8b996be74
core: fix a formatting loop in BadHashError
2015-09-29 09:11:38 +03:00
Péter Szilágyi
830ddcee60
core: fix #1848 , block receipts db entry for the genesis too
2015-09-24 19:38:59 +03:00
Felix Lange
a2d5a60418
core, core/state: batch-based state sync
2015-09-22 22:57:37 +02:00
Felix Lange
565d9f2306
core, trie: new trie
2015-09-22 22:53:49 +02:00
Gustav Simonsson
bfde1a4305
core: Add BadHashErr and test for BadHashes handling
2015-09-22 18:02:26 +02:00
Felix Lange
70b6174748
cmd/geth, core: make "geth blocktest" work again
...
The test genesis block was not written properly, block insertion failed
immediately.
While here, fix the panic when shutting down "geth blocktest" with
Ctrl+C. The signal handler is now installed automatically, causing
ethereum.Stop to crash because everything is already stopped.
2015-09-22 23:55:31 +02:00
Jeffrey Wilcke
eaa4473dbd
core, core/types: readd transactions after chain re-org
...
Added a `Difference` method to `types.Transactions` which sets the
receiver to the difference of a to b (NOTE: not a **and** b).
Transaction pool subscribes to RemovedTransactionEvent adding back to
those potential missing from the chain.
When a chain re-org occurs remove any transactions that were removed
from the canonical chain during the re-org as well as the receipts that
were generated in the process.
Closes #1746
2015-09-21 20:33:28 +02:00
Péter Szilágyi
399c920380
core: separate and contain POW verifier, extensive tests
2015-09-21 10:24:49 +03:00
Jeffrey Wilcke
b94b9b0158
Merge pull request #1817 from obscuren/nonce-fix
...
core: transaction nonce recovery
2015-09-18 15:56:10 -07:00
Jeffrey Wilcke
b60a27627b
core: transaction nonce recovery fix
...
When the transaction state recovery kicked in it assigned the last
(incorrect) nonce to the pending state which caused transactions with
the same nonce to occur.
Added test for nonce recovery
2015-09-18 11:59:21 +02:00
Péter Szilágyi
6f3cb12924
core: allow modifying test-chain block times
2015-09-17 13:43:52 +03:00
Jeffrey Wilcke
58fbcaa750
Merge pull request #1810 from karalabe/pure-header-verifications-2
...
core, eth, miner: use pure header validation
2015-09-16 14:21:12 -07:00
Péter Szilágyi
821619e1c3
core, eth, miner: use pure header validation
2015-09-16 10:46:28 +03:00
Felix Lange
8c4dab77ba
all: move common.Database to package ethdb
2015-09-14 23:36:30 +02:00
Jeffrey Wilcke
55ed8d108d
Merge pull request #1789 from Gustav-Simonsson/core_remove_unused_functions
...
core, core/vm, core/state: remove unused functions
2015-09-11 15:29:27 -07:00
Péter Szilágyi
cdc2662c40
core: split out TD from database and all internals
2015-09-11 17:42:25 +03:00
Péter Szilágyi
2b339cbbd8
core, eth: split the db blocks into headers and bodies
2015-09-11 17:42:25 +03:00
Gustav Simonsson
b81a6e6ab8
core, core/vm, core/state: remove unused functions
2015-09-10 21:10:58 +02:00
Gustav Simonsson
bf879ef230
core/state: test formatting adhering to Go convention
2015-09-09 00:26:18 +02:00
Gustav Simonsson
004ed786b4
core/state: deleted field in StateObject Copy() and unit test
2015-09-08 15:56:11 +02:00
Felix Lange
00b45acb9e
core: improve block gas tracking
2015-09-01 23:11:03 +02:00
Maran
67225de255
Filter on addresses should work as an OR not an AND.
2015-09-01 09:19:45 +02:00
Felix Lange
6ec13e7e2b
Merge pull request #1701 from karalabe/eth62-sync-rebase
...
eth: implement eth/62 synchronization logic
2015-08-27 00:03:59 +02:00
Péter Szilágyi
47a7fe5d22
eth: port the synchronisation algo to eth/62
2015-08-25 17:48:47 +03:00
Gustav Simonsson
7324176f70
Add tests for uncle timestamps and refactor timestamp type
2015-08-25 04:46:11 +02:00
Jeffrey Wilcke
3793991c0e
remove 0x
2015-08-20 18:50:47 +02:00
Jeffrey Wilcke
b884d6ebaa
canary update
2015-08-20 18:38:21 +02:00
Jeffrey Wilcke
36f7fe61c3
core, tests: Double SUICIDE fix
2015-08-20 18:22:50 +02:00
Jeffrey Wilcke
b4369e1015
core, miner: write miner receipts
2015-08-18 21:46:26 +02:00
Jeffrey Wilcke
9cacec70f9
cmd/evm, core/vm, tests: changed DisableVm to EnableVm
2015-08-11 18:43:22 +02:00
Jeffrey Wilcke
32395ddb89
core/vm: fixed jit error & added inline docs
...
opNumber did not create a new big int which could lead to the block's
number being modified.
2015-08-11 00:16:38 +02:00
Jeffrey Wilcke
2fcf7f1241
Merge pull request #1604 from obscuren/db-merge
...
core, eth, trie, xeth: merged state, chain, extra databases in one
2015-08-09 05:16:37 -07:00
Jeffrey Wilcke
07cb8092e7
Merge pull request #1611 from obscuren/expdiff-olympic-fix
...
cmd/utils, core: disable exp diff for olympic net
2015-08-09 05:15:13 -07:00
Jeffrey Wilcke
eec38c5853
cmd/geth, core/vm: setup vm settings and defaulted JIT disabled
2015-08-09 02:06:16 +02:00
Jeffrey Wilcke
a23478c0be
core, eth, trie, xeth: merged state, chain, extra databases in one
2015-08-07 22:29:02 +02:00
Jeffrey Wilcke
ac697326a6
core/vm: reduced big int allocations
...
Reduced big int allocation by making stack items modifiable. Instead of
adding items such as `common.Big0` to the stack, `new(big.Int)` is
added instead. One must expect that any item that is added to the stack
might change.
2015-08-07 12:52:23 +02:00
Jeffrey Wilcke
184e9ae9a8
core, tests: reduced state copy by N calls
...
Reduced the amount of state copied that are required by N calls by doing
a balance check prior to any state modifications.
2015-08-07 12:52:23 +02:00
Jeffrey Wilcke
846f34f78b
core/vm, tests: implemented semi-jit vm
...
* changed stack and removed stack ptr. Let go decide on slice reuse.
2015-08-07 12:52:17 +02:00
Jeffrey Wilcke
74f6d90153
cmd/utils, core: disable exp diff for olympic net
2015-08-06 13:29:06 +02:00
Jeffrey Wilcke
35f271b264
miner, core: sort txs by price, nonce
2015-08-05 17:44:19 +02:00
Jeffrey Wilcke
71d32f54f7
core, miner: added difficulty bomb
2015-08-05 13:09:09 +02:00
Gustav Simonsson
26c6e3b206
miner: gas limit strategy, target 3141592 & def gas price 50 Shannon
2015-08-04 15:20:28 +02:00
Jeffrey Wilcke
cc6c5846e5
Merge pull request #1568 from obscuren/issue-1559
...
core: added a running flag to prevent panics in the chainmanager
2015-08-03 07:15:19 -07:00
Jeffrey Wilcke
db988a46dd
Merge pull request #1569 from obscuren/default-genesis
...
core: added default genesis block
2015-08-03 04:49:30 -07:00
Jeffrey Wilcke
7a75da63c6
core: added default genesis block
...
When a user runs a freshly setup geth w/o a database initialised the
default genesis block is decoded and inserted in to the database.
2015-08-02 01:23:02 +02:00
Jeffrey Wilcke
33efb3381c
Merge pull request #1461 from bas-vk/eth_resend
...
Old transaction after resend was not removed from pool
2015-08-01 16:18:54 -07:00
Jeffrey Wilcke
a8b39b5cc0
Merge pull request #1541 from bas-vk/issue1518
...
Improved error handling for NewTransactionFromBytes
2015-08-01 08:47:32 -07:00
Jeffrey Wilcke
acd2c4e520
core: added a running flag to prevent panics in the chainmanager
...
The running flag will determine whether the chain manager is still
running or not. This will prevent the quit channel from being closed
twice resulting in a panic. This PR should fix this issue.
Closes #1559
2015-08-01 12:32:28 +02:00
Jeffrey Wilcke
f715547fc7
core/state: Set log index. Closes #1226
2015-07-29 15:08:59 +02:00
Bas van Kervel
81e2124ea2
improved error detection and handling for NewTransactionFromBytes
...
integrated review comments
2015-07-29 10:30:00 +02:00
Jeffrey Wilcke
1fad8798ec
Merge pull request #1515 from fjl/license-fixes
...
all: fix license headers one more time
2015-07-28 04:29:42 -07:00
Bas van Kervel
7e31df3987
bugfix, pending transaction was resend with new gas price/limit but not removed from transaction pool
2015-07-28 10:42:31 +02:00
Jeffrey Wilcke
3530acb9e2
core: genesis extra data field fix
2015-07-26 14:44:54 +02:00
Jeffrey Wilcke
c1c895a36b
core: fixed genesis write out to write only canon number
2015-07-25 21:48:53 +02:00
Jeffrey Wilcke
665eaff9b9
Merge pull request #1520 from obscuren/reward-5eth
...
core: 5 ether block reward
2015-07-25 08:57:33 -07:00
Jeffrey Wilcke
9afda6ab8c
core: 5 ether block reward
2015-07-25 17:47:20 +02:00
Jeffrey Wilcke
0efcd7ed05
Merge pull request #1521 from obscuren/client-update
...
cmd/geth, core, eth: Version 1.0.0
2015-07-25 08:36:04 -07:00
Jeffrey Wilcke
0c718afe90
core: check genesis block before writeout
2015-07-25 16:53:35 +02:00
Jeffrey Wilcke
036e6301af
cmd/geth, core, eth: Version 1.0.0
...
Genesis release. Closes #1402
Conflicts:
cmd/geth/main.go
2015-07-25 13:55:56 +02:00
Felix Lange
bfbcfbe4a9
all: fix license headers one more time
...
I forgot to update one instance of "go-ethereum" in commit 3f047be5a.
2015-07-23 18:35:11 +02:00
Jeffrey Wilcke
8fc9830971
cmd/core,xeth: removed unneeded states & added batch writes
2015-07-23 10:45:31 +02:00
Jeffrey Wilcke
0cff61beda
Merge pull request #1510 from fjl/license-fixes
...
all: license fixes
2015-07-23 01:43:11 -07:00
Jeffrey Wilcke
b403b9e4c3
Merge pull request #1508 from karalabe/database-caching
...
cmd, core, eth, ethdb: cache flag to allocate memory for db internal use
2015-07-23 01:17:18 -07:00
Péter Szilágyi
04bb89604e
core: fix an RLP encoding data race due to deep struct copy
2015-07-22 20:54:53 +03:00
Felix Lange
3f047be5aa
all: update license headers to distiguish GPL/LGPL
...
All code outside of cmd/ is licensed as LGPL. The headers
now reflect this by calling the whole work "the go-ethereum library".
2015-07-22 18:51:45 +02:00
Péter Szilágyi
c7e7778f2a
cmd, core, eth, ethdb: cache flag to allocate memory for db internal use
2015-07-22 14:00:52 +03:00
Vitalik Buterin
8160b8618d
Fixed canary to require 2+ nonzero, not sum 2+
2015-07-20 16:28:28 +02:00
Jeffrey Wilcke
e17d8ddbeb
core: during chain reorg rewrite receipts and transactions
...
Added PutBlockReceipts; storing receipts by blocks. Eventually this will
require pruning during some cleanup cycle. During forks the receipts by
block are used to get the new canonical receipts and transactions.
This PR fixes #1473 by rewriting transactions and receipts from the point
of where the fork occured.
2015-07-14 18:40:03 +02:00
Jeffrey Wilcke
a32c51effd
cmd, core, eth, common: genesis preparation
...
Implemented the --genesis flag thru which we can set a custom genesis
block, including the official Ethereum genesis block.
2015-07-10 17:37:41 +02:00
Jeffrey Wilcke
8b5a65c14a
core/vm: added str to op
2015-07-09 17:08:33 +02:00
Jeffrey Wilcke
97d22be318
Merge pull request #1441 from obscuren/logs-return-fix
...
miner, xeth: fire log event during mining. Fix return raw tx
2015-07-09 07:24:35 -07:00
Jeffrey Wilcke
819ecd4508
miner, xeth: fire log event during mining. Fix return raw tx
2015-07-08 15:34:11 +02:00
Gustav Simonsson
5d6d40f329
Use uint64 on ts in chain_manager, block_processor
2015-07-08 13:21:06 +02:00
Felix Lange
4fb28e0dab
all: goimports -w
2015-07-07 14:12:45 +02:00
Felix Lange
bdae4fd573
all: add some godoc synopsis comments
2015-07-07 14:12:45 +02:00
Felix Lange
ea54283b30
all: update license information
2015-07-07 14:12:44 +02:00
Jeffrey Wilcke
666a7dda36
core, eth, rpc: proper gas used. Closes #1417
...
Added some additional backward compatibility code for old receipts
2015-07-06 21:18:24 +02:00
Jeffrey Wilcke
e6bb9c1cad
core, miner: removed vm errors from consensus err checking
...
Removed VM errors from the consensus errors. They now used for output
only.
2015-07-06 12:43:05 +02:00
Jeffrey Wilcke
aa4502060b
Merge pull request #1400 from obscuren/badblock-reporting
...
core, miner, tests: added test, implemented bad block reporting
2015-07-06 02:03:50 -07:00
Jeffrey Wilcke
b533aaa765
Merge pull request #1409 from fjl/fix-tx-hash
...
core/types, xeth: separate tx hash and tx signature hash
2015-07-06 01:59:41 -07:00
Felix Lange
ec9620fb2f
core/types, xeth: separate tx hash and tx signature hash
2015-07-06 10:45:45 +02:00
Jeffrey Wilcke
bcc1660abc
core, miner, tests: added test, implemented bad block reporting
2015-07-05 15:14:31 +02:00
Gustav Simonsson
0f04af5916
Fix core error forwarding, unify OOG VM err
2015-07-04 09:27:42 +02:00
Jeffrey Wilcke
ab16ce70fc
core, miner, tests: renamed state methods
...
* Update => SyncIntermediate
* Added SyncObjects
SyncIntermediate only updates whatever has changed, but, as a side
effect, requires much more disk space.
SyncObjects will only sync whatever is required for a block and will not
save intermediate state to disk. As drawback this requires more time
when more txs come in.
2015-07-04 02:51:36 +02:00
Jeffrey Wilcke
08caeedd84
core, core/state: only write necessary state. Skip intermediate
2015-07-04 02:51:36 +02:00
Jeffrey Wilcke
2feb23c1da
core, eth, miner, xeth: receipt storage fix
...
* Added GetReceiptsFromBlock, GetReceipt, PutReceipts
* Added ContractAddress to receipt. See #1042
2015-07-04 02:32:10 +02:00
Jeffrey Wilcke
1cbab291a9
Merge pull request #1389 from obscuren/txpool-issues
...
core, miner: miner header validation, transaction & receipt writing
2015-07-03 07:50:30 -07:00
Taylor Gerring
6afdc52483
Prevent debug value from printing on console
2015-07-03 07:40:47 -05:00
Jeffrey Wilcke
29e2fb38f8
core, miner: miner header validation, transaction & receipt writing
...
* Miners do now verify their own header, not their state.
* Changed old putTx and putReceipts to be exported
* Moved writing of transactions and receipts out of the block processer
in to the chain manager. Closes #1386
* Miner post ChainHeadEvent & ChainEvent. Closes #1388
2015-07-03 13:56:50 +02:00
Vitalik Buterin
9f6016e877
Merge branch 'develop' of github.com:ethereum/go-ethereum into develop
2015-07-02 05:27:31 -04:00
Jeffrey Wilcke
75f41dedca
Merge pull request #1378 from obscuren/issue1367
...
core, xeth: core.AddressFromMessage removed => crypto.CreateAddress
2015-07-02 02:27:20 -07:00
Vitalik Buterin
744af9f497
Switched canary addresses
2015-07-02 05:27:19 -04:00
Jeffrey Wilcke
529fb7a7d7
core, xeth: core.AddressFromMessage removed => crypto.CreateAddress
2015-07-02 11:19:10 +02:00
Jeffrey Wilcke
70d5d791cc
core, cmd/geth: improved recover functionality
...
`geth recover` now accepts both hashes and numbers using "#" and no
longer requires the ethereum instance.
2015-07-01 16:34:35 +02:00
Jeffrey Wilcke
bb418a43c1
Merge pull request #1370 from obscuren/force-checkpoint
...
core, cmd/geth: recover by number
2015-07-01 03:57:13 -07:00
Jeffrey Wilcke
29ab1fa8a5
core, cmd/geth: recover by number
2015-07-01 00:52:44 +02:00
Jeffrey Wilcke
a748afce03
core: txpool listen for ChainHeadEvent instead of ChainEvent
...
Changed the transaction pool to listen for ChainHeadEvent when resetting
the state instead of ChainEvent. It makes very little sense to burst
through transactions while we are catching up (e.g., have more than one
block to process)
2015-06-30 17:27:47 +02:00
Jeffrey Wilcke
c14f0a4471
core: added checkpoint for last block
...
* Add a checkpoint every X blocks
* Removed queued write
2015-06-30 17:27:47 +02:00
Jeffrey Wilcke
61ca780f3b
core: reduce CPU load by reducing calls to checkQueue
...
* Reduced maxQueue count
* Added proper deletion past maxQueue limit
* Added cheap stats method to txpool
queueCheck was called for **every** transaction instead of:
1. add all txs
2. check queue
previously
1. add txs[i]
2. check queue
3. if i < len(txs) goto 1.
2015-06-30 14:01:12 +02:00
Jeffrey Wilcke
d8fe64acaa
core, miner: added queued write to WriteBlock
...
This fixes an issue with the lru cache not being available when calling
WriteBlock. WriteBlock previously always assumed to be called from the
InsertChain where the lru cache was always created prior to calling
WriteBlock. When being called from the worker this could lead in to a
nil pointer exception being thrown and causing database corruption.
2015-06-30 11:14:43 +02:00
Gustav Simonsson
4c490db6af
Use uint64 for block header timestamp
2015-06-30 10:52:11 +02:00
Péter Szilágyi
5f3792c2a7
cmd/geth: decent error message if metrics are disabled
2015-06-30 00:57:55 +02:00
Péter Szilágyi
01fe972113
cmd, core, eth, metrics, p2p: require enabling metrics
2015-06-30 00:51:46 +02:00
Jeffrey Wilcke
992e4f83cb
core: replaced BlockCache with lru.Cache
2015-06-30 00:36:25 +02:00
Jeffrey Wilcke
a8ebf756c7
Merge branch 'miner-broadcast' into core-optimisations-2
...
Conflicts:
core/chain_manager.go
miner/worker.go
2015-06-29 18:55:49 +02:00
Jeffrey Wilcke
e349fac97d
core: fixed tests
2015-06-29 18:51:49 +02:00
Jeffrey Wilcke
aba901e13c
core: removed write's go routine
2015-06-29 18:51:49 +02:00
obscuren
07db098ccf
core: renamed next to pending & fixed tests
2015-06-29 18:51:49 +02:00
obscuren
855e76fddd
core: reduced cache limit to 256
2015-06-29 18:51:49 +02:00
obscuren
6ca3a44638
core: switched to proper LRU
2015-06-29 18:51:49 +02:00
obscuren
4460dc9d1a
core: added LRU caching and added batch writing when LDB is used
2015-06-29 18:51:49 +02:00
Felix Lange
76821d167a
core, eth, rpc: avoid unnecessary block header copying
2015-06-29 18:51:48 +02:00
Felix Lange
fccc7d71eb
core: remove superfluous big.Int allocations
...
With blocks now being immutable, use big.Int values from
accessor functions instead of copying their results.
2015-06-29 18:51:48 +02:00
Felix Lange
d0bb90c69e
core: generate benchmark keys only once
2015-06-29 18:51:48 +02:00
Felix Lange
992dc74efd
core: avoid duplicate calls to Transaction.Data
2015-06-29 18:51:48 +02:00
Felix Lange
0b22ad99c1
core: optimize IntrinsicGas
2015-06-29 18:51:48 +02:00
Felix Lange
a8889b092b
core/types: cache computed block values
2015-06-29 18:51:48 +02:00
Felix Lange
11b8d1df59
core/types: cache computed transaction values
2015-06-29 18:51:48 +02:00
Felix Lange
c3d6228023
core: add InsertChain benchmarks
2015-06-29 18:51:47 +02:00
Felix Lange
ceaf1c080b
core: add GenerateChain, GenesisBlockForTesting
2015-06-29 18:51:47 +02:00
Felix Lange
1d42888d30
core/types: make blocks immutable
2015-06-29 18:51:47 +02:00
Felix Lange
654564e164
core/types: make transactions immutable
2015-06-29 18:51:47 +02:00
Jeffrey Wilcke
b39042db56
core, miner: implemented canary
2015-06-29 13:31:49 +02:00
Jeffrey Wilcke
d1e93db3eb
core, miner: added write block method & changed mining propagation
2015-06-29 13:31:49 +02:00
Péter Szilágyi
792b0ddccd
core, eth, eth/fetcher, ethdb: polish metrics gathering a bit
2015-06-24 18:34:04 +03:00
Péter Szilágyi
43e4a6501b
core, ethdb: instrument the block and state db
...
Conflicts:
ethdb/database.go
2015-06-24 18:34:04 +03:00
Péter Szilágyi
7f92e708c5
cmd/geth, core: impl. percentile reporting, instrument insertions
2015-06-24 18:34:04 +03:00
Bas van Kervel
a4a4e9fcf8
removed old rpc structure and added new inproc api client
2015-06-22 09:17:09 +02:00
Jeffrey Wilcke
9cf7913c61
Merge pull request #1304 from obscuren/state-renames
...
core, miner, xeth: renamed gas methods
2015-06-21 16:49:47 -07:00
obscuren
07c3de3f75
core, miner, xeth: renamed gas methods
...
* BuyGas => SubGas
* RefundGas => AddGas
* SetGasPool => SetGasLimit
2015-06-21 17:09:19 +02:00
obscuren
c590b505ed
core, ethdb, trie: validate database errors
2015-06-21 16:59:15 +02:00
obscuren
430bcdb219
core/vm: clarified SSTORE
2015-06-18 12:25:02 +02:00
obscuren
15e169e5b6
core: ValidatedHeader (method => function)
...
Changed header validation method to function in preparation of
@karalabe's PR.
2015-06-18 11:47:50 +02:00
obscuren
f5abc9f188
core, core/vm: state improvements and tx pool speed up
...
Removed full tx validation during state transitions
2015-06-17 17:10:22 +02:00
obscuren
753d62a4dd
core: TMP testing code
2015-06-17 17:10:13 +02:00
obscuren
bdd63837ea
core/state: removed trie copy
2015-06-17 13:39:19 +02:00
obscuren
aa699a1283
core/state: removed state from state object
2015-06-17 13:27:51 +02:00
obscuren
aaddc99c35
core/state: fixed state tests
2015-06-17 12:53:22 +02:00
obscuren
30b27336ea
core/state: remove the need for common.Value
2015-06-17 11:30:42 +02:00
obscuren
787a61bb27
core/state, core/vm: reworked storage get / set to use common.Hash
2015-06-17 11:24:40 +02:00
obscuren
5721fcf668
core/state, core/vm: cleanup refunds
2015-06-17 10:20:33 +02:00
Jeffrey Wilcke
cc0b451119
Merge pull request #1260 from obscuren/tx-drop-low-tx
...
core: drop low gas tx
2015-06-15 09:09:44 -07:00
obscuren
e79cc42dfe
core: moved check for max queue to checkQueue
...
Moved the queue to check to the checkQueue method so no undeeded loops
need to be initiated or sorting needs to happen twice.
2015-06-15 16:46:45 +02:00
zsfelfoldi
3c7b64ce20
removed duplicate function after rebase
2015-06-15 15:55:39 +02:00
zsfelfoldi
3f94d09c1f
fixed saving receipts
2015-06-15 15:55:38 +02:00
obscuren
21fa29111b
core: reduce max allowed queued txs per address
...
Transactions in the queue are now capped to a maximum of 200
transactions. This number is completely arbitrary.
2015-06-15 12:16:29 +02:00
obscuren
6d817e16c1
core, miner: tx pool drops txs below ask price
2015-06-15 11:33:08 +02:00
Jeffrey Wilcke
6f5c6150b7
Merge pull request #1255 from obscuren/chain-proc-interupt
...
eth, core: interrupt the chain processing on stop
2015-06-12 08:04:02 -07:00
obscuren
645dfd9693
core: changed interrupt strategy
...
Removed chain manager's select/channel approach when checking for
interrupts. Now using an atomic int32 instead which checked for every
block processed.
2015-06-12 16:52:54 +02:00
obscuren
90c4493a10
eth, core: interupt the chain processing on stop
...
Added an additional channel which is used to interupt the chain manager
when it's processing blocks.
2015-06-12 13:41:34 +02:00
obscuren
287f990891
core/vm: Improved error reporting for trace logging
2015-06-12 13:35:14 +02:00
obscuren
02d629af8f
core/vm: fixed printable characters using unicode instead
2015-06-12 11:18:17 +02:00
Jeffrey Wilcke
6609d45ef4
Merge pull request #1228 from obscuren/vm-optimisations
...
core/vm: optimisations
2015-06-11 03:32:39 -07:00
obscuren
37111aa4bd
core: retry block now also parellise nonce checks
2015-06-11 12:06:05 +02:00
obscuren
f599a1b5f1
core/vm: added a comment regarding the uint64 vs *big.Int
2015-06-11 11:59:30 +02:00
obscuren
e7627623b9
core/vm: reverse loop stack
2015-06-10 21:08:54 +02:00
obscuren
f94c5473ad
core/vm: fixed a bug where Data
ignored the stack ptr
2015-06-10 21:08:04 +02:00
obscuren
10af69b57c
core, core/vm: moved logger and added gas cost to struct logging
2015-06-10 19:56:40 +02:00
obscuren
fc2a061d51
core/vm: unexported stack again. No longer required
2015-06-10 17:47:36 +02:00
obscuren
065aff9ffa
core/vm: documentation and name changes
2015-06-10 17:47:36 +02:00
obscuren
4407524d13
core: fixed race condition for subscriptions
2015-06-10 17:13:32 +02:00
obscuren
29f7902fee
core: fixed test
2015-06-10 17:13:32 +02:00
obscuren
65a48f9cd8
core: fixed race condition in the transaction pool
...
Removed `Stop/Start` mechanism from the transaction pool.
2015-06-10 17:13:32 +02:00
obscuren
1774c49456
core: log tx count for each set of blocks we're importing
2015-06-10 12:57:58 +02:00
obscuren
6fb6e6679e
core/vm, core/state: added storage to structured vm logging
2015-06-10 12:57:37 +02:00
obscuren
38c61f6f25
core, core/vm: added structure logging
...
This also reduces the time required spend in the VM
2015-06-10 12:23:49 +02:00
obscuren
ff5b3ef087
core/vm: added structured logging
2015-06-10 10:59:44 +02:00
obscuren
468501cb86
core/vm: changed program counter to uint64
2015-06-10 10:44:46 +02:00
obscuren
bc6031e7bb
core, xeth: moved nonce management burden from xeth to txpool
2015-06-09 21:01:02 +02:00
Péter Szilágyi
d652a58ada
core: fix a race condition accessing the gas limit
2015-06-09 21:13:21 +03:00
Péter Szilágyi
fecf214175
core: fix a lock annoyance and potential deadlock
2015-06-09 21:02:26 +03:00
Felix Lange
73c355591f
core, eth: document that result of GetTransactions is modifiable
2015-06-09 17:07:10 +02:00
Felix Lange
7aefe123e9
core/types: add Transaction.Size
2015-06-09 17:06:31 +02:00
Jeffrey Wilcke
c71ab2a6a3
Merge pull request #1219 from Gustav-Simonsson/precompiled_ec_recover_padding
...
Precompiled ec recover padding
2015-06-09 07:21:23 -07:00
Gustav Simonsson
6e3b58e491
Remove unneeded if check on EC recover padding
2015-06-09 16:03:05 +02:00
Jeffrey Wilcke
365576620a
Merge pull request #1216 from karalabe/fix-eth-dataraces
...
Fix various data races in eth and core
2015-06-09 06:53:49 -07:00
Gustav Simonsson
ad5b5a4895
Pad precompiled EC recover input and add validations
2015-06-09 15:41:15 +02:00
Péter Szilágyi
ebf2aabd25
core: fix up a deadlock caused by double locking
2015-06-09 16:26:44 +03:00
Péter Szilágyi
ca8cb65b73
core: fix data race accessing ChainManager.currentBlock
2015-06-09 15:30:46 +03:00
Péter Szilágyi
07baf66200
core: fix data race in accessing ChainManager.td
2015-06-09 15:23:20 +03:00
obscuren
190c1b688a
core: skip genesis block for reprocess. Closes #1202
2015-06-09 13:24:32 +02:00
obscuren
a5b977aa90
core: write accounts to statedb. Closes #1210
2015-06-09 11:37:01 +02:00
Jeffrey Wilcke
0f1cdfa53a
Merge pull request #1193 from tgerring/hotbackup
...
Improve export command
2015-06-08 16:32:38 -07:00
obscuren
5245bd7b20
core: added a test for missing nonces
...
This test showed the logic in the queue was slightly flawed sending out
transactions to its peer it couldn't even resolve itself.
2015-06-09 00:41:47 +02:00
obscuren
6244b10a8f
core: settable genesis nonce
...
You can set the nonce of the block with `--genesisnonce`. When the
genesis nonce changes and it doesn't match with the first block in your
database it will fail. A new `datadir` must be given if the nonce of the
genesis block changes.
2015-06-08 18:33:43 +02:00
Felix Lange
6c27e2aaf6
core: add bad block for the 'missing nonce check' fork
2015-06-08 02:54:10 +02:00
Felix Lange
0b493910d3
core: fix the nonce check one more time
...
The block nonce verification was effectively disabled by a typo.
This time, there is an actual test for it.
2015-06-08 02:19:39 +02:00
Taylor Gerring
4ab0cedf42
Export should start with block 0
2015-06-06 10:59:56 -04:00
Taylor Gerring
ed621aae33
Cleanup
2015-06-06 09:50:23 -04:00
Taylor Gerring
89c9320d80
Allow exporting subset of chain
2015-06-05 23:01:54 -04:00
obscuren
7ab87f9f6e
wip
2015-06-05 17:33:30 +02:00
obscuren
912cf7ba04
core: added fork test & double nonce test
2015-06-04 19:28:39 +02:00
obscuren
0f51ee6c88
crypto: return common.Address rather than raw bytes
2015-06-04 19:28:39 +02:00
obscuren
dcdb4554d7
core: documented changes in tx pool
2015-06-04 16:19:22 +02:00
obscuren
cf5ad266f6
core: only change the nonce if the account nonce is lower
2015-06-04 15:44:42 +02:00
obscuren
9dd12a64a7
core: renamed txs to pending
2015-06-04 13:16:31 +02:00
obscuren
140d883901
core: test updates
2015-06-03 22:53:33 +02:00
obscuren
d09a6e5421
core, eth, miner: moved nonce management to tx pool.
...
Removed the managed tx state from the chain manager to the transaction
pool where it's much easier to keep track of nonces (and manage them).
The transaction pool now also uses the queue and pending txs differently
where queued txs are now moved over to the pending queue (i.e. txs ready
for processing and propagation).
2015-06-03 22:43:23 +02:00
Felix Lange
ec7a2c3442
core: don't remove transactions after block processing
...
The transaction pool drops processed transactions on its own
during pool maintenance.
2015-06-03 22:43:23 +02:00
Felix Lange
5721c43585
core: update documentation comments for TxPool
2015-06-03 22:43:23 +02:00
Felix Lange
ca31d71107
core: remove unused code from TxPool
2015-06-03 22:43:23 +02:00
Felix Lange
08befff8f1
core: compute less transaction hashes in TxPool
2015-06-03 22:43:23 +02:00
obscuren
770a0e7839
wip
2015-06-03 22:39:17 +02:00
obscuren
b26f5e0bb7
types: block json unmarshal method added
2015-06-03 22:39:17 +02:00
obscuren
fa4aefee44
core/vm: cleanup and renames
2015-06-03 22:39:17 +02:00
Jeffrey Wilcke
8610314918
Merge pull request #1167 from Gustav-Simonsson/check_ec_recover_err
...
Add missing err checks on From()
2015-06-03 10:29:47 -07:00
Jeffrey Wilcke
71d9367edc
Merge pull request #1151 from fjl/parallel-nonce-2
...
core: re-add parallel nonce checks
2015-06-03 09:12:06 -07:00
Jeffrey Wilcke
122d2db095
Merge pull request #1150 from fjl/fix-jumpdest
...
core/vm: improve JUMPDEST analysis
2015-06-03 09:11:56 -07:00
Jeffrey Wilcke
02f785af70
Merge pull request #1166 from Gustav-Simonsson/add_ec_sig_validations
...
Add EC signature validations before call to libsecp256k1
2015-06-03 08:11:24 -07:00
Felix Lange
48fb0c3213
core/vm: check for 'no code' before doing any work
2015-06-03 16:25:06 +02:00
Felix Lange
ea2718c946
core/vm: improve JUMPDEST analysis
...
* JUMPDEST analysis is faster because less type conversions are performed.
* The map of JUMPDEST locations is now created lazily at the first JUMP.
* The result of the analysis is kept around for recursive invocations
through CALL/CALLCODE.
Fixes #1147
2015-06-03 16:25:05 +02:00
Gustav Simonsson
55bf5051ad
Unsupport bruncles
2015-06-01 22:43:05 +02:00
Gustav Simonsson
147a699c65
Add missing err checks on From() (skip RPC for now)
2015-06-01 22:12:03 +02:00
Gustav Simonsson
32e1b104f8
Add EC signature validations before call to libsecp256k1
2015-06-01 21:06:52 +02:00
Felix Lange
55b60e699b
core: insert less length zero chains
...
This reduces the amount of queueEvents that are sent internally.
2015-06-01 12:48:12 +02:00
Felix Lange
e7e2cbfc01
core: re-add parallel nonce checks
...
In this incancation, the processor waits until the nonce
has been verified before handling the block.
2015-06-01 12:47:13 +02:00
Felix Lange
a906a84950
Merge pull request #1155 from karalabe/fix-chainmanager-datarace
...
core: fix #1154 , sort out data race accessing the future blocks
2015-05-30 01:21:09 +02:00
Péter Szilágyi
b7fc85d68e
core: fix #1154 , sort out data race accessing the future blocks
2015-05-29 23:46:10 +03:00
obscuren
12b90600eb
core: moved guards
2015-05-28 18:18:23 +02:00
Jeffrey Wilcke
b6e137b2b4
Merge pull request #1141 from obscuren/parallelisation-issue
...
Parallelisation issue
2015-05-28 07:37:37 -07:00
Jeffrey Wilcke
03178a77b6
Merge pull request #1132 from obscuren/log_optimisations
...
core: log optimisations
2015-05-28 07:35:07 -07:00
obscuren
16038b4e67
core: added bad block
2015-05-28 16:26:19 +02:00
obscuren
109f995684
core: log block hash during nonce error
2015-05-28 15:46:36 +02:00
obscuren
75f5ae80fd
core: partially removed nonce parallelisation and added merge error chk
...
Invalid forks are now detected
Current setup of parellelisation actually inserts bad blocks. This fix
is tmp until a better one is found
2015-05-28 15:35:50 +02:00
Péter Szilágyi
29b0480cfb
core, eth/downloader: expose the bad hashes, check in downloader
2015-05-28 14:03:10 +03:00
obscuren
e3253b5d5e
core: fixed an issue with storing receipts
2015-05-28 01:00:23 +02:00
obscuren
7595716816
core: adjust gas calculation
2015-05-27 17:01:28 +02:00
Jeffrey Wilcke
8951a03db3
Merge pull request #1121 from obscuren/miner_time_fix
...
Miner time fix
2015-05-27 04:51:42 -07:00
obscuren
12650e16d3
core, miner: fixed miner time issue and removed future blocks
...
* Miner should no longer generate blocks with a time stamp less or equal
than it's parent.
* Future blocks are no longer processed and queued directly.
Closes #1118
2015-05-27 13:30:52 +02:00
Gustav Simonsson
bf5f0b1d0c
Update ValidateHeader comments
2015-05-27 13:30:24 +02:00
Gustav Simonsson
14955bd454
Revert "core: block.gasLimit - parent.gasLimit <= parent.gasLimit / GasLimitBoundDivisor"
...
This reverts commit be2b0501b5832c0b49f07cdf2db597cc34450199.
2015-05-27 13:01:06 +02:00
obscuren
be2b0501b5
core: block.gasLimit - parent.gasLimit <= parent.gasLimit / GasLimitBoundDivisor
2015-05-27 01:52:03 +02:00
obscuren
b2f2806055
cmd/geth, core: Updated DB version & seedhash debug method
2015-05-27 01:38:41 +02:00
obscuren
c37389f19c
core: check negative value transactions. Closes #1109
2015-05-26 20:38:26 +02:00
obscuren
eae0927597
core: prevent crash when last block fails
2015-05-26 15:35:51 +02:00
obscuren
a6b46420d0
core: ban hash 38f5bb...a714bc
...
Hash 38f5bbbffd74804820ffa4bab0cd540e9de229725afb98c1a7e57936f4a714bc
ignored.
2015-05-26 13:48:10 +02:00
obscuren
f6f81169fe
core/vm: Fork fix. Removal of appending 0 bytes in memset
2015-05-26 13:48:10 +02:00
Jeffrey Wilcke
5044eb4b26
Merge pull request #1101 from obscuren/issue-1096
...
core/vm: Cleanups & SUB output fix. Closes #1096
2015-05-26 03:50:27 -07:00
obscuren
b419e2631a
core/vm: Cleanups & SUB output fix. Closes #1096
2015-05-26 12:42:33 +02:00
obscuren
7381be8edb
core/vm, rpc: added disasm to ext_
RPC
2015-05-22 15:38:46 +02:00
Jeffrey Wilcke
90b672f1af
Merge pull request #1062 from Gustav-Simonsson/tests_updates
...
Tests updates
2015-05-21 04:49:23 -07:00
obscuren
ef8744d9fc
core: switched back to set.Set
for uncle verification
2015-05-21 11:36:39 +02:00
Jeffrey Wilcke
9bde7fd72e
Merge pull request #1043 from obscuren/test_fixes
...
core/vm: optimisation on RETURN and updated tests
2015-05-20 03:06:04 -07:00
zsfelfoldi
00ec4132f8
Storing tx receipts in extraDb
2015-05-20 06:41:50 +02:00
obscuren
f5af1fdca8
core/vm: RETURN op code returns pointer to memory rather than copy
2015-05-20 00:21:23 +02:00
obscuren
8dac28f2e3
core: block cache Has method thread safe
2015-05-19 21:50:56 +02:00
obscuren
87a05c8f38
core: skipped tests while cache disabled
2015-05-19 21:50:26 +02:00
obscuren
7d9a13e0d5
core: disable cash tmp
2015-05-19 12:59:58 +02:00
Jeffrey Wilcke
bd0c0a633b
Merge pull request #1022 from obscuren/parallel_nonce_checks
...
Parallelise nonce checks
2015-05-18 11:13:53 -07:00
obscuren
40717465bc
core: fixed tests
2015-05-18 18:16:53 +02:00
obscuren
59c0d01418
core: chain manager no longer exports genesis block
2015-05-18 18:16:53 +02:00
Gustav Simonsson
1d51cada3c
Handle call depth exception for CREATE
2015-05-18 16:23:20 +02:00
obscuren
c67424ecc8
core: parallelise nonce checking when processing blocks
...
ChainManager now uses a parallel approach to block processing where all
nonces are checked seperatly from the block processing process. This
speeds up the process by about 3 times on my i7
2015-05-18 13:59:22 +02:00
obscuren
67d44519ce
core: bugfix test 2. set => hash map
2015-05-18 10:49:09 +02:00
obscuren
54f0f82dd1
ret
2015-05-18 10:14:48 +02:00
obscuren
e323f0e831
core: tmp diagnostic logs
2015-05-18 10:13:50 +02:00
obscuren
27782bbade
core: global chain insert lock
2015-05-17 00:55:02 +02:00
obscuren
d98a6f85fc
core: further improved uncle error messages
2015-05-16 13:02:30 +02:00
obscuren
7ea76fcf99
core, cmd/geth, cmd/mist: cleanup. bump version 0.9.21
2015-05-16 00:26:36 +02:00
obscuren
5cec1aad15
core, miner: fork resolving and restart miner after sync op
...
Fork resolving fixes #940
2015-05-15 20:26:15 +02:00
Gustav Simonsson
32276e8b01
Update StateTests and nil create return on failed code deposit
2015-05-15 18:49:31 +02:00
obscuren
cfb2b51b74
eth/downloader: fixed test
2015-05-15 12:47:32 +02:00
obscuren
f6669db001
core: fixed mining strategy
2015-05-15 12:24:29 +02:00
obscuren
b71091e337
eth, eth/downloader, miner: use download events to check miner start
2015-05-15 00:43:10 +02:00
obscuren
0f76a1c6df
core: changed how head events are checked
2015-05-15 00:42:06 +02:00
obscuren
580bae0a86
core: improved uncle messages
2015-05-15 00:40:07 +02:00
obscuren
b19bf3ec78
core: changed log message for forks. closes #952
2015-05-14 17:16:46 +02:00
Vitalik Buterin
bc83761996
Fixed max uncle count error message
2015-05-13 20:29:57 -04:00
Bas van Kervel
95773b9673
removed redundant newlines in import block
2015-05-12 15:20:53 +02:00
Bas van Kervel
b79dd188d9
replaced several path.* with filepath.* which is platform independent
2015-05-12 14:24:11 +02:00
obscuren
3c6c891680
core: optimise pending transaction processing
2015-05-11 11:39:33 +02:00
obscuren
a2919b5e17
core, eth, miner: improved tx removal & fatal error on db sync err
...
* core: Added GasPriceChange event
* eth: When one of the DB flush methods error a fatal error log message
is given. Hopefully this will prevent corrupted databases from
occuring.
* miner: remove transactions with low gas price. Closes #906 , #903
2015-05-11 11:39:33 +02:00
Jeffrey Wilcke
45c070fc8b
Merge pull request #833 from ethersphere/frontier/solidity
...
solidity compiler and contract metadocs integration
2015-05-08 03:43:31 -07:00
obscuren
dcfecebe1f
core: get transaction by hash from transaction pool
2015-05-07 18:22:57 +02:00
obscuren
7e160a677d
xeth, core, event/filter, rpc: new block and transaction filters
2015-05-07 14:44:32 +02:00
zelig
009b221692
solidity compiler and contract metadocs integration
...
* common/compiler: solidity compiler + tests
* rpc: eth_compilers, eth_compileSolidity + tests
* fix natspec test using keystore API, notice exp dynamically changes addr, cleanup
* resolver implements registrars and needs to create reg contract (temp)
* xeth: solidity compiler. expose getter Solc() and paths setter SetSolc(solcPath)
* ethereumApi: implement compiler related RPC calls using XEth - json struct tests
* admin: make use of XEth.SetSolc to allow runtime setting of compiler paths
* cli: command line flags solc to set custom solc bin path
* js admin api with new features debug and contractInfo modules
* wiki is the doc https://github.com/ethereum/go-ethereum/wiki/Contracts-and-Transactions
2015-05-07 12:58:21 +02:00
Gustav Simonsson
2808409fbd
Add genesis block total difficulty in tests
2015-05-06 23:22:49 +02:00
Jeffrey Wilcke
323216ed85
Merge pull request #861 from obscuren/transaction_pool_fixes
...
core: transaction pool fixes & resending transactions
2015-05-06 11:23:58 -07:00
obscuren
92f998c7ef
core: use removeTx instead of delete
2015-05-06 18:30:55 +02:00
Gustav Simonsson
b1cc9cdc74
Integrate new ethash API and change geth makedag cmd
2015-05-05 08:24:15 +02:00
obscuren
37770ed0d3
core: added unix timestamp to debug output for block proc
2015-05-03 21:49:19 +02:00
obscuren
c5b8acbaf0
core: print ignored blocks
2015-05-03 14:09:50 +02:00
obscuren
c6ad3aec05
eth,core: changed NewTicker to Tick
2015-05-03 13:27:37 +02:00
obscuren
b298928c49
core: added 'ignored' status
2015-05-01 16:00:30 +02:00
obscuren
15873fafc0
core: added a wait group to chain manager for graceful shutdown
2015-04-30 17:50:47 +02:00
obscuren
e4dba36892
core: check for parent in calc TD. TD = (N != 0 == parent.TD) || (== D)
2015-04-30 14:55:21 +02:00
obscuren
28b39267d9
core, eth: verify td of received blocks
2015-04-30 13:50:59 +02:00
obscuren
88292f35db
core: remove txs from queue in addition to removal of pending
2015-04-30 00:20:59 +02:00
obscuren
2590a7dabb
core: added some additional chain tests for shortest chain
2015-04-30 00:14:41 +02:00
obscuren
9e63798d03
core/types, eth: meassure and display propagation times
2015-04-29 19:55:30 +02:00
obscuren
c930045834
core: fixed tetst to reflect (int, error) return by insertChain
2015-04-29 15:27:04 +02:00
obscuren
735b029db9
core: return the index of the block that failed when inserting a chain
2015-04-29 14:00:24 +02:00
obscuren
4e07967711
core: fixed chain reorg during splits
...
Chain reorgs weren't properly handled when a chain was further ahead.
Previously we'd end up with mixed chains in our canonical numbering
sequence. Added test for this type of forking.
```
/-o-o-o A
o-C-+
\-o-o-o-o B
```
Ends up with with C A1, A2, A3, B4
2015-04-29 12:51:05 +02:00
obscuren
af73d1d682
core/types: added fake parent hash / hash to String() output
2015-04-29 12:51:05 +02:00
obscuren
7ac24d551b
core: seperated proccing mutex and getting mutex
2015-04-29 12:51:04 +02:00
obscuren
9f32117457
core: bump database version
2015-04-29 12:51:04 +02:00
obscuren
a4b79f1dac
core: moved mutex locks in insert blocks to start of function
...
Insert blocks will no longer allow processing of multiple chains at the
same time. The block lock has been moved to start of the function.
2015-04-29 12:51:04 +02:00
obscuren
04a09b7e2d
core: set min gas price at startup
2015-04-29 12:51:04 +02:00
obscuren
145e02fc54
core, miner: added value check on tx validation
...
* Changed CalcGasLimit to no longer need current block
* Added a gas * price + value on tx validation
* Transactions in the pool are now re-validated once every X
2015-04-26 11:19:40 +02:00
Jeffrey Wilcke
8d09f95bc7
Merge pull request #805 from obscuren/download_improvements
...
eth, eth/downloader: improve downloader and remove asynchronousness
2015-04-24 15:56:17 -07:00
obscuren
405720b218
xeth, core, cmd/utils: Transaction can not be over block gas limit
...
Transactions will be invalidated when the tx.gas_limit > block.gas_limit
2015-04-24 17:48:13 +02:00
obscuren
cd2782f59c
core: fixed wildcard topic filters. Closes #725
2015-04-24 13:45:21 +02:00
Bas van Kervel
c273ed7d82
Moved leveldb update loop to eth/backend
...
change order of block insert and update LastBlock
bugfix, wrong hash stored in blockDb
2015-04-23 17:58:58 +02:00
obscuren
7f14fbd579
core: pending txs now re-validated once every second
2015-04-23 11:50:12 +02:00
obscuren
fba40e18d9
core: added accessor for queued transactions
2015-04-23 11:50:12 +02:00
obscuren
d3be1a2719
eth: moved mined, tx events to protocol-hnd and improved tx propagation
...
Transactions are now propagated to peers from which we have not yet
received the transaction. This will significantly reduce the chatter on
the network.
Moved new mined block handler to the protocol handler and moved
transaction handling to protocol handler.
2015-04-23 11:50:12 +02:00
obscuren
888ece0cb2
core: fixed test
2015-04-23 11:50:12 +02:00
obscuren
7edbb0110f
core: set the state for the managed tx state
...
Set the state for the managed tx state instead of creating a new
managed state.
2015-04-23 11:50:12 +02:00
obscuren
1506e00a23
core: improved error message for invalid nonce txs
2015-04-23 11:50:11 +02:00
obscuren
7138404cb0
core: only post event once per tx & fixed test
2015-04-23 11:50:11 +02:00
obscuren
498b24270a
core: implemented a queued approach processing transactions
...
Implemented a new transaction queue. Transactions with a holes in their
nonce sequence are also not propagated over the network.
N: 0,1,2,5,6,7 = propagate 0..2 -- 5..N is kept in the tx pool
2015-04-23 11:50:11 +02:00
Gustav Simonsson
4e0a2c8e8c
Validate block header UncleHash against calculated hash
2015-04-22 23:16:19 +02:00
obscuren
ed0817c55d
core/rpc: fix for null entries in log filters. Closes #725
...
You can now specify `null` as a way of saying "not interested in this
topic, match all". core.Filter assumes the zero'd address to be the
wildcard. JSON rpc assumes empty strings to be wildcards.
2015-04-21 12:00:57 +02:00
obscuren
093d6d5074
core: removed nonce resetting from the block processor.
...
All nonce error handling has been moved to the worker
2015-04-21 11:27:12 +02:00
obscuren
b8160cc6d4
core: shuffled some code
2015-04-20 20:37:40 +02:00
obscuren
f28b2bb6ed
core: upgraded block chain version
2015-04-20 18:12:05 +02:00
obscuren
36ec42e50c
Merge branch 'frontier/natspec' of https://github.com/ethersphere/go-ethereum into ethersphere-frontier/natspec
2015-04-20 18:08:14 +02:00
obscuren
72d065d491
core: force block process & fixed chain manager test
2015-04-20 16:02:50 +02:00
obscuren
97a9753f87
core: added chain reset mechanism on bad blocks
2015-04-20 12:58:17 +02:00
obscuren
45da3e17e2
core: added chain head reset to known block
2015-04-20 12:29:02 +02:00
obscuren
97b0c4b697
core: moved TD calculation from proc to chain
2015-04-20 12:01:20 +02:00
zsfelfoldi
d8fb834386
test account is no longer permanently in genesis block, only put there when testing
2015-04-19 20:57:49 +01:00
zsfelfoldi
dba2367157
NatSpec contracts are now not in the genesis block but added by the test
2015-04-19 20:57:49 +01:00
zsfelfoldi
b635cad9fe
NatSpec passing end to end test
2015-04-19 20:57:49 +01:00
zsfelfoldi
94489b2269
s
2015-04-19 20:57:49 +01:00
zsfelfoldi
e2d333d209
NatSpec contracts in genesis block, end to end test (unfinished)
2015-04-19 20:57:49 +01:00
obscuren
8f3a7e41de
Merge branch 'rlp-size-validation' of https://github.com/fjl/go-ethereum into fjl-rlp-size-validation
...
Conflicts:
eth/protocol.go
2015-04-19 17:07:40 +02:00
obscuren
164b878854
cleanup
2015-04-19 00:08:57 +02:00
obscuren
d34e4dc5ac
Merge branch 'develop' into downloader-proto
2015-04-18 21:26:43 +02:00
obscuren
84f1af6413
core: merge using equal block numbers rather than the current block
2015-04-18 21:23:42 +02:00
obscuren
1bc2d83b6f
core: improved uncle validation error message
2015-04-18 14:24:44 +02:00
Felix Lange
574d5d6ae6
core/types: add rlp tag "nil" for Transaction.Recipient
2015-04-17 14:45:10 +02:00
obscuren
dff39553d4
core: changed split detection to also account for number less than
2015-04-16 00:11:40 +02:00
obscuren
5d2138a2b2
core: fixed issue for logs filter. Closes #629
...
Log filter `Address` field was cast to a Hash which causes it to always
fail.
2015-04-15 11:59:41 +02:00
obscuren
ccb4722a59
core/types: Changed bloom lookup to take anything bytes backed
2015-04-15 11:58:45 +02:00
obscuren
8310bcda61
state: fixed mutex lockes
2015-04-14 12:47:54 +02:00
obscuren
333d4e0f27
core: during split properly insert parent blocks
...
During a split parent and grand parent were included in the database but
not in the canonical chain (numbered chain). Added a `merge` function
which finds the common ancestor of the chains and reinserts the missing
blocks.
2015-04-14 00:20:29 +02:00
obscuren
d423305f07
state: fixed nonce issue in managed state
...
Rlock => Lock when creating a new nonce
2015-04-13 22:57:03 +02:00
Jeffrey Wilcke
1fa844aaf5
Merge pull request #702 from ethersphere/frontier/blockpool
...
blockpool stability fixes:
2015-04-13 17:35:25 +02:00
Jeffrey Wilcke
5f9346bc7a
Merge pull request #700 from bas-vk/issue_650
...
Added blockchain DB versioning support, closes #650
2015-04-13 17:34:34 +02:00
zelig
3d57e377a4
blockpool stability fixes:
...
- follow up locks and fix them
- chainManager: call SetQueued for parentErr future blocks, uncomment TD checks, unskip test
- make ErrIncorrectTD non-fatal to be forgiving to genuine mistaken nodes (temp) but demote them to guard against stuck best peers.
- add purging to bounded nodeCache (config nodeCacheSize)
- use nodeCache when creating blockpool entries and let non-best peers add blocks (performance boost)
- minor error in addError
- reduce idleBestPeerTimeout to 1 minute
- correct status counts and unskip status passing status test
- glogified logging
2015-04-13 13:13:55 +01:00
Bas van Kervel
49a513bdeb
Added blockchain DB versioning support, closes #650
2015-04-13 10:13:52 +02:00
obscuren
3aa5437a10
Set input to nil for create
2015-04-10 19:59:01 +02:00
obscuren
46898f1e55
Merge branch 'frontier/blockpool' of https://github.com/ethersphere/go-ethereum into ethersphere-frontier/blockpool
2015-04-09 16:54:32 +02:00
obscuren
0636e17dbe
Added default registrar
2015-04-09 16:37:04 +02:00
zelig
262714fc6c
future queued block support
...
- queued bool // flag for blockpool to skip TD check
- set to true when future block queued
- in checkTD: skip check if queued
- TODO: add test (insertchain sets future block)
2015-04-09 13:58:35 +01:00
obscuren
204ac81188
Moved handling of nonces to the managed state
2015-04-08 23:30:07 +02:00
obscuren
6e2f78ebdd
Default log to stderr
2015-04-08 22:18:16 +02:00
obscuren
6184781b49
Improved transaction pool
...
The transaction pool will now some easily be able to pre determine the
validity of a transaction by checking the following:
* Account existst
* gas limit higher than the instrinsic gas
* enough funds to pay upfront costs
* nonce check
2015-04-08 20:47:32 +02:00
obscuren
f08e9cbe42
ignore invalid txs right after being added if they prove incorrect
2015-04-08 18:08:21 +02:00
obscuren
1c872ddf4b
Changed how logs are being recorded
...
Logs are now recorded per transactions instead of tossing them out after
each transaction. This should also fix an issue with
`eth_getFilterLogs` (#629 ) Also now implemented are the `transactionHash,
blockHash, transactionIndex, logIndex` on logs. Closes #654 .
2015-04-08 17:15:45 +02:00
obscuren
a953f3ec97
Sync managed accounts to the network
2015-04-08 13:07:21 +02:00
obscuren
31b086f511
Added additional methods to the managed state
...
* GetNonce Returns the canonical nonce
* SetNonce Set the managed account's nonce
2015-04-08 13:06:56 +02:00
obscuren
09147a50ed
Improved tx pool to ignore invalid transactions
...
Transaction pool will attempt to ignore invalid transactions it had
previously encountered.
2015-04-08 00:31:23 +02:00
Jeffrey Wilcke
758205b187
Merge pull request #648 from Gustav-Simonsson/forward_ecrecover_err_and_remove_dup_checks
...
Forward and log EC recover err and remove dup pubkey len check
2015-04-07 20:48:56 +02:00
obscuren
688d118c7e
Updated logging
2015-04-07 14:57:04 +02:00
obscuren
43454053b0
Fixed tests
2015-04-07 13:10:12 +02:00
Gustav Simonsson
2591883a18
Use logger.Error instead of 0 with glog
2015-04-07 12:48:19 +02:00
Gustav Simonsson
3f306f63d4
Forward and log EC recover err and remove dup pubkey len check
2015-04-07 12:48:19 +02:00
obscuren
9c55576c7b
Block header changed & console miner control
...
* miner control moved to `admin.miner`
* miner option to set extra data
* block extra now bytes
2015-04-05 18:59:18 +02:00
obscuren
736aefe9b5
time lapse
2015-04-05 17:59:38 +02:00
obscuren
053d5552ab
Updated logging
2015-04-04 23:04:19 +02:00
obscuren
eb1c26746d
Changed R S to big int and fixed tests
2015-04-04 21:41:24 +02:00
obscuren
eb8f0b85f7
Changed R & S to *big.Int
2015-04-04 21:32:24 +02:00
obscuren
c39484bc4b
Added thread safe each
2015-04-04 20:34:10 +02:00
obscuren
eff6a43419
Removed debugging
2015-04-04 18:29:11 +02:00
obscuren
7a18a39351
prevent deadlock
2015-04-04 18:23:51 +02:00
obscuren
e1ed8c33bd
Improved chain manager, improved block processor, fixed tests
...
* ChainManager allows cached future blocks for later processing
* BlockProcessor allows a 4 second window on future blocks
* Fixed tests
2015-04-04 16:35:23 +02:00
obscuren
29f120206e
Added block cache delete method
2015-04-04 16:33:12 +02:00
obscuren
c985ce4d78
Changed log to new logging
2015-04-04 13:41:58 +02:00
obscuren
1889727144
Moved logging to logger.Core
2015-04-04 13:24:01 +02:00
obscuren
218bfeb60e
check for nil block (tmp).
...
@zelig this needs to be addressed in the block pool.
2015-04-04 12:40:48 +02:00
obscuren
a0e44e3281
basic glog
2015-04-04 12:40:11 +02:00
obscuren
ec8a6e0a2b
Merge branch 'develop' into glog
2015-04-03 17:19:22 +02:00
obscuren
f9d94c7462
do not include BlockEqualTS as valid uncles
2015-04-03 17:19:09 +02:00
obscuren
36452afd4e
glog wip
2015-04-03 17:09:11 +02:00
obscuren
f49e398ebe
bool => int
2015-04-03 12:28:55 +02:00
obscuren
c59c826ab4
fixed stack level
2015-04-03 11:27:56 +02:00
obscuren
b8124ec791
Removed old (unused) argument
2015-04-01 23:58:26 +02:00
Jeffrey Wilcke
219d94c1dd
Merge pull request #623 from Gustav-Simonsson/read_protocol_values_from_common_params
...
Read most protocol params from common/params.json
2015-04-01 23:37:17 +02:00
Gustav Simonsson
c26c8d3a44
Read most protocol params from common/params.json
...
* Add params package with exported variables generated from
github.com/ethereum/common/blob/master/params.json
* Use params package variables in applicable places
* Add check for minimum gas limit in validation of block's gas limit
* Remove common/params.json from go-ethereum to avoid
outdated version of it
2015-04-02 06:22:32 +02:00
obscuren
344b3556eb
Fixed uncle rewards in miner
...
The uncle rewards were changed in the block processor. This change will
reflect those changes in the miner as well.
2015-04-01 21:18:41 +02:00
obscuren
516ec28544
sha3 stack check
2015-04-01 17:51:22 +02:00
obscuren
96cf776f81
Check stack for BALANCE. Closes #622
2015-04-01 17:45:38 +02:00
zelig
6ffea34d8b
check TxMsg
...
- add validation on TxMsg checking for nil
- add test for nil transaction
- add test for zero value transaction (no extra validation needed)
2015-04-01 12:32:42 +01:00
zelig
82da6bf4d2
test for invalid rlp encoding of block in BlocksMsg
...
- rename Validate -> ValidateFields not to confure consensus block validation
- add nil transaction and nil uncle header validation
- remove bigint field checks: rlp already decodes *big.Int to big.NewInt(0)
- add test for nil header, nil transaction
2015-04-01 12:32:42 +01:00
zelig
e1be34bce1
eth: SEC-29 eth wire protocol decoding invalid message data crashes client
...
- add validate method to types.Block
- validate after Decode -> error
- add tests for NewBlockMsg
2015-04-01 12:32:42 +01:00
obscuren
6afc5e762a
Merge branch 'hexify' of https://github.com/tgerring/go-ethereum into tgerring-hexify
2015-04-01 12:49:10 +02:00
Taylor Gerring
86ba7432a9
txMeta storage as struct
2015-04-01 12:14:35 +02:00
obscuren
f468364e4d
fixed tests
2015-04-01 11:42:02 +02:00
obscuren
0a554a1f27
Blocktest fixed, Execution fixed
...
* Added new CreateAccount method which properly overwrites previous
accounts (excluding balance)
* Fixed block tests (100% success)
2015-04-01 10:53:32 +02:00
Taylor Gerring
40ea466200
Store and retrieve tx context metadata #608
...
Improving this in the future will allow for cleaning up a bit of legacy
code.
2015-03-31 22:40:12 +02:00
obscuren
3453f8c5d2
Added Code field
2015-03-31 15:30:55 +02:00
Gustav Simonsson
9feed3f61e
Correct gas limit validation according to new algorithm
...
* Use absolute value of (block's gas limit) - (parent's gas limit)
in comparison with diff limit.
* Ensure the diff is strictly smaller than the allowed size.
2015-03-30 16:07:24 +02:00
obscuren
61c5edcb57
Cleanup.
2015-03-29 15:02:49 +02:00
obscuren
af153e7884
Merge branch 'fix_ecrecover' of https://github.com/ebuchman/go-ethereum into ebuchman-fix_ecrecover
2015-03-29 13:34:41 +02:00
Jeffrey Wilcke
b9ca5eef58
Merge pull request #579 from tgerring/rpcargs
...
RPC Args
2015-03-28 20:42:45 +01:00
obscuren
368ebe63a9
Cleanup VM.
...
* CALLDATA use getData
* removed old context get range value
* removed casting big => int for some cases
* pc now big int #457
2015-03-28 20:30:38 +01:00
obscuren
3b7e4173ce
Cleanup VM
2015-03-28 20:03:25 +01:00
obscuren
3ea8c7301e
PUSH gas fix
2015-03-27 16:53:05 +01:00
Taylor Gerring
43d521e90e
Decouple core from rpc
2015-03-27 16:36:01 +01:00
obscuren
df648cbc60
Removed comments
2015-03-27 16:11:19 +01:00
obscuren
8a22cd5e6c
Removed defer/panic. #503
2015-03-27 16:09:57 +01:00
obscuren
00f8319faf
Explicitly check memory's data store. #515
2015-03-27 14:22:38 +01:00
obscuren
c32bca45ad
Stack limit
2015-03-26 17:45:09 +01:00
obscuren
eb433731aa
Fixed filter and refactored code
2015-03-26 12:06:14 +01:00
obscuren
505f1fbcbb
added tx tests and fixed block tests
2015-03-25 17:05:29 +01:00
obscuren
9de1ad6546
fixed tests
2015-03-24 15:27:05 +01:00
obscuren
ff9d66e096
Cleaned up changes
2015-03-24 15:23:16 +01:00
obscuren
23bccbbc58
Modified according to poc 9 changes
...
* Refund of value
2015-03-24 15:15:17 +01:00
obscuren
bbe795455a
Secure trie shakey / key matching
2015-03-24 15:14:03 +01:00
obscuren
0ec171ccdf
Copy fix
2015-03-24 13:38:16 +01:00
obscuren
576df064e5
Updated for PV59
...
* Value XFER are refunded back to the sender if the execution fails
2015-03-24 11:49:30 +01:00
obscuren
d8e21b39b3
Added copy function
2015-03-24 10:33:00 +01:00
obscuren
0ee0094cc0
better block propagation
2015-03-23 22:59:19 +01:00
obscuren
7b8a47f484
removed legacy code
2015-03-23 22:05:12 +01:00
obscuren
bfb9ed881d
Gas validation and clean up of legacy code
2015-03-23 21:48:45 +01:00
obscuren
ebf4408d73
Decrement depth
2015-03-23 21:48:31 +01:00
obscuren
c8e9ca0483
fixed bad uncles
2015-03-23 18:27:05 +01:00
obscuren
0330077d76
moved state and vm to core
2015-03-23 16:59:09 +01:00
obscuren
d7eaa97a29
moved to error
2015-03-23 16:55:40 +01:00
obscuren
211cb03f83
Merge branch 'develop' of github.com-obscure:ethereum/go-ethereum into develop
2015-03-23 16:47:05 +01:00
Gustav Simonsson
becc503230
Correct difficulty calculation to use new difficulty minimum
2015-03-23 16:32:20 +01:00
obscuren
dc3a9379f5
logging for possible uncles
2015-03-23 16:14:33 +01:00
obscuren
524f8199bf
added some nil checks for cache (testing specific)
2015-03-23 12:22:58 +01:00
obscuren
0be6d34048
finally merged *the missing*
2015-03-23 12:12:49 +01:00
obscuren
c28116cb3b
Fixed incorrect recipient derived
2015-03-21 14:46:50 +01:00
obscuren
a59bb053f4
merge
2015-03-20 16:02:01 +01:00
obscuren
deee9cb170
Added caching for block chain. Currently set to 10k
2015-03-20 15:54:42 +01:00
Taylor Gerring
28e1971272
Merge branch 'rpcxeth' into rpcfrontier
...
Conflicts:
rpc/api.go
2015-03-20 15:25:43 +01:00
obscuren
55fdf3e462
Listen to tx pre event and trigger 'pending'
2015-03-20 12:07:06 +01:00
Taylor Gerring
6c04c19eb4
Reorg filter logic to XEth
2015-03-19 22:58:07 -04:00
obscuren
62236dd95e
copy over loop
2015-03-19 23:20:41 +01:00
obscuren
29eb220910
:-)
2015-03-19 17:18:55 +01:00
obscuren
b5a71d955c
merge
2015-03-19 16:59:13 +01:00
obscuren
e540a75030
re-enabled json logging
2015-03-19 16:30:01 +01:00
obscuren
14a2f42f37
fixed chain event. Closes #529
2015-03-19 16:19:54 +01:00
obscuren
4d0ae8b0cb
Merge branch 'conversion' of github.com-obscure:ethereum/go-ethereum into conversion
2015-03-18 14:16:07 +01:00
obscuren
48dd601de0
prep template for fixed size hashes
2015-03-18 14:15:58 +01:00
Felix Lange
d15f90645d
Merge remote-tracking branch 'ethereum/conversion' into conversion
2015-03-18 13:39:01 +01:00
Felix Lange
a59dd393e7
core: fix tests
2015-03-18 13:38:47 +01:00
Felix Lange
b5b83db450
core: use package rlp to encode blocks
...
This also changes the chain export format so there is no
enclosing list around the blocks, which enables streaming export.
2015-03-18 13:36:48 +01:00
Felix Lange
c298148a7f
core/types: use package rlp instead of common.Decode
2015-03-18 13:24:34 +01:00
obscuren
0a1eeca41e
conversions. -compilable-
2015-03-18 13:00:01 +01:00
obscuren
942980609f
conversions
2015-03-18 11:44:25 +01:00
obscuren
86661de077
Fixed tests and bloom
2015-03-17 18:00:03 +01:00
obscuren
c21293cd91
bloom
2015-03-17 16:05:17 +01:00
obscuren
0fa7859b94
Fixed VM & Tests w/ conversion
2015-03-17 13:24:25 +01:00
Felix Lange
17c5ba2b6b
core: actually convert transaction pool
2015-03-17 12:16:21 +01:00
Felix Lange
ee7202fa00
Merge remote-tracking branch 'ethereum/conversion' into conversion
2015-03-17 12:01:40 +01:00
Felix Lange
27f7aa0163
core: adapt Message for new Transaction.From signature
2015-03-17 12:00:29 +01:00
Felix Lange
b95387a0dc
core: convert transaction pool to common.{Address,Hash}
2015-03-17 11:59:26 +01:00
Felix Lange
e91ab84dbe
core/types: don't use Address zero value for invalid addresses
2015-03-17 11:58:31 +01:00
obscuren
515d9432fc
converted vm
2015-03-17 11:19:23 +01:00
Felix Lange
d5de6489d7
core/types: fix Transaction.Hash and add support for encoding with package rlp
2015-03-17 01:34:18 +01:00
obscuren
8ce6a36478
converted chain manager
2015-03-16 23:48:18 +01:00
obscuren
94505146a2
updated vm env
2015-03-16 23:17:28 +01:00
obscuren
843db4978e
updated blockpool
2015-03-16 23:10:26 +01:00
obscuren
6aa390abfb
Merge branch 'conversion' of github.com-obscure:ethereum/go-ethereum into conversion
2015-03-16 18:43:09 +01:00
obscuren
91b0b14845
converted vm
2015-03-16 18:42:18 +01:00
Felix Lange
16df850af2
core/types: use common.{Hash,Address} in for transactions
2015-03-16 17:43:42 +01:00
obscuren
bfcd2cf132
block conversion
2015-03-16 17:27:23 +01:00
obscuren
f486c0ae56
new type + additional methods
2015-03-16 11:59:52 +01:00
obscuren
b523441361
Moved ethutil => common
2015-03-16 11:27:38 +01:00
obscuren
d9966d6158
merge
2015-03-14 23:37:21 +01:00
obscuren
387f6bba3e
POW fixes
2015-03-14 16:37:57 +01:00
obscuren
44636e5b82
typo
2015-03-14 13:21:20 +01:00
obscuren
532a74f50e
Improved errors. Closes #475
2015-03-14 12:43:10 +01:00
Felix Lange
9326541820
core/types: make Block.{ParentHash,SeedHash,MixDigest} []byte
...
There is no reason to keep them as ethutil.Bytes.
2015-03-13 18:41:09 +01:00
obscuren
b927c29469
GetBlockByNumber now properly looks for a number in the database
2015-03-13 18:29:42 +01:00
obscuren
03403399fc
Return proper error
2015-03-13 17:47:11 +01:00
obscuren
f1fcda4f2f
Implemented managed state
...
* Reimplemented nonce management for known accounts.
2015-03-13 16:29:04 +01:00
obscuren
cda88ce31a
Implemented a manage state for keeping track of nonces
2015-03-13 14:37:54 +01:00
obscuren
e69d5b32e8
Increased genesis gas & gas floor limit to 3141592
2015-03-13 13:52:23 +01:00
obscuren
f76cc6699e
Changed context and ADDMOD, MULMOD
...
* Cleaned up VM execution. VM run now takes a context
* ADDMOD/MULMOD - removed incorrect cast
2015-03-13 13:44:15 +01:00
obscuren
80592f244d
more obvious failure for ethtest
2015-03-12 23:26:58 +01:00
obscuren
310ca62285
Removed some of that gas pre pay magic
2015-03-12 22:29:10 +01:00
obscuren
ef6706696c
Add additional extra database for non-protocol related data
...
* Add transaction to extra database after a successful block process
2015-03-12 14:50:35 +01:00
obscuren
9fb52c517b
Changed V to byte. Closes #456
2015-03-12 00:18:03 +01:00
Taylor Gerring
5a9f712144
Comment out broken test (return type does not exist)
2015-03-11 14:43:39 -05:00
obscuren
c01d4c2f4c
Lowered default gas price and increased default gas limit
2015-03-11 17:36:35 +01:00
obscuren
477815c044
Improved error reporting and removed commented code
2015-03-11 16:33:39 +01:00
obscuren
7e0ccc9de5
Merge branch 'develop' into rpcfrontier
...
Conflicts:
rpc/api.go
rpc/args.go
2015-03-11 01:08:42 +01:00
obscuren
ce595b9266
fallback
2015-03-10 20:28:20 +01:00
Felix Lange
269cfbb8ac
Merge branch origin/develop into accounts-integration
...
Conflicts:
cmd/blocktest/main.go
cmd/mist/debugger.go
cmd/utils/cmd.go
2015-03-10 17:14:31 +01:00
obscuren
b87442a9f7
Fixed error message. Closes #448
2015-03-10 11:29:22 +01:00
Felix Lange
80985f97da
cmd/evm, core, ethdb, state, tests/helper: remove ReadConfig calls
2015-03-10 02:39:53 +01:00
Felix Lange
9bf513e993
Merge ethereum/poc-9 into accounts-integration
...
Conflicts:
cmd/utils/cmd.go
cmd/utils/flags.go
core/manager.go
eth/backend.go
rpc/http/server.go
xeth/xeth.go
2015-03-09 23:25:46 +01:00
Felix Lange
2ee88a220a
core: remove Hash method from Message interface
...
This will simplify the next commmit. Hash was only used for logging.
2015-03-09 23:08:41 +01:00
obscuren
07955b3041
merge
2015-03-08 01:09:34 +01:00
Felix Lange
d66f93cecd
accounts, core, eth, xeth: use account manager for everything
...
The account manager is now responsible for picking the
default account and the coinbase.
2015-03-07 12:38:33 +01:00
obscuren
22b493a6ff
Fixed tests
2015-03-06 20:10:59 +01:00
obscuren
cd856cb213
Separated block db from state db. Partial fix for #416
2015-03-06 18:26:16 +01:00
obscuren
8d9be18b29
Queued approach to delivering chain events
2015-03-06 15:50:44 +01:00
Gustav Simonsson
bc45e5c6de
Integrate eth_accounts and eth_transact to use new account manager
...
* Add from to eth_transact / xeth.Transact and add static pass in lieu
of integrating with native Mist window for user passphrase entry
* Make eth_accounts return AccountManager.Accounts()
* Add a Generate Key menu item in Mist
2015-03-06 13:10:42 +00:00
obscuren
23ad2f02c0
debug comments & pow handling
2015-03-06 10:22:40 +01:00
Taylor Gerring
94e543bc39
Merge pull request #431 from tgerring/jsonlogs
...
Structured logging updates
2015-03-05 14:32:41 -06:00
obscuren
88ff13c241
Spec changes.
...
* All errors during state transition result in an invalid tx
2015-03-05 19:51:25 +01:00
Taylor Gerring
fbb307cca0
Added eth.chain.new_head
2015-03-05 10:58:13 -06:00
Jeffrey Wilcke
3b30765378
Merge pull request #426 from Gustav-Simonsson/add_blockchain_tests
...
Add initial implementation of block tests
2015-03-05 17:43:56 +01:00
obscuren
c47866d251
Miner fixes and updates (including miner)
2015-03-05 09:14:58 +01:00
Gustav Simonsson
871dfd399b
Add initial implementation of block tests
...
* Add blocktest cmd and support for block tests files in
tests/BlockTests , the launched node does not connect to
network, resets state with a genesis block from the test file
and starts the RPC API
2015-03-04 20:27:09 +01:00
obscuren
84a4f761f3
uncle validation
2015-03-04 10:49:56 +01:00
obscuren
d4d505c868
Fixed genesis
2015-03-03 21:48:05 +01:00
obscuren
08fd0715f9
updated genesis
2015-03-03 21:09:29 +01:00
obscuren
26de12d9bf
Changed nonce to a uint64
2015-03-03 21:04:31 +01:00
obscuren
f0b2ea64fc
Merge branch 'jsonlogs' of https://github.com/ethersphere/go-ethereum into ethersphere-jsonlogs
...
Conflicts:
eth/block_pool.go
eth/block_pool_test.go
eth/protocol_test.go
miner/worker.go
2015-03-03 20:30:05 +01:00
obscuren
40ff3cac39
merge
2015-03-03 17:56:36 +01:00
obscuren
53b5a45856
Merge branch 'xcthulhu-publictests' into poc-9
2015-03-03 17:55:29 +01:00
obscuren
313fe3861b
fixed pow stuff
2015-03-03 17:55:23 +01:00
obscuren
22b132e28f
Merge branch 'publictests' of https://github.com/xcthulhu/go-ethereum into xcthulhu-publictests
2015-03-03 17:20:34 +01:00
obscuren
b0aaa77f02
changed message
2015-03-03 17:20:10 +01:00
obscuren
ee0a1bec6c
GasLimit check updated
2015-03-03 17:05:51 +01:00
obscuren
c74c07eed1
Fixed error for invalid transaction
2015-03-03 16:20:38 +01:00
obscuren
fa831206c6
Updated gast costs
2015-03-03 13:29:52 +01:00
obscuren
34ee5ab9a8
Bloom expanded by 4
2015-03-03 11:56:12 +01:00
zelig
6c2856df23
add eth.chain.new_head log to core/chain_manager
2015-03-03 15:44:41 +07:00
Matthew Wampler-Doty
de9f79133f
Introducing ethash
2015-03-02 22:29:34 -05:00
Matthew Wampler-Doty
080823bdee
Only one uncle
2015-03-02 18:56:11 -05:00
obscuren
b383ff0b96
New gas prices model
2015-03-02 16:32:02 +01:00
obscuren
6e50a1e9f5
Filter accepts multiple topics per entry. Fixes #403
2015-03-01 19:08:26 +01:00
obscuren
73c52d1677
Merge branch 'ethersphere-blockpool2' into poc-9
2015-02-28 20:52:57 +01:00
obscuren
ae45a39dc1
Secure trie
2015-02-28 20:52:29 +01:00
obscuren
6ea7aae29c
Removed some methods from the JS REPL
2015-02-28 19:15:57 +01:00
Matthew Wampler-Doty
ba1f4bbe91
Exposing stuff for ethash
2015-02-27 20:56:24 -05:00
Matthew Wampler-Doty
3820a65299
Merge branch 'publictests' of github.com:ebuchman/go-ethereum into ethash_pow
2015-02-27 16:13:31 -05:00
Ethan Buchman
0efd6a881a
public functions for making chains on the fly
2015-02-27 16:05:03 -05:00
Matthew Wampler-Doty
8653db6df0
Introducign MixDigest and SeedHash
2015-02-27 15:59:33 -05:00
Ethan Buchman
5a827417d9
Merge branch 'develop' of https://github.com/ethereum/go-ethereum into develop
2015-02-26 17:54:57 -05:00
obscuren
3ab05ddd25
Bump
2015-02-26 20:26:37 +01:00
obscuren
e235b57234
Fixed consensus issue for refunding
...
* Refund should _always_ go to the origin
2015-02-26 20:08:35 +01:00
obscuren
37e6870f64
wip
2015-02-26 18:39:05 +01:00
Gustav Simonsson
260ab73969
Validate block header gas limit
...
* Add block header gas limit validation in ValidateBlock function,
see eq 39 and 45 in yellow paper. Before it was calculated _for_
the block instead of validated.
* Use the block header gas limit when setting the gas pool instead
of calculating the value for the block.
2015-02-25 20:00:32 +01:00
obscuren
747647e02a
Merge branch 'master' into develop
2015-02-23 19:25:50 +01:00
obscuren
0b57bad2de
removed log
2015-02-23 19:25:41 +01:00
obscuren
b2a225a52e
Properly uninstall filters. Mining issue fixed #closes #365
...
* Added an additional tx state which is used to get the current nonce
* Refresh transient state each time a new canonical block is found
* Properly uninstall filters. Fixes a possible crash in RPC
2015-02-23 15:43:41 +01:00
obscuren
483d96a89d
Added eth_logs & fixed issue with manual log filtering
...
* Implemented `eth_logs`
* Fixed issue with `filter.Find()` where logs were appended to an
incorrect, non-returned slice resulting in no logs found
2015-02-22 13:12:01 +01:00
obscuren
cc43ab9a81
Minor updates for release
2015-02-20 18:05:46 +01:00
obscuren
66d5559866
Fixed chain event issue
2015-02-20 16:59:08 +01:00
obscuren
75625801f5
fixed merge
2015-02-20 15:18:07 +01:00
obscuren
ea9a549bbd
Removed exported fields from state object and added proper set/getters
2015-02-20 14:19:34 +01:00
obscuren
d8ac267f41
dirty tracking for state objects fixed
2015-02-20 14:01:30 +01:00
obscuren
fa4cbad315
Optimisations and fixed a couple of DDOS issues in the miner
2015-02-19 22:33:22 +01:00
obscuren
ee9df32dba
Added errors
2015-02-18 16:08:51 +01:00
obscuren
655e942597
Added GetBlock GetUncle with OOB guard
2015-02-18 13:14:21 +01:00
Ethan Buchman
9446489cf3
core: chain manager forking tests
2015-02-17 22:02:15 -05:00
Ethan Buchman
2ba65f4fba
Merge branch 'develop' of https://github.com/ethereum/go-ethereum into develop
2015-02-17 19:25:18 -05:00
obscuren
7fc9b5b3f9
Changed to ChainEvent and fixed a nil pointer in transact
2015-02-17 22:20:47 +01:00
obscuren
567428fb34
Filter and mutex locks added
2015-02-17 16:12:55 +01:00
obscuren
8135752a32
"centralised" mining to backend. Closes #323
2015-02-17 12:24:58 +01:00
obscuren
d2a4bc4d73
Removed reference to lastBlockNumber & LastBlockNumber
2015-02-16 12:03:27 +01:00
obscuren
2c3a014f03
Resolved some bugs in the miner
...
* TODO nonce error sometimes persists
* Fixed mining on wrong blocks
* Fixed state error & receipt fail
2015-02-15 16:16:27 +01:00
obscuren
b143dad596
Reference pointer to block instead of pointer to function
2015-02-15 02:09:57 +01:00
obscuren
32c7ebc51d
Fixed mining & limited hash power
2015-02-14 16:52:14 +01:00
obscuren
ce239333d5
Update balance label when mining
2015-02-13 18:15:23 +01:00
obscuren
8305d409d2
Merge branch 'develop' into miner
2015-02-13 17:00:15 +01:00
obscuren
bde3ff16ad
merge
2015-02-13 16:02:37 +01:00
obscuren
76fa75b394
wip
2015-02-13 15:35:54 +01:00
obscuren
b64ad7a2a6
Merge branch 'develop' into miner
2015-02-11 23:46:54 +01:00
obscuren
3f6baa45a7
Documented methods & removed old manifest
2015-02-11 23:46:45 +01:00
obscuren
da2fae0e43
Basic structure miner
2015-02-10 13:04:38 +01:00
obscuren
58ba290a9f
moved manager
2015-02-09 00:08:28 +01:00
obscuren
b22f0f2ef5
merged
2015-02-09 00:06:24 +01:00
obscuren
c8147fb7b9
Compare regardless of length
2015-02-07 17:04:04 +01:00
Felix Lange
56f777b2fc
cmd/ethereum, cmd/mist, core, eth, javascript, xeth: fixes for new p2p API
2015-02-06 00:03:59 +01:00
obscuren
f8c1eb157d
Undone fix. Will re-enable once chain resets
2015-02-05 14:42:12 -08:00
Jeffrey Wilcke
47129428fe
Merge pull request #290 from Gustav-Simonsson/correct_block_parent_timestamp_check
...
Correct block parent timestamp check and typos
2015-02-05 12:23:56 -08:00
obscuren
c64852dbcc
pending / chain event
2015-02-05 11:55:03 -08:00
obscuren
ac69538707
Merge branch 'develop' into miner
2015-02-05 10:58:43 -08:00
obscuren
1d519854e2
Propagate known transactions to new peers on connect
2015-02-04 17:28:54 -08:00
obscuren
65158d39b0
Filtering
2015-02-04 15:05:47 -08:00
obscuren
b1870631a4
WIP miner
2015-02-04 05:53:22 -08:00
Gustav Simonsson
697c2b5dc1
Correct block parent timestamp check and typos
2015-02-03 23:09:39 +01:00
obscuren
30fa30bd4a
Docs & old code removed
2015-02-02 20:02:00 -08:00
obscuren
8ccde784f9
Added (disabled) Jit validation
2015-02-01 15:30:29 +01:00
obscuren
9016ce8dd8
Merge branch 'bounty' into develop
2015-01-31 17:23:50 +01:00
obscuren
cb382fa76b
Validate transactions sender before adding to pool. Closes #272
2015-01-31 17:22:17 +01:00
obscuren
6488a392a3
Reimplemented message filters for rpc calls
2015-01-29 16:52:00 +01:00
obscuren
32fbc0d334
Merge branch 'develop' into qt5.4
2015-01-28 21:36:53 +01:00
obscuren
3440a8a0bf
changed lost key
2015-01-28 21:12:26 +01:00
obscuren
45e15f62f5
merge jsonrpc
2015-01-28 18:22:53 +01:00
obscuren
7f638f0b2d
moving to a better xeth
2015-01-28 18:14:28 +01:00
obscuren
f3e78c8f3c
reworking messages => log
2015-01-28 10:23:18 +01:00
Ethan Buchman
2da367a2be
fix unchecked slice index on tx.From()
2015-01-26 10:57:23 -08:00
obscuren
0d96528d2f
Skip for travis
2015-01-24 18:46:35 +01:00
obscuren
2ba54a69be
skipping for travis
2015-01-24 18:40:03 +01:00
obscuren
67f9783e6a
Moved obscuren
secp256k1-go
2015-01-22 00:35:00 +01:00
obscuren
0045ce4cde
Future blocks not allowed
2015-01-22 00:24:30 +01:00
obscuren
9845029a75
StdVm by default
2015-01-20 15:49:12 +01:00
obscuren
b03614527b
VmDebug => StdVm
2015-01-19 11:20:55 +01:00
obscuren
7394ee7c72
Fixed difficulty
...
Difficulty was broken when refactored.
2015-01-18 15:45:54 +01:00
obscuren
bb55307a9d
Updated tests
2015-01-13 20:31:31 +01:00
obscuren
82beaabf6a
Fixed consensus issue
2015-01-13 14:57:51 +01:00
obscuren
75cd9cd2de
updated tests
2015-01-12 14:40:40 +01:00
obscuren
35fe4313d5
pre-pow
2015-01-12 10:19:27 +01:00
obscuren
491c23a728
Moved the TD method from block processor.
2015-01-09 22:42:36 +01:00
obscuren
351516c57c
Cast to string for hashable type
2015-01-09 22:23:33 +01:00
obscuren
905b8cc82f
mem fixes for vm. Changed uncle inclusion tests
2015-01-09 17:38:35 +01:00
zelig
b3161f5803
Merge remote-tracking branch 'upstream/develop' into develop
2015-01-09 06:21:47 +00:00
zelig
3bdf28c1fe
GetBlockHashesFromHash(hash, max) gives back max hashes starting from PARENT of hash
2015-01-09 05:03:26 +00:00
obscuren
5f958a582d
fixed other tests to use hashes as well
2015-01-08 16:48:39 +01:00
obscuren
e27237a03a
Changed to use hash for comparison
...
DeepReflect would fail on TD since TD isn't included in the original
block and thus the test would fail.
2015-01-08 16:45:51 +01:00
obscuren
b25126a277
Minor fixed and additions for block proc
...
* Path check length
* Genesis include TD
* Output TD on last block
2015-01-08 16:37:06 +01:00
obscuren
db4aaedcbd
Moved ptrie => trie. Removed old trie
2015-01-08 11:47:04 +01:00
obscuren
fed3e6a808
Refactored ethutil.Config.Db out
2015-01-07 13:17:48 +01:00
obscuren
60d9611c23
Fixed tests where txs weren't properly removed
2015-01-07 01:21:45 +01:00
obscuren
25e6c4eff8
Adjusted difficulty and skip get tx messages
2015-01-06 14:02:47 +01:00
obscuren
564f02aa2b
Fixed tests
2015-01-06 13:18:09 +01:00
obscuren
cc7f8f58e8
Limit block extra to 1024
2015-01-06 00:17:05 +01:00
obscuren
b99b2c446c
Precompiled contract & Depth change
...
* Added pre-compiled contract 0x04 (mem cpy)
* Changed depth error to return the gas instead of consuming
2015-01-05 17:39:42 +01:00
obscuren
6abf8ef78f
Merge
2015-01-05 17:10:42 +01:00
obscuren
b0854fbff5
BlockManager => BlockProcessor
2015-01-05 11:22:02 +01:00
obscuren
c1dee15144
BlockManager => BlockProcessor
2015-01-05 00:18:44 +01:00
obscuren
09841b1c9b
Cleaned up some of that util
2015-01-04 14:20:16 +01:00
obscuren
ca1b2a1a91
Changed prev_hash to block_hash, state transition now uses vm env
...
* PREVHASH => BLOCKHASH( N )
* State transition object uses VMEnv as it's query interface
* Updated vm.Enviroment has GetHash( n ) for BLOCKHASH instruction
* Added GetHash to xeth, core, utils & test environments
2015-01-03 17:18:43 +01:00
obscuren
16f417f5af
Fixed bug where logging could crash client during tx adding
2015-01-02 22:19:58 +01:00
obscuren
4dc7ee9087
Closure => Context
2015-01-02 16:14:12 +01:00
obscuren
e2d1d832ef
added nil check
2015-01-02 13:00:25 +01:00
obscuren
d336e24dce
Removed the need of having a backend for the tx pool
2015-01-02 12:26:55 +01:00
obscuren
ae2c90cc28
Removed value check from tx validation
2015-01-02 12:24:36 +01:00
obscuren
6cf61039cf
Added tests for valid transactions
2015-01-02 12:18:23 +01:00
obscuren
48d2a8b8ee
Refactored tx pool and added extra fields to block
...
* chain manager sets td on block + td output w/ String
* added tx pool tests for removing/adding/validating
* tx pool now uses a set for txs instead of list.List
2015-01-02 12:09:38 +01:00
obscuren
477a6d426c
Added a query interface for world state
2015-01-02 12:07:54 +01:00
obscuren
1cc86c07a0
Deleted
2015-01-02 11:16:52 +01:00
obscuren
1c7e8e9093
Set TD to block once processed
2015-01-02 11:16:42 +01:00
obscuren
b619b244c7
Fixed tests
2015-01-02 11:16:30 +01:00
obscuren
8df689bd44
Chain tests
2014-12-30 15:42:26 +01:00
obscuren
2f8a45cd8b
Fixed chain test & added new chain
2014-12-30 13:32:01 +01:00
obscuren
fb1edd05f4
Removed the deferred reset
2014-12-24 11:20:43 +01:00
obscuren
780abaec98
Switched to new trie
2014-12-23 18:35:36 +01:00
obscuren
1382e8d84b
Delete current chain for reset
2014-12-23 14:50:04 +01:00
obscuren
9e5257b83b
Chain importer
2014-12-23 14:33:15 +01:00
obscuren
4cd79d8ddd
Refactored block & Transaction
...
* Includes new rlp decoder
2014-12-23 13:48:44 +01:00
obscuren
125bdc3253
Merge branch 'develop' into poc8
...
Conflicts:
cmd/ethereum/flags.go
2014-12-20 02:45:05 +01:00
obscuren
1508a23a6f
Minor updates on gas and removed/refactored old code.
2014-12-20 02:21:13 +01:00
obscuren
f5b8f3d41b
Removed OOG check. Revert should always happen.
2014-12-19 13:59:49 +01:00
obscuren
0e93b98533
Transaction was generating incorrect hash because of var changes
2014-12-19 13:34:53 +01:00
obscuren
207b6c50fb
Merge branch 'badsig' of https://github.com/ebuchman/go-ethereum into ebuchman-badsig
...
Conflicts:
core/transaction_pool.go
2014-12-19 00:33:05 +01:00
obscuren
12671c82ea
Moved VM to execution
2014-12-19 00:23:00 +01:00
obscuren
6e24b1587d
Merge branch 'develop' into poc8
2014-12-19 00:19:02 +01:00
obscuren
59ef6e3693
Cleaned up objects
2014-12-19 00:18:52 +01:00
obscuren
22d29a6d52
merge
2014-12-19 00:02:55 +01:00
obscuren
3325683794
Fixed refund model
2014-12-18 22:38:51 +01:00
obscuren
198cc69357
Gas corrections and vm fixes
2014-12-18 21:58:26 +01:00
obscuren
5ad473d758
Moved methods to messages
2014-12-18 15:33:22 +01:00
obscuren
db494170dc
Created generic message (easy for testing)
2014-12-18 15:18:13 +01:00
obscuren
0dc566124a
Merge fixes
2014-12-18 13:22:59 +01:00
obscuren
721e8ae93f
Merged develop
2014-12-18 13:19:41 +01:00
obscuren
2d09e67713
Updated to new methods
2014-12-18 13:17:24 +01:00
obscuren
49e0267fe7
Locks, refactor, tests
...
* Added additional chain tests
* Added proper mutex' on chain
* Removed ethereum dependencies
2014-12-18 13:12:54 +01:00
obscuren
590aace88d
Removed ethereum as dependency
2014-12-18 12:18:19 +01:00
obscuren
e6fdf0c9f7
Merge branch 'develop' into poc8
2014-12-18 00:12:51 +01:00
obscuren
4dbdcaecb1
Moved pre-compiled, moved depth check
...
* Depth check has been moved to the execution
* Pre compiled execution has been moved to the VM
* PrecompiledAddress has been renamed to PrecompiledAccount
2014-12-17 23:58:52 +01:00
obscuren
b1c58b76a9
moved err check
2014-12-17 12:57:35 +01:00
zelig
72290f67fe
resolve merge conflict hell
2014-12-14 20:57:29 +00:00
zelig
7b39cc83cc
adapt chain_manager to eth protocol interface
...
- add Status() to return td, currentblock hash, genesis hash
- GetChainHashesFromHash -> GetBlockHashesFromHash
2014-12-14 20:45:12 +00:00
zelig
d84810d89d
add Status to retrieve TD, currentBlock, genesis for easy interface with eth/protocol
2014-12-14 20:30:56 +00:00
zelig
39d86a28e7
adapt to new eth pkg and p2p
2014-12-14 20:30:56 +00:00
zelig
5022a31889
add NewMinedBlockEvent
2014-12-14 20:27:06 +00:00
zelig
c2af10d256
transaction pool changes
...
- use eventer events to broadcast transactions
- CurrentTransactions -> GetTransactions
- add AddTransactions
2014-12-14 20:27:06 +00:00
obscuren
0d57ca486a
Squashed commit of the following:
...
commit 779f25d36c770fcc0bdf135c8baf13be9b0a77b9
Author: CJentzsch <jentzsch.software@gmail.com>
Date: Thu Dec 11 22:59:56 2014 +0100
first random test
commit 68175386c0606a824686606e992c2544775ef6c9
Author: CJentzsch <jentzsch.software@gmail.com>
Date: Thu Dec 11 21:34:50 2014 +0100
update gas prices
commit ad322fbb58e87ee5175cfaf4b8f9650675660e08
Author: CJentzsch <jentzsch.software@gmail.com>
Date: Mon Dec 8 06:01:17 2014 +0100
Log as array
commit f989f42618ffdaeb004c2c99007189b4739c8fad
Author: CJentzsch <jentzsch.software@gmail.com>
Date: Fri Dec 5 15:12:12 2014 +0100
state log tests
commit 4bc65d1129efa36eae3c83fa8f11bb7df9bcaea5
Author: CJentzsch <jentzsch.software@gmail.com>
Date: Thu Dec 4 18:18:49 2014 +0100
add calldataload, codecopy, extcodecopy tests
commit 12cfae18e3e5250cca9af0932bd4178cf190b794
Author: CJentzsch <jentzsch.software@gmail.com>
Date: Thu Dec 4 15:57:56 2014 +0100
add calldataload test
commit 086caf37011478ec847c7a9071f057832ad3be3e
Author: CJentzsch <jentzsch.software@gmail.com>
Date: Wed Dec 3 08:31:03 2014 +0100
protocol update (CALLCODE <-> RETURN), topics in log are arrays not sets
commit e6c92673b9cee6146a89e0eb28894620fe5ac035
Author: CJentzsch <jentzsch.software@gmail.com>
Date: Mon Dec 1 21:14:08 2014 +0100
update state tests with logs
commit 4089b809fb9b5daea24ab88ad3e3e3947b3ff6d7
Author: CJentzsch <jentzsch.software@gmail.com>
Date: Mon Dec 1 18:19:40 2014 +0100
update gas costs
commit cfdca6227716b66bd64b64c6aab864fde69336d3
Merge: 2e5175e f59f89d
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Mon Dec 1 18:04:51 2014 +0100
Merge pull request #42 from negedzuregal/fix
vmTest fix
commit f59f89d876c0e44d88b3daa4f0d26e6764ccbe0b
Author: alon muroch <alonmuroch@gmail.com>
Date: Mon Dec 1 16:18:12 2014 +0100
vmEnvironmentalInfoTest CALLDATACOPY, CODECOPY, EXTCODECOPY fix
commit 68da13fe3e2efe85898e8a4ffeb99e2a8f8c103d
Author: alon muroch <alonmuroch@gmail.com>
Date: Mon Dec 1 11:10:57 2014 +0100
vmArithmeticTest exp fix
commit 2e5175e818d817cda4607f9e731632393e2eb93e
Author: ethers <ethereum@outlook.com>
Date: Sun Nov 30 19:55:51 2014 +0100
add vmLogTest
commit b5b9408e641031ded31a87792c4ec613c8afabbf
Author: Heiko Heiko <heiko@heiko.org>
Date: Sun Nov 30 16:27:27 2014 +0100
updated genesis to new header w/o min_gas_price
commit 8e69fbfa98d95116734f2349f6d90fbd479b694a
Author: ethers <ethereum@outlook.com>
Date: Fri Nov 21 17:42:05 2014 -0800
add special tests
commit 90f4f942e68f38e833a727214d5810be3f8f6cf5
Author: ethers <ethereum@outlook.com>
Date: Thu Nov 20 19:01:09 2014 -0800
typo
commit c5e5228e0d47ec237ef6a28e696dda47a4a3a85e
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Thu Nov 20 17:04:06 2014 +0100
Removed log,post,out,gas,callcreates if exception occured
commit 9c0232a2b995bd608f5f541e6f607d373797641d
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Wed Nov 19 18:19:05 2014 +0100
MakeMoney test
commit 3ba0007e868e9cfc802443d6f5d42ba35a4209cb
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Wed Nov 19 16:23:04 2014 +0100
Added log sections in all vmtests + log tests
commit d84be4fe07bb240c1ae56f63580e0e4655611e62
Merge: c8497ab 76d2542
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Wed Nov 19 10:00:24 2014 +0100
Merge remote-tracking branch 'origin/develop' into develop
commit c8497ab25724bb6aed40fcd0462f3789380848a1
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Wed Nov 19 10:00:02 2014 +0100
new push32 test and renaming
commit 76d25420e153e18c667aa4991dcacf12e8f4fb5c
Author: ethers <ethereum@outlook.com>
Date: Mon Nov 17 18:59:30 2014 -0800
adding test
commit 0be275e757744de496a80525ad8aa153def89fd3
Merge: 1d42d1d d90868c
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Mon Nov 17 22:47:34 2014 +0100
Merge remote-tracking branch 'origin/develop' into develop
commit 1d42d1d7c620fb3e6d0e284697d5041226567af9
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Mon Nov 17 22:46:51 2014 +0100
fix ecrecover2
commit d90868c3070624bc38668a0f3ceef3e3806d9f00
Merge: 1f38c8c 6dbcf6b
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Mon Nov 17 20:26:59 2014 +0100
Merge pull request #39 from wanderer/develop
added test for max call depth on creation
commit 6dbcf6b0d6bb68ceaa743e18a52ac815f495d408
Author: wanderer <mjbecze@gmail.com>
Date: Mon Nov 17 14:06:43 2014 -0500
spelling fix
commit 6fc07a7f81408308e56db105afcad191f81c43bc
Author: wanderer <mjbecze@gmail.com>
Date: Sat Nov 15 21:39:16 2014 -0500
added test for max call depth on creation
commit 1f38c8c0a2e306fa95e8332c03a02e72fe26f9be
Merge: 279b284 cd85ca1
Author: martin becze <wanderer@users.noreply.github.com>
Date: Fri Nov 14 20:10:21 2014 -0500
Merge pull request #38 from wanderer/develop
updated test 'jeff' in trietest.json
commit cd85ca17edd314b3744c46573f1d5093e9be2db3
Author: martin becze <wanderer@users.noreply.github.com>
Date: Fri Nov 14 19:59:34 2014 -0500
Update trietest.json
commit 279b284c0d03737360ae36ce2c0da06d70e91c2c
Merge: 89675a7 6cae937
Author: martin becze <wanderer@users.noreply.github.com>
Date: Fri Nov 14 17:43:49 2014 -0500
Merge pull request #37 from wanderer/develop
Update trietest.json
commit 6cae937e5eee1c904b636440653b6157359c0963
Author: martin becze <wanderer@users.noreply.github.com>
Date: Fri Nov 14 17:20:03 2014 -0500
Update trietest.json
'emptyValues' should have the same root as 'puppy'
commit 89675a71537e6a386f97a9190db40276b388d692
Merge: f1de1cc 32f0c47
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Thu Nov 13 23:17:49 2014 +0100
Merge remote-tracking branch 'origin/develop' into develop
commit f1de1cc97a556adad8a4a864267150c39bef4d85
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Thu Nov 13 23:17:13 2014 +0100
Fix CallRecursiveBomb2
commit 32f0c47c6801974c210c3b93792105a9183f9e7b
Merge: ab50e76 3da90d0
Author: martin becze <wanderer@users.noreply.github.com>
Date: Thu Nov 13 15:26:49 2014 -0500
Merge pull request #36 from wanderer/develop
converted back to arrary format
commit ab50e766521ca31febe21677909a665043937488
Merge: d06b792 78f1e4a
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Thu Nov 13 07:52:35 2014 +0100
Merge pull request #35 from ethers/delOld
rename tests since they are valid opcodes that exist
commit 3da90d01f6f9e79190ebcd3a6513f481eacbbae2
Author: wanderer <mjbecze@gmail.com>
Date: Wed Nov 12 22:22:47 2014 -0500
converted back to arrary format
commit 78f1e4a9452566f5645a7f5ade6aad79901d5f98
Author: ethers <ethereum@outlook.com>
Date: Wed Nov 12 19:11:06 2014 -0800
rename tests since they are valid opcodes that exist
commit d06b792cd0c80d48aa206dd9126b515e4fb1d606
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Wed Nov 12 07:00:17 2014 +0100
minor change in CallSha256_1_nonzeroValue test
commit d434ecdcc37af4bb53058a43884df8085c5efe73
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Wed Nov 12 06:56:31 2014 +0100
Added CallSha256_1_nonzeroValue test
commit 2c06f34cc00e6c41dc0c68d3e99825731e0603ab
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Tue Nov 11 18:10:26 2014 +0100
Store return value of call to precompiled contracts
commit 4b0c3b29ae5b8807d7d244340a625c6144320df0
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Tue Nov 11 17:51:14 2014 +0100
Fix gas cost for OOG calls
commit 63bcca7604dce4f912776f4e2e9954ceca02dfcf
Author: Heiko Heiko <heiko@heiko.org>
Date: Tue Nov 11 08:59:19 2014 +0100
fix: genesis test
commit 6e0310c1ea7b0f8af7a337df93b3b83591a6e647
Merge: 30c266c 2927763
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Tue Nov 11 08:34:36 2014 +0100
Merge remote-tracking branch 'origin/develop' into develop
commit 30c266caff8c253438e542a81501a313c3c06eaf
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Tue Nov 11 08:33:59 2014 +0100
jump to position outside code stops execution
commit 2927763d68df91c16a4a463a3fbb91a2e67e22e9
Author: ethers <ethereum@outlook.com>
Date: Mon Nov 10 14:10:22 2014 -0800
RandomTests were removed
commit a0fa91b2b82c2a4b97e08d7e9b32abc1188d0ce0
Merge: 6092484 fcba866
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Mon Nov 10 22:22:05 2014 +0100
Merge branch 'develop' of https://github.com/ethereum/tests into develop
commit 60924843f07f394c8e95782ab52d56ef27d5e642
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Mon Nov 10 22:21:37 2014 +0100
Unintended Exceptions work like OOG
commit fcba86672193d6bd19ab2104432348eff3f353f2
Author: ethers <TODO>
Date: Thu Nov 6 14:19:59 2014 -0800
add StateTests
commit a441074ba4b057e2918735f7427841b92aa3c16e
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Thu Nov 6 17:54:36 2014 +0100
Updated precompiled contracts test
commit 0afa72c82be2f4996d1662dfbf9e019c5267c6b1
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Thu Nov 6 15:27:45 2014 +0100
Added precompiledContracts tests
commit 6be83dd5a185048cfdb8ec29659f14abaeab0c42
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Thu Nov 6 13:31:34 2014 +0100
Update gas cost for PoC7
commit c18b8ab2d3462e813b731e525afc9ea414d8d136
Merge: 66c2e1f 9a93258
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Thu Nov 6 09:19:53 2014 +0100
Merge remote-tracking branch 'origin/develop' into develop
commit 66c2e1f642a7b37d9f3631e4573100b0cdc36cef
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Thu Nov 6 09:19:22 2014 +0100
Updated SIGNEXTEND tests
commit 9a9325822e756dafce8d7418bd4fda63acf84d2d
Author: ethers <TODO>
Date: Wed Nov 5 16:20:26 2014 -0800
part of 9b4e768 - Delete vmNamecoin.json
commit e229374f467452bf82fd0cc86b18f224dabfadfa
Merge: 189527e 9b4e768
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Wed Nov 5 20:59:49 2014 +0100
Merge remote-tracking branch 'origin/develop' into develop
commit 189527e563a6e7a39654a9544a2b0d873be7176f
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Wed Nov 5 20:59:20 2014 +0100
added dynamic jump out of code
commit 9b4e7689951e50c7de3bd945784b92242ed8fd63
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Wed Nov 5 20:41:54 2014 +0100
Delete vmNamecoin.json
commit 4669b5694b9dc7bdf9e6f527323dff612b65634d
Merge: a567fed aaba185
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Wed Nov 5 15:00:12 2014 +0100
Merge remote-tracking branch 'origin/develop' into develop
commit a567fedaa7f8ff8904bd90447fc4b68685bf2af9
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Wed Nov 5 14:59:08 2014 +0100
added state systemOperationsTest
commit aaba185ceb0e4c37151134f3e1ded9714d6b7685
Merge: 79d7cbf fa782ae
Author: ethers <ethereum@outlook.com>
Date: Tue Nov 4 12:15:40 2014 -0800
Merge pull request #32 from ethers/indexjs
updates needed per restructure
commit fa782aed93934eb51347d08facea838bb4262b1b
Author: ethers <TODO>
Date: Tue Nov 4 11:28:56 2014 -0800
updates needed per restructure
commit 79d7cbfc4a9cf3d70ae01dea8ee76c770af33211
Merge: 9120274 1c1ba8d
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Tue Nov 4 13:32:11 2014 +0100
Merge remote-tracking branch 'origin/develop' into develop
commit 9120274a46d696cda6d595b2ec5acc2947eb2b46
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Tue Nov 4 13:31:27 2014 +0100
Update tests to latest protocol changes (PoC7)
commit 1c1ba8d161817b391ea296391ad3ede3e71c0aa1
Merge: 014d370 3aebe53
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Tue Nov 4 13:30:52 2014 +0100
Merge pull request #31 from CJentzsch/develop
Restructered tests in folders in accordance to test suites
commit 3aebe532e536eb6f6766ccac456c07023ab822e1
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Mon Nov 3 13:58:21 2014 +0100
Updated vmNamecoin.json to new sstore prices
commit 8a0be21839cf8bb7d3d80a2b61c8433b5d3a8bfd
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Mon Nov 3 13:53:00 2014 +0100
Added example state test
commit 83643addbc3d50c6a79611a5d8700aad5fb1df16
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Mon Nov 3 13:36:25 2014 +0100
removed systemoperationstests
commit 3930ca3a9a377107d5792b3e7202f79c688f1a67
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Mon Nov 3 13:22:15 2014 +0100
Restructered tests in folders in accordance to test suites
commit 014d370b5d5d0a807cc31a2fc3a8c5313ccd7ea4
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Wed Oct 29 21:23:56 2014 +0100
New SIGNEXTEND tets
commit 155d449be206f5276f689770006ecbbb203dd6ad
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Wed Oct 29 20:59:05 2014 +0100
New tests for BNOT and SIGNEXTEND
commit c9eae764b8921a5d6c929b8544cb9acdb920453c
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Tue Oct 28 12:58:27 2014 +0100
Update SSTORE gas cost and BNOT instead of NEG
commit ad2a75ac58ddcb06316f68d0fdaa8e80828a990c
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Thu Oct 23 16:05:49 2014 +0200
Added new recursive bombs
commit 834c52af6406b9af429104408ca7bcbc525efe5c
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Thu Oct 23 12:01:05 2014 +0200
Changing gas cost to zero at stackunderflow
commit c73a8a89d23cbdaf80875667437d57c3ee32f08a
Author: Jeffrey Wilcke <obscuren@users.noreply.github.com>
Date: Wed Oct 22 13:04:45 2014 +0200
Reverted back to original value.
commit b9a8c924227996ef281d44ccfcc72c7618027f91
Author: martin becze <wanderer@users.noreply.github.com>
Date: Tue Oct 21 17:02:52 2014 -0400
fix spelling error
commit b48ae74af441c00cdce487416be448b0df3d4323
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Tue Oct 21 17:26:26 2014 +0200
Added failing random tests
commit bee0a4100c69cabfa361e36831ec0f64187188f3
Merge: 5050d20 b315da6
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Tue Oct 21 17:15:05 2014 +0200
Merge remote-tracking branch 'origin/master' into develop
commit 5050d20b4d0321e3e4ea2f118781c7bb96a3d7b5
Merge: 7516685 ba35362
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Mon Oct 20 20:18:20 2014 +0200
Merge pull request #26 from wanderer/develop
Add a package.json for node.js
commit ba35362876caa03b11c7ce777d959b99accbcfb0
Author: wanderer <mjbecze@gmail.com>
Date: Sun Oct 19 23:59:47 2014 -0400
turned tests into a node module
commit 751668571e390e6bceb515d082222aa31b5e5b14
Author: ethers <ethereum@outlook.com>
Date: Thu Oct 16 17:08:20 2014 -0700
json was invalid and missing quotes
commit 0e687cee479acfd82861e13d2022ad430fc78d78
Author: Jeffrey Wilcke <obscuren@users.noreply.github.com>
Date: Thu Oct 16 17:13:24 2014 +0200
Update vmEnvironmentalInfoTest.json
commit 78a78e2e6cffb9357f2281070d83bf869ab8b2f4
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Wed Oct 15 14:19:11 2014 +0200
updated genesis_hash
commit b315da618b55b581ba8e87f83b2ab5175841392e
Merge: 7a7e198 0a76a3a
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Tue Oct 14 10:33:26 2014 +0200
Merge pull request #23 from ethers/fix22
numbers should be strings #22
commit 0a76a3a312951e852509e2b378b2b5b3f87135b0
Author: ethers <ethereum@outlook.com>
Date: Mon Oct 13 14:45:30 2014 -0700
numbers should be strings #22
commit 1f67385f130422588f92341fe82c2435b160fe84
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Sat Oct 11 13:18:00 2014 +0200
Added some MUL tests
commit 7a7e198395f776d0a95d252ddc3b30492b9d3cff
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Sat Oct 11 13:11:59 2014 +0200
Added some MUL tests
commit 46eb6283ae6c147f7efa910dadc18a504b6725ed
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Sat Oct 11 12:18:13 2014 +0200
tested new opcodes (JUMPDEST,CALLCODE) and created test for CALL/CREATE depth
commit 8d38d62d1053ed7552211105e26b2e248a3db747
Author: Nick Savers <nicksavers@gmail.com>
Date: Fri Oct 10 18:09:41 2014 +0200
INVALID stops the operation and doesn't cost gas
commit ed6eba7c8ebc0cbb65ccd45b047823f9acc1471b
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Wed Oct 8 19:08:48 2014 +0200
Update + ABA recursive bomb which needs maximum recursion limit of 1024
commit 2d72050db1c67d9d6912ce6ade80dbe5685749ff
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Wed Oct 8 14:37:18 2014 +0200
Applied recent protocol changes (PoC7) to existin tests
commit dfe66cab3fb533003ddaec7250d8fffbf3fbad65
Merge: 4513623 1a67a96
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Wed Oct 8 11:05:51 2014 +0200
Merge remote-tracking branch 'origin/develop'
Conflicts:
genesishashestest.json
commit 1a67a96cff2fba02e57a82d65007cec99dcc313c
Merge: a4f5f45 ffd6bc9
Author: vbuterin <v@buterin.com>
Date: Tue Oct 7 15:10:23 2014 +0100
Merge pull request #18 from CJentzsch/develop
CallToNameRegistratorOutOfGas balance correction
commit ffd6bc97adfbc83b6e0c50cdf072fd58f94ace69
Merge: a4f5f45 9779d67
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Tue Oct 7 15:47:34 2014 +0200
Merge remote-tracking branch 'origin/develop' into develop
commit 9779d67b8cdf4e99818a5eeadbc3aebd7527b1a9
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Tue Oct 7 15:45:53 2014 +0200
CallToNameRegistratorOutOfGas balance correction
Even if execution fails, the value gets transferred.
commit a4f5f45228b6f3ebf8ea77c47515149a3df2bc24
Merge: 49a9f47 b6d7cba
Author: vbuterin <v@buterin.com>
Date: Tue Oct 7 14:13:12 2014 +0100
Merge pull request #17 from CJentzsch/develop
Added A calls B calls A contracts
commit b6d7cba49914362297c0fcac48d868ffe3bdf06a
Merge: 865cb40 49a9f47
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Tue Oct 7 15:02:51 2014 +0200
Merge remote-tracking branch 'upstream/develop' into develop
commit 865cb4083d33de2a9115ee39c73aea56b0c34fe8
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Tue Oct 7 15:02:36 2014 +0200
Added A calls B calls A contracts
commit 49a9f47aec2dbd6e321298947929b3d0b5abc280
Merge: 3b0ec43 94a493b
Author: Jeffrey Wilcke <obscuren@users.noreply.github.com>
Date: Tue Oct 7 10:56:17 2014 +0200
Merge pull request #16 from CJentzsch/develop
corrected amount of used gas for CallToNameRegistratorOutOfGas
commit 94a493b0d94163e3de96e1c4bb389ef745756f30
Merge: 72853c4 3b0ec43
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Tue Oct 7 10:51:32 2014 +0200
Merge remote-tracking branch 'upstream/develop' into develop
commit 72853c4382fa1b51e384223da34427d3579fe48a
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Tue Oct 7 10:51:07 2014 +0200
corrected amount of used gas for CallToNameRegistratorOutOfGas
commit 3b0ec436e4c6808f98f1bc5bb5c66b4d2be4b4be
Merge: aec3252 222068b
Author: vbuterin <v@buterin.com>
Date: Tue Oct 7 05:52:43 2014 +0100
Merge pull request #15 from CJentzsch/develop
corrected tests and different style for storage
commit 222068b9bac6c386e499cb6b0fc2af562fcd309e
Merge: c169653 aec3252
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Mon Oct 6 21:17:28 2014 +0200
Merge remote-tracking branch 'upstream/develop' into develop
commit c1696531a646309b2b286abb7552eb05f1278cd1
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Mon Oct 6 21:17:09 2014 +0200
corrected tests and different style for storage
commit aec3252b8e9f6d37b5cf3dbe0c1678e08929d291
Merge: 25f9fd5 e17a909
Author: vbuterin <v@buterin.com>
Date: Mon Oct 6 09:39:46 2014 +0100
Merge pull request #14 from CJentzsch/develop
corrected gas limit in vmSystemOperationsTest
commit e17a909f70af18fbfc0216c061a663e8778e7d5c
Merge: 33fcab5 25f9fd5
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Mon Oct 6 10:31:51 2014 +0200
Merge remote-tracking branch 'upstream/develop' into develop
commit 33fcab57273731f449e9504d15c5d22cbe773e2a
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Mon Oct 6 10:30:04 2014 +0200
Bug fix, corrected gasLimit in vmSystemOperationsTest
commit 25f9fd542a4ab27a5a66668a72b84d4bf7c292e6
Author: Vitalik Buterin <v@buterin.com>
Date: Sat Oct 4 15:47:00 2014 -0400
one more vm test
commit 2d561a5373faf392e51f8c579c936549db2966d3
Author: Vitalik Buterin <v@buterin.com>
Date: Sat Oct 4 15:15:37 2014 -0400
separated out vmtests
commit b0c48fa8d69ae02e01931a5675fc58ff9e84aba3
Merge: cb8261a 6cae166
Author: vbuterin <v@buterin.com>
Date: Sat Oct 4 17:18:02 2014 +0100
Merge pull request #13 from CJentzsch/develop
Added comprehensive EVM test suite. All commands are tested.
commit 6cae166f6f1e3f4eaaef6a9036c597b6064b263a
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Wed Oct 1 15:34:23 2014 +0200
Delete tmp.json
commit 4ff906fbc271ee3aee3eb5db135e591eb187793a
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Wed Oct 1 14:06:32 2014 +0200
corrected CALLSTATELESS tests
commit 5b3fee6806a69545e572725add73c297e9473eee
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Mon Sep 29 13:08:44 2014 +0200
Completed vm tests. Added ADDMOD, MULMOD, POST, CALLSTATELESS
commit 9cdd2180833d98cf967929e07cab6638c2e933d0
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Sat Sep 27 21:48:09 2014 +0200
Added IOandFlowOperation-, PushDupSwap- and SystemOperations- tests. Removed empty storage from adresses.
commit 28ed968b46590bd8f3e5bb25606e8f83e0ee9b9e
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Tue Sep 23 15:49:22 2014 +0200
Added blockInfoTest
commit ffbd5a35b597d2908fa0fa37d9b2aeaf30aee155
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Tue Sep 23 15:37:52 2014 +0200
Added environmentalInfo- and sha3- test
commit 54c14f1ff3f7ec66d755181be32a13e0404110d9
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Mon Sep 22 13:06:57 2014 +0200
Added bitwise logic operation test
commit d0af113aab3991fecbde29933f4a77884fafdf60
Author: Christoph Jentzsch <jentzsch.software@gmail.com>
Date: Sat Sep 20 01:42:51 2014 +0200
Added vm arithmetic test
commit cb8261a78b56197e421bce5ac2afb7147f5acb45
Author: Jeffrey Wilcke <obscuren@users.noreply.github.com>
Date: Fri Sep 19 13:15:44 2014 +0200
Update genesishashestest.json
commit 4513623da1110e74a236abf0357ad00ff7a38126
Author: Maran <maran.hidskes@gmail.com>
Date: Tue Jul 22 12:24:46 2014 +0200
Update keyaddrtest to be valid JSON
commit e8cb5c221d4763c8c26ac73f99609b64a595f4b3
Author: Vitalik Buterin <v@buterin.com>
Date: Mon Jul 21 23:30:33 2014 -0400
Added next/prev trie test
commit 98823c04b30ef0be478c69a11edc3f9f6dff567e
Author: Vitalik Buterin <v@buterin.com>
Date: Mon Jul 14 02:51:31 2014 -0400
Replaced with deterministic test
commit 357eb21e4d5d9d6713ba7c63a76bd597a57d6a0e
Author: Vitalik Buterin <v@buterin.com>
Date: Sun Jul 13 16:12:56 2014 -0400
Added my own random and namecoin tests (pyethereum)
commit 00cd0cce8f0fc0ca8aa2c8ca424954d4932672f2
Author: Gav Wood <i@gavwood.com>
Date: Sat Jul 12 21:20:04 2014 +0200
Output hex strings.
commit ddfa3af45da9d5d81da38745ae23ee93ce390c2b
Author: Gav Wood <i@gavwood.com>
Date: Thu Jul 10 11:28:35 2014 +0100
Everything a string.
commit d659f469a9ddcdd144a332da64b826908b0f7872
Author: Gav Wood <i@gavwood.com>
Date: Thu Jul 10 10:16:25 2014 +0100
Code fixes.
commit 5e83ea82283f042df384d7ff20183ba51760d893
Author: Gav Wood <i@gavwood.com>
Date: Sun Jul 6 16:17:12 2014 +0200
Prettier VM tests.
commit a09aae0efe9a1cb94be3e0386532c532262956ec
Author: Gav Wood <i@gavwood.com>
Date: Sun Jul 6 15:46:01 2014 +0200
Fix VM tests.
commit ec9a044a17779f0b3814bffa8c058b4091d6d13d
Merge: 4bb6461 5e0123f
Author: Jeffrey Wilcke <obscuren@users.noreply.github.com>
Date: Fri Jul 4 15:56:52 2014 +0200
Merge pull request #10 from romanman/patch-1
Update vmtests.json
commit 5e0123fbe1573dcf8157995f3ef2f7ce625235a4
Author: romanman <roman.mandeleil@gmail.com>
Date: Fri Jul 4 10:23:04 2014 +0100
Update vmtests.json
commit 2b6da2f5f21b60ebca44a5866888b00f736f92b2
Author: romanman <roman.mandeleil@gmail.com>
Date: Thu Jul 3 17:45:04 2014 +0100
Update vmtests.json
arith testcase updated
commit 4bb646117d0034fb459c07e6955b1c9cca802fa9
Merge: bba3898 a33b309
Author: Gav Wood <i@gavwood.com>
Date: Wed Jul 2 19:43:22 2014 +0200
Merge branch 'develop' of github.com:/ethereum/tests into develop
commit bba38980bdfa6ba6fddf0419479ad2405a3cb079
Author: Gav Wood <i@gavwood.com>
Date: Wed Jul 2 19:43:06 2014 +0200
New tests.
commit a33b309d99b36c4c57083d5e77422c3f2bba4bbe
Author: Vitalik Buterin <v@buterin.com>
Date: Wed Jul 2 10:14:05 2014 -0400
Testing submodules
commit 50318217ca875d23147eddfa7cc0326242db90bf
Author: Vitalik Buterin <v@buterin.com>
Date: Wed Jul 2 10:10:46 2014 -0400
Testing submodules
commit 57fa655522fc9696adcc7a6a25b64afd569b0758
Author: Vitalik Buterin <v@buterin.com>
Date: Wed Jul 2 10:09:08 2014 -0400
Testing submodules
commit ea0eb0a8c82521322bd0359d1c42fc013c433d2e
Author: Gav Wood <i@gavwood.com>
Date: Tue Jul 1 15:19:34 2014 +0200
Latest genesis block.
commit 25bb76b69c90ebd44a271d7c180a4a4b86845018
Author: Jeffrey Wilcke <obscuren@users.noreply.github.com>
Date: Mon Jun 30 13:25:04 2014 +0200
Reset
commit 74c6d8424e7d91ccd592c179794bc74e63c0d8c0
Author: Jeffrey Wilcke <obscuren@users.noreply.github.com>
Date: Mon Jun 30 12:10:06 2014 +0200
Updated wrong test
commit 9ea3a60291f2ca68a54198d53e4c40fffb09f6b3
Author: Jeffrey Wilcke <obscuren@users.noreply.github.com>
Date: Sat Jun 28 18:48:28 2014 +0200
Fixed roots
commit 5fc3ac0e925cdfe95632024f574fb945558491b8
Author: Gav Wood <i@gavwood.com>
Date: Sat Jun 28 18:40:06 2014 +0200
Simple hex test.
commit edd3a00c2a8d78867d8bb1557697455729a03027
Author: Gav Wood <i@gavwood.com>
Date: Sat Jun 28 18:22:18 2014 +0200
Additional test for jeff. Now use the 0x... notation.
commit 5021e0dd83bdb8b23ca3dcc72293c6737e8165a8
Author: Gav Wood <i@gavwood.com>
Date: Fri Jun 27 21:35:26 2014 +0200
VM test framework updated.
commit c818d132022c228c5b04ab82871f5971049b0c6d
Author: Gav Wood <i@gavwood.com>
Date: Fri Jun 27 18:18:24 2014 +0200
Removed arrays from Trie tests JSON as per conformance guide and changed
vocabulary to match other tests.
VM test updates.
commit 714770ffb3bb037e2daeaa37a6f4f4066387abe3
Author: Gav Wood <i@gavwood.com>
Date: Wed Jun 11 11:32:42 2014 +0100
Added Gav's new address.
commit 9345bc13d40e6d288c37b650ace1db0c41a89d84
Merge: a2257f3 78576dd
Author: Gav Wood <i@gavwood.com>
Date: Fri May 30 17:50:38 2014 +0200
Merge branch 'master' of github.com:ethereum/tests into develop
commit a2257f3471dd4b472bc156be4575ea0f26a8a046
Author: Gav Wood <i@gavwood.com>
Date: Fri May 30 17:50:18 2014 +0200
VM tests.
commit 78576dd3d3d4bf46af19d703affdd42f221e49c9
Author: Heiko Heiko <heiko@heiko.org>
Date: Fri May 30 17:19:09 2014 +0200
changes based on new account structure nonce, balance, storage, code
commit 125839e84833ec25e0fdd4fbd545772ba706fe6b
Merge: 42e14ec 356a329
Author: Jeffrey Wilcke <obscuren@users.noreply.github.com>
Date: Thu May 22 09:58:45 2014 +0200
Merge pull request #5 from bkirwi/master
Fix invalid JSON (removed trailing comma) and add test names
commit 356a3296bc7eeac8b1b65aa843b5856cd786c4cf
Author: Ben Kirwin <ben@kirw.in>
Date: Thu May 22 00:20:48 2014 -0400
Add some arbitrary test names
This should now conform to the format specified in the README.
commit 42e14ec54fa57c2373625d21e5b47f597c748bf5
Author: Chen Houwu <chenhouwu@gmail.com>
Date: Wed May 21 23:27:40 2014 +0800
revert to correct data
commit 4300197a748de29cc5c93fd77f13cae029dad49e
Author: Chen Houwu <chenhouwu@gmail.com>
Date: Wed May 21 22:42:23 2014 +0800
fix: wrong sha3 hash because of the wrong rlp hex
commit a0d01b1a0b59555e38ea694ff864f2aa25a0d953
Author: Chen Houwu <chenhouwu@gmail.com>
Date: Wed May 21 22:29:53 2014 +0800
fix: wrong rlp hex
commit 6bc2fc74054a418e7cfca9cf9144237a5e4fa65f
Merge: 66bc366 c31a93c
Author: Jeffrey Wilcke <obscuren@users.noreply.github.com>
Date: Wed May 21 14:11:37 2014 +0200
Merge pull request #4 from ethers/master
fix file name that seems to have been a typo
commit c31a93c27a9048df92fcf53a2201c6e3737a40fd
Author: ethers <ethereum@outlook.com>
Date: Tue May 20 15:42:39 2014 -0700
fix file name that seems to have been a typo
commit 66bc3665c17e1eec309e5a40b2a9c74273fb639a
Author: Heiko Heiko <heiko@heiko.org>
Date: Tue May 20 17:36:35 2014 +0200
fix: represent integers as strings
commit ede5499da624d95db1cad63939be56f7bdaa6389
Author: Heiko Heiko <heiko@heiko.org>
Date: Tue May 20 17:21:09 2014 +0200
add: current initial alloc and genesis hashes
commit 5131429abbe6d2636064e17b45c99827a904c345
Author: Ben Kirwin <ben@kirw.in>
Date: Mon May 19 11:18:31 2014 -0400
Delete a comma
This should now be parseable as JSON.
commit f44a85933110dd3ef362090f512678e99ae80256
Author: Chen Houwu <chenhouwu@gmail.com>
Date: Sun May 18 15:04:42 2014 +0800
add: case when value is long, ensure it's not get rlp encoded as node
commit e1ae4ad4495dd13fba6346274971a8871cb32607
Author: Gav Wood <i@gavwood.com>
Date: Mon May 12 14:40:47 2014 +0100
PoC-5 VM tests.
commit 2b6c136dda0d55a0ebd228bff029d97411c9cec6
Author: Vitalik Buterin <v@buterin.com>
Date: Sun May 11 21:42:41 2014 -0400
Moved txt to json
commit cbccbf977ca7bde15a661a4b453ea062e62ac856
Merge: edbb8d4 45a0974
Author: Vitalik Buterin <v@buterin.com>
Date: Thu May 8 21:54:48 2014 -0400
New commit
commit edbb8d407ecfbcbb6504659cbd9bdabdb93369e3
Author: Vitalik Buterin <v@buterin.com>
Date: Tue May 6 16:53:43 2014 -0400
Removed unneeded test, added new tests
commit 45a0974f6f32511119e40a27042fdd571fe47a16
Merge: 15dd8fd 5fd2a98
Author: Gav Wood <i@gavwood.com>
Date: Sun Apr 27 12:53:47 2014 +0100
Merge pull request #3 from autolycus/develop
Fixed formatting and added test cases
commit 5fd2a98fcb4f6a648160204d1b20b0f980d55b9d
Author: Carl Allendorph <callendorph@gmail.com>
Date: Sat Apr 19 13:26:14 2014 -0700
Added some new test cases for the rlp encoding.
commit 4ba150954ef8ac72416a35f06fdad9c6d7ed461d
Author: Carl Allendorph <callendorph@gmail.com>
Date: Sat Apr 19 12:48:42 2014 -0700
Converted spaces to tabs to be compliant with the coding standards defined in cpp-ethereum
commit 15dd8fd794a0dc305ef7696d0c2a68e032bc9759
Author: Gav Wood <i@gavwood.com>
Date: Fri Feb 28 12:54:47 2014 +0000
RLP tests and Trie updates.
commit 33f80fef211c2d51162c1856e50448be3d90c214
Author: Gav Wood <i@gavwood.com>
Date: Fri Feb 28 11:39:35 2014 +0000
Hex encode tests done.
commit e1f5e12abb38f8cedb4a589b1347fb01c3da902a
Author: Gav Wood <i@gavwood.com>
Date: Fri Feb 28 11:22:49 2014 +0000
Fix RLP tests.
commit f87ce15ad201a6d97e2654e5dc5a3181873d1719
Author: Gav Wood <i@gavwood.com>
Date: Thu Feb 27 13:28:11 2014 +0000
Fix empty string.
commit c006ed4ffd7d00124dbcb44d4e7ca05d6d9ddc12
Author: Gav Wood <i@gavwood.com>
Date: Mon Feb 24 10:24:39 2014 +0000
Tests fix.
commit 510ff563639e71224306d9af0e50a28a9d624b8f
Author: Gav Wood <i@gavwood.com>
Date: Fri Feb 21 18:54:08 2014 +0000
Updated the tests.
commit a0ec84383218ea80b4c0b99e09710fae182a2379
Author: Gav Wood <i@gavwood.com>
Date: Fri Feb 21 18:49:24 2014 +0000
Moved over to new format, but RLP tests still need updating.
commit 660cd26f31b3979149950c1fdea995b85a774c1c
Author: Gav Wood <i@gavwood.com>
Date: Fri Feb 21 18:35:51 2014 +0000
More docs.
commit 6ad14c1a157e707fd15c87816e8ad872f69790db
Author: Gav Wood <i@gavwood.com>
Date: Fri Feb 21 18:33:39 2014 +0000
Added VM test suite.
Added TODO.
Renamed old files.
commit f91ad7b3857ec9157e7df7f315d942afb7594da0
Author: Vitalik Buterin <v@buterin.com>
Date: Wed Jan 8 11:26:58 2014 -0500
update trie algorithm
commit 6da295446203889ac5a4a365b397bb45766c9ad8
Merge: cc42246 131c610
Author: Vitalik Buterin <v@buterin.com>
Date: Wed Jan 8 08:15:38 2014 -0500
merge
commit cc4224675f1f70242f91ee7d2d1295bed6f0dc01
Author: Vitalik Buterin <v@buterin.com>
Date: Tue Jan 7 14:35:26 2014 -0500
Updated trie test
commit 131c610da66203f708391485aa42fc7a81f01ef7
Merge: 121632b 7613302
Author: vbuterin <v@buterin.com>
Date: Wed Jan 1 06:40:54 2014 -0800
Merge pull request #1 from obscuren/master
Update trietest.txt
commit 7613302b491b3f6406b1ea3c8292adf6d41860d0
Author: obscuren <obscuren@users.noreply.github.com>
Date: Wed Jan 1 15:25:21 2014 +0100
Update trietest.txt
New proposed explanatory format
commit 121632bedd1c84a0af847b923aa4b803556722c0
Author: Vitalik Buterin <v@buterin.com>
Date: Wed Jan 1 08:26:18 2014 -0500
Added obscure's tests
commit ef6c5506c3fcdecf779184ad81d92db9315c2488
Author: Vitalik Buterin <v@buterin.com>
Date: Tue Dec 31 19:04:48 2013 -0500
Fixed tests a bit
commit 345e4bcfefb45a66a09b1761570405a03c67b9d2
Merge: 2c81698 e4bbea4
Author: Vitalik Buterin <v@buterin.com>
Date: Tue Dec 31 15:52:46 2013 -0500
Merge branch 'master' of github.com:ethereum/tests
commit 2c81698f31e7e579335a2ab8706f96397a68f018
Author: Vitalik Buterin <v@buterin.com>
Date: Mon Dec 30 21:09:40 2013 -0500
Added first three tests
commit e4bbea400f7df275faf47ea643256d68495b35aa
Author: vbuterin <v@buterin.com>
Date: Mon Dec 30 18:09:03 2013 -0800
Initial commit
2014-12-12 11:34:27 +01:00
obscuren
2b5fcb4642
moved interfaces
2014-12-10 20:26:55 +01:00
obscuren
5553e5aaed
states moved to chain
2014-12-10 19:59:12 +01:00
obscuren
af6afbaa56
Removed start/stop methods
2014-12-10 16:48:39 +01:00
obscuren
1b98cbbfa4
Moved pow
2014-12-10 16:45:16 +01:00
obscuren
3308491c92
Removed tests because they've become obsolete
2014-12-10 00:09:32 +01:00
obscuren
acf4b5753f
Core changes
...
* Code = '' if gas < len(D) * 5
* Sha3 gas 10 + 10 * len(D), rounding up 32 bytes
* Sha256 gas 50 + 50 * len(D), rounding up 32 bytes
* Ripmed gas 50 + 50 * len(D), rounding up 32 bytes
* Accounts and value transfers no longer reverted
2014-12-09 20:27:57 +01:00
obscuren
9925916851
upped proto version and modified block pool
2014-12-05 16:26:39 +01:00
obscuren
d80f8bda94
Fixed issue in VM where LOG didn't pop anything of the stack
2014-12-05 12:32:47 +01:00
obscuren
8dbca75d85
Skip mining on transactions that don't meet the min accepted gas price
2014-12-04 23:54:07 +01:00
obscuren
a5b27bbc10
Improved and simplified wallet functions and behaviour
2014-12-04 16:44:43 +01:00
obscuren
73123bf257
Only set TD if it's actually higher
2014-12-04 15:35:21 +01:00
obscuren
296112848c
Moved block validation as first step
2014-12-04 15:13:29 +01:00
obscuren
008e91db6a
null ptr fix
2014-12-04 12:43:12 +01:00
obscuren
3043b233ea
Log is now interface
2014-12-04 12:35:23 +01:00
obscuren
bff5999efa
sort tests for evm
2014-12-04 12:09:22 +01:00
obscuren
f298ffdbb8
Renamed State => StateDB
2014-12-04 11:40:20 +01:00
obscuren
83663ed4b0
Renames for chain, updated VM, moved methods
...
* Renamed a couple more chain => core
* Updated VM `pc` to be uint64 rather than big int
* XEth interface cleanup
2014-12-04 10:53:49 +01:00
obscuren
9008b155d3
Renamed chain
=> core
2014-12-04 10:28:02 +01:00