jangko
baf508f6ae
move stateDB from VMState to chainDB
...
previously, every time the VMState was created, it will also create
new stateDB, and this action will nullify the advantages of cached accounts.
the new changes will conserve the accounts cache if the executed blocks
are contiguous. if not the stateDB need to be reinited.
this changes also allow rpcCallEvm and rpcEstimateGas executed properly
using current stateDB instead of creating new one each time they are called.
2021-10-28 18:57:08 +07:00
jangko
44394d9ffd
fixes nimbus evm tracer, add missing networkParams when constructing chainDB
2021-09-26 10:45:52 +07:00
jangko
a3badea928
config: fix new config based on input from jamie and zahary
2021-09-18 17:34:51 +07:00
jangko
69f2a0f95a
config: replace stdlib parseOpt with nim-confutils
...
fixes #581
2021-09-18 17:34:46 +07:00
jangko
48d497580a
config: remove last instance of getConfiguration usage from nimbus code
...
this is a preparation for migration to confutils based config
although there is still some getConfiguration usage in tests code
it will be removed after new config arrived
2021-09-08 21:25:14 +07:00
Kim De Mey
e37bafd47e
Add a first, simple, content network test ( #760 )
...
* Add a first, simple, content network test
* Use sqlite as nimbus_db_backend for fluffy tests
* Fix backend selection for sqlite
2021-07-15 15:12:33 +02:00
Jordan Hrycaj
491149c6d5
Eip225 clique/PoA consensus protocol
...
details:
formal port from go-lang sources, compiles but will not do anything
useful yet
2021-06-17 08:03:57 +01:00
jangko
a0d10f5728
drop PublicNetwork enum usage and replace it with NetworkId
...
we cannot limit the `--networkid` switch to values available in
`PublicNetwork` enum. it should able to accept very wide range of
custom NetworkId.
2021-05-20 14:04:16 +07:00
jangko
f2491e6307
fixes crappy custom genesis and chain config parser
...
instead of using stdlib/json, now we switch to json_serialization
the result is much tidier code and more robust when parsing
optional fields.
fixes #635
2021-05-13 16:04:08 +07:00
jangko
f6a0e4bcbd
fixes wrong usage of `chainId` in places where it should be networkId
...
fixes #643
2021-05-12 09:45:09 +07:00
jangko
82d4f6a2d4
fixes getReceipts proc signature in db_chain.nim
...
instead of using header as input param, now getReceipts using
receiptRoot hash, the intention is clearer and less data passed around
when we only using receiptRoot instead of whole block header.
2021-04-24 10:51:05 +07:00
jangko
1728dd8d54
fix getTransactionCount bug in db_chain.nim
...
getTransactionCount will always return 0 because the txCount
variable is not returned
2021-04-24 10:47:37 +07:00
jangko
3db535aa39
EIP2929 implementation
2021-01-11 14:56:42 +07:00
jangko
f2b483d6ad
access list implementation
2021-01-11 14:54:55 +07:00
jangko
f987e86562
implement more eth rpc
2020-07-30 14:21:11 +07:00
jangko
c9802edfce
setup block and state env for more complex eth rpc tests
2020-07-28 23:48:45 +07:00
jangko
f82dff64fa
implement more eth rpc and keystore management
2020-07-23 14:54:32 +07:00
jangko
336efdb0c3
implement web3, net, and some eth namespace rpc
2020-07-22 23:57:55 +07:00
jangko
165f9fea2e
reduce warnings
2020-07-21 13:15:06 +07:00
jangko
9d0b399213
fix accounts_cache: move overlayStorage to originalStorage when not clearCache
2020-06-20 18:45:09 +07:00
jangko
bd7e1fe2e5
reuse VMState and AccountsCache for better performance
2020-06-18 13:16:38 +07:00
jangko
eabacb0a33
allow nimbus to read geth database
2020-06-18 13:16:25 +07:00
jangko
50816f2ebb
implement block witness data collection in accounts_cache
2020-06-03 20:50:13 +07:00
jangko
844071033a
fix at various places related to missing accounts_cache.persist call
2020-06-01 13:45:32 +07:00
jangko
8a4c8c6273
fix buggy isAlive from accounts_cache
2020-06-01 10:54:25 +07:00
jangko
71514a0a66
replace state_db with accounts_cache
2020-05-30 10:14:59 +07:00
andri lim
c9e49bf68a
fix accounts cache init API
2020-04-29 12:00:44 +07:00
Jacek Sieka
ed7dbab70f
db: use kvstore from nim-eth
2020-04-27 18:40:45 +03:00
Jacek Sieka
4ade5797ee
rlp: don't use ranges / experimental features ( #495 )
2020-04-20 20:12:44 +02:00
andri lim
edc19076e3
accounts cache: read-only operations should not create new account
2020-02-27 14:38:42 +02:00
andri lim
2fbabd25a4
implement aleth/geth/parity compatibility mode -- 100% pass test
2020-02-20 09:08:44 +02:00
andri lim
16a938d3fa
fixes clearStorage bug
2020-01-20 18:36:58 +02:00
andri lim
5f24757cd7
use 'withValue' when retrieving account's storage
2020-01-19 19:17:37 +02:00
andri lim
cf0d4481f3
[skip ci] rename 'isExists' to 'exists'
2020-01-19 19:17:37 +02:00
andri lim
727b477fca
[skip ci] add accounts cache test
2020-01-19 19:17:37 +02:00
andri lim
5795bf52e0
[skip ci] implement accounts_cache
2020-01-19 19:17:37 +02:00
andri lim
1ffb992674
multi root state trie implementation
2019-12-10 12:34:48 +02:00
andri lim
97e89b3afe
implement 'getCommittedStorage'
2019-11-14 10:11:35 +00:00
andri lim
c4dcf5da30
reduce compiler warnings
2019-11-13 21:49:39 +07:00
andri lim
61f340ae87
implement EIP2200's SSTORE and gas cost
2019-11-12 15:51:48 +00:00
andri lim
3ad465d169
implement block validation and friends
2019-09-26 12:33:43 +03:00
Jacek Sieka
2763bd0dd5
std_shims -> stew
2019-07-07 12:12:01 +02:00
andri lim
4a7f58c7dc
implement constantinople bitwise opcode
2019-05-13 10:26:28 +03:00
andri lim
85d9bd3958
implement EIP158, GST -4 +81
2019-04-17 11:03:52 +07:00
andri lim
8a9e4aba80
apply dao fork changes
2019-04-07 06:53:26 +07:00
andri lim
f2f92f5608
fix block 1.487.668 problem: getScore int overflow
2019-04-05 16:29:05 +07:00
Ștefan Talpalaru
a67edd693a
assert() -> doAssert()
2019-03-13 22:36:54 +01:00
andri lim
e2311d798b
fix recurring symbol collision problem
2019-03-07 22:53:09 +07:00
andri lim
200f93a3b7
refactor incNonce
2019-02-27 13:30:18 +02:00
andri lim
2c032ad1ab
refactor utils
2019-02-27 13:30:18 +02:00