Afri Schoedon
36e230ee16
Expanse Byzantium update w/ correct metropolis difficulty increment divisor ( #7463 )
...
* Byzantium Update for Expanse
Here the changes go. Hope I didnt miss anything.
* expip2 changes - update duration limit
* Fix missing EXPIP-2 fields
* Format numbers as hex
* Fix compilation errors
* Group expanse chain spec fields together
* Set metropolisDifficultyIncrementDivisor for Expanse
* Revert #7437
* Add Expanse block 900_000 hash checkpoint
2018-01-05 13:49:07 +01:00
Marek Kotewicz
7c24d0665e
Merge pull request #7355 from paritytech/td-clippy
...
Get rid of clippy remainings.
2017-12-22 07:09:26 -04:00
Yurii Rashkovskii
d5b81ead71
Problem: AuRa's unsafeties around step duration ( #7282 )
...
Firstly, `Step.duration_remaining` casts it to u32, unnecesarily
limiting it to 2^32. While theoretically this is "good enough" (at 3
seconds steps it provides room for a little over 400 years), it is
still a lossy way to calculate the remaining time until the next step.
Secondly, step duration might be zero, triggering division by zero
in `Step.calibrate`
Solution: rework the code around the fact that duration is
typically in single digits and never grows, hence, it can be represented
by a much narrower range (u16) and this highlights the fact that
multiplying u64 by u16 will only result in an overflow in even further
future, at which point we should panic informatively (if anybody's
still around)
Similarly, panic when it is detected that incrementing the step
counter wrapped around on the overflow of usize.
As for the division by zero, prevent it by making zero an invalid
value for step duration. This will make AuRa log the constraint
mismatch and panic (after all, what purpose would zero step duration
serve? it makes no sense within the definition of the protocol,
as finality can only be achieved as per the specification
if messages are received within the step duration, which would violate
the speed of light and other physical laws in this case).
2017-12-21 14:59:09 +01:00
Tomasz Drwięga
00883e477a
Get rid of clippy remainings.
2017-12-21 11:27:26 +01:00
Tomasz Drwięga
7e3872fddc
Maximum uncle count transition ( #7196 )
...
* Enable delayed maximum_uncle_count activation.
* Fix tests.
* Defer kovan HF.
2017-12-05 15:57:45 +01:00
keorn
261c0d5368
no default uncles
2017-11-09 23:56:02 +00:00
David Dorgan
bdf1e6afcc
Revert "Sync parity-ewf with parity"
...
This reverts commit f7ba063b22
.
2017-10-24 13:31:58 +01:00
David Dorgan
f7ba063b22
Sync parity-ewf with parity
2017-10-24 12:31:50 +01:00
Arkadiy Paronyan
b0c15497e1
Fixed kovan chain validation ( #6758 )
...
* Fixed kovan chain validation
* Fork detection
* Fixed typo
2017-10-14 21:59:26 +02:00
arkpar
7234a7c630
Difficulty tests
2017-10-10 14:51:12 +02:00
Afri Schoedon
360ecd3728
Add Musicoin and MCIP-3 UBI hardfork. ( #6621 )
...
* Add musicoin chain spec.
* Add musicoin to parity node
* Add musicoin to the wallet
* Add i18n for musicoin
* Align musicoin chain spec with 1.8, ref #6134
* Update musicoin bootnodes
* Prepare MCIP-3 in musicoin chain spec.
* Update musicoin chain spec with contract addresses for MCIP-3
* Extend ethash params by MCIP-3
* Fix musicoin chain spec json
* Use U256 for block rewards.
* Update musicoin registrar
* Fix merge leftovers
* Update musicoin chain spec for latest master
* Bestow MCIP-3 block reward(s).
* Update musicoin registry once and for all
* Align MCIP-3 block reward with go implementation
* Remove mcip3 test chain spec from repository
* Update MCIP-3 block rewards
* Musicoin homestead transition is at 1_150_000
* Expect mcip3 transtion to be properly defined in chain spec.
* Panic handling for mcip to default to regular block rewards if not specified
* Giving mcip3 rewards a useful default value.
* Fix ethjson tests.
* Update musicoin chain spec
* Fix tests 0:)
* Add musicoin mcip3 era test spec.
* Update musicoin chain spec(s)
* Add tests for mcip3 era block rewards
* Fix tests
* Disable byzantium for musicoin
* Pass miner reward to the tracer.
* Allow modifying blockreward in MCIP-3 transition.
2017-10-08 18:17:59 +02:00
Robert Habermeier
bc167a211b
Generalize engine trait ( #6591 )
...
* move common forks and parameters to common params
* port specs over to new format
* fix RPC tests
* parity-machine skeleton
* remove block type
* extract out ethereum-specific methods into EthereumMachine
* beginning to integrate Machine into engines. dealing with stale transitions in Ethash
* initial porting to machine
* move block reward back into engine
* abstract block reward logic
* move last hash and DAO HF logic into machine
* begin making engine function parameters generic
* abstract epoch verifier and ethash block reward logic
* instantiate special ethereummachine for ethash in spec
* optional full verification in verify_block_family
* re-instate tx_filter in a way that works for all engines
* fix warnings
* fix most tests, further generalize engine trait
* uncomment nullengine, get ethcore tests compiling
* fix warnings
* update a bunch of specs
* re-enable engine signer, validator set, and transition handler
* migrate basic_authority engine
* move last hashes into executedblock
* port tendermint
* make all ethcore tests pass
* json-tests compilation
* fix RPC tests: change in gas limit for new block changed PoW hash
* fix minor grumbles
* validate chainspecs
* fix broken import
* fix transaction verification for pre-homestead
2017-09-26 14:19:08 +02:00
Arkadiy Paronyan
25b35ebddd
Byzantium updates ( #5855 )
...
* EIP-211 updates
* benchmarks
* blockhash instruction gas cost updated
* More benches
* EIP-684
* EIP-649
* EIP-658
* Updated some tests
* Modexp fixes
* STATICCALL fixes
* Pairing fixes
* More STATICALL fixes
* Use paritytech/bn
* Fixed REVERTing of contract creation
* Fixed more tests
* Fixed more tests
* Blockchain tests
* Enable previously broken tests
* Transition test
* Updated tests
* Fixed modexp reading huge numbers
* Enabled max_code_size test
* Review fixes
* Updated pairing pricing
* missing commas (style)
* Update test.rs
* Small improvements
* eip161abc
2017-09-15 21:07:54 +02:00
Arkadiy Paronyan
eed0e8b03a
Transaction permissioning ( #6441 )
2017-09-05 10:39:50 +01:00
Gav Wood
50495c6898
Merge branch 'master' into Fix-4858
2017-08-29 15:11:05 +02:00
Arkadiy Paronyan
d520aa2633
Connection filter ( #6359 )
2017-08-29 14:38:01 +02:00
Tomasz Drwięga
f9a08e285c
Running state test using parity-evm ( #6355 )
...
* Initial version of state tests.
* Refactor state to support tracing.
* Unify TransactResult.
* Add test.
2017-08-28 14:25:16 +02:00
Anton Gavrilov
01ea968d4f
Merge with master
2017-08-02 17:24:34 +02:00
debris
bfbeda4ede
fixed tests
2017-07-31 20:17:19 +02:00
Anton Gavrilov
5086dc3024
Working test with block reward added
2017-07-31 13:42:34 +02:00
Robert Habermeier
003eef982b
Move more params to the common section. ( #6134 )
...
* move common forks and parameters to common params
* port specs over to new format
* fix RPC tests
2017-07-31 12:34:29 +02:00
Nikolay Volf
62210fb932
WASM contracts MVP ( #5679 )
...
* lifetime issues
* refactor to new 'native env'
* descriptors and such
* wasm mvp continued
* finalized env/ext bindings
* descriptor -> call_args
* inject gas counter
* result processing and engine activation
* tabify some source files
* needs return new
* wasm tests initial
* erradicate warnings
* origin in the descriptor
* update test repo
* payload verification tests
* identity return payload test
* some test description
* dispersion test
* check length here
* suicidal contract
* engine params
* fix typo
* review fixes
* submodule update
* update - purge reserved space
* doc effort
* more review fixes
* fix error message
* fix dependency url
* reorg error handling
* update submodule
* update utils
* update to latest parity-wasm
* tabify
* fix wasm magic header
* update dependencies
* external create and tests
* update to latest tests
* extra trace info
* Update parity-wasm
* update wasm-utils also
* few traces and result handle change
* alter trace content
* fix issues with optimizer, update to latest parity with validator, etc
* static initialization
* license preamble
* update wasm crates and gas costs
* fix grumbles
* bring back lifetime
* fix compilation
2017-07-10 17:42:10 +02:00
debris
61d8f90530
updated serde to version 1.0
2017-07-06 11:36:15 +02:00
Robert Habermeier
d069b98b45
PoA: Wait for transition finality before applying ( #5774 )
...
* final engine changes
* migration to v13
* adding and removing pending transitions
* epoch_transition_for
* port snapshot to new engine methods
* final validator set interface
* fix compiler errors
* revert v13/epoch_depth transition
* make call on new epoch
* rolling finality checker
* tests for finality checker
* constructing finality proof upon pending transition
* fix warnings and finality proof checking
* fix compiler warnings in tests
* test fixes
* don't include genesis in finality checking
* change snapshot test chain building logic
* minor refactorings
* fetch epoch transition based on parent, fix divide-by-zero in SimpleList
* fix formatting
* fix ABIs and finality checking in snapshot restoration
* encode signal number in proof
* create more blocks at the end of tests
* update gist to accurate contract code
* test for epoch_transition_for
* fix tests with immediateTransitions parameter
* disable force flag after forcing
* rename ValidatorsChanged to InitiateChange and finalizeSignal to finalizeChange
* a few more validator set tests
2017-06-28 13:17:36 +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
Stewart Mackenzie
d152fa3e85
Ethereum Classic Monetary Policy ( #5741 )
...
* Ethereum Classic Monetary Policy
Create a new parameter `ecip1017EraRounds`. When the block number
passes one era rounds, the reward is reduced by 20%.
See https://github.com/ethereumproject/ECIPs/blob/master/ECIPs/ECIP-1017.md
* Update rewards for uncle miners for ECIP1017
In the monetary policy, the rewards are changed from "up to 7/8 of the
reward" to "1/32 of the reward".
* Fix an off-by-one error in ECIP1017 era calculation
According to
https://github.com/ethereumproject/ECIPs/blob/master/ECIPs/ECIP-1017.md ,
when in block number 5,000,000, it should still be in Era 1 (which in
our code `era == 0`). So we need to check whether the `rem` equals to
zero and act accordingly when calculating the era.
* `ecip1017_era_rounds` missing from EthashParams when run in build bot
* strip out ecip1017_eras_block_reward function and add unit test
2017-06-19 18:56:37 +02:00
Marek Kotewicz
575c51f5a0
eip214, #4833 ( #4851 )
2017-06-19 11:41:46 +02:00
Anton Gavrilov
06eb561af5
Duration limit made optional for EthashParams ( #5777 )
...
* Duration limit made optional for EthashParams
* Forgotten space added
2017-06-09 12:24:23 +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
Arkadiy Paronyan
e6a31e7543
EIP-210 BLOCKHASH changes ( #5505 )
...
* EIP-210
* comment
2017-05-30 11:52:33 +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
Robert Habermeier
18c3e90dbf
Merge pull request #5671 from paritytech/guanqun-add-unit-tests
...
Guanqun add unit tests
2017-05-23 15:18:11 -04:00
Arkadiy Paronyan
dd004aba9f
EIP-140 ( #5477 )
2017-05-23 16:49:17 +03:00
Guanqun Lu
d35da909db
add asserts in ethash.rs
2017-05-20 12:12:16 +08:00
Guanqun Lu
73ad575306
add asserts in genesis.rs
2017-05-20 12:12:16 +08:00
Guanqun Lu
292eb1de62
add asserts in engine.rs
2017-05-20 12:12:16 +08:00
Guanqun Lu
f96731c82b
add assets for seal.rs
2017-05-19 22:48:23 +08:00
Guanqun Lu
5c7c30cc4b
add asserts in spec param.rs
2017-05-19 22:48:23 +08:00
Guanqun Lu
a61b249d57
add asserts in tendermint.rs
2017-05-19 22:48:23 +08:00
Guanqun Lu
0b4eef48c5
add asserts in instantseal
2017-05-19 22:48:23 +08:00
Guanqun Lu
90b8b612cc
add asserts for spec::basic_authority
2017-05-19 22:48:23 +08:00
Guanqun Lu
c0a8eaa3bf
add asserts in spec::authority_round's unit test
2017-05-19 22:48:23 +08:00
Guanqun Lu
a0dd77ca01
add asserts in spec::validatorset's unit test
2017-05-19 22:48:23 +08:00
Guanqun Lu
f90802498f
add two asserts in unit tests for spec::authority_round
2017-05-19 22:48:23 +08:00
Guanqun Lu
cf0b8b7681
add several new tests for spec::account
2017-05-19 22:48:23 +08:00
keorn
945c1a9478
add monotonic transition to kovan ( #5587 )
2017-05-15 21:34:01 +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
Arkadiy Paronyan
15ae24b541
New state tests ( #5418 )
...
* General state tests
* Allow dir name for a test
2017-04-12 13:33:49 +02:00
keorn
84abf5d84f
Aura eip155 validation transition ( #5362 )
...
* add eip155 validation
* add transition block
2017-04-01 13:21:22 +02:00
keorn
a61b1567d0
Strict validation transitions ( #4988 )
...
* ability to make validation stricter
* fix consensus
* remove logger
2017-03-28 10:46:52 +02:00
Marek Kotewicz
23d3b79d9a
eip100b ( #5027 )
...
* eip100b
* fix eip100b build and tests
* Conventional comparison order
2017-03-27 11:42:40 +02:00
keorn
9fdd0e3a0a
Switching ValidatorSet ( #4961 )
...
* add multi validator set
* nicer comment
* validate in constructor
* reporting
2017-03-23 13:19:28 +01:00
Tomasz Drwięga
7e87e9e8ad
Updating JSON-RPC crates ( #4934 )
...
* New version of jsonrpc.
* Better invalid encoding messages
* Fixing deprecated methods of tokio_core
* Using dedicated branch for jsonrpc
* Bump
2017-03-22 07:02:14 +01:00
Robert Habermeier
797a3e1cd9
EIP198 and built-in activation ( #4926 )
...
* EIP198 and built-in activation
* address review
2017-03-21 19:36:38 +03:00
Arkadiy Paronyan
43871e393c
Additional kovan params ( #4892 )
2017-03-14 11:41:56 +01:00
keorn
ade5a13f5b
Add registrar fields ( #4716 )
...
* add registrar field
* use constructor for dev registrar
* fix test
2017-03-02 12:25:55 +01:00
Arkadiy Paronyan
ef7998f473
Max gas limit and min gas price ( #4661 )
...
* Max gas limit and min gas price
* Tests
* Limit gas limit ceiling
2017-02-24 17:34:32 +01:00
Tomasz Drwięga
72998d3ce3
Proper default accounts RPCs ( #4580 )
...
* Default accounts setting - account provider
* RPC support for default accounts
* Updating JS code
* Rename whitelist to addresses
2017-02-20 16:33:12 +01:00
Tomasz Drwięga
f1e99ea2e4
Serde 0.9 ( #4508 )
...
* Porting json
* Dapps
* Rpc & Ethstore
* New ethabi
* Last bunch of fixes
* Fixing last test
* Removing build script
* Adding ethcore-ipc-tests back
* Fixing grumbles
* Fixing blockchain tests (inference regression?)
2017-02-13 18:38:47 +03:00
Tomasz Drwięga
cf348dae60
Persistent tracking of dapps ( #4302 )
...
* Tests for RPC
* Extracting dapp_id from Origin and x-parity-origin
* Separate type for DappId
* Persistent tracking of recent dapps
* Fixing tests
* Exposing dapp timestamps
* Fixing import to work on stable
* Fixing test again
2017-01-30 10:59:46 +01:00
Arkadiy Paronyan
c012dfc3ef
EIP-98: Optional transaction state root ( #4296 )
...
* EIP98: Optional receipt state root
* Use if-else
* Fixing tests
2017-01-25 20:22:48 +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
keorn
ba0209678b
ValidatorSet reporting ( #4208 )
...
* remove register_account_provider
* build rpc module
* new dummy client
* common EngineSigner struct
* from -> into
* initial report via call
* separate safe from regular contract
* transact_contract
* fix build
* return Signature, docs
* add sign method to some engines
* add safeContract spec
* update specs to new contracts
* use AuthorityRound for contract spec
* add more reporting
* add reporting test
* use gas floor
* shorter
2017-01-24 12:03:58 +03:00
keorn
be30c44179
Validator/authority contract ( #3937 )
...
* dir
* simple validator list
* stub validator contract
* make the engine hold Weak<Client> instead of IoChannel
* validator set factory
* register weak client with ValidatorContract
* check chain security
* add address array to generator
* register provider contract
* update validator set on notify
* add validator contract spec
* simple list test
* split update and contract test
* contract change
* use client in tendermint
* fix deadlock
* step duration in params
* adapt tendermint tests
* add storage fields to test spec
* constructor spec
* execute under wrong address
* create under correct address
* revert
* validator contract constructor
* move genesis block lookup
* add removal ability to contract
* validator contract adding validators
* fix basic authority
* validator changing test
* more docs
* update sync tests
* remove env_logger
* another env_logger
* cameltoe
* hold EngineClient instead of Client
* add a comment about lock scope
2017-01-10 12:23:59 +01:00
keorn
fbc9f0d7fb
Add block rewards to more Engines ( #4055 )
...
* add block rewards
* imports
2017-01-05 21:16:13 +01:00
keorn
e5b3c092c8
Merge branch 'master' into optional-spec
2017-01-03 15:42:56 +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
keorn
afc4cd2785
Allow contract constructors in chain spec ( #3932 )
...
* constructor spec
* execute under wrong address
* create under correct address
* revert
* move genesis block lookup
* remove env_logger
2016-12-23 18:44:39 +01:00
Igor Artamonov
be75cbfaaa
set CHAIN_ID for Classic ( #3934 )
...
* configurable CHAIN_ID
* set CHAIN_ID for Ethereum Classic
2016-12-22 13:10:58 +01:00
keorn
552a772cc1
make fields defaulting to 0 optional
2016-12-22 07:06:40 +01:00
keorn
46662899da
make spec naming consistent
2016-12-19 14:15:39 +01:00
Gav Wood
d455ac4a40
Merge remote-tracking branch 'origin/master' into dapps-accounts-rpc
2016-12-15 17:12:18 +01:00
Gav Wood
20b2f84d48
Merge pull request #3828 from ethcore/new-dirs
...
New directory structure
2016-12-15 14:34:01 +01:00
Gav Wood
1ea521ea7d
Merge remote-tracking branch 'origin/master' into dapps-accounts-rpc
2016-12-15 13:51:22 +01:00
keorn
943efc21bb
add tendermint seal
2016-12-15 13:41:04 +01:00
Gav Wood
db73b0d66f
Merge remote-tracking branch 'origin/master' into dapps-accounts-rpc
2016-12-15 13:28:37 +01:00
Gav Wood
a74bce2c06
Merge pull request #3759 from ethcore/auth-bft
...
Tendermint Engine
2016-12-15 13:18:15 +01:00
keorn
8509a183ed
deserialize new seal
2016-12-14 12:14:04 +01:00
arkpar
be5fefe772
Merge branch 'master' of github.com:ethcore/parity into new-dirs
2016-12-14 00:04:11 +01:00
keorn
fa504e510f
Merge branch 'master' into auth-bft
2016-12-12 21:28:46 +01:00
arkpar
6601fde328
New data paths with upgrade
2016-12-12 16:51:07 +01:00
Gav Wood
94f5501c61
authors & homepage => Parity
2016-12-11 19:43:58 +01:00
Gav Wood
17cc2be4b5
Rename ethcore -> parity in license.
2016-12-11 19:30:54 +01:00
keorn
f3af0f46be
Merge branch 'master' into auth-bft
2016-12-10 18:14:35 +01:00
Tomasz Drwięga
4696d7f606
Additional RPCs for dapps accounts management
2016-12-10 12:36:04 +01:00
Gav Wood
5f1fcf95e0
Make *ID names consistent with std Rust (Id)
2016-12-09 23:01:43 +01:00
arkpar
97f358ced9
AuthorityRound network simulation test
2016-12-09 20:38:06 +01:00
arkpar
ca7406773f
AuthorityRound network simulation test
2016-12-09 19:27:16 +01:00
keorn
c39d504167
Merge branch 'spec-rlp-loading' into auth-bft
2016-12-05 14:11:06 +00:00
keorn
0860a3a767
ignore variable
2016-12-05 14:09:41 +00:00
keorn
22632e6324
make generic seal take valid rlp
2016-12-05 14:07:31 +00:00
keorn
c946ffebf3
Merge branch 'master' into auth-bft
2016-12-05 11:30:11 +00:00
Gav Wood
1dd13372b6
Merge remote-tracking branch 'origin/master' into rpc-middleware
2016-12-01 19:43:31 -08:00
keorn
155da50fcd
Merge branch 'master' into auth-bft
2016-11-30 13:06:21 +00:00
Tomasz Drwięga
e1e7886918
Bumping clippy
2016-11-28 12:23:06 +01:00
Tomasz Drwięga
cd6f565f69
RPC Middleware & Get/Set dapp-specific accounts
2016-11-23 16:27:05 +01:00
keorn
2fa34fd6a8
step transition messaging
2016-11-16 12:43:21 +00:00
keorn
8ac989cbeb
Merge remote-tracking branch 'parity/master' into bft
2016-11-16 10:29:54 +00:00
Gav Wood
1daba384cc
Merge pull request #3426 from ethcore/auth-round
...
Authority round consensus engine
2016-11-16 11:18:01 +08:00
Gav Wood
528bf17af5
Restrict max code size to 23999 bytes for EIP-150 and after.
2016-11-15 17:58:28 +01:00