Commit Graph

120 Commits

Author SHA1 Message Date
Tomasz Drwięga 38c00fae88
Merge branch 'master' into evm-defer 2017-06-29 18:42:58 +02:00
Tomasz Drwięga 465c7eeaa2
Defer construction valid_jump_destinations. 2017-06-29 17:43:34 +02:00
Arkadiy Paronyan 57626b60e7 EIP-168, 169: Dust protection (#4757)
* Dust protection

* Track touched accounts in the substate

* Minor alterations
2017-06-28 09:10:57 +02:00
Marek Kotewicz 575c51f5a0 eip214, #4833 (#4851) 2017-06-19 11:41:46 +02:00
Tomasz Drwięga fb3668f903 Adding missing documentation. (#5821) 2017-06-13 18:38:10 +03:00
arkpar 4b74f65ed8 Fixed mem write for empty slice v2 2017-06-12 22:45:57 +02:00
Arkadiy Paronyan 033a75888c Revert "Fixed mem write for empty slice (#5825)" (#5826)
This reverts commit 6b874cedb8.
2017-06-12 22:43:20 +02:00
Arkadiy Paronyan 6b874cedb8 Fixed mem write for empty slice (#5825) 2017-06-12 22:42:58 +02:00
Tomasz Drwięga 75ac263961 Fix stack display in evmbin. (#5733)
* Fix stack display.

* Additional compatiblity fixes.
2017-06-09 12:31:03 +02:00
Arkadiy Paronyan 99bfef2801 EIP-211 RETURNDATACOPY and RETURNDATASIZE (#5678)
* EIP-211

* Optimized memory usage

* Optimized truncation
2017-06-06 18:47:12 +03:00
Guanqun Lu 5a20c63b70 two small changes in evm (#5700)
* add a simple test for is_push so that every small utility has a corresponding unit test

* split evm/factory.rs into two files as the TODO suggests

* style fixes according to review comments
2017-05-30 19:31:43 +02:00
Arkadiy Paronyan e6a31e7543 EIP-210 BLOCKHASH changes (#5505)
* EIP-210

* comment
2017-05-30 11:52:33 +02:00
Tomasz Drwięga 543965411e Revamping parity-evmbin (#5696)
* Revamping evmbin to support spec files, json format and subcalls.

* Fix formatting of usage.
2017-05-26 11:06:48 +02:00
Nikolay Volf e1fef5c732 Update dependencies and bigint api (#5685)
* update to latest bigint

* bump elastic array and deps

* fix rlp tests

* also update all smallvec deps

* fix doc test

* reduce parking in attempt to fix CI bug

* fix from/into electum bug

* remove duplicate imports
2017-05-24 12:31:33 +02:00
Arkadiy Paronyan dd004aba9f EIP-140 (#5477) 2017-05-23 16:49:17 +03:00
Guanqun Lu 6d81b8a49a use copy_from_slice instead of for loop (#5647) 2017-05-18 12:46:14 +02:00
Arkadiy Paronyan ed7c366b90 EIP-86 fixes (#5506) 2017-05-05 15:00:40 +01:00
Arkadiy Paronyan b50fb71dd1 EIP-86 (#4697)
* EIP-86

* Disable EIP-86 auto activation for now
2017-04-19 14:30:00 +02:00
NikVolf 34fb39da5b avoid allocating string 2017-03-25 23:30:11 +03:00
NikVolf d1293d9fb0 fix warnings 2017-03-22 15:54:19 +03:00
NikVolf 5e34235a36 initial, fallable built-ins 2017-03-22 04:01:46 +03:00
Robert Habermeier 1bf2b27708 Propagate trie errors upwards from State (#4655)
* state backend trait mirroring state_db API

* minimal state backend trait

make state module public

* fix json tests

* return errors on database corruption

* fix tests, json tests

* fix remainder of build

* add Backend bound on state
2017-02-26 13:10:50 +01:00
Gav Wood 8404edb656 Fix whitespace (#4299)
* Fix whitespace.

* Update copyright years/owner.

* Push release only for tags.
2017-01-25 18:51:41 +01:00
Tomasz Drwięga fa02b3ae54 Additional logs for own transactions (#4278) 2017-01-24 19:18:52 +00:00
Gav Wood 311730ea95 Improvements and optimisations to estimate_gas (#4142)
* Return 0 instead of error with out of gas on estimate_gas

* Fix stuff up.

* Another estimate gas fix.

* Alter balance to maximum possible rather than GP=0.

* Only increase to amount strictly necessary.

* Improvements and optimisations to estimate_gas.

- Introduce proper error type
- Avoid building costly traces

* Fix tests.

* Actually fix testsActually fix tests
2017-01-12 11:06:12 +01:00
Robert Habermeier 8125b5690c Port `try` macro to new `?` operator. (#3962)
* initial untry sweep

* restore try in ipc codegen, fix inference

* change a few missed try instances
2016-12-27 12:53:56 +01:00
Gav Wood 58b72c521d
Rename ethcore -> parity in licenses. 2016-12-11 19:31:31 +01:00
Gav Wood 17cc2be4b5
Rename ethcore -> parity in license. 2016-12-11 19:30:54 +01:00
Tomasz Drwięga 2b3d100de2 Fixing some clippy warnings 2016-11-28 15:54:22 +01:00
Gav Wood 528bf17af5 Restrict max code size to 23999 bytes for EIP-150 and after. 2016-11-15 17:58:28 +01:00
Gav Wood d3de475205 EIPs 155, 160, 161 (#2976)
* The front-end for each hard-fork, also EIP-160.

* Address EIP161 a/c

* Include EIP-161b

* EIP-161 part d.

* Fix test build.

* Fix one test, add another.

* Fix use of bloom & renaming.

* Initial groundwork for EIP-155

* Fix minor bug.

* Fix all tests finally.

* Rest of EIP-155.

* Add tests for EIP-155 algorithm.

Update transaction tests validation.

* Minor reformat.

* Address grumbles.

* Remove unused code.

* Fix SUICIDE gas mechanism and add consensus tests.

* Remove commented code.

* Set Frontier hardfork block number

* Fix warning.

* Transaction tests,
2016-11-03 22:22:25 +01:00
Robert Habermeier 29ab4ecac1 Shared code cache (#2921)
* add a global code cache

* extract memory-limited lru cache to util

* use memory-limited code cache

* account for code cache size in mem_used
2016-10-28 16:04:44 +02:00
Tomasz Drwięga dedc4d5cfc Get rid of duplicated code (#2915) 2016-10-27 19:29:23 +02:00
Tomasz Drwięga 88997801d0 Clippy bump (#2877)
* Bumping clippy

* Fixing warnings

* Fix the "fix"
2016-10-27 08:28:12 +02:00
Robert Habermeier 0fedc27332 Remove ethcore::common re-export module (#2792)
* no longer export action_params

* remove transaction, header, receipt re-rexports from common

* remove env_info and builtins re-exports from common

* remove everything but util export from common

* replace common usages with util, remove module

* add a prelude module for ethcore-bigint
2016-10-24 18:35:25 +02:00
Robert Habermeier 96f4c10453 sweep most unwraps from ethcore crate, dapps crate (#2762)
* sweep most unwraps from ethcore crate

* purge unwrap from dapps server

* whitespace

[ci:none]
2016-10-20 23:41:15 +02:00
Gav Wood 85eeb3ea6e EIP150.1c (#2591)
* EIP150.1b first part.

* Add documentation.

[ci:skip]

* Tweak comment

* Fix some tests.

* Fix create

* Add the new EIP150 test. (#2563)

* Fix create some more.

* Another fix for create.

* Final fixes.

* Enable EIP150 test.

* Revert the costly suicides to respect EIP150.1b.

* Fixups for EIP150.1c

* Update tests.

* Updating tests

* Adding state tests

* Updating tests

* Updating HF block

* Removing flushln [ci:skip]

* Commenting out suicide test

* New tests.

* Switch to EIP tests.

* Rename some stuff, combine transition tests.

* Fix U256 overflows.

* Name cleanups and an effort to fix tests.

* Rename back for clarity.

* Fix non-EIP-150 OOG CALLs

* New transition block number & additional EIP150 tests

* Morden transition block set; Tests updated

* Added missing test
2016-10-15 14:39:15 +02:00
Robert Habermeier 8a0e98d4cc configurable jump table cache size 2016-10-07 12:18:42 +02:00
Robert Habermeier 745a50dfdf configurable state cache size 2016-10-07 00:28:42 +02:00
Arkadiy Paronyan b1ab0d0cbf EVM optimization (#2487) 2016-10-06 11:14:05 +02:00
Tomasz Drwięga 48bb890045 Better EVM informant & Slow transactions warning (#2436)
* EVM informant. Slow transactions tracking

* Additional feature for tests
2016-10-03 23:29:46 +02:00
Arkadiy Paronyan 0dcdaa7a2a Jumptable cache (#2427)
* Jumptable cache

* Updated registrar address
2016-10-02 18:45:36 +02:00
Tomasz Drwięga 1c61d7c813 Fixing Delegate Call in JIT (#2378)
* Detecting DELEGATE_CALL in JIT

* Fixing evmjit tests
2016-09-28 23:33:12 +02:00
Arkadiy Paronyan ad63780b4d Canonical state cache (master) (#2311)
* State cache

* Reduced copying data between caches

Whitespace and optional symbols

* Reduced copying data between caches

Whitespace and optional symbols

* Set a limit on storage cache

* Style and docs
2016-09-27 18:02:11 +02:00
Arkadiy Paronyan bc4cbaac2b DIV optimization (#2327) 2016-09-27 11:27:11 +02:00
Tomasz Drwięga 598e9cea85 Fixing jit feature compilation (#2310) 2016-09-26 18:38:54 +02:00
Tomasz Drwięga aae6d19df9 Separate path for ext code size (#2251)
* Separate path for code size

* Actually use it for EVM

* add extcodesize to TestExt
2016-09-22 19:58:42 +02:00
Tomasz Drwięga 0921dffd86 Fixing trait definition 2016-09-20 16:25:22 +02:00
Tomusdrw b6df3759c8 Breaking the line 2016-09-19 12:16:22 +02:00
Tomusdrw 9bf29a555a Fixing evm-debug 2016-09-19 01:51:59 +02:00