Commit Graph

570 Commits

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