jangko
f906d177f4
add comments about disabled EIPs
2021-01-11 15:33:30 +07:00
jangko
01dec1d359
fixes EIP2929 opcodes impl
2021-01-11 14:57:40 +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
ab314c1e04
temporary disable EIP2046 and EIP2565
2021-01-11 14:53:51 +07:00
jangko
c84e34cac6
simplify blscurve utils impl
2020-12-02 18:14:34 +07:00
jangko
397119468a
simplify bncurve getPoint
2020-12-02 16:17:52 +07:00
jangko
fec9d26873
more eip2537 cleanup
2020-12-02 15:15:58 +07:00
jangko
90415d537f
add map_to_curve_g1 implementation for miracl
2020-11-30 21:19:46 +07:00
jangko
3f79588a74
EIP2537 part 3
2020-11-29 08:01:17 +07:00
jangko
0799b4534c
EIP2537 part 2
2020-11-28 23:13:10 +07:00
jangko
c1b7ae5b02
EIP2537 part 1
2020-11-27 21:42:17 +07:00
andri lim
360b74327e
Merge pull request #544 from status-im/precompiles_test_rework
...
Precompiles test rework
2020-11-26 10:34:26 +07:00
jangko
971e00e580
precompile contracts test rework
2020-11-25 20:42:15 +07:00
jangko
56bc1205e5
returnStack: use seq[int] instead of Uint256 Stack
2020-11-25 19:09:16 +07:00
jangko
a263e6b1a6
implement EIP2315 tests
2020-11-25 18:23:02 +07:00
jangko
a38882a9a0
implement EIP 2315 opcodes
2020-11-25 17:09:10 +07:00
jangko
5a78b8a5a7
stubbing berlin opcodes
2020-11-25 16:43:34 +07:00
jangko
e2cd9b20fa
add returnStack to Computation
2020-11-25 16:26:24 +07:00
jangko
5bb6418bcb
implement EIP2565
2020-11-24 16:19:02 +07:00
jangko
97f73fd03d
implement EIP 2046
2020-11-19 14:23:07 +07:00
jangko
c68aa47464
fixes fork comparison related code
2020-11-19 11:59:53 +07:00
jangko
648cc77f80
add berlin hf enum
2020-11-19 10:58:37 +07:00
andri lim
676ce3aedb
Merge pull request #528 from narimiran/parse-enum-2
...
write `Fork` enum in a "modern way"
2020-09-04 15:09:01 +07:00
narimiran
36a75197d2
write `Fork` enum in a "modern way"
...
This provides the same functionality as `$` proc, but it keeps working
with Nim 1.3+, where `parseEnum` implementation has been changed to be
able to work with enums with holes (after a bugfix for them).
Note that the first character is case-sensitive and "Constantinople" !=
"constantinople".
Since the tests (`test_op_arith` and `test_op_bit`) use lower-case first
letter, the string representation is also changed to the lower-case.
2020-09-03 10:03:20 +02:00
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