465 Commits

Author SHA1 Message Date
andri lim
2c032ad1ab refactor utils 2019-02-27 13:30:18 +02:00
andri lim
282824cd53 zah's request: add missing comments 2019-02-18 13:16:04 +02:00
andri lim
c53e7fa07c fixes #228 2019-02-15 17:20:51 +02:00
andri lim
7c6c7dbe3a 'accountExist' to 'accountExists' 2019-02-06 18:42:03 +01:00
andri lim
4cc0ef427c add ccountExist and isDeadAccount to AccountStateDB 2019-02-06 18:42:03 +01:00
Yuriy Glukhov
481c6cf4ed Use nim-eth (#224) 2019-02-05 20:15:50 +01:00
andri lim
0c887b3711 move initializeEmptyDb to genesis.nim 2019-01-15 15:30:25 +02:00
Yuriy Glukhov
58ad0e472c Moved db backends to eth_trie 2019-01-13 15:31:59 +02:00
Ștefan Talpalaru
89044b84e7 update Nimbus header and refine db backend picking
- dynamically generated copyright year interval
- added the db backend to the header
- documented the db-backend-changing define, made it case insensitive
  and ensured wrong values would trigger compilation errors
2019-01-07 01:21:29 +02:00
andri lim
281b7dffac implement debug_setHead 2019-01-06 13:17:08 +02:00
andri lim
e78fb72ef6 fixes #188 2019-01-06 13:16:45 +02:00
andri lim
041ed689aa fix silly typo mistake 2019-01-06 11:43:38 +02:00
andri lim
96b18cfce3 add select_backend module 2019-01-06 11:43:38 +02:00
andri lim
0487720769 fix capturedb bug 2019-01-06 11:43:38 +02:00
andri lim
ab0fb7fdf0 fix getScore 32bit bug 2019-01-06 11:43:38 +02:00
andri lim
5fc134ac2a add lmdb backend 2019-01-06 11:43:38 +02:00
andri lim
a6bf970b1b some cleanup 2019-01-06 11:43:38 +02:00
Ștefan Talpalaru
048a43b2f1
better error handling
- added some useful `chronicles` defines in the top-level nim.cfg
- converted some assert() calls to error codes to avoid a reported
  segfault with -d:release
- the recoverable errors are being recovered from, in persistWorkItem()
- the only case that's a show stopper raises an exception
2018-12-17 23:36:38 +01:00
andri lim
9c0bb70ba7 working makeReceipt 2018-12-16 15:38:51 +02:00
andri lim
ad1202f98a initial make_receipt 2018-12-16 15:38:51 +02:00
andri lim
7a3ddfec87 correcting account storage retrieval 2018-12-05 22:01:29 +07:00
andri lim
c954dc7d62 fix tests 2018-12-05 22:01:29 +07:00
andri lim
5509c66cce implement transaction tracer 2018-12-05 22:01:28 +07:00
andri lim
a098285a7b put prune switch into usage 2018-12-05 21:58:34 +07:00
andri lim
21070d510d add TransactionKey to persistTransactions and add more fat to debug_traceTransaction 2018-11-28 09:25:36 +07:00
andri lim
161d6adbc7 implement persistTransactions and getBlockBody 2018-11-24 08:00:58 +07:00
Dustin Brody
d97cc50afc fix eth_trie/constants missing compile error 2018-10-19 07:44:08 -07:00
Zahary Karadjov
41adca1abb Minimal changes required for building the LES branch 2018-10-16 03:10:01 +03:00
Zahary Karadjov
343cc4fa43 Populate the persistent databases with the empty RLP key.
Also implements transactional block persistence. Two issues
in the transaction processing code have been discovered that
might affect other usages such as the CALL instruction.

The main fix gets us past block 49000.

You may need to clean up your database.
2018-10-05 03:36:48 +03:00
Zahary Karadjov
74f6f0b738 Deal with the refactoring in status-im/nim-rlp#20 2018-09-26 12:58:23 +03:00
Zahary Karadjov
5c0fd16448 Fix an issue with the Sqlite3 tests (the in-memory DB was not properly used) 2018-09-25 16:01:38 +03:00
Zahary Karadjov
4e323df363 Implement a --datadir command-line options
By default, the database files will be written in the
platform-specific application data folder:

$HOME/AppData/Roaming/Nimbus/DB
$HOME/Library/Application Support/Nimbus/DB
$HOME/.cache/nimbus/db
2018-09-25 02:06:20 +03:00
tersec
690ce2cf97
Partly fix state_db getCode for 20 new working GeneralStateTests (#156)
* partly fix state_db getCode to get 20 new working GeneralStateTests; remove 2 functions which existed as workarounds; switch all remaining setBalance calls in GeneralStateTestRunner to subBalance (addBalance calls already changed)

* two of the 20 new tests don't work in 32-bit builds
2018-09-20 21:36:57 +00:00
Yuriy Glukhov
0adfaf0f31 s/increaseBalance/addBalance 2018-09-19 18:41:17 +03:00
Yuriy Glukhov
3d64c66b7a More state restoring 2018-09-19 18:41:17 +03:00
coffeepots
4f03c9cf2a
Merge pull request #139 from status-im/callOpCodeWork
Flesh out call op
2018-09-18 14:09:00 +01:00
Dustin Brody
beb1befc6e 13 additional GeneralStateTests working; remove commented auto-ported Py-EVM validations which are implicit in UInt256; address comments to last commit (toSeq, hoising vmState.readOnlyStateDB, deltaBalance -> increaseBalance) 2018-09-17 13:41:32 +00:00
Zahary Karadjov
409d875beb Some helpers for tracing and debugging Trie issues (the code is no-op by default) 2018-09-16 00:20:20 +03:00
coffeepots
213aebde7d Update some comments, adding TODO item for getStateDb 2018-09-14 16:16:55 +01:00
Dustin Brody
7ba90fda54
48 new working GeneralStateTests, via fixing some overflows/underflows, creating a rudimentary balance commit/revert scheme, and implementing account deletion for the selfdestruct instruction (#146) 2018-09-14 13:43:40 +00:00
Yuriy Glukhov
62260c786d Caching DB backend 2018-09-12 17:53:15 +03:00
Yuriy Glukhov
3a1ec035b3 Various fixes towards state reconstruction 2018-09-07 14:00:37 +03:00
coffeepots
12834fba12
Merge branch 'master' into createOpContractAddr 2018-09-04 16:37:43 +01:00
Dustin Brody
4262ea8670 fix (1) overflow/signed confusion when reading large-valued storage entries; (2) adjust test fixture validity for GeneralStateTests; (3) remove incorrect usage of state trie for code (not codehash) storage; add ability to display state; (4) avoid double-hashing keys for already-hashed SecureHexaryTrie for storage; (5) add intentionally local workaround for empty code in GeneralStateTest fixtures lacking 0x prefix; (6) fix nonce parsing, which is always hex string in test fixtures 2018-09-04 17:55:30 +03:00
coffeepots
7ed2403c5c Add hasCodeOrNonce 2018-09-03 19:24:55 +01:00
coffeepots
1427d59f27 Change setNonce, getNonce to use AccountNonce, which is uint64 from UInt256 2018-09-01 16:03:06 +03:00
Jacek Sieka
db202dc35f
replace logging module with nim-chronicles (fixes #38)
This blindly changes logging to nim-chronicles - issues that ensue:

* keeps gas cost computation logs hidden behind flag
* unclear if logScope is practical - for example, since vm is split over
many files, topics get lost when using simple top-level per-module
topics
* when passing named object around, scope should incliude the name of
the object but this is caught neither by logScope nor by dynamicLogScope
2018-08-29 16:13:03 -06:00
Yuriy Glukhov
e3be8ca30a Separate Chain from ChainDB 2018-08-29 11:49:01 +03:00
coffeepots
67e9f47ac5 Add getTransactionKey 2018-08-21 13:33:37 +01:00
Yuriy Glukhov
55b5dbd719 Raise KeyError when key not found 2018-08-14 18:40:59 +03:00