Commit Graph

241 Commits

Author SHA1 Message Date
coffeepots 1cead76327 Add note about cyclic dep 2018-11-08 16:40:40 +00:00
coffeepots 6eb430fd52 Fix CREATE op code gas costs, more debug output, call transactions 2018-11-08 16:00:21 +00:00
coffeepots 492d2ae676 Debug message for new messages 2018-11-08 15:48:32 +00:00
coffeepots 6b1e989ff0 Add initial gas cost for CREATE 2018-11-08 15:47:48 +00:00
coffeepots 7ba1cfaf13 Remove endian code, precompiles should now run. Removed raise as case stmt is full now. 2018-10-19 14:41:04 +01:00
coffeepots 434edcc2ae Fix incorrect message parameters (had sender and destination swapped) 2018-10-18 17:47:54 +01:00
cheatfate 0b15b86195 Fix ecMul, ecPairing, ecAdd. 2018-10-16 11:49:13 +03:00
coffeepots 6e4616e443 Precompiles now executed if called from vm_state_transactions 2018-10-12 16:16:14 +01:00
coffeepots 67df44e917 Fix ecrecover, pad ripemd result and use sha256 vs keccak256 2018-10-10 17:36:11 +01:00
mratsim bb6e1e1d76 modExp precompiles: fix padding and static evaluation 2018-10-10 16:26:21 +02:00
mratsim 0494e2a877 Support short inputs with missing bytes 2018-10-05 17:37:52 +02:00
mratsim 38b4d54815 Add modExp precompile + gas costs 2018-10-05 17:26:20 +02:00
cheatfate 9318ea93cf Added nim-bncurve dependency.
Added implementation of `ecAdd`, `ecMul`, `ecPairing` precompiles.
2018-10-05 12:15:04 +03:00
coffeepots 6a4cd4ec67 Update precompile gas costs case (cosmetic change) 2018-10-03 17:59:41 +01:00
coffeepots 3249c3e048 Add precompile costs 2018-10-03 16:39:34 +01:00
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 5c0fd16448 Fix an issue with the Sqlite3 tests (the in-memory DB was not properly used) 2018-09-25 16:01: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
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
Yuriy Glukhov 22668407a7 Some tweaks and comments (#155) 2018-09-20 20:06:22 +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 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
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
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 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
coffeepots cdfcda41b4 Remove init 0 after child computation 2018-09-14 18:04:09 +01:00