Commit Graph

2363 Commits

Author SHA1 Message Date
kdeme f34431e2d4
Bump nim-eth and nim-chronos and fix exception effects 2021-04-02 19:55:21 +02:00
Jordan Hrycaj 827b8c9c81
reset explicit import paths for local modules
why:
  it was convenient to have relocatable source modules when writing the
  vm interface wrappers. this patch moves it back to the standard.

also:
  there are no deep links into the vm folder anymore which leaves some
  room for manoeuvring inside
2021-04-01 12:53:22 +01:00
Jacek Sieka ebb65e9c20
Compile without pcre (#574) 2021-04-01 09:36:13 +02:00
Jordan Hrycaj 05bd635da2
fix formatting 2021-03-31 18:18:00 +01:00
Jordan Hrycaj c8582583ef
merge vm_memory, vm_interpreter, and vm_utils_numeric => vm_internals
why:
  currently used for tests only
2021-03-31 18:15:27 +01:00
Jordan Hrycaj 00ba7a2718
merge vm_forks and vm_opcode_values => vm_type2
why:
  all types, but they cannot be merged int vm_types because of a circular
  dependency.
2021-03-31 17:53:15 +01:00
Jordan Hrycaj 9e365734e6
renamed nvm_ prefixed modules to its original names
why:
  the nvm_ prefix was used inside the vm folder to hide them temporarily
  from the outside world while writing export wrappers. now all
  functionality is accessed via vm_*, rather than vm/* imports.

todo:
  at a later stage the import headers of the vm modules need to get fixed
  to meet style guide standards (as jacek kindly pointed out.)
2021-03-31 17:19:54 +01:00
Jordan Hrycaj 474bd9e910
expanded nvm_interpreter
details:
  explicit symbol exports rather than wholesale module names
2021-03-31 16:49:11 +01:00
Jordan Hrycaj 7c28d5d362
provide vm_utils_numeric as import/export wrapper
details:
  moved original vm/interpreter/utils/utils_numeric.nim => vm/interpreter/utils/utils_numeric.nim
2021-03-31 16:49:07 +01:00
Jordan Hrycaj 99568c9b46
provide vm_opcode_values as import/export wrapper
details:
  moved original vm/interpreter/opcode_values.nim => vm/interpreter/nvm_opcode_values.nim
2021-03-31 16:49:03 +01:00
Jordan Hrycaj cf63b9b03f
provide vm_memory as import/export wrapper
details:
  moved original vm/memory.nim => vm/nvm_memory.nim
2021-03-31 16:48:44 +01:00
Jordan Hrycaj 7b5d00307c
provide vm_precompiles as import/export wrapper
details:
  moved original vm/precompiles.nim => vm/nvm_precompiles.nim
2021-03-31 16:47:15 +01:00
Jordan Hrycaj 5ce7ca6b32
provide vm_interpreter as import/export wrapper
details:
  moved original vm/interpreter.nim => vm/nvm_interpreter.nim
2021-03-31 16:47:08 +01:00
Jordan Hrycaj eee24de450
provide vm_message as import/export wrapper
details:
  moved original vm/message.nim => vm/nvm_message.nim
2021-03-31 16:47:02 +01:00
Jordan Hrycaj cf3a356d76
provide vm_computation as import/export wrapper
details:
  moved original vm/computation.nim => vm/nvm_computation.nim
2021-03-31 16:38:10 +01:00
Jordan Hrycaj 689458a346
provide vm_gas_costs as import/export wrapper
details:
  moved original vm/interpreter/vm_gas_costs.nim => vm/interpreter/nvm_gas_costs.nim
2021-03-31 16:03:51 +01:00
Jordan Hrycaj 3a3e4d5707
provide vm_forks as import/export wrapper
details:
  moved original vm/interpreter/vm_forks.nim => vm/interpreter/nvm_forks.nim
2021-03-31 16:03:34 +01:00
Jordan Hrycaj 907465300f
isolate vm_state_transactions as import/export wrapper
details:
  moved original vm_state_transactions.nim => vm/nvm_state_transactions.nim
2021-03-31 10:05:47 +01:00
Jordan Hrycaj eda1290c25
isolate vm_state as import/export wrapper
details:
  moved original vm_state.nim => vm/nvm_state.nim
2021-03-31 09:58:26 +01:00
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 cb957b71e4
Merge pull request #572 from status-im/feature/restore-md-files2
restore test reports
2021-03-24 08:46:46 +00:00
Jordan Hrycaj 8e9364873b
restore test reports
why:
  currently outdated, so accidentally removed & hidden
2021-03-23 16:24:12 +00: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 14cf2c8cac fixes premix/downloader.nim to compile with new json_rpc 2021-03-19 12:30:00 +07:00
jangko 1988d08ad8 bump submodules 2021-03-19 12:30:00 +07: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 455756c098 first step into hive integration, fixes Dockerfile 2021-02-14 18:26:46 +07:00
jangko a836c122ed bump submodules 2021-02-14 11:01:27 +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 5248be1766 bump eth_tests to pre YOLO v3 2021-02-03 14:31:16 +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 6b8c5c9e91 fix gh action script for linux i386 2021-01-16 22:41:21 +07:00
jangko b22828806f add github action script 2021-01-15 14:03:10 +07:00
jangko 03bed02512 split legacy and new test to save time 2021-01-14 23:22:28 +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
andri lim dbb336fa07
Merge pull request #551 from status-im/fix_byzantium_bug
fix byzantium bug related to revertPrecompileTouched
2021-01-13 13:14:25 +07:00
jangko 9709525916
fix byzantium bug related to revertPrecompileTouched 2021-01-13 08:08:56 +07:00
andri lim 39723ee2fe
Merge pull request #550 from status-im/eip2929
EIP2929 implementation
2021-01-13 07:54:53 +07:00
jangko 15cacc749d
clean up EIP2929 for test 2021-01-12 16:17:00 +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