Merge branch 'master' into ui-2
This commit is contained in:
commit
f9b7be7576
149
CHANGELOG.md
149
CHANGELOG.md
@ -1,3 +1,152 @@
|
|||||||
|
## Parity [v1.7.2](https://github.com/paritytech/parity/releases/tag/v1.7.2) (2017-09-18)
|
||||||
|
|
||||||
|
Parity 1.7.2 is a bug-fix release to improve performance and stability. Among others, it addresses the following:
|
||||||
|
|
||||||
|
- Byzantium fork support for the Ropsten and Foundation networks.
|
||||||
|
- Added support for the ConsenSys and Gnosis multi-signature wallets.
|
||||||
|
- Significantly increased token registry and token balance lookup performance.
|
||||||
|
- Fixed issues with the health status indicator in the wallet.
|
||||||
|
- Tweaked warp-sync to quickly catch up with chains fallen back more than 10,000 blocks.
|
||||||
|
- Fixes to the Chrome extension and macOS installer upgrades.
|
||||||
|
|
||||||
|
Full list of included changes:
|
||||||
|
|
||||||
|
- Fix output from eth_call. ([#6538](https://github.com/paritytech/parity/pull/6538))
|
||||||
|
- Ropsten fork ([#6532](https://github.com/paritytech/parity/pull/6532))
|
||||||
|
- Byzantium updates ([#6529](https://github.com/paritytech/parity/pull/6529))
|
||||||
|
- Fix modexp bug: return 0 if base=0 ([#6424](https://github.com/paritytech/parity/pull/6424))
|
||||||
|
- Running state test using parity-evm ([#6355](https://github.com/paritytech/parity/pull/6355))
|
||||||
|
- Initial version of state tests.
|
||||||
|
- Refactor state to support tracing.
|
||||||
|
- Unify TransactResult.
|
||||||
|
- Add test.
|
||||||
|
- Byzantium updates ([#5855](https://github.com/paritytech/parity/pull/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
|
||||||
|
- Fix extension detection ([#6452](https://github.com/paritytech/parity/pull/6452)) ([#6524](https://github.com/paritytech/parity/pull/6524))
|
||||||
|
- Fix extension detection.
|
||||||
|
- Fix mobx quirks.
|
||||||
|
- Update submodule.
|
||||||
|
- Fix detecting hardware wallets. ([#6509](https://github.com/paritytech/parity/pull/6509))
|
||||||
|
- Allow hardware device reads without lock. ([#6517](https://github.com/paritytech/parity/pull/6517))
|
||||||
|
- Backports [#6497](https://github.com/paritytech/parity/pull/6497)
|
||||||
|
- Fix slow balances ([#6471](https://github.com/paritytech/parity/pull/6471))
|
||||||
|
- Update token updates
|
||||||
|
- Update token info fetching
|
||||||
|
- Update logger
|
||||||
|
- Minor fixes to updates and notifications for balances
|
||||||
|
- Use Pubsub
|
||||||
|
- Fix timeout.
|
||||||
|
- Use pubsub for status.
|
||||||
|
- Fix signer subscription.
|
||||||
|
- Process tokens in chunks.
|
||||||
|
- Fix tokens loaded by chunks
|
||||||
|
- Dispatch tokens asap
|
||||||
|
- Fix chunks processing.
|
||||||
|
- Better filter options
|
||||||
|
- Parallel log fetching.
|
||||||
|
- Fix signer polling.
|
||||||
|
- Fix initial block query.
|
||||||
|
- Token balances updates : the right(er) way
|
||||||
|
- Better tokens info fetching
|
||||||
|
- Fixes in token data fetching
|
||||||
|
- Only fetch what's needed (tokens)
|
||||||
|
- Fix linting issues
|
||||||
|
- Update wasm-tests.
|
||||||
|
- Fixing balances fetching
|
||||||
|
- Fix requests tracking in UI
|
||||||
|
- Fix request watching
|
||||||
|
- Update the Logger
|
||||||
|
- PR Grumbles Fixes
|
||||||
|
- Eth_call returns output of contract creations ([#6420](https://github.com/paritytech/parity/pull/6420))
|
||||||
|
- Eth_call returns output of contract creations
|
||||||
|
- Fix parameters order.
|
||||||
|
- Save outputs for light client as well.
|
||||||
|
- Don't accept transactions above block gas limit.
|
||||||
|
- Expose health status over RPC ([#6274](https://github.com/paritytech/parity/pull/6274))
|
||||||
|
- Node-health to a separate crate.
|
||||||
|
- Initialize node_health outside of dapps.
|
||||||
|
- Expose health over RPC.
|
||||||
|
- Bring back 412 and fix JS.
|
||||||
|
- Add health to workspace and tests.
|
||||||
|
- Fix compilation without default features.
|
||||||
|
- Fix borked merge.
|
||||||
|
- Revert to generics to avoid virtual calls.
|
||||||
|
- Fix node-health tests.
|
||||||
|
- Add missing trailing comma.
|
||||||
|
- Fixing/removing failing JS tests.
|
||||||
|
- Do not activate genesis epoch in immediate transition validator contract ([#6349](https://github.com/paritytech/parity/pull/6349))
|
||||||
|
- Fix memory tracing.
|
||||||
|
- Add test to cover that.
|
||||||
|
- Ensure balances of constructor accounts are kept
|
||||||
|
- Test balance of spec-constructed account is kept
|
||||||
|
- Fix warning spam. [#6369](https://github.com/paritytech/parity/pull/6369)
|
||||||
|
- Bump to 1.7.2
|
||||||
|
- Fix eth_call [#6366](https://github.com/paritytech/parity/pull/6366)
|
||||||
|
- Backporting [#6352](https://github.com/paritytech/parity/pull/6352)
|
||||||
|
- Better check the created accounts before showing Startup Wizard [#6331](https://github.com/paritytech/parity/pull/6331)
|
||||||
|
- Tweaked snapshot params [#6344](https://github.com/paritytech/parity/pull/6344)
|
||||||
|
- Increase default gas limit for eth_call [#6337](https://github.com/paritytech/parity/pull/6337)
|
||||||
|
- Fix balance increase.
|
||||||
|
- Cap gas limit for dapp-originating requests.
|
||||||
|
- Backports [#6333](https://github.com/paritytech/parity/pull/6333)
|
||||||
|
- Overflow check in addition
|
||||||
|
- Unexpose methods on UI RPC. [#6295](https://github.com/paritytech/parity/pull/6295)
|
||||||
|
- Add more descriptive error when signing/decrypting using hw wallet.
|
||||||
|
- Format instant change proofs correctly
|
||||||
|
- Propagate stratum submit share error upstream [#6260](https://github.com/paritytech/parity/pull/6260)
|
||||||
|
- Updated jsonrpc [#6264](https://github.com/paritytech/parity/pull/6264)
|
||||||
|
- Using multiple NTP servers [#6173](https://github.com/paritytech/parity/pull/6173)
|
||||||
|
- Small improvements to time estimation.
|
||||||
|
- Allow multiple NTP servers to be used.
|
||||||
|
- Removing boxing.
|
||||||
|
- Update list of servers and add reference.
|
||||||
|
- Fix dapps CSP when UI is exposed externally [#6178](https://github.com/paritytech/parity/pull/6178)
|
||||||
|
- Allow embeding on any page when ui-hosts=all and fix dev_ui
|
||||||
|
- Fix cache path when using --base-path [#6212](https://github.com/paritytech/parity/pull/6212)
|
||||||
|
- Bump to v1.7.1
|
||||||
|
- UI backports [#6332](https://github.com/paritytech/parity/pull/6332)
|
||||||
|
- Time should not contribue to overall status. [#6276](https://github.com/paritytech/parity/pull/6276)
|
||||||
|
- Add warning to web browser and fix links. [#6232](https://github.com/paritytech/parity/pull/6232)
|
||||||
|
- Extension fixes [#6284](https://github.com/paritytech/parity/pull/6284)
|
||||||
|
- Fix token symbols in extension.
|
||||||
|
- Allow connections from firefox extension.
|
||||||
|
- Add support for ConsenSys multisig wallet [#6153](https://github.com/paritytech/parity/pull/6153)
|
||||||
|
- First draft of ConsenSys wallet
|
||||||
|
- Fix transfer store // WIP Consensys Wallet
|
||||||
|
- Rename walletABI JSON file
|
||||||
|
- Fix wrong daylimit in wallet modal
|
||||||
|
- Confirm/Revoke ConsensysWallet txs
|
||||||
|
- Change of settings for the Multisig Wallet
|
||||||
|
- Update README for beta [#6270](https://github.com/paritytech/parity/pull/6270)
|
||||||
|
- Fixed macOS installer upgrade [#6221](https://github.com/paritytech/parity/pull/6221)
|
||||||
|
|
||||||
## Parity [v1.7.0](https://github.com/paritytech/parity/releases/tag/v1.7.0) (2017-07-28)
|
## Parity [v1.7.0](https://github.com/paritytech/parity/releases/tag/v1.7.0) (2017-07-28)
|
||||||
|
|
||||||
Parity 1.7.0 is a major release introducing several important features:
|
Parity 1.7.0 is a major release introducing several important features:
|
||||||
|
2
Cargo.lock
generated
2
Cargo.lock
generated
@ -2271,7 +2271,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "parity-ui-precompiled"
|
name = "parity-ui-precompiled"
|
||||||
version = "1.4.0"
|
version = "1.4.0"
|
||||||
source = "git+https://github.com/paritytech/js-precompiled.git#d2b6b36b4ea27ed5c8b6b1b3cb02dc08983cda18"
|
source = "git+https://github.com/paritytech/js-precompiled.git#324f106aa40d6c37f8c70f9ada9ad744cd64006e"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"parity-dapps-glue 1.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"parity-dapps-glue 1.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
@ -12,7 +12,10 @@
|
|||||||
"eip160Transition": 10,
|
"eip160Transition": 10,
|
||||||
"eip161abcTransition": 10,
|
"eip161abcTransition": 10,
|
||||||
"eip161dTransition": 10,
|
"eip161dTransition": 10,
|
||||||
"maxCodeSize": 24576
|
"maxCodeSize": 24576,
|
||||||
|
"eip649Reward": "0x29A2241AF62C0000",
|
||||||
|
"eip100bTransition": 1700000,
|
||||||
|
"eip649Transition": 1700000
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -27,9 +30,12 @@
|
|||||||
"forkBlock": 641350,
|
"forkBlock": 641350,
|
||||||
"forkCanonHash": "0x8033403e9fe5811a7b6d6b469905915de1c59207ce2172cbcf5d6ff14fa6a2eb",
|
"forkCanonHash": "0x8033403e9fe5811a7b6d6b469905915de1c59207ce2172cbcf5d6ff14fa6a2eb",
|
||||||
"eip155Transition": 10,
|
"eip155Transition": 10,
|
||||||
|
|
||||||
"eip98Transition": "0x7fffffffffffff",
|
"eip98Transition": "0x7fffffffffffff",
|
||||||
"eip86Transition": "0x7fffffffffffff"
|
"eip86Transition": "0x7fffffffffffff",
|
||||||
|
"eip140Transition": 1700000,
|
||||||
|
"eip211Transition": 1700000,
|
||||||
|
"eip214Transition": 1700000,
|
||||||
|
"eip658Transition": 1700000
|
||||||
},
|
},
|
||||||
"genesis": {
|
"genesis": {
|
||||||
"seal": {
|
"seal": {
|
||||||
@ -50,15 +56,15 @@
|
|||||||
"enode://6ce05930c72abc632c58e2e4324f7c7ea478cec0ed4fa2528982cf34483094e9cbc9216e7aa349691242576d552a2a56aaeae426c5303ded677ce455ba1acd9d@13.84.180.240:30303"
|
"enode://6ce05930c72abc632c58e2e4324f7c7ea478cec0ed4fa2528982cf34483094e9cbc9216e7aa349691242576d552a2a56aaeae426c5303ded677ce455ba1acd9d@13.84.180.240:30303"
|
||||||
],
|
],
|
||||||
"accounts": {
|
"accounts": {
|
||||||
|
"0000000000000000000000000000000000000000": { "balance": "1" },
|
||||||
"0000000000000000000000000000000000000001": { "balance": "1", "nonce": "0", "builtin": { "name": "ecrecover", "pricing": { "linear": { "base": 3000, "word": 0 } } } },
|
"0000000000000000000000000000000000000001": { "balance": "1", "nonce": "0", "builtin": { "name": "ecrecover", "pricing": { "linear": { "base": 3000, "word": 0 } } } },
|
||||||
"0000000000000000000000000000000000000002": { "balance": "1", "nonce": "0", "builtin": { "name": "sha256", "pricing": { "linear": { "base": 60, "word": 12 } } } },
|
"0000000000000000000000000000000000000002": { "balance": "1", "nonce": "0", "builtin": { "name": "sha256", "pricing": { "linear": { "base": 60, "word": 12 } } } },
|
||||||
"0000000000000000000000000000000000000003": { "balance": "1", "nonce": "0", "builtin": { "name": "ripemd160", "pricing": { "linear": { "base": 600, "word": 120 } } } },
|
"0000000000000000000000000000000000000003": { "balance": "1", "nonce": "0", "builtin": { "name": "ripemd160", "pricing": { "linear": { "base": 600, "word": 120 } } } },
|
||||||
"0000000000000000000000000000000000000004": { "balance": "1", "nonce": "0", "builtin": { "name": "identity", "pricing": { "linear": { "base": 15, "word": 3 } } } },
|
"0000000000000000000000000000000000000004": { "balance": "1", "nonce": "0", "builtin": { "name": "identity", "pricing": { "linear": { "base": 15, "word": 3 } } } },
|
||||||
"0000000000000000000000000000000000000000": { "balance": "1" },
|
"0000000000000000000000000000000000000005": { "balance": "1", "nonce": "0", "builtin": { "name": "modexp", "activate_at": 1700000, "pricing": { "modexp": { "divisor": 20 } } } },
|
||||||
"0000000000000000000000000000000000000005": { "balance": "1" },
|
"0000000000000000000000000000000000000006": { "balance": "1", "nonce": "0", "builtin": { "name": "alt_bn128_add", "activate_at": 1700000, "pricing": { "linear": { "base": 500, "word": 0 } } } },
|
||||||
"0000000000000000000000000000000000000006": { "balance": "1" },
|
"0000000000000000000000000000000000000007": { "balance": "1", "nonce": "0", "builtin": { "name": "alt_bn128_mul", "activate_at": 1700000, "pricing": { "linear": { "base": 40000, "word": 0 } } } },
|
||||||
"0000000000000000000000000000000000000007": { "balance": "1" },
|
"0000000000000000000000000000000000000008": { "balance": "1", "nonce": "0", "builtin": { "name": "alt_bn128_pairing", "activate_at": 1700000, "pricing": { "alt_bn128_pairing": { "base": 100000, "pair": 80000 } } } },
|
||||||
"0000000000000000000000000000000000000008": { "balance": "1" },
|
|
||||||
"0000000000000000000000000000000000000009": { "balance": "1" },
|
"0000000000000000000000000000000000000009": { "balance": "1" },
|
||||||
"000000000000000000000000000000000000000a": { "balance": "0" },
|
"000000000000000000000000000000000000000a": { "balance": "0" },
|
||||||
"000000000000000000000000000000000000000b": { "balance": "0" },
|
"000000000000000000000000000000000000000b": { "balance": "0" },
|
||||||
|
@ -450,22 +450,19 @@ impl<B: Backend> State<B> {
|
|||||||
//
|
//
|
||||||
// In all other cases account is read as clean first, and after that made
|
// In all other cases account is read as clean first, and after that made
|
||||||
// dirty in and added to the checkpoint with `note_cache`.
|
// dirty in and added to the checkpoint with `note_cache`.
|
||||||
if account.is_dirty() {
|
let is_dirty = account.is_dirty();
|
||||||
|
let old_value = self.cache.borrow_mut().insert(*address, account);
|
||||||
|
if is_dirty {
|
||||||
if let Some(ref mut checkpoint) = self.checkpoints.borrow_mut().last_mut() {
|
if let Some(ref mut checkpoint) = self.checkpoints.borrow_mut().last_mut() {
|
||||||
if !checkpoint.contains_key(address) {
|
checkpoint.entry(*address).or_insert(old_value);
|
||||||
checkpoint.insert(address.clone(), self.cache.borrow_mut().insert(address.clone(), account));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
self.cache.borrow_mut().insert(address.clone(), account);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fn note_cache(&self, address: &Address) {
|
fn note_cache(&self, address: &Address) {
|
||||||
if let Some(ref mut checkpoint) = self.checkpoints.borrow_mut().last_mut() {
|
if let Some(ref mut checkpoint) = self.checkpoints.borrow_mut().last_mut() {
|
||||||
if !checkpoint.contains_key(address) {
|
checkpoint.entry(*address)
|
||||||
checkpoint.insert(address.clone(), self.cache.borrow().get(address).map(AccountEntry::clone_dirty));
|
.or_insert_with(|| self.cache.borrow().get(address).map(AccountEntry::clone_dirty));
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -559,9 +556,8 @@ impl<B: Backend> State<B> {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
match trie_res {
|
if let Some(res) = trie_res {
|
||||||
None => {}
|
return res;
|
||||||
Some(res) => return res,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// otherwise cache the account localy and cache storage key there.
|
// otherwise cache the account localy and cache storage key there.
|
||||||
@ -868,27 +864,29 @@ impl<B: Backend> State<B> {
|
|||||||
|
|
||||||
// load required account data from the databases.
|
// load required account data from the databases.
|
||||||
fn update_account_cache(require: RequireCache, account: &mut Account, state_db: &B, db: &HashDB) {
|
fn update_account_cache(require: RequireCache, account: &mut Account, state_db: &B, db: &HashDB) {
|
||||||
match (account.is_cached(), require) {
|
if let RequireCache::None = require {
|
||||||
(true, _) | (false, RequireCache::None) => {}
|
return;
|
||||||
(false, require) => {
|
}
|
||||||
// if there's already code in the global cache, always cache it
|
|
||||||
// locally.
|
if account.is_cached() {
|
||||||
let hash = account.code_hash();
|
return;
|
||||||
match state_db.get_cached_code(&hash) {
|
}
|
||||||
Some(code) => account.cache_given_code(code),
|
|
||||||
None => match require {
|
// if there's already code in the global cache, always cache it localy
|
||||||
RequireCache::None => {},
|
let hash = account.code_hash();
|
||||||
RequireCache::Code => {
|
match state_db.get_cached_code(&hash) {
|
||||||
if let Some(code) = account.cache_code(db) {
|
Some(code) => account.cache_given_code(code),
|
||||||
// propagate code loaded from the database to
|
None => match require {
|
||||||
// the global code cache.
|
RequireCache::None => {},
|
||||||
state_db.cache_code(hash, code)
|
RequireCache::Code => {
|
||||||
}
|
if let Some(code) = account.cache_code(db) {
|
||||||
}
|
// propagate code loaded from the database to
|
||||||
RequireCache::CodeSize => {
|
// the global code cache.
|
||||||
account.cache_code_size(db);
|
state_db.cache_code(hash, code)
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
RequireCache::CodeSize => {
|
||||||
|
account.cache_code_size(db);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -938,7 +936,7 @@ impl<B: Backend> State<B> {
|
|||||||
|
|
||||||
/// Pull account `a` in our cache from the trie DB. `require_code` requires that the code be cached, too.
|
/// Pull account `a` in our cache from the trie DB. `require_code` requires that the code be cached, too.
|
||||||
fn require<'a>(&'a self, a: &Address, require_code: bool) -> trie::Result<RefMut<'a, Account>> {
|
fn require<'a>(&'a self, a: &Address, require_code: bool) -> trie::Result<RefMut<'a, Account>> {
|
||||||
self.require_or_from(a, require_code, || Account::new_basic(U256::from(0u8), self.account_start_nonce), |_|{})
|
self.require_or_from(a, require_code, || Account::new_basic(0u8.into(), self.account_start_nonce), |_|{})
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Pull account `a` in our cache from the trie DB. `require_code` requires that the code be cached, too.
|
/// Pull account `a` in our cache from the trie DB. `require_code` requires that the code be cached, too.
|
||||||
|
@ -50,11 +50,11 @@ impl Substate {
|
|||||||
|
|
||||||
/// Merge secondary substate `s` into self, accruing each element correspondingly.
|
/// Merge secondary substate `s` into self, accruing each element correspondingly.
|
||||||
pub fn accrue(&mut self, s: Substate) {
|
pub fn accrue(&mut self, s: Substate) {
|
||||||
self.suicides.extend(s.suicides.into_iter());
|
self.suicides.extend(s.suicides);
|
||||||
self.touched.extend(s.touched.into_iter());
|
self.touched.extend(s.touched);
|
||||||
self.logs.extend(s.logs.into_iter());
|
self.logs.extend(s.logs);
|
||||||
self.sstore_clears_count = self.sstore_clears_count + s.sstore_clears_count;
|
self.sstore_clears_count = self.sstore_clears_count + s.sstore_clears_count;
|
||||||
self.contracts_created.extend(s.contracts_created.into_iter());
|
self.contracts_created.extend(s.contracts_created);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Get the cleanup mode object from this.
|
/// Get the cleanup mode object from this.
|
||||||
|
2
js/package-lock.json
generated
2
js/package-lock.json
generated
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "Parity",
|
"name": "Parity",
|
||||||
"version": "1.8.20",
|
"version": "1.8.21",
|
||||||
"lockfileVersion": 1,
|
"lockfileVersion": 1,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "Parity",
|
"name": "Parity",
|
||||||
"version": "1.8.20",
|
"version": "1.8.21",
|
||||||
"main": "src/index.parity.js",
|
"main": "src/index.parity.js",
|
||||||
"jsnext:main": "src/index.parity.js",
|
"jsnext:main": "src/index.parity.js",
|
||||||
"author": "Parity Team <admin@parity.io>",
|
"author": "Parity Team <admin@parity.io>",
|
||||||
|
Loading…
Reference in New Issue
Block a user