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
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