Commit Graph

82 Commits

Author SHA1 Message Date
Jordan Hrycaj fbff3aea68
Feature/goerli replay clique poa (#743)
* extract unused clique/mining support into separate file

why:
  mining is currently unsupported by nimbus

* Replay first 51840 transactions from Goerli block chain

why:
  Currently Goerli is loaded but the block headers are not verified.
  Replaying allows real data PoA development.

details:
  Simple stupid gzipped dump/undump layer for debugging based on
  the zlib module (no nim-faststream support.)

  This is a replay running against p2p/chain.persistBlocks() where
  the data were captured from.

* prepare stubs for PoA engine

* split executor source into sup-modules

why:
  make room for updates, clique integration should go into
  executor/update_poastate.nim

* Simplify p2p/executor.processBlock() function prototype

why:
  vmState argument always wraps basicChainDB

* split processBlock() into sub-functions

why:
  isolate the part where it will support clique/poa

* provided additional processTransaction() function prototype without _fork_ argument

why:
  with the exception of some tests, the _fork_ argument is always derived
  from the other prototype argument _vmState_

details:
  similar situation with makeReceipt()

* provide new processBlock() version explicitly supporting PoA

details:
  The new processBlock() version supporting PoA is the general one also
  supporting non-PoA networks, it needs an additional _Clique_ descriptor
  function argument for PoA state (if any.)
  The old processBlock() function without the _Clique_ descriptor argument
  retorns an error on PoA networgs (e.g. Goerli.)

* re-implemented Clique descriptor as _ref object_

why:
  gives more flexibility when moving around the descriptor object

details:
  also cleaned up a bit the clique sources

* comments for clarifying handling of Clique/PoA state descriptor
2021-07-06 14:14:45 +01:00
jangko d47be9047f
London: fix test_blockchain_json and test_generalstate_json
new London HF requires update to test code
2021-06-30 20:41:29 +07:00
jangko 4a188788bd
preparation for EIP-1559 implementation
- unify signTx in test_helper and signTransaction in rpc_utils
  and put it into transaction.nim
- clean up mess by previous EIP-2930
2021-06-29 07:33:48 +07:00
jangko a0d10f5728
drop PublicNetwork enum usage and replace it with NetworkId
we cannot limit the `--networkid` switch to values available in
`PublicNetwork` enum. it should able to accept very wide range of
custom NetworkId.
2021-05-20 14:04:16 +07:00
jangko 79044f1e92
eip2718: test_blockchain_json pass test 2021-05-15 18:09:35 +07:00
jangko 39ce2390ae
fixes `getRecipient`: using `sender` param instead of calculating sender itself
usually, there is always a sender around `getRecipient` call.
no need to recalculate sender. and more important, in some of
JSON-RPC/GraphQL call, the sender is come from `rpcCallData`,
not from `tx.getSender`. or in ohter situation when the tx is
an unsigned tx, without `r,s,v` fields to calculate sender.
2021-05-04 15:31:47 +07:00
Jamie Lokier 33481064fd
Premix: Remove `MordenNet` to match main program
Morden network has not had a working configuration in Nimbus for a few years,
so it's been removed form the main program.  Remove it from premix as well.

Signed-off-by: Jamie Lokier <jamie@shareable.org>
2021-04-27 11:11:24 +01:00
jangko 14cf2c8cac fixes premix/downloader.nim to compile with new json_rpc 2021-03-19 12:30:00 +07:00
jangko f6774b636a
fix premix/parser 2020-07-30 15:24:22 +07:00
jangko 9c38266ba7
implement eth_estimateGas 2020-07-29 12:42:32 +07:00
jangko f82dff64fa
implement more eth rpc and keystore management 2020-07-23 14:54:32 +07:00
jangko 165f9fea2e
reduce warnings 2020-07-21 13:15:06 +07:00
jangko 2e583e9aa0
fix persist tool to support testnet 2020-06-19 17:52:19 +07:00
andri lim 02db881eea
upgrade jquery to 3.5.0, uikit to 3.4.0 and silence github security alert 2020-05-01 11:24:49 +07:00
Jacek Sieka 4ade5797ee
rlp: don't use ranges / experimental features (#495) 2020-04-20 20:12:44 +02:00
andri lim f66f49168a
fix bc/gst tester for istanbul [skip ci] 2019-11-14 21:20:34 +07:00
andri lim c5d07fc07f implement bc test fixtures parser 2019-09-04 19:05:21 +02:00
Jacek Sieka 2763bd0dd5
std_shims -> stew 2019-07-07 12:12:01 +02:00
Yuriy Glukhov 19e7d70099 Fixed rpc client api usage 2019-06-24 19:32:34 +03:00
andri lim 0b87151195
remove head from processBlock 2019-03-21 09:44:53 +07:00
Ștefan Talpalaru a67edd693a
assert() -> doAssert() 2019-03-13 22:36:54 +01:00
andri lim 72cebff516 add 'DownloadAndValidate' flag to premix downloader 2019-03-13 15:45:33 +02:00
andri lim 0c01735c4b
add some info to persist tool 2019-03-11 20:21:09 +07:00
andri lim 299d88d3f9
fix premix report page pagination 2019-03-11 16:38:16 +07:00
andri lim 8b9f4fd702
add pagination to premix report page 2019-03-11 10:49:36 +07:00
andri lim e2311d798b
fix recurring symbol collision problem 2019-03-07 22:53:09 +07:00
andri lim 14d1c28982 new member of premix tool set 2019-02-27 13:44:01 +02:00
andri lim 2c032ad1ab refactor utils 2019-02-27 13:30:18 +02:00
andri lim d21d0814c6 add getAncestorHash to hunter tool 2019-02-22 13:11:28 +02:00
andri lim 0e6f96b0e1 use transaction.rollback in debug, hunter, and dumper 2019-02-22 13:11:28 +02:00
andri lim 47a8089ff8 fixes #236 2019-02-21 13:09:36 +02:00
andri lim 6f0f7624b9 premix report page: fix receipts logs renderer 2019-02-20 15:16:07 +02:00
andri lim e1c622f83f update readme.md 2019-02-18 13:16:04 +02:00
andri lim 00989e9c9a premix report page: chunked table cell using monospace font 2019-02-18 13:16:04 +02:00
andri lim fdc34a4cf6 fixes vmState construction 2019-02-15 17:20:51 +02:00
andri lim a6ecdb22b4 premix report page: fix empty traces renderer 2019-02-07 11:25:54 +01:00
Zahary Karadjov 48cdc6da0b
make some 'beginTransaction' usages safer 2019-02-07 11:10:04 +01:00
andri lim fdc9a15785 premix: fix dumper tool, dispose db changes 2019-02-07 11:01:43 +01:00
andri lim 601350d8d0 premix: fixes debug tool, dispose db changes 2019-02-06 18:42:03 +01:00
andri lim 2f208c32e0 premix report page: fixes stack renderer 2019-02-06 18:42:03 +01:00
andri lim 817bce3555 premix report page: modify header section to display block summary 2019-02-06 18:42:03 +01:00
andri lim f75faf54c3 premix report page: add accounts section 2019-02-06 18:42:03 +01:00
andri lim e3b6ffe5ba add precompiled contract names to premix report page to identify accounts 2019-02-06 18:42:03 +01:00
Yuriy Glukhov 481c6cf4ed Use nim-eth (#224) 2019-02-05 20:15:50 +01:00
andri lim 33716888df
sign with GPG 2019-01-28 20:58:06 +07:00
andri lim c0484adfa0 remove tabs from js_tracer.nim 2019-01-28 20:17:20 +07:00
Ștefan Talpalaru 95829b1f3f reword the HTML help
and add a note about geth not switching to a full sync if it was run
with a fast sync at any time in the past in that same db
2019-01-28 12:38:23 +02:00
Ștefan Talpalaru f37352e127 readme subtitles for individual tools 2019-01-28 12:38:23 +02:00
Ștefan Talpalaru ede45648e7 Premix-related changes
- build all tools using the Makefile and place them in ./build
- add copyright header to Makefile
- premix/readme.md edited to fix some errors, improve descriptions and
  document Makefile usage
- link the Premix documentation in the main README.md
- also build `hunter` in the nimble tests
- refactored the file and directory search so all debugging tools can be run
  from the top-level dir like this: `./build/<tool> ...`
- write all JSON debugging data in the current directory
- add JSON files generated in the top-level dir to .gitignore
- Nimbus now exits with an exception after dumping debug data and
  running `premix` on it
2019-01-28 12:38:23 +02:00
andri lim c3190f0c7a add db beginTransaction and dispose to hunter 2019-01-21 22:22:41 +02:00