Commit Graph

806 Commits

Author SHA1 Message Date
Jordan Hrycaj ed59f602d5
isolate vm_types as import/export wrapper
details:
  moved original vm_types.nim => vm/nvm_types.nim
2021-03-31 09:48:50 +01:00
Jordan Hrycaj a3db0f41d8
remove relative paths ./ and ../ from import section
why:
  relative paths make sources inherently non-relocatable

details:
  import base is set to the nimbus directoy, so importing ./stack
  from file interpreter.nim becomes vm/stack etc.

caveat:
   a file named nimbus/strformat.nim would clash with strformat (but
   not with std/strformat)
2021-03-30 17:20:43 +01:00
Jordan Hrycaj 6d2b7ad6da
fix cleanup maker
why:
  embedded find needs brackets around or condition
2021-03-30 16:26:35 +01:00
Jordan Hrycaj e5de7eec22
Merge pull request #568 from status-im/feature/nim-docs-generation-for-nimbus2
generate docs (and other niceties ..) for nimbus sub-directory
2021-03-23 08:51:13 +00:00
jangko 2cd081495b implement '--import': import rlp encoded block(s), validate, write to db and quit 2021-03-23 10:37:00 +07:00
Jordan Hrycaj 4a368329f9
update clean target
why:
  recursively clean up all locally generated nimcache directories (previously
  only the top-level nimcache was cleared)
2021-03-22 17:41:24 +00:00
Jordan Hrycaj 1686d3b710
update nim-doc for windows/mingw32
why:
  under win/mingw32 the --docRoot argument value for the NIM doc
  generator needs a window-ish path C:\\MinGW\\msys\\1.0\\home\\...

also:
  fix clean up for nimdoc.out.css or  nimdoc_out.css (varies on
  win/posix operating system)
2021-03-22 16:34:08 +00:00
Jordan Hrycaj de24b544c4
generate docs (and other niceties ..) for nimbus sub-directory
why:
  * easy browsing of prototype docs, allows to follow links with
    a web browser on the local file system
  * some md & png files may contain additional documentation

overview:
  * separate nimbus/makefile, try "make -C nimbus" for instructions
  * running "make -C nimbus docs" will do the job
  * x-ref file in nimbus/docs/theindex.html
  * additional md and png files in nimbus/docs/ex/.. subdirectory

details:
  * a newer nim compiler provides better referencing when available, in
    particular the back link to the indices are not provided by the 1.2.10
    nim compiler (automatically handled by makefile)
  * make patterns are used to update files only when the timestamp changes
  * should provide "discount" markdown generator, otherwise fallback
    to <pre/> encapsulated text file
2021-03-19 15:59:59 +00:00
jangko 8e4b917fd3 allow custom net parser to skip chain config and only parse genesis data 2021-02-16 10:37:42 +07:00
jangko 8486c1834c fixes #558, use distinct uint for ChainId and NetworkId to prevent confusion 2021-02-14 11:01:27 +07:00
jangko 2566cebfe0 fixes #548, custom network json parser now behaves like geth 2021-02-11 18:19:33 +07:00
jangko b6ad47f3a4 fixes evmc bug and add github action job to test evmc 2021-01-20 11:50:07 +07:00
jangko 8c5c967715 bump submodules 2021-01-20 11:50:07 +07:00
jangko ad284e3d25 fixes EIP2929 SLOAD 2021-01-14 23:22:28 +07:00
jangko f6c44ffcc0 fixes EIP2929 CALL opCode 2021-01-14 23:22:28 +07:00
jangko 9709525916
fix byzantium bug related to revertPrecompileTouched 2021-01-13 08:08:56 +07:00
jangko f906d177f4
add comments about disabled EIPs 2021-01-11 15:33:30 +07:00
jangko 01dec1d359
fixes EIP2929 opcodes impl 2021-01-11 14:57:40 +07:00
jangko 3db535aa39
EIP2929 implementation 2021-01-11 14:56:42 +07:00
jangko f2b483d6ad
access list implementation 2021-01-11 14:54:55 +07:00
jangko ab314c1e04
temporary disable EIP2046 and EIP2565 2021-01-11 14:53:51 +07:00
jangko c84e34cac6
simplify blscurve utils impl 2020-12-02 18:14:34 +07:00
jangko 397119468a
simplify bncurve getPoint 2020-12-02 16:17:52 +07:00
jangko fec9d26873
more eip2537 cleanup 2020-12-02 15:15:58 +07:00
jangko 90415d537f
add map_to_curve_g1 implementation for miracl 2020-11-30 21:19:46 +07:00
jangko 3f79588a74
EIP2537 part 3 2020-11-29 08:01:17 +07:00
jangko 0799b4534c
EIP2537 part 2 2020-11-28 23:13:10 +07:00
jangko c1b7ae5b02
EIP2537 part 1 2020-11-27 21:42:17 +07:00
andri lim 360b74327e
Merge pull request #544 from status-im/precompiles_test_rework
Precompiles test rework
2020-11-26 10:34:26 +07:00
jangko 971e00e580
precompile contracts test rework 2020-11-25 20:42:15 +07:00
jangko 56bc1205e5
returnStack: use seq[int] instead of Uint256 Stack 2020-11-25 19:09:16 +07:00
jangko a263e6b1a6
implement EIP2315 tests 2020-11-25 18:23:02 +07:00
jangko a38882a9a0
implement EIP 2315 opcodes 2020-11-25 17:09:10 +07:00
jangko 5a78b8a5a7
stubbing berlin opcodes 2020-11-25 16:43:34 +07:00
jangko e2cd9b20fa
add returnStack to Computation 2020-11-25 16:26:24 +07:00
jangko 5bb6418bcb
implement EIP2565 2020-11-24 16:19:02 +07:00
jangko 97f73fd03d
implement EIP 2046 2020-11-19 14:23:07 +07:00
jangko c68aa47464
fixes fork comparison related code 2020-11-19 11:59:53 +07:00
jangko 648cc77f80
add berlin hf enum 2020-11-19 10:58:37 +07:00
andri lim 676ce3aedb
Merge pull request #528 from narimiran/parse-enum-2
write `Fork` enum in a "modern way"
2020-09-04 15:09:01 +07:00
narimiran 36a75197d2 write `Fork` enum in a "modern way"
This provides the same functionality as `$` proc, but it keeps working
with Nim 1.3+, where `parseEnum` implementation has been changed to be
able to work with enums with holes (after a bugfix for them).

Note that the first character is case-sensitive and "Constantinople" !=
"constantinople".
Since the tests (`test_op_arith` and `test_op_bit`) use lower-case first
letter, the string representation is also changed to the lower-case.
2020-09-03 10:03:20 +02:00
jangko f987e86562
implement more eth rpc 2020-07-30 14:21:11 +07:00
jangko 9c38266ba7
implement eth_estimateGas 2020-07-29 12:42:32 +07:00
jangko c9802edfce
setup block and state env for more complex eth rpc tests 2020-07-28 23:48:45 +07:00
jangko bb89a296dd
implement eth_signTransaction, eth_sendTransaction, eth_sendRawTransaction, eth_call 2020-07-24 19:44:36 +07:00
jangko 7819dae7ce
implement eth_signTransaction 2020-07-23 22:30:42 +07:00
jangko d200a98a68
fix compilation error 2020-07-23 16:01:19 +07:00
jangko f82dff64fa
implement more eth rpc and keystore management 2020-07-23 14:54:32 +07:00
jangko 336efdb0c3
implement web3, net, and some eth namespace rpc 2020-07-22 23:57:55 +07:00
jangko 032c29288a
fix git revision string in config.nim 2020-07-22 18:40:12 +07:00