955 Commits

Author SHA1 Message Date
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