214 Commits

Author SHA1 Message Date
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
coffeepots
63f9acd8ce Add create and apply message procs 2018-09-14 18:03:26 +01:00
coffeepots
c7a014bb10 Add gas cost for create 2018-09-14 17:59:21 +01:00
coffeepots
af76d209a6 Add opcode executor proc to computation 2018-09-14 16:47:40 +01:00
coffeepots
7cd7a73a1f Add opCodeExec to allow computation to execute code 2018-09-14 16:42:15 +01:00
coffeepots
213aebde7d Update some comments, adding TODO item for getStateDb 2018-09-14 16:16:55 +01:00
coffeepots
6183761251 Refactor for generateChildComputation 2018-09-14 16:16:55 +01:00
coffeepots
2b6342764c Add fork to string proc 2018-09-14 16:16:55 +01:00
coffeepots
d465fcd038 Appy child computation in call op code 2018-09-14 16:16:55 +01:00
coffeepots
2a38c0194d Expose isCreate for export 2018-09-14 16:16:55 +01:00
coffeepots
69f07c587a Add generateChildComputation, addChildComputation and applyChildComputation 2018-09-14 16:16:55 +01:00
coffeepots
d24108a79b Convert code from byte range to seq 2018-09-14 16:16:55 +01:00
coffeepots
b4fd38e062 Call now gets and checks balance against funds, also now fetches code 2018-09-14 16:16:55 +01:00
Dustin Brody
7ba90fda54
48 new working GeneralStateTests, via fixing some overflows/underflows, creating a rudimentary balance commit/revert scheme, and implementing account deletion for the selfdestruct instruction (#146) 2018-09-14 13:43:40 +00:00
Yuriy Glukhov
62260c786d Caching DB backend 2018-09-12 17:53:15 +03:00
Dustin Brody
fd07d6fed1 A simple/basic GeneralStateTest runner which gets 400+ of them correct 2018-09-10 19:42:45 +03:00
Yuriy Glukhov
3a1ec035b3 Various fixes towards state reconstruction 2018-09-07 14:00:37 +03:00
coffeepots
09d35d4bfd Fix merge conflict 2018-09-06 13:59:22 +01:00
coffeepots
7e02eedea0 Use toOpenArray in generateAddress 2018-09-06 13:57:42 +01:00
coffeepots
085880758b Always update account nonce even if there's an contract address collision 2018-09-06 13:57:42 +01:00
coffeepots
ca6eb0cb38 Don't touch nonce until after address in-use check 2018-09-06 13:57:42 +01:00
coffeepots
555687ba97 Comment reference to issue regarding address collisions 2018-09-06 13:57:42 +01:00
coffeepots
9f1027102c Make generateAddress a func 2018-09-06 13:57:42 +01:00
coffeepots
7a5a43f50f Add generateAddress utility 2018-09-06 13:57:42 +01:00
coffeepots
0e2068c99e Create Op now generates contract addresses & checks for collisions 2018-09-06 13:57:42 +01:00
coffeepots
350bf7e672 Add hasCodeOrNonce 2018-09-06 13:57:42 +01:00
coffeepots
69befaf4fd Use toOpenArray in generateAddress 2018-09-06 13:48:55 +01:00
Yuriy Glukhov
0a247a58f3 New nim compat 2018-09-06 13:16:13 +03:00