Commit Graph

596 Commits

Author SHA1 Message Date
coffeepots 3deb09bbb6 Add SHA256, RIPEMD160 and Identity precompiles 2018-10-03 13:33:19 +01:00
coffeepots fcffd94469 Support different endians 2018-10-02 16:39:01 +01:00
coffeepots 36270ff4d5 Fixes for Call gas usage, Calls use precompiles, pass down their opCode 2018-10-02 16:07:16 +01:00
coffeepots e2087f0922 Remove precompile hash table 2018-10-02 15:55:28 +01:00
coffeepots 62968bf733 Initial support for precompiles with ecRecover 2018-10-02 15:46:39 +01:00
tersec 4f04332205
Refactor contract creation into transaction code from P2P code; get 14 new GSTs working (#163)
* checkpoint where refactoring and calling from GST runner doesn't break anything

* 14 new GSTs pass by refactoring contract creation out of p2p/chain and using from GST test runner

* 2 of 14 new tests fail in 32-bit builds

* switch from CREATE_CONTRACT_ADDRESS to isContractCreation

* switch another CREATE_CONTRACT_ADDRESS to isContactCreation
2018-09-29 15:36:42 +00:00
Dustin Brody 3f5fc9a034 read through block 49017 by properly setting createAddress/storageAddress of the computation message and detecting whether the computation has the gas required to pay 200*code length; also, clean up pointless commented nonnegativity assertions for nonnegative GasInt type 2018-09-28 10:26:27 +03:00
tersec d4e95fae94
refactor aspects of transaction processing out of GeneralStateTests handler; get p2p/chain runnning through block 48680; combine/deduplicate two different but equivalent methods of caulculating transaction intrinsic gas cost; fix BaseTransaction references to just Transaction references in hitherto unreferenced stubbed out source so it builds; clean up some imports from refactoring (#161) 2018-09-27 19:09:26 +00:00
Zahary Karadjov 2c59de6064 Fix the Nimbus build after the merge 2018-09-26 14:00:52 +03:00
Yuriy Glukhov 7a732040ba Added comments 2018-09-26 13:31:48 +03:00
Yuriy Glukhov 291fddee71 Better cmdline flags handling 2018-09-26 13:31:48 +03:00
Zahary Karadjov 74f6f0b738 Deal with the refactoring in status-im/nim-rlp#20 2018-09-26 12:58:23 +03:00
Zahary Karadjov 560c4c66a2 Restore the Nix build 2018-09-26 12:34:24 +03:00
Zahary Karadjov 5c0fd16448 Fix an issue with the Sqlite3 tests (the in-memory DB was not properly used) 2018-09-25 16:01:38 +03:00
zah 3a3a56861e
Cosmetic change 2018-09-25 02:10:38 +03:00
Zahary Karadjov 4e323df363 Implement a --datadir command-line options
By default, the database files will be written in the
platform-specific application data folder:

$HOME/AppData/Roaming/Nimbus/DB
$HOME/Library/Application Support/Nimbus/DB
$HOME/.cache/nimbus/db
2018-09-25 02:06:20 +03:00
Dustin Brody 5eaacfab30 add fedora rocksdb package to readme.md 2018-09-24 12:21:21 -07:00
Dustin Brody c468bcd713 clean up VMTests and remove some scaffolding 2018-09-24 21:46:53 +03:00
tersec 487730bcba
remove misleading/counterproductive Nim version guideline (#157) 2018-09-24 15:19:39 +00:00
tersec 690ce2cf97
Partly fix state_db getCode for 20 new working GeneralStateTests (#156)
* partly fix state_db getCode to get 20 new working GeneralStateTests; remove 2 functions which existed as workarounds; switch all remaining setBalance calls in GeneralStateTestRunner to subBalance (addBalance calls already changed)

* two of the 20 new tests don't work in 32-bit builds
2018-09-20 21:36:57 +00:00
Dustin Brody 468a69d26b add Debian/Ubuntu RocksDB links to README.md 2018-09-20 13:57:15 -07:00
Yuriy Glukhov 22668407a7 Some tweaks and comments (#155) 2018-09-20 20:06:22 +00:00
Jacek Sieka 0442cbcfbe
nimble: cleanup nimcache and experimental 2018-09-20 12:58:33 -06:00
Dustin Brody 8e231b566c
set to allow-fail another dozen or so tests which have 32-bit issues and integrate with CI (#154) 2018-09-19 17:57:45 +00:00
Dustin Brody 8f4e1a4445
integrate GeneralStateTest runner into CI with 775 running tests (#153)
* fix 32-bit issue in AppVeyor

* allow another dozen or so GeneralStateTest fixtures which work on 64-bit, but not on 32-bit platforms, to safely-fail, but demarcate them separately to facilitate debugging

* steal fa672600eb from @coffeepots fix-int32-high-zero branch
2018-09-19 16:46:14 +00:00
Yuriy Glukhov 5acd6cc049 newMemoryDB 2018-09-19 18:41:17 +03:00
Yuriy Glukhov 0adfaf0f31 s/increaseBalance/addBalance 2018-09-19 18:41:17 +03:00
Yuriy Glukhov 75f973e654 Fixed test 2018-09-19 18:41:17 +03:00
Yuriy Glukhov 3d64c66b7a More state restoring 2018-09-19 18:41:17 +03:00
coffeepots 766d1c4091 Temp fix for int32.high returning zero 2018-09-19 12:11:54 +03:00
Yuriy Glukhov 05b4745f2e
Merge pull request #150 from status-im/pre-homestead-gas-costs
Homestead contract creation gas cost
2018-09-18 19:13:38 +03:00
mratsim 070487d78a Homestead contract creation gas cost 2018-09-18 17:28:40 +02:00
Dustin Brody dd20f4079c revert better toSeq version to worse for-loop version of extracting keys from table because former now fails to compile 2018-09-18 07:07:04 -07:00
Dustin Brody 048921b045 20 new working GeneralStateTests 2018-09-18 14:00:30 +00:00
Dustin Brody 7dfd2a3849 update deltabalance to mix of setBalance and increaseBalance 2018-09-18 06:25:28 -07:00
coffeepots 4f03c9cf2a
Merge pull request #139 from status-im/callOpCodeWork
Flesh out call op
2018-09-18 14:09:00 +01:00
coffeepots b49637cdbf Helper procs for updating opcode executor based on fork 2018-09-18 13:10:30 +01:00
coffeepots d435e434ec Copy opCodeExec to child computation 2018-09-18 13:03:22 +01:00
coffeepots 4a944398c9 More newMemoryDb updates 2018-09-18 12:18:59 +01:00
coffeepots 760e4f9685 Adjust trie creation to properly init transactional tries 2018-09-18 12:02:34 +01:00
Zahary Karadjov d71ce6fb24 Make use of the new transactional API offered by the Trie DB 2018-09-18 02:56:10 +03:00
coffeepots d484420f5b Remove fork distinguished procs, handle in applyCreateMessage 2018-09-17 19:35:07 +01:00
coffeepots c300044474 Add EIP170_CODE_SIZE_LIMIT 2018-09-17 19:34:29 +01:00
coffeepots 949d4c11f8 Full names for `$`(fork) 2018-09-17 18:38:10 +01:00
Dustin Brody fe761cd4ff 14 additional GeneralStateTests and clean up some empty hex string parsing kludginess 2018-09-17 13:41:32 +00:00
Dustin Brody beb1befc6e 13 additional GeneralStateTests working; remove commented auto-ported Py-EVM validations which are implicit in UInt256; address comments to last commit (toSeq, hoising vmState.readOnlyStateDB, deltaBalance -> increaseBalance) 2018-09-17 13:41:32 +00:00
Zahary Karadjov 409d875beb Some helpers for tracing and debugging Trie issues (the code is no-op by default) 2018-09-16 00:20:20 +03:00
Zahary Karadjov f84b3c337c Don't use HTTP dependencies in Nimble due to nim-lang/nimble#543 2018-09-16 00:08:29 +03:00
coffeepots cdfcda41b4 Remove init 0 after child computation 2018-09-14 18:04:09 +01:00
coffeepots 63f9acd8ce Add create and apply message procs 2018-09-14 18:03:26 +01:00