Nimbus: an Ethereum Execution Client for Resource-Restricted Devices https://status-im.github.io/nimbus-eth1/
Go to file
Mamy Ratsimbazafy 90c3ca4a96
Gas refactoring - decouple opcode logic and gas (#49)
* Decoupling op logic and gas - introduce gasometer, rework opcode declaration

* Remove gas constants for gas opcode computation

* Remove gas constants for precompiled contracts

* make vm_types compile

* Make opcode, call and computation compile

* Distinguish between dynamic and complex gas costs, fix arithmetic

* Fix context and sha3

* update memory and storage ops

* Log opcode uses memory expansion code

* update/stub system_ops with gas costs

* Make test compile. Deactivate stub test_vm

* all tests compiles, opcode fails due to https://github.com/nim-lang/Nim/issues/8007 (const object variant in tables reset at runtime)

* Create an enum without holes - workaround: https://github.com/nim-lang/Nim/issues/8007

* Use arrays instead of tables for GasCosts, remove some unused imports - passing all basic tests!

* Make test_vm_json compile

* Fix test_vm_json - workaround https://github.com/nim-lang/Nim/issues/8015

* fix memory expansion cost bug

* Remove leftover special handling from before GckMemExpansion

* cleanup outdated comment, better align =

* Fix sha3 gas cost not taking memory expansion into account

* Improve gas error reporting of test_vm_json

* Fix gas computation regression due to mem expansion

* mass replace for memExpansion->RequestedMemSize was too eager

* fix log gas cost (no tests :/)

* missed a static FeeSchedule

* static as expression is fickle
2018-06-12 17:33:47 +02:00
doc Update Nimbus - An Ethereum 2.0 Sharding Client_xt.md 2018-05-28 10:44:12 -07:00
examples Some renames 2018-05-28 13:22:28 +03:00
nimbus Gas refactoring - decouple opcode logic and gas (#49) 2018-06-12 17:33:47 +02:00
tests Gas refactoring - decouple opcode logic and gas (#49) 2018-06-12 17:33:47 +02:00
.appveyor.yml Fix Appveyor when it appends a random string (#16) 2018-04-13 19:33:20 +02:00
.gitignore Hash256/EthAddrres refactoring 2018-05-30 19:11:15 +03:00
.travis.yml Fixed TTInt rlp encoding. Fixes #9. (#12) 2018-04-12 12:34:20 +02:00
LICENSE-APACHEv2 Update README badges and add dual-license header 2018-04-06 16:52:10 +02:00
LICENSE-MIT Update README badges and add dual-license header 2018-04-06 16:52:10 +02:00
README.md Update README.md 2018-05-28 10:45:03 -07:00
VMTests.md Gas refactoring - decouple opcode logic and gas (#49) 2018-06-12 17:33:47 +02:00
default.nix Add Nix files for obtaining all C/C++ dependencies 2018-02-23 18:55:04 +02:00
devenv.nix Add Nix files for obtaining all C/C++ dependencies 2018-02-23 18:55:04 +02:00
nimbus.nimble Hash256/EthAddrres refactoring 2018-05-30 19:11:15 +03:00

README.md

Nimbus: an Ethereum 2.0 Sharding Client for Resource-Restricted Devices

Build Status (Travis) Windows build status (Appveyor)License: Apache License: MIT Stability: experimental

Join the Status community chats: Riot: #dev-status Riot: #nimbus

Rationale

Nimbus: an Ethereum 2.0 Sharding Client

License

Licensed under one of the following: