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