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
Robert Habermeier
1fba73c15e
minimal state backend trait
...
make state module public
2017-02-21 12:35:21 +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
e11353f94c
UnverifiedTransaction type ( #4134 )
...
* Introducing ValidSignedTransaction
* Verifiying transactions in engines
* Widening use of VerifiedSignedTransaction
* Renaming Transactions
* Uncommenting banning queue & Fixing tests
* Fixing json tests
* Fixing pre-homestead test
* Fixing imports
* Addressing grumbles
* Fixing test
2017-01-13 08:51:36 +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
Gav Wood
23feb7998f
Use binary chop to estimate gas accurately ( #4100 )
...
* Initial sketch.
* Building.
* Fix a few things.
* Fix issue, add tracing.
* Address grumbles
* Raise upper limit if needed
* Fix test.
2017-01-10 18:56:41 +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
Tomasz Drwięga
762d8b89d6
Removing unused imports
2016-11-29 14:03:21 +01:00
Tomasz Drwięga
64b1b898f1
Fixing compilation on stable
2016-11-28 17:43:38 +01:00
Tomasz Drwięga
2b3d100de2
Fixing some clippy warnings
2016-11-28 15:54:22 +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
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
8e5c9ff162
rename State::snapshot to checkpoint to avoid confusion ( #2796 )
2016-10-22 14:22:16 +01: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
Nikolay Volf
ac0ae2442f
Adjustable stack size for EVM ( #2483 )
...
* stack size for io workers & evm threshold
* rust way to remember stack size
* right value
* 24kb size
* some stack reduction
2016-10-06 18:42:54 +02:00
Arkadiy Paronyan
6c1b2fbed5
Preserve cache on reverting the snapshot ( #2488 )
...
* Preserve cache on reverting the snapshot
* Renamed merge_with into replace_with
* Renamed and documented snapshotting methods
2016-10-06 14:54:05 +01: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
Tomasz Drwięga
15488b3e40
Fixing output of eth_call and Bytes deserialization ( #2230 )
...
* Fixing eth_call to builtins
* Fixing bytes deserialization
* Removing comment
2016-09-22 14:50:00 +02:00
Marek Kotewicz
da2c2e5fc6
facelift for traces, added errors ( #2042 )
...
* evm errors facelift
* facelift for traces, added errors with description
* additional tests for traces json serialization
2016-09-05 11:56:44 +02:00
Robert Habermeier
5dd56aa070
port ethcore
2016-09-01 14:29:59 +02:00
Marek Kotewicz
b0d462c6c9
Signature cleanup ( #1921 )
...
* Address renamed to H160 at bigint library level
* moved uint specific test from util to bigint library
* naming
* unifing hashes in progress
* unifing hashes
* cleanup redundant unwraps in tests
* Removing util/crypto in progress.
* fixed compiling
* signature cleanup in progress
* new module - ethcrypto used by ethstore and ethcore-network
* fixed compiling
* fixed compiling
* fixed merge
2016-08-24 18:35:21 +02:00
Robert Habermeier
eed7d006f1
Fix up tests, remove dead state-diff code
2016-08-18 18:13:32 +02:00
Gav Wood
9bb9a84d40
Fix test.
2016-08-03 23:23:45 +02:00
Gav Wood
52355855fc
Fix up the VM trace.
2016-08-03 20:07:30 +02:00
keorn
11cb544c24
Collect consensus/null engines into a single module ( #1754 )
...
* collect consesnsus engine code into module
* move Engine to mod
* fix json test
2016-07-28 20:32:20 +02:00
Marek Kotewicz
9746b944f1
Stackoverflow fix ( #1742 )
...
* executive tracer builds flat traces without intermediate struct
* temporarilt commented out tests for traces
* fixed new way of building trace address
* fixed new way of building trace address
* updating state tests with flat tracing in progress
* fixed flat tracing tests
* fixed compiling ethcore-rpc with new flat traces
* removed warnings from ethcore module
* remove unused data structures
2016-07-28 20:31:29 +02:00
Gav Wood
eaa41ea568
Add RPC & client call to replay a transaction. ( #1734 )
...
* Add RPC & client call to replay a transaction.
* Address grumbles
2016-07-27 21:34:32 +02:00
Gav Wood
ccb62d3b55
Trace other types of calls ( #1727 )
...
* Trace through DELEGATECALL and CALLCODE
Add them to the JSON output and RLP database store.
* Fix tests.
* Fix all tests.
* Fix one more test.
2016-07-27 17:41:21 +02:00
Tomasz Drwięga
3f41186b2e
Fixing some clippy warnings ( #1728 )
...
* Fixing warnings
* Fixing unnecessary ref
* Removing unnecessary operation
2016-07-26 20:31:25 +02:00
Gav Wood
3f841cc578
Name and meta in accounts ( #1695 )
...
* Introduce persistent name() and meta() in SecretStore.
* Quick stash.
* Fix build.
* Add ethcore_set methods.
* Bug fixes for default values.
* Move to personal to ensure set API exposed.
* Add UUID to accounts info.
* Add tests.
2016-07-24 17:38:21 +02:00
Tomasz Drwięga
4c1b74a42e
Calculating gas using usize (if supplied gaslimit fits in usize) ( #1518 )
...
* Spliting gasometer out of interpreter
* Choosing right gas calculations implementation based on supplied gas
* Moving verification out of gasometer
* MemGasCost benchmark.
Conflicts:
ethcore/src/evm/benches/mod.rs
* Some simple benchmarks
* Benchmark for simple loop
* Calculating gas_for_memory only when it's actually needed
* Removing superfluous newline [ci skip]
2016-07-05 15:15:44 +02:00
Tomasz Drwięga
a7de430193
Merge branch 'master' into clippy-bump
...
Conflicts:
dapps/Cargo.toml
2016-06-06 10:13:42 +02:00
Marek Kotewicz
c8c47ebe32
Merge pull request #1206 from ethcore/diffing
...
Integrate state diffing into the ethcore JSONRPC
2016-06-05 21:35:36 +02:00
Tomasz Drwięga
3905717d5d
Fixing warnings
2016-06-03 11:36:30 +02:00
Robert Habermeier
0318bb9fe9
Have Ext::ret take self by value ( #1187 )
...
* refactor externalities::ret to take self by-value, add GasLeft enum, and alter evm::Result.
* remove unused imports, StopExecutionWithGasLeft variant
* adjust tests
* remove extraneous call to reserve
* update json_tests Ext to match new trait
* adjust executive json_test
* have evms own their memory for their entire lifetime
* make finalize API more friendly
* indentation fix
[ci skip]
2016-06-02 19:04:15 +02:00
Gav Wood
b17581d7de
VM tracing and JSON RPC endpoint for it. ( #1169 )
...
* Groundwork for basic VM tracing.
* RPC endpoint for VM tracing and ser/de types ready.
* Create VMTracer trait.
* Rearchitected VM tracing to reflect existing tracing.
Should more or less work now.
* Integrated VM tracing into JSONRPC.
* Fix ethcore module tests.
* Add tests for VM tracing.
* Fix consensus test code.
* Fix mock tests.
* Added VM trace information for post-execution stuff.
* Fix max-value calls and add "creates" field to getTransaction.
* Tests for VM tracing.
* Don't implement the trait with unimplemented.
* Remove invlaid comment.
* Fix tests.
2016-06-02 12:40:31 +02:00
Gav Wood
b9ec87548d
Minor renaming diff -> state_diff
2016-06-02 12:39:25 +02:00
Gav Wood
bc5c3da2af
Merge branch 'vmtracing' into diffing
2016-06-02 12:28:09 +02:00
Gav Wood
d40a038f37
Fix tests.
2016-06-02 11:49:27 +02:00
Gav Wood
26da38a439
Merge remote-tracking branch 'origin/master' into vmtracing
2016-06-02 11:40:39 +02:00
Gav Wood
34edecd59d
State diffing, exposed through JSONRPC.
2016-05-31 21:03:44 +02:00
Robert Habermeier
ff7c755930
mostly purge x! from ethcore
2016-05-31 16:59:01 +02:00
Gav Wood
5766354c19
Tests for VM tracing.
2016-05-31 12:04:53 +02:00
Gav Wood
8082fdb3ff
Fix max-value calls and add "creates" field to getTransaction.
2016-05-30 22:27:28 +02:00
Gav Wood
22c4298bee
Add tests for VM tracing.
2016-05-29 13:05:41 +02:00
Gav Wood
c20eaf98ec
Fix ethcore module tests.
2016-05-29 11:37:35 +02:00
Gav Wood
cd16828fef
Integrated VM tracing into JSONRPC.
2016-05-29 00:58:52 +02:00
Gav Wood
86fdcabd0e
Rearchitected VM tracing to reflect existing tracing.
...
Should more or less work now.
2016-05-28 23:57:16 +02:00
Gav Wood
c1ed520de0
RPC endpoint for VM tracing and ser/de types ready.
2016-05-28 16:52:33 +02:00
Marek Kotewicz
6cff58055d
CLI option for using JITEVM ( #1103 )
...
* easily configurable vm (in progress)
* completely removed vm_factory from engine
* --jitvm command line flag
2016-05-19 00:44:49 +02:00
Nikolay Volf
4e41cbca81
Moving all Client public API types to separate mod & binary serialization codegen for that mod ( #1051 )
...
* transaction moved
* trash remove
* ids move
* receipt
* tree-route
* blockchain info
* log_entry move
* trace filter moved
* executed & trace moved
* localized trace moved
* block status moved
* build scripts and codegen refs
* Cargo.lock update
* binary for blockstatus, blockchaininfo
* binary for trace
* trace filters binary ser
* binary for log entries & executed
* binary for receipt
* special case for u8 & transaction binary attribute
* resolved remaining issues & error binary serialization
* json-tests util import
* fix warnings
* ids attr
* add missing attributes
* Update build.rs
2016-05-16 18:33:32 +02:00
Nikolay Volf
354ac7d6e5
Limiting result of the execution to execution-specific errors ( #1071 )
...
* execution error/result limiting
* missing trailing comma
* fix executive tests
* adding original error as string to the generic transaction error
* 'mallformed'-s all around
2016-05-14 13:28:44 +01:00
Tomasz Drwięga
e2465b1eab
Bumping clippy & fixing warnings ( #1024 )
...
* Bumping clippy
* Fixing warnings found by clippy
2016-05-02 13:13:12 +02:00
Marek Kotewicz
66477a9476
Core tracedb functionality. ( #996 )
...
* fixed encoding 0u8
* simplified if else stmt
* tracedb core
* more comprehensive tracedb tests
* fixed minor review issues
* addresses filter
* fixed typos
* replace malformed with corrupted
* trace switch
* db key is generic and can be made smaller
* smaller tracedb keys
* tracedb version
* fixed ignored tests
* rename Tracedb -> TraceDB
* fixed typos
* proves
* trace only top level calls to builtins to avoid DDoS attacks
* fixed tracedb config switches
* fix comments fat replaced with trace
* vector-addressing scheme for localized traces
* removed comments
* removed first, redundant 0 from trace address
* updated db.trace method
* additional tests for tracedb.trace()
2016-04-30 16:41:24 +01:00
Arkadiy Paronyan
8f7624f5cb
Support 'pending' block in RPC ( #1007 )
...
* Support `pending` block in RPC
* Forward calls from miner to client in case no pending block is available
2016-04-28 20:47:44 +01:00
Tomasz Drwięga
7fbe3f4721
Fixing clippy warnings
2016-04-12 13:54:34 +02:00
debris
fcf7f392f0
fixed failing tests
2016-04-08 11:48:37 +02:00
debris
64294853cc
separated tracing logic to its own trait
2016-04-08 01:50:55 +02:00
debris
09beeaba8e
trace result is a structure;
2016-04-06 21:23:52 +02:00
arkpar
9b7c48110a
Fixed eth_call nonce and gas handling
2016-04-06 13:05:58 +02:00
Gav Wood
845fa97da1
Fix eth_call so it doesn't need the secret of the sender.
2016-03-26 13:30:02 +01:00
Gav Wood
8906b78b07
Revert break.
2016-03-21 11:56:11 +01:00
Gav Wood
8ed8652296
Reuse should_Trace.
2016-03-21 11:53:52 +01:00
Gav Wood
c4d45e0cf0
Trace basic calls! And tests.
2016-03-21 11:24:03 +01:00
Gav Wood
72b604b8e8
Avoid tracing DELEGATECALL and CALLCODE. Plus tests for it.
2016-03-20 19:20:37 +01:00
Gav Wood
b4c2505eab
Merge branch 'master' into tracing
2016-03-20 16:30:59 +01:00
Gav Wood
6ac350a996
Tests for lots more configurations.
2016-03-20 16:24:19 +01:00
Gav Wood
d2d5806e9b
Test for failed create transactions, failed actions are logged as such.
2016-03-20 12:04:31 +01:00
debris
aa47d944e1
implemented rpc eth_estimateGas method, added tests for rpc eth_call and eth_estimateGas
2016-03-20 11:34:19 +01:00
Gav Wood
f75fb6a59f
Create transaction tracing test.
2016-03-20 11:33:36 +01:00
debris
9fb19e6dd0
Merge branch 'master' of github.com:ethcore/parity into call
2016-03-20 10:04:27 +01:00
Gav Wood
bc6a892f2b
Test outer create.
2016-03-19 22:12:52 +01:00
Gav Wood
a2fc006ee5
First test.
2016-03-19 21:02:44 +01:00
Gav Wood
ab9b8c7bf3
Output data (code) for creates.
2016-03-19 18:46:41 +01:00
Gav Wood
7d93fa2533
Output stored for calls.
2016-03-19 18:37:55 +01:00
Gav Wood
bd7cd68c32
Track depth.
2016-03-19 14:35:09 +01:00
debris
bc5df9c908
added output to execution result
2016-03-19 14:29:09 +01:00
Gav Wood
203438fb42
Fix tests.
2016-03-19 13:07:49 +01:00
Gav Wood
1bfcbca8af
Add doumentation, make tracing optional and expose at OpenBlock level.
2016-03-19 12:54:34 +01:00
Gav Wood
d6f94c4ad7
Fix test and first part of optionality.
2016-03-19 08:31:19 +01:00
Gav Wood
bd338a5741
Tracing implemented.
...
TODO:
- make it optional;
- track output;
- usher through to level higher than ExecutionResult.
2016-03-18 23:49:12 +01:00
Nikolay Volf
7f607905ed
moving around setups
2016-02-09 07:31:57 -08:00
Nikolay Volf
fc0153a5a4
returning client to the place it should be, cleanup
2016-02-09 00:54:33 +03:00
Marek Kotewicz
720c280fde
Merge pull request #350 from ethcore/signed_transaction
...
SignedTransaction structure
2016-02-05 14:11:12 +01:00
Gav Wood
105f4262dd
Merge pull request #354 from ethcore/license
...
License
2016-02-05 14:06:10 +01:00
debris
c90d64662a
added license in every *.rs file
2016-02-05 13:40:41 +01:00
debris
eab8410402
finishe signed transactions
2016-02-04 23:48:29 +01:00
arkpar
b9af3f9260
State copy optimization
2016-02-03 19:34:51 +01:00
debris
808e517ff0
removing unused functions in progress
2016-02-02 23:06:34 +01:00
debris
cb98cbcd4b
ethcore public interface cleanup
2016-02-02 15:55:44 +01:00
Nikolay Volf
5837b6e131
Merge branch 'master' into coverage-effort
...
Conflicts:
ethcore/res/ethereum/tests
2016-01-31 18:40:59 +04:00
debris
8fe0d74b64
moved src to ethcore
2016-01-31 10:36:48 +01:00