Commit Graph

1959 Commits

Author SHA1 Message Date
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
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
Dustin Brody 22882edf4d
get 106 more generalstatetests working by detecting computation errors and allowing empty code accounts (#145) 2018-09-13 15:00:23 +00:00
Dustin Brody 3cc7e9d8fd
skip 1000+ tests which either are slow (quadratic tests) or don't support Homestead; add ~50 new working tests (#143) 2018-09-12 16:33:53 +00:00
Yuriy Glukhov 62260c786d Caching DB backend 2018-09-12 17:53:15 +03:00
Dustin Brody 00c4df6153
detect erronous transactions and roll back to previous state, without refunding any gas, per yellow paper (#141) 2018-09-11 13:15:59 +00:00
Dustin Brody 64bd9c350b make link text consistent with command 2018-09-10 19:42:45 +03:00
Dustin Brody e24f7fe144 unskip some other (failing) tests 2018-09-10 19:42:45 +03:00
Dustin Brody fc346cb5b6 Update README.md to point to test suite which is currently in development and not already tested by CI 2018-09-10 19:42:45 +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
Jacek Sieka f9034e95b5
appveyor: fix version check 2018-09-06 11:57:26 -06:00
coffeepots 8c425dc173
Merge pull request #134 from status-im/createOpContractAddr
Add to Create Op, generateAddress
2018-09-06 16:16:11 +01: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
coffeepots 4a9b1a4a1f
Merge pull request #137 from status-im/new-nim-compat
New nim compat
2018-09-06 11:42:15 +01:00
Yuriy Glukhov 0a247a58f3 New nim compat 2018-09-06 13:16:13 +03:00
coffeepots 485781e6ad Always update account nonce even if there's an contract address collision 2018-09-06 10:58:35 +01:00
Dustin Brody 9e1be6438e Extract transaction senders from GeneralStateTest fixtures 2018-09-06 11:20:43 +03:00