jangko
9c38266ba7
implement eth_estimateGas
2020-07-29 12:42:32 +07:00
jangko
c9802edfce
setup block and state env for more complex eth rpc tests
2020-07-28 23:48:45 +07:00
jangko
bb89a296dd
implement eth_signTransaction, eth_sendTransaction, eth_sendRawTransaction, eth_call
2020-07-24 19:44:36 +07:00
jangko
7819dae7ce
implement eth_signTransaction
2020-07-23 22:30:42 +07:00
jangko
d200a98a68
fix compilation error
2020-07-23 16:01:19 +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
032c29288a
fix git revision string in config.nim
2020-07-22 18:40:12 +07:00
jangko
6ffb33ccac
cleanup sstore gasCost
2020-07-21 20:13:58 +07:00
jangko
2f3a22d840
fix evmc_host.set_storage
2020-07-21 19:58:17 +07:00
jangko
04dcec03a3
fix missing import when chronicles enabled
2020-07-21 15:12:59 +07:00
jangko
207065746c
reduce more warnings
2020-07-21 13:25:27 +07:00
jangko
165f9fea2e
reduce warnings
2020-07-21 13:15:06 +07:00
jangko
ab5c763a84
move rng to configuration
2020-07-21 00:16:59 +07:00
jangko
9ee04efca4
fix random_keys crash
2020-07-20 15:16:34 +07:00
jangko
845671bf0a
fix compilation error following breaking changes in nim-eth
2020-07-20 13:50:05 +07:00
jangko
e37cacd8f1
implement forkid calculation and tests for each supported network
2020-07-04 13:23:09 +07:00
jangko
12ddfee675
fix compilation error related to lib-secp256k1 changes
2020-06-24 17:07:33 +07:00
jangko
438ad832cc
fix rpc/p2p.nim
2020-06-22 10:59:24 +07:00
jangko
f401622782
cache miner address instead of recalculation
2020-06-22 07:48:23 +07:00
jangko
9d0b399213
fix accounts_cache: move overlayStorage to originalStorage when not clearCache
2020-06-20 18:45:09 +07:00
jangko
2385df7bae
miner address calculation for PoA consensus engine
2020-06-19 20:24:09 +07:00
jangko
3931c1ff5c
fix tracer to support testnet
2020-06-19 17:51:53 +07:00
jangko
bd7e1fe2e5
reuse VMState and AccountsCache for better performance
2020-06-18 13:16:38 +07:00
jangko
49460b6b1e
move buildWitness from test_blockchain_json to vm_state
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
7c026e1b48
modify VMState to enable witness data collection
2020-06-06 10:05:11 +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
Ștefan Talpalaru
cf2a6fb621
small NimbusState refactoring
2020-05-21 03:33:11 +02:00
kdeme
769228418e
Remove wakunode and waku rpc code from repository
2020-05-07 20:49:14 +03: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
5b7742d09b
Merge pull request #490 from status-im/reduce_warning
...
reduce unused import warnings
2020-04-16 10:05:18 +07:00
Ștefan Talpalaru
a783b096fe
bump vendor/nimbus-build-system ( #491 )
...
* bump vendor/nimbus-build-system
- add the Nim compiler header to the Nimbus header
- also support the USE_LIBBACKTRACE env var
* "go-checks" target no longer available
2020-04-16 00:21:58 +02:00
andri lim
af02a3b1b2
reduce unused import warnings
2020-04-15 19:05:57 +07:00
andri lim
860d8e9705
fix rpc/p2p
2020-04-13 09:41:18 +07:00
andri lim
d2b0ca62b2
fix GlacierMuir to MuirGlacier typo
2020-04-12 18:13:22 +07:00
andri lim
87bae2bb78
switch to new toFork
2020-04-12 18:02:59 +07:00
andri lim
e324a7342d
move toFork to config.nim
2020-04-12 17:07:09 +07:00
andri lim
a864967c4f
more to update chain config [skip ci]
2020-04-11 16:59:46 +07:00
andri lim
6591893158
change FkGlacierMuir to FkMuirGlacier [skip ci]
2020-04-11 16:02:15 +07:00
andri lim
d69ede6060
add goerli testnet genesis data[skip ci]
2020-04-09 19:13:17 +03:00
andri lim
03eb7a3c2a
Merge pull request #485 from status-im/fix_testnet_config
...
fix testnet config, disable 'daoForkSupport' for 'Ropsten' and 'Rinkeby'
2020-04-09 10:53:22 +07:00
Ștefan Talpalaru
af89b51503
Merge branch 'master' into nim-1.2
2020-04-08 20:16:37 +02:00
andri lim
1ad0dcd586
fix testnet config
2020-04-08 16:53:26 +07:00
Jacek Sieka
c1899711c9
keep up with nim-eth ( #483 )
...
* keep up with nim-eth
2020-04-07 11:53:50 +02:00
Jacek Sieka
1d472cf090
Eth keys ( #482 )
...
* bump nim-eth, fix deprecated calls
2020-04-05 15:12:48 +02:00
Zahary Karadjov
3fc3ba925e
Compile Nimbus with Nim 1.2
2020-04-03 22:09:14 +03:00
jangko
32f5fd9b90
fix evmc sstore gas cost related to EIP 1283
2020-03-24 17:21:18 +07:00
jangko
b5850ca748
fix evmc compilation issue
2020-03-24 17:21:18 +07:00
andri lim
266e0ddb1e
room for EIP-1283
2020-03-24 17:21:13 +07:00
andri lim
edc19076e3
accounts cache: read-only operations should not create new account
2020-02-27 14:38:42 +02:00
andri lim
40a7b7da1b
fixes glacier muir block reward
2020-02-20 09:21:35 +02:00
andri lim
6b6584c4d0
Glacier Muir update
2020-02-20 09:21:35 +02:00
andri lim
2fbabd25a4
implement aleth/geth/parity compatibility mode -- 100% pass test
2020-02-20 09:08:44 +02:00
andri lim
15c9fa54ec
fixes modexp gasFee bug
2020-02-18 20:11:36 +02:00
kdeme
55fb1294ed
Check all subscribed topics in quicksim + bump vendor/nim-eth
2020-02-14 11:36:37 +01:00
andri lim
deb09f40f0
less explicit 'copyMem'
2020-02-12 17:53:26 +02:00
andri lim
7c9f6b48d6
unify Nimbus 'call' and EVMC 'call'
2020-02-12 17:53:26 +02:00
andri lim
0686bb4b6e
remove legacy unused code
2020-02-12 17:53:26 +02:00
andri lim
3ef2969583
clear picture on EIP 716 issue
2020-02-12 17:53:26 +02:00
andri lim
dc3a897851
implement evmc call
2020-02-12 17:53:26 +02:00
andri lim
9477990897
simplify CALL family impl
2020-02-12 17:53:26 +02:00
andri lim
fff35ab01d
implement evmc create/create2
2020-02-12 17:53:26 +02:00
andri lim
270854a5aa
simplify 'gasUsed' and 'refundGas'
2020-02-12 17:53:26 +02:00
andri lim
d9991b1e8b
simplify cash
2020-02-12 17:53:26 +02:00
andri lim
109f841a9e
simplify returnData logic
2020-02-12 17:53:26 +02:00
andri lim
22dff9ff88
remove 'startGas' from 'gasMeter'
2020-02-12 17:53:26 +02:00
andri lim
1cd9353faa
simplify computation
2020-02-12 17:53:26 +02:00
andri lim
8564e9532b
change 'rawOutput' to 'output'
2020-02-12 17:53:26 +02:00
andri lim
f850c4a37b
put 'sstoreEvmc' behind 'when evmc_enabled'
2020-02-12 17:53:26 +02:00
kdeme
b959b14109
Update to use waku topic-interest
2020-02-07 08:59:19 +01:00
andri lim
55494f06e5
move 'validateTransaction' from GST into 'processTransaction'
2020-01-24 19:52:55 +07:00
Kim De Mey
a2478baeff
Merge pull request #446 from status-im/waku-queue-fixes
...
Bump vendor/nim-eth for waku/whisper queue fixes
2020-01-23 22:50:12 +01:00
andri lim
95edc54b46
fixes gcsafe overrides and reduce unnecessary evmc conversion
2020-01-23 18:07:44 +02:00
andri lim
18eb255758
convert 'block' into 'if-else' in evmc 'setStorage'
2020-01-23 18:07:44 +02:00
andri lim
9b1f8e2f65
change 'registerAccountForDeletion' to 'execSelfDestruct'
2020-01-23 18:07:44 +02:00
andri lim
d656f7f701
rename 'txContext' to 'setupTxContext'
2020-01-23 18:07:44 +02:00
andri lim
933b2dad78
remove code from EVM Message and load code in 'Computation'
2020-01-23 18:07:44 +02:00
andri lim
577c7ca5aa
simplify 'execComputation'
2020-01-23 18:07:44 +02:00
andri lim
83e9debb62
move contract address creation to 'Computation'
2020-01-23 18:07:44 +02:00
andri lim
ea4f851f80
move create contract incNonce to 'applyMessage'
2020-01-23 18:07:44 +02:00
andri lim
ec8abf40e4
move 'tx.getRecipient' into 'setupComputation'
2020-01-23 18:07:44 +02:00
andri lim
37c282f1b9
fixes evmc 'gasRefund'
2020-01-23 18:07:44 +02:00
andri lim
c459879647
only import evmc files when 'evmc_enabled' defined
2020-01-23 18:07:44 +02:00
andri lim
4aa209113a
integrate evmc 'setStorage'
2020-01-23 18:07:44 +02:00
andri lim
62f96e9bd4
integrate evmc 'emitLog'
2020-01-23 18:07:44 +02:00
andri lim
bf7b4c7273
fixes evmc 'selfDestruct' definition
2020-01-23 18:07:44 +02:00
andri lim
3e384f764d
fixes evmc 'accountExists' definition
2020-01-23 18:07:44 +02:00
andri lim
64f0e59487
evmc_enabled compile time flags
2020-01-23 18:07:44 +02:00
andri lim
295d2c180b
integrate evmc 'selfDestruct' and 'copyCode'
2020-01-23 18:07:44 +02:00
andri lim
8a9d9114e7
integrate evmc 'getCodeHash'
2020-01-23 18:07:44 +02:00
andri lim
5507e80b63
integrate evmc 'getCodeSize'
2020-01-23 18:07:44 +02:00
andri lim
8c53371c49
integrate evmc 'getBalance'
2020-01-23 18:07:44 +02:00
andri lim
fdbc888840
integrate evmc 'getStorage'
2020-01-23 18:07:44 +02:00
andri lim
a4a1148a45
integrate evmc 'accountExists'
2020-01-23 18:07:44 +02:00
andri lim
1813579bc4
integrate evmc 'getBlockHash'
2020-01-23 18:07:44 +02:00
andri lim
319e5d8ae9
integrate evmc 'getTxContext'
2020-01-23 18:07:44 +02:00
andri lim
e25f2bb82f
evmc host implementation
2020-01-23 18:07:44 +02:00
kdeme
4ec126afaf
More cosmetic changes
2020-01-23 15:40:41 +01:00
andri lim
e8ec1706ed
fixes rpc compilation error
2020-01-23 12:39:36 +02:00
Zahary Karadjov
d23a33a80c
Cosmetic improvements
2020-01-23 12:39:36 +02:00
kdeme
ca6890b026
Change Waku RPC methods prefix
2020-01-23 12:39:36 +02:00
kdeme
d56655d278
Move WhisperKeys to KeyStorage
2020-01-23 12:39:36 +02:00
kdeme
776f924e39
Small fixes/improvements
2020-01-23 12:39:36 +02:00
kdeme
56f46357e6
Generate and use random topics in waku simulation
2020-01-23 12:39:36 +02:00
kdeme
ed79c4dfdc
Add quick waku simulation with hardcoded network
2020-01-23 12:39:36 +02:00
kdeme
8c3595ff94
Bump vendor/nim-eth and fix changes
2020-01-23 12:39:36 +02:00
kdeme
6e4b73b562
Fix bloom filter of a new Waku/Whisper filter and update automatically for light node
2020-01-23 12:39:36 +02:00
kdeme
c3aeb15ce5
Introduce WakuMode
2020-01-23 12:39:36 +02:00
kdeme
7b80b313e4
Start implementation of waku node
2020-01-23 12:39:36 +02:00
andri lim
c1ef8632b2
move fork and gasCosts from Computation to vmState
2020-01-20 18:36:58 +02:00
andri lim
bab359cabf
move origin and gasPrice from Message to vmState
2020-01-20 18:36:58 +02:00
andri lim
d300bc352d
fixes balance transfer for CALL and CALLCODE
2020-01-20 18:36:58 +02:00
andri lim
73c60fe694
unifying contract collision detection
2020-01-20 18:36:58 +02:00
andri lim
16a938d3fa
fixes clearStorage bug
2020-01-20 18:36:58 +02:00
andri lim
89d1834d52
consistent evm depth call check
2020-01-20 18:36:58 +02:00
andri lim
009aa35dfb
remove unused eraseReturnData
2020-01-20 18:36:58 +02:00
andri lim
52fffa6e25
fixes long standing bug create2nocash
2020-01-20 18:36:58 +02:00
andri lim
63e886655b
fixes coinbase suicide bugs
2020-01-20 18:36:58 +02:00
andri lim
0b99b76cd1
change 'BaseComputation' to 'Computation'
2020-01-20 18:36:58 +02:00
andri lim
79df931234
simplifies computation.getFork
2020-01-20 18:36:58 +02:00
acolytec3
45cda8bab0
Add support for custom genesis blocks
2020-01-20 06:35:35 -05:00
andri lim
5f24757cd7
use 'withValue' when retrieving account's storage
2020-01-19 19:17:37 +02:00
andri lim
6066028d06
remove duplicate line
2020-01-19 19:17:37 +02:00
andri lim
e4db21272c
fixes rpc/p2p.nim compilation error
2020-01-19 19:17:37 +02:00
andri lim
d30f434f03
get rid of computation child after execution
2020-01-19 19:17:37 +02:00
andri lim
ed62d1e217
[skip ci] more collectTouchAccounts reduction
2020-01-19 19:17:37 +02:00
andri lim
5e6018b20b
[skip ci] collectTouchedAccounts reduction
2020-01-19 19:17:37 +02:00
andri lim
20a138c270
[skip ci] change 'accountsToDelete' to 'touchedAccounts'
2020-01-19 19:17:37 +02:00
andri lim
2472662057
[skip ci] simplify rootHash usage
2020-01-19 19:17:37 +02:00
andri lim
d37e37e5f3
[skip ci] simplify collectTouchedAccounts logic
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
8f7597e23b
[skip ci] add evmc CallKind to EVM Message
2020-01-19 19:17:37 +02:00
andri lim
836e087984
[skip ci] change storageAddress to contractAddres
2020-01-19 19:17:37 +02:00
andri lim
40ddbca1ee
[skip ci] simplify EVM message creation
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
3c33678949
add comment about evmc and touched accounts
2019-12-20 16:46:03 +02:00
andri lim
7be6a4ea63
gather suicides from child to parent computation
2019-12-20 16:46:03 +02:00
andri lim
9cb98d69ba
accumulate refundGas after child computation done
2019-12-20 16:46:03 +02:00
andri lim
9dbcc7bb69
improve comment in 'processBlock'
2019-12-10 12:34:48 +02:00
andri lim
1ffb992674
multi root state trie implementation
2019-12-10 12:34:48 +02:00
kdeme
9aae2f9463
No more blind except
2019-12-05 13:02:21 +01:00
kdeme
9964a55772
Replace getCurrentException
2019-12-05 13:02:21 +01:00
andri lim
93f6b99087
fixes #424
2019-11-23 20:41:10 +07:00