Merge branch 'master' into kvdb_split
This commit is contained in:
commit
2ce0eae406
41
CHANGELOG.md
41
CHANGELOG.md
@ -1,25 +1,32 @@
|
|||||||
## Parity [v1.8.0](https://github.com/paritytech/parity/releases/tag/v1.8.0) (2017-10-13)
|
## Parity [v1.8.0](https://github.com/paritytech/parity/releases/tag/v1.8.0) (2017-10-15)
|
||||||
|
|
||||||
@TODO describe and document
|
We are happy to announce our newest Parity 1.8 release. Among others, it enables the following features:
|
||||||
|
|
||||||
- WASM contracts
|
- Full Whisper v6 integration
|
||||||
- light cient improvements (POA chain compatibility)
|
- Trezor hardware-wallet support
|
||||||
- Trezor wallet support
|
- WASM contract support
|
||||||
- Abstraction of engine: Generalize engine trait, Move more params to the common section
|
- PICOPS KYC-certified accounts and vouching for community-dapps
|
||||||
- PICOPS certification badge
|
- Light client compatibility for Proof-of-Authority networks
|
||||||
- Vouch for Dapps
|
- Transaction permissioning and permissioned p2p-connections
|
||||||
- Premissioned p2p-connections
|
- Full Byzantium-fork compatibility
|
||||||
- Transaction permissioning
|
- Full Musicoin MCIP-3 UBI-fork compatibility
|
||||||
- Add Musicoin and MCIP-3 UBI hardfork.
|
|
||||||
- Add pagination for trace_filter rpc method
|
Further, users upgrading from 1.7 should acknowledge the following changes:
|
||||||
- Rename network_id to chain_id where applicable
|
|
||||||
- Compatibility with whisper v6
|
- The chain-engine was further abstracted and chain-specs need to be upgraded. [#6134](https://github.com/paritytech/parity/pull/6134) [#6591](https://github.com/paritytech/parity/pull/6591)
|
||||||
- Byzantium updates
|
- `network_id` was renamed to `chain_id` where applicable. [#6345](https://github.com/paritytech/parity/pull/6345)
|
||||||
- Rewards on closing blocks
|
- `trace_filter` RPC method now comes with pagination. [#6312](https://github.com/paritytech/parity/pull/6312)
|
||||||
|
- Added tracing of rewards on closing blocks. [#6194](https://github.com/paritytech/parity/pull/6194)
|
||||||
|
|
||||||
Full list of included changes:
|
Full list of included changes:
|
||||||
|
|
||||||
- CLI: Reject invalid argument values rather than ignore them (#6747)
|
- Updated ethabi to fix auto-update ([#6771](https://github.com/paritytech/parity/pull/6771))
|
||||||
|
- Fixed kovan chain validation ([#6760](https://github.com/paritytech/parity/pull/6760))
|
||||||
|
- Fixed kovan chain validation
|
||||||
|
- Fork detection
|
||||||
|
- Fixed typo
|
||||||
|
- Bumped fork block number for auto-update ([#6755](https://github.com/paritytech/parity/pull/6755))
|
||||||
|
- CLI: Reject invalid argument values rather than ignore them ([#6747](https://github.com/paritytech/parity/pull/6747))
|
||||||
- Fixed modexp gas calculation overflow ([#6745](https://github.com/paritytech/parity/pull/6745))
|
- Fixed modexp gas calculation overflow ([#6745](https://github.com/paritytech/parity/pull/6745))
|
||||||
- Backport beta - Fixes Badges ([#6732](https://github.com/paritytech/parity/pull/6732))
|
- Backport beta - Fixes Badges ([#6732](https://github.com/paritytech/parity/pull/6732))
|
||||||
- Fix badges not showing up ([#6730](https://github.com/paritytech/parity/pull/6730))
|
- Fix badges not showing up ([#6730](https://github.com/paritytech/parity/pull/6730))
|
||||||
|
12
Cargo.lock
generated
12
Cargo.lock
generated
@ -608,6 +608,7 @@ dependencies = [
|
|||||||
"log 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"lru-cache 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"lru-cache 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"macros 0.1.0",
|
"macros 0.1.0",
|
||||||
|
"memory-cache 0.1.0",
|
||||||
"memorydb 0.1.0",
|
"memorydb 0.1.0",
|
||||||
"migration 0.1.0",
|
"migration 0.1.0",
|
||||||
"native-contracts 0.1.0",
|
"native-contracts 0.1.0",
|
||||||
@ -763,6 +764,7 @@ dependencies = [
|
|||||||
"kvdb-memorydb 0.1.0",
|
"kvdb-memorydb 0.1.0",
|
||||||
"kvdb-rocksdb 0.1.0",
|
"kvdb-rocksdb 0.1.0",
|
||||||
"log 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
"memory-cache 0.1.0",
|
||||||
"memorydb 0.1.0",
|
"memorydb 0.1.0",
|
||||||
"parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
"parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"patricia_trie 0.1.0",
|
"patricia_trie 0.1.0",
|
||||||
@ -907,7 +909,6 @@ dependencies = [
|
|||||||
"kvdb-memorydb 0.1.0",
|
"kvdb-memorydb 0.1.0",
|
||||||
"libc 0.2.31 (registry+https://github.com/rust-lang/crates.io-index)",
|
"libc 0.2.31 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"log 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"lru-cache 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
|
||||||
"memorydb 0.1.0",
|
"memorydb 0.1.0",
|
||||||
"parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
"parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"patricia_trie 0.1.0",
|
"patricia_trie 0.1.0",
|
||||||
@ -1054,6 +1055,7 @@ dependencies = [
|
|||||||
"heapsize 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
"heapsize 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
"lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"log 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
"log 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
"memory-cache 0.1.0",
|
||||||
"parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
"parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
"rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
"vm 0.1.0",
|
"vm 0.1.0",
|
||||||
@ -1668,6 +1670,14 @@ dependencies = [
|
|||||||
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
"winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "memory-cache"
|
||||||
|
version = "0.1.0"
|
||||||
|
dependencies = [
|
||||||
|
"heapsize 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
"lru-cache 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "memorydb"
|
name = "memorydb"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
|
@ -1,3 +1,14 @@
|
|||||||
|
## Parity [v1.7.7](https://github.com/paritytech/parity/releases/tag/v1.7.7) (2017-10-15)
|
||||||
|
|
||||||
|
Parity 1.7.7 Fixes an issue with auto-update system. Updating is recommended, but not required for Byzantium.
|
||||||
|
|
||||||
|
Full list of included changes:
|
||||||
|
|
||||||
|
- Fix auto-update ([#6769](https://github.com/paritytech/parity/pull/6759))
|
||||||
|
- Bump to v1.7.7
|
||||||
|
- Updated ethabi to fix auto-update
|
||||||
|
- Bumped fork block number for auto-update ([#6754](https://github.com/paritytech/parity/pull/6754))
|
||||||
|
|
||||||
## Parity [v1.7.6](https://github.com/paritytech/parity/releases/tag/v1.7.6) (2017-10-13)
|
## Parity [v1.7.6](https://github.com/paritytech/parity/releases/tag/v1.7.6) (2017-10-13)
|
||||||
|
|
||||||
Parity 1.7.6 includes a critical consensus-relevant fix for the Byzantium hard-fork. Please upgrade your Ethereum client before block number `4_370_000`.
|
Parity 1.7.6 includes a critical consensus-relevant fix for the Byzantium hard-fork. Please upgrade your Ethereum client before block number `4_370_000`.
|
||||||
|
@ -32,6 +32,7 @@ ethcore-logger = { path = "../logger" }
|
|||||||
ethcore-stratum = { path = "../stratum" }
|
ethcore-stratum = { path = "../stratum" }
|
||||||
ethcore-util = { path = "../util" }
|
ethcore-util = { path = "../util" }
|
||||||
ethcore-bigint = { path = "../util/bigint" }
|
ethcore-bigint = { path = "../util/bigint" }
|
||||||
|
memory-cache = { path = "../util/memory_cache" }
|
||||||
ethjson = { path = "../json" }
|
ethjson = { path = "../json" }
|
||||||
ethkey = { path = "../ethkey" }
|
ethkey = { path = "../ethkey" }
|
||||||
ethstore = { path = "../ethstore" }
|
ethstore = { path = "../ethstore" }
|
||||||
|
@ -14,6 +14,7 @@ log = "0.3"
|
|||||||
vm = { path = "../vm" }
|
vm = { path = "../vm" }
|
||||||
hash = { path = "../../util/hash" }
|
hash = { path = "../../util/hash" }
|
||||||
parking_lot = "0.4"
|
parking_lot = "0.4"
|
||||||
|
memory-cache = { path = "../../util/memory_cache" }
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
rustc-hex = "1.0"
|
rustc-hex = "1.0"
|
||||||
|
@ -19,7 +19,7 @@ use hash::KECCAK_EMPTY;
|
|||||||
use heapsize::HeapSizeOf;
|
use heapsize::HeapSizeOf;
|
||||||
use bigint::hash::H256;
|
use bigint::hash::H256;
|
||||||
use parking_lot::Mutex;
|
use parking_lot::Mutex;
|
||||||
use util::cache::MemoryLruCache;
|
use memory_cache::MemoryLruCache;
|
||||||
use bit_set::BitSet;
|
use bit_set::BitSet;
|
||||||
use super::super::instructions;
|
use super::super::instructions;
|
||||||
|
|
||||||
|
@ -23,6 +23,7 @@ extern crate parking_lot;
|
|||||||
extern crate heapsize;
|
extern crate heapsize;
|
||||||
extern crate vm;
|
extern crate vm;
|
||||||
extern crate hash;
|
extern crate hash;
|
||||||
|
extern crate memory_cache;
|
||||||
|
|
||||||
#[macro_use]
|
#[macro_use]
|
||||||
extern crate lazy_static;
|
extern crate lazy_static;
|
||||||
|
@ -42,6 +42,7 @@ triehash = { path = "../../util/triehash" }
|
|||||||
kvdb = { path = "../../util/kvdb" }
|
kvdb = { path = "../../util/kvdb" }
|
||||||
kvdb-rocksdb = { path = "../../util/kvdb-rocksdb" }
|
kvdb-rocksdb = { path = "../../util/kvdb-rocksdb" }
|
||||||
kvdb-memorydb = { path = "../../util/kvdb-memorydb" }
|
kvdb-memorydb = { path = "../../util/kvdb-memorydb" }
|
||||||
|
memory-cache = { path = "../../util/memory_cache" }
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = []
|
default = []
|
||||||
|
@ -29,7 +29,7 @@ use time::{SteadyTime, Duration};
|
|||||||
use heapsize::HeapSizeOf;
|
use heapsize::HeapSizeOf;
|
||||||
use bigint::prelude::U256;
|
use bigint::prelude::U256;
|
||||||
use bigint::hash::H256;
|
use bigint::hash::H256;
|
||||||
use util::cache::MemoryLruCache;
|
use memory_cache::MemoryLruCache;
|
||||||
|
|
||||||
/// Configuration for how much data to cache.
|
/// Configuration for how much data to cache.
|
||||||
#[derive(Debug, Clone, PartialEq, Eq)]
|
#[derive(Debug, Clone, PartialEq, Eq)]
|
||||||
|
@ -94,6 +94,7 @@ extern crate triehash;
|
|||||||
extern crate kvdb;
|
extern crate kvdb;
|
||||||
extern crate kvdb_memorydb;
|
extern crate kvdb_memorydb;
|
||||||
extern crate kvdb_rocksdb;
|
extern crate kvdb_rocksdb;
|
||||||
|
extern crate memory_cache;
|
||||||
|
|
||||||
#[cfg(feature = "ipc")]
|
#[cfg(feature = "ipc")]
|
||||||
extern crate ethcore_ipc as ipc;
|
extern crate ethcore_ipc as ipc;
|
||||||
|
@ -27,7 +27,7 @@ use parking_lot::{Mutex, RwLock};
|
|||||||
|
|
||||||
use util::*;
|
use util::*;
|
||||||
use bytes::Bytes;
|
use bytes::Bytes;
|
||||||
use util::cache::MemoryLruCache;
|
use memory_cache::MemoryLruCache;
|
||||||
use unexpected::Mismatch;
|
use unexpected::Mismatch;
|
||||||
use rlp::{UntrustedRlp, RlpStream};
|
use rlp::{UntrustedRlp, RlpStream};
|
||||||
|
|
||||||
|
@ -131,6 +131,7 @@ extern crate bloomable;
|
|||||||
extern crate vm;
|
extern crate vm;
|
||||||
extern crate wasm;
|
extern crate wasm;
|
||||||
extern crate ethcore_util as util;
|
extern crate ethcore_util as util;
|
||||||
|
extern crate memory_cache;
|
||||||
|
|
||||||
#[macro_use]
|
#[macro_use]
|
||||||
extern crate macros;
|
extern crate macros;
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
use std::collections::{VecDeque, HashSet};
|
use std::collections::{VecDeque, HashSet};
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
use lru_cache::LruCache;
|
use lru_cache::LruCache;
|
||||||
use util::cache::MemoryLruCache;
|
use memory_cache::MemoryLruCache;
|
||||||
use util::journaldb::JournalDB;
|
use util::journaldb::JournalDB;
|
||||||
use kvdb::{KeyValueDB, DBTransaction};
|
use kvdb::{KeyValueDB, DBTransaction};
|
||||||
use bigint::hash::H256;
|
use bigint::hash::H256;
|
||||||
|
@ -49,7 +49,7 @@ impl HypervisorService {
|
|||||||
// return type for making method synchronous
|
// return type for making method synchronous
|
||||||
fn module_ready(&self, module_id: u64, control_url: String) -> bool {
|
fn module_ready(&self, module_id: u64, control_url: String) -> bool {
|
||||||
let mut modules = self.modules.write().unwrap();
|
let mut modules = self.modules.write().unwrap();
|
||||||
modules.get_mut(&module_id).map(|mut module| {
|
modules.get_mut(&module_id).map(|module| {
|
||||||
module.started = true;
|
module.started = true;
|
||||||
module.control_url = control_url;
|
module.control_url = control_url;
|
||||||
});
|
});
|
||||||
@ -60,7 +60,7 @@ impl HypervisorService {
|
|||||||
// return type for making method synchronous
|
// return type for making method synchronous
|
||||||
fn module_shutdown(&self, module_id: u64) -> bool {
|
fn module_shutdown(&self, module_id: u64) -> bool {
|
||||||
let mut modules = self.modules.write().unwrap();
|
let mut modules = self.modules.write().unwrap();
|
||||||
modules.get_mut(&module_id).map(|mut module| {
|
modules.get_mut(&module_id).map(|module| {
|
||||||
module.shutdown = true;
|
module.shutdown = true;
|
||||||
});
|
});
|
||||||
trace!(target: "hypervisor", "Module shutdown: {}", module_id);
|
trace!(target: "hypervisor", "Module shutdown: {}", module_id);
|
||||||
|
@ -24,7 +24,6 @@ target_info = "0.1"
|
|||||||
ethcore-bigint = { path = "bigint", features = ["heapsizeof"] }
|
ethcore-bigint = { path = "bigint", features = ["heapsizeof"] }
|
||||||
parking_lot = "0.4"
|
parking_lot = "0.4"
|
||||||
tiny-keccak= "1.0"
|
tiny-keccak= "1.0"
|
||||||
lru-cache = "0.1.0"
|
|
||||||
ethcore-logger = { path = "../logger" }
|
ethcore-logger = { path = "../logger" }
|
||||||
triehash = { path = "triehash" }
|
triehash = { path = "triehash" }
|
||||||
error-chain = "0.11.0-rc.2"
|
error-chain = "0.11.0-rc.2"
|
||||||
|
10
util/memory_cache/Cargo.toml
Normal file
10
util/memory_cache/Cargo.toml
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
[package]
|
||||||
|
name = "memory-cache"
|
||||||
|
version = "0.1.0"
|
||||||
|
authors = ["Parity Technologies <admin@parity.io>"]
|
||||||
|
description = "An LRU-cache which operates on memory used"
|
||||||
|
license = "GPL3"
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
heapsize = "0.4"
|
||||||
|
lru-cache = "0.1"
|
@ -18,6 +18,9 @@
|
|||||||
//! crate.
|
//! crate.
|
||||||
// TODO: push changes upstream in a clean way.
|
// TODO: push changes upstream in a clean way.
|
||||||
|
|
||||||
|
extern crate heapsize;
|
||||||
|
extern crate lru_cache;
|
||||||
|
|
||||||
use heapsize::HeapSizeOf;
|
use heapsize::HeapSizeOf;
|
||||||
use lru_cache::LruCache;
|
use lru_cache::LruCache;
|
||||||
|
|
@ -100,7 +100,6 @@ extern crate ethcore_bytes as bytes;
|
|||||||
extern crate parking_lot;
|
extern crate parking_lot;
|
||||||
extern crate tiny_keccak;
|
extern crate tiny_keccak;
|
||||||
extern crate rlp;
|
extern crate rlp;
|
||||||
extern crate lru_cache;
|
|
||||||
extern crate heapsize;
|
extern crate heapsize;
|
||||||
extern crate ethcore_logger;
|
extern crate ethcore_logger;
|
||||||
extern crate hash as keccak;
|
extern crate hash as keccak;
|
||||||
@ -119,7 +118,6 @@ extern crate log as rlog;
|
|||||||
pub mod misc;
|
pub mod misc;
|
||||||
pub mod overlaydb;
|
pub mod overlaydb;
|
||||||
pub mod journaldb;
|
pub mod journaldb;
|
||||||
pub mod cache;
|
|
||||||
|
|
||||||
pub use misc::*;
|
pub use misc::*;
|
||||||
pub use hashdb::*;
|
pub use hashdb::*;
|
||||||
|
Loading…
Reference in New Issue
Block a user