jangko
f987e86562
implement more eth rpc
2020-07-30 14:21:11 +07:00
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
andri lim
0d743dc468
fixes 'collectTouchedAccounts' for Istanbul
2019-11-19 16:14:36 +07:00
andri lim
28514dbb28
fixes EIP2200 sentry gas comparison
2019-11-18 20:48:30 +07:00
andri lim
11f67f87fd
fixes EIP2200 gas cost and refund
2019-11-18 20:33:10 +07:00
andri lim
d61bb49a40
fixes gas_costs for istanbul
2019-11-14 22:27:24 +07: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
c0c62b94b8
implement EIP-2200 stub
2019-11-12 15:51:48 +00:00
andri lim
b5e8a8d61b
implement 'chainId' opcode
2019-11-12 15:51:48 +00:00
andri lim
1e4f290cc6
implement 'selfBalance' opcode and gas cost
2019-11-12 15:51:48 +00:00
andri lim
4fbc9727d8
revert accidentally changed GasQuadDivisor
2019-11-12 15:51:48 +00:00
andri lim
1937fd700d
implement EIP-2028
2019-11-12 15:51:48 +00:00
andri lim
4cf3931f34
add istanbul block reward
2019-11-12 15:51:48 +00:00
andri lim
078375061b
implement EIP 1884 stub
2019-11-12 15:51:48 +00:00
andri lim
0bb6c73bdb
implement EIP 1344 stub
2019-11-12 15:51:48 +00:00
andri lim
cda3e2811f
implement EIP 1108
2019-11-12 15:51:48 +00:00
andri lim
b3cbf620d6
implement EIP-152
2019-11-12 15:51:48 +00:00
andri lim
3dbf41aac8
adding FkIstanbul to vm_forks gas_costs
2019-11-12 15:51:48 +00:00
Ștefan Talpalaru
5a18227562
add Git revision to NimbusHeader
2019-11-10 18:44:40 +01:00
Ștefan Talpalaru
c1621a518b
bump vendor/nim-metrics
2019-11-10 18:28:55 +01:00
andri lim
dec3c7baee
fixes 32bit problem
2019-10-28 22:21:41 +07:00
Ștefan Talpalaru
70bcce2132
a couple of Nim 1.0.2-related fixes
2019-10-28 22:21:20 +07:00
andri lim
26ee138ea5
fixes GST regression
2019-09-26 12:33:43 +03:00
andri lim
a65ab2763e
fixes generateHeaderFromParentHeader
2019-09-26 12:33:43 +03:00
andri lim
12960c27ce
fixes coinBase suicide
2019-09-26 12:33:43 +03:00
andri lim
e63a43ee9f
fixes getAncestorHash
2019-09-26 12:33:43 +03:00
andri lim
b189e1604f
fixes gasLimitBounds
2019-09-26 12:33:43 +03:00
andri lim
9cba2c9cc0
fix validateGasLimit
2019-09-26 12:33:43 +03:00
andri lim
3ad465d169
implement block validation and friends
2019-09-26 12:33:43 +03:00
andri lim
12ea5247d6
execute transactions
2019-09-26 12:33:43 +03:00
andri lim
45059957d0
completing generateHeaderFromParentHeader implementation
2019-09-04 19:05:21 +02:00
andri lim
a1c21722dd
more flexible calcDifficulty
2019-09-04 19:05:21 +02:00
andri lim
31ed8fcf83
refine transaction validation
2019-08-29 20:44:54 +07:00
andri lim
230fb4b06d
activates test
2019-08-29 19:57:01 +07:00
andri lim
54b56ca722
fixes intrinsicGas
2019-08-29 19:54:52 +07:00
andri lim
7c094a2a3e
initial implementation of transaction test
2019-08-29 19:54:38 +07:00
andri lim
5a92f1faf1
less DRY
2019-08-26 21:39:41 +07:00
andri lim
0bad132387
add diffficulty test
2019-08-26 21:26:57 +07:00
andri lim
60b3ac15d6
simplify 'calldataload' implementation
2019-08-20 16:26:27 +07:00
andri lim
e675182506
fixes 32 bit problem in test_helpers.nim and transaction_tracer.nim
2019-08-19 20:41:27 +03:00
kdeme
1e716a960a
Refactor bootnodes and whispernodes
2019-08-16 08:51:40 +02:00
Yuriy Glukhov
4f0404fa2d
Reuse transaction utils from eth-common
2019-08-13 17:52:41 +03:00
andri lim
6ac750551e
'SAR' opcode uses new 'shr' from stint
2019-08-13 17:51:10 +03:00
andri lim
74d68ea425
fixes #72 , simplify SDIV implementation
2019-08-13 17:48:25 +03:00
Ștefan Talpalaru
1d7e14dc1b
refactor the C and Go wrapper build system
...
- moved "nimbus/api" to "wrappers"
- renamed files
- replaced the build scripts with Makefile targets
- set the rpath relative to the test binary's location so it can look
for libnimbus.so there at runtime
- libnimbus.so.0 required on Linux, apparently
- compiled all the Nimbus code with `--app:lib`, not just one file (this
required skipping a proc in "nimbus/config.nim" because it uses an API
that's unavailable in libraries)
- removed static linking from the Go wrapper. It doesn't make sense at a
global level, when using a shared Nimbus library. To selectively link
static libraries, we should probably be specifying them as *.a. I did
build a static libnimbus.a, as a test, but it insisted on dlopen-ing a
shared version of itself which looked too ugly to continue.
2019-08-02 18:13:47 +02:00
Jacek Sieka
3c2daa8b80
Expose simple whisper api to C / go ( #331 )
...
* dummy c lib
* go stuffz
* Compile secp
* Compile as shared library
* Build with debug info
* Prelude exposed fns with setupForeignThreadGc() (naive)
To avoid GC/thread issues causing segmentation fault when running from Go.
* Add logging, fix lib path and gomaxprocs to make debuggable
* lock to os thread
* Address basic feedback and mark TODOs
* Use normal secp (shared lib flow now)
* api: cleanup, move to api folder
2019-07-31 10:05:22 +02:00
kdeme
f2f2f57040
Add new bootnodes ( #353 )
...
* Add new bootnodes and remove legacy bootnodes
* Clean-up network selection
2019-07-30 11:00:55 +02:00
Ștefan Talpalaru
356a7cad84
show a message on Ctrl+C
2019-07-20 01:40:31 +02:00
kdeme
1a3a29c419
Make EVMError Catchable and only catch CatchableError in the execPrecompiles
2019-07-19 15:18:25 +03:00
kdeme
f6d784c8b0
Rework the getSignature of ecrecover
2019-07-19 15:18:25 +03:00
kdeme
26bc048fea
Fix possible IndexError in ecrecover
2019-07-19 15:18:25 +03:00
Ștefan Talpalaru
409d771a50
metrics: put the HTTP server under -d:insecure
...
- also fix an option parsing bug
- bump vendor/nim-eth and vendor/nim-metrics
2019-07-19 15:17:51 +03:00
Ștefan Talpalaru
0f3d05bf68
metrics: HTTP server disabled by default
...
- metric logging added
- new Nimbus options: --metricsServer, --metricsServerPort:<value>,
--logMetrics, --logMetricsInterval:<value>
2019-07-19 15:17:51 +03:00
Ștefan Talpalaru
2d9f62530b
metrics HTTP server replacing the periodic "stats" logging
...
and example prometheus.yml file to use it as a scraping target
2019-07-19 15:17:51 +03:00
kdeme
973ea96e1a
Add txRoot check to avoid assertions in tracer + don't throw exception
2019-07-15 13:26:33 +02:00
Ștefan Talpalaru
bfeb649892
Merge branch 'devel' of github.com:status-im/nimbus into devel
2019-07-11 14:02:29 +02:00
Ștefan Talpalaru
50095ae22f
macOS fix
2019-07-11 00:38:25 +02:00
Ștefan Talpalaru
06ab21e8c5
Ctrl+C handling for a graceful stop
...
addSignal() doesn't seem to work, which is probably why it was commented
out. I'm using setControlCHook() instead, moved at an earlier point in the
start-up process, but its handler can only change global variables, so I
had to make "nimbus" global.
2019-07-10 23:23:11 +02:00
kdeme
f62816c4f3
Use of BlockNumber to be able to switch between UInt256 and int64
2019-07-10 20:56:05 +02:00
Ștefan Talpalaru
5ee668516a
add nim-metrics
2019-07-10 16:32:44 +02:00
kdeme
f50d3f84f9
Add bounds check on getSuccessorHeader and getAncestorHeader
2019-07-09 15:52:41 +02:00
kdeme
739f36c640
Add skip parameter in getSuccessorHeader + add getAncestorHeader
2019-07-08 17:10:59 +02:00
Jacek Sieka
2763bd0dd5
std_shims -> stew
2019-07-07 12:12:01 +02:00
Ștefan Talpalaru
b71ce17ac3
periodically log internal statistics
...
and bump submodules
2019-06-26 16:32:01 +02:00
kdeme
46a9d8e79d
Forward maxPeers config to EthereumNode minPeers
2019-06-24 19:33:52 +03:00
kdeme
e94c2f7c15
Fix fromJson checks for uint256
2019-06-20 10:50:29 +03:00
kdeme
529fda3e3e
Fix uint256 rpc overload to show correct hex value. #338
2019-06-19 15:49:47 +03:00
Ștefan Talpalaru
ef319483be
log CatchableError in poll()
2019-05-28 12:49:36 +02:00
andri lim
8e921072af
fix constantinople's block reward
2019-05-14 12:45:25 +03:00
andri lim
7d74d38530
countLeadingZero become leadingZeros
2019-05-13 10:26:28 +03:00
andri lim
929b28b133
use ashr from nim-stint/#76
2019-05-13 10:26:28 +03:00
andri lim
58c4e16365
add some comments
2019-05-13 10:26:28 +03:00
andri lim
15f3a7fe37
remove unused .child from computation
2019-05-13 10:26:28 +03:00
andri lim
077fbe6b73
modexp cleanup
2019-05-13 10:26:28 +03:00
andri lim
b7a1431c33
fix modexp gasFee
2019-05-13 10:26:28 +03:00
andri lim
cd7143e9af
fix modexp
2019-05-13 10:26:28 +03:00
andri lim
a86979eaa3
fix create2 gasCost
2019-05-13 10:26:28 +03:00
andri lim
e51725d13b
fix extCodeHash
2019-05-13 10:26:28 +03:00
andri lim
f08eedbce3
fix create2 nonce increment
2019-05-13 10:26:28 +03:00
andri lim
51edbe6390
fix shr and shl gasCost
2019-05-13 10:26:28 +03:00
andri lim
5f2be4231e
implement EIP1014: Create2 opcode
2019-05-13 10:26:28 +03:00
andri lim
4a7f58c7dc
implement constantinople bitwise opcode
2019-05-13 10:26:28 +03:00
andri lim
2f08a6bc0e
fix byzantium contract creation OOG
2019-05-13 10:26:28 +03:00
andri lim
fd8a649df3
fix RevertInCreateInInit problem
2019-05-13 10:26:28 +03:00
andri lim
b34ad8b507
fix collectTouchedAccounts
2019-05-13 10:26:28 +03:00
andri lim
f809a864b1
fix calcMemSize bug
2019-05-13 10:26:28 +03:00
andri lim
213fb3b971
constantinople's skeletal implementation
2019-05-13 10:26:28 +03:00
Ștefan Talpalaru
b45e9d5493
don't close stdout when using a log file
...
also bump vendor/nim-chronicles and vendor/nim-eth
2019-05-08 02:25:04 +02:00
Bruno Škvorc
023b90fde8
Merge pull request #286 from kdeme/feature/whisper-rpc
...
[WIP] Initial implementation of Whisper RPC
2019-05-01 23:00:54 +02:00
Ștefan Talpalaru
631f3ca29f
fix for Nim HEAD
2019-05-01 19:56:23 +02:00
kdeme
9de9741e3c
Fix more return values + minor improvements
2019-04-26 13:40:28 +02:00
kdeme
28dfaad588
Fix web3_sha3
2019-04-26 13:38:50 +02:00
kdeme
e8a997cf11
Fix return values (raise errors) for most of the calls + some minor TODOs
2019-04-26 13:38:50 +02:00
kdeme
ce523550c0
Use directly the Whisper types instead of distinct strings, we test for string in fromJson anyhow
2019-04-26 13:38:50 +02:00
kdeme
1df3c7202b
Fix & add Whisper RPC tests + add isValidHexData with length check
2019-04-26 13:38:50 +02:00
kdeme
65908d5359
Add shh_generateSymKeyFromPassword implementation
2019-04-26 13:38:50 +02:00
kdeme
d43f20c65a
Initial implementation of Whisper RPC
2019-04-26 13:38:50 +02:00
andri lim
cee0a38278
add some comment
2019-04-26 07:31:18 +07:00
andri lim
376957bea4
clean up unused code
2019-04-26 07:31:18 +07:00
andri lim
3ccd1b1ee9
fix rangeToPadded, GST +5
2019-04-26 07:31:17 +07:00
andri lim
fd7c447f18
fix modexp output, GST +53
2019-04-26 07:31:16 +07:00
andri lim
89402af114
fix modexp gasCost, GST +6
2019-04-26 07:31:16 +07:00
andri lim
03ea1c5a85
fix ecRecover precompiles, GST +1
2019-04-26 07:31:15 +07:00
andri lim
ba47d3c997
fix returnDataCopy gasCost, GST +11
2019-04-26 07:31:14 +07:00
andri lim
7b47cb6b24
various fixes, GST +6
2019-04-26 07:31:14 +07:00
andri lim
90e3a4320a
fix revert opcode at first level computation
2019-04-26 07:31:13 +07:00
andri lim
c57295da0b
fix precompiles error handling, GST +262
2019-04-26 07:31:13 +07:00
andri lim
ceb159f5fe
fix static context check in Call and Create, GST +52
2019-04-26 07:31:12 +07:00
andri lim
605618d9ee
add static context check, GST +94 -28
2019-04-26 07:31:12 +07:00
andri lim
6295e6a7e4
fix touched miner problem, GST +25
2019-04-26 07:31:11 +07:00
andri lim
be5cce6c71
fix static call addr, GST +93 -16
2019-04-26 07:31:11 +07:00
andri lim
b3a3814f6a
implement EIP649: reduce block reward from 5 to 3 ether
2019-04-26 07:31:10 +07:00
andri lim
7940d443e9
implement EIP214: staticCall opcode
2019-04-26 07:31:10 +07:00
andri lim
52caf0c248
implement EIP211: returnDataCopy and returnDataSize opcode
2019-04-26 07:31:10 +07:00
andri lim
dd89af6d3d
implement EIP658: receipt status field
2019-04-26 07:31:09 +07:00
andri lim
d8284f9330
fix revert opcode
2019-04-26 07:31:09 +07:00
andri lim
13cd54a382
implement byzantium opcode dispatch
2019-04-26 07:31:03 +07:00
Ștefan Talpalaru
29a226da1e
more gcsafe pragmas for Nim HEAD
2019-04-26 00:18:51 +02:00
kdeme
46fb9dc1b2
Add staticnodes, protocols, and whisper config options ( #319 )
2019-04-23 07:49:49 -06:00
Ștefan Talpalaru
9011b06037
Merge branch 'fix_spurious_dragon' of github.com:jangko/nimbus into jangko-fix_spurious_dragon
2019-04-19 13:03:05 +02:00
andri lim
f3c740498c
implement EIP155 tx.getSender
2019-04-18 15:33:17 +07:00
andri lim
2b7d89fa9d
make test green
2019-04-18 15:26:09 +07:00
andri lim
ec918602bc
fix accountsForDeletion iterator, GST +2
2019-04-18 13:23:04 +07:00
andri lim
1883472104
fix evm msg contract creation, GST +3
2019-04-18 12:42:37 +07:00
andri lim
f7338b7d76
include miner address in touchedAccounts, GST +7
2019-04-18 11:12:21 +07:00
andri lim
c07f01a74d
fix collectTouchedAccounts: msg.destination -> msg.storageAddress, GST +4
2019-04-18 10:22:48 +07:00
andri lim
7c134b481e
split state clearing in execComputation to processTransaction, GST +5
2019-04-18 08:27:55 +07:00
andri lim
03435c7beb
gst and processTransaction unification
2019-04-18 07:56:57 +07:00
Ștefan Talpalaru
aa29e25c3a
clarify comment
2019-04-18 01:17:06 +02:00
andri lim
6cf0cdf23a
implement EIP161 nonce incrementation, GST +65
2019-04-17 12:15:15 +07:00
andri lim
85d9bd3958
implement EIP158, GST -4 +81
2019-04-17 11:03:52 +07:00
andri lim
23d084da68
add SpuriousGasCosts table into forkToSchedule
2019-04-17 09:46:33 +07:00
Ștefan Talpalaru
d4aff04cbd
NAT port mapping
2019-04-17 03:56:28 +02:00
Ștefan Talpalaru
8800cb5fe5
Merge branch 'fix_244' of github.com:jangko/nimbus into jangko-fix_244
2019-04-15 14:05:18 +02:00
andri lim
79630611c0
fixes #244
2019-04-15 11:34:41 +07:00
andri lim
69c1d9e357
fix block 2.463.413 problem
2019-04-15 11:10:40 +07:00
andri lim
34fd831d6f
fix block 2283416 problem
2019-04-15 10:11:09 +07:00
Ștefan Talpalaru
60c57995c5
enable Chronicles colors on Windows
2019-04-12 14:58:12 +02:00
andri lim
d039b88f48
activates Tangerine GST, GST +12
2019-04-08 08:06:40 +07:00
andri lim
7eafd75d17
separate tangerine whistle and spurious dragon opcode dispatcher
2019-04-08 08:06:40 +07:00
andri lim
6f51cf9103
implement EIP150 and EIP161 SelfDestruct OpCode
2019-04-08 08:06:39 +07:00
andri lim
77e9c18f91
implement Tangerine fork gas cost changes
2019-04-08 08:06:34 +07:00
andri lim
a8d0a13856
fix fork comparison at postExecuteVM bug
2019-04-07 06:53:40 +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
andri lim
d37d7fa6a5
remove computedGoto pragma
2019-04-04 17:23:28 +07:00
andri lim
fb97d8d0ce
move exception handler to executeOpcodes
2019-04-04 15:26:12 +07:00
andri lim
039256de6a
more on continuation passsing
2019-04-04 15:21:24 +07:00
andri lim
60df7ea5e2
update test data
2019-04-04 12:13:33 +07:00
andri lim
e5cca19e7f
tail call recursion with continuation passing
2019-04-04 11:44:35 +07:00
andri lim
4c0ba876ef
move exception handler deeper in the EVM
2019-04-04 10:50:25 +07:00
andri lim
07ac4620d9
remove 'var' modifier from 'computation: var BaseComputation'
2019-04-04 10:20:00 +07:00
andri lim
26b40f41e3
fix precompiles selection, GST +5
2019-04-02 13:11:00 +07:00
andri lim
112d2219df
reduce indirect call in EVM
2019-04-02 13:11:00 +07:00
andri lim
0f8affb7c9
remove explicit return value from VM
2019-04-02 13:11:00 +07:00
Ștefan Talpalaru
721f6e9c14
cosmetic change
2019-03-31 22:34:11 +02:00
Ștefan Talpalaru
54b0242169
Merge branch 'fix_evm' of github.com:jangko/nimbus into jangko-fix_evm
2019-03-28 15:21:28 +01:00
Ștefan Talpalaru
348782ac6a
Merge branch 'fix_gaspricelimit' of github.com:jangko/nimbus into jangko-fix_gaspricelimit
2019-03-28 15:14:39 +01:00
Ștefan Talpalaru
b16aba391a
Merge branch 'fix_maxcalldepth' of github.com:jangko/nimbus into jangko-fix_maxcalldepth
2019-03-28 15:09:51 +01:00
andri lim
da88d498e3
fix MaxCallDepth comparison
2019-03-28 19:08:54 +07:00
andri lim
1ad4e256b2
fix self destruct refund gas problem
2019-03-28 19:07:30 +07:00
andri lim
d9a9459d95
reduce stack usage
2019-03-28 19:06:38 +07:00
andri lim
527891cdb8
integrate snapshot with computation
2019-03-28 19:06:31 +07:00
andri lim
62c1e668a9
fix tx_e1c174e2 problem, GST +1
2019-03-28 19:05:07 +07:00
Ștefan Talpalaru
ea73005c0d
textblocks -> textlines
2019-03-26 13:20:01 +02:00
Ștefan Talpalaru
50504cf553
Nimbus: runtime log level selection and logfile option
2019-03-26 13:20:01 +02:00
Ștefan Talpalaru
3c6ea4ac9c
Merge branch 'cleanups' of https://github.com/jangko/nimbus into jangko-cleanups
2019-03-21 15:25:40 +01:00
andri lim
a02cbdd91b
turn getAccountsForDeletion into interator
2019-03-21 09:50:51 +07:00
andri lim
b6587bddfd
execComputation and applyMessage unification
2019-03-21 09:47:46 +07:00
andri lim
0b87151195
remove head from processBlock
2019-03-21 09:44:53 +07:00
andri lim
be79bc8740
remove opCodeExec, use executeOpcodes
2019-03-21 09:32:48 +07:00
andri lim
4aaa6e6c94
computation simplification
2019-03-21 09:31:55 +07:00
andri lim
9cc5db73c2
processTransaction simplification
2019-03-21 09:27:26 +07:00
andri lim
b73a1238e0
interpreter dispatch simplification
2019-03-21 09:27:14 +07:00
Ștefan Talpalaru
f62601e844
Merge branch 'non_recursive_evm' of github.com:jangko/nimbus into jangko-non_recursive_evm
2019-03-20 14:43:50 +01:00
andri lim
268695003b
fix writePaddedResult regression
2019-03-19 16:43:38 +07:00
andri lim
6c891d08e6
put doAssert(false) at nimbus configuration cmdEnd
2019-03-19 08:55:30 +07:00
andri lim
f518de20fc
fix miner suicide problem, GST +2
2019-03-18 20:29:07 +07:00
andri lim
7198ce2d05
fix ecrecover bad V, GST +1
2019-03-18 19:28:42 +07:00
andri lim
aed0db2d03
fix DelegateCall sender address, GST +37
2019-03-18 18:45:43 +07:00
andri lim
36fb75d042
fix DelegateCall gasCost, GST +6
2019-03-18 17:24:25 +07:00
andri lim
a7c6531f08
fix block gaslimit problem, GST +70
2019-03-18 14:35:52 +07:00
andri lim
739e20253a
fix invalid opcodes bug, GST +1
2019-03-18 13:44:22 +07:00
andri lim
4f6f564626
fix regression
2019-03-18 13:13:16 +07:00
andri lim
cd765bf452
fix create contract address collision, GST +1
2019-03-18 12:48:32 +07:00
andri lim
4383831772
separate Frontier and Homestead opcode dispatcher
2019-03-18 11:27:32 +07:00
andri lim
d0822c26d1
fix callcode insufficient funds, GST +6
2019-03-16 22:54:24 +07:00
andri lim
990bc44c65
fix not enough gas, GST +5
2019-03-16 22:23:15 +07:00
andri lim
433ccba15f
fix writePaddedResult, GST +4
2019-03-16 21:42:06 +07:00
andri lim
adb1286e28
fix create hash collision, GST +1
2019-03-16 12:13:57 +07:00
andri lim
99d128ca26
fix CREATE opcode gas cost
2019-03-15 22:15:40 +07:00
andri lim
823dd95a53
write contract unification
2019-03-15 18:16:47 +07:00
andri lim
0654a232a3
rename transferBalance to canTransfer
2019-03-14 16:24:27 +07:00
andri lim
039ab1ce71
refactor/relocate CALL/CREATE to reduce stack usage
2019-03-14 14:58:26 +07:00
Ștefan Talpalaru
a67edd693a
assert() -> doAssert()
2019-03-13 22:36:54 +01:00
Ștefan Talpalaru
404a75cbe7
Merge branch 'missingmethod'
2019-03-13 21:44:38 +01:00
Ștefan Talpalaru
c0272c6f94
AbstractChainDB.getStateDb() renamed to getTrieDB()
2019-03-13 21:41:52 +01:00
andri lim
4ed98e03d1
remove unneeded param from transferBalance
2019-03-13 22:14:10 +07:00
andri lim
44688259f1
simplify transferBalance again
2019-03-13 22:06:32 +07:00
andri lim
2f9f708f1b
simplify balance transfer
2019-03-13 21:34:53 +07:00
andri lim
f1fac6be0f
remove redundant updateOpcodeExec
2019-03-13 21:15:13 +07:00
andri lim
1b3ca200fa
remove redundant execPrecompiles call
2019-03-13 21:10:16 +07:00
andri lim
f5d6d6bc02
fix block 1317742 problem
2019-03-13 15:49:54 +02:00
Ștefan Talpalaru
0c2d7638eb
add missing Chain.getStateDB() method
...
that's actually called from getStorageNode()
2019-03-13 01:20:34 +01:00
andri lim
9f8191d408
EVM write contract transformation
2019-03-12 13:32:41 +02:00
andri lim
5f1879c709
add defer: snapshot.dispose()
2019-03-12 13:32:41 +02:00
andri lim
4549331f4b
fix block 1155095 problem
2019-03-12 13:32:41 +02:00
andri lim
b1da3576ad
fix block 1149150 problem
2019-03-11 18:50:13 +07:00
andri lim
de809b0060
fix block 1017395 problem
2019-03-11 12:03:57 +07:00
andri lim
e2311d798b
fix recurring symbol collision problem
2019-03-07 22:53:09 +07:00
andri lim
b303786128
fix tracer regression
2019-03-07 22:16:39 +07:00
andri lim
9c31980b79
fix processBlock regression
2019-03-07 22:09:32 +07:00
andri lim
fdf9e04108
initial contract call/create unification
2019-03-07 22:09:22 +07:00
andri lim
a15805e41a
fix applyCreateMessage
2019-02-28 10:04:49 +02:00
andri lim
0518802690
contract creation and contract call cleanup
2019-02-28 10:04:49 +02:00
andri lim
fc613b33df
computation.nim cleanup
2019-02-28 10:04:49 +02:00
andri lim
4cc318d948
fix block 668910 problem
2019-02-28 10:04:49 +02:00
andri lim
b107bdd226
refactor processTransaction
2019-02-27 13:30:18 +02:00
andri lim
5ab7c02dcf
refactor sender transfer
2019-02-27 13:30:18 +02:00
andri lim
26d8ab84fe
refactor recipient transfer
2019-02-27 13:30:18 +02:00
andri lim
86de4faa81
make test green
2019-02-27 13:30:18 +02:00
andri lim
8193a4ae6a
refactor gas used in transaction
2019-02-27 13:30:18 +02:00
andri lim
f21f73e5c5
refactor setupComputation
2019-02-27 13:30:18 +02:00
andri lim
9d6fb4c82e
add comment to transaction tracer
2019-02-27 13:30:18 +02:00
andri lim
810259bfc4
make test green
2019-02-27 13:30:18 +02: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
andri lim
9522c1145f
fix #245 again
2019-02-25 22:59:05 +07:00
andri lim
9fcba8f90d
fix block 512335 problem
2019-02-25 21:18:13 +07:00
andri lim
0d64e0a6c3
fix #245
2019-02-25 20:02:16 +07:00
andri lim
3dd18bd8ec
fix block 299804 problem
2019-02-25 17:03:43 +07:00
andri lim
592fa5df7e
fix SIGNEXTEND opcode
2019-02-23 17:57:53 +02:00
andri lim
bc675b1daa
fix contract creation
2019-02-23 17:57:53 +02:00
andri lim
f5e54b8d4f
fix self destruct problem
2019-02-23 17:57:53 +02:00
andri lim
d21d0814c6
add getAncestorHash to hunter tool
2019-02-22 13:11:28 +02:00
andri lim
28245e92a2
fixes #235
2019-02-22 13:10:22 +02:00
andri lim
47a8089ff8
fixes #236
2019-02-21 13:09:36 +02:00
andri lim
4dc45550dd
fix block 226522 problem
2019-02-21 13:09:36 +02:00
andri lim
b198ffee2d
fix vm oog problem
2019-02-20 15:16:07 +02:00
andri lim
dcf7699358
fix callcode regression
2019-02-20 15:16:07 +02:00
andri lim
71e7ee2dae
fixes ECRecover precompiles
2019-02-20 15:16:07 +02:00
andri lim
96ae5ee05a
fix CALLCODE storage address
2019-02-20 15:16:07 +02:00
andri lim
999c958641
fix opcode call OOG
2019-02-20 15:16:07 +02:00
andri lim
2e8176eb15
simplify CREATE gasCost
2019-02-20 15:16:07 +02:00
andri lim
0b9326f955
fix block 81383 problem
2019-02-20 15:16:07 +02:00
andri lim
5ba44083f0
fix contract call in gst and executor.nim
2019-02-20 15:16:07 +02:00
andri lim
c722f34ef3
safer snapshot commit revert and dispose
2019-02-18 18:15:32 +02:00
andri lim
d015fc3819
bugfix: transaction tracer more robust storage key handling
2019-02-18 13:16:04 +02:00
andri lim
8461211f9a
bugfix: implement computation snapshot, revert, commit
2019-02-18 13:16:04 +02:00
andri lim
927abdc142
bugfix: multi-depth transaction tracer storage
2019-02-18 13:16:04 +02:00
andri lim
a1242d2538
bugfix: block 78458 crash
2019-02-18 13:16:04 +02:00
andri lim
282824cd53
zah's request: add missing comments
2019-02-18 13:16:04 +02:00
andri lim
8f9d1ae748
fixes callcode bug
2019-02-15 17:20:51 +02:00
andri lim
d7bd55bd21
fixes opcode call: simplify gas costs
2019-02-15 17:20:51 +02:00
andri lim
44d05dfdb1
fixes transaction_tracer.nim: tracing depth
2019-02-15 17:20:51 +02:00
andri lim
04f28d9048
fixes vm state get block hash
2019-02-15 17:20:51 +02:00
andri lim
17188dfcb1
fixes memory write: no padding
2019-02-15 17:20:51 +02:00
andri lim
fdc34a4cf6
fixes vmState construction
2019-02-15 17:20:51 +02:00
andri lim
c53e7fa07c
fixes #228
2019-02-15 17:20:51 +02:00
andri lim
e38b1bf803
fixes generateChildComputation
2019-02-15 17:20:51 +02:00
andri lim
5701c8bacb
fixes precompile contract: identity gascost
2019-02-15 17:20:51 +02:00
andri lim
00087de2ce
trade 7 failed GST with 107 OK GST
2019-02-07 11:01:43 +01:00
andri lim
d8db3d74d0
fix NUMBER opcode regression
2019-02-07 11:01:43 +01:00
Mamy Ratsimbazafy
e1812eb7ce
Prepare for AD2 rebranding to chronos ( #225 )
...
* Prepare for AD2 rebranding to chronos - https://github.com/status-im/nim-asyncdispatch2/pull/20
* fix nimble path to chronos
* nim-eth and nim-chronos merged into nimble packages
* fix nimble package name
2019-02-06 19:03:36 +01:00
andri lim
9efef3829f
fixes storage tracer
2019-02-06 18:42:03 +01:00
andri lim
67c38b0275
fixes NUMBER opcode
2019-02-06 18:42:03 +01:00
andri lim
a28f06a825
fixes CALL opcode
2019-02-06 18:42:03 +01:00
andri lim
817bce3555
premix report page: modify header section to display block summary
2019-02-06 18:42:03 +01:00
andri lim
c71a842050
fix 'dumpBlockState' in tracer.nim
2019-02-06 18:42:03 +01: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
Ștefan Talpalaru
ede45648e7
Premix-related changes
...
- build all tools using the Makefile and place them in ./build
- add copyright header to Makefile
- premix/readme.md edited to fix some errors, improve descriptions and
document Makefile usage
- link the Premix documentation in the main README.md
- also build `hunter` in the nimble tests
- refactored the file and directory search so all debugging tools can be run
from the top-level dir like this: `./build/<tool> ...`
- write all JSON debugging data in the current directory
- add JSON files generated in the top-level dir to .gitignore
- Nimbus now exits with an exception after dumping debug data and
running `premix` on it
2019-01-28 12:38:23 +02:00
Ștefan Talpalaru
60d2867b2e
disable Chronicles colors on Windows
2019-01-16 14:17:26 +02:00
Zahary Karadjov
c98e337090
remove the need for gcsafe overrides
2019-01-15 18:59:24 +02:00
Ștefan Talpalaru
a431ceed11
add "--threads:on" to tests and main binary
...
- some "funcs" were no longer considered side-effect free, so I made
them procs
- added {.base.} to some base methods to avoid a deprecation warning
2019-01-15 18:59:24 +02:00
andri lim
78367bf10a
fix debug tool
2019-01-15 15:30:25 +02:00
andri lim
e104153379
add premix and browser launcher code
2019-01-15 15:30:25 +02:00
andri lim
f1bb0d1b31
poststate processing
2019-01-15 15:30:25 +02:00
andri lim
7c4cb7a58e
add report page
2019-01-15 15:30:25 +02:00
andri lim
0a6b3505f2
add dumper tool
2019-01-15 15:30:25 +02:00
andri lim
729686ff57
add debug tool
2019-01-15 15:30:25 +02:00
andri lim
9f590a22e8
fix persist tool
2019-01-15 15:30:25 +02: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
bd9d15d947
new build system
...
- isolate dependencies (both Git repos and ".nimble" dir) in "vendor"
- ensure that everything is compiled using our version of Nim with
something as simple as "make"
- pull the latest changes with "make update"
- re-create Nimble's package dir and re-build the Nim compiler automatically when needed
- "env.sh" script that can be used to prefix any command that needs to use
"nim" or "nimble" from our Nim repo
- move the top level nim.cfg to nimbus/nim.cfg so it doesn't apply to
deps
- "fetch-dlls" `make` target for Windows to get precompiled Snappy, RocksDB and SQLite DLLs
2019-01-09 14:25:00 +02:00
Ștefan Talpalaru
00afb0889c
ForLoopMacros cleanup
2019-01-07 18:13:08 +01: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
Ștefan Talpalaru
7c7260552d
rebase and various fixes
...
- port to new APIs
- added copyright headers
- bumped the copyright interval in modified files
- fixed tests
- reorganised imports
- normalised function names
- deleted some trailing space
- added test_rpc to all_tests
- assert() -> doAssert()
- moved the RPC port in a constant for the test suite
2019-01-06 20:19:48 +01:00
coffeepots
20933f494b
Moved and unstubbed intrinsicGas from vm_state_transactions
2019-01-06 19:03:35 +01:00
coffeepots
ab0f8f6748
Update eth_estimateGas to use optional types
2019-01-06 19:03:34 +01:00
coffeepots
3f1122702e
Initial commit for eth_estimateGas
2019-01-06 19:03:34 +01:00
coffeepots
ac9fb37465
Initial commit for eth_estimateGas
2019-01-06 19:03:20 +01:00
andri lim
b93d809805
fix internal transactions account tracing
2019-01-06 13:17:25 +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
7683f68c15
fix statediff 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
3a10f99694
add persistblock test
2019-01-06 11:43:38 +02:00
andri lim
5cf43c2909
implement dumpDebuggingMetaData
2019-01-06 11:43:38 +02:00
andri lim
8a6d351c22
add internal transactions dump
2019-01-06 11:43:38 +02:00
andri lim
5fc134ac2a
add lmdb backend
2019-01-06 11:43:38 +02:00
andri lim
3b5562d85b
rebase
2019-01-06 11:43:38 +02:00
andri lim
a6bf970b1b
some cleanup
2019-01-06 11:43:38 +02:00
andri lim
9db4e9296a
add tracer test
2019-01-06 11:43:38 +02:00
andri lim
e3fee70f0a
fixes tracer
2019-01-06 11:43:38 +02:00
andri lim
890e8e11a4
dumpDebuggingMetaData stub
2019-01-06 11:43:38 +02:00
andri lim
3a355e0569
implement debug_traceBlock
2019-01-06 11:43:38 +02:00
andri lim
6dc4b0be9a
implement dumpBlockState
2019-01-06 11:43:38 +02:00
andri lim
35c1c7e075
move block processing to executor
2019-01-06 11:43:38 +02:00
andri lim
f613f8b3c6
add dumpBlockState stub
2019-01-06 11:43:38 +02:00
andri lim
403e12b91f
add statediff to traceTransaction
2019-01-06 11:43:38 +02:00
andri lim
9d6dbceefc
add enable/disableTracing to vm_state
2019-01-06 11:43:38 +02:00
andri lim
b159b5c945
remove lastOpCodeHasRetVal, make it simpler
2019-01-06 11:43:38 +02:00
Ștefan Talpalaru
26ee2fce26
fix breakage with Nim HEAD
2019-01-04 15:39:16 +02:00
andri lim
40f094f6d5
fix datadir typo
2018-12-28 15:24:57 +07: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
ff08a6ad95
fix some typo
2018-12-16 15:38:51 +02:00
andri lim
d3380f6cf0
fix test
2018-12-16 15:38:51 +02:00
andri lim
8c6cec4999
fix getTransactionReceipt
2018-12-16 15:38:51 +02: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
Ștefan Talpalaru
f91e69f7c7
more VM tracing
...
The existing vmState tracing is plugged into chronicles, at the TRACE
level, to facilitate state test debugging.
Some useful chronicles defines are added to "tests/nim.cfg" to simplify
the compile-and-run command for individual tests.
2018-12-12 11:47:10 +01:00
Ștefan Talpalaru
115843487c
general-state testsuite changes and better fork selection
...
- skipped the tests in allowedFailInCurrentBuild()
- replaced doAssert() with check() in testFixtureIndexes() so we can see
both hash values on failure
- checking filename extension for JSON tests to avoid editor swap files
- replaced the duplicated block values in the main net's ChainConfig
with values from forkBlocks
- allowed overriding the current fork in computations, because the old
strategy of only looking at the block number doesn't work with JSON tests
where the block number is usually 1
- explicitly pass the fork to gasCosts() and use it for conditional cost
calculation
- fixed a logic error in the CREATE opcode
- fixed VM selection based on current fork in updateOpcodeExec()
- single point of control for supported forks in tests (just one fork, at the
moment)
- 44 new test failures (that were probably passing for the wrong reasons)
2018-12-07 18:18:29 +01:00
Ștefan Talpalaru
03ec65487d
logging changes
...
- port some "echo" logging to "chronicles"
- change the logging level of messages that should not appear by default
to TRACE instead of DEBUG
- remove the "nimbusTrace" define
- suppress logging for messages below the ERROR level in "nimble test"
2018-12-07 00:45:52 +01:00
coffeepots
86853ea97c
Merge pull request #187 from status-im/modexp-fixes
...
Modexp fixes
2018-12-06 10:10:59 +00:00
coffeepots
51df75a296
Add WhisperFilterOptions
2018-12-05 19:11:17 +02:00
coffeepots
ef172a857a
Update new filter signature
2018-12-05 19:11:17 +02:00
coffeepots
ce3c8eaf05
Update whisper types to be optional
2018-12-05 19:11:17 +02:00
andri lim
b29f5b1321
put traceTransaction into action
2018-12-05 22:01:29 +07:00
andri lim
fe5ddf757b
fix trace returnValue
2018-12-05 22:01:29 +07:00
andri lim
572de41507
tracing opcode return value
2018-12-05 22:01:29 +07: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
0b7b577af6
add more options to debug_traceTransaction
2018-12-05 22:01:29 +07:00
andri lim
8d42ad997e
reorder captureDB in traceTransaction
2018-12-05 22:01:29 +07:00
andri lim
2552d6452a
fix traceTransaction
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
4885445735
add prune cli switch
2018-12-05 21:58:34 +07:00
mratsim
24bcb3b2d8
remove log2 spurious comment
2018-12-04 15:56:18 +01:00
mratsim
f50bb57eb6
Reactivate the precompiles test + consume gas
2018-12-04 15:52:59 +01:00
mratsim
29f8a8a066
modExp fixed!
2018-12-04 15:46:33 +01:00
mratsim
6d93bdffea
modExp, support up to uint4096
2018-12-04 14:39:10 +01:00
mratsim
949c5a1dc6
Modexp fix example 1 (returned to early for ints of length 1)
2018-12-04 12:49:48 +01:00
coffeepots
9b53f8cda4
Updated traceTransaction to accept a hash
2018-11-29 17:09:59 +00:00
coffeepots
8d4c00cd3f
Removed utils from p2p and updated names in rpc_utils
2018-11-29 17:08:13 +00:00
coffeepots
a5aad977dd
Merge remote-tracking branch 'origin/rpc_eth_call'
2018-11-29 16:15:52 +00:00
andri lim
f6d9308208
add TODO comment and trigger ci rebuild
2018-11-29 12:12:25 +02:00
andri lim
af84be0eea
keep in sync with eth_common#23
2018-11-29 12:12:25 +02:00
coffeepots
184143ba65
Update return types
2018-11-28 22:27:15 +00:00
coffeepots
f6cd02ff3f
Relax JSON to UInt256 length constraint, refactor err msgs
2018-11-28 22:04:57 +00:00
andri lim
21070d510d
add TransactionKey to persistTransactions and add more fat to debug_traceTransaction
2018-11-28 09:25:36 +07:00
coffeepots
5681c355ef
Update comment
2018-11-26 19:40:29 +00:00
coffeepots
d269bd07c5
Remove default gas price (is zero instead) and use gasLimit from header
2018-11-26 11:28:38 +00:00
andri lim
161d6adbc7
implement persistTransactions and getBlockBody
2018-11-24 08:00:58 +07:00
coffeepots
a279915175
Refactored variable setup to ensure sensible defaults
2018-11-23 18:24:42 +00:00
coffeepots
a20a18f8e8
Add converter from Json to UInt256
2018-11-23 17:21:03 +00:00
coffeepots
dc5e62951a
Make eth_call use optional params
2018-11-23 17:20:20 +00:00
andri lim
a2b9167e2b
extend rpc api cli and implement debug_traceTransaction stub
2018-11-22 13:40:09 +07:00
coffeepots
1f0766c5d4
Add initTransaction
2018-11-20 17:35:11 +00:00
coffeepots
826206d054
Fill in eth_call
2018-11-20 17:31:17 +00:00
coffeepots
553605875b
Update types to avoid early casting to strings and keep type strictness
2018-11-20 17:30:04 +00:00
coffeepots
e51a4632cd
Update RPC types to be inline with internal expectations and stay to spec
2018-11-20 17:27:22 +00:00
coffeepots
f99138dca6
Merge branch 'call-fixes-precompiles'
2018-11-12 15:57:54 +00:00
coffeepots
1cead76327
Add note about cyclic dep
2018-11-08 16:40:40 +00:00
coffeepots
6eb430fd52
Fix CREATE op code gas costs, more debug output, call transactions
2018-11-08 16:00:21 +00:00
coffeepots
492d2ae676
Debug message for new messages
2018-11-08 15:48:32 +00:00
coffeepots
6b1e989ff0
Add initial gas cost for CREATE
2018-11-08 15:47:48 +00:00
Yuriy Glukhov
bac452f589
Initial TransactionTracer impl
2018-10-28 14:38:05 +01:00
Dustin Brody
d97cc50afc
fix eth_trie/constants missing compile error
2018-10-19 07:44:08 -07:00
coffeepots
7ba1cfaf13
Remove endian code, precompiles should now run. Removed raise as case stmt is full now.
2018-10-19 14:41:04 +01:00
coffeepots
434edcc2ae
Fix incorrect message parameters (had sender and destination swapped)
2018-10-18 17:47:54 +01:00
cheatfate
0b15b86195
Fix ecMul, ecPairing, ecAdd.
2018-10-16 11:49:13 +03:00
Zahary Karadjov
41adca1abb
Minimal changes required for building the LES branch
2018-10-16 03:10:01 +03:00
coffeepots
6e4616e443
Precompiles now executed if called from vm_state_transactions
2018-10-12 16:16:14 +01:00
coffeepots
67df44e917
Fix ecrecover, pad ripemd result and use sha256 vs keccak256
2018-10-10 17:36:11 +01:00
mratsim
bb6e1e1d76
modExp precompiles: fix padding and static evaluation
2018-10-10 16:26:21 +02:00
mratsim
0494e2a877
Support short inputs with missing bytes
2018-10-05 17:37:52 +02:00
mratsim
38b4d54815
Add modExp precompile + gas costs
2018-10-05 17:26:20 +02:00
cheatfate
9318ea93cf
Added nim-bncurve dependency.
...
Added implementation of `ecAdd`, `ecMul`, `ecPairing` precompiles.
2018-10-05 12:15:04 +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
Dustin Brody
7aa0c386dd
some simplification and cleanup
2018-10-04 17:52:58 +00:00
coffeepots
6a4cd4ec67
Update precompile gas costs case (cosmetic change)
2018-10-03 17:59:41 +01:00
coffeepots
3249c3e048
Add precompile costs
2018-10-03 16:39:34 +01:00
coffeepots
3deb09bbb6
Add SHA256, RIPEMD160 and Identity precompiles
2018-10-03 13:33:19 +01:00
coffeepots
fcffd94469
Support different endians
2018-10-02 16:39:01 +01:00
coffeepots
36270ff4d5
Fixes for Call gas usage, Calls use precompiles, pass down their opCode
2018-10-02 16:07:16 +01:00
coffeepots
e2087f0922
Remove precompile hash table
2018-10-02 15:55:28 +01:00
coffeepots
62968bf733
Initial support for precompiles with ecRecover
2018-10-02 15:46:39 +01:00
tersec
4f04332205
Refactor contract creation into transaction code from P2P code; get 14 new GSTs working ( #163 )
...
* checkpoint where refactoring and calling from GST runner doesn't break anything
* 14 new GSTs pass by refactoring contract creation out of p2p/chain and using from GST test runner
* 2 of 14 new tests fail in 32-bit builds
* switch from CREATE_CONTRACT_ADDRESS to isContractCreation
* switch another CREATE_CONTRACT_ADDRESS to isContactCreation
2018-09-29 15:36:42 +00:00
Dustin Brody
3f5fc9a034
read through block 49017 by properly setting createAddress/storageAddress of the computation message and detecting whether the computation has the gas required to pay 200*code length; also, clean up pointless commented nonnegativity assertions for nonnegative GasInt type
2018-09-28 10:26:27 +03:00
tersec
d4e95fae94
refactor aspects of transaction processing out of GeneralStateTests handler; get p2p/chain runnning through block 48680; combine/deduplicate two different but equivalent methods of caulculating transaction intrinsic gas cost; fix BaseTransaction references to just Transaction references in hitherto unreferenced stubbed out source so it builds; clean up some imports from refactoring ( #161 )
2018-09-27 19:09:26 +00:00
Zahary Karadjov
2c59de6064
Fix the Nimbus build after the merge
2018-09-26 14:00:52 +03:00
Yuriy Glukhov
7a732040ba
Added comments
2018-09-26 13:31:48 +03:00
Yuriy Glukhov
291fddee71
Better cmdline flags handling
2018-09-26 13:31: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
22668407a7
Some tweaks and comments ( #155 )
2018-09-20 20:06:22 +00:00
Dustin Brody
8f4e1a4445
integrate GeneralStateTest runner into CI with 775 running tests ( #153 )
...
* fix 32-bit issue in AppVeyor
* allow another dozen or so GeneralStateTest fixtures which work on 64-bit, but not on 32-bit platforms, to safely-fail, but demarcate them separately to facilitate debugging
* steal fa672600eb
from @coffeepots fix-int32-high-zero branch
2018-09-19 16:46:14 +00:00
Yuriy Glukhov
5acd6cc049
newMemoryDB
2018-09-19 18:41:17 +03: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
766d1c4091
Temp fix for int32.high returning zero
2018-09-19 12:11:54 +03:00
mratsim
070487d78a
Homestead contract creation gas cost
2018-09-18 17:28:40 +02:00
Dustin Brody
dd20f4079c
revert better toSeq version to worse for-loop version of extracting keys from table because former now fails to compile
2018-09-18 07:07:04 -07:00
Dustin Brody
048921b045
20 new working GeneralStateTests
2018-09-18 14:00:30 +00:00
Dustin Brody
7dfd2a3849
update deltabalance to mix of setBalance and increaseBalance
2018-09-18 06:25:28 -07:00
coffeepots
4f03c9cf2a
Merge pull request #139 from status-im/callOpCodeWork
...
Flesh out call op
2018-09-18 14:09:00 +01:00
coffeepots
b49637cdbf
Helper procs for updating opcode executor based on fork
2018-09-18 13:10:30 +01:00
coffeepots
d435e434ec
Copy opCodeExec to child computation
2018-09-18 13:03:22 +01:00
Zahary Karadjov
d71ce6fb24
Make use of the new transactional API offered by the Trie DB
2018-09-18 02:56:10 +03:00
coffeepots
d484420f5b
Remove fork distinguished procs, handle in applyCreateMessage
2018-09-17 19:35:07 +01:00
coffeepots
c300044474
Add EIP170_CODE_SIZE_LIMIT
2018-09-17 19:34:29 +01:00
coffeepots
949d4c11f8
Full names for `$`(fork)
2018-09-17 18:38:10 +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
cdfcda41b4
Remove init 0 after child computation
2018-09-14 18:04:09 +01:00
coffeepots
63f9acd8ce
Add create and apply message procs
2018-09-14 18:03:26 +01:00
coffeepots
c7a014bb10
Add gas cost for create
2018-09-14 17:59:21 +01:00
coffeepots
af76d209a6
Add opcode executor proc to computation
2018-09-14 16:47:40 +01:00
coffeepots
7cd7a73a1f
Add opCodeExec to allow computation to execute code
2018-09-14 16:42:15 +01:00
coffeepots
213aebde7d
Update some comments, adding TODO item for getStateDb
2018-09-14 16:16:55 +01:00
coffeepots
6183761251
Refactor for generateChildComputation
2018-09-14 16:16:55 +01:00
coffeepots
2b6342764c
Add fork to string proc
2018-09-14 16:16:55 +01:00
coffeepots
d465fcd038
Appy child computation in call op code
2018-09-14 16:16:55 +01:00
coffeepots
2a38c0194d
Expose isCreate for export
2018-09-14 16:16:55 +01:00
coffeepots
69f07c587a
Add generateChildComputation, addChildComputation and applyChildComputation
2018-09-14 16:16:55 +01:00
coffeepots
d24108a79b
Convert code from byte range to seq
2018-09-14 16:16:55 +01:00
coffeepots
b4fd38e062
Call now gets and checks balance against funds, also now fetches code
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
Dustin Brody
fd07d6fed1
A simple/basic GeneralStateTest runner which gets 400+ of them correct
2018-09-10 19:42:45 +03:00
Yuriy Glukhov
3a1ec035b3
Various fixes towards state reconstruction
2018-09-07 14:00:37 +03:00
coffeepots
09d35d4bfd
Fix merge conflict
2018-09-06 13:59:22 +01:00
coffeepots
7e02eedea0
Use toOpenArray in generateAddress
2018-09-06 13:57:42 +01:00
coffeepots
085880758b
Always update account nonce even if there's an contract address collision
2018-09-06 13:57:42 +01:00
coffeepots
ca6eb0cb38
Don't touch nonce until after address in-use check
2018-09-06 13:57:42 +01:00
coffeepots
555687ba97
Comment reference to issue regarding address collisions
2018-09-06 13:57:42 +01:00
coffeepots
9f1027102c
Make generateAddress a func
2018-09-06 13:57:42 +01:00
coffeepots
7a5a43f50f
Add generateAddress utility
2018-09-06 13:57:42 +01:00
coffeepots
0e2068c99e
Create Op now generates contract addresses & checks for collisions
2018-09-06 13:57:42 +01:00
coffeepots
350bf7e672
Add hasCodeOrNonce
2018-09-06 13:57:42 +01:00
coffeepots
69befaf4fd
Use toOpenArray in generateAddress
2018-09-06 13:48:55 +01:00
Yuriy Glukhov
0a247a58f3
New nim compat
2018-09-06 13:16:13 +03:00
coffeepots
485781e6ad
Always update account nonce even if there's an contract address collision
2018-09-06 10:58:35 +01:00
Dustin Brody
9e1be6438e
Extract transaction senders from GeneralStateTest fixtures
2018-09-06 11:20:43 +03:00
coffeepots
2b87d2b7f5
Merge branch 'createOpContractAddr' of https://github.com/status-im/nimbus into createOpContractAddr
2018-09-04 17:15:58 +01:00
coffeepots
bd9f732b4e
Don't touch nonce until after address in-use check
2018-09-04 17:15:46 +01:00
coffeepots
12834fba12
Merge branch 'master' into createOpContractAddr
2018-09-04 16:37:43 +01:00
coffeepots
f3fb306a33
Comment reference to issue regarding address collisions
2018-09-04 16:35:20 +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
c3c84782a5
Make generateAddress a func
2018-09-04 12:27:07 +01:00
coffeepots
a28ef962b3
Add generateAddress utility
2018-09-04 12:23:47 +01:00
coffeepots
a7c1168b3a
Create Op now generates contract addresses & checks for collisions
2018-09-03 19:30:27 +01:00
coffeepots
7ed2403c5c
Add hasCodeOrNonce
2018-09-03 19:24:55 +01:00
Yuriy Glukhov
b055504f8e
Added --experimental:forLoopMacros to nims
2018-09-03 15:20:40 +03:00
coffeepots
bda219f8fe
Make tests green (AccountNonce)
2018-09-02 03:26:22 +01:00
coffeepots
4d0adfd514
Update RPC types to use AccountNonce
2018-09-01 16:03:06 +03:00
coffeepots
e10df33864
Update return value to use AccountNonce
2018-09-01 16:03:06 +03:00
coffeepots
1427d59f27
Change setNonce, getNonce to use AccountNonce, which is uint64 from UInt256
2018-09-01 16:03:06 +03:00
coffeepots
0229d16fed
Change hashing function to use AccountNonce
2018-09-01 16:03:06 +03:00
coffeepots
dbc35fb198
Account.nonce is now AccountNonce which is uint64 from UInt256
2018-09-01 16:03:06 +03:00
Jacek Sieka
1d49b65d55
Merge pull request #117 from status-im/logging-to-chronicles
...
replace logging module with nim-chronicles (fixes #38 )
2018-08-31 13:15:08 -06:00
coffeepots
77df371cd1
Update toSignature to use range instead of UInt256
2018-08-31 17:18:19 +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
coffeepots
055b169e86
Merge branch 'master' of https://github.com/status-im/nimbus
2018-08-29 18:13:10 +01:00
coffeepots
2f6f9b765c
Use getSender from transactions, Re-add getAccountDb, fix accountDbFromTag
2018-08-29 18:12:39 +01:00
coffeepots
372ea24c41
Merge pull request #125 from status-im/getSenderReturn
...
Alternative form of getSender that raises and returns address
2018-08-29 18:07:04 +01:00
coffeepots
e59d019a03
Merge branch 'master' into chain-db-interface
2018-08-29 17:23:25 +01:00
coffeepots
bdb1904fd5
Alternative form of getSender that raises and returns address
2018-08-29 16:52:12 +01:00
coffeepots
ffa5aafab4
Get block RPCs now return Option[BlockObject]
2018-08-29 16:01:43 +03:00
coffeepots
396f31f643
Updated to use option types
2018-08-29 16:01:43 +03:00
coffeepots
f3df5156d9
Update to option types instead of refs
2018-08-29 16:01:43 +03:00
coffeepots
18d62d8c79
toSignature is now a proc
2018-08-29 16:01:43 +03:00
coffeepots
74a4ab6efc
Update len to template
2018-08-29 16:01:43 +03:00
coffeepots
ae03675b07
Use toCanonicalAddress in getSender
2018-08-29 16:01:43 +03:00
coffeepots
4e007e7d6c
Update transaction hash to not include tx signature
2018-08-29 16:01:43 +03:00
coffeepots
6a55c59cc5
Simplify populating transaction object by moving fetching inside proc
2018-08-29 16:01:43 +03:00
coffeepots
bdb48b9438
Update account gas in transaction blocks
2018-08-29 16:01:43 +03:00
coffeepots
f8a3581af5
Add sender address derivation for several RPCs
2018-08-29 16:01:43 +03:00
coffeepots
55fee296d8
Update estimateGas return type, copy header logs bloom for block header
2018-08-29 16:01:43 +03:00
coffeepots
53bd7774db
Add sender to getReceipt, calculate transaction hash once
2018-08-29 16:01:43 +03:00
coffeepots
d901c20bb2
Add toSignature(Transaction) and getSender(Transaction) local procs
2018-08-29 16:01:43 +03:00
coffeepots
3f1e140d59
Add hex data string checking to web3_sha3
2018-08-29 16:01:43 +03:00
coffeepots
6223a9a638
Add eth_newFilter stub now types are fixed
2018-08-29 16:01:43 +03:00
coffeepots
dedb63a7f7
eth_sign (sans retrieval of account private key)
2018-08-29 16:01:43 +03:00
coffeepots
f51fca2cae
Add cumulativeGas to receipts, update FilterLog type, getWork type
2018-08-29 16:01:43 +03:00
coffeepots
f151911ddf
Updates to use GasInt and Filter Logs
2018-08-29 16:01:43 +03:00
coffeepots
33b7dd931b
Add Whisper RPC prototypes
2018-08-29 16:01:43 +03:00
coffeepots
3f3c4249ba
Add Whisper types
2018-08-29 16:01:43 +03:00
coffeepots
3f2f8f83b4
Add WhisperIdentityStr
2018-08-29 16:01:43 +03:00
coffeepots
fec18e4ec2
Add WhisperIdentity string, clean up len func
2018-08-29 16:01:43 +03:00
Yuriy Glukhov
e3be8ca30a
Separate Chain from ChainDB
2018-08-29 11:49:01 +03:00