Ș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