diff --git a/.gitignore b/.gitignore index 994559bb1..0138d3efd 100644 --- a/.gitignore +++ b/.gitignore @@ -15,6 +15,7 @@ # vim stuff *.swp +*.swo # mac stuff .DS_Store diff --git a/CHANGELOG.md b/CHANGELOG.md index dcfef0dc4..b3695b06a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4543 +1,235 @@ -## Parity [v1.7.2](https://github.com/paritytech/parity/releases/tag/v1.7.2) (2017-09-18) +## Parity [v1.8.0](https://github.com/paritytech/parity/releases/tag/v1.8.0) (2017-10-15) -Parity 1.7.2 is a bug-fix release to improve performance and stability. Among others, it addresses the following: +We are happy to announce our newest Parity 1.8 release. Among others, it enables the following features: -- 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 Whisper v6 integration +- Trezor hardware-wallet support +- WASM contract support +- PICOPS KYC-certified accounts and vouching for community-dapps +- Light client compatibility for Proof-of-Authority networks +- Transaction permissioning and permissioned p2p-connections +- Full Byzantium-fork compatibility +- Full Musicoin MCIP-3 UBI-fork compatibility + +Further, users upgrading from 1.7 should acknowledge the following changes: + +- 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) +- `network_id` was renamed to `chain_id` where applicable. [#6345](https://github.com/paritytech/parity/pull/6345) +- `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: -- 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 1.7.0 is a major release introducing several important features: - -- **Experimental [Light client](https://github.com/paritytech/parity/wiki/The-Parity-Light-Protocol-(PIP)) support**. Start Parity with `--light` to enable light mode. Please, note: The wallet UI integration for the light client is not included, yet. -- **Experimental web wallet**. A hosted version of Parity that keeps the keys and signs transactions using your browser storage. Try it at https://wallet.parity.io or run your own with `--public-node`. -- **WASM contract support**. Private networks can run contracts compiled into WASM bytecode. _More information and documentation to follow_. -- **DApps and RPC server merge**. DApp and RPC are now available through a single API endpoint. DApp server related settings are deprecated. -- **Export accounts from the wallet**. Backing up your keys can now simply be managed through the wallet interface. -- **PoA/Kovan validator set contract**. The PoA network validator-set management via smart contract is now supported by warp and, in the near future, light sync. -- **PubSub API**. https://github.com/paritytech/parity/wiki/JSONRPC-Parity-Pub-Sub-module -- **Signer apps for IOS and Android**. - -Full list of included changes: - -- Backports [#6163](https://github.com/paritytech/parity/pull/6163) - - Light client improvements ([#6156](https://github.com/paritytech/parity/pull/6156)) - - No seal checking - - Import command and --no-seal-check for light client - - Fix eth_call - - Tweak registry dapps lookup - - Ignore failed requests to non-server peers - - Fix connecting to wildcard addresses. ([#6167](https://github.com/paritytech/parity/pull/6167)) - - Don't display an overlay in case the time sync check fails. ([#6164](https://github.com/paritytech/parity/pull/6164)) - - Small improvements to time estimation. - - Temporarily disable NTP time check by default. -- Light client fixes ([#6148](https://github.com/paritytech/parity/pull/6148)) [#6151](https://github.com/paritytech/parity/pull/6151) - - Light client fixes - - Fix memory-lru-cache - - Clear pending reqs on disconnect -- Filter tokens logs from current block, not genesis ([#6128](https://github.com/paritytech/parity/pull/6128)) [#6141](https://github.com/paritytech/parity/pull/6141) -- Fix QR scanner returning null on confirm [#6122](https://github.com/paritytech/parity/pull/6122) -- Check QR before lowercase ([#6119](https://github.com/paritytech/parity/pull/6119)) [#6120](https://github.com/paritytech/parity/pull/6120) -- Remove chunk to restore from pending set only upon successful import [#6117](https://github.com/paritytech/parity/pull/6117) -- Fixed node address detection on incoming connection [#6094](https://github.com/paritytech/parity/pull/6094) -- Place RETURNDATA behind block number gate [#6095](https://github.com/paritytech/parity/pull/6095) -- Update wallet library binaries [#6108](https://github.com/paritytech/parity/pull/6108) -- Backported wallet fix [#6105](https://github.com/paritytech/parity/pull/6105) - - Fix initialisation bug. ([#6102](https://github.com/paritytech/parity/pull/6102)) - - Update wallet library modifiers ([#6103](https://github.com/paritytech/parity/pull/6103)) -- Place RETURNDATA behind block number gate [#6095](https://github.com/paritytech/parity/pull/6095) -- Fixed node address detection on incoming connection [#6094](https://github.com/paritytech/parity/pull/6094) -- Bump snap version and tweak importing detection logic ([#6079](https://github.com/paritytech/parity/pull/6079)) [#6081](https://github.com/paritytech/parity/pull/6081) - - bump last tick just before printing info and restore sync detection - - bump kovan snapshot version - - Fixed sync tests - - Fixed rpc tests -- Acquire client report under lock in informant [#6071](https://github.com/paritytech/parity/pull/6071) -- Show busy indicator on Address forget [#6069](https://github.com/paritytech/parity/pull/6069) -- Add CSP for worker-src ([#6059](https://github.com/paritytech/parity/pull/6059)) [#6064](https://github.com/paritytech/parity/pull/6064) - - Specify worker-src seperately, add blob - - Upgrade react-qr-scan to latest version -- Set release channel to beta -- Limit transaction queue memory & limit future queue [#6038](https://github.com/paritytech/parity/pull/6038) -- Fix CI build issue [#6050](https://github.com/paritytech/parity/pull/6050) -- New contract PoA sync fixes [#5991](https://github.com/paritytech/parity/pull/5991) -- Fixed link to Multisig Contract Wallet on master [#5984](https://github.com/paritytech/parity/pull/5984) -- Ethcore crate split part 1 [#6041](https://github.com/paritytech/parity/pull/6041) -- Fix status icon [#6039](https://github.com/paritytech/parity/pull/6039) -- Errors & warnings for inappropriate RPCs [#6029](https://github.com/paritytech/parity/pull/6029) -- Add missing CSP for web3.site [#5992](https://github.com/paritytech/parity/pull/5992) -- Remove cargo install --git from README.md [#6037](https://github.com/paritytech/parity/pull/6037) -- Node Health warnings [#5951](https://github.com/paritytech/parity/pull/5951) -- RPC cpu pool [#6023](https://github.com/paritytech/parity/pull/6023) -- Use crates.io dependencies for parity-wasm [#6036](https://github.com/paritytech/parity/pull/6036) -- Add test for loading the chain specs [#6028](https://github.com/paritytech/parity/pull/6028) -- Whitelist APIs for generic Pub-Sub [#5840](https://github.com/paritytech/parity/pull/5840) -- WASM contracts MVP [#5679](https://github.com/paritytech/parity/pull/5679) -- Fix valid QR scan not advancing [#6033](https://github.com/paritytech/parity/pull/6033) -- --reseal-on-uncle [#5940](https://github.com/paritytech/parity/pull/5940) -- Support comments in reserved peers file ([#6004](https://github.com/paritytech/parity/pull/6004)) [#6012](https://github.com/paritytech/parity/pull/6012) -- Add new md tnc [#5937](https://github.com/paritytech/parity/pull/5937) -- Fix output of parity-evm in case of bad instruction [#5955](https://github.com/paritytech/parity/pull/5955) -- Don't send notifications to unsubscribed clients of PubSub [#5960](https://github.com/paritytech/parity/pull/5960) -- Proper light client informant and more verification of imported headers [#5897](https://github.com/paritytech/parity/pull/5897) -- New Kovan bootnodes [#6017](https://github.com/paritytech/parity/pull/6017) -- Use standard paths for Ethash cache [#5881](https://github.com/paritytech/parity/pull/5881) -- Defer code hash calculation. [#5959](https://github.com/paritytech/parity/pull/5959) -- Fix first run wizard. [#6000](https://github.com/paritytech/parity/pull/6000) -- migration to serde 1.0 [#5996](https://github.com/paritytech/parity/pull/5996) -- SecretStore: generating signatures [#5764](https://github.com/paritytech/parity/pull/5764) -- bigint upgraded to version 3.0 [#5986](https://github.com/paritytech/parity/pull/5986) -- config: don't allow dev chain with force sealing option [#5965](https://github.com/paritytech/parity/pull/5965) -- Update lockfile for miniz-sys and gcc [#5969](https://github.com/paritytech/parity/pull/5969) -- Clean up function naming in RPC error module [#5995](https://github.com/paritytech/parity/pull/5995) -- Fix underflow in gas calculation [#5975](https://github.com/paritytech/parity/pull/5975) -- PubSub for parity-js [#5830](https://github.com/paritytech/parity/pull/5830) -- Report whether a peer was kept from `Handler::on_connect` [#5958](https://github.com/paritytech/parity/pull/5958) -- Implement skeleton for transaction index and epoch transition proof PIP messages [#5908](https://github.com/paritytech/parity/pull/5908) -- TransactionQueue improvements [#5917](https://github.com/paritytech/parity/pull/5917) -- constant time HMAC comparison and clarify docs in ethkey [#5952](https://github.com/paritytech/parity/pull/5952) -- Avoid pre-computing jump destinations [#5954](https://github.com/paritytech/parity/pull/5954) -- Upgrade elastic array [#5949](https://github.com/paritytech/parity/pull/5949) -- PoA: Wait for transition finality before applying [#5774](https://github.com/paritytech/parity/pull/5774) -- Logs Pub-Sub [#5705](https://github.com/paritytech/parity/pull/5705) -- Add the command to install the parity snap [#5945](https://github.com/paritytech/parity/pull/5945) -- Reduce unnecessary allocations [#5944](https://github.com/paritytech/parity/pull/5944) -- Clarify confusing messages. [#5935](https://github.com/paritytech/parity/pull/5935) -- Content Security Policy [#5790](https://github.com/paritytech/parity/pull/5790) -- CLI: Export error message and less verbose peer counter. [#5870](https://github.com/paritytech/parity/pull/5870) -- network: make it more explicit about StreamToken and TimerToken [#5939](https://github.com/paritytech/parity/pull/5939) -- sync: make it more idiomatic rust [#5938](https://github.com/paritytech/parity/pull/5938) -- Prioritize accounts over address book [#5909](https://github.com/paritytech/parity/pull/5909) -- Fixing failing compilation of RPC test on master. [#5916](https://github.com/paritytech/parity/pull/5916) -- Empty local middleware, until explicitly requested [#5912](https://github.com/paritytech/parity/pull/5912) -- Cancel propagated TX [#5899](https://github.com/paritytech/parity/pull/5899) -- fix minor race condition in aura seal generation [#5910](https://github.com/paritytech/parity/pull/5910) -- Docs for Pub-Sub, optional parameter for parity_subscribe [#5833](https://github.com/paritytech/parity/pull/5833) -- Fix gas editor doubling-up on gas [#5820](https://github.com/paritytech/parity/pull/5820) -- Information about used paths added to general output block [#5904](https://github.com/paritytech/parity/pull/5904) -- Domain-locked web tokens. [#5894](https://github.com/paritytech/parity/pull/5894) -- Removed panic handlers [#5895](https://github.com/paritytech/parity/pull/5895) -- Latest changes from Rust RocksDB binding merged [#5905](https://github.com/paritytech/parity/pull/5905) -- Adjust keyethereum/secp256 aliasses [#5903](https://github.com/paritytech/parity/pull/5903) -- Keyethereum fs dependency [#5902](https://github.com/paritytech/parity/pull/5902) -- Ethereum Classic Monetary Policy [#5741](https://github.com/paritytech/parity/pull/5741) -- Initial token should allow full access. [#5873](https://github.com/paritytech/parity/pull/5873) -- Fixed account selection for Dapps on public node [#5856](https://github.com/paritytech/parity/pull/5856) -- blacklist bad snapshot manifest hashes upon failure [#5874](https://github.com/paritytech/parity/pull/5874) -- Fix wrongly called timeouts [#5838](https://github.com/paritytech/parity/pull/5838) -- ArchiveDB and other small fixes [#5867](https://github.com/paritytech/parity/pull/5867) -- convert try!() to ? [#5866](https://github.com/paritytech/parity/pull/5866) -- Make config file optional in systemd [#5847](https://github.com/paritytech/parity/pull/5847) -- EIP-116 (214), [#4833](https://github.com/paritytech/parity/issues/4833) [#4851](https://github.com/paritytech/parity/pull/4851) -- all executables are workspace members [#5865](https://github.com/paritytech/parity/pull/5865) -- minor optimizations of the modexp builtin [#5860](https://github.com/paritytech/parity/pull/5860) -- three small commits for HashDB and MemoryDB [#5766](https://github.com/paritytech/parity/pull/5766) -- use rust 1.18's retain to boost the purge performance [#5801](https://github.com/paritytech/parity/pull/5801) -- Allow IPFS server to accept POST requests [#5858](https://github.com/paritytech/parity/pull/5858) -- Dutch i18n from [#5802](https://github.com/paritytech/parity/issues/5802) for master [#5836](https://github.com/paritytech/parity/pull/5836) -- Typos in token deploy dapp ui [#5851](https://github.com/paritytech/parity/pull/5851) -- A CLI flag to allow fast transaction signing when account is unlocked. [#5778](https://github.com/paritytech/parity/pull/5778) -- Removing `additional` field from EVM instructions [#5821](https://github.com/paritytech/parity/pull/5821) -- Don't fail on wrong log decoding [#5813](https://github.com/paritytech/parity/pull/5813) -- Use randomized subscription ids for PubSub [#5756](https://github.com/paritytech/parity/pull/5756) -- Fixed mem write for empty slice [#5827](https://github.com/paritytech/parity/pull/5827) -- Fix party technologies [#5810](https://github.com/paritytech/parity/pull/5810) -- Revert "Fixed mem write for empty slice" [#5826](https://github.com/paritytech/parity/pull/5826) -- Fixed mem write for empty slice [#5825](https://github.com/paritytech/parity/pull/5825) -- Fix JS tests [#5822](https://github.com/paritytech/parity/pull/5822) -- Bump native-tls and openssl crates. [#5817](https://github.com/paritytech/parity/pull/5817) -- Public node using WASM [#5734](https://github.com/paritytech/parity/pull/5734) -- enforce block signer == author field in PoA [#5808](https://github.com/paritytech/parity/pull/5808) -- Fix stack display in evmbin. [#5733](https://github.com/paritytech/parity/pull/5733) -- Disable UI if it's not compiled in. [#5773](https://github.com/paritytech/parity/pull/5773) -- Require phrase confirmation. [#5731](https://github.com/paritytech/parity/pull/5731) -- Duration limit made optional for EthashParams [#5777](https://github.com/paritytech/parity/pull/5777) -- Update Changelog for 1.6.8 [#5798](https://github.com/paritytech/parity/pull/5798) -- Replace Ethcore comany name in T&C and some other places [#5796](https://github.com/paritytech/parity/pull/5796) -- PubSub for IPC. [#5800](https://github.com/paritytech/parity/pull/5800) -- Fix terminology distributed -> decentralized applications [#5797](https://github.com/paritytech/parity/pull/5797) -- Disable compression for RLP strings [#5786](https://github.com/paritytech/parity/pull/5786) -- update the source for the snapcraft package [#5781](https://github.com/paritytech/parity/pull/5781) -- Fixed default UI port for mac installer [#5782](https://github.com/paritytech/parity/pull/5782) -- Block invalid account name creation [#5784](https://github.com/paritytech/parity/pull/5784) -- Update Cid/multihash/ring/tinykeccak [#5785](https://github.com/paritytech/parity/pull/5785) -- use NULL_RLP, remove NULL_RLP_STATIC [#5742](https://github.com/paritytech/parity/pull/5742) -- Blacklist empty phrase account. [#5730](https://github.com/paritytech/parity/pull/5730) -- EIP-211 RETURNDATACOPY and RETURNDATASIZE [#5678](https://github.com/paritytech/parity/pull/5678) -- Bump mio [#5763](https://github.com/paritytech/parity/pull/5763) -- Fixing UI issues after UI server refactor [#5710](https://github.com/paritytech/parity/pull/5710) -- Fix WS server expose issue. [#5728](https://github.com/paritytech/parity/pull/5728) -- Fix local transactions without condition. [#5716](https://github.com/paritytech/parity/pull/5716) -- Bump parity-wordlist. [#5748](https://github.com/paritytech/parity/pull/5748) -- two small changes in evm [#5700](https://github.com/paritytech/parity/pull/5700) -- Evmbin: JSON format printing pre-state. [#5712](https://github.com/paritytech/parity/pull/5712) -- Recover from empty phrase in dev mode [#5698](https://github.com/paritytech/parity/pull/5698) -- EIP-210 BLOCKHASH changes [#5505](https://github.com/paritytech/parity/pull/5505) -- fixes typo [#5708](https://github.com/paritytech/parity/pull/5708) -- Bump rocksdb [#5707](https://github.com/paritytech/parity/pull/5707) -- Fixed --datadir option [#5697](https://github.com/paritytech/parity/pull/5697) -- rpc -> weak to arc [#5688](https://github.com/paritytech/parity/pull/5688) -- typo fix [#5699](https://github.com/paritytech/parity/pull/5699) -- Revamping parity-evmbin [#5696](https://github.com/paritytech/parity/pull/5696) -- Update dependencies and bigint api [#5685](https://github.com/paritytech/parity/pull/5685) -- UI server refactoring [#5580](https://github.com/paritytech/parity/pull/5580) -- Fix from/into electrum in ethkey [#5686](https://github.com/paritytech/parity/pull/5686) -- Add unit tests [#5668](https://github.com/paritytech/parity/pull/5668) -- Guanqun add unit tests [#5671](https://github.com/paritytech/parity/pull/5671) -- Parity-PubSub as a separate API. [#5676](https://github.com/paritytech/parity/pull/5676) -- EIP-140 REVERT opcode [#5477](https://github.com/paritytech/parity/pull/5477) -- Update CHANGELOG for 1.6.7 [#5683](https://github.com/paritytech/parity/pull/5683) -- Updated docs slightly. [#5674](https://github.com/paritytech/parity/pull/5674) -- Fix build [#5684](https://github.com/paritytech/parity/pull/5684) -- Back-references for the on-demand service [#5573](https://github.com/paritytech/parity/pull/5573) -- Dynamically adjust PIP request costs based on gathered data [#5603](https://github.com/paritytech/parity/pull/5603) -- use cargo workspace [#5601](https://github.com/paritytech/parity/pull/5601) -- Latest headers Pub-Sub [#5655](https://github.com/paritytech/parity/pull/5655) -- improved dockerfile builds [#5659](https://github.com/paritytech/parity/pull/5659) -- Adding CLI options: port shift and unsafe expose. [#5677](https://github.com/paritytech/parity/pull/5677) -- Report missing author in Aura [#5583](https://github.com/paritytech/parity/pull/5583) -- typo fix [#5669](https://github.com/paritytech/parity/pull/5669) -- Remove public middleware (temporary) [#5665](https://github.com/paritytech/parity/pull/5665) -- Remove additional polyfill [#5663](https://github.com/paritytech/parity/pull/5663) -- Importing accounts from files. [#5644](https://github.com/paritytech/parity/pull/5644) -- remove the deprecated options in rustfmt.toml [#5616](https://github.com/paritytech/parity/pull/5616) -- Update the Console dapp [#5602](https://github.com/paritytech/parity/pull/5602) -- Create an account for chain=dev [#5612](https://github.com/paritytech/parity/pull/5612) -- Use babel-runtime as opposed to babel-polyfill [#5662](https://github.com/paritytech/parity/pull/5662) -- Connection dialog timestamp info [#5554](https://github.com/paritytech/parity/pull/5554) -- use copy_from_slice instead of for loop [#5647](https://github.com/paritytech/parity/pull/5647) -- Light friendly dapps [#5634](https://github.com/paritytech/parity/pull/5634) -- Add Recover button to Accounts and warnings [#5645](https://github.com/paritytech/parity/pull/5645) -- Update eth_sign docs. [#5631](https://github.com/paritytech/parity/pull/5631) -- Proper signer Pub-Sub for pending requests. [#5594](https://github.com/paritytech/parity/pull/5594) -- Bump bigint to 1.0.5 [#5641](https://github.com/paritytech/parity/pull/5641) -- PoA warp implementation [#5488](https://github.com/paritytech/parity/pull/5488) -- Improve on-demand dispatch and add support for batch requests [#5419](https://github.com/paritytech/parity/pull/5419) -- Use default account for sending transactions [#5588](https://github.com/paritytech/parity/pull/5588) -- Add peer management to the Status tab [#5566](https://github.com/paritytech/parity/pull/5566) -- Add monotonic step transition [#5587](https://github.com/paritytech/parity/pull/5587) -- Decrypting for external accounts. [#5581](https://github.com/paritytech/parity/pull/5581) -- only enable warp sync when engine supports it [#5595](https://github.com/paritytech/parity/pull/5595) -- fix the doc of installing rust [#5586](https://github.com/paritytech/parity/pull/5586) -- Small fixes [#5584](https://github.com/paritytech/parity/pull/5584) -- SecretStore: remove session on master node [#5545](https://github.com/paritytech/parity/pull/5545) -- run-clean [#5607](https://github.com/paritytech/parity/pull/5607) -- relicense RLP to MIT/Apache2 [#5591](https://github.com/paritytech/parity/pull/5591) -- Fix eth_sign signature encoding. [#5597](https://github.com/paritytech/parity/pull/5597) -- Check pending request on Node local transactions [#5564](https://github.com/paritytech/parity/pull/5564) -- Add tooltips on ActionBar [#5562](https://github.com/paritytech/parity/pull/5562) -- Can't deploy without compiling Contract [#5593](https://github.com/paritytech/parity/pull/5593) -- Add a warning when node is syncing [#5565](https://github.com/paritytech/parity/pull/5565) -- Update registry middleware [#5585](https://github.com/paritytech/parity/pull/5585) -- Set block condition to BigNumber in MethodDecoding [#5592](https://github.com/paritytech/parity/pull/5592) -- Load the sources immediately in Contract Dev [#5575](https://github.com/paritytech/parity/pull/5575) -- Remove formal verification messages in Dev Contract [#5574](https://github.com/paritytech/parity/pull/5574) -- Fix event params decoding when no names for parameters [#5567](https://github.com/paritytech/parity/pull/5567) -- Do not convert to Dates twice [#5563](https://github.com/paritytech/parity/pull/5563) -- Fix Multisig wallet settings [#5560](https://github.com/paritytech/parity/pull/5560) -- Typo [#5547](https://github.com/paritytech/parity/pull/5547) -- Generic PubSub implementation [#5456](https://github.com/paritytech/parity/pull/5456) -- Fix CI paths. [#5570](https://github.com/paritytech/parity/pull/5570) -- reorg into blocks before minimum history [#5558](https://github.com/paritytech/parity/pull/5558) -- EIP-86 update [#5506](https://github.com/paritytech/parity/pull/5506) -- Secretstore RPCs + integration [#5439](https://github.com/paritytech/parity/pull/5439) -- Fixes Parity Bar position [#5557](https://github.com/paritytech/parity/pull/5557) -- Fixes invalid log in BadgeReg events [#5556](https://github.com/paritytech/parity/pull/5556) -- Fix issues in Contract Development view [#5555](https://github.com/paritytech/parity/pull/5555) -- Added missing methods [#5542](https://github.com/paritytech/parity/pull/5542) -- option to disable persistent txqueue [#5544](https://github.com/paritytech/parity/pull/5544) -- Bump jsonrpc [#5552](https://github.com/paritytech/parity/pull/5552) -- Retrieve block headers only for header-only info [#5480](https://github.com/paritytech/parity/pull/5480) -- add snap to CI [#5519](https://github.com/paritytech/parity/pull/5519) -- Pass additional data when reporting [#5527](https://github.com/paritytech/parity/pull/5527) -- Calculate post-constructors state root in spec at load time [#5523](https://github.com/paritytech/parity/pull/5523) -- Fix utf8 decoding [#5533](https://github.com/paritytech/parity/pull/5533) -- Add CHANGELOG.md [#5513](https://github.com/paritytech/parity/pull/5513) -- Change all occurrences of ethcore.io into parity.io [#5528](https://github.com/paritytech/parity/pull/5528) -- Memory usage optimization [#5526](https://github.com/paritytech/parity/pull/5526) -- Compose transaction RPC. [#5524](https://github.com/paritytech/parity/pull/5524) -- Support external eth_sign [#5481](https://github.com/paritytech/parity/pull/5481) -- Treat block numbers as strings, not BigNums. [#5449](https://github.com/paritytech/parity/pull/5449) -- npm cleanups [#5512](https://github.com/paritytech/parity/pull/5512) -- Export acc js [#4973](https://github.com/paritytech/parity/pull/4973) -- YARN [#5395](https://github.com/paritytech/parity/pull/5395) -- Fix linting issues [#5511](https://github.com/paritytech/parity/pull/5511) -- Chinese Translation [#5460](https://github.com/paritytech/parity/pull/5460) -- Fixing secretstore TODOs - part 2 [#5416](https://github.com/paritytech/parity/pull/5416) -- fix json format of state snapshot [#5504](https://github.com/paritytech/parity/pull/5504) -- Bump jsonrpc version [#5489](https://github.com/paritytech/parity/pull/5489) -- Groundwork for generalized warp sync [#5454](https://github.com/paritytech/parity/pull/5454) -- Add the packaging metadata to build the parity snap [#5496](https://github.com/paritytech/parity/pull/5496) -- Cancel tx JS [#4958](https://github.com/paritytech/parity/pull/4958) -- EIP-212 (bn128 curve pairing) [#5307](https://github.com/paritytech/parity/pull/5307) -- fix panickers in tree-route [#5479](https://github.com/paritytech/parity/pull/5479) -- Update links to etherscan.io [#5455](https://github.com/paritytech/parity/pull/5455) -- Refresh UI on nodeKind changes, e.g. personal -> public [#5312](https://github.com/paritytech/parity/pull/5312) -- Correct contract address for EIP-86 [#5473](https://github.com/paritytech/parity/pull/5473) -- Force two decimals for USD conversion rate [#5471](https://github.com/paritytech/parity/pull/5471) -- Refactoring of Tokens & Balances [#5372](https://github.com/paritytech/parity/pull/5372) -- Background-repeat round [#5475](https://github.com/paritytech/parity/pull/5475) -- nl i18n updated [#5461](https://github.com/paritytech/parity/pull/5461) -- Show ETH value (even 0) if ETH transfer in transaction list [#5406](https://github.com/paritytech/parity/pull/5406) -- Store the pending requests per network version [#5405](https://github.com/paritytech/parity/pull/5405) -- Use in-memory database for tests [#5451](https://github.com/paritytech/parity/pull/5451) -- WebSockets RPC server [#5425](https://github.com/paritytech/parity/pull/5425) -- Added missing docs [#5452](https://github.com/paritytech/parity/pull/5452) -- Tests and tweaks for public node middleware [#5417](https://github.com/paritytech/parity/pull/5417) -- Fix removal of hash-mismatched files. [#5440](https://github.com/paritytech/parity/pull/5440) -- parity_getBlockHeaderByNumber and LightFetch utility [#5383](https://github.com/paritytech/parity/pull/5383) -- New state tests [#5418](https://github.com/paritytech/parity/pull/5418) -- Fix buffer length for QR code gen. [#5447](https://github.com/paritytech/parity/pull/5447) -- Add raw hash signing [#5423](https://github.com/paritytech/parity/pull/5423) -- Filters and block RPCs for the light client [#5320](https://github.com/paritytech/parity/pull/5320) -- Work around mismatch for QR checksum [#5374](https://github.com/paritytech/parity/pull/5374) -- easy to use conversion from and to string for ethstore::Crypto [#5437](https://github.com/paritytech/parity/pull/5437) -- Tendermint fixes [#5415](https://github.com/paritytech/parity/pull/5415) -- Adrianbrink lightclientcache branch. [#5428](https://github.com/paritytech/parity/pull/5428) -- Add caching to HeaderChain struct [#5403](https://github.com/paritytech/parity/pull/5403) -- Add decryption to the UI (in the Signer) [#5422](https://github.com/paritytech/parity/pull/5422) -- Add CIDv0 RPC [#5414](https://github.com/paritytech/parity/pull/5414) -- Updating documentation for RPCs [#5392](https://github.com/paritytech/parity/pull/5392) -- Fixing secretstore TODOs - part 1 [#5386](https://github.com/paritytech/parity/pull/5386) -- Fixing disappearing content. [#5399](https://github.com/paritytech/parity/pull/5399) -- Snapshot chunks packed by size [#5318](https://github.com/paritytech/parity/pull/5318) -- APIs wildcards and simple arithmetic. [#5402](https://github.com/paritytech/parity/pull/5402) -- Fixing compilation without dapps. [#5410](https://github.com/paritytech/parity/pull/5410) -- Don't use port 8080 anymore [#5397](https://github.com/paritytech/parity/pull/5397) -- Quick'n'dirty CLI for the light client [#5002](https://github.com/paritytech/parity/pull/5002) -- set gas limit before proving transactions [#5401](https://github.com/paritytech/parity/pull/5401) -- Public node: perf and fixes [#5390](https://github.com/paritytech/parity/pull/5390) -- Straight download path in the readme [#5393](https://github.com/paritytech/parity/pull/5393) -- On-chain ACL checker for secretstore [#5015](https://github.com/paritytech/parity/pull/5015) -- Allow empty-encoded values from QR encoding [#5385](https://github.com/paritytech/parity/pull/5385) -- Update npm build for new inclusions [#5381](https://github.com/paritytech/parity/pull/5381) -- Fix for Ubuntu Dockerfile [#5356](https://github.com/paritytech/parity/pull/5356) -- Secretstore over network [#4974](https://github.com/paritytech/parity/pull/4974) -- Dapps and RPC server merge [#5365](https://github.com/paritytech/parity/pull/5365) -- trigger js build release [#5379](https://github.com/paritytech/parity/pull/5379) -- Update expanse json with fork at block 600000 [#5351](https://github.com/paritytech/parity/pull/5351) -- Futures-based native wrappers for contract ABIs [#5341](https://github.com/paritytech/parity/pull/5341) -- Kovan warp sync fixed [#5337](https://github.com/paritytech/parity/pull/5337) -- Aura eip155 validation transition [#5362](https://github.com/paritytech/parity/pull/5362) -- Shared wordlist for brain wallets [#5331](https://github.com/paritytech/parity/pull/5331) -- Allow signing via Qr [#4881](https://github.com/paritytech/parity/pull/4881) -- Allow entry of url or hash for DappReg meta [#5360](https://github.com/paritytech/parity/pull/5360) -- Adjust tx overlay colours [#5353](https://github.com/paritytech/parity/pull/5353) -- Add ability to disallow API subscriptions [#5366](https://github.com/paritytech/parity/pull/5366) -- EIP-213 (bn128 curve operations) [#4999](https://github.com/paritytech/parity/pull/4999) -- Fix analize output file name [#5357](https://github.com/paritytech/parity/pull/5357) -- Add default eip155 validation [#5346](https://github.com/paritytech/parity/pull/5346) -- Add new seed nodes for Classic chain [#5345](https://github.com/paritytech/parity/pull/5345) -- Shared wordlist for frontend [#5336](https://github.com/paritytech/parity/pull/5336) -- fix rpc tests [#5338](https://github.com/paritytech/parity/pull/5338) -- Public node with accounts and signing in Frontend [#5304](https://github.com/paritytech/parity/pull/5304) -- Rename Status/Status -> Status/NodeStatus [#5332](https://github.com/paritytech/parity/pull/5332) -- Updating paths to repos. [#5330](https://github.com/paritytech/parity/pull/5330) -- Separate status for canceled local transactions. [#5319](https://github.com/paritytech/parity/pull/5319) -- Cleanup the Status View [#5317](https://github.com/paritytech/parity/pull/5317) -- Update UI minimised requests [#5324](https://github.com/paritytech/parity/pull/5324) -- Order signer transactions FIFO [#5321](https://github.com/paritytech/parity/pull/5321) -- updating dependencies [#5028](https://github.com/paritytech/parity/pull/5028) -- Minimise transactions progress [#4942](https://github.com/paritytech/parity/pull/4942) -- Fix eth_sign showing as wallet account [#5309](https://github.com/paritytech/parity/pull/5309) -- Ropsten revival [#5302](https://github.com/paritytech/parity/pull/5302) -- Strict validation transitions [#4988](https://github.com/paritytech/parity/pull/4988) -- Fix default list sorting [#5303](https://github.com/paritytech/parity/pull/5303) -- Use unique owners for multisig wallets [#5298](https://github.com/paritytech/parity/pull/5298) -- Copy all existing i18n strings into zh (as-is translation aid) [#5305](https://github.com/paritytech/parity/pull/5305) -- Fix booleans in Typedinput [#5295](https://github.com/paritytech/parity/pull/5295) -- node kind RPC [#5025](https://github.com/paritytech/parity/pull/5025) -- Fix the use of MobX in playground [#5294](https://github.com/paritytech/parity/pull/5294) -- Fine grained snapshot chunking [#5019](https://github.com/paritytech/parity/pull/5019) -- Add lint:i18n to find missing & extra keys [#5290](https://github.com/paritytech/parity/pull/5290) -- Scaffolding for zh translations, including first-round by @btceth [#5289](https://github.com/paritytech/parity/pull/5289) -- JS package bumps [#5287](https://github.com/paritytech/parity/pull/5287) -- Auto-extract new i18n strings (update) [#5288](https://github.com/paritytech/parity/pull/5288) -- eip100b [#5027](https://github.com/paritytech/parity/pull/5027) -- Set earliest era in snapshot restoration [#5021](https://github.com/paritytech/parity/pull/5021) -- Avoid clogging up tmp when updater dir has bad permissions. [#5024](https://github.com/paritytech/parity/pull/5024) -- Resilient warp sync [#5018](https://github.com/paritytech/parity/pull/5018) -- Create webpack analysis files (size) [#5009](https://github.com/paritytech/parity/pull/5009) -- Dispatch an open event on drag of Parity Bar [#4987](https://github.com/paritytech/parity/pull/4987) -- Various installer and tray apps fixes [#4970](https://github.com/paritytech/parity/pull/4970) -- Export account RPC [#4967](https://github.com/paritytech/parity/pull/4967) -- Switching ValidatorSet [#4961](https://github.com/paritytech/parity/pull/4961) -- Implement PIP messages, request builder, and handlers [#4945](https://github.com/paritytech/parity/pull/4945) -- auto lint [#5003](https://github.com/paritytech/parity/pull/5003) -- Fix FireFox overflows [#5000](https://github.com/paritytech/parity/pull/5000) -- Show busy indicator, focus first field in password change [#4997](https://github.com/paritytech/parity/pull/4997) -- Consistent store naming in the Signer components [#4996](https://github.com/paritytech/parity/pull/4996) -- second (and last) part of rlp refactor [#4901](https://github.com/paritytech/parity/pull/4901) -- Double click to select account creation type [#4986](https://github.com/paritytech/parity/pull/4986) -- Fixes to the Registry dapp [#4984](https://github.com/paritytech/parity/pull/4984) -- Extend api.util [#4979](https://github.com/paritytech/parity/pull/4979) -- Updating JSON-RPC crates [#4934](https://github.com/paritytech/parity/pull/4934) -- splitting part of util into smaller crates [#4956](https://github.com/paritytech/parity/pull/4956) -- Updating syntex et al [#4983](https://github.com/paritytech/parity/pull/4983) -- EIP198 and built-in activation [#4926](https://github.com/paritytech/parity/pull/4926) -- Fix MethodDecoding for Arrays [#4977](https://github.com/paritytech/parity/pull/4977) -- Try to fix WS race condition connection [#4976](https://github.com/paritytech/parity/pull/4976) -- eth_sign where account === undefined [#4964](https://github.com/paritytech/parity/pull/4964) -- Fix references to api outside of `parity.js` [#4981](https://github.com/paritytech/parity/pull/4981) -- Fix Password Dialog form overflow [#4968](https://github.com/paritytech/parity/pull/4968) -- Changing Mutex into RwLock for transaction queue [#4951](https://github.com/paritytech/parity/pull/4951) -- Disable max seal period for external sealing [#4927](https://github.com/paritytech/parity/pull/4927) -- Attach hardware wallets already in addressbook [#4912](https://github.com/paritytech/parity/pull/4912) -- rlp serialization refactor [#4873](https://github.com/paritytech/parity/pull/4873) -- Bump nanomsg [#4965](https://github.com/paritytech/parity/pull/4965) -- Fixed multi-chunk ledger transactions on windows [#4960](https://github.com/paritytech/parity/pull/4960) -- Fix outputs in Contract Constant Queries [#4953](https://github.com/paritytech/parity/pull/4953) -- systemd: Start parity after network.target [#4952](https://github.com/paritytech/parity/pull/4952) -- Remove transaction RPC [#4949](https://github.com/paritytech/parity/pull/4949) -- Swap out ethcore.io url for parity.io [#4947](https://github.com/paritytech/parity/pull/4947) -- Don't remove confirmed requests to early. [#4933](https://github.com/paritytech/parity/pull/4933) -- Ensure sealing work enabled in miner once subscribers added [#4930](https://github.com/paritytech/parity/pull/4930) -- Add z-index to small modals as well [#4923](https://github.com/paritytech/parity/pull/4923) -- Bump nanomsg [#4946](https://github.com/paritytech/parity/pull/4946) -- Bumping multihash and libc [#4943](https://github.com/paritytech/parity/pull/4943) -- Edit ETH value, gas and gas price in Contract Deployment [#4919](https://github.com/paritytech/parity/pull/4919) -- Add ability to configure Secure API [#4922](https://github.com/paritytech/parity/pull/4922) -- Add Token image from URL [#4916](https://github.com/paritytech/parity/pull/4916) -- Use the registry fee in Token Deployment dapp [#4915](https://github.com/paritytech/parity/pull/4915) -- Add reseal max period [#4903](https://github.com/paritytech/parity/pull/4903) -- Detect rust compiler version in Parity build script, closes 4742 [#4907](https://github.com/paritytech/parity/pull/4907) -- Add Vaults logic to First Run [#4914](https://github.com/paritytech/parity/pull/4914) -- Updated gcc and rayon crates to remove outdated num_cpus dependency [#4909](https://github.com/paritytech/parity/pull/4909) -- Renaming evm binary to avoid conflicts. [#4899](https://github.com/paritytech/parity/pull/4899) -- Better error handling for traces RPC [#4849](https://github.com/paritytech/parity/pull/4849) -- Safari SectionList fix [#4895](https://github.com/paritytech/parity/pull/4895) -- Safari Dialog scrolling fix [#4893](https://github.com/paritytech/parity/pull/4893) -- Spelling :) [#4900](https://github.com/paritytech/parity/pull/4900) -- Additional kovan params [#4892](https://github.com/paritytech/parity/pull/4892) -- trigger js-precompiled build [#4898](https://github.com/paritytech/parity/pull/4898) -- Recalculate receipt roots in close_and_lock [#4884](https://github.com/paritytech/parity/pull/4884) -- Reload UI on network switch [#4864](https://github.com/paritytech/parity/pull/4864) -- Update parity-ui-precompiled with branch [#4850](https://github.com/paritytech/parity/pull/4850) -- OSX Installer is no longer experimental [#4882](https://github.com/paritytech/parity/pull/4882) -- Chain-selection from UI [#4859](https://github.com/paritytech/parity/pull/4859) -- removed redundant (and unused) FromJson trait [#4871](https://github.com/paritytech/parity/pull/4871) -- fix typos and grammar [#4880](https://github.com/paritytech/parity/pull/4880) -- Remove old experimental remote-db code [#4872](https://github.com/paritytech/parity/pull/4872) -- removed redundant FixedHash trait, fixes [#4029](https://github.com/paritytech/parity/issues/4029) [#4866](https://github.com/paritytech/parity/pull/4866) -- Reference JSON-RPC more changes-friendly [#4870](https://github.com/paritytech/parity/pull/4870) -- Better handling of Solidity compliation [#4860](https://github.com/paritytech/parity/pull/4860) -- Go through contract links in Transaction List display [#4863](https://github.com/paritytech/parity/pull/4863) -- Fix Gas Price Selector Tooltips [#4865](https://github.com/paritytech/parity/pull/4865) -- Fix auto-updater [#4867](https://github.com/paritytech/parity/pull/4867) -- Make the UI work offline [#4861](https://github.com/paritytech/parity/pull/4861) -- Subscribe to accounts info in Signer / ParityBar [#4856](https://github.com/paritytech/parity/pull/4856) -- Don't link libsnappy explicitly [#4841](https://github.com/paritytech/parity/pull/4841) -- Fix paste in Inputs [#4854](https://github.com/paritytech/parity/pull/4854) -- Extract i18n from shared UI components [#4834](https://github.com/paritytech/parity/pull/4834) -- Fix paste in Inputs [#4844](https://github.com/paritytech/parity/pull/4844) -- Pull contract deployment title from available steps [#4848](https://github.com/paritytech/parity/pull/4848) -- Supress USB error message [#4839](https://github.com/paritytech/parity/pull/4839) -- Fix getTransactionCount in --geth mode [#4837](https://github.com/paritytech/parity/pull/4837) -- CI: test coverage (for core and js) [#4832](https://github.com/paritytech/parity/pull/4832) -- Lowering threshold for transactions above gas limit [#4831](https://github.com/paritytech/parity/pull/4831) -- Fix TxViewer when no `to` (contract deployment) [#4847](https://github.com/paritytech/parity/pull/4847) -- Fix method decoding [#4845](https://github.com/paritytech/parity/pull/4845) -- Add React Hot Reload to dapps + TokenDeploy fix [#4846](https://github.com/paritytech/parity/pull/4846) -- Dapps show multiple times in some cases [#4843](https://github.com/paritytech/parity/pull/4843) -- Fixes to the Registry dapp [#4838](https://github.com/paritytech/parity/pull/4838) -- Show token icons on list summary pages [#4826](https://github.com/paritytech/parity/pull/4826) -- Calibrate step before rejection [#4800](https://github.com/paritytech/parity/pull/4800) -- Add replay protection [#4808](https://github.com/paritytech/parity/pull/4808) -- Better icon on windows [#4804](https://github.com/paritytech/parity/pull/4804) -- Better logic for contract deployments detection [#4821](https://github.com/paritytech/parity/pull/4821) -- Fix wrong default values for contract queries inputs [#4819](https://github.com/paritytech/parity/pull/4819) -- Adjust selection colours/display [#4811](https://github.com/paritytech/parity/pull/4811) -- Update the Wallet Library Registry key [#4817](https://github.com/paritytech/parity/pull/4817) -- Update Wallet to new Wallet Code [#4805](https://github.com/paritytech/parity/pull/4805) - -## Parity [v1.6.10](https://github.com/paritytech/parity/releases/tag/v1.6.10) (2017-07-25) - -This is a hotfix release for the stable channel addressing the recent [multi-signature wallet vulnerability](https://blog.parity.io/security-alert-high-2/). Note, upgrading is not mandatory, and all future multi-sig wallets created by any version of Parity are secure. - -All Changes: - -- Backports for stable [#6116](https://github.com/paritytech/parity/pull/6116) - - Remove chunk to restore from pending set only upon successful import [#6112](https://github.com/paritytech/parity/pull/6112) - - Blacklist bad snapshot manifest hashes upon failure [#5874](https://github.com/paritytech/parity/pull/5874) - - Bump snap version and tweak importing detection logic [#6079](https://github.com/paritytech/parity/pull/6079) (modified to work) -- Fix docker build for stable [#6118](https://github.com/paritytech/parity/pull/6118) -- Update wallet library binaries [#6108](https://github.com/paritytech/parity/pull/6108) -- Backported wallet fix [#6104](https://github.com/paritytech/parity/pull/6104) - - Fix initialisation bug. ([#6102](https://github.com/paritytech/parity/pull/6102)) - - Update wallet library modifiers ([#6103](https://github.com/paritytech/parity/pull/6103)) -- Bump to v1.6.10 - -## Parity [v1.6.9](https://github.com/paritytech/parity/releases/tag/v1.6.9) (2017-07-16) - -This is a first stable release of 1.6 series. It contains a number of minor fixes and introduces the `--reseal-on-uncles` option for miners. - -Full list of changes: - -- Backports [#6061](https://github.com/paritytech/parity/pull/6061) - - Ethereum Classic Monetary Policy [#5741](https://github.com/paritytech/parity/pull/5741) - - Update rewards for uncle miners for ECIP1017 - - Fix an off-by-one error in ECIP1017 era calculation - - `ecip1017_era_rounds` missing from EthashParams when run in build bot - - strip out ecip1017_eras_block_reward function and add unit test - - JS precompiled set to stable -- Backports [#6060](https://github.com/paritytech/parity/pull/6060) - - --reseal-on-uncle [#5940](https://github.com/paritytech/parity/pull/5940) - - Optimized uncle check - - Additional uncle check - - Updated comment - - Bump to v1.6.9 - - CLI: Export error message and less verbose peer counter. [#5870](https://github.com/paritytech/parity/pull/5870) - - Removed numbed of active connections from informant - - Print error message when fatdb is required - - Remove peers from UI - -## Parity [v1.6.8](https://github.com/paritytech/parity/releases/tag/v1.6.8) (2017-06-08) - -This release addresses: - -- a rare condition where quickly creating a new account was generating an account not matching the recovery phrase. -- compressed RLP strings caused wrong/empty transaction receipts on Classic network. -- blacklisting the _empty phrase_ account from UI and RPC on non-development chains. See also [this blog post](https://blog.parity.io/restoring-blank-seed-phrase/). -- canceling transactions that didn't have a condition. -- the updated Expanse fork block and chain ID. - -Full changelog: - -- Backporting to beta [#5791](https://github.com/paritytech/parity/pull/5791) - - Bump to v1.6.8 - - Update expanse json with fork at block 600000 [#5351](https://github.com/paritytech/parity/pull/5351) - - Update expanse json with fork at block 600000 - - Update exp chainID to 2 - - Bumped mio [#5763](https://github.com/paritytech/parity/pull/5763) - - Fixed default UI port for mac installer [#5782](https://github.com/paritytech/parity/pull/5782) - - Blacklist empty phrase account. [#5730](https://github.com/paritytech/parity/pull/5730) - - Update Cid/multihash/ring/tinykeccak [#5785](https://github.com/paritytech/parity/pull/5785) - - Updating ring,multihash,tiny-keccak - - Updating CID in ipfs. - - Disable compression for RLP strings [#5786](https://github.com/paritytech/parity/pull/5786) -- Beta Backports [#5789](https://github.com/paritytech/parity/pull/5789) - - Fix local transactions without condition. [#5716](https://github.com/paritytech/parity/pull/5716) - - Block invalid account name creation [#5784](https://github.com/paritytech/parity/pull/5784) - - Additional non-empty phrase check (fromNew) - - Explicit canCreate check in create (not only on UI) - - BN instance check (fixes Geth imports) - - Fixup tests after better checks - - Recover from empty phrase in dev mode [#5698](https://github.com/paritytech/parity/pull/5698) - - Add dev chain to isTest - - Fix signer - - Fix no condition transactions - - Fix case: old parity - - Fix propTypes. - -## Parity [v1.6.7](https://github.com/paritytech/parity/releases/tag/v1.6.7) (2017-05-18) - -This release addresses: - -- potential usability issues with [import and recovery of existing accounts](https://blog.parity.io/restoring-blank-seed-phrase/). -- canceling scheduled transactions via RPC or UI. -- warp sync issues with the Kovan network. - -Full changelog: - -- Backporting to beta [#5657](https://github.com/paritytech/parity/pull/5657) - - Add CHANGELOG.md [#5513](https://github.com/paritytech/parity/pull/5513) - - Reorg into blocks before minimum history [#5558](https://github.com/paritytech/parity/pull/5558) - - Bump to v1.6.7 -- Cancel Transaction [#5656](https://github.com/paritytech/parity/pull/5656) - - option to disable persistent txqueue [#5544](https://github.com/paritytech/parity/pull/5544) - - Remove transaction RPC [#4949](https://github.com/paritytech/parity/pull/4949) - - Cancel tx JS [#4958](https://github.com/paritytech/parity/pull/4958) - - Updating documentation for RPCs [#5392](https://github.com/paritytech/parity/pull/5392) -- Backport Recover button [#5654](https://github.com/paritytech/parity/pull/5654) - - Backport [#5645](https://github.com/paritytech/parity/pull/5645) -- Add monotonic step to Kovan [#5630](https://github.com/paritytech/parity/pull/5630) - - Add monotonic transition to kovan [#5587](https://github.com/paritytech/parity/pull/5587) -- Fix ethsign [#5600](https://github.com/paritytech/parity/pull/5600) -- Registry backports [#5445](https://github.com/paritytech/parity/pull/5445) - - Fixes to the Registry dapp [#4984](https://github.com/paritytech/parity/pull/4984) - - Fix references to api outside of `parity.js` [#4981](https://github.com/paritytech/parity/pull/4981) - -## Parity [v1.6.6](https://github.com/paritytech/parity/releases/tag/v1.6.6) (2017-04-11) - -This release brings warp sync support for kovan network. - -- Beta Backports [#5434](https://github.com/paritytech/parity/pull/5434) - - Bump to v1.6.6 - - Strict validation transitions [#4988](https://github.com/paritytech/parity/pull/4988) - - Ability to make validation stricter - - Fix consensus - - Remove logger - - Fix eth_sign showing as wallet account [#5309](https://github.com/paritytech/parity/pull/5309) - - DefaultProps for account - - Pass signing account - - Update tests for Connect(...) - - Add new seed nodes [#5345](https://github.com/paritytech/parity/pull/5345) - - Kovan warp sync fixed -- Aura eip155 validation transition [#5363](https://github.com/paritytech/parity/pull/5363) - - Add eip155 validation - - Add transition block -- Default eip155 validation [#5350](https://github.com/paritytech/parity/pull/5350) -- Backport syntax libs update [#5316](https://github.com/paritytech/parity/pull/5316) - -## Parity [v1.6.5](https://github.com/paritytech/parity/releases/tag/v1.6.5) (2017-03-28) - -This release contains the following changes: - -- Warp sync snapshot format improvements. -- Fix for Firefox UI issues. -- Fix for restoring from a file snapshot. -- Fix for auto-updater error handling. -- Updated configuration for [Ropsten revival](https://github.com/ethereum/ropsten/blob/master/revival.md). Make sure to delete old Ropsten blockchain first with `parity db kill --chain ropsten`. After that you can sync normally with `parity --chain ropsten`. - -Full changes: - -- Beta Backports [#5299](https://github.com/paritytech/parity/pull/5299) - - Fix FireFox overflows [#5000](https://github.com/paritytech/parity/pull/5000) - - Max width for container - - Set min-width - - Switching ValidatorSet [#4961](https://github.com/paritytech/parity/pull/4961) - - Add multi validator set - - Nicer comment - - Validate in constructor - - Reporting - - Avoid clogging up tmp when updater dir has bad permissions. [#5024](https://github.com/paritytech/parity/pull/5024) - - Force earliest era set in snapshot restore [#5021](https://github.com/paritytech/parity/pull/5021) - - Bumb to v1.6.5 - - Fine grained snapshot chunking - - Ropsten revival -- Fix validator contract syncing [#4789](https://github.com/paritytech/parity/pull/4789) [#5011](https://github.com/paritytech/parity/pull/5011) - - Make validator set aware of various states - - Fix updater build - - Clean up contract call - - Failing sync test - - Adjust tests - - Nicer indent - - Revert bound divisor - -## Parity [v1.5.12](https://github.com/paritytech/parity/releases/tag/v1.5.12) (2017-03-27) - -Stable release that adds support for a new warp sync snapshot format. - -- Stable Backports [#5297](https://github.com/paritytech/parity/pull/5297) - - Bump to v1.5.12 - - Fine grained snapshot chunking - -## Parity [v1.6.4](https://github.com/paritytech/parity/releases/tag/v1.6.4) (2017-03-22) - -A number of issues fixed in this release: - -- Ledger device connectivity issues for some users on Windows. -- Improved vault usability. -- Stratum mining no longer requires `--force-sealing`. -- `evm` binary has been renamed to `parity-evm` to avoid conflict with cpp-ethereum package. - -Full Changes: - -- Backporting to beta [#4995](https://github.com/paritytech/parity/pull/4995) - - Bump to v1.6.4 - - Ensure sealing work enabled if notifier registed - - Fix condition check - - Always send full chunks [#4960](https://github.com/paritytech/parity/pull/4960) - - Bump nanomsg [#4965](https://github.com/paritytech/parity/pull/4965) - - Renaming evm binary to avoid conflicts. [#4899](https://github.com/paritytech/parity/pull/4899) -- Beta UI backports [#4993](https://github.com/paritytech/parity/pull/4993) - - Update js-precompiled 20170314-121823 - - Attach hardware wallets already in addressbook [#4912](https://github.com/paritytech/parity/pull/4912) - - Attach hardware wallets already in addressbook - - Only set values changed - - Add Vaults logic to First Run [#4894](https://github.com/paritytech/parity/issues/4894) [#4914](https://github.com/paritytech/parity/pull/4914) - - Add ability to configure Secure API (for [#4885](https://github.com/paritytech/parity/issues/4885)) [#4922](https://github.com/paritytech/parity/pull/4922) - - Add z-index to small modals as well [#4923](https://github.com/paritytech/parity/pull/4923) - - Eth_sign where account === undefined [#4964](https://github.com/paritytech/parity/pull/4964) - - Update for case where account === undefined - - Update tests to not mask account === undefined - - Default account = {} where undefined (thanks [@tomusdrw](https://github.com/tomusdrw)) - - Fix Password Dialog forms style issue [#4968](https://github.com/paritytech/parity/pull/4968) - - -## Parity [v1.6.3](https://github.com/paritytech/parity/releases/tag/v1.6.3) (2017-03-14) - -This release fixes issue compatibility with Safari on MacOS. - -- Safari fixes [#4902](https://github.com/paritytech/parity/pull/4902) - - Add intitial max-width to sections - - Move background z-index to -1 - -## Parity [v1.5.11](https://github.com/paritytech/parity/releases/tag/v1.5.11) (2017-03-14) - -Parity 1.5.11 Includes a patch for a more comprehensive block verification. - -- Bump to v1.5.11 -- Additional kovan params -- Recalculate receipt roots in close_and_lock -- Bump to v1.5.10 - -## Parity [v1.6.2](https://github.com/paritytech/parity/releases/tag/v1.6.2) (2017-03-13) - -A major release introducing a few new features: - -- Revamped UI. -- Account Vaults. -- Support for Ledger hardware wallet devices. -- Stratum protocol for PoW mining. -- A new MacOS installer. Parity for MacOS now includes a Menu Bar icon that allows controlling Parity service. -- Disk backed transaction store. Pending transactions are now saved to disk and won't get lost when Parity is restarted. -- Improved memory management. - -See the [blog post](https://blog.parity.io/announcing-parity-1-6/) for more details. - -Full Changes: - -- Fix auto-updater beta [#4868](https://github.com/paritytech/parity/pull/4868) -- Beta UI backports [#4855](https://github.com/paritytech/parity/pull/4855) - - Added React Hot Reload to dapps + TokenDeplpoy fix ([#4846](https://github.com/paritytech/parity/pull/4846)) - - Fix method decoding ([#4845](https://github.com/paritytech/parity/pull/4845)) - - Fix contract deployment method decoding in Signer - - Linting - - Fix TxViewer when no `to` (contract deployment) ([#4847](https://github.com/paritytech/parity/pull/4847)) - - Added React Hot Reload to dapps + TokenDeplpoy fix - - Fixes to the LocalTx dapp - - Don't send the nonce for mined transactions - - Don't encode empty to values for options - - Pull steps from actual available steps ([#4848](https://github.com/paritytech/parity/pull/4848)) - - Wait for the value to have changed in the input ([#4844](https://github.com/paritytech/parity/pull/4844)) - - Backport Regsirty changes from [#4589](https://github.com/paritytech/parity/pull/4589) - - Test fixes for [#4589](https://github.com/paritytech/parity/pull/4589) -- Beta Simple score [#4852](https://github.com/paritytech/parity/pull/4852) - - Simple score - - Ignore part of a test -- Backporting to beta [#4840](https://github.com/paritytech/parity/pull/4840) - - Fixes to the Registry dapp ([#4838](https://github.com/paritytech/parity/pull/4838)) - - Fix wrong ABI methods - - Fix comparison - - Bump to v1.6.1 -- Show token icons on list summary pages ([#4826](https://github.com/paritytech/parity/pull/4826)) [#4827](https://github.com/paritytech/parity/pull/4827) - - Adjust balance overlay margins (no jumps) - - Img only balances, small verifications - - Invalid tests removed - - Always wrap display (Thanks [@ngotchac](https://github.com/ngotchac)) - - Update tests to reflect reality -- Beta Engine backports [#4806](https://github.com/paritytech/parity/pull/4806) - - Calibrate before rejection - - Change flag name - - Add eip155 - - Make network_id default -- Beta UI backports [#4823](https://github.com/paritytech/parity/pull/4823) - - Better logic for contract deployments ([#4821](https://github.com/paritytech/parity/pull/4821)) -- Beta UI backports [#4818](https://github.com/paritytech/parity/pull/4818) - - Update the key ([#4817](https://github.com/paritytech/parity/pull/4817)) - - Adjust selection colours/display ([#4811](https://github.com/paritytech/parity/pull/4811)) - - Adjust selection colours to match with mui - - allow -> disable (simplify selections) - - Only use top-border - - Overlay selection line - - Slightly more muted unselected - - Restore address icon - - Fix default values for contract queries -- Beta UI backports [#4809](https://github.com/paritytech/parity/pull/4809) - - Update Wallet to new Wallet Code ([#4805](https://github.com/paritytech/parity/pull/4805)) - - Update Wallet Version - - Update Wallet Library - - Update Wallets Bytecodes - - Typo - - Separate Deploy in Contract API - - Use the new Wallet ABI // Update wallet code - - WIP .// Deploy from Wallet - - Update Wallet contract - - Contract Deployment for Wallet - - Working deployments for Single Owned Wallet contracts - - Linting - - Create a Wallet from a Wallet - - Linting - - Fix Signer transactions // Add Gas Used for transactions - - Deploy wallet contract fix - - Fix too high gas estimate for Wallet Contract Deploys - - Final piece ; deploying from Wallet owned by wallet - - Update Wallet Code - - Updated the Wallet Codes - - Fixing Wallet Deployments - - Add Support for older wallets - - Linting - - SMS Faucet ([#4774](https://github.com/paritytech/parity/pull/4774)) - - Faucet - - Remove flakey button-index testing - - Only display faucet when sms verified (mainnet) - - Simplify availability checks - - WIP - - Resuest from verified -> verified - - Update endpoint, display response text - - Error icon on errors - - Parse hash text response - - Use /api/:address endpoint - - Hash -> data - - Adjust sms-certified message - - Fix SectionList hovering issue ([#4749](https://github.com/paritytech/parity/pull/4749)) - - Fix SectionList Items hover when <3 items - - Even easier... - - Lint (new) -- Update ETC bootnodes [#4794](https://github.com/paritytech/parity/pull/4794) -- Update comments and reg ABI [#4787](https://github.com/paritytech/parity/pull/4787) -- Optimize signature for fallback function. [#4780](https://github.com/paritytech/parity/pull/4780) -- Rephrasing token generation screen. [#4777](https://github.com/paritytech/parity/pull/4777) -- Etherscan links based on netVersion identifier [#4772](https://github.com/paritytech/parity/pull/4772) -- Update README.md [#4762](https://github.com/paritytech/parity/pull/4762) -- Fix invalid props to verification code [#4766](https://github.com/paritytech/parity/pull/4766) -- Extend authority round consensus test [#4756](https://github.com/paritytech/parity/pull/4756) -- Revert last hyper "fix" [#4752](https://github.com/paritytech/parity/pull/4752) -- Vault Management UI (round 3) [#4652](https://github.com/paritytech/parity/pull/4652) -- Update SelectionList indicators [#4736](https://github.com/paritytech/parity/pull/4736) -- Update testnet detection [#4746](https://github.com/paritytech/parity/pull/4746) -- Fix Portal in Portal ESC issue [#4745](https://github.com/paritytech/parity/pull/4745) -- Update wiki [#4743](https://github.com/paritytech/parity/pull/4743) -- Account selector close operations [#4728](https://github.com/paritytech/parity/pull/4728) -- Fix Account Selection in Signer [#4744](https://github.com/paritytech/parity/pull/4744) -- Support both V1 & V2 DataChanged events in registry [#4734](https://github.com/paritytech/parity/pull/4734) -- Add info on forks. [#4733](https://github.com/paritytech/parity/pull/4733) -- Add registry addr [#4732](https://github.com/paritytech/parity/pull/4732) -- UI support for hardware wallets [#4539](https://github.com/paritytech/parity/pull/4539) -- S/delete/forget/ for wallets [#4729](https://github.com/paritytech/parity/pull/4729) -- New chains [#4720](https://github.com/paritytech/parity/pull/4720) -- Enable --warp by default [#4719](https://github.com/paritytech/parity/pull/4719) -- Update Uglify (fix to 2.8.2) to fix binary builds [#4723](https://github.com/paritytech/parity/pull/4723) -- Extract i18n strings in modals/* [#4706](https://github.com/paritytech/parity/pull/4706) -- Provide uncle size where available in RPC [#4713](https://github.com/paritytech/parity/pull/4713) -- EC math functions [#4696](https://github.com/paritytech/parity/pull/4696) -- Add registrar fields [#4716](https://github.com/paritytech/parity/pull/4716) -- Extract i18n strings in views/* [#4695](https://github.com/paritytech/parity/pull/4695) -- Removing network=disable from config files [#4715](https://github.com/paritytech/parity/pull/4715) -- Fast in-place migration for adding and removing column families [#4687](https://github.com/paritytech/parity/pull/4687) -- Display badges on summary view [#4689](https://github.com/paritytech/parity/pull/4689) -- Consistent file uploads [#4699](https://github.com/paritytech/parity/pull/4699) -- Rename https://mkr.market -> https://oasisdex.com [#4701](https://github.com/paritytech/parity/pull/4701) -- Stop copy & clickthrough from list summaries [#4700](https://github.com/paritytech/parity/pull/4700) -- Display ... for address summary overflows [#4691](https://github.com/paritytech/parity/pull/4691) -- Less agressive grayscale/opacity in SelectionList [#4688](https://github.com/paritytech/parity/pull/4688) -- Propagate trie errors upwards from State [#4655](https://github.com/paritytech/parity/pull/4655) -- Generic state backend [#4632](https://github.com/paritytech/parity/pull/4632) -- Enhance dialog layouts (round 1) [#4637](https://github.com/paritytech/parity/pull/4637) -- Vault Management UI (round 2) [#4631](https://github.com/paritytech/parity/pull/4631) -- Fix Portal broad event stopper [#4674](https://github.com/paritytech/parity/pull/4674) -- Custom dev chain presets [#4671](https://github.com/paritytech/parity/pull/4671) -- Max gas limit and min gas price [#4661](https://github.com/paritytech/parity/pull/4661) -- Align list displays with SectionList (UI consistency) [#4621](https://github.com/paritytech/parity/pull/4621) -- Add SelectionList component to DRY up [#4639](https://github.com/paritytech/parity/pull/4639) -- I18n NL linting updates [#4662](https://github.com/paritytech/parity/pull/4662) -- Misc. small UI fixes [#4657](https://github.com/paritytech/parity/pull/4657) -- More CLI settings for IPFS API [#4608](https://github.com/paritytech/parity/pull/4608) -- Fix Tendermint deadlock [#4654](https://github.com/paritytech/parity/pull/4654) -- Nl translations [#4649](https://github.com/paritytech/parity/pull/4649) -- Update transaction condition documentation [#4659](https://github.com/paritytech/parity/pull/4659) -- Bump hyper versions [#4645](https://github.com/paritytech/parity/pull/4645) -- Sane updater [#4658](https://github.com/paritytech/parity/pull/4658) -- Remainder of RPC APIs implemented for the light client [#4594](https://github.com/paritytech/parity/pull/4594) -- Preserve vault meta when changing pwd [#4650](https://github.com/paritytech/parity/pull/4650) -- Fix Geth account import [#4641](https://github.com/paritytech/parity/pull/4641) -- Tweak some checks. [#4633](https://github.com/paritytech/parity/pull/4633) -- Attempt to fix subscribeToEvents test [#4638](https://github.com/paritytech/parity/pull/4638) -- Fix selection value from RadioButtons [#4636](https://github.com/paritytech/parity/pull/4636) -- Convert all remaining Modals to use Portal (UI consistency) [#4625](https://github.com/paritytech/parity/pull/4625) -- Default account selection update [#4609](https://github.com/paritytech/parity/pull/4609) -- Display ETH balance in overlay account selector [#4588](https://github.com/paritytech/parity/pull/4588) -- Fixed minor grammar mistake in readme [#4627](https://github.com/paritytech/parity/pull/4627) -- Extract newly available i18n strings [#4623](https://github.com/paritytech/parity/pull/4623) -- Save pending local transactions in the database [#4566](https://github.com/paritytech/parity/pull/4566) -- Bump CID version to allow compilation on all platforms [#4614](https://github.com/paritytech/parity/pull/4614) -- Vault Management UI (first round) [#4446](https://github.com/paritytech/parity/pull/4446) -- Let Engine decide if it seals internally [#4613](https://github.com/paritytech/parity/pull/4613) -- Show only known accounts/wallets/addresses on Home [#4612](https://github.com/paritytech/parity/pull/4612) -- Proper default accounts RPCs [#4580](https://github.com/paritytech/parity/pull/4580) -- Hash-fetch errors in case upstream returns non-200 [#4599](https://github.com/paritytech/parity/pull/4599) -- Added pending transaction info to eth_getTransactionByHash [#4570](https://github.com/paritytech/parity/pull/4570) -- Secret store - initial version [#4567](https://github.com/paritytech/parity/pull/4567) -- Handle invalid ABI retrieved from address_book gracefully [#4606](https://github.com/paritytech/parity/pull/4606) -- Optimize key directory reloads [#4583](https://github.com/paritytech/parity/pull/4583) -- Revert Double Click on Accounts to close in Signer Bar [#4590](https://github.com/paritytech/parity/pull/4590) -- IPFS MVP [#4545](https://github.com/paritytech/parity/pull/4545) -- Networking fixes [#4563](https://github.com/paritytech/parity/pull/4563) -- Remove eth_compile* RPCs [#4577](https://github.com/paritytech/parity/pull/4577) -- Ledger wallet signing fixed [#4578](https://github.com/paritytech/parity/pull/4578) -- Remove vertx from Webpack config [#4576](https://github.com/paritytech/parity/pull/4576) -- Better display of tags [#4564](https://github.com/paritytech/parity/pull/4564) -- Added vaults support to `ethstore-cli` [#4532](https://github.com/paritytech/parity/pull/4532) -- Fixed font URLs [#4579](https://github.com/paritytech/parity/pull/4579) -- Explicitly set seconds to 0 from selector [#4559](https://github.com/paritytech/parity/pull/4559) -- Fixes evmbin compilation and adding to standard build. [#4561](https://github.com/paritytech/parity/pull/4561) -- Alias for personal_sendTransaction [#4554](https://github.com/paritytech/parity/pull/4554) -- Key derivation in ethstore & rpc [#4515](https://github.com/paritytech/parity/pull/4515) -- Skip OOG check for simple transfers [#4558](https://github.com/paritytech/parity/pull/4558) -- Light Client transaction queue, initial LightDispatcher [#4501](https://github.com/paritytech/parity/pull/4501) -- Fixes BadgeReg Middleware [#4556](https://github.com/paritytech/parity/pull/4556) -- Fix pasting of value in Input fields [#4555](https://github.com/paritytech/parity/pull/4555) -- Tooltips with react-intl [#4549](https://github.com/paritytech/parity/pull/4549) -- Close on double-click for Signer Account selection [#4540](https://github.com/paritytech/parity/pull/4540) -- Signer provenance [#4477](https://github.com/paritytech/parity/pull/4477) -- Fix console dapp [#4544](https://github.com/paritytech/parity/pull/4544) -- Extract i18n string into i18n/_defaults (base of translations) [#4514](https://github.com/paritytech/parity/pull/4514) -- Fix contract queries bug [#4534](https://github.com/paritytech/parity/pull/4534) -- Fixing namespace of couple methods in console. [#4538](https://github.com/paritytech/parity/pull/4538) -- Home landing page [#4178](https://github.com/paritytech/parity/pull/4178) -- Bump JSON RPC crates versions [#4530](https://github.com/paritytech/parity/pull/4530) -- Update rust version in README [#4531](https://github.com/paritytech/parity/pull/4531) -- Lower default pruning history and memory [#4528](https://github.com/paritytech/parity/pull/4528) -- Serde 0.9 [#4508](https://github.com/paritytech/parity/pull/4508) -- Fixes to Token Deploy dapp [#4513](https://github.com/paritytech/parity/pull/4513) -- Fixed receipt decoding [#4521](https://github.com/paritytech/parity/pull/4521) -- Several fixes to the Wallet in general [#4504](https://github.com/paritytech/parity/pull/4504) -- Use the current contract name for Solidity compilation [#4510](https://github.com/paritytech/parity/pull/4510) -- Preparation for Light client RPC [#4485](https://github.com/paritytech/parity/pull/4485) -- Fix Dutch translation [#4509](https://github.com/paritytech/parity/pull/4509) -- Fixed a warning and bumped libusb-sys [#4507](https://github.com/paritytech/parity/pull/4507) -- Fix TnC overflows on small screens [#4505](https://github.com/paritytech/parity/pull/4505) -- Fix no data sent in TxQueue dapp [#4502](https://github.com/paritytech/parity/pull/4502) -- Ledger wallet support [#4486](https://github.com/paritytech/parity/pull/4486) -- Add new Componennt for Token Images [#4498](https://github.com/paritytech/parity/pull/4498) -- Fix address and accounts links [#4491](https://github.com/paritytech/parity/pull/4491) -- Fix Token Reg Dapp issues in Firefox [#4489](https://github.com/paritytech/parity/pull/4489) -- Parity.js interfaces for vaults [#4497](https://github.com/paritytech/parity/pull/4497) -- Initial Dutch translations [#4484](https://github.com/paritytech/parity/pull/4484) -- Fix key.meta.vault for root dir keys && read vault.meta without vault key [#4482](https://github.com/paritytech/parity/pull/4482) -- Arbitrary labels for extended keys (u32, H256 built-in) [#4438](https://github.com/paritytech/parity/pull/4438) -- Fix ethstore build [#4492](https://github.com/paritytech/parity/pull/4492) -- Fixed compilation of ethstore-cli [#4493](https://github.com/paritytech/parity/pull/4493) -- Build embedded Parity JS properly and separatly [#4426](https://github.com/paritytech/parity/pull/4426) -- Static link for snappy [#4487](https://github.com/paritytech/parity/pull/4487) -- Work with string numbers in contract (Fixes #4472) [#4478](https://github.com/paritytech/parity/pull/4478) -- Metadata support for vaults [#4475](https://github.com/paritytech/parity/pull/4475) -- Sort gas price corpus when hitting genesis [#4470](https://github.com/paritytech/parity/pull/4470) -- Fixing CORS headers for parity.web3.site [#4461](https://github.com/paritytech/parity/pull/4461) -- Make signing compatible with geth. [#4468](https://github.com/paritytech/parity/pull/4468) -- Handle registry not found errors [#4465](https://github.com/paritytech/parity/pull/4465) -- Fix Portal scrolling getting stuck [#4455](https://github.com/paritytech/parity/pull/4455) -- Fix AccountCard stretch to 100% [#4450](https://github.com/paritytech/parity/pull/4450) -- Include total difficulty in CHTs and hide implementation details from consumers [#4428](https://github.com/paritytech/parity/pull/4428) -- Fix RLP encoding for types recursively calling `RlpStream::append` [#4362](https://github.com/paritytech/parity/pull/4362) -- Open popup without attempting inline [#4440](https://github.com/paritytech/parity/pull/4440) -- Fixing histogram again ([#4464](https://github.com/paritytech/parity/issues/4464)) port from beta [#4467](https://github.com/paritytech/parity/pull/4467) -- Vaults RPCs [#4366](https://github.com/paritytech/parity/pull/4366) -- Ethkey - extended keys [#4377](https://github.com/paritytech/parity/pull/4377) -- Use secure websocket from HTTPS clients [#4436](https://github.com/paritytech/parity/pull/4436) -- RPC middleware: Informant & Client.keep_alive [#4384](https://github.com/paritytech/parity/pull/4384) -- Fix eth_sign/parity_postSign [#4432](https://github.com/paritytech/parity/pull/4432) -- Web view with web3.site support [#4313](https://github.com/paritytech/parity/pull/4313) -- Extend Portal component with title, buttons & steps (as per Modal) [#4392](https://github.com/paritytech/parity/pull/4392) -- Extension installation overlay [#4423](https://github.com/paritytech/parity/pull/4423) -- Add block & timestamp conditions to Signer [#4411](https://github.com/paritytech/parity/pull/4411) -- Transaction timestamp condition [#4419](https://github.com/paritytech/parity/pull/4419) -- Poll for defaultAccount to update dapp & overlay subscriptions [#4417](https://github.com/paritytech/parity/pull/4417) -- Validate dapps accounts with address book [#4407](https://github.com/paritytech/parity/pull/4407) -- Dapps use defaultAccount instead of own selectors [#4386](https://github.com/paritytech/parity/pull/4386) -- Fix lock and rename tracing [#4403](https://github.com/paritytech/parity/pull/4403) -- Restarting fetch client every now and then [#4399](https://github.com/paritytech/parity/pull/4399) -- Perform a sync between Rust and JS when generating markdown instead of in spec tests [#4408](https://github.com/paritytech/parity/pull/4408) -- Registry dapp: make lookup use lower case [#4409](https://github.com/paritytech/parity/pull/4409) -- Available Dapp selection alignment with Permissions (Portal) [#4374](https://github.com/paritytech/parity/pull/4374) -- More permissive verification process [#4317](https://github.com/paritytech/parity/pull/4317) -- Fix ParityBar account selection overflows [#4405](https://github.com/paritytech/parity/pull/4405) -- Mac binaries signing [#4397](https://github.com/paritytech/parity/pull/4397) -- Revert "remove [ci skip]" [#4398](https://github.com/paritytech/parity/pull/4398) -- Registry, s/a the owner/the owner/ [#4391](https://github.com/paritytech/parity/pull/4391) -- Fixing invalid address in docs [#4388](https://github.com/paritytech/parity/pull/4388) -- Remove [ci skip] [#4381](https://github.com/paritytech/parity/pull/4381) -- Fixing estimate gas in case histogram is not available [#4387](https://github.com/paritytech/parity/pull/4387) -- Default Account selector in Signer overlay [#4375](https://github.com/paritytech/parity/pull/4375) -- Fixing web3 in console [#4382](https://github.com/paritytech/parity/pull/4382) -- Add parity_defaultAccount RPC (with subscription) [#4383](https://github.com/paritytech/parity/pull/4383) -- Full JSON-RPC docs + sync tests. [#4335](https://github.com/paritytech/parity/pull/4335) -- Expose util as Api.util [#4372](https://github.com/paritytech/parity/pull/4372) -- Dapp Account Selection & Defaults [#4355](https://github.com/paritytech/parity/pull/4355) -- Publish @parity/jsonrpc [#4365](https://github.com/paritytech/parity/pull/4365) -- Fix signing [#4363](https://github.com/paritytech/parity/pull/4363) -- Fixing embedded bar not closing in chrome extension [#4367](https://github.com/paritytech/parity/pull/4367) -- Update AccountCard for re-use [#4350](https://github.com/paritytech/parity/pull/4350) -- Add proper event listener to Portal [#4359](https://github.com/paritytech/parity/pull/4359) -- Optional from field in Transaction Requests [#4332](https://github.com/paritytech/parity/pull/4332) -- Rust 1.14 in README [ci-skip] [#4361](https://github.com/paritytech/parity/pull/4361) -- Fix JournalDB::earliest_era on empty database [#4316](https://github.com/paritytech/parity/pull/4316) -- Fixed race condition deadlock on fetching enode URL [#4354](https://github.com/paritytech/parity/pull/4354) -- Allow Portal to be used as top-level modal [#4338](https://github.com/paritytech/parity/pull/4338) -- Fix postsign [#4347](https://github.com/paritytech/parity/pull/4347) -- Renaming signAndSendTransaction to sendTransaction [#4351](https://github.com/paritytech/parity/pull/4351) -- Add api.util.encodeMethodCall to parity.js [#4330](https://github.com/paritytech/parity/pull/4330) -- Initial commit for vaults [#4312](https://github.com/paritytech/parity/pull/4312) -- Returning default account as coinbase + allow altering sender in signer [#4323](https://github.com/paritytech/parity/pull/4323) -- Persistent tracking of dapps [#4302](https://github.com/paritytech/parity/pull/4302) -- Exposing all RPCs over dapps port as CLI option [#4346](https://github.com/paritytech/parity/pull/4346) -- New macOS App [#4345](https://github.com/paritytech/parity/pull/4345) -- Display QrCode for accounts, addresses & contracts [#4329](https://github.com/paritytech/parity/pull/4329) -- Add QrCode & Copy to ShapeShift [#4322](https://github.com/paritytech/parity/pull/4322) -- Parity.js api.parity.chainStatus should handle { blockGap: null } [#4327](https://github.com/paritytech/parity/pull/4327) -- DeleteAccount & LoadContract modal updates [#4320](https://github.com/paritytech/parity/pull/4320) -- Split Tab from TabBar [#4318](https://github.com/paritytech/parity/pull/4318) -- Contracts interface expansion [#4307](https://github.com/paritytech/parity/pull/4307) -- HistoryStore for tracking relevant routes [#4305](https://github.com/paritytech/parity/pull/4305) -- Split Dapp icon into ui/DappIcon (re-use) [#4308](https://github.com/paritytech/parity/pull/4308) -- Add a Playground for the UI Components [#4301](https://github.com/paritytech/parity/pull/4301) -- Update CreateWallet with FormattedMessage [#4298](https://github.com/paritytech/parity/pull/4298) -- Update dates for new PRs missed [#4306](https://github.com/paritytech/parity/pull/4306) -- EIP-98: Optional transaction state root [#4296](https://github.com/paritytech/parity/pull/4296) -- Fix whitespace [#4299](https://github.com/paritytech/parity/pull/4299) -- Attempt to fix console. [#4294](https://github.com/paritytech/parity/pull/4294) -- Ui/SectionList component [#4292](https://github.com/paritytech/parity/pull/4292) -- Stratum up [#4233](https://github.com/paritytech/parity/pull/4233) -- Logging transaction duration [#4297](https://github.com/paritytech/parity/pull/4297) -- Generic engine utilities [#4258](https://github.com/paritytech/parity/pull/4258) -- JSON-RPC interfaces with documentation [#4276](https://github.com/paritytech/parity/pull/4276) -- Dont decode seal fields [#4263](https://github.com/paritytech/parity/pull/4263) -- Skip misbehaving test until properly fixed [#4283](https://github.com/paritytech/parity/pull/4283) -- Additional logs for own transactions [#4278](https://github.com/paritytech/parity/pull/4278) -- Ensure write lock isn't held when calling handlers [#4285](https://github.com/paritytech/parity/pull/4285) -- Feature selector [#4074](https://github.com/paritytech/parity/pull/4074) -- AccountCreate updates [#3988](https://github.com/paritytech/parity/pull/3988) -- Extended JS interface -> Markdown generator [#4275](https://github.com/paritytech/parity/pull/4275) -- Added 3 warpnodes for ropsten [#4289](https://github.com/paritytech/parity/pull/4289) -- Ledger Communication JS toolkit [#4268](https://github.com/paritytech/parity/pull/4268) -- ValidatorSet reporting [#4208](https://github.com/paritytech/parity/pull/4208) -- Add support for api.subscribe('parity_accountsInfo') [#4273](https://github.com/paritytech/parity/pull/4273) -- Display AccountCard name via IdentityName [#4235](https://github.com/paritytech/parity/pull/4235) -- Dapp visibility save/load tests [#4150](https://github.com/paritytech/parity/pull/4150) -- Fix wrong output format of peers [#4270](https://github.com/paritytech/parity/pull/4270) -- Chain scoring [#4218](https://github.com/paritytech/parity/pull/4218) -- Rust 1.14 for windows builds [#4269](https://github.com/paritytech/parity/pull/4269) -- Eslint formatting updates [#4234](https://github.com/paritytech/parity/pull/4234) -- Embeddable ParityBar [#4222](https://github.com/paritytech/parity/pull/4222) -- Update deb-build.sh to fix libssl dependency [#4260](https://github.com/paritytech/parity/pull/4260) -- Integration with zgp whitelist contract [#4215](https://github.com/paritytech/parity/pull/4215) -- Adjust the location of the signer snippet [#4155](https://github.com/paritytech/parity/pull/4155) -- Fix wrong token handling [#4254](https://github.com/paritytech/parity/pull/4254) -- Additional building-block UI components [#4239](https://github.com/paritytech/parity/pull/4239) -- Bump package.json to 0.3.0 (1.6 track) [#4244](https://github.com/paritytech/parity/pull/4244) -- Disable incoming ETH notifications [#4243](https://github.com/paritytech/parity/pull/4243) -- Memory-based pruning history size [#4114](https://github.com/paritytech/parity/pull/4114) -- Common EngineSigner [#4189](https://github.com/paritytech/parity/pull/4189) -- Verification: don't request a code twice [#4221](https://github.com/paritytech/parity/pull/4221) -- S/Delete Contract/Forget Contract/ [#4237](https://github.com/paritytech/parity/pull/4237) -- Light protocol syncing improvements [#4212](https://github.com/paritytech/parity/pull/4212) -- LES Peer Info [#4195](https://github.com/paritytech/parity/pull/4195) -- Don't panic on uknown git commit hash [#4231](https://github.com/paritytech/parity/pull/4231) -- Cache registry reverses in local storage [#4182](https://github.com/paritytech/parity/pull/4182) -- Update version numbers in README [#4223](https://github.com/paritytech/parity/pull/4223) -- CHT calculations for full nodes [#4181](https://github.com/paritytech/parity/pull/4181) -- Use single source of info for dapp meta (build & display) [#4217](https://github.com/paritytech/parity/pull/4217) -- Non-secure API for DappReg [#4216](https://github.com/paritytech/parity/pull/4216) -- Console now has admin [#4220](https://github.com/paritytech/parity/pull/4220) -- Verification: add mainnet BadgeReg ids [#4190](https://github.com/paritytech/parity/pull/4190) -- Fixing minimal transaction queue price [#4204](https://github.com/paritytech/parity/pull/4204) -- Remove unnecessary Engine method [#4184](https://github.com/paritytech/parity/pull/4184) -- Fixed --base-path on windows [#4193](https://github.com/paritytech/parity/pull/4193) -- Fixing etherscan price parsing [#4202](https://github.com/paritytech/parity/pull/4202) -- LES: Better timeouts + Track failed requests [#4093](https://github.com/paritytech/parity/pull/4093) -- ESLint additional rules [#4186](https://github.com/paritytech/parity/pull/4186) -- JsonRPC bump for IPC fix [#4200](https://github.com/paritytech/parity/pull/4200) -- Poll for upgrades as part of global status (long) [#4197](https://github.com/paritytech/parity/pull/4197) -- Updater fixes [#4196](https://github.com/paritytech/parity/pull/4196) -- Prevent duplicate incoming connections [#4180](https://github.com/paritytech/parity/pull/4180) -- Minor typo to ensure it updates only when synced. [#4188](https://github.com/paritytech/parity/pull/4188) -- Minor refactor for clarity [#4174](https://github.com/paritytech/parity/pull/4174) -- Secret - from hash function, also validate data [#4159](https://github.com/paritytech/parity/pull/4159) -- Gas_limit for blocks, mined by Parity will be divisible by 37 [#4154](https://github.com/paritytech/parity/pull/4154) -- Support HTML5-routed dapps [#4173](https://github.com/paritytech/parity/pull/4173) -- Fix subscribeToEvents test [#4166](https://github.com/paritytech/parity/pull/4166) -- Fix dapps not loading [#4170](https://github.com/paritytech/parity/pull/4170) -- Fix broken token images [#4169](https://github.com/paritytech/parity/pull/4169) -- Bumping hyper [#4167](https://github.com/paritytech/parity/pull/4167) -- Icarus -> update, increase web timeout. [#4165](https://github.com/paritytech/parity/pull/4165) -- Add a password strength component [#4153](https://github.com/paritytech/parity/pull/4153) -- Stop flickering + added loader in AddressSelector [#4149](https://github.com/paritytech/parity/pull/4149) -- On demand LES request [#4036](https://github.com/paritytech/parity/pull/4036) -- Ropsten fork detection [#4163](https://github.com/paritytech/parity/pull/4163) -- Pull in console dapp as builtin [#4145](https://github.com/paritytech/parity/pull/4145) -- Optimized hash lookups [#4144](https://github.com/paritytech/parity/pull/4144) -- UnverifiedTransaction type [#4134](https://github.com/paritytech/parity/pull/4134) -- Verification: check if server is running [#4140](https://github.com/paritytech/parity/pull/4140) -- Remove onSubmit of current (no auto-change on password edit) [#4151](https://github.com/paritytech/parity/pull/4151) -- Trim spaces from InputAddress [#4126](https://github.com/paritytech/parity/pull/4126) -- Don't pop-up notifications after network switch [#4076](https://github.com/paritytech/parity/pull/4076) -- Use estimateGas error (as per updated implementation) [#4131](https://github.com/paritytech/parity/pull/4131) -- Improvements and optimisations to estimate_gas [#4142](https://github.com/paritytech/parity/pull/4142) -- New jsonrpc-core with futures and metadata support [#3859](https://github.com/paritytech/parity/pull/3859) -- Reenable mainnet update server. [#4137](https://github.com/paritytech/parity/pull/4137) -- Temporarily skip failing test [#4138](https://github.com/paritytech/parity/pull/4138) -- Refactor VoteCollector [#4101](https://github.com/paritytech/parity/pull/4101) -- Another minor estimation fix [#4133](https://github.com/paritytech/parity/pull/4133) -- Add proper label to method decoding inputs [#4136](https://github.com/paritytech/parity/pull/4136) -- Remove bindActionCreators({}, dispatch) (empty, unneeded) [#4135](https://github.com/paritytech/parity/pull/4135) -- Better contract error log reporting & handling [#4128](https://github.com/paritytech/parity/pull/4128) -- Fix broken Transfer : total account balance [#4127](https://github.com/paritytech/parity/pull/4127) -- Test harness for lightsync [#4109](https://github.com/paritytech/parity/pull/4109) -- Fix call/estimate_gas [#4121](https://github.com/paritytech/parity/pull/4121) -- Fixing decoding ABI with signatures in names [#4125](https://github.com/paritytech/parity/pull/4125) -- Get rid of unsafe code in ethkey, propagate incorrect Secret errors. [#4119](https://github.com/paritytech/parity/pull/4119) -- Basic tests for subscribeToEvents [#4115](https://github.com/paritytech/parity/pull/4115) -- Auto-detect hex encoded bytes in sha3 [#4108](https://github.com/paritytech/parity/pull/4108) -- Use binary chop to estimate gas accurately [#4100](https://github.com/paritytech/parity/pull/4100) -- V1.6 in master [#4113](https://github.com/paritytech/parity/pull/4113) -- Ignore get_price_info test by default. [#4112](https://github.com/paritytech/parity/pull/4112) -- Fix wrong information logging [#4106](https://github.com/paritytech/parity/pull/4106) -- Avoid comms with not-yet-active release update server. [#4111](https://github.com/paritytech/parity/pull/4111) -- Update Transfer logic + Better logging [#4098](https://github.com/paritytech/parity/pull/4098) -- Fix Signer : wrong account on reload [#4104](https://github.com/paritytech/parity/pull/4104) -- Cache registry reverses, completion in address selector [#4066](https://github.com/paritytech/parity/pull/4066) -- Validator/authority contract [#3937](https://github.com/paritytech/parity/pull/3937) -- No reorg limit for ancient blocks [#4099](https://github.com/paritytech/parity/pull/4099) -- Update registration after every write [#4102](https://github.com/paritytech/parity/pull/4102) -- Default to no auto-update. [#4092](https://github.com/paritytech/parity/pull/4092) -- Don't remove out of date local transactions [#4094](https://github.com/paritytech/parity/pull/4094) - -## Parity [v1.5.9](https://github.com/paritytech/parity/releases/tag/v1.5.9) (2017-03-11) - -First stable release of 1.5.x series. This release enables EIP-161 transaction replay protection for PoA networks. - -- Bump to v1.5.9 -- Fix auto-updater stable [#4869](https://github.com/paritytech/parity/pull/4869) -- Fixing windows build script -- Bump js-precompiled 20170308-152339 -- Force js update -- Stable Engine backports [#4807](https://github.com/paritytech/parity/pull/4807) - - Calibrate before rejection - - Change flag name - - Add eip155 - - Fix build - - Make network_id default -- Switch js branch to stable -- Bump to v1.5.8 - -## Parity [v1.5.7](https://github.com/paritytech/parity/releases/tag/v1.5.7) (2017-03-07) - -This release resolves a single issue with failing auto-updates. - -- Update ETC bootnodes [#4794](https://github.com/paritytech/parity/pull/4794) -- Bump to v1.5.7 -- Sane updater [#4658](https://github.com/paritytech/parity/pull/4658) - - Disable if files can't be moved. - - Make updater avoid downloading earlier versions. - -## Parity [v1.5.6](https://github.com/paritytech/parity/releases/tag/v1.5.6) (2017-03-06) - -This release among various stability fixes adds support for a new [Kovan](https://github.com/kovan-testnet/proposal) testnet. - -See [full list of changes.](https://github.com/paritytech/parity/compare/v1.5.4...v1.5.6): - -- Beta Update comments and reg ABI [#4788](https://github.com/paritytech/parity/pull/4788) - - Update comments. - - Fix up new ABI. -- Bump to v1.5.6 in beta [#4786](https://github.com/paritytech/parity/pull/4786) -- Beta Optimize signature for fallback function. ([#4780](https://github.com/paritytech/parity/pull/4780)) [#4784](https://github.com/paritytech/parity/pull/4784) -- Beta Add registrar fields ([#4716](https://github.com/paritytech/parity/pull/4716)) [#4781](https://github.com/paritytech/parity/pull/4781) -- Beta Etherscan links ([#4772](https://github.com/paritytech/parity/pull/4772)) [#4778](https://github.com/paritytech/parity/pull/4778) - - Etherscan links [#4772](https://github.com/paritytech/parity/pull/4772) - - Use netVersion to determine external links - - Update additional isTest references - - Port tests - - Update address links - - Signer accountlink isTest -- Beta Fix invalid props [#4767](https://github.com/paritytech/parity/pull/4767) -- Backporting to beta [#4741](https://github.com/paritytech/parity/pull/4741) - - New chains [#4720](https://github.com/paritytech/parity/pull/4720) - - Add Kovan chain. - - Fix up --testnet. - - Fix tests. - - Fix to UglifyJS 2.8.2 to fix app build issues [#4723](https://github.com/paritytech/parity/pull/4723) - - Update classic bootnodes, ref #4717 [#4735](https://github.com/paritytech/parity/pull/4735) - - Allow failure docker beta - - Adjust pruning history default to 64 [#4709](https://github.com/paritytech/parity/pull/4709) - - Backporting from master - - Update docker-build.sh - - Update gitlab.ci - - Fix docker hub build - - Update gitlab - - Docker beta-release->latest - - Add registry. - - Add info on forks. - - Fixed spec file - - Support both V1 & V2 DataChanged events in registry [#4734](https://github.com/paritytech/parity/pull/4734) - - Add info on forks. - - Add new registry ABI - - Import registry2 & fix exports - - Select ABI based on code hash - - Render new event types (owner not available) - - New registry. - - Rename old chain. - - Fix test. - - Another fix. - - Finish rename. - - Fixed fonts URLs [#4579](https://github.com/paritytech/parity/pull/4579) - - Fix Token Reg Dapp issues in Firefox [#4489](https://github.com/paritytech/parity/pull/4489) - - Fix overflow issues in Firefox [#4348](https://github.com/paritytech/parity/issues/4348) - - Fix wrong Promise inferance - - Revert "Add new Componennt for Token Images [#4496](https://github.com/paritytech/parity/issues/4496)" - - Add new Componennt for Token Images [#4496](https://github.com/paritytech/parity/issues/4496) - - Add StackEventListener [#4745](https://github.com/paritytech/parity/pull/4745) - - Update testnet detection [#4746](https://github.com/paritytech/parity/pull/4746) - - Fix Account Selection in Signer [#4744](https://github.com/paritytech/parity/pull/4744) - - Can pass FormattedMessage to Input (eg. Status // RPC Enabled) - - Simple fixed-width fix for Accoutn Selection in Parity Signer -- Beta backports [#4763](https://github.com/paritytech/parity/pull/4763) - - Https://mkr-market -> https://oasisdex.com [#4701](https://github.com/paritytech/parity/pull/4701) - - Wallet s/delete/forget/ [#4741](https://github.com/paritytech/parity/pull/4741) -- Update classic bootnodes [#4735](https://github.com/paritytech/parity/pull/4735) -- Engine backports [#4718](https://github.com/paritytech/parity/pull/4718) - - Custom dev presets - - Add registrar field - - Use constructor for dev registrar - - Fix test -- Beta Adjust pruning history default to 64 [#4709](https://github.com/paritytech/parity/pull/4709) -- Bump to v1.5.5 - -## Parity [v1.5.4](https://github.com/paritytech/parity/releases/tag/v1.5.4) (2017-02-23) - -A couple of issue fixed in this release: - -- Parity now allows uncles headers to have timestamp set to arbitrary future value. -- Importing keys from geth is now working again. - -Changes: - -- Beta Fix Geth account import [#4643](https://github.com/paritytech/parity/pull/4643) - - Fix Geth import - actually pass addresses through - - Fix geth accounts not displayed - - Port saving of returned addresses (master MobX, beta state) - - Log result -> importGethAccounts -- Beta Backporting ([#4633](https://github.com/paritytech/parity/pull/4633)) [#4640](https://github.com/paritytech/parity/pull/4640) - - Tweak some checks. - - Fixed build and added a difficulty test - - Bump to v1.5.4 - -## Parity [v1.4.12](https://github.com/paritytech/parity/releases/tag/v1.4.12) (2017-02-22) - -This stable release fixes an issue with block uncle validation. Parity now allows uncle headers to have timestamp set to arbitrary future value. - -- Stable Backporting ([#4633](https://github.com/paritytech/parity/pull/4633)) [#4642](https://github.com/paritytech/parity/pull/4642) - - Tweak some checks. - - Fixed build and added a difficulty test - - Bump to v1.4.12 -- Add missing maxCodeSize [#4585](https://github.com/paritytech/parity/pull/4585) - -## Parity [v1.5.3](https://github.com/paritytech/parity/releases/tag/v1.5.3) (2017-02-20) - -This is a maintenance release that fixes a number of stability issues. Notably this resolves an issue where Parity would allow a pre EIP-155 transaction into the sealed block. - -See [full list of changes](https://github.com/paritytech/parity/compare/v1.5.2...v1.5.3): - -- Bump to v1.5.3 [#4611](https://github.com/paritytech/parity/pull/4611) -- Handle invalid ABI retrieved from address_book gracefully ([#4606](https://github.com/paritytech/parity/pull/4606)) [#4610](https://github.com/paritytech/parity/pull/4610) - - Handle invalid ABI gracefully - - Also include failed abi in log -- Backporting to beta [#4602](https://github.com/paritytech/parity/pull/4602) - - Static link for snappy - - added 3 warpnodes for ropsten ([#4289](https://github.com/paritytech/parity/pull/4289)) - - Fixed indentation -- Validate transaction before adding to the queue [#4600](https://github.com/paritytech/parity/pull/4600) -- Beta backports [#4569](https://github.com/paritytech/parity/pull/4569) - - Fixing evmbin compilation and added standard build. ([#4561](https://github.com/paritytech/parity/pull/4561)) - - Alias for personal_sendTransaction ([#4554](https://github.com/paritytech/parity/pull/4554)) - - Fix console dapp ([#4544](https://github.com/paritytech/parity/pull/4544)) - - Fixing linting issues. Better support for console as secure app - - Fixing linting issues - - Fix no data sent in TxQueue dapp ([#4502](https://github.com/paritytech/parity/pull/4502)) - - Fix wrong PropType req for Embedded Signer - - Fix wrong data for tx #4499 -- Explicitly set seconds to 0 from selector ([#4559](https://github.com/paritytech/parity/pull/4559)) [#4571](https://github.com/paritytech/parity/pull/4571) - - Explicitly set seconds/milli to 0 - - Use condition time & block setters consistently - - Fix failing test - - test for 0 ms & sec - - It cannot hurt, clone date before setting - - Prettier date test constants (OCD) -- Remove invalid expectation [#4542](https://github.com/paritytech/parity/pull/4542) -- Skip OOG check for simple transfers [#4558](https://github.com/paritytech/parity/pull/4558) [#4560](https://github.com/paritytech/parity/pull/4560) - - Skip OOG check for simple transfers [#4558](https://github.com/paritytech/parity/pull/4558) - - Fix failing test - -## Parity [v1.4.11](https://github.com/paritytech/parity/releases/tag/v1.4.11) (2017-02-17) - -This release corrects the Ropsten chain specification file. - -- Bump to v1.4.11 [#4587](https://github.com/paritytech/parity/pull/4587) -- Fixing etherscan price parsing ([#4202](https://github.com/paritytech/parity/pull/4202)) [#4209](https://github.com/paritytech/parity/pull/4209) - - Fixing etherscan price parsing - - Handling all errors -- Removed pdbs -- Add missing maxCodeSize [#4585](https://github.com/paritytech/parity/pull/4585) - -## Parity [v1.5.2](https://github.com/paritytech/parity/releases/tag/v1.5.2) (2017-02-08) - -This release brings a few stability fixes along with a feature that allows queuing transactions that are activated and send out on selected date or block number. -- Debian packages have been updated to require `libssl1.0.0` for better compatibility. -- eth_sign (and parity_postSign) used to return concatenated r ++ s ++ v with v being 0 or 1. it now agrees with geth as v ++ r ++ s with v being 27 or 28. - -Parity Wallet -- Accounts & ShapeShift integration now displays QR code for scanning from mobile wallets -- Dapp integration now allows for the selection of available accounts and the setting of the default account -- Transaction creation now allows for the selection of future blocks or timestamps after which the transaction is released - -Parity Extension -- First release of the Parity Extension, allowing for Parity integration from web-based dapps - -See [full list of changes](https://github.com/paritytech/parity/compare/v1.5.0...v1.5.2): -- Work with string numbers in contract (Fixes #4472) ([#4478](https://github.com/paritytech/parity/pull/4478)) [#4480](https://github.com/paritytech/parity/pull/4480) -- Eth_sign improvements backport [#4473](https://github.com/paritytech/parity/pull/4473) - - Fix postsign ([#4347](https://github.com/paritytech/parity/pull/4347)) - - Fix whitespace. - - Fix post sign. - - Fix message. - - Fix tests. - - Rest of the problems. - - All hail the linter and its omniscience. - - ...and its divine omniscience. - - Grumbles and wording. - - Make signing compatible with geth. ([#4468](https://github.com/paritytech/parity/pull/4468)) -- Sort gas price corpus when hitting genesis [#4471](https://github.com/paritytech/parity/pull/4471) -- Wallet dev chain fix [#4466](https://github.com/paritytech/parity/pull/4466) -- Fixing histogram again [#4464](https://github.com/paritytech/parity/pull/4464) -- Beta backports [#4462](https://github.com/paritytech/parity/pull/4462) - - Support HTML5-routed dapps ([#4173](https://github.com/paritytech/parity/pull/4173)) - - Fix compilation on latest nightly - - Updating precompiled -- Fix Portal scrolling getting stuck [#4456](https://github.com/paritytech/parity/pull/4456) - - Fix Portal scrolling getting stuck - - DappCard container flex - - Container height to 100% -- Fix AccountCard stretch to 100% [#4451](https://github.com/paritytech/parity/pull/4451) -- Fix wrong output format of peers ([#4270](https://github.com/paritytech/parity/pull/4270)) [#4442](https://github.com/paritytech/parity/pull/4442) - - Fix wrong output format of peers - - Add outPeer tests -- Opening extension page without inline installation [#4441](https://github.com/paritytech/parity/pull/4441) - - Open popup without attempting inline - - Cater for all .web3.site addresses -- Fix svg extension image webpack inlining [#4437](https://github.com/paritytech/parity/pull/4437) -- Backporting to beta [#4434](https://github.com/paritytech/parity/pull/4434) - - Bump to v1.5.2 - - Fix eth_sign/parity_postSign ([#4432](https://github.com/paritytech/parity/pull/4432)) - - Fix dispatch for signing. - - Remove console log - - Fix signing & tests. -- Returning default account as coinbase [#4431](https://github.com/paritytech/parity/pull/4431) - - Returning first address as coinbase - - Allowing sender alteration in signer - - Adding default account RPC -- UI updates for 1.5.1 [#4429](https://github.com/paritytech/parity/pull/4429) - - S/Delete Contract/Forget Contract/ ([#4237](https://github.com/paritytech/parity/pull/4237)) - - Adjust the location of the signer snippet ([#4155](https://github.com/paritytech/parity/pull/4155)) - - Additional building-block UI components ([#4239](https://github.com/paritytech/parity/pull/4239)) - - Currency WIP - - Expand tests - - Pass className - - Add QrCode - - Export new components in ~/ui - - S/this.props.netSymbol/netSymbol/ - - Fix import case - - Ui/SectionList component ([#4292](https://github.com/paritytech/parity/pull/4292)) - - Array chunking utility - - Add SectionList component - - Add TODOs to indicate possible future work - - Add missing overlay style (as used in dapps at present) - - Add a Playground for the UI Components ([#4301](https://github.com/paritytech/parity/pull/4301)) - - Playground // WIP - - Linting - - Add Examples with code - - CSS Linting - - Linting - - Add Connected Currency Symbol - - 2015-2017 - - Added `renderSymbol` tests - - PR grumbles - - Add Eth and Btc QRCode examples - - 2015-2017 - - Add tests for playground - - Fixing tests - - Split Dapp icon into ui/DappIcon ([#4308](https://github.com/paritytech/parity/pull/4308)) - - Add QrCode & Copy to ShapeShift ([#4322](https://github.com/paritytech/parity/pull/4322)) - - Extract CopyIcon to ~/ui/Icons - - Add copy & QrCode address - - Default size 4 - - Add bitcoin: link - - Use protocol links applicable to coin exchanged - - Remove .only - - Display QrCode for accounts, addresses & contracts ([#4329](https://github.com/paritytech/parity/pull/4329)) - - Allow Portal to be used as top-level modal ([#4338](https://github.com/paritytech/parity/pull/4338)) - - Portal - - Allow Portal to be used in as both top-level and popover - - Modal/popover variable naming - - Export Portal in ~/ui - - Properly handle optional onKeyDown - - Add simple Playground Example - - Add proper event listener to Portal ([#4359](https://github.com/paritytech/parity/pull/4359)) - - Display AccountCard name via IdentityName ([#4235](https://github.com/paritytech/parity/pull/4235)) - - Fix signing ([#4363](https://github.com/paritytech/parity/pull/4363)) - - Dapp Account Selection & Defaults ([#4355](https://github.com/paritytech/parity/pull/4355)) - - Add parity_defaultAccount RPC (with subscription) ([#4383](https://github.com/paritytech/parity/pull/4383)) - - Default Account selector in Signer overlay ([#4375](https://github.com/paritytech/parity/pull/4375)) - - Typo, fixes #4271 ([#4391](https://github.com/paritytech/parity/pull/4391)) - - Fix ParityBar account selection overflows ([#4405](https://github.com/paritytech/parity/pull/4405)) - - Available Dapp selection alignment with Permissions (Portal) ([#4374](https://github.com/paritytech/parity/pull/4374)) - - Registry dapp: make lookup use lower case ([#4409](https://github.com/paritytech/parity/pull/4409)) - - Dapps use defaultAccount instead of own selectors ([#4386](https://github.com/paritytech/parity/pull/4386)) - - Poll for defaultAccount to update dapp & overlay subscriptions ([#4417](https://github.com/paritytech/parity/pull/4417)) - - Poll for defaultAccount (Fixes #4413) - - Fix nextTimeout on catch - - Store timers - - Re-enable default updates on change detection - - Add block & timestamp conditions to Signer ([#4411](https://github.com/paritytech/parity/pull/4411)) - - Extension installation overlay ([#4423](https://github.com/paritytech/parity/pull/4423)) - - Extension installation overlay - - Pr gumbles - - Spelling - - Update Chrome URL - - Fix for non-included jsonrpc - - Extend Portal component (as per Modal) [#4392](https://github.com/paritytech/parity/pull/4392) -- Transaction timestamp condition [#4427](https://github.com/paritytech/parity/pull/4427) -- Fixing embedded bar not closing in chrome extension [#4421](https://github.com/paritytech/parity/pull/4421) -- Backporting to beta [#4418](https://github.com/paritytech/parity/pull/4418) - - Bump to 1.5.1 - - Disable notifications ([#4243](https://github.com/paritytech/parity/pull/4243)) - - Fix wrong token handling ([#4254](https://github.com/paritytech/parity/pull/4254)) - - Fixing wrong token displayed - - Linting - - Revert filtering out - - Revert the revert - - Don't panic on uknown git commit hash ([#4231](https://github.com/paritytech/parity/pull/4231)) - - Additional logs for own transactions ([#4278](https://github.com/paritytech/parity/pull/4278)) - - Integration with zgp whitelist contract ([#4215](https://github.com/paritytech/parity/pull/4215)) - - Zgp-transactions checker - - Polishing - - Rename + refactor - - Refuse-service-transactions cl option - - Fixed tests compilation - - Renaming signAndSendTransaction to sendTransaction ([#4351](https://github.com/paritytech/parity/pull/4351)) - - Fixed deadlock in external_url ([#4354](https://github.com/paritytech/parity/pull/4354)) - - Fixing web3 in console ([#4382](https://github.com/paritytech/parity/pull/4382)) - - Fixing estimate gas in case histogram is not available ([#4387](https://github.com/paritytech/parity/pull/4387)) - - Restarting fetch client every now and then ([#4399](https://github.com/paritytech/parity/pull/4399)) -- Embeddable ParityBar ([#4222](https://github.com/paritytech/parity/pull/4222)) [#4287](https://github.com/paritytech/parity/pull/4287) - - Embeddable ParityBar - - Replacing storage with store - - Fixing references. - - Addressing style issues - - Supporting parity background - -## Parity [v1.5.0: "Nativity"](https://github.com/paritytech/parity/releases/tag/v1.5.0) (2017-01-19) - -Major feature release including _Tendermint_ consensus engine, _Multisig wallet_ support, _badge/certification_ UI integration and _automatic updates_. - -Directories: - -- New XDG-informed Parity data directory structure. Base dir (`--base-path` or `-d`) that defaulted to `$HOME/.parity` is changed to: - - `/Users/You/AppData/Roaming/Parity/Ethereum` on Windows - - `/Users/you/Library/Application Support/io.parity.ethereum` on MacOS - - `/home/you/.local/share/parity` on Linux/Unix -- Keys are now stored in chain-specific directories . On first run of 1.5, all keys will be moved into the key's directory of the chain you run. You'll need to move the wallet files between directories manually if you wish to split them between testnet/mainnet. -- `--db-path` option now controls the path just for the databases, not for keys (`--keys-path`) or dapps (`--dapps-path`). - -Basics: - -- Version tracking, consensus-protection, hypervised auto-updating: - - Parity will ensure syncing is paused if its version cannot support an upcoming hard-fork (disable with `--no-consensus`). - - Parity will automatically download the latest version and may be updated through Parity Wallet (disable with `--no-download`) - - Parity can automatically update and seamlessly restart to later versions in the same release track (enable with `--auto-update=all` or `--auto-update=critical`). - - Parity hypervisor will automatically run the latest version (disable with `--force-direct`). -- Fat database; to enable, sync the chain with the option `--fat-db`. - - Accounts and storage entries can be enumerated. - - Chain state can be exported to JSON for analysis with `parity export state`. -- CLI and config options renamed: all variants of `--signer` are renamed to `--ui`. -- Log files are appended by default rather than truncated (useful for daemon deployments). - -Parity Wallet: - -- Multisig wallet support: "New Wallet" button in the "Accounts" section allows you to create a new multisig wallet or import an existing one. -- Solidity compiler: "Develop Contract" button in the "Contracts" section allows you to write, edit, compile and deploy contracts. -- SMS & e-mail verification: Accounts can now be certified as verified using Parity's SMS and e-Mail verification/registration oracle. -- Badge/certification integration: The `BadgeReg` contract can be used to deploy additional certifications. -- Local transaction propagation tracking: "TxQueue Viewer" in the "Applications" section allows you to track and resubmit previously sent transactions. -- Contract executions can now have gas and gas-price configured. -- Signer can now alter the gas and gas-price of transactions at password-entry. -- The deprecated Chrome "Signer" extension is now incompatible. - -[Proof of Authority](https://github.com/paritytech/parity/wiki/Proof-of-Authority-Chains): - -- Authority Round consensus engine: `engine: authorityRound {...}`; this is a high-performance Proof-of-Authority consensus engine. It is not BFT under normal circumstances (however the `--force-sealing` flag can be used to ensure consensus even with Byzantine nodes). -- Tendermint Engine: `engine: tendermint {...}`; this is an experimental Proof-of-Authority consensus engine. BFT up to one third of the authorities and falling back to delayed finalization chain ordering (50% fault tolerant). -- Generic seal JSON spec includes engine-specific types (`seal: { generic: { rlp: "0x..." } }` becomes `seal: { authority_round { step: 0, signature: "0x..." } }`. -- To set a node as authority either `--engine-signer ADDRESS` should be used with `--password` or `parity_setEngineSigner(address, password)` RPC should be called. Unlocking the account permanently or using `--author` is now unnecessary. -- Set of authorities can now be specified using a [list or a contract](https://github.com/paritytech/parity/wiki/Consensus-Engines#validator-engines). - -Chains: - -- Dev chain: `--chain=dev`; instant seal engine (no mining needed). Great for development work. -- Ropsten chain (`--chain=ropsten` or `--chain=testnet`) configures for Ropsten, the new test net. -- Morden chain (`--chain=morden`) changed to "Classic" rules and stays as the Ethereum Classic test net. - -RPCs/APIs: - -- All JSON-RPC interfaces have strict JSON deserialization - no extra fields are allowed. -- `eth_sign` RPC now hashes given data instead of getting the hash. -- `signer_confirmRequestWithToken`: additional RPC for signing transactions with a rotating token, alleviating the need for keeping an account password in memory. -- `eth_signTransaction` now conforms to the specification, `eth_submitTransaction` is introduced. - -Full changes: - -- Backporting to beta [#4211](https://github.com/paritytech/parity/pull/4211) - - JsonRPC bump for IPC fix - - Fixing etherscan price parsing ([#4202](https://github.com/paritytech/parity/pull/4202)) - - Handling all errors - - Fixed --base-path on windows ([#4193](https://github.com/paritytech/parity/pull/4193)) - - Add support for optional args with default text - - Fixing minimal transaction queue price ([#4204](https://github.com/paritytech/parity/pull/4204)) - - Fixing tests - - verification: add mainnet BadgeReg ids ([#4190](https://github.com/paritytech/parity/pull/4190)) - - verification: fetch contracts by name - - verification: better wording - - typo - - reregistered badges - - Console now has admin ([#4220](https://github.com/paritytech/parity/pull/4220)) - - Fixes [#4210](https://github.com/paritytech/parity/pull/4210) - - Non-secure for DappReg ([#4216](https://github.com/paritytech/parity/pull/4216)) -- Backporting to beta [#4203](https://github.com/paritytech/parity/pull/4203) - - Minor typo to ensure it updates only when synced. ([#4188](https://github.com/paritytech/parity/pull/4188)) - - Updater fixes ([#4196](https://github.com/paritytech/parity/pull/4196)) - - Minor typo to ensure it updates only when synced. - - Fix deadlock. - - Skip unneeded arg in making list. - - Allow auto-restart even when not running an update. - - Fix trace. - - Update update info on each loop. - - Fix build. - - Shutdown all sockets - - Remove superfluous use. - - Poll for upgrades as part of global status (long) ([#4197](https://github.com/paritytech/parity/pull/4197)) - - Fix path - - Prevent duplicate incoming connections ([#4180](https://github.com/paritytech/parity/pull/4180)) -- Gas_limit for blocks, mined by Parity will be divisible by 37 ([#4154](https://github.com/paritytech/parity/pull/4154)) [#4176](https://github.com/paritytech/parity/pull/4176) - - gas_limit for new blocks will divide evenly by 13 - - increased PARITY_GAS_LIMIT_DETERMINANT to 37 - - separate method for marking mined block - - debug_asserts(gas_limit within protocol range) - - round_block_gas_limit method is now static - - made round_block_gas_limit free-function - - multiplier->multiple -- Backporting to beta [#4175](https://github.com/paritytech/parity/pull/4175) - - verification: check if server is running ([#4140](https://github.com/paritytech/parity/pull/4140)) - - verification: check if server is running - - See also ethcore/email-verification#67c6466 and ethcore/sms-verification#a585e42. - - verification: show in the UI if server is running - - verification: code style ✨, more i18n - - fix i18n key - - Optimized hash lookups ([#4144](https://github.com/paritytech/parity/pull/4144)) - - Optimize hash comparison - - Use libc - - Ropsten fork detection ([#4163](https://github.com/paritytech/parity/pull/4163)) - - Stop flickering + added loader in AddressSelector ([#4149](https://github.com/paritytech/parity/pull/4149)) - - Stop UI flickering + added loader to AddressSelector [#4103](https://github.com/paritytech/parity/pull/4103) - - PR Grumbles - - Add a password strength component ([#4153](https://github.com/paritytech/parity/pull/4153)) - - Added new PasswordStrength Component - - Added tests - - PR Grumbles - - icarus -> update, increase web timeout. ([#4165](https://github.com/paritytech/parity/pull/4165)) - - Fix estimate gas - - Fix token images // Error in Contract Queries ([#4169](https://github.com/paritytech/parity/pull/4169)) - - Fix dapps not loading ([#4170](https://github.com/paritytech/parity/pull/4170)) - - Add secure to dappsreg - - Remove trailing slash // fix dapps -- Bumping hyper [#4168](https://github.com/paritytech/parity/pull/4168) - - Bumping hyper - - Bumping again -- Backporting to beta [#4158](https://github.com/paritytech/parity/pull/4158) - - Remove onSubmit of current (no auto-change on password edit) ([#4151](https://github.com/paritytech/parity/pull/4151)) - - Remove onSubmit from current password - - Remove onSubmit from hint - - Pull in console dapp as builtin ([#4145](https://github.com/paritytech/parity/pull/4145)) - - Copy static dapps from static (no build) - - Console sources - - Add console to builtins - - Remove console assets - - Disable eslint on console.js - - Enable eslint after disable - - Webpack copy -- Backporting to beta [#4152](https://github.com/paritytech/parity/pull/4152) - - Fix broken transfer total balance ([#4127](https://github.com/paritytech/parity/pull/4127)) - - Add proper label to method decoding inputs ([#4136](https://github.com/paritytech/parity/pull/4136)) - - Another minor estimation fix ([#4133](https://github.com/paritytech/parity/pull/4133)) - - 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. - - Get rid of unsafe code in ethkey, propagate incorrect Secret errors. ([#4119](https://github.com/paritytech/parity/pull/4119)) - - Implementing secret - - Fixing tests - - Refactor VoteCollector ([#4101](https://github.com/paritytech/parity/pull/4101)) - - dir - - simple validator list - - stub validator contract - - make the engine hold Weak 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 - - return error on misbehaviour - - nicer return - - sprinkle docs - - Reenable mainnet update server. ([#4137](https://github.com/paritytech/parity/pull/4137)) - - basic tests for subscribeToEvents ([#4115](https://github.com/paritytech/parity/pull/4115)) - - subscribeToEvent fixtures ✅ - - subscribeToEvent tests ✅ - - temporarily skip failing test ([#4138](https://github.com/paritytech/parity/pull/4138)) - - Improvements and optimisations to estimate_gas ([#4142](https://github.com/paritytech/parity/pull/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 - - Use estimateGas error (as per updated implementation) ([#4131](https://github.com/paritytech/parity/pull/4131)) - - EXCEPTION_ERROR as per #4142 - - Better error log reporting & handling ([#4128](https://github.com/paritytech/parity/pull/4128)) - - Don't pop-up notifications after network switch ([#4076](https://github.com/paritytech/parity/pull/4076)) - - Better notifications - - Don't pollute with notifs if switched networks - - Better connection close/open events / No more notifs on change network - - PR Grumbles - - Add close and open events to HTTP // Add tests +- 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)) +- 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)) + - Always fetch meta data first [badges] +- Bump to v1.8.0 in beta +- Fix tokens and badges ([#6725](https://github.com/paritytech/parity/pull/6725)) + - Update new token fetching + - Working Certifications Monitoring + - Update on Certification / Revoke + - Fix none-fetched tokens value display - Fix tests - - WIP Signer Fix - - Fix Signer // Better reconnection handling - - PR Grumbles - - PR Grumbles - - Fixes wrong fetching of balances + Notifications - - Secure API WIP - - Updated Secure API Connection + Status - - Linting - - Updated Secure API Logic - - Proper handling of token updates // Fixing poping notifications - - PR Grumbles - - Fixing tests - - Trim spaces from InputAddress ([#4126](https://github.com/paritytech/parity/pull/4126)) - - Trim spaces for addresses - - onSubmit has only value, not event - - onSubmit (again) - - Length check on trimmed value - - Remove bindActionCreators({}, dispatch) (empty) ([#4135](https://github.com/paritytech/parity/pull/4135)) -- Backporting to beta [#4118](https://github.com/paritytech/parity/pull/4118) - - Ignore get_price_info test by default. ([#4112](https://github.com/paritytech/parity/pull/4112)) - - Auto-detect hex encoded bytes in sha3 ([#4108](https://github.com/paritytech/parity/pull/4108)) - - Using types/isHex - - Removing unused imports - - Use binary chop to estimate gas accurately ([#4100](https://github.com/paritytech/parity/pull/4100)) - - Initial sketch. - - Building. - - Fix a few things. - - Fix issue, add tracing. - - Address grumbles - - Raise upper limit if needed - - Fix test. - - Fixing decoding API with signatures in names ([#4125](https://github.com/paritytech/parity/pull/4125)) - - Fix call/estimate_gas ([#4121](https://github.com/paritytech/parity/pull/4121)) - - Return 0 instead of error with out of gas on estimate_gas - - Fix stuff up. -- Current release: 1.3 -> 1.4 [#4183](https://github.com/paritytech/parity/pull/4183) -- Fix rebroadcast panic [#4084](https://github.com/paritytech/parity/pull/4084) -- Use shallow-only rendering in all tests [#4087](https://github.com/paritytech/parity/pull/4087) -- Sending transactions in chunks [#4089](https://github.com/paritytech/parity/pull/4089) -- Move to new auto-update server. [#4091](https://github.com/paritytech/parity/pull/4091) -- Fixing compilation without dapps. [#4088](https://github.com/paritytech/parity/pull/4088) -- Fix balances update [#4077](https://github.com/paritytech/parity/pull/4077) -- Key derivation in Worker [#4071](https://github.com/paritytech/parity/pull/4071) -- Display contract block creation [#4069](https://github.com/paritytech/parity/pull/4069) -- Improving logs for transactions sync and disable re-broadcasting while syncing [#4065](https://github.com/paritytech/parity/pull/4065) -- Passwords are valid by default [#4075](https://github.com/paritytech/parity/pull/4075) -- Show Origin label to events table [#4073](https://github.com/paritytech/parity/pull/4073) -- Fix tags not working [#4070](https://github.com/paritytech/parity/pull/4070) -- Zero-alloc trie lookups [#3998](https://github.com/paritytech/parity/pull/3998) -- Opening local dapp [#4041](https://github.com/paritytech/parity/pull/4041) -- Bringing back `js-sha3` to fix in-browser signing [#4063](https://github.com/paritytech/parity/pull/4063) -- Fix wrong transaction input for contract deployments [#4052](https://github.com/paritytech/parity/pull/4052) -- Re-broadcast transactions to few random peers on each new block. [#4054](https://github.com/paritytech/parity/pull/4054) -- Removing old transactions from the queue [#4046](https://github.com/paritytech/parity/pull/4046) -- Add block rewards to more Engines [#4055](https://github.com/paritytech/parity/pull/4055) -- Return old trie values on insert and remove [#4053](https://github.com/paritytech/parity/pull/4053) -- Let users open urls from dapps view [#4042](https://github.com/paritytech/parity/pull/4042) -- Util/validation update [#4051](https://github.com/paritytech/parity/pull/4051) -- Convert ShapeShift modal to store [#4035](https://github.com/paritytech/parity/pull/4035) -- Using local path on Windows [#4017](https://github.com/paritytech/parity/pull/4017) -- Fixing minGasLimit > ceil limit mining issue [#4018](https://github.com/paritytech/parity/pull/4018) -- Naive light client synchronization [#3892](https://github.com/paritytech/parity/pull/3892) -- Starting on homestead shows reload snackbar [#4043](https://github.com/paritytech/parity/pull/4043) -- Show contract parameters in MethodDecoding [#4024](https://github.com/paritytech/parity/pull/4024) -- UI component updates [#4010](https://github.com/paritytech/parity/pull/4010) -- Account view updates [#4008](https://github.com/paritytech/parity/pull/4008) -- Better error messages for PoA chains [#4034](https://github.com/paritytech/parity/pull/4034) -- Make some spec fields optional [#4019](https://github.com/paritytech/parity/pull/4019) -- Basic account type [#4021](https://github.com/paritytech/parity/pull/4021) -- Fix wallet in main net [#4038](https://github.com/paritytech/parity/pull/4038) -- Removing orphaned Cargo.toml [#4032](https://github.com/paritytech/parity/pull/4032) -- Address selector: support reverse lookup [#4033](https://github.com/paritytech/parity/pull/4033) -- Only fetch App when necessary [#4023](https://github.com/paritytech/parity/pull/4023) -- Connection UI cleanups & tests for prior PR [#4020](https://github.com/paritytech/parity/pull/4020) -- Unsubscribe error on ShapeShift modal close [#4005](https://github.com/paritytech/parity/pull/4005) -- Add ownership checks the Registry dApp [#4001](https://github.com/paritytech/parity/pull/4001) -- Refresh balances of contacts & contracts when syncing [#4022](https://github.com/paritytech/parity/pull/4022) -- Show message on new chain [#4016](https://github.com/paritytech/parity/pull/4016) -- Use TypedInputs in Contracts view [#4015](https://github.com/paritytech/parity/pull/4015) -- Fix focus on Modal [#4014](https://github.com/paritytech/parity/pull/4014) -- Fix newError noops when not bound to dispacher [#4013](https://github.com/paritytech/parity/pull/4013) -- Parse testnet chain as ropsten [#4004](https://github.com/paritytech/parity/pull/4004) -- Work on Portal Style [#4003](https://github.com/paritytech/parity/pull/4003) -- Make Wallet first-class citizens [#3990](https://github.com/paritytech/parity/pull/3990) -- Don't slice non-existent tags [#4000](https://github.com/paritytech/parity/pull/4000) -- Update dev dependencies and make Webpack less verbose [#3997](https://github.com/paritytech/parity/pull/3997) -- Correct log index in transaction receipt [#3995](https://github.com/paritytech/parity/pull/3995) -- Add Email and Registry lookups to Address Selector [#3992](https://github.com/paritytech/parity/pull/3992) -- Remove node journal: dead code [#3994](https://github.com/paritytech/parity/pull/3994) -- Cleanup AddContract with store [#3981](https://github.com/paritytech/parity/pull/3981) -- Store for EditPassword Modal [#3979](https://github.com/paritytech/parity/pull/3979) -- Additional fetch tests [#3983](https://github.com/paritytech/parity/pull/3983) -- Owning views of blockchain data [#3982](https://github.com/paritytech/parity/pull/3982) -- Make test network generic over peer type [#3974](https://github.com/paritytech/parity/pull/3974) -- Fetch tests (first batch) [#3977](https://github.com/paritytech/parity/pull/3977) -- Fetch certifiers only when needed [#3978](https://github.com/paritytech/parity/pull/3978) -- Visible accounts for dapps (default whitelist) [#3898](https://github.com/paritytech/parity/pull/3898) -- Remove some old (unused/duplicate) files [#3975](https://github.com/paritytech/parity/pull/3975) -- Port `try` macro to new `?` operator. [#3962](https://github.com/paritytech/parity/pull/3962) -- Small UI fixes [#3966](https://github.com/paritytech/parity/pull/3966) -- Fix wrong use of Icons [#3973](https://github.com/paritytech/parity/pull/3973) -- Updating dependencies [#3968](https://github.com/paritytech/parity/pull/3968) -- Web Based Dapps [#3956](https://github.com/paritytech/parity/pull/3956) -- Contract query: render false as false [#3971](https://github.com/paritytech/parity/pull/3971) -- Email verification: add Terms of Service [#3970](https://github.com/paritytech/parity/pull/3970) -- Fix method decoding [#3967](https://github.com/paritytech/parity/pull/3967) -- Store for EditMeta modal [#3959](https://github.com/paritytech/parity/pull/3959) -- Registry dapp: cleanup, support reverse entries [#3933](https://github.com/paritytech/parity/pull/3933) -- New Address Selector Component [#3829](https://github.com/paritytech/parity/pull/3829) -- Limiting accounts returned by parity_accountInfo [#3931](https://github.com/paritytech/parity/pull/3931) -- Unknown block error for RPC [#3965](https://github.com/paritytech/parity/pull/3965) -- Remove unused fields in informant [#3963](https://github.com/paritytech/parity/pull/3963) -- Allow contract constructors in chain spec [#3932](https://github.com/paritytech/parity/pull/3932) -- Sync reorg up to history size [#3874](https://github.com/paritytech/parity/pull/3874) -- Rising the limit for fetch [#3964](https://github.com/paritytech/parity/pull/3964) -- Bring integer arithmetic up to crates.io [#3943](https://github.com/paritytech/parity/pull/3943) -- Eslint rule for block curlies [#3955](https://github.com/paritytech/parity/pull/3955) -- Gas exception warnings on deployment [#3938](https://github.com/paritytech/parity/pull/3938) -- Move verification store into modal [#3951](https://github.com/paritytech/parity/pull/3951) -- Allow setting of minBlock on sending [#3921](https://github.com/paritytech/parity/pull/3921) -- Allow empty address [#3961](https://github.com/paritytech/parity/pull/3961) -- Fix default import [#3960](https://github.com/paritytech/parity/pull/3960) -- Display 0x00..00 as null [#3950](https://github.com/paritytech/parity/pull/3950) -- Global Fetch Service [#3915](https://github.com/paritytech/parity/pull/3915) -- Update babel-loader for WebPack 2.2-rc [#3953](https://github.com/paritytech/parity/pull/3953) -- Fix Webpack build [#3946](https://github.com/paritytech/parity/pull/3946) -- Fix manual input token [#3945](https://github.com/paritytech/parity/pull/3945) -- Update Webpack [#3952](https://github.com/paritytech/parity/pull/3952) -- Add missing Ethcore -> Parity headers [#3948](https://github.com/paritytech/parity/pull/3948) -- Code example: do start before register_protocol [#3947](https://github.com/paritytech/parity/pull/3947) -- Set CHAIN_ID for Classic [#3934](https://github.com/paritytech/parity/pull/3934) -- Fixed compile error. [#3940](https://github.com/paritytech/parity/pull/3940) -- Fix dapps not loading [#3935](https://github.com/paritytech/parity/pull/3935) -- Fix Secure API hangs [#3927](https://github.com/paritytech/parity/pull/3927) -- Parity_chainStatus RPC for block gap info [#3899](https://github.com/paritytech/parity/pull/3899) -- Custom attribute for binary serialization [#3922](https://github.com/paritytech/parity/pull/3922) -- Split intermediate stage into two. [#3926](https://github.com/paritytech/parity/pull/3926) -- Move release-registering to intermediate stage. [#3920](https://github.com/paritytech/parity/pull/3920) -- Blocktime format rounding [#3894](https://github.com/paritytech/parity/pull/3894) -- Ignore dapps_policy.json [#3919](https://github.com/paritytech/parity/pull/3919) -- Fixing Contract Development [#3912](https://github.com/paritytech/parity/pull/3912) -- Use rhash for non-native CI platforms and submit build. [#3911](https://github.com/paritytech/parity/pull/3911) -- Remove -Zorbit=off from rustflags on windows [#3907](https://github.com/paritytech/parity/pull/3907) -- Fixed upgrading keys on the first run [#3904](https://github.com/paritytech/parity/pull/3904) -- Fix deadlock in queue drop [#3903](https://github.com/paritytech/parity/pull/3903) -- Require only simpler methods on Provider [#3897](https://github.com/paritytech/parity/pull/3897) -- Fix grammar ("you try" -> "you tried" + article) [#3902](https://github.com/paritytech/parity/pull/3902) -- Remove light server capability temporarily [#3872](https://github.com/paritytech/parity/pull/3872) -- Allow retry for future blocks [#3896](https://github.com/paritytech/parity/pull/3896) -- Consistent engine and seal names [#3895](https://github.com/paritytech/parity/pull/3895) -- Update email certification ABI [#3893](https://github.com/paritytech/parity/pull/3893) -- Remove existence & length checks on passwords & phrases [#3854](https://github.com/paritytech/parity/pull/3854) -- Refresh certifications automatically [#3878](https://github.com/paritytech/parity/pull/3878) -- Fix Wallet Settings Modal [#3856](https://github.com/paritytech/parity/pull/3856) -- Fix difficulty adjustment. [#3884](https://github.com/paritytech/parity/pull/3884) -- Final fixups for updater [#3883](https://github.com/paritytech/parity/pull/3883) -- Attempt to fix windows CI. [#3882](https://github.com/paritytech/parity/pull/3882) -- Fixing racy test [#3881](https://github.com/paritytech/parity/pull/3881) -- Fix updater permissions [#3880](https://github.com/paritytech/parity/pull/3880) -- Delayed transactions [#3865](https://github.com/paritytech/parity/pull/3865) -- Don't log auth token [#3853](https://github.com/paritytech/parity/pull/3853) -- Loading default config from default path [#3875](https://github.com/paritytech/parity/pull/3875) -- New paths [#3877](https://github.com/paritytech/parity/pull/3877) -- Update tests, gitlabci [#3876](https://github.com/paritytech/parity/pull/3876) -- Base directory option [#3868](https://github.com/paritytech/parity/pull/3868) -- Auto-updating [#3505](https://github.com/paritytech/parity/pull/3505) -- Fix naming collision [#3873](https://github.com/paritytech/parity/pull/3873) -- Get rid of unecessary redirection while fetching content [#3858](https://github.com/paritytech/parity/pull/3858) -- Fix verification stores [#3864](https://github.com/paritytech/parity/pull/3864) -- Store subscriptionId, align with main subscription model [#3863](https://github.com/paritytech/parity/pull/3863) -- Additional RPCs for dapps accounts management [#3792](https://github.com/paritytech/parity/pull/3792) -- Add Ws Json rpc client and command line utils (take 2) [#3830](https://github.com/paritytech/parity/pull/3830) -- Fix typo in method call (broken contract interface) [#3862](https://github.com/paritytech/parity/pull/3862) -- Fix flaky test [#3860](https://github.com/paritytech/parity/pull/3860) -- Converting traces API to AutoArgs [#3844](https://github.com/paritytech/parity/pull/3844) -- Get certifications from BadgeReg, show them in accounts overview [#3768](https://github.com/paritytech/parity/pull/3768) -- New directory structure [#3828](https://github.com/paritytech/parity/pull/3828) -- First run: skip account creation if they already have accounts [#3827](https://github.com/paritytech/parity/pull/3827) -- Tendermint seal [#3857](https://github.com/paritytech/parity/pull/3857) -- Tendermint Engine [#3759](https://github.com/paritytech/parity/pull/3759) -- Expand lint to catch css issues [#3852](https://github.com/paritytech/parity/pull/3852) -- Inject exports both partiy & web3 [#3851](https://github.com/paritytech/parity/pull/3851) -- Let Webpack talk again [#3848](https://github.com/paritytech/parity/pull/3848) -- AuthorityRound seal and simplify Generic seal Spec [#3843](https://github.com/paritytech/parity/pull/3843) -- Signing transactions with rotating token [#3691](https://github.com/paritytech/parity/pull/3691) -- Bump dev chain [#3835](https://github.com/paritytech/parity/pull/3835) -- Spelling [#3839](https://github.com/paritytech/parity/pull/3839) -- Email verification [#3766](https://github.com/paritytech/parity/pull/3766) -- Network configuration for Ethereum Classic [#3812](https://github.com/paritytech/parity/pull/3812) -- Using jsonrpc-macros [#3831](https://github.com/paritytech/parity/pull/3831) -- Fixed bool dropdown in contract execution [#3823](https://github.com/paritytech/parity/pull/3823) -- Avoid broadcasting transactions to peers that send them [#3796](https://github.com/paritytech/parity/pull/3796) -- Eth_sign RPC now hashes given data instead of getting the hash [#3800](https://github.com/paritytech/parity/pull/3800) -- Add store for MethodDecoding [#3821](https://github.com/paritytech/parity/pull/3821) -- Add store for AddAddress [#3819](https://github.com/paritytech/parity/pull/3819) -- Fix React-Router in i18n locale change [#3815](https://github.com/paritytech/parity/pull/3815) -- Cache fetched Dapps [#3804](https://github.com/paritytech/parity/pull/3804) -- Authors & homepage => Parity [#3818](https://github.com/paritytech/parity/pull/3818) -- Rename Ethcore -> Parity Technologies [#3817](https://github.com/paritytech/parity/pull/3817) -- Allow editing of gasPrice & gas in Signer [#3777](https://github.com/paritytech/parity/pull/3777) -- I18n string dictionaries [#3532](https://github.com/paritytech/parity/pull/3532) -- Fix padding in App [#3813](https://github.com/paritytech/parity/pull/3813) -- Light server improvements and protocol adjustments [#3801](https://github.com/paritytech/parity/pull/3801) -- Tolerate errors in user_defaults [#3810](https://github.com/paritytech/parity/pull/3810) -- Block: enforce gas limit falls within engine bounds [#3809](https://github.com/paritytech/parity/pull/3809) -- Target Babel to latest Chrome Versions in dev [#3806](https://github.com/paritytech/parity/pull/3806) -- Lowercase npm packages [#3807](https://github.com/paritytech/parity/pull/3807) -- Extended publishing of libraries to npm [#3786](https://github.com/paritytech/parity/pull/3786) -- Several Fixes to the UI [#3799](https://github.com/paritytech/parity/pull/3799) -- Remove "s [#3805](https://github.com/paritytech/parity/pull/3805) -- Extract CSS to file in production builds [#3783](https://github.com/paritytech/parity/pull/3783) -- Notify user on transaction received [#3782](https://github.com/paritytech/parity/pull/3782) -- Removing all old entries from transaction queue [#3772](https://github.com/paritytech/parity/pull/3772) -- Status page updates [#3774](https://github.com/paritytech/parity/pull/3774) -- Allow modifications of gas when confirming in signer [#3798](https://github.com/paritytech/parity/pull/3798) -- Network connectivity fixes [#3794](https://github.com/paritytech/parity/pull/3794) -- Make *ID names consistent with std Rust (Id) [#3781](https://github.com/paritytech/parity/pull/3781) -- Update CI builds [#3780](https://github.com/paritytech/parity/pull/3780) -- Update AuthorityRound tests to new spec [#3790](https://github.com/paritytech/parity/pull/3790) -- Fixes to the Wallet UI [#3787](https://github.com/paritytech/parity/pull/3787) -- Add support for wallets without getOwner() interface [#3779](https://github.com/paritytech/parity/pull/3779) -- Update Material-UI [#3785](https://github.com/paritytech/parity/pull/3785) -- Fixes error in Transfer modal [#3788](https://github.com/paritytech/parity/pull/3788) -- LES Part 3: Event handlers and handling responses [#3755](https://github.com/paritytech/parity/pull/3755) -- Basic UI rendering tests [#3743](https://github.com/paritytech/parity/pull/3743) -- Network: process packets only after connection handler finishes [#3776](https://github.com/paritytech/parity/pull/3776) -- AuthorityRound network simulation test [#3778](https://github.com/paritytech/parity/pull/3778) -- GasPrice selection for contract execution [#3770](https://github.com/paritytech/parity/pull/3770) -- Reject existing transactions [#3762](https://github.com/paritytech/parity/pull/3762) -- Allow autoRemove from api.subscribe based on callback return values [#3752](https://github.com/paritytech/parity/pull/3752) -- Replace misplaced & with && in gitlab-ci.yml [#3753](https://github.com/paritytech/parity/pull/3753) -- Lower gas usage for creating a Multisig Wallet [#3773](https://github.com/paritytech/parity/pull/3773) -- Added IO service explicit stop [#3761](https://github.com/paritytech/parity/pull/3761) -- Be lenient around invalid owners map [#3764](https://github.com/paritytech/parity/pull/3764) -- GasEditor component [#3750](https://github.com/paritytech/parity/pull/3750) -- Cleanups [#3742](https://github.com/paritytech/parity/pull/3742) -- Update babel, fix CI build due to breaking changes [#3754](https://github.com/paritytech/parity/pull/3754) -- Small fixes to contract [#3751](https://github.com/paritytech/parity/pull/3751) -- Make engine hold AccountProvider [#3725](https://github.com/paritytech/parity/pull/3725) -- Properly delete addresses/contracts in addressbook [#3739](https://github.com/paritytech/parity/pull/3739) -- Display Wallet Owners Icons in Accounts list [#3741](https://github.com/paritytech/parity/pull/3741) -- Edit Multisig Wallet settings [#3740](https://github.com/paritytech/parity/pull/3740) -- Replace build directory completely [#3748](https://github.com/paritytech/parity/pull/3748) -- Add existing release files before merge [#3747](https://github.com/paritytech/parity/pull/3747) -- Release script back to using fetch/merge [#3746](https://github.com/paritytech/parity/pull/3746) -- Update with -X only for merge [#3745](https://github.com/paritytech/parity/pull/3745) -- Give accounts precedence over address_book entries [#3732](https://github.com/paritytech/parity/pull/3732) -- Enable Panic=abort [#3423](https://github.com/paritytech/parity/pull/3423) -- Cleanups on js-precompiled [#3738](https://github.com/paritytech/parity/pull/3738) -- Add parity_removeAddress RPC [#3735](https://github.com/paritytech/parity/pull/3735) -- Fix up the transaction JSON serialisation for RPC. [#3633](https://github.com/paritytech/parity/pull/3633) -- Queue: CLI for auto-scaling and num verifiers [#3709](https://github.com/paritytech/parity/pull/3709) -- Add functionalities to multi-sig wallet [#3729](https://github.com/paritytech/parity/pull/3729) -- PropTypes as function call [#3731](https://github.com/paritytech/parity/pull/3731) -- Unify proptypes in util/proptypes.js [#3728](https://github.com/paritytech/parity/pull/3728) -- Bump jsonrpc-ipc-server to fix windows build [#3730](https://github.com/paritytech/parity/pull/3730) -- LES Part 2 [#3527](https://github.com/paritytech/parity/pull/3527) -- First draft of the MultiSig Wallet [#3700](https://github.com/paritytech/parity/pull/3700) -- Engine block ordering [#3719](https://github.com/paritytech/parity/pull/3719) -- Use fdlimit utility crate from crates.io [#3716](https://github.com/paritytech/parity/pull/3716) -- Move decoding for contract deployment logic earlier [#3714](https://github.com/paritytech/parity/pull/3714) -- Possible fix for queue drop deadlock [#3702](https://github.com/paritytech/parity/pull/3702) -- Encode networkid as a u64. [#3713](https://github.com/paritytech/parity/pull/3713) -- Use valid RLP in generic genesis seal spec [#3717](https://github.com/paritytech/parity/pull/3717) -- Update JS dependencies [#3710](https://github.com/paritytech/parity/pull/3710) -- Use Webpack Aliases [#3711](https://github.com/paritytech/parity/pull/3711) -- Dapps-specific accounts [#3627](https://github.com/paritytech/parity/pull/3627) -- Signer method parameter decoding & destination info [#3671](https://github.com/paritytech/parity/pull/3671) -- Remove invalid slice test [#3712](https://github.com/paritytech/parity/pull/3712) -- React library update [#3704](https://github.com/paritytech/parity/pull/3704) -- New Loading Component for the UI [#3707](https://github.com/paritytech/parity/pull/3707) -- Refactoring Transfer Modal [#3705](https://github.com/paritytech/parity/pull/3705) -- Fix extra scrollbars in dapps [#3706](https://github.com/paritytech/parity/pull/3706) -- Indent state tests [#3431](https://github.com/paritytech/parity/pull/3431) -- Filter null transactions for display (not available on node) [#3698](https://github.com/paritytech/parity/pull/3698) -- Move recovery phrase print button [#3697](https://github.com/paritytech/parity/pull/3697) -- Fix padding bottom needed after fixed status [#3701](https://github.com/paritytech/parity/pull/3701) -- Don't share the snapshot while downloading old blocks [#3695](https://github.com/paritytech/parity/pull/3695) -- Button to print recovery phrase [#3694](https://github.com/paritytech/parity/pull/3694) -- Fix status bar to bottom of the screen [#3692](https://github.com/paritytech/parity/pull/3692) -- Splitting serialization of signTransaction and sendTransaction confirmation requests [#3642](https://github.com/paritytech/parity/pull/3642) -- Implement basic badges/certifications/flair [#3665](https://github.com/paritytech/parity/pull/3665) -- Simplify Container title rendering [#3680](https://github.com/paritytech/parity/pull/3680) -- Update loading splash to fit in with l&f [#3685](https://github.com/paritytech/parity/pull/3685) -- Safari UI fixes [#3678](https://github.com/paritytech/parity/pull/3678) -- Remove strict mode for DappReg (work-around for package upgrade) [#3681](https://github.com/paritytech/parity/pull/3681) -- Bumping clippy [#3654](https://github.com/paritytech/parity/pull/3654) -- Return of the Fat DB [#3636](https://github.com/paritytech/parity/pull/3636) -- Invalidate blocks from future [#3652](https://github.com/paritytech/parity/pull/3652) -- Make Modal always scrollable [#3667](https://github.com/paritytech/parity/pull/3667) -- Display local/completed transactions [#3630](https://github.com/paritytech/parity/pull/3630) -- Added build-essential dep to dockerfiles [#3666](https://github.com/paritytech/parity/pull/3666) -- Strict config parsing (uknown keys are rejected) [#3663](https://github.com/paritytech/parity/pull/3663) -- Strict deserialization [#3662](https://github.com/paritytech/parity/pull/3662) -- Disable peer if no common block found [#3655](https://github.com/paritytech/parity/pull/3655) -- Show snackbar on password change [#3661](https://github.com/paritytech/parity/pull/3661) -- Bring back PV62 support [#3660](https://github.com/paritytech/parity/pull/3660) -- Unlock expecting quantity [#3659](https://github.com/paritytech/parity/pull/3659) -- Update Webpack => v2 [#3643](https://github.com/paritytech/parity/pull/3643) -- Update SMS verification [#3579](https://github.com/paritytech/parity/pull/3579) -- Simplify tx confirmations display [#3559](https://github.com/paritytech/parity/pull/3559) -- Fixes overflow in Signer tx data [#3657](https://github.com/paritytech/parity/pull/3657) -- Fixed tab bar not updating [#3653](https://github.com/paritytech/parity/pull/3653) -- Set default min tx price to $0.0025 [#3617](https://github.com/paritytech/parity/pull/3617) -- Use accountsInfo instead of eth_accounts for first check [#3618](https://github.com/paritytech/parity/pull/3618) -- Fix Copy to Clipboard Snackbar [#3619](https://github.com/paritytech/parity/pull/3619) -- Manually add \r to Windows phrases pre 1.4.5 [#3615](https://github.com/paritytech/parity/pull/3615) -- Signer layouts to flexbox [#3600](https://github.com/paritytech/parity/pull/3600) -- Fixing wrong tokens type in Redux store [#3621](https://github.com/paritytech/parity/pull/3621) -- Add dappreg link to apps list [#3568](https://github.com/paritytech/parity/pull/3568) -- Smarter balance fetching [#3605](https://github.com/paritytech/parity/pull/3605) -- Dapp iframe allow forms, allow target=_blank [#3597](https://github.com/paritytech/parity/pull/3597) -- Align copy button to input field [#3604](https://github.com/paritytech/parity/pull/3604) -- Appending logs by default [#3609](https://github.com/paritytech/parity/pull/3609) -- Update test, fix number. [#3612](https://github.com/paritytech/parity/pull/3612) -- Fixing phrases generated on windows [#3614](https://github.com/paritytech/parity/pull/3614) -- Check for network ID for live/test matching [#3602](https://github.com/paritytech/parity/pull/3602) -- Always insert traces for genesis. [#3603](https://github.com/paritytech/parity/pull/3603) -- Real deleting accounts [#3540](https://github.com/paritytech/parity/pull/3540) -- Trim whitespace from input recovery phrase [#3599](https://github.com/paritytech/parity/pull/3599) -- Fix local tx requests [#3589](https://github.com/paritytech/parity/pull/3589) -- Fix CPU usage when idle [#3592](https://github.com/paritytech/parity/pull/3592) -- Don't fetch balances on every new block if syncing [#3591](https://github.com/paritytech/parity/pull/3591) -- Work around WS in UI [#3587](https://github.com/paritytech/parity/pull/3587) -- CLI option to disable ancient block downloading [#3573](https://github.com/paritytech/parity/pull/3573) -- Move Signer balance queries to store for component-wide re-use [#3531](https://github.com/paritytech/parity/pull/3531) -- Fix wrong method name in `contract.js` [#3580](https://github.com/paritytech/parity/pull/3580) -- Smarter Tokens fetching [#3546](https://github.com/paritytech/parity/pull/3546) -- Fix panic on importing own invalid transaction [#3550](https://github.com/paritytech/parity/pull/3550) -- Use an adaptive number of threads in the verification queue [#2445](https://github.com/paritytech/parity/pull/2445) -- Faster UI - React Tweaks [#3555](https://github.com/paritytech/parity/pull/3555) -- Send value & contract execute gas limit warnings [#3512](https://github.com/paritytech/parity/pull/3512) -- Add TxQueue visibility specifier (not added between merges) [#3566](https://github.com/paritytech/parity/pull/3566) -- DappRegistry [#3405](https://github.com/paritytech/parity/pull/3405) -- Import account message [#3552](https://github.com/paritytech/parity/pull/3552) -- --testnet set to ropsten [#3551](https://github.com/paritytech/parity/pull/3551) -- Fix flaky test [#3547](https://github.com/paritytech/parity/pull/3547) -- Sms verification code style [#3564](https://github.com/paritytech/parity/pull/3564) -- [Registry] Clear input and working buttons [#3563](https://github.com/paritytech/parity/pull/3563) -- Fix peers not displaying [#3561](https://github.com/paritytech/parity/pull/3561) -- New registry contract address for ropsten [#3549](https://github.com/paritytech/parity/pull/3549) -- Use contract Registry fee, not a hard-coded value [#3554](https://github.com/paritytech/parity/pull/3554) -- Don't query chain in Signer, use Redux isTest [#3524](https://github.com/paritytech/parity/pull/3524) -- Moving fetching of hash-addressed dapps/content to separate crate. [#3543](https://github.com/paritytech/parity/pull/3543) -- Ropsten network [#3539](https://github.com/paritytech/parity/pull/3539) -- Add simple one-line installer to README.md [#3534](https://github.com/paritytech/parity/pull/3534) -- Propagations & local transactions tracking [#3491](https://github.com/paritytech/parity/pull/3491) -- Correct format of eth_signTransaction [#3503](https://github.com/paritytech/parity/pull/3503) -- ABI can be empty and auto-fill contract name [#3518](https://github.com/paritytech/parity/pull/3518) -- Fix versions for NPM [#3516](https://github.com/paritytech/parity/pull/3516) -- Better GHH event display & tracking [#3498](https://github.com/paritytech/parity/pull/3498) -- Dapp section & visibility changes [#3438](https://github.com/paritytech/parity/pull/3438) -- Fix parity.js badly built [#3526](https://github.com/paritytech/parity/pull/3526) -- Updated the european warp bootnode addresses [#3528](https://github.com/paritytech/parity/pull/3528) -- Limit sync reorg to 20 blocks [#3519](https://github.com/paritytech/parity/pull/3519) -- Revert "Limit sync reorganization to 20 blocks" [#3517](https://github.com/paritytech/parity/pull/3517) -- Check transaction signature when adding to the queue [#3508](https://github.com/paritytech/parity/pull/3508) -- Limit sync reorganization to 20 blocks [#3509](https://github.com/paritytech/parity/pull/3509) -- Keep track of block gasLimit [#3506](https://github.com/paritytech/parity/pull/3506) -- Smarter Status Polling [#3504](https://github.com/paritytech/parity/pull/3504) -- Handle solc combined output [#3496](https://github.com/paritytech/parity/pull/3496) -- Wallet names shouldn't use UUID [#3481](https://github.com/paritytech/parity/pull/3481) -- Make parity.js usable by Node and Browser [#3475](https://github.com/paritytech/parity/pull/3475) -- Sms verification modal [#3336](https://github.com/paritytech/parity/pull/3336) -- Sudo -c is not supported on Mac [#3488](https://github.com/paritytech/parity/pull/3488) -- Add trace_{call, rawTransaction, replayTransaction} [#3492](https://github.com/paritytech/parity/pull/3492) -- Check for possible panics in scrypt key derivation [#3490](https://github.com/paritytech/parity/pull/3490) -- Sync traffic optimization [#3477](https://github.com/paritytech/parity/pull/3477) -- Wallet files shouldn't give away the address [#3378](https://github.com/paritytech/parity/pull/3378) -- Fixing tests, fixing refreshing precompiled [#3483](https://github.com/paritytech/parity/pull/3483) -- Better Errors Snackbar in UI [#3478](https://github.com/paritytech/parity/pull/3478) -- Handle Signer Rejection [#3476](https://github.com/paritytech/parity/pull/3476) -- Enhanced MethodDecoding in Transactions list [#3454](https://github.com/paritytech/parity/pull/3454) -- Signer new-token generates a link and opens browser [#3379](https://github.com/paritytech/parity/pull/3379) -- Make tokenreg dapp fast again [#3474](https://github.com/paritytech/parity/pull/3474) -- Build fix [#3470](https://github.com/paritytech/parity/pull/3470) -- Display deployed Basic token addresses [#3447](https://github.com/paritytech/parity/pull/3447) -- Export accounts as JSON or CSV [#2866](https://github.com/paritytech/parity/pull/2866) -- Set HF2 block number [#3466](https://github.com/paritytech/parity/pull/3466) -- Better word list for secret phrase generation [#3461](https://github.com/paritytech/parity/pull/3461) -- Drop spec when no longer useful [#3460](https://github.com/paritytech/parity/pull/3460) -- Add fallback check in ABI validation [#3459](https://github.com/paritytech/parity/pull/3459) -- Save sort order in LocalStorage [#3457](https://github.com/paritytech/parity/pull/3457) -- Adds onPaste event to Inputs [#3456](https://github.com/paritytech/parity/pull/3456) -- Update signer to take care of text overflows [#3450](https://github.com/paritytech/parity/pull/3450) -- Authority round consensus engine [#3426](https://github.com/paritytech/parity/pull/3426) -- Fix transfer token decimal calculation [#3445](https://github.com/paritytech/parity/pull/3445) -- Restrict max code size for EIP-150 and after. [#3363](https://github.com/paritytech/parity/pull/3363) -- Contract queries should display IdentityIcons [#3453](https://github.com/paritytech/parity/pull/3453) -- Use Babel in vendor when needed [#3451](https://github.com/paritytech/parity/pull/3451) -- Use signature of functions instead of names [#3448](https://github.com/paritytech/parity/pull/3448) -- Handle contract constructor inputs [#3430](https://github.com/paritytech/parity/pull/3430) -- Use Contract owner for unregistering Token [#3446](https://github.com/paritytech/parity/pull/3446) -- Create directories only if feature is enabled [#3442](https://github.com/paritytech/parity/pull/3442) -- Import AddresBook from exported JSON [#3433](https://github.com/paritytech/parity/pull/3433) -- Scrollable accounts in autocomplete [#3427](https://github.com/paritytech/parity/pull/3427) -- Bump ws-rs [#3428](https://github.com/paritytech/parity/pull/3428) -- Swap TokenReg dapp from base to decimals [#3425](https://github.com/paritytech/parity/pull/3425) -- Change beta builds to stable on Travis [#3421](https://github.com/paritytech/parity/pull/3421) -- Refactor copy to clipboard functionality [#3420](https://github.com/paritytech/parity/pull/3420) -- Dev chain [#3385](https://github.com/paritytech/parity/pull/3385) -- Fetch known code from the database during restoration [#3377](https://github.com/paritytech/parity/pull/3377) -- Fixing benches [#3422](https://github.com/paritytech/parity/pull/3422) -- Fix chainspec storage field. [#3406](https://github.com/paritytech/parity/pull/3406) -- Abort snapshot restoration faster [#3356](https://github.com/paritytech/parity/pull/3356) -- Remove addresses, display non-refundable warning on registries [#3403](https://github.com/paritytech/parity/pull/3403) -- Don't auto-unsubscribe when subscriber callback throws [#3401](https://github.com/paritytech/parity/pull/3401) -- Fix dapp account selection [#3399](https://github.com/paritytech/parity/pull/3399) -- Fix travis build: remove unused import [#3381](https://github.com/paritytech/parity/pull/3381) -- Optimize memory footprint [#3376](https://github.com/paritytech/parity/pull/3376) -- Fixing parsing passwords from file [#3367](https://github.com/paritytech/parity/pull/3367) -- Remove some unwraps from parity/helpers [#3364](https://github.com/paritytech/parity/pull/3364) -- Load external, builtin & local apps in parallel [#3340](https://github.com/paritytech/parity/pull/3340) -- Solidity Compiler in UI [#3279](https://github.com/paritytech/parity/pull/3279) -- Determine real-time HTTP connected status [#3335](https://github.com/paritytech/parity/pull/3335) -- Clarify error message about disabled Signer [#3359](https://github.com/paritytech/parity/pull/3359) -- Cater for home.parity hostname in dappsUrl [#3341](https://github.com/paritytech/parity/pull/3341) -- Make sure Token is ECR20 [#3347](https://github.com/paritytech/parity/pull/3347) -- [TokenReg dApp] Fixed Unregister for Contract Owner only [#3346](https://github.com/paritytech/parity/pull/3346) -- LES Part 1 [#3322](https://github.com/paritytech/parity/pull/3322) -- Make transactions load [#3348](https://github.com/paritytech/parity/pull/3348) -- Manual bump package.json [#3345](https://github.com/paritytech/parity/pull/3345) -- Windows app and installer fixes [#3338](https://github.com/paritytech/parity/pull/3338) -- Fix JS API test [#3342](https://github.com/paritytech/parity/pull/3342) -- Git pre-push checks for UI [#3072](https://github.com/paritytech/parity/pull/3072) -- Disarm the HF and add more bootnodes [#3323](https://github.com/paritytech/parity/pull/3323) -- Default contract type on UI [#3310](https://github.com/paritytech/parity/pull/3310) -- In-browser signing support [#3231](https://github.com/paritytech/parity/pull/3231) -- Handle redirects from /api/content on manifest.json gracefully [#3315](https://github.com/paritytech/parity/pull/3315) -- Dapps interface RPC [#3311](https://github.com/paritytech/parity/pull/3311) -- Additional snapshot sync checks [#3318](https://github.com/paritytech/parity/pull/3318) -- Fix spurious signer tests failures [#3312](https://github.com/paritytech/parity/pull/3312) -- Fix signer token updates [#3302](https://github.com/paritytech/parity/pull/3302) -- Update account recovery phrase hint [#3316](https://github.com/paritytech/parity/pull/3316) -- New transaction tests [#3313](https://github.com/paritytech/parity/pull/3313) -- Remove 127.0.0.1 references [#3303](https://github.com/paritytech/parity/pull/3303) -- Fix for opening UI after installation on mac [#3300](https://github.com/paritytech/parity/pull/3300) -- Fixed uncle query [#3299](https://github.com/paritytech/parity/pull/3299) -- Updated blance display with max decimals [#3266](https://github.com/paritytech/parity/pull/3266) -- Refactoring Signer to auto_args + eth_signTransaction [#3261](https://github.com/paritytech/parity/pull/3261) -- Fix typo [#3298](https://github.com/paritytech/parity/pull/3298) -- Change to more common focused spelling [#3264](https://github.com/paritytech/parity/pull/3264) -- Manual bump of package.json (recovery) [#3295](https://github.com/paritytech/parity/pull/3295) -- Fix initial token generation [#3289](https://github.com/paritytech/parity/pull/3289) -- Fixed IO service shutdown [#3286](https://github.com/paritytech/parity/pull/3286) -- Autostart setting for windows tray app [#3269](https://github.com/paritytech/parity/pull/3269) -- Fixes for 1.4 [#3260](https://github.com/paritytech/parity/pull/3260) -- Build tray app for x64 [#3255](https://github.com/paritytech/parity/pull/3255) -- Add secure flag back [#3244](https://github.com/paritytech/parity/pull/3244) -- Verify chunk hashes in cli restore [#3241](https://github.com/paritytech/parity/pull/3241) -- Load network apps manifests as contentHash (no coding) [#3235](https://github.com/paritytech/parity/pull/3235) -- Fixed some typos [#3236](https://github.com/paritytech/parity/pull/3236) -- Rename cli and config options signer->ui [#3232](https://github.com/paritytech/parity/pull/3232) -- Add store for dapps state [#3211](https://github.com/paritytech/parity/pull/3211) -- Fix first-time tagging of contracts [#3222](https://github.com/paritytech/parity/pull/3222) -- Fix /parity-utils/{web3,parity}.js webpack errors [#3221](https://github.com/paritytech/parity/pull/3221) -- Improve 'invalid raw key' error msg [#3219](https://github.com/paritytech/parity/pull/3219) -- Cleaning up polluted namespaces [#3143](https://github.com/paritytech/parity/pull/3143) -- Set passive mode for first run only [#3214](https://github.com/paritytech/parity/pull/3214) -- Parity configuration settings, i.e. mode [#3212](https://github.com/paritytech/parity/pull/3212) -- Ethash unsafety cleanup [#3210](https://github.com/paritytech/parity/pull/3210) -- Mode improvements for UI [#3109](https://github.com/paritytech/parity/pull/3109) -- Delay bomb for Classic (ECIP-1010) [#3179](https://github.com/paritytech/parity/pull/3179) -- Use ethcore_dappsPort when constructing URLs [#3139](https://github.com/paritytech/parity/pull/3139) -- Add copy address button to Contract deploy [#3199](https://github.com/paritytech/parity/pull/3199) -- Expose Parity api as window.secureApi [#3207](https://github.com/paritytech/parity/pull/3207) -- Add error for sendRawTransaction and estimateGas [#3194](https://github.com/paritytech/parity/pull/3194) -- Exposing engine extra info in block RPC [#3169](https://github.com/paritytech/parity/pull/3169) -- V1.5 [#3195](https://github.com/paritytech/parity/pull/3195) -- Remove dapp logos (GHH points to dapp-assets) [#3192](https://github.com/paritytech/parity/pull/3192) -- Fixing possible race in ethcore_hashContent [#3191](https://github.com/paritytech/parity/pull/3191) -- Bump package.json version (1.5 is master) [#3193](https://github.com/paritytech/parity/pull/3193) - -## Parity [v1.4.10](https://github.com/paritytech/parity/releases/tag/v1.4.10) (2017-01-18) - -Parity 1.4.10 is a first stable release of 1.4.x series. It includes a few minor networking fixes. - -- Gas_limit for blocks, mined by Parity will be divisible by 37 (#4154) [#4179](https://github.com/paritytech/parity/pull/4179) - - gas_limit for new blocks will divide evenly by 13 - - increased PARITY_GAS_LIMIT_DETERMINANT to 37 - - separate method for marking mined block - - debug_asserts(gas_limit within protocol range) - - round_block_gas_limit method is now static - - made round_block_gas_limit free-function - - multiplier->multiple -- Backporing to 1.4.10-stable [#4110](https://github.com/paritytech/parity/pull/4110) - - Bump to v1.4.10 - - No reorg limit for ancient blocks - - Update registration after every write - -## Parity [v1.4.9](https://github.com/paritytech/parity/releases/tag/v1.4.9) (2017-01-09) - -This fixes an issue introduced in 1.4.8 that causes Parity to panic on propagating transactions in some cases. - -- v1.4.9 in beta [#4097](https://github.com/paritytech/parity/pull/4097) - - Bump to v1.4.9 - - Disable armv6 build -- beta Fix queue deadlock [#4095](https://github.com/paritytech/parity/pull/4095) -- Fix rebroadcast panic beta [#4085](https://github.com/paritytech/parity/pull/4085) - - fix compile - - fix backport - - clean up old method - - remove unnecessary reference - - simplify - - Fixing 'simplify' - -## Parity [v1.4.8](https://github.com/paritytech/parity/releases/tag/v1.4.8) (2017-01-06) - -Ethereum Classic Hard Fork ready release containing various bugfixes: - -- Fix for excessive transactions propagation -- Fix for inconsistent `logIndex` in transaction receipts - -See [full list of changes](https://github.com/paritytech/parity/compare/v1.4.7...v1.4.8): - -- Beta backports [#4067](https://github.com/paritytech/parity/pull/4067) -- Re-broadcast transactions to few random peers on each new block. (#4054) [#4061](https://github.com/paritytech/parity/pull/4061) -- Tolerate errors in user_defaults [#4060](https://github.com/paritytech/parity/pull/4060) -- ETC Config change backport [#4056](https://github.com/paritytech/parity/pull/4056) -- [beta] Avoid re-broadcasting transactions on each block [#4047](https://github.com/paritytech/parity/pull/4047) -- Beta Backports [#4012](https://github.com/paritytech/parity/pull/4012) - -## Parity [v1.4.7](https://github.com/paritytech/parity/releases/tag/v1.4.7) (2016-12-27) - -This maintenance release fixes an issue with sync falling behind occasionally. - -- Backporting to beta [#3980](https://github.com/paritytech/parity/pull/3980) -- [beta] enforce gas limit falls within engine bounds [#3816](https://github.com/paritytech/parity/pull/3816) - - -## Parity [v1.3.15](https://github.com/paritytech/parity/releases/tag/v1.3.15) (2016-12-10) - -This patch release fixes an issue with syncing on the Ropsten test network. - -- Backporting to stable [#3793](https://github.com/paritytech/parity/pull/3793) - -## Parity [v1.4.6](https://github.com/paritytech/parity/releases/tag/v1.4.6) (2016-12-05) - -This patch release fixes an issue with syncing on the Ropsten test network. - -- Backporting to beta [#3718](https://github.com/paritytech/parity/pull/3718) -- [beta] scrollable contract deploy & execute modals [#3656](https://github.com/paritytech/parity/pull/3656) - -## Parity [v1.4.5](https://github.com/paritytech/parity/releases/tag/v1.4.5) (2016-11-26) - -1.4.5 release fixes a number of issues, notably: -- High CPU usage when idle. -- Key recovery phrases generated on windows now can be imported. - -#### Configuration changes -- `--usd-per-tx` is now set to 0.0025 by default. - -#### New features -- Support for Ropsten test network is introduced with `--chain=ropsten` or `--testnet`. Morden network is still available via `--chain=morden` - -#### Full changes -- [beta] Pin package versions for React [#3628](https://github.com/paritytech/parity/pull/3628) -- Backporting to beta [#3623](https://github.com/paritytech/parity/pull/3623) -- [beta] Ropsten chain for UI [#3622](https://github.com/paritytech/parity/pull/3622) - -## Parity [v1.3.14](https://github.com/paritytech/parity/releases/tag/v1.3.14) (2016-11-25) - -Parity 1.3.14 fixes a few stability issues and adds support for the Ropsten testnet. - -- Backporting to stable [#3616](https://github.com/paritytech/parity/pull/3616) - -## Parity [v1.4.4](https://github.com/paritytech/parity/releases/tag/v1.4.4) (2016-11-18) - -This is a maintenance release that fixes an issue with EIP-155 transactions being added to the transaction pool. It also improves syncing stability and resolved a number of UI issues. -Full changelog is available [here.](https://github.com/paritytech/parity/commit/3e0d033eaf789cfdf517f4a97effc500f1f9263b) - -- [beta] apps typo fix [#3533](https://github.com/paritytech/parity/pull/3533) -- Backporting to beta [#3525](https://github.com/paritytech/parity/pull/3525) - -## Parity [v1.3.13](https://github.com/paritytech/parity/releases/tag/v1.3.13) (2016-11-18) - -This release fixes an issue with EIP-155 transactions being allowed into the transaction pool. - -- [stable] Check tx signatures before adding to the queue. [#3521](https://github.com/paritytech/parity/pull/3521) -- Fix Stable Docker Build [#3479](https://github.com/paritytech/parity/pull/3479) - -## Parity [v1.4.3](https://github.com/paritytech/parity/releases/tag/v1.4.3) (2016-11-16) - -This release includes memory footprint optimization as well as a few fixes in the UI. -EIP-155/160/161/170 hardfork is enabled at block 2675000 (1885000 for test network). -Full changelog is available [here.](https://github.com/paritytech/parity/compare/v1.4.2...v1.4.3) - -- [beta] EIP-170 [#3464](https://github.com/paritytech/parity/pull/3464) -- Backports to beta [#3465](https://github.com/paritytech/parity/pull/3465) -- Backport: additional fields on transaction and receipt [#3463](https://github.com/paritytech/parity/pull/3463) -- v1.4.3 in beta [#3424](https://github.com/paritytech/parity/pull/3424) - - -## Parity [v1.3.12](https://github.com/paritytech/parity/releases/tag/v1.3.12) (2016-11-16) - -This stable release enables EIP-155/160/161/170 hardfork at block 2675000 (1885000 for test network). - -- [stable] EIP-170 [#3462](https://github.com/paritytech/parity/pull/3462) -- #3035 Backport to stable [#3441](https://github.com/paritytech/parity/pull/3441) - -## Parity [v1.3.11](https://github.com/paritytech/parity/releases/tag/v1.3.11) (2016-11-11) - -This is a maintenance release for the stable series to delay the EIP-155/160/161 hard fork transition. **Update from 1.3.10 is mandatory**. It also deprecates and disables the old Parity UI. - -- [stable] Disable HF and UI [#3372](https://github.com/paritytech/parity/pull/3372) -- [stable] EIP-155 update with Vitalik's new test vectors (#3166) [#3190](https://github.com/paritytech/parity/pull/3190) -- Backport EIP-150 to stable [#2672](https://github.com/paritytech/parity/pull/2672) -- Create gitlab-ci.yml for stable [#2517](https://github.com/paritytech/parity/pull/2517) - -## Parity [v1.4.2](https://github.com/paritytech/parity/releases/tag/v1.4.2) (2016-11-10) - -This release fixes a few additional issues: -- Parity now correctly handles external `--dapps-interface` and `--ui-interface` in the UI. -- Crash in `eth_getUncle*` has been fixed. -- macOS installer now includes an uninstall script. -- Security token input UI has been fixed. -- Correct display for tokens with minimum decimals. - -And some additional minor changes. Full changelog is [available](https://github.com/paritytech/parity/compare/v1.4.1...v1.4.2) -- Backporting to beta [#3344](https://github.com/paritytech/parity/pull/3344) -- Backporting to beta [#3324](https://github.com/paritytech/parity/pull/3324) - -## Parity [v1.4.1](https://github.com/paritytech/parity/releases/tag/v1.4.1) (2016-11-09) - -This is a hotfix release to address a couple of issues with 1.4.0: - -- UI token is requested instead of being supplied automatically. -- Running with `--geth` results in an error. - -- Backporting to beta [#3293](https://github.com/paritytech/parity/pull/3293) - -## Parity [v1.4.0](https://github.com/paritytech/parity/releases/tag/v1.4.0) (2016-11-07) - -First beta release of the 1.4 series. - -This includes the new Parity Wallet and Warp-Sync synchronisation as well as several optimisations and fixes. - -- Add secure flag back [#3246](https://github.com/paritytech/parity/pull/3246) -- [BETA] verify chunk hashes in cli restore [#3242](https://github.com/paritytech/parity/pull/3242) -- Backporting to beta [#3239](https://github.com/paritytech/parity/pull/3239) -- UI fixes backporting [#3234](https://github.com/paritytech/parity/pull/3234) -- Backporting to beta [#3229](https://github.com/paritytech/parity/pull/3229) -- Beta branch cleanup [#3226](https://github.com/paritytech/parity/pull/3226) -- [beta] Set passive mode for first run only (#3214) [#3216](https://github.com/paritytech/parity/pull/3216) -- Mode configuration backported to beta [#3213](https://github.com/paritytech/parity/pull/3213) -- Backporting [#3198](https://github.com/paritytech/parity/pull/3198) -- [beta] EIP-155 update with Vitalik's new test vectors (#3166) [#3189](https://github.com/paritytech/parity/pull/3189) -- Backporting to beta [#3176](https://github.com/paritytech/parity/pull/3176) -- parity-ui-precompiled pinned to beta [#3168](https://github.com/paritytech/parity/pull/3168) -- EIP-155 update with Vitalik's new test vectors [#3166](https://github.com/paritytech/parity/pull/3166) -- Push precompiled for beta/stable, npm only master [#3163](https://github.com/paritytech/parity/pull/3163) -- Back to real root after npm publish [#3178](https://github.com/paritytech/parity/pull/3178) -- Remove extra cd js [#3177](https://github.com/paritytech/parity/pull/3177) -- Fixes Gas price selection bug [#3175](https://github.com/paritytech/parity/pull/3175) -- Exposing state root and logsBloom in RPC receipts [#3174](https://github.com/paritytech/parity/pull/3174) -- Exposing v,r,s from transaction signature in RPC [#3172](https://github.com/paritytech/parity/pull/3172) -- Enabling personal RPC over IPC by default [#3165](https://github.com/paritytech/parity/pull/3165) -- Gitlab CI badge [#3164](https://github.com/paritytech/parity/pull/3164) -- Dependencies in README [#3162](https://github.com/paritytech/parity/pull/3162) -- Make the footer a bit less ugly. [#3160](https://github.com/paritytech/parity/pull/3160) -- Linux build case sensitivity fix [#3161](https://github.com/paritytech/parity/pull/3161) -- abbreviated enode, `CopyToClipboard` component [#3131](https://github.com/paritytech/parity/pull/3131) -- EIPs 155, 160, 161 [#2976](https://github.com/paritytech/parity/pull/2976) -- beta reset to 1.4.0 [#3157](https://github.com/paritytech/parity/pull/3157) -- Fix histogram [#3150](https://github.com/paritytech/parity/pull/3150) -- Remove network label from TabBar [#3142](https://github.com/paritytech/parity/pull/3142) -- Speed up unresponsive Contract events & Account transactions [#3145](https://github.com/paritytech/parity/pull/3145) -- Better windows shortcut [#3147](https://github.com/paritytech/parity/pull/3147) -- Redirect content to the same address as requested [#3133](https://github.com/paritytech/parity/pull/3133) -- Fixed peer ping timeout [#3137](https://github.com/paritytech/parity/pull/3137) -- Fix for windows build [#3125](https://github.com/paritytech/parity/pull/3125) -- Fix AddessInput icon position [#3132](https://github.com/paritytech/parity/pull/3132) -- Fixed not scrollable accounts in tokenreg dapp [#3128](https://github.com/paritytech/parity/pull/3128) -- Returning cache headers for network content [#3123](https://github.com/paritytech/parity/pull/3123) -- Optimise contract events display [#3120](https://github.com/paritytech/parity/pull/3120) -- Add basic validation for contract execute values [#3118](https://github.com/paritytech/parity/pull/3118) -- Dapps errors embeddable on signer [#3115](https://github.com/paritytech/parity/pull/3115) -- Use enode RPC in UI [#3108](https://github.com/paritytech/parity/pull/3108) -- Windows tray app [#3103](https://github.com/paritytech/parity/pull/3103) -- Displaying CLI errors on stderr [#3116](https://github.com/paritytech/parity/pull/3116) -- new InputAddressSelect component [#3071](https://github.com/paritytech/parity/pull/3071) -- Bump mio [#3117](https://github.com/paritytech/parity/pull/3117) -- Minor typo fixed. [#3110](https://github.com/paritytech/parity/pull/3110) -- Sort by ETH balance and contract by date [#3107](https://github.com/paritytech/parity/pull/3107) -- Add RPC enode lookup [#3096](https://github.com/paritytech/parity/pull/3096) -- Initializing logger for each command [#3090](https://github.com/paritytech/parity/pull/3090) -- Allow registration of content bundles in GitHubHint [#3094](https://github.com/paritytech/parity/pull/3094) -- Add read-only inputs to UI plus Copy to Clipboard buttons [#3095](https://github.com/paritytech/parity/pull/3095) -- Allow boolean dropdowns for contract deploy [#3077](https://github.com/paritytech/parity/pull/3077) -- Add mac installer files [#2995](https://github.com/paritytech/parity/pull/2995) -- Fixing dapps sorting [#3086](https://github.com/paritytech/parity/pull/3086) -- Add a Gitter chat badge to README.md [#3092](https://github.com/paritytech/parity/pull/3092) -- Fixes webpack HTML loader [#3089](https://github.com/paritytech/parity/pull/3089) -- Redirecting /home to new UI [#3084](https://github.com/paritytech/parity/pull/3084) -- Allow GitHubHint content owner to update url [#3083](https://github.com/paritytech/parity/pull/3083) -- Remove token assets (moved to ethcore/dapps-assets) [#3082](https://github.com/paritytech/parity/pull/3082) -- Goodbye Gavcoin, Hello Gavcoin [#3080](https://github.com/paritytech/parity/pull/3080) -- Load network dapps [#3078](https://github.com/paritytech/parity/pull/3078) -- Swap account phrase input to normal (non-multiline) [#3060](https://github.com/paritytech/parity/pull/3060) -- Fix minor typo in informant [#3056](https://github.com/paritytech/parity/pull/3056) -- Warp sync status display [#3045](https://github.com/paritytech/parity/pull/3045) -- Enhance address input [#3065](https://github.com/paritytech/parity/pull/3065) -- Go to Accounts Page if Tooltips are displayed [#3063](https://github.com/paritytech/parity/pull/3063) -- Change contract Execute bool values & query bool value display [#3024](https://github.com/paritytech/parity/pull/3024) -- Update Parity logo [#3036](https://github.com/paritytech/parity/pull/3036) -- settings: replace background patterns (inline) [#3047](https://github.com/paritytech/parity/pull/3047) -- Multiple line description for dapps [#3058](https://github.com/paritytech/parity/pull/3058) -- Fix status log order [#3062](https://github.com/paritytech/parity/pull/3062) -- Graphical gas price selection [#2898](https://github.com/paritytech/parity/pull/2898) -- [Registry dApp] Actions not available before selecting accounts [#3032](https://github.com/paritytech/parity/pull/3032) -- apply post-consolidation migrations after consolidating [#3020](https://github.com/paritytech/parity/pull/3020) -- fix chain badge padding [#3046](https://github.com/paritytech/parity/pull/3046) -- Don't delete Tags input on blur (eg. tab) [#3044](https://github.com/paritytech/parity/pull/3044) -- Fixing last hashes for ethcall [#3043](https://github.com/paritytech/parity/pull/3043) -- Remove signer icons [#3039](https://github.com/paritytech/parity/pull/3039) -- execute periodic snapshot in new thread [#3029](https://github.com/paritytech/parity/pull/3029) -- fix background of embedded signer [#3026](https://github.com/paritytech/parity/pull/3026) -- registry dapp: fix reducer [#3028](https://github.com/paritytech/parity/pull/3028) -- Replace Execute by Query in contract button [#3031](https://github.com/paritytech/parity/pull/3031) -- Fixing GavCoin dApp overflow issues [#3030](https://github.com/paritytech/parity/pull/3030) -- execute contract function: validate address [#3013](https://github.com/paritytech/parity/pull/3013) -- Align tag inputs with other input boxes [#2965](https://github.com/paritytech/parity/pull/2965) -- Sweep panickers from IO and network [#3018](https://github.com/paritytech/parity/pull/3018) -- Terms & Conditions [#3019](https://github.com/paritytech/parity/pull/3019) -- open column families after reparing db corruption [#3017](https://github.com/paritytech/parity/pull/3017) -- Snapshot sync and block gap info in `eth_syncing` [#2948](https://github.com/paritytech/parity/pull/2948) -- personal_ RPCs to AutoArgs [#3000](https://github.com/paritytech/parity/pull/3000) -- RPCs for mode change [#3002](https://github.com/paritytech/parity/pull/3002) -- Fix a test sensitive to slow execution. [#3014](https://github.com/paritytech/parity/pull/3014) -- Fixes search filtering issues [#3011](https://github.com/paritytech/parity/pull/3011) -- Restart sync if no more peers with snapshots [#3007](https://github.com/paritytech/parity/pull/3007) -- Allow empty/non-existant input arrays for ABIs in contract view [#3001](https://github.com/paritytech/parity/pull/3001) -- Allow operation when no registry is available [#2980](https://github.com/paritytech/parity/pull/2980) -- Make JS lint & test run on Travis [#2894](https://github.com/paritytech/parity/pull/2894) -- Update account dropdowns [#2959](https://github.com/paritytech/parity/pull/2959) -- Modify gas price statistics [#2947](https://github.com/paritytech/parity/pull/2947) -- Fixes pending/mined transactions in registry dApp [#3004](https://github.com/paritytech/parity/pull/3004) -- Prevent connecting to self [#2997](https://github.com/paritytech/parity/pull/2997) -- Disable verbose in gitlab CI [#2999](https://github.com/paritytech/parity/pull/2999) -- Allow warnings in gitlab [#2998](https://github.com/paritytech/parity/pull/2998) -- Fix the brainwallet functionality. [#2994](https://github.com/paritytech/parity/pull/2994) -- Provided gas description update [#2993](https://github.com/paritytech/parity/pull/2993) -- Print messages to stderr [#2991](https://github.com/paritytech/parity/pull/2991) -- Networking and syncing tweaks [#2990](https://github.com/paritytech/parity/pull/2990) -- Allow build warnings [#2985](https://github.com/paritytech/parity/pull/2985) -- Display network status for finished Signer requests [#2983](https://github.com/paritytech/parity/pull/2983) -- Fixed rejecting transactions [#2984](https://github.com/paritytech/parity/pull/2984) -- mio version bump [#2982](https://github.com/paritytech/parity/pull/2982) -- Publish parity.js to npmjs registry [#2978](https://github.com/paritytech/parity/pull/2978) -- Import raw private key [#2945](https://github.com/paritytech/parity/pull/2945) -- refactor etherscan.io links [#2896](https://github.com/paritytech/parity/pull/2896) -- Use separate lock for code cache [#2977](https://github.com/paritytech/parity/pull/2977) -- Add favicon [#2974](https://github.com/paritytech/parity/pull/2974) -- Align password change dialog with create dialog ordering [#2970](https://github.com/paritytech/parity/pull/2970) -- WS bump [#2973](https://github.com/paritytech/parity/pull/2973) -- Discovery performance optimization [#2972](https://github.com/paritytech/parity/pull/2972) -- Pass gas & gasPrice to token transfers [#2964](https://github.com/paritytech/parity/pull/2964) -- Updating ws-rs [#2962](https://github.com/paritytech/parity/pull/2962) -- Run cargo with verbose flag when testing [#2943](https://github.com/paritytech/parity/pull/2943) -- Fixing clippy warnings take two [#2961](https://github.com/paritytech/parity/pull/2961) -- Snapshot sync improvements [#2960](https://github.com/paritytech/parity/pull/2960) -- Gavcoin event display updates [#2956](https://github.com/paritytech/parity/pull/2956) -- Eslint fixes [#2957](https://github.com/paritytech/parity/pull/2957) -- Add import of raw private key RPCs [#2942](https://github.com/paritytech/parity/pull/2942) -- Bring in styling queues from original Gavcoin [#2936](https://github.com/paritytech/parity/pull/2936) -- Validating minimal required gas for a transaction [#2937](https://github.com/paritytech/parity/pull/2937) -- Even more snapshot validity checks [#2935](https://github.com/paritytech/parity/pull/2935) -- Shared code cache [#2921](https://github.com/paritytech/parity/pull/2921) -- Updating bootnodes for ETC [#2938](https://github.com/paritytech/parity/pull/2938) -- More bootnodes [#2926](https://github.com/paritytech/parity/pull/2926) -- Revert hash updates until testable [#2925](https://github.com/paritytech/parity/pull/2925) -- Release.sh verbose output [#2924](https://github.com/paritytech/parity/pull/2924) -- additional release.sh debugging info [#2922](https://github.com/paritytech/parity/pull/2922) -- Pass the js-precompiled commit hash to cargo update [#2920](https://github.com/paritytech/parity/pull/2920) -- Next nonce RPC [#2917](https://github.com/paritytech/parity/pull/2917) -- Get rid of duplicated code in EVM [#2915](https://github.com/paritytech/parity/pull/2915) -- Transaction Queue banning [#2524](https://github.com/paritytech/parity/pull/2524) -- Revert to gas price ordering [#2919](https://github.com/paritytech/parity/pull/2919) -- Personal split [#2879](https://github.com/paritytech/parity/pull/2879) -- Fixing config values for pruning_history [#2918](https://github.com/paritytech/parity/pull/2918) -- Apply pending block details on commit [#2254](https://github.com/paritytech/parity/pull/2254) -- Fixed GetNodeData output [#2892](https://github.com/paritytech/parity/pull/2892) -- New sync protocol ID [#2912](https://github.com/paritytech/parity/pull/2912) -- Clippy bump [#2877](https://github.com/paritytech/parity/pull/2877) -- iconomi token images [#2906](https://github.com/paritytech/parity/pull/2906) -- Fixes too long description and Token balance value in Dapps/Accounts [#2902](https://github.com/paritytech/parity/pull/2902) -- Add missing images for local dapps [#2890](https://github.com/paritytech/parity/pull/2890) -- Fix Webpack, again [#2895](https://github.com/paritytech/parity/pull/2895) -- Enable suicide json test [#2893](https://github.com/paritytech/parity/pull/2893) -- More snapshot fixes and optimizations [#2883](https://github.com/paritytech/parity/pull/2883) -- Fixes CI JS precompiled build [#2886](https://github.com/paritytech/parity/pull/2886) -- Fix empty tags modification [#2884](https://github.com/paritytech/parity/pull/2884) -- Fix up informant. [#2865](https://github.com/paritytech/parity/pull/2865) -- Get rid of MemoryDB denote [#2881](https://github.com/paritytech/parity/pull/2881) -- Add inject to "bundle everything" list [#2871](https://github.com/paritytech/parity/pull/2871) -- Fixes signer and MUI errors throwing [#2876](https://github.com/paritytech/parity/pull/2876) -- Fix failing tests after log parsing updates [#2878](https://github.com/paritytech/parity/pull/2878) -- Sweep some more panics [#2848](https://github.com/paritytech/parity/pull/2848) -- Make GitLab js-precompiled really update Cargo.toml in main repo [#2869](https://github.com/paritytech/parity/pull/2869) -- IPC version bump [#2870](https://github.com/paritytech/parity/pull/2870) -- Snapshot sync fixes and optimizations [#2863](https://github.com/paritytech/parity/pull/2863) -- Add Check and Change Password for an Account [#2861](https://github.com/paritytech/parity/pull/2861) -- Output git fetch/push to log files [#2862](https://github.com/paritytech/parity/pull/2862) -- Align contract event log l&f with transactions [#2812](https://github.com/paritytech/parity/pull/2812) -- Nicer port in use errors [#2859](https://github.com/paritytech/parity/pull/2859) -- Remove personal_* calls from dapps [#2860](https://github.com/paritytech/parity/pull/2860) -- Token sorting, zero-ETH transfer & token decimals [#2805](https://github.com/paritytech/parity/pull/2805) -- Don't fail badly when no transactions in last 100 blocks. [#2856](https://github.com/paritytech/parity/pull/2856) -- Fixing home.parity address for new signer [#2851](https://github.com/paritytech/parity/pull/2851) -- Enabling UI build back [#2853](https://github.com/paritytech/parity/pull/2853) -- Remove eventName in unsubscribe API arguments [#2844](https://github.com/paritytech/parity/pull/2844) -- Don't return empty names as clickable titles [#2809](https://github.com/paritytech/parity/pull/2809) -- Auto-bump js-precompiled on release [#2828](https://github.com/paritytech/parity/pull/2828) -- Remove ethcore::common re-export module [#2792](https://github.com/paritytech/parity/pull/2792) -- Prevent database corruption on OOM [#2832](https://github.com/paritytech/parity/pull/2832) -- Download/Export Addressbook [#2847](https://github.com/paritytech/parity/pull/2847) -- Snapshot and blockchain stability improvements [#2843](https://github.com/paritytech/parity/pull/2843) -- Extended network options [#2845](https://github.com/paritytech/parity/pull/2845) -- fix failing master test build [#2846](https://github.com/paritytech/parity/pull/2846) -- Local dapps embeddable on signer port [#2815](https://github.com/paritytech/parity/pull/2815) -- Trigger accounts/contracts search on search input change [#2838](https://github.com/paritytech/parity/pull/2838) -- Move snapshot sync to a subprotocol [#2820](https://github.com/paritytech/parity/pull/2820) -- fix node log being reversed [#2839](https://github.com/paritytech/parity/pull/2839) -- Fixes currency symbol font size in Shapeshift modal [#2840](https://github.com/paritytech/parity/pull/2840) -- Disable personal APIs by default for security reasons [#2834](https://github.com/paritytech/parity/pull/2834) -- Clear cached content [#2833](https://github.com/paritytech/parity/pull/2833) -- Add ethcore_[dapps|signer]Port APIs [#2821](https://github.com/paritytech/parity/pull/2821) -- CLI option to skip seal check when importing [#2842](https://github.com/paritytech/parity/pull/2842) -- Fix case error in Dapps import [#2837](https://github.com/paritytech/parity/pull/2837) -- Double click on address in account detail view should select it [#2841](https://github.com/paritytech/parity/pull/2841) -- Bump js-precompiled to 20161022-223915 UTC [#2826](https://github.com/paritytech/parity/pull/2826) -- Adjust paths to handle CORS changes [#2816](https://github.com/paritytech/parity/pull/2816) -- RPC for dapps port and signer port [#2819](https://github.com/paritytech/parity/pull/2819) -- Update build to working version on pre-compiled repo [#2825](https://github.com/paritytech/parity/pull/2825) -- Adjust network name badge colours (darker) [#2823](https://github.com/paritytech/parity/pull/2823) -- Removing submodule in favour of rust crate [#2756](https://github.com/paritytech/parity/pull/2756) -- Return old-ish content even when syncing [#2757](https://github.com/paritytech/parity/pull/2757) -- fix Signer UI [#2750](https://github.com/paritytech/parity/pull/2750) -- USG, GBP, Euro & Yuan updates [#2818](https://github.com/paritytech/parity/pull/2818) -- Make locally installed apps available again (Fixes #2771) [#2808](https://github.com/paritytech/parity/pull/2808) -- Additional RPCs for password management [#2779](https://github.com/paritytech/parity/pull/2779) -- flush DB changes on drop [#2795](https://github.com/paritytech/parity/pull/2795) -- rename State::snapshot to checkpoint to avoid confusion [#2796](https://github.com/paritytech/parity/pull/2796) -- Missing changes required to make new UI work [#2793](https://github.com/paritytech/parity/pull/2793) -- Cleanup method decoding (Fixes #2811) [#2810](https://github.com/paritytech/parity/pull/2810) -- Use trace API for decentralized transaction list [#2784](https://github.com/paritytech/parity/pull/2784) -- Automatic compaction selection on Linux [#2785](https://github.com/paritytech/parity/pull/2785) -- Update token images [#2804](https://github.com/paritytech/parity/pull/2804) -- Hackergold token images [#2801](https://github.com/paritytech/parity/pull/2801) -- Additional token images [#2800](https://github.com/paritytech/parity/pull/2800) -- Additional token images [#2798](https://github.com/paritytech/parity/pull/2798) -- Resolve morden fork [#2773](https://github.com/paritytech/parity/pull/2773) -- Using SipHashes from crates.io [#2778](https://github.com/paritytech/parity/pull/2778) -- Fixed issues on Searchable Addresses [#2790](https://github.com/paritytech/parity/pull/2790) -- Currency icons [#2788](https://github.com/paritytech/parity/pull/2788) -- Update token images [#2783](https://github.com/paritytech/parity/pull/2783) -- Fix warning in master [#2775](https://github.com/paritytech/parity/pull/2775) -- Add empty account existence test from beta. [#2769](https://github.com/paritytech/parity/pull/2769) -- Update name of basiccoin manager [#2768](https://github.com/paritytech/parity/pull/2768) -- sweep most unwraps from ethcore crate, dapps crate [#2762](https://github.com/paritytech/parity/pull/2762) -- Check queue to determine major importing [#2763](https://github.com/paritytech/parity/pull/2763) -- Trace filtering fix [#2760](https://github.com/paritytech/parity/pull/2760) -- Update js precompiled to 20161020-141636 [#2761](https://github.com/paritytech/parity/pull/2761) -- Incrementally calculate verification queue heap size [#2749](https://github.com/paritytech/parity/pull/2749) -- Don't add empty accounts to bloom [#2753](https://github.com/paritytech/parity/pull/2753) -- fix contract deployments not showing up [#2759](https://github.com/paritytech/parity/pull/2759) -- Fixes a positioning issue in Address Selection component [#2754](https://github.com/paritytech/parity/pull/2754) -- fix linting issues [#2758](https://github.com/paritytech/parity/pull/2758) -- Making Trie.iter non-recursive [#2733](https://github.com/paritytech/parity/pull/2733) -- Block import optimization [#2748](https://github.com/paritytech/parity/pull/2748) -- Update js-precompiled to 20161020-110858 [#2752](https://github.com/paritytech/parity/pull/2752) -- Fixing small files fetching [#2742](https://github.com/paritytech/parity/pull/2742) -- Fixing stalled sync [#2747](https://github.com/paritytech/parity/pull/2747) -- refactor signer components [#2691](https://github.com/paritytech/parity/pull/2691) -- Png images with backgrounds (original svg) [#2740](https://github.com/paritytech/parity/pull/2740) -- Make address selection searchable [#2739](https://github.com/paritytech/parity/pull/2739) -- very basic dapp add/remove interface [#2721](https://github.com/paritytech/parity/pull/2721) -- Frontport commits from beta to master [#2743](https://github.com/paritytech/parity/pull/2743) -- Implements Trace API Formatter [#2732](https://github.com/paritytech/parity/pull/2732) -- bump parking_lot to 0.3.x series [#2702](https://github.com/paritytech/parity/pull/2702) -- Unify major syncing detection [#2699](https://github.com/paritytech/parity/pull/2699) -- Fixes gas/gasPrice change not reflected in transaction modal [#2735](https://github.com/paritytech/parity/pull/2735) -- Fixing build UI stuff along with Rust [#2726](https://github.com/paritytech/parity/pull/2726) -- Fixed Snackbar not showing and/or behind transactions (#2730) [#2731](https://github.com/paritytech/parity/pull/2731) -- Updating json tests to latest develop commit [#2728](https://github.com/paritytech/parity/pull/2728) -- dapps: show errors [#2727](https://github.com/paritytech/parity/pull/2727) -- node logs: break lines [#2722](https://github.com/paritytech/parity/pull/2722) -- Bumping JSON-RPC http server [#2714](https://github.com/paritytech/parity/pull/2714) -- Add ability to copy address to the clipboard [#2716](https://github.com/paritytech/parity/pull/2716) -- Sort tags when displaying ; use AND for search results [#2720](https://github.com/paritytech/parity/pull/2720) -- allow-same-origin for iframe [#2711](https://github.com/paritytech/parity/pull/2711) -- Update Registry address (mainnet) [#2713](https://github.com/paritytech/parity/pull/2713) -- Allow tags for Accounts, Addresses and Contracts [#2712](https://github.com/paritytech/parity/pull/2712) -- Correct parameters for eth_sign [#2703](https://github.com/paritytech/parity/pull/2703) -- Bump js-precompiled to 20161018-161705 [#2698](https://github.com/paritytech/parity/pull/2698) -- Add inject.js (for web3 exposed) [#2692](https://github.com/paritytech/parity/pull/2692) -- Remove obsolete dapps and update security headers [#2694](https://github.com/paritytech/parity/pull/2694) -- Snapshot sync part 2 [#2098](https://github.com/paritytech/parity/pull/2098) -- Fix issues with no ethereum test dir present (2382) [#2659](https://github.com/paritytech/parity/pull/2659) -- Apply UI PRs after master merge [#2690](https://github.com/paritytech/parity/pull/2690) -- Fix importing traces for non-canon blocks [#2683](https://github.com/paritytech/parity/pull/2683) -- Fixing random test failures [#2577](https://github.com/paritytech/parity/pull/2577) -- Disable IPC in default build for 1.4 [#2657](https://github.com/paritytech/parity/pull/2657) -- use pruning history in CLI snapshots [#2658](https://github.com/paritytech/parity/pull/2658) -- Fixing --no-default-features again and evmbin [#2670](https://github.com/paritytech/parity/pull/2670) -- Settings > Proxy for proxy.pac setup instructions [#2678](https://github.com/paritytech/parity/pull/2678) -- Re-instate transaitions to allow updating busy indicator [#2682](https://github.com/paritytech/parity/pull/2682) -- signer: remove reject counter [#2685](https://github.com/paritytech/parity/pull/2685) -- Initial new UI source code import [#2607](https://github.com/paritytech/parity/pull/2607) -- Additional dapp logo images [#2677](https://github.com/paritytech/parity/pull/2677) -- Redirect from :8080 to :8180 [#2676](https://github.com/paritytech/parity/pull/2676) -- script to update js-precompiled [#2673](https://github.com/paritytech/parity/pull/2673) -- Styling in FF is not 100% [#2669](https://github.com/paritytech/parity/pull/2669) -- Don't allow gavcoin transfer with no balances [#2667](https://github.com/paritytech/parity/pull/2667) -- fix signer rejections [#2666](https://github.com/paritytech/parity/pull/2666) -- better text on unique background pattern [#2664](https://github.com/paritytech/parity/pull/2664) -- Adjust z-index for error overlay [#2662](https://github.com/paritytech/parity/pull/2662) -- Fix address selection for contract deployment [#2660](https://github.com/paritytech/parity/pull/2660) -- Add additional contract images [#2655](https://github.com/paritytech/parity/pull/2655) -- Update /api/* to point to :8080/api/* (first generation interface) [#2612](https://github.com/paritytech/parity/pull/2612) -- Initial import of new UI (compiled JS code) [#2220](https://github.com/paritytech/parity/pull/2220) -- Fixing evmbin compilation [#2652](https://github.com/paritytech/parity/pull/2652) -- Fix up ETC EIP-150 transition to 2,500,000. [#2636](https://github.com/paritytech/parity/pull/2636) -- Fixing compilation without default features [#2638](https://github.com/paritytech/parity/pull/2638) -- [frontport] CLI to specify queue ordering strategy (#2494) [#2623](https://github.com/paritytech/parity/pull/2623) -- Support for decryption in Signer [#2421](https://github.com/paritytech/parity/pull/2421) -- EIP150.1c [#2591](https://github.com/paritytech/parity/pull/2591) -- Release merge with origin with ours strategy [#2631](https://github.com/paritytech/parity/pull/2631) -- Adjust build output directories [#2630](https://github.com/paritytech/parity/pull/2630) -- cater for txhash returning null/empty object [#2629](https://github.com/paritytech/parity/pull/2629) -- snapshot: single byte for empty accounts [#2625](https://github.com/paritytech/parity/pull/2625) -- Configurable history size in master [#2606](https://github.com/paritytech/parity/pull/2606) -- Database performance tweaks [#2619](https://github.com/paritytech/parity/pull/2619) -- Enable suicide json test [#2626](https://github.com/paritytech/parity/pull/2626) -- Split journaldb commit into two functions: journal_under and mark_canonical [#2329](https://github.com/paritytech/parity/pull/2329) -- Fixed tx queue limit for local transactions [#2616](https://github.com/paritytech/parity/pull/2616) -- Additional logs when transactions is removed from queue [#2617](https://github.com/paritytech/parity/pull/2617) -- mitigate refcell conflict in state diffing [#2601](https://github.com/paritytech/parity/pull/2601) -- Fix tests [#2611](https://github.com/paritytech/parity/pull/2611) -- small styling updates [#2610](https://github.com/paritytech/parity/pull/2610) -- Remove web3 from Signer, bring in parity.js API [#2604](https://github.com/paritytech/parity/pull/2604) -- Mostly configurable canonical cache size [#2516](https://github.com/paritytech/parity/pull/2516) -- Added peers details to ethcore_netPeers RPC [#2580](https://github.com/paritytech/parity/pull/2580) -- Display account password hint when available [#2596](https://github.com/paritytech/parity/pull/2596) -- Fix gas estimation on transfer when data supplied [#2593](https://github.com/paritytech/parity/pull/2593) -- remove unused npm packages [#2590](https://github.com/paritytech/parity/pull/2590) -- Bundle fonts as part of the build process [#2588](https://github.com/paritytech/parity/pull/2588) -- Contract constructor params [#2586](https://github.com/paritytech/parity/pull/2586) -- Update json test suite [#2574](https://github.com/paritytech/parity/pull/2574) -- Filter apps that has been replaced for the local list [#2583](https://github.com/paritytech/parity/pull/2583) -- Display local apps listed by Parity [#2581](https://github.com/paritytech/parity/pull/2581) -- Network-specific nodes file [#2569](https://github.com/paritytech/parity/pull/2569) -- Dont close when block is known to be invalid [#2572](https://github.com/paritytech/parity/pull/2572) -- deny compiler warnings in CI [#2570](https://github.com/paritytech/parity/pull/2570) -- adjust alignment of queries [#2573](https://github.com/paritytech/parity/pull/2573) -- update ethcore-bigint crate to 0.1.1 [#2562](https://github.com/paritytech/parity/pull/2562) -- Registry dapp uses setAddress to actually set addresses now [#2568](https://github.com/paritytech/parity/pull/2568) -- Add the new EIP150 test. [#2563](https://github.com/paritytech/parity/pull/2563) -- fix failing tests [#2567](https://github.com/paritytech/parity/pull/2567) -- ΞTH -> ETH [#2566](https://github.com/paritytech/parity/pull/2566) -- Ensure polling is only done when connected [#2565](https://github.com/paritytech/parity/pull/2565) -- Fixed race condition in trace import [#2555](https://github.com/paritytech/parity/pull/2555) -- Disable misbehaving peers while seeking for best block [#2537](https://github.com/paritytech/parity/pull/2537) -- TX queue gas limit config and allow local transactions over the gas limit [#2553](https://github.com/paritytech/parity/pull/2553) -- standard component for address -> name mappings (consistent use everywhere) [#2557](https://github.com/paritytech/parity/pull/2557) -- Remove unwrap from client module [#2554](https://github.com/paritytech/parity/pull/2554) -- Removing panickers from sync module [#2551](https://github.com/paritytech/parity/pull/2551) -- Address images (tokens, dapps) as registered via contentHash (when available) [#2526](https://github.com/paritytech/parity/pull/2526) -- TokenReg set & get images working [#2540](https://github.com/paritytech/parity/pull/2540) -- adjust app_id where /api/content/ is called, fixes #2541 [#2543](https://github.com/paritytech/parity/pull/2543) -- connection dialog now shows up in dapps as well, closes #2538 [#2550](https://github.com/paritytech/parity/pull/2550) -- display account uuid (where available), closes #2546 [#2549](https://github.com/paritytech/parity/pull/2549) -- create accounts via recovery phrase [#2545](https://github.com/paritytech/parity/pull/2545) -- Build ethcore/js-precompiled on GitLab [#2522](https://github.com/paritytech/parity/pull/2522) -- Return errors from eth_call RPC [#2498](https://github.com/paritytech/parity/pull/2498) -- registry dapp: manage records [#2323](https://github.com/paritytech/parity/pull/2323) -- Print backtrace on panic [#2535](https://github.com/paritytech/parity/pull/2535) -- GitHubHint dapp [#2531](https://github.com/paritytech/parity/pull/2531) -- Backports to master [#2530](https://github.com/paritytech/parity/pull/2530) -- Handle reorganizations in the state cache [#2490](https://github.com/paritytech/parity/pull/2490) -- Hypervisor: terminate hanging modules [#2513](https://github.com/paritytech/parity/pull/2513) -- signer & node connection prompts/indicators [#2504](https://github.com/paritytech/parity/pull/2504) -- Using pending block only if is not old [#2514](https://github.com/paritytech/parity/pull/2514) -- More caching optimizations [#2505](https://github.com/paritytech/parity/pull/2505) -- Fixed possible panic in the networking [#2495](https://github.com/paritytech/parity/pull/2495) -- Trim password from file [#2503](https://github.com/paritytech/parity/pull/2503) -- Fixing RPC Filter conversion to EthFilter [#2500](https://github.com/paritytech/parity/pull/2500) -- Fixing error message for transactions [#2496](https://github.com/paritytech/parity/pull/2496) -- Adjustable stack size for EVM [#2483](https://github.com/paritytech/parity/pull/2483) -- [master] Fixing penalization in future [#2499](https://github.com/paritytech/parity/pull/2499) -- Preserve cache on reverting the snapshot [#2488](https://github.com/paritytech/parity/pull/2488) -- RocksDB version bump [#2492](https://github.com/paritytech/parity/pull/2492) -- Increase default size of transaction queue [#2489](https://github.com/paritytech/parity/pull/2489) -- basiccoin v1 available [#2491](https://github.com/paritytech/parity/pull/2491) -- Small EVM optimization [#2487](https://github.com/paritytech/parity/pull/2487) -- Track dirty accounts in the state [#2461](https://github.com/paritytech/parity/pull/2461) -- fix signature lookup address [#2480](https://github.com/paritytech/parity/pull/2480) -- update registrar test with generic non-empty test [#2476](https://github.com/paritytech/parity/pull/2476) -- Derive IPC interface only when ipc feature is on [#2463](https://github.com/paritytech/parity/pull/2463) -- Fix ethstore opening all key files in the directory at once [#2471](https://github.com/paritytech/parity/pull/2471) -- contract api event log fixes [#2469](https://github.com/paritytech/parity/pull/2469) -- basiccoin base functionality in-place [#2468](https://github.com/paritytech/parity/pull/2468) -- Merge IPC codegen attributes into one [#2460](https://github.com/paritytech/parity/pull/2460) -- Close after importing keys from geth [#2464](https://github.com/paritytech/parity/pull/2464) -- Port a couple more RPC APIs to the new auto args [#2325](https://github.com/paritytech/parity/pull/2325) -- update rustc for appveyor to 1.12.0 [#2423](https://github.com/paritytech/parity/pull/2423) -- dapp basiccoin send operations [#2456](https://github.com/paritytech/parity/pull/2456) -- Better EVM informant & Slow transactions warning [#2436](https://github.com/paritytech/parity/pull/2436) -- Fixing Signer token RPC API [#2437](https://github.com/paritytech/parity/pull/2437) -- Fixed FatDB check [#2443](https://github.com/paritytech/parity/pull/2443) -- dapp basiccoin structure [#2444](https://github.com/paritytech/parity/pull/2444) -- Accounts bloom in master [#2426](https://github.com/paritytech/parity/pull/2426) -- Polishing Actually enable fat db pr (#1974) [#2048](https://github.com/paritytech/parity/pull/2048) -- Jumptable cache [#2427](https://github.com/paritytech/parity/pull/2427) -- signaturereg registered, remove hardcoding [#2431](https://github.com/paritytech/parity/pull/2431) -- tokenreg dapp fixes for non-null returns [#2430](https://github.com/paritytech/parity/pull/2430) -- update ABI json to latest deployed versions [#2428](https://github.com/paritytech/parity/pull/2428) -- update Morden registry address [#2417](https://github.com/paritytech/parity/pull/2417) -- Make migration api more friendly [#2420](https://github.com/paritytech/parity/pull/2420) -- Journaling bloom filter crate in util [#2395](https://github.com/paritytech/parity/pull/2395) -- move abis from js/json to contracts/abi [#2418](https://github.com/paritytech/parity/pull/2418) -- Fixing logs-receipt matching [#2403](https://github.com/paritytech/parity/pull/2403) -- fix broken beta compilation [#2405](https://github.com/paritytech/parity/pull/2405) -- registry dapp: transfer names [#2335](https://github.com/paritytech/parity/pull/2335) -- manage firstRun better [#2398](https://github.com/paritytech/parity/pull/2398) -- render contract deployment address [#2397](https://github.com/paritytech/parity/pull/2397) -- Transaction Queue fix [#2392](https://github.com/paritytech/parity/pull/2392) -- contracts abi types & execute value [#2394](https://github.com/paritytech/parity/pull/2394) -- update styling with ParityBar overlay [#2390](https://github.com/paritytech/parity/pull/2390) -- application Signer popup window [#2388](https://github.com/paritytech/parity/pull/2388) -- Fixing Delegate Call in JIT [#2378](https://github.com/paritytech/parity/pull/2378) -- Prioritizing re-imported transactions [#2372](https://github.com/paritytech/parity/pull/2372) -- Revert #2172, pretty much. [#2387](https://github.com/paritytech/parity/pull/2387) -- correct sync memory usage calculation [#2385](https://github.com/paritytech/parity/pull/2385) -- fix migration system for post-consolidation migrations, better errors [#2334](https://github.com/paritytech/parity/pull/2334) -- Fix the traceAddress field in transaction traces. [#2373](https://github.com/paritytech/parity/pull/2373) -- Gavcoin utilises the popup box [#2381](https://github.com/paritytech/parity/pull/2381) -- registry dapp: support dropping names [#2328](https://github.com/paritytech/parity/pull/2328) -- settings view, set background & store views [#2380](https://github.com/paritytech/parity/pull/2380) -- Removing extras data from retracted blocks. [#2375](https://github.com/paritytech/parity/pull/2375) -- fixed #2263, geth keys with ciphertext shorter than 32 bytes [#2318](https://github.com/paritytech/parity/pull/2318) -- Expanse compatibility [#2369](https://github.com/paritytech/parity/pull/2369) -- Allow queries of constant functions on contracts [#2360](https://github.com/paritytech/parity/pull/2360) -- Auto Open/Close the Signer window on new transaction request [#2362](https://github.com/paritytech/parity/pull/2362) -- Specify column cache sizes explicitly; default fallback of 2MB [#2358](https://github.com/paritytech/parity/pull/2358) -- Canonical state cache (master) [#2311](https://github.com/paritytech/parity/pull/2311) -- method signature lookups, parameter decoding & management [#2313](https://github.com/paritytech/parity/pull/2313) -- make block queue into a more generic verification queue and fix block heap size calculation [#2095](https://github.com/paritytech/parity/pull/2095) -- Hash Content RPC method [#2355](https://github.com/paritytech/parity/pull/2355) -- registry dapp: show reserved events by default [#2359](https://github.com/paritytech/parity/pull/2359) -- Display timestamp in Signer requests details [#2324](https://github.com/paritytech/parity/pull/2324) -- Reorder transaction_by_hash to favour canon search [#2332](https://github.com/paritytech/parity/pull/2332) -- Optimize DIV for some common divisors [#2327](https://github.com/paritytech/parity/pull/2327) -- Return error when deserializing invalid hex [#2339](https://github.com/paritytech/parity/pull/2339) -- Changed http:// to https:// on some links [#2349](https://github.com/paritytech/parity/pull/2349) -- user defaults [#2014](https://github.com/paritytech/parity/pull/2014) -- Fixing jit feature compilation [#2310](https://github.com/paritytech/parity/pull/2310) -- Tx Queue improvements [#2292](https://github.com/paritytech/parity/pull/2292) -- Removing PropTypes on build [#2322](https://github.com/paritytech/parity/pull/2322) -- Lenient bytes deserialization [#2036](https://github.com/paritytech/parity/pull/2036) -- reverse call data decoding given transaction data & method [#2312](https://github.com/paritytech/parity/pull/2312) -- add missing gpl headers to gavcoin dapp [#2317](https://github.com/paritytech/parity/pull/2317) -- contract Events, Functions & Queries sub-components as well as Event log visual updates [#2306](https://github.com/paritytech/parity/pull/2306) -- webpack config updates (really include babel-polyfill, rename npm steps) [#2305](https://github.com/paritytech/parity/pull/2305) -- remove unneeded Form from Account header [#2302](https://github.com/paritytech/parity/pull/2302) -- edit of metadata across accounts, addresses & contracts [#2300](https://github.com/paritytech/parity/pull/2300) -- Adjust all modals for consistency & css DRY-ness [#2301](https://github.com/paritytech/parity/pull/2301) -- update container spacing [#2296](https://github.com/paritytech/parity/pull/2296) -- local cache of generated background (no allocation on each re-render) [#2298](https://github.com/paritytech/parity/pull/2298) -- fix failing tests [#2290](https://github.com/paritytech/parity/pull/2290) -- Respecting standards for tokenreg dapp [#2287](https://github.com/paritytech/parity/pull/2287) -- Separate RPC serialization from implementation [#2072](https://github.com/paritytech/parity/pull/2072) -- Webpack optimisations - Using DLL [#2264](https://github.com/paritytech/parity/pull/2264) -- header background, theme adjustments (not that harsh) [#2273](https://github.com/paritytech/parity/pull/2273) -- contract view (developer-centric) [#2259](https://github.com/paritytech/parity/pull/2259) -- Add hash as CLI function [#1995](https://github.com/paritytech/parity/pull/1995) -- registry: fix mined events showing as pending [#2267](https://github.com/paritytech/parity/pull/2267) -- Dapp - Tokereg ; Query Tokens from TLA or Address [#2266](https://github.com/paritytech/parity/pull/2266) -- Fixes to the Token Registration dApp [#2250](https://github.com/paritytech/parity/pull/2250) -- remove abi *.json duplication, provide a single version of the truth [#2253](https://github.com/paritytech/parity/pull/2253) -- Separate path for ext code size [#2251](https://github.com/paritytech/parity/pull/2251) -- Snapshot format changes [#2234](https://github.com/paritytech/parity/pull/2234) -- Serving content at /api/content/ [#2248](https://github.com/paritytech/parity/pull/2248) -- Fails when deserializing non-hex uints [#2247](https://github.com/paritytech/parity/pull/2247) -- registry dapp: add GPL headers [#2252](https://github.com/paritytech/parity/pull/2252) -- registry dapp: user-friendly lookup [#2229](https://github.com/paritytech/parity/pull/2229) -- registry dapp: show DataChanged events [#2242](https://github.com/paritytech/parity/pull/2242) -- fixups for deploys [#2249](https://github.com/paritytech/parity/pull/2249) -- Fixing output of eth_call and Bytes deserialization [#2230](https://github.com/paritytech/parity/pull/2230) -- Encryption, decryption and public key RPCs. [#1946](https://github.com/paritytech/parity/pull/1946) -- limit number of event logs returned [#2231](https://github.com/paritytech/parity/pull/2231) -- babel-polyfill [#2239](https://github.com/paritytech/parity/pull/2239) -- procedurally generate background based on signer key [#2233](https://github.com/paritytech/parity/pull/2233) -- UI fixes [#2238](https://github.com/paritytech/parity/pull/2238) -- expose isConnected() from transport [#2225](https://github.com/paritytech/parity/pull/2225) -- registry dapp: rename event log [#2227](https://github.com/paritytech/parity/pull/2227) -- registry dapp: show pending events [#2223](https://github.com/paritytech/parity/pull/2223) -- Handle RLP to string UTF-8 decoding errors [#2217](https://github.com/paritytech/parity/pull/2217) -- Use WebSocket transport for all built-in calls [#2216](https://github.com/paritytech/parity/pull/2216) -- Remove panickers from trie iterators [#2209](https://github.com/paritytech/parity/pull/2209) -- Limit for logs filter. [#2180](https://github.com/paritytech/parity/pull/2180) -- Various state copy optimizations [#2172](https://github.com/paritytech/parity/pull/2172) -- New signer token RPC & Initial signer connection without token. [#2096](https://github.com/paritytech/parity/pull/2096) -- signer ui fixes [#2219](https://github.com/paritytech/parity/pull/2219) -- contract deploy ui [#2212](https://github.com/paritytech/parity/pull/2212) -- registry dapp: fix propTypes [#2218](https://github.com/paritytech/parity/pull/2218) -- registry: fix IdentityIcon in events log [#2206](https://github.com/paritytech/parity/pull/2206) -- Fixing evm-debug [#2161](https://github.com/paritytech/parity/pull/2161) -- Fix syncing with pv63 peers [#2204](https://github.com/paritytech/parity/pull/2204) -- registry: show shortened hashes [#2205](https://github.com/paritytech/parity/pull/2205) -- registry dapp: remove owner [#2203](https://github.com/paritytech/parity/pull/2203) -- webpack proxy updates for /api* [#2175](https://github.com/paritytech/parity/pull/2175) -- simplify personal event publishing, fix delete refresh issues [#2183](https://github.com/paritytech/parity/pull/2183) -- fix global & initial states [#2160](https://github.com/paritytech/parity/pull/2160) -- Allow selection & saving of available views [#2131](https://github.com/paritytech/parity/pull/2131) -- global/contract events with promisy subscribe/unsubscribe [#2136](https://github.com/paritytech/parity/pull/2136) -- Token Registry dApp [#2178](https://github.com/paritytech/parity/pull/2178) -- re-usable bytesToHex exposed in api.util [#2174](https://github.com/paritytech/parity/pull/2174) -- Webpack optimisations [#2179](https://github.com/paritytech/parity/pull/2179) -- cleanup on contract event subscriptions [#2104](https://github.com/paritytech/parity/pull/2104) -- move utility functions to api.util [#2105](https://github.com/paritytech/parity/pull/2105) -- registry dapp [#2077](https://github.com/paritytech/parity/pull/2077) -- mui/FlatButton to ui/Button [#2129](https://github.com/paritytech/parity/pull/2129) -- address delete functionality [#2128](https://github.com/paritytech/parity/pull/2128) -- contract deployment updates [#2106](https://github.com/paritytech/parity/pull/2106) -- contract events, indexed string fix [#2108](https://github.com/paritytech/parity/pull/2108) -- Bumping jsonrpc-core & jsonrpc-http-server [#2162](https://github.com/paritytech/parity/pull/2162) -- gitlab testing & build processes [#2090](https://github.com/paritytech/parity/pull/2090) -- Misc small UI fixes (recently broken) [#2101](https://github.com/paritytech/parity/pull/2101) -- Bump clippy & Fix warnings [#2109](https://github.com/paritytech/parity/pull/2109) -- Import command summary [#2102](https://github.com/paritytech/parity/pull/2102) -- check for existence of deprecated ethash file before attempting delete [#2103](https://github.com/paritytech/parity/pull/2103) -- shapeshift Promise API library [#2088](https://github.com/paritytech/parity/pull/2088) -- fund account via ShapeShift [#2099](https://github.com/paritytech/parity/pull/2099) -- Get bigint on crates.io [#2078](https://github.com/paritytech/parity/pull/2078) -- Enable sealing if Engine provides internal sealing given author [#2084](https://github.com/paritytech/parity/pull/2084) -- Config files [#2070](https://github.com/paritytech/parity/pull/2070) -- re-add lodash plugin to babel config [#2092](https://github.com/paritytech/parity/pull/2092) -- Remove old cache data [#2081](https://github.com/paritytech/parity/pull/2081) -- Logs limit & log_index bug [#2073](https://github.com/paritytech/parity/pull/2073) -- flatten store, muiTheme & api providers [#2087](https://github.com/paritytech/parity/pull/2087) -- add babel es2016 & es2017 presets [#2083](https://github.com/paritytech/parity/pull/2083) -- remove all '/index' imports in API [#2089](https://github.com/paritytech/parity/pull/2089) -- add missing GPL headers to all files [#2086](https://github.com/paritytech/parity/pull/2086) -- readme cleanups [#2085](https://github.com/paritytech/parity/pull/2085) -- gavcoin global import of parity api [#2082](https://github.com/paritytech/parity/pull/2082) -- Fixing removal from gas price when moving future->current [#2076](https://github.com/paritytech/parity/pull/2076) -- Split internal sealing from work preparation [#2071](https://github.com/paritytech/parity/pull/2071) -- ensure the target folder doesn't exist before renaming [#2074](https://github.com/paritytech/parity/pull/2074) -- Get rid of 'Dapp is being downloaded' page [#2055](https://github.com/paritytech/parity/pull/2055) -- fix failing master build: update tests to new init_restore signature. [#2069](https://github.com/paritytech/parity/pull/2069) -- Local snapshot restore [#2058](https://github.com/paritytech/parity/pull/2058) -- import: keep informant going until finished [#2065](https://github.com/paritytech/parity/pull/2065) -- Add a few tests for the snapshot service [#2059](https://github.com/paritytech/parity/pull/2059) -- IPC tweaks [#2046](https://github.com/paritytech/parity/pull/2046) -- Update arm* Docker [#2064](https://github.com/paritytech/parity/pull/2064) -- Fetching any content-addressed content [#2050](https://github.com/paritytech/parity/pull/2050) -- Use proper database configuration in snapshots. [#2052](https://github.com/paritytech/parity/pull/2052) -- periodic snapshot tweaks [#2054](https://github.com/paritytech/parity/pull/2054) -- ethkey-cli [#2057](https://github.com/paritytech/parity/pull/2057) -- Forward ethstore-cli feature [#2056](https://github.com/paritytech/parity/pull/2056) -- handling invalid spec jsons properly, additional tests, closes #1840 [#2049](https://github.com/paritytech/parity/pull/2049) -- Periodic snapshots [#2044](https://github.com/paritytech/parity/pull/2044) -- Snapshot sync [#2047](https://github.com/paritytech/parity/pull/2047) -- Nice error pages for Dapps & Signer [#2033](https://github.com/paritytech/parity/pull/2033) -- Add a few small snapshot tests [#2038](https://github.com/paritytech/parity/pull/2038) -- facelift for traces, added errors [#2042](https://github.com/paritytech/parity/pull/2042) -- Fetching content from HTTPS using `rustls` [#2024](https://github.com/paritytech/parity/pull/2024) -- Skipping log when there are no transactions were sent [#2045](https://github.com/paritytech/parity/pull/2045) -- rlp as separate crate [#2034](https://github.com/paritytech/parity/pull/2034) -- Fixing uint serialization [#2037](https://github.com/paritytech/parity/pull/2037) -- Fixing new transactions propagation [#2039](https://github.com/paritytech/parity/pull/2039) -- Propagating transactions to peers on timer. [#2035](https://github.com/paritytech/parity/pull/2035) -- Remove Populatable and BytesConvertable traits [#2019](https://github.com/paritytech/parity/pull/2019) -- fixed #1933 [#1979](https://github.com/paritytech/parity/pull/1979) -- Synchronization tweaks for IPC services [#2028](https://github.com/paritytech/parity/pull/2028) -- Asynchronous RPC support [#2017](https://github.com/paritytech/parity/pull/2017) -- Disable ArchiveDB counter check [#2016](https://github.com/paritytech/parity/pull/2016) -- always process trie death row on commit, add more tracing [#2025](https://github.com/paritytech/parity/pull/2025) -- fixed transaction addresses mapping, fixes #1971 [#2026](https://github.com/paritytech/parity/pull/2026) -- Adding tests for dapps server. [#2021](https://github.com/paritytech/parity/pull/2021) -- builtin trait refactoring [#2018](https://github.com/paritytech/parity/pull/2018) -- Start parity with systemd [#1967](https://github.com/paritytech/parity/pull/1967) -- Control service for IPC [#2013](https://github.com/paritytech/parity/pull/2013) -- LRU cache for dapps [#2006](https://github.com/paritytech/parity/pull/2006) -- CLI for valid hosts for dapps server [#2005](https://github.com/paritytech/parity/pull/2005) -- Make the block header struct's internals private [#2000](https://github.com/paritytech/parity/pull/2000) -- Take control of recovered snapshots, start restoration asynchronously [#2010](https://github.com/paritytech/parity/pull/2010) -- remove internal locking from DBTransaction [#2003](https://github.com/paritytech/parity/pull/2003) -- Snapshot optimizations [#1991](https://github.com/paritytech/parity/pull/1991) -- Revert removing ecies [#2009](https://github.com/paritytech/parity/pull/2009) -- small blooms optimization [#1998](https://github.com/paritytech/parity/pull/1998) -- protection from adding empty traces && assertion in traces db [#1994](https://github.com/paritytech/parity/pull/1994) -- Stratum IPC service [#1959](https://github.com/paritytech/parity/pull/1959) -- Signature cleanup [#1921](https://github.com/paritytech/parity/pull/1921) -- Fixed discovery skipping some nodes [#1996](https://github.com/paritytech/parity/pull/1996) -- Trie query recording and AccountDB factory for no mangling [#1944](https://github.com/paritytech/parity/pull/1944) -- Validating sha3 of a dapp bundle [#1993](https://github.com/paritytech/parity/pull/1993) -- Improve eth_getWork timeout test rpc_get_work_should_timeout [#1992](https://github.com/paritytech/parity/pull/1992) -- Resolving URLs from contract [#1964](https://github.com/paritytech/parity/pull/1964) -- Add timeout for eth_getWork call [#1975](https://github.com/paritytech/parity/pull/1975) -- CLI for Signer interface [#1980](https://github.com/paritytech/parity/pull/1980) -- IPC timeout multiplied [#1990](https://github.com/paritytech/parity/pull/1990) -- Use relative path for IPC sockets [#1983](https://github.com/paritytech/parity/pull/1983) -- Market-orientated transaction pricing [#1963](https://github.com/paritytech/parity/pull/1963) -- Bump clippy [#1982](https://github.com/paritytech/parity/pull/1982) -- Fixing mutual recursive types serialization [#1977](https://github.com/paritytech/parity/pull/1977) -- Fix open on FreeBSD [#1984](https://github.com/paritytech/parity/pull/1984) -- Upgrade hyper dependency to 0.9 [#1973](https://github.com/paritytech/parity/pull/1973) -- Create network-specific nodes files [#1970](https://github.com/paritytech/parity/pull/1970) -- Getting rid of syntex [#1965](https://github.com/paritytech/parity/pull/1965) -- Remove binary specification from hypervisor [#1960](https://github.com/paritytech/parity/pull/1960) -- Stratum protocol general [#1954](https://github.com/paritytech/parity/pull/1954) -- keep track of first block in blockchain [#1937](https://github.com/paritytech/parity/pull/1937) -- introduce ethcore/state module [#1953](https://github.com/paritytech/parity/pull/1953) -- Apply settings to column families [#1956](https://github.com/paritytech/parity/pull/1956) -- move column family constants into db module [#1955](https://github.com/paritytech/parity/pull/1955) -- ECIES without MAC [#1948](https://github.com/paritytech/parity/pull/1948) -- Fix canny warnings [#1951](https://github.com/paritytech/parity/pull/1951) -- Fetchable dapps [#1949](https://github.com/paritytech/parity/pull/1949) -- remove impossible panickers related to infallible db transaction [#1947](https://github.com/paritytech/parity/pull/1947) -- Minor optimizations [#1943](https://github.com/paritytech/parity/pull/1943) -- remove randomness from bigint benches, fix warnings [#1945](https://github.com/paritytech/parity/pull/1945) -- Fix several RPCs [#1926](https://github.com/paritytech/parity/pull/1926) -- Bump clippy, fix warnings [#1939](https://github.com/paritytech/parity/pull/1939) -- DB WAL size limit [#1935](https://github.com/paritytech/parity/pull/1935) -- Use explicit global namespaces in codegen [#1928](https://github.com/paritytech/parity/pull/1928) -- Fix build on master [#1934](https://github.com/paritytech/parity/pull/1934) -- IPC on by default [#1927](https://github.com/paritytech/parity/pull/1927) -- fix util benches compilation [#1931](https://github.com/paritytech/parity/pull/1931) -- Update gitlab-ci [#1929](https://github.com/paritytech/parity/pull/1929) -- ethkey and ethstore use hash structures from bigint [#1851](https://github.com/paritytech/parity/pull/1851) - -## Parity [v1.3.10](https://github.com/paritytech/parity/releases/tag/v1.3.10) (2016-11-04) - -The latest 1.3 series release, now considered stable. - -This includes several additional optimisations and fixes together with provisional support for the upcoming hard fork for EIP155/160/161. - -- Stable branch reset to 1.3.10 [#3156](https://github.com/paritytech/parity/pull/3156) -- Backporting to beta [#3149](https://github.com/paritytech/parity/pull/3149) -- apply post-consolidation migrations after consolidating (BETA) [#3048](https://github.com/paritytech/parity/pull/3048) -- [beta] Fix the brainwallet functionality. (#2994) [#3005](https://github.com/paritytech/parity/pull/3005) -- Bumping json-ipc-server [#2989](https://github.com/paritytech/parity/pull/2989) -- Backports for 1.3.10 [#2987](https://github.com/paritytech/parity/pull/2987) - -## Parity [v1.3.9](https://github.com/paritytech/parity/releases/tag/v1.3.9) (2016-10-21) - -This release enables EIP-150 hard fork for Ethereum Classic chain and resolves a few stability and performance issues, such as: -- Interrupted syncing on the test network. -- Block import delays caused by a large number of incoming transactions. A full re-sync is recommended for performance improvement to take effect. - -Full changes: -- [beta] Resolve morden fork [#2776](https://github.com/paritytech/parity/pull/2776) -- Fixing botched merge [#2767](https://github.com/paritytech/parity/pull/2767) -- Backports for beta [#2764](https://github.com/paritytech/parity/pull/2764) -- Introduce EIP150 hardfork block for ETC [#2736](https://github.com/paritytech/parity/pull/2736) -- [beta] fix issues with no test dir present (#2659) [#2724](https://github.com/paritytech/parity/pull/2724) -- [beta] Bumping jsonrpc-http-server [#2715](https://github.com/paritytech/parity/pull/2715) -- [beta] Fix migration system, better errors [#2661](https://github.com/paritytech/parity/pull/2661) - -## Parity [v1.3.8](https://github.com/paritytech/parity/releases/tag/v1.3.8) (2016-10-15) - -Parity 1.3.8 is our EIP150 hard-fork compliant release. - -Running this will enact a mild change of the protocol at block number 2,463,000 which should occur on Tuesday 18th October 2016 at approximately 12:20 London time (BST). This change alters the gas prices for a number of operations, mainly centring around i/o intensive Merkle trie lookups (`BALANCE`, `EXTCODESIZE` &c.) and state-trie polluters (`SUICIDE`, `CREATE` and `CALL`). These operations were heavily underpriced, an oversight which lead to the recent degradation of network service. The full details of the alteration are specified in [EIP-150](https://github.com/ethereum/EIPs/issues/150). - -Additionally several issues have been fixed including: -- a transaction queue limitation leading to dropped transactions; -- a synchronisation issue leading to stalls when syncing; - -And some small features including database performance improvements and additional logging. - -#### Upgrading private chain specification files. - -All the chain specification files now have EIP-150 rules enabled by default. To continue using the chain add the `eip150Transition` key under `Engine/ethash/params` and set it to a future transition block as shown in [this example](https://github.com/paritytech/parity/blob/85eeb3ea6e5e21ad8e5644241edf82eb8069f536/ethcore/res/ethereum/morden.json#L13). - -The key related to homestead transition has been renamed from `frontierCompatibilityModeLimit` to `homesteadTransition`. - -#### Full changes - -- [beta] EIP150.1c [#2599](https://github.com/paritytech/parity/pull/2599) -- Remove count limit for local transactions [#2634](https://github.com/paritytech/parity/pull/2634) -- Tweak DB and mining defaults [#2598](https://github.com/paritytech/parity/pull/2598) -- Revert "Bloom upgrade in beta" [#2635](https://github.com/paritytech/parity/pull/2635) -- Bloom upgrade in beta [#2609](https://github.com/paritytech/parity/pull/2609) -- Backports to beta [#2628](https://github.com/paritytech/parity/pull/2628) - -## Parity [v1.3.7](https://github.com/paritytech/parity/releases/tag/v1.3.7) (2016-10-12) - -This release contains fixes to reduce memory usage under the DoS attack and improve transaction relay. - -- Configurable history size in beta [#2587](https://github.com/paritytech/parity/pull/2587) -- Backports to beta [#2592](https://github.com/paritytech/parity/pull/2592) - - -## Parity [v1.3.6](https://github.com/paritytech/parity/releases/tag/v1.3.6) (2016-10-11) - -Parity 1.3.6 is another hotfix release to address transaction spam and deal with stability issues. With this release transaction pool gas limit no longer applies to local transactions. Full list of changes is available here: - -- Backports to beta v1.3.6 [#2571](https://github.com/paritytech/parity/pull/2571) -- Use global state cache when mining [#2529](https://github.com/paritytech/parity/pull/2529) -- Transaction queue limited by gas [#2528](https://github.com/paritytech/parity/pull/2528) - -## Parity [v1.3.5](https://github.com/paritytech/parity/releases/tag/v1.3.5) (2016-10-08) - -1.3.5 is a hotfix release for the transaction propagation issue. Transaction pool limit is now calculated based on the block gas limit. - -- Update appveyor rustc [beta] [#2521](https://github.com/paritytech/parity/pull/2521) -- Increase size of transaction queue by default [#2519](https://github.com/paritytech/parity/pull/2519) - -## Parity [v1.3.4](https://github.com/paritytech/parity/releases/tag/v1.3.4) (2016-10-07) - -Parity 1.3.4 release contains more optimizations to internal caching as well as stability improvements. - -It also introduces an ability for miners to choose a transaction ordering strategy: - - --tx-queue-strategy S Prioritization strategy used to order transactions - in the queue. S may be: - gas - Prioritize txs with low gas limit; - gas_price - Prioritize txs with high gas price; - gas_factor - Prioritize txs using gas price - and gas limit ratio [default: gas_factor]. - -- Backport to beta [#2518](https://github.com/paritytech/parity/pull/2518) -- [beta] Fixing RPC Filter conversion to EthFilter [#2501](https://github.com/paritytech/parity/pull/2501) -- [beta] Using pending block only if is not old [#2515](https://github.com/paritytech/parity/pull/2515) -- Backports into beta [#2512](https://github.com/paritytech/parity/pull/2512) -- CLI to specify queue ordering strategy [#2494](https://github.com/paritytech/parity/pull/2494) -- Fix ethstore opening all key files in the directory at once (BETA) [#2472](https://github.com/paritytech/parity/pull/2472) -- Beta backports [#2465](https://github.com/paritytech/parity/pull/2465) -- IPC-library dependency fork & bump for beta [#2455](https://github.com/paritytech/parity/pull/2455) - -## Parity [v1.3.3](https://github.com/paritytech/parity/releases/tag/v1.3.3) (2016-10-04) - -1.3.3 is another hotfix release for the DoS attack - -- Jumptable cache [#2435](https://github.com/paritytech/parity/pull/2435) -- fix broken beta compilation (backport to beta) [#2414](https://github.com/paritytech/parity/pull/2414) -- Run inplace upgrades after version update [#2411](https://github.com/paritytech/parity/pull/2411) - -## Parity [v1.3.2](https://github.com/paritytech/parity/releases/tag/v1.3.2) (2016-09-29) - -This is a hotfix release to address stability and performance issues uncovered during the network DoS attack. Full list of changes is available [here](https://github.com/paritytech/parity/compare/v1.3.1...v1.3.2) - -- Beta Backports [#2396](https://github.com/paritytech/parity/pull/2396) -- Fixing penalization in future [#2493](https://github.com/paritytech/parity/pull/2493) -- A quick fix for missing tree route blocks [#2400](https://github.com/paritytech/parity/pull/2400) -- Cache the fork block header after snapshot restoration [#2391](https://github.com/paritytech/parity/pull/2391) -- correct sync memory usage calculation (BETA) [#2386](https://github.com/paritytech/parity/pull/2386) -- Accounts bloom [#2357](https://github.com/paritytech/parity/pull/2357) -- Disable colors when generating signer token. [#2379](https://github.com/paritytech/parity/pull/2379) -- Fixing jit feature compilation [#2376](https://github.com/paritytech/parity/pull/2376) -- Clear state cache on sealed block import [#2377](https://github.com/paritytech/parity/pull/2377) -- DIV optimization (beta) [#2353](https://github.com/paritytech/parity/pull/2353) -- Canonical state cache [#2308](https://github.com/paritytech/parity/pull/2308) -- Reorder transaction_by_hash to favour canon search [#2331](https://github.com/paritytech/parity/pull/2331) -- Lenient bytes deserialization [#2340](https://github.com/paritytech/parity/pull/2340) -- Penalize transactions with gas above gas limit [#2271](https://github.com/paritytech/parity/pull/2271) -- Peek transaction queue via RPC [#2270](https://github.com/paritytech/parity/pull/2270) -- Handle RLP to string UTF-8 decoding errors (#2217) [#2226](https://github.com/paritytech/parity/pull/2226) -- Fixing compilation without default features [beta] [#2207](https://github.com/paritytech/parity/pull/2207) -- Avoid cloning clean stuff [beta backport] [#2173](https://github.com/paritytech/parity/pull/2173) -- v1.3.2 in beta [#2200](https://github.com/paritytech/parity/pull/2200) - -## Parity [v1.3.1](https://github.com/paritytech/parity/releases/tag/v1.3.1) (2016-09-11) - -1.3.1 includes many [bugfixes](https://github.com/paritytech/parity/commit/2a82fa0a47b00bedfec520a2fdd3cc31aa4ccd8c). Critical ones: -- **Chain reorganisation fix** Transaction receipts / traces were sometimes linked with incorrect block hash. Fixed in https://github.com/paritytech/parity/commit/a9587f8965a32c84973c35ce1c8d51d07044143f -- **Trace overflow fix** Overflow which occurred during tracing. Fixed in https://github.com/paritytech/parity/pull/1979 - -- Backports to beta [#2068](https://github.com/paritytech/parity/pull/2068) -- Fixing serde overflow error (#1977) [#2030](https://github.com/paritytech/parity/pull/2030) -- Simplified db pruning detection in beta [#1924](https://github.com/paritytech/parity/pull/1924) -- Backports to beta [#1919](https://github.com/paritytech/parity/pull/1919) - -## Parity [v1.3.0: "Acuity"](https://github.com/paritytech/parity/releases/tag/v1.3.0) (2016-08-12) - -As well as many bug fixes, 1.3.0 includes a number of important improvements including: -- **Optimisations** Heavily optimised block/transaction processing core - up to 2x faster than 1.2 series. -- **Database compression** Databases take as much as 30% less storage than before. -- **State snapshotting** An installation synchronised from scratch in 1-2 minutes can be made after downloading the 140MB state snapshot. See [the wiki](https://github.com/paritytech/parity/wiki/Getting-Synced) for more information. -- **Process isolation** The networking/chain-synchronisation is now a fully independent process. - -Incremental improvements include: -- Additional [RPCs](https://github.com/paritytech/parity/wiki/JSONRPC) for transaction tracing, state diffing, VM tracing, asynchronous transaction posting, accounts metadata and message signing. -- Improved logging, including for chain reorganisations. -- Added a `--fast-and-loose` option for additional speed-ups which can compromise integrity on a dirty shutdown. -- Column families to ensure maximal inter-database integrity. -- Key naming includes date/time of creation. -- Various improvements to networking robustness and performance. -- Solidity compilation supported through RPC if `solc` is available. -- Various improvements to the miner including [HTTP push work notification](https://github.com/ethcoreparitytech/parity/wiki/Mining#starting-it). - -Full changes: -- Bumping Parity UI [#1920](https://github.com/paritytech/parity/pull/1920) -- Adding entrypoints to docker images [#1909](https://github.com/paritytech/parity/pull/1909) -- Save nodes removed from backing_overlay until commit [#1917](https://github.com/paritytech/parity/pull/1917) -- RPC for importing geth keys [#1916](https://github.com/paritytech/parity/pull/1916) -- Peers RPC + UI displaying active/connected/max peers [#1915](https://github.com/paritytech/parity/pull/1915) -- RPC for deriving address from phrase. [#1912](https://github.com/paritytech/parity/pull/1912) -- adjust polling & connection timeouts for ipc [#1910](https://github.com/paritytech/parity/pull/1910) -- Don't return deleted nodes that are not yet flushed [#1908](https://github.com/paritytech/parity/pull/1908) -- Wallet rpcs [#1898](https://github.com/paritytech/parity/pull/1898) -- Fix binary serialization bug [#1907](https://github.com/paritytech/parity/pull/1907) -- fixed #1889, .DS_Store is no longer treated as key file [#1892](https://github.com/paritytech/parity/pull/1892) -- Purging .derefs, fixing clippy warnings. [#1890](https://github.com/paritytech/parity/pull/1890) -- RocksDB version bump [#1904](https://github.com/paritytech/parity/pull/1904) -- Fix ipc compilation and add ipc feature to test targets [#1902](https://github.com/paritytech/parity/pull/1902) -- Autocreating geth dir if none and geth mode on [#1896](https://github.com/paritytech/parity/pull/1896) -- v1.4.0 in master [#1886](https://github.com/paritytech/parity/pull/1886) -- Adding more details to miner log [#1891](https://github.com/paritytech/parity/pull/1891) -- moved hash.rs to bigint library [#1827](https://github.com/paritytech/parity/pull/1827) -- fixed cache_manager lock order [#1877](https://github.com/paritytech/parity/pull/1877) -- Fixing miner deadlock [#1885](https://github.com/paritytech/parity/pull/1885) -- Updating WS + Increasing token validity [#1882](https://github.com/paritytech/parity/pull/1882) -- take snapshot at specified block and slightly better informants [#1873](https://github.com/paritytech/parity/pull/1873) -- RPC errors & logs [#1845](https://github.com/paritytech/parity/pull/1845) -- Reduce max open files [#1876](https://github.com/paritytech/parity/pull/1876) -- Send new block hashes to all peers [#1875](https://github.com/paritytech/parity/pull/1875) -- Use UntrustedRlp for block verification [#1872](https://github.com/paritytech/parity/pull/1872) -- Update cache usage on commiting block info [#1871](https://github.com/paritytech/parity/pull/1871) -- Validating conversion U256->usize when doing gas calculation (for 32bits) [#1870](https://github.com/paritytech/parity/pull/1870) -- Sync to peers with confirmed fork block only [#1863](https://github.com/paritytech/parity/pull/1863) -- miner and client take spec reference [#1853](https://github.com/paritytech/parity/pull/1853) -- Unlock account with timeout for geth compatibility [#1854](https://github.com/paritytech/parity/pull/1854) -- Fixed reported max height and transaction propagation [#1852](https://github.com/paritytech/parity/pull/1852) -- Snapshot creation and restoration [#1679](https://github.com/paritytech/parity/pull/1679) -- fix deprecated typo [#1850](https://github.com/paritytech/parity/pull/1850) -- Split IO and network crates [#1828](https://github.com/paritytech/parity/pull/1828) -- updated classic JSON spec with classic bootnodes, fixes #1842 [#1847](https://github.com/paritytech/parity/pull/1847) -- protect unsafety in plainhasher; get more unique hashes [#1841](https://github.com/paritytech/parity/pull/1841) -- use mutex in dbtransaction [#1843](https://github.com/paritytech/parity/pull/1843) -- Fix state not using "account_starting_nonce" [#1830](https://github.com/paritytech/parity/pull/1830) -- Supporting blockid in eth_call and trace_call/trace_raw [#1837](https://github.com/paritytech/parity/pull/1837) -- eth_checkTransaction renamed to eth_checkRequest [#1817](https://github.com/paritytech/parity/pull/1817) -- Bump json-ipc-server again [#1839](https://github.com/paritytech/parity/pull/1839) -- Fixing another deadlock in trace db [#1833](https://github.com/paritytech/parity/pull/1833) -- Fix up the VM trace. [#1829](https://github.com/paritytech/parity/pull/1829) -- fixed parsing export params, fixes #1826 [#1834](https://github.com/paritytech/parity/pull/1834) -- More performance optimizations [#1814](https://github.com/paritytech/parity/pull/1814) -- Bumping clippy & fixing warnings [#1823](https://github.com/paritytech/parity/pull/1823) -- removed unused code from util and unnecessary dependency of FixedHash [#1824](https://github.com/paritytech/parity/pull/1824) -- Remove (almost all) panickers from trie module [#1776](https://github.com/paritytech/parity/pull/1776) -- Fixing account naming [#1810](https://github.com/paritytech/parity/pull/1810) -- JournalDB inject [#1806](https://github.com/paritytech/parity/pull/1806) -- No block number in get work while in geth-compat mode. [#1821](https://github.com/paritytech/parity/pull/1821) -- Import wallet fix [#1820](https://github.com/paritytech/parity/pull/1820) -- Supporting eth_sign in Signer [#1787](https://github.com/paritytech/parity/pull/1787) -- Fixing cache update after chain reorg [#1816](https://github.com/paritytech/parity/pull/1816) -- Development mode for Signer UI [#1788](https://github.com/paritytech/parity/pull/1788) -- Miner tweaks [#1797](https://github.com/paritytech/parity/pull/1797) -- Util & ipc clenup [#1807](https://github.com/paritytech/parity/pull/1807) -- Fixing unlock parsing [#1802](https://github.com/paritytech/parity/pull/1802) -- fixed importing presale wallet with encseed longer than 96 bytes [#1801](https://github.com/paritytech/parity/pull/1801) -- DRYing build scripts [#1795](https://github.com/paritytech/parity/pull/1795) -- Allow code from spec json [#1790](https://github.com/paritytech/parity/pull/1790) -- nano-tests (ipc transport) to the CI [#1793](https://github.com/paritytech/parity/pull/1793) -- Commit best block after closing transaction [#1791](https://github.com/paritytech/parity/pull/1791) -- Place thread name in the log output [#1792](https://github.com/paritytech/parity/pull/1792) -- Fix ipc tests and bring to CI [#1789](https://github.com/paritytech/parity/pull/1789) -- dynamic keys pickup [#1779](https://github.com/paritytech/parity/pull/1779) -- ipc version bump [#1783](https://github.com/paritytech/parity/pull/1783) -- Prevent deadlock on trace GC [#1780](https://github.com/paritytech/parity/pull/1780) -- fixed trace_transaction crash when block contained suicide [#1781](https://github.com/paritytech/parity/pull/1781) -- Fix block body migration [#1777](https://github.com/paritytech/parity/pull/1777) -- cache manager and clearing tracing cache [#1769](https://github.com/paritytech/parity/pull/1769) -- Return storage as H256 from RPC. [#1774](https://github.com/paritytech/parity/pull/1774) -- Instant sealing engine [#1767](https://github.com/paritytech/parity/pull/1767) -- fix state unsafety with a mostly-guaranteed handle [#1755](https://github.com/paritytech/parity/pull/1755) -- Gas for mem optimization [#1768](https://github.com/paritytech/parity/pull/1768) -- Min and Max peers setting [#1771](https://github.com/paritytech/parity/pull/1771) -- Disable WAL [#1765](https://github.com/paritytech/parity/pull/1765) -- Add new line when printing start strings [#1766](https://github.com/paritytech/parity/pull/1766) -- Log tweak [#1764](https://github.com/paritytech/parity/pull/1764) -- Remove update_sealing call on importing own block [#1762](https://github.com/paritytech/parity/pull/1762) -- Single DB [#1741](https://github.com/paritytech/parity/pull/1741) -- Tweak format of log so it's not so verbose. [#1758](https://github.com/paritytech/parity/pull/1758) -- Combine mining queue and enabled into single locked datum [#1749](https://github.com/paritytech/parity/pull/1749) -- Collect consensus/null engines into a single module [#1754](https://github.com/paritytech/parity/pull/1754) -- Fix failing deserialization test [#1756](https://github.com/paritytech/parity/pull/1756) -- Stackoverflow fix [#1742](https://github.com/paritytech/parity/pull/1742) -- compaction profile used during migration, fixes #1750 [#1751](https://github.com/paritytech/parity/pull/1751) -- Splitting documentation into separate build job [#1752](https://github.com/paritytech/parity/pull/1752) -- handle keys deserialization errors, fixes #1592 [#1701](https://github.com/paritytech/parity/pull/1701) -- add gitlab-ci yaml [#1753](https://github.com/paritytech/parity/pull/1753) -- Better handling of multiple migrations [#1747](https://github.com/paritytech/parity/pull/1747) -- Disconnect peers on a fork [#1738](https://github.com/paritytech/parity/pull/1738) -- Add RPC & client call to replay a transaction. [#1734](https://github.com/paritytech/parity/pull/1734) -- another version bump for jsonrpc-ipc [#1744](https://github.com/paritytech/parity/pull/1744) -- Trace other types of calls [#1727](https://github.com/paritytech/parity/pull/1727) -- Fixing compilation on latest nightly [#1736](https://github.com/paritytech/parity/pull/1736) -- Blocks and snapshot compression [#1687](https://github.com/paritytech/parity/pull/1687) -- bump json-ipc-server version [#1739](https://github.com/paritytech/parity/pull/1739) -- Use std::sync::Condvar [#1732](https://github.com/paritytech/parity/pull/1732) -- Bump json-ipc-server version [#1733](https://github.com/paritytech/parity/pull/1733) -- bump json-ipc-server version [#1731](https://github.com/paritytech/parity/pull/1731) -- Fixing some clippy warnings [#1728](https://github.com/paritytech/parity/pull/1728) -- Bumping Parity UI [#1682](https://github.com/paritytech/parity/pull/1682) -- Various improvements to tracing & diagnostics. [#1707](https://github.com/paritytech/parity/pull/1707) -- Fixed reading chunked EIP8 handshake [#1712](https://github.com/paritytech/parity/pull/1712) -- Fix for importing blocks from a pipe file [#1724](https://github.com/paritytech/parity/pull/1724) -- Proper errors for binary serializer [#1714](https://github.com/paritytech/parity/pull/1714) -- Use a transaction for writing blocks [#1718](https://github.com/paritytech/parity/pull/1718) -- Exclude generated code from coverage [#1720](https://github.com/paritytech/parity/pull/1720) -- Use single binary for ipc modules [#1710](https://github.com/paritytech/parity/pull/1710) -- Log a chain-reorg. [#1715](https://github.com/paritytech/parity/pull/1715) -- Restore new block informant message [#1716](https://github.com/paritytech/parity/pull/1716) -- Parallel block body download [#1659](https://github.com/paritytech/parity/pull/1659) -- Rotate blockchain cache [#1709](https://github.com/paritytech/parity/pull/1709) -- Fix broken internal names. [#1711](https://github.com/paritytech/parity/pull/1711) -- cli overhaul [#1600](https://github.com/paritytech/parity/pull/1600) -- Key files include timestamp in name. [#1700](https://github.com/paritytech/parity/pull/1700) -- Fixing warnings [#1705](https://github.com/paritytech/parity/pull/1705) -- Ethereum classic [#1706](https://github.com/paritytech/parity/pull/1706) -- Docker Arguments [#1703](https://github.com/paritytech/parity/pull/1703) -- Informant tidyup. [#1699](https://github.com/paritytech/parity/pull/1699) -- Name and meta in accounts [#1695](https://github.com/paritytech/parity/pull/1695) -- Stackoverflow #1686 [#1698](https://github.com/paritytech/parity/pull/1698) -- filtering transactions toAddress includes contract creation [#1697](https://github.com/paritytech/parity/pull/1697) -- Prevent syncing to ancient blocks [#1693](https://github.com/paritytech/parity/pull/1693) -- Enable WAL and disable DB repair [#1696](https://github.com/paritytech/parity/pull/1696) -- Returning error when transaction is rejected (for consistency) [#1667](https://github.com/paritytech/parity/pull/1667) -- Disabling signer when in geth-compatibility mode [#1676](https://github.com/paritytech/parity/pull/1676) -- Suicides tracing [#1688](https://github.com/paritytech/parity/pull/1688) -- small cleanup of substate.rs [#1685](https://github.com/paritytech/parity/pull/1685) -- resolve #411: remove install scripts [#1684](https://github.com/paritytech/parity/pull/1684) -- IPC (feature-gated) [#1654](https://github.com/paritytech/parity/pull/1654) -- Bumping JSONRPC-http-server [#1678](https://github.com/paritytech/parity/pull/1678) -- Fixing hash deserialisation [#1674](https://github.com/paritytech/parity/pull/1674) -- Ping discovery nodes gradually [#1671](https://github.com/paritytech/parity/pull/1671) -- Fixing the deadlock on incoming connection [#1672](https://github.com/paritytech/parity/pull/1672) -- Fixing errors returned by sendTransaction* method family [#1665](https://github.com/paritytech/parity/pull/1665) -- Moved syncing log out of the client [#1670](https://github.com/paritytech/parity/pull/1670) -- Host validation (again) [#1666](https://github.com/paritytech/parity/pull/1666) -- Update install-deps.sh [ci skip] [#1664](https://github.com/paritytech/parity/pull/1664) -- fix typos [#1644](https://github.com/paritytech/parity/pull/1644) -- Size for blocks [#1668](https://github.com/paritytech/parity/pull/1668) -- Revert "Validating Host headers in RPC requests" [#1663](https://github.com/paritytech/parity/pull/1663) -- Validating Host headers in RPC requests [#1658](https://github.com/paritytech/parity/pull/1658) -- fixed failing master [#1662](https://github.com/paritytech/parity/pull/1662) -- Fixing clippy warnings [#1660](https://github.com/paritytech/parity/pull/1660) -- Don't ping all nodes on start [#1656](https://github.com/paritytech/parity/pull/1656) -- More performance optimizations [#1649](https://github.com/paritytech/parity/pull/1649) -- Removing unused client code [#1645](https://github.com/paritytech/parity/pull/1645) -- Asynchronous transactions (polling based for now). [#1652](https://github.com/paritytech/parity/pull/1652) -- Sync stand-alone binary and feature-gated dependencies refactoring [#1637](https://github.com/paritytech/parity/pull/1637) -- Re-enabling Parity UI [#1627](https://github.com/paritytech/parity/pull/1627) -- Blockchain repair on missing state root [#1646](https://github.com/paritytech/parity/pull/1646) -- Multi-mode logging. [#1643](https://github.com/paritytech/parity/pull/1643) -- Pro paths [#1650](https://github.com/paritytech/parity/pull/1650) -- Performance optimizations [#1642](https://github.com/paritytech/parity/pull/1642) -- Removed DAO soft fork traces [#1639](https://github.com/paritytech/parity/pull/1639) -- Compiler version update for windows [#1638](https://github.com/paritytech/parity/pull/1638) -- Delete values immediately from DB overlay [#1631](https://github.com/paritytech/parity/pull/1631) -- DAO hard-fork [#1483](https://github.com/paritytech/parity/pull/1483) -- fix network_start regression [#1629](https://github.com/paritytech/parity/pull/1629) -- Die if the DB is newer than the one supported. [#1630](https://github.com/paritytech/parity/pull/1630) -- Cleanup of colour code. Use is_a_tty. [#1621](https://github.com/paritytech/parity/pull/1621) -- don't batch best block for branches [#1623](https://github.com/paritytech/parity/pull/1623) -- In-memory trie operations [#1408](https://github.com/paritytech/parity/pull/1408) -- Fix "pending" parameter on RPC block requests [#1602](https://github.com/paritytech/parity/pull/1602) -- Allow RPC to use solc to compile solidity [#1607](https://github.com/paritytech/parity/pull/1607) -- IPC RPC deriving for traits [#1599](https://github.com/paritytech/parity/pull/1599) -- Utilize cached kcov if exists [#1619](https://github.com/paritytech/parity/pull/1619) -- Fixing no-ui feature [#1618](https://github.com/paritytech/parity/pull/1618) -- Couple of rocksdb optimizations [#1614](https://github.com/paritytech/parity/pull/1614) -- Miner tests [#1597](https://github.com/paritytech/parity/pull/1597) -- Sync IPC interface [#1584](https://github.com/paritytech/parity/pull/1584) -- Make sure reserved peers are in the node table [#1616](https://github.com/paritytech/parity/pull/1616) -- Fix bloomchain on blockchain repair [#1610](https://github.com/paritytech/parity/pull/1610) -- fixed broken tracing [#1615](https://github.com/paritytech/parity/pull/1615) -- fix benchmark compilation [#1612](https://github.com/paritytech/parity/pull/1612) -- Updating jsonrpc-http-server [#1611](https://github.com/paritytech/parity/pull/1611) -- replace synchronization primitives with those from parking_lot [#1593](https://github.com/paritytech/parity/pull/1593) -- ui compilation feature [#1604](https://github.com/paritytech/parity/pull/1604) -- is_zero() and pow() optimisations for uint [#1608](https://github.com/paritytech/parity/pull/1608) -- Optimizing & Cleaning the build [#1591](https://github.com/paritytech/parity/pull/1591) -- Fix logging [#1590](https://github.com/paritytech/parity/pull/1590) -- remove unnecessary mutex in logging [#1601](https://github.com/paritytech/parity/pull/1601) -- Using streamlined parity-ui repository [#1566](https://github.com/paritytech/parity/pull/1566) -- Optimizing InstructionInfo access. [#1595](https://github.com/paritytech/parity/pull/1595) -- V7 Migration progress indicator [#1594](https://github.com/paritytech/parity/pull/1594) -- bring snapshotting work into master [#1577](https://github.com/paritytech/parity/pull/1577) -- Bump clippy [#1587](https://github.com/paritytech/parity/pull/1587) -- refactoring of handshake messages serialization in ipc [#1586](https://github.com/paritytech/parity/pull/1586) -- expunge &Vec pattern [#1579](https://github.com/paritytech/parity/pull/1579) -- EVM gas for memory tiny optimization [#1578](https://github.com/paritytech/parity/pull/1578) -- cleaned up parity/signer [#1551](https://github.com/paritytech/parity/pull/1551) -- Major sync <-> client interactions refactoring [#1572](https://github.com/paritytech/parity/pull/1572) -- failing test with overlayrecent pruning [#1567](https://github.com/paritytech/parity/pull/1567) -- Enable state queries for OverlayRecent DB [#1575](https://github.com/paritytech/parity/pull/1575) -- have AccountDB use address hash for uniqueness [#1533](https://github.com/paritytech/parity/pull/1533) -- Very basic EVM binary. [#1574](https://github.com/paritytech/parity/pull/1574) -- Some obvious evm & uint optimizations [#1576](https://github.com/paritytech/parity/pull/1576) -- Fixing clippy warnings [#1568](https://github.com/paritytech/parity/pull/1568) -- Miner's gas price gets updated dynamically [#1570](https://github.com/paritytech/parity/pull/1570) -- bringing hypervisor as a crate in ipc dir [#1565](https://github.com/paritytech/parity/pull/1565) -- Init public interface with IO message [#1573](https://github.com/paritytech/parity/pull/1573) -- Uncommenting simple Miner tests [#1571](https://github.com/paritytech/parity/pull/1571) -- Kill lock unwraps [#1558](https://github.com/paritytech/parity/pull/1558) -- Fixing deadlock in miner [#1569](https://github.com/paritytech/parity/pull/1569) -- Idealpeers in log [#1563](https://github.com/paritytech/parity/pull/1563) -- Simple style fix. [#1561](https://github.com/paritytech/parity/pull/1561) -- Enum variants serialisation test&fix [#1559](https://github.com/paritytech/parity/pull/1559) -- Supporting /api/ping for dapps server [#1543](https://github.com/paritytech/parity/pull/1543) -- Client IPC Interface [#1493](https://github.com/paritytech/parity/pull/1493) -- Kill timers when removing IO handler [#1554](https://github.com/paritytech/parity/pull/1554) -- Fix and add info messages [#1552](https://github.com/paritytech/parity/pull/1552) -- Fix indent of #1541 [#1555](https://github.com/paritytech/parity/pull/1555) -- Update sealing just once when externally importing many blocks [#1541](https://github.com/paritytech/parity/pull/1541) -- Remove soft-fork stuff. [#1548](https://github.com/paritytech/parity/pull/1548) -- fix codegen warning [#1550](https://github.com/paritytech/parity/pull/1550) -- Extend migration framework [#1546](https://github.com/paritytech/parity/pull/1546) -- Refactoring dapps to support API endpoints. [#1542](https://github.com/paritytech/parity/pull/1542) -- serde is no longer util dependency [#1534](https://github.com/paritytech/parity/pull/1534) -- mention wiki in README [#1549](https://github.com/paritytech/parity/pull/1549) -- Skipping transactions with invalid nonces when pushing to block. [#1545](https://github.com/paritytech/parity/pull/1545) -- Silent running operating modes [#1477](https://github.com/paritytech/parity/pull/1477) -- util cleanup [#1474](https://github.com/paritytech/parity/pull/1474) -- Calculating gas using usize (if supplied gaslimit fits in usize) [#1518](https://github.com/paritytech/parity/pull/1518) -- add owning NibbleVec [#1536](https://github.com/paritytech/parity/pull/1536) -- Attempt to fix blochchain/extras DBs sync [#1538](https://github.com/paritytech/parity/pull/1538) -- Client API refactoring - limiting errors to crate-level error types [#1525](https://github.com/paritytech/parity/pull/1525) -- IPC codegen enhancement - allow void methods [#1540](https://github.com/paritytech/parity/pull/1540) -- Fixing serving nested files for dapps. [#1539](https://github.com/paritytech/parity/pull/1539) -- Fixed public address config [#1537](https://github.com/paritytech/parity/pull/1537) -- Fixing compilation&clippy warnings [#1531](https://github.com/paritytech/parity/pull/1531) -- creating ethereum dir while in geth mode [#1530](https://github.com/paritytech/parity/pull/1530) -- Bumping clippy [#1532](https://github.com/paritytech/parity/pull/1532) -- Make signer default as long as --unlock isn't used. [#1524](https://github.com/paritytech/parity/pull/1524) -- add client timeout when requesting usd price for gas [#1526](https://github.com/paritytech/parity/pull/1526) -- Fix gitter-url link in README.md [#1528](https://github.com/paritytech/parity/pull/1528) -- Fix error message. [#1527](https://github.com/paritytech/parity/pull/1527) -- BTreeMap binary serialization [#1489](https://github.com/paritytech/parity/pull/1489) -- Save block reference in the queue on notification [#1501](https://github.com/paritytech/parity/pull/1501) -- bigint tests to run on CI [#1522](https://github.com/paritytech/parity/pull/1522) -- Client api cleaning - uncles are returned as rlp [#1516](https://github.com/paritytech/parity/pull/1516) -- Fatdb integration with CLI [#1464](https://github.com/paritytech/parity/pull/1464) -- Optimizing/simplifying shr [#1517](https://github.com/paritytech/parity/pull/1517) -- change IPC codegen to allow attributes [#1500](https://github.com/paritytech/parity/pull/1500) -- Fix warnings [#1514](https://github.com/paritytech/parity/pull/1514) -- FatDB [#1452](https://github.com/paritytech/parity/pull/1452) -- Fix the reseal mechanism. [#1513](https://github.com/paritytech/parity/pull/1513) -- Update Dockerfile ubuntu-aarch64 [#1509](https://github.com/paritytech/parity/pull/1509) -- Update Ubuntu-arm Dockerfile [#1510](https://github.com/paritytech/parity/pull/1510) -- Update Ubuntu-jit Dockerfile [#1511](https://github.com/paritytech/parity/pull/1511) -- Update Ubuntu Dockerfile [#1512](https://github.com/paritytech/parity/pull/1512) -- Update CentOS Dockerfile [#1508](https://github.com/paritytech/parity/pull/1508) -- bump status page v0.5.1 [#1502](https://github.com/paritytech/parity/pull/1502) -- Update CentOS Dockerfile [#1507](https://github.com/paritytech/parity/pull/1507) -- Update Dockerfile ubuntu-aarch64 [#1506](https://github.com/paritytech/parity/pull/1506) -- Update Ubuntu-arm Dockerfile [#1505](https://github.com/paritytech/parity/pull/1505) -- Update Ubuntu-jit Dockerfile [#1504](https://github.com/paritytech/parity/pull/1504) -- Update Ubuntu Dockerfile [#1503](https://github.com/paritytech/parity/pull/1503) -- Optionally clone block behind work-package [#1497](https://github.com/paritytech/parity/pull/1497) -- Fix no colour on windows. [#1498](https://github.com/paritytech/parity/pull/1498) -- Workaround for hyper panic [#1495](https://github.com/paritytech/parity/pull/1495) -- Colourful notification on mine [#1488](https://github.com/paritytech/parity/pull/1488) -- Quick fix for max open files error [#1494](https://github.com/paritytech/parity/pull/1494) -- Work notification over HTTP [#1491](https://github.com/paritytech/parity/pull/1491) -- Sealed block importing and propagation optimization [#1478](https://github.com/paritytech/parity/pull/1478) -- vm factory to mining client [#1487](https://github.com/paritytech/parity/pull/1487) -- topbar dialog fix [#1479](https://github.com/paritytech/parity/pull/1479) -- Minor additions to allow resetting of code. [#1482](https://github.com/paritytech/parity/pull/1482) -- Introduce options for fine-grained management of work queue. [#1484](https://github.com/paritytech/parity/pull/1484) -- Snapshot state restoration [#1308](https://github.com/paritytech/parity/pull/1308) -- Merge master into pv64 branch [#1486](https://github.com/paritytech/parity/pull/1486) -- Ensure we don't reject our own transactions for gasprice. [#1485](https://github.com/paritytech/parity/pull/1485) -- Signing parity executable & windows installer in appveyor [#1481](https://github.com/paritytech/parity/pull/1481) -- Rearrange fork CLI options. [#1476](https://github.com/paritytech/parity/pull/1476) -- give appveyor some breath [#1475](https://github.com/paritytech/parity/pull/1475) -- Ensure we always get the latest work when mining on submitted. [#1469](https://github.com/paritytech/parity/pull/1469) -- Tests for views [#1471](https://github.com/paritytech/parity/pull/1471) -- json ipc version bump [#1470](https://github.com/paritytech/parity/pull/1470) -- verifier is no longer a template type of client [#1467](https://github.com/paritytech/parity/pull/1467) -- Allow configuration of when to reseal blocks. [#1460](https://github.com/paritytech/parity/pull/1460) -- removed unsafe code [#1466](https://github.com/paritytech/parity/pull/1466) -- WS bump + Adding default for value [#1465](https://github.com/paritytech/parity/pull/1465) -- Attempt DB repair if corrupted [#1461](https://github.com/paritytech/parity/pull/1461) -- Database configuration extended [#1454](https://github.com/paritytech/parity/pull/1454) -- Updating WS-RS server [#1459](https://github.com/paritytech/parity/pull/1459) -- Reduced IO messages; removed panics on IO notifications [#1457](https://github.com/paritytech/parity/pull/1457) -- Handle errors when starting parity --signer [#1451](https://github.com/paritytech/parity/pull/1451) -- Fixed losing queued blocks on error [#1453](https://github.com/paritytech/parity/pull/1453) -- Updated to latest hyper with patched mio [#1450](https://github.com/paritytech/parity/pull/1450) -- Retweak BASE and MULTIPLIER in rocksdb config. [#1445](https://github.com/paritytech/parity/pull/1445) -- Removing Miner::default. [#1410](https://github.com/paritytech/parity/pull/1410) -- Don't mine without --author [#1436](https://github.com/paritytech/parity/pull/1436) -- Revert the rescuedao extradata. [#1437](https://github.com/paritytech/parity/pull/1437) -- More conservative settings for rocksdb. [#1440](https://github.com/paritytech/parity/pull/1440) -- v1.3.0 in master [#1421](https://github.com/paritytech/parity/pull/1421) -- Update Ubuntu-arm Dockerfile [#1429](https://github.com/paritytech/parity/pull/1429) -- Create Dockerfile ubuntu-aarch64 [#1430](https://github.com/paritytech/parity/pull/1430) -- Update CentOS Dockerfile [#1424](https://github.com/paritytech/parity/pull/1424) -- Update Ubuntu Dockerfile [#1426](https://github.com/paritytech/parity/pull/1426) -- Update Ubuntu-jit Dockerfile [#1427](https://github.com/paritytech/parity/pull/1427) -- Update SF blocknumber to 1800000. [#1418](https://github.com/paritytech/parity/pull/1418) - -## Parity [v1.2.4](https://github.com/paritytech/parity/releases/tag/v1.2.4) (2016-08-09) - -Parity 1.2.4 Is a maintenance release that fixes a [few](https://github.com/paritytech/parity/pull/1888/commits) issues related to mining and peer synchronization. -This release is marked as stable. - -- Backports for beta [#1888](https://github.com/paritytech/parity/pull/1888) -- BETA: fixed trace_transaction crash when block contained suicide [#1782](https://github.com/paritytech/parity/pull/1782) - -## Parity [v1.2.3](https://github.com/paritytech/parity/releases/tag/v1.2.3) (2016-07-31) - -Parity 1.2.3 is a patch release that addresses network stability issues for both Ethereum HF and Ethereum classic chains and brings a few changes to the transaction tracing API. - -#### Tracing API changes -- Added tracing for `CALLCODE`, `DELEGATECALL` and `SUICIDE` -- `trace_call` returns traces in flat format -- Added 2 new methods: `trace_rawTransaction` and `trace_replayTransaction` - -Note that to continue using tracing features in this version you need to re-sync the blockchain. This can be done by using `parity export $HOME/ethereum-chain-backup.rlp` , deleting the database usually located at `~/.parity/906a34e69aec8c0d` followed by `parity import $HOME/ethereum-chain-backup.rlp`. - -- [beta] Updating UI [#1778](https://github.com/paritytech/parity/pull/1778) -- tracing backport [#1770](https://github.com/paritytech/parity/pull/1770) -- Backport commits to beta [#1763](https://github.com/paritytech/parity/pull/1763) -- Deadlock on incoming connection (#1672) [#1675](https://github.com/paritytech/parity/pull/1675) -- [BETA] Removed DAO soft fork traces [#1640](https://github.com/paritytech/parity/pull/1640) - - -## Parity [v1.2.2](https://github.com/paritytech/parity/releases/tag/v1.2.2) (2016-07-16) - -#### New -- DAO hard-fork. - -DAO hard-fork implementation conforms to the [specification](https://blog.slock.it/hard-fork-specification-24b889e70703) and is enabled by default. - -#### Changed -- `--reseal-on-txs` defaults to `own`. -- DAO soft-fork support has been removed along with related command line options. - -#### Resolved issues -- `--db-cache-size` consuming too much memory. - `eth_getWork` RPC response additionally includes the block number. -- Skipping transactions with invalid nonces when pushing to block. -- Update sealing just once when externally importing many blocks (#1541). -- Transaction tracing skipping simple transactions (#1606). -- Other small fixes and improvements. - -Full changelog - -- DAO hard-fork (#1483) [#1636](https://github.com/paritytech/parity/pull/1636) -- Backports for beta [#1628](https://github.com/paritytech/parity/pull/1628) -- don't batch best block for branches (#1623) [#1626](https://github.com/paritytech/parity/pull/1626) -- Merge bugfixes from master to beta [#1605](https://github.com/paritytech/parity/pull/1605) -- (BETA) using block options cache instead of general cache for rocksdb [#1613](https://github.com/paritytech/parity/pull/1613) -- Backport sealing fixes to beta [#1583](https://github.com/paritytech/parity/pull/1583) -- v1.2.2 in beta [#1581](https://github.com/paritytech/parity/pull/1581) -- Skipping transactions with invalid nonces when pushing to block. (#1545) [#1547](https://github.com/paritytech/parity/pull/1547) - - -## Parity [v1.2.1](https://github.com/paritytech/parity/releases/tag/v1.2.1) (2016-07-01) - -#### New -- Options for more precise mining tuning (see below). -- Informative notification when block mined. -- HTTP signal on new work-package. -- Optimised database insertion for self-mined blocks. -- Short-circuit for local transaction gas-price approval. -- A number of issues related to mining have been fixed. - -##### Mining options -- `--author` is now required for mining. -- `--reseal-on-txs` Specify which transactions should force the node to reseal a block. By default parity updates the seal on incoming transactions to reduce transaction latency. Set this option to `none` to force updates on new blocks only. -- `--reseal-min-period` Can be used to control how often a new pending block is generated if `none` is not selected on prior option. -- `--work-queue-size` Controls how many pending blocks to keep in memory. -- `--relay-set` Can be used to enable more strict transaction verification. -- `--remove-solved` Move solved blocks from the work package queue instead of cloning them. This gives a slightly faster import speed, but means that extra solutions submitted for the same work package will go unused. -- `--notify-work` Accepts a list of URLs that will receive a POST request when new work package is available. The body of the POST message is JSON encoded and has the same format as `eth_getWork` RPC response. - -##### RPC - -`eth_getWork` RPC response additionally includes the block number. - -##### DAO soft-fork - -DAO soft-fork control options have been replaced by the single `--fork` option which disables the soft-fork by default. - -#### Changes - -- v1.2.1 in beta [#1492](https://github.com/paritytech/parity/pull/1492) -- (BETA) add artifacts [#1420](https://github.com/paritytech/parity/pull/1420) - -## Parity [v1.2.0: "Security"](https://github.com/paritytech/parity/releases/tag/v1.2.0) (2016-06-24) - -[Blog post](https://blog.parity.io/announcing-parity-1-2/) - -#### New - -- Transaction signing UI. -- IPC/RPC module. -- Optimised mining support. -- Windows build. -- DAO soft-fork support. - -##### Transaction signing UI - -This is a new framework for signing transactions. It fulfills three requirements: -- You should never have to type your passwords into a Dapp. -- No Javascript code should ever hold a secret. -- No transaction should ever be signed without the consent of the user. - -The feature is enabled through the `--signer` flag. When enabled, the user must ensure at least one "Signer UI" is set-up for managing transaction confirmation. There are two such UIs available; one through a Google Chrome Extension, separately installable and the second through a special web page hosted locally. Set-up must be done once for each such UI, through copying and pasting a token from the output console of Parity into the UI. Specific instructions are given in the UI. - -From this point on, no transaction may ever be signed by Parity except through one of these allowed Signer UIs, and no password should ever be entered anywhere else. - -##### IPC/RPC module and Mist/Geth compatibility - -Should be started with `--geth` to ensure Mist compatibility. - -##### Optimised mining support - -Numerous improvements and optimisations have been added to our mining implementation. A large "active queue" ensures that late-included transactions are included in the mined block without sacrificing older results from latent-reported `ethminer` results. - -##### Windows build - -We're happy to announce full Windows support with 1.2! - -##### Soft-fork - -This release includes support for the proposed [DAO soft-fork](https://docs.google.com/document/d/10RktunzjKNfp6Y8Cu4EhR5V9IqxEZq42LU126EYhWY4/pub). Upon upgrade, all mining nodes can vote for or against the soft fork (this is done through altering the block gas limit; a gas limit of at most 4M results in the soft-fork being triggered). - -By default, nodes vote "for" the DAO soft-fork (and try to reduce the gas limit to 3.1M). To vote against the soft-fork (keeping it at 4.7M), run with `--dont-help-rescue-dao`. Not upgrading is not recommended; if the majority votes with a soft-fork, an upgrade will be necessary to mine on the correct chain. - -#### Changed -- Fast pruning method is now default for a fresh sync. -- Web UI renamed to Dapps UI. -- JSONRPC and Dapps UI enabled by default. -- CLI options ending `-off` renamed to GNU-consistent prefix `--no-`. -- Dynamic gas-pricing (data feed and statistical techniques used to determine optimum gas prices). - -Full changes: - -- Signer enabled by default for UI [#1417](https://github.com/paritytech/parity/pull/1417) -- Remove experimental pruning options. [#1415](https://github.com/paritytech/parity/pull/1415) -- Fixing interface and port for parity ui [#1414](https://github.com/paritytech/parity/pull/1414) -- Configurable gas limit cap. [#1405](https://github.com/paritytech/parity/pull/1405) -- Bumping TopBar, Minimal SignerUI and wallet [#1413](https://github.com/paritytech/parity/pull/1413) -- Sync: Update highest block for progress reporting [#1411](https://github.com/paritytech/parity/pull/1411) -- Tweaked CLI options for the release [#1407](https://github.com/paritytech/parity/pull/1407) -- Further rocksdb tuning [#1409](https://github.com/paritytech/parity/pull/1409) -- Fixing jit compilation [#1406](https://github.com/paritytech/parity/pull/1406) -- Bump clippy [#1403](https://github.com/paritytech/parity/pull/1403) -- Shortcut SF condition when canon known [#1401](https://github.com/paritytech/parity/pull/1401) -- Additional assertions for internal state of queue [#1402](https://github.com/paritytech/parity/pull/1402) -- Replace deprecated hashdb trait names [#1394](https://github.com/paritytech/parity/pull/1394) -- rpc api by default for ipc [#1400](https://github.com/paritytech/parity/pull/1400) -- Ensure judging the SF trigger by relative branch [#1399](https://github.com/paritytech/parity/pull/1399) -- Signer with unlocked account working as expected. [#1398](https://github.com/paritytech/parity/pull/1398) -- Make --signer default. [#1392](https://github.com/paritytech/parity/pull/1392) -- Presale wallet [#1376](https://github.com/paritytech/parity/pull/1376) -- Removing signer connection limit [#1396](https://github.com/paritytech/parity/pull/1396) -- Optional gas price in transactions come from statistics [#1388](https://github.com/paritytech/parity/pull/1388) -- Update README.md with cargo install [ci-skip] [#1389](https://github.com/paritytech/parity/pull/1389) -- Fixing possible overflow during multiplication [#1381](https://github.com/paritytech/parity/pull/1381) -- Update SF to latest spec [#1386](https://github.com/paritytech/parity/pull/1386) -- Sync optimization [#1385](https://github.com/paritytech/parity/pull/1385) -- Fixing order of if statements to avoid overflows. [#1384](https://github.com/paritytech/parity/pull/1384) -- New topbar & signer UI [#1383](https://github.com/paritytech/parity/pull/1383) -- Install trigger for DAO-rescue soft-fork. [#1329](https://github.com/paritytech/parity/pull/1329) -- Rocksdb flush/compact limit [#1375](https://github.com/paritytech/parity/pull/1375) -- CentOS Dockerfile [#1377](https://github.com/paritytech/parity/pull/1377) -- RPC method to return number of unconfirmed transactions... [#1371](https://github.com/paritytech/parity/pull/1371) -- bump jsonrpc-http-server [#1369](https://github.com/paritytech/parity/pull/1369) -- Fix lock order when updating sealing [#1364](https://github.com/paritytech/parity/pull/1364) -- Update sealing on new transactions [#1365](https://github.com/paritytech/parity/pull/1365) -- Fixed panic on aborted connection [#1370](https://github.com/paritytech/parity/pull/1370) -- importing presale wallet [#1368](https://github.com/paritytech/parity/pull/1368) -- Set default database file size large enough [#1363](https://github.com/paritytech/parity/pull/1363) -- Reserved peers rpc API [#1360](https://github.com/paritytech/parity/pull/1360) -- Fixing replacing transaction with lower gas_price result. [#1343](https://github.com/paritytech/parity/pull/1343) -- fixed migration of empty pruning dir [#1362](https://github.com/paritytech/parity/pull/1362) -- Transaction processing queue [#1335](https://github.com/paritytech/parity/pull/1335) -- Fixing last nonce values in case transaction is replaced [#1359](https://github.com/paritytech/parity/pull/1359) -- docopt is an optional dependency of ethkey and ethstore [#1358](https://github.com/paritytech/parity/pull/1358) -- Fixing clippy warnings [#1354](https://github.com/paritytech/parity/pull/1354) -- Reduce locking when syncing [#1357](https://github.com/paritytech/parity/pull/1357) -- removed unnecessary logs [#1356](https://github.com/paritytech/parity/pull/1356) -- Updating parity-dapps [#1353](https://github.com/paritytech/parity/pull/1353) -- moved keystore tests files from util to ethstore [#1352](https://github.com/paritytech/parity/pull/1352) -- removed redundant bigint deps [#1351](https://github.com/paritytech/parity/pull/1351) -- Reopen "reserved peers and reserved-only flag" [#1350](https://github.com/paritytech/parity/pull/1350) -- Configurable rocksdb cache size [#1348](https://github.com/paritytech/parity/pull/1348) -- Fixing future order and errors when reaching limit. [#1346](https://github.com/paritytech/parity/pull/1346) -- Removing priority on local transactions [#1342](https://github.com/paritytech/parity/pull/1342) -- Revert "Reserved peers, reserved-only flag" [#1349](https://github.com/paritytech/parity/pull/1349) -- Sync attack defense: Deactivate peers on invalid block bodies [#1345](https://github.com/paritytech/parity/pull/1345) -- Reserved peers, reserved-only flag [#1347](https://github.com/paritytech/parity/pull/1347) -- CI for ethkey and ethstore [#1341](https://github.com/paritytech/parity/pull/1341) -- Fixed empty block body composition [#1340](https://github.com/paritytech/parity/pull/1340) -- Provide a signer UI token by default. [#1334](https://github.com/paritytech/parity/pull/1334) -- docker uses rustup, fixes #1337 [#1344](https://github.com/paritytech/parity/pull/1344) -- Fixed network service dispose [#1339](https://github.com/paritytech/parity/pull/1339) -- Sync: Cache last sync round block parents [#1331](https://github.com/paritytech/parity/pull/1331) -- secret store separated from util [#1304](https://github.com/paritytech/parity/pull/1304) -- --geth prevent getTransactionReceipt from using pending. [#1325](https://github.com/paritytech/parity/pull/1325) -- Fixing locks order in miner. [#1328](https://github.com/paritytech/parity/pull/1328) -- Update default gas limit, rename field [#1324](https://github.com/paritytech/parity/pull/1324) -- Use constants for DatabaseConfig [#1318](https://github.com/paritytech/parity/pull/1318) -- Fixing clippy warnings [#1321](https://github.com/paritytech/parity/pull/1321) -- Bumping topbar. Fixing ws server closing when suspending [#1312](https://github.com/paritytech/parity/pull/1312) -- Syncing fix [#1320](https://github.com/paritytech/parity/pull/1320) -- Filling-in optional fields of TransactionRequest... [#1305](https://github.com/paritytech/parity/pull/1305) -- Removing MakerOTC and DAO dapps [#1319](https://github.com/paritytech/parity/pull/1319) -- Disabling ethcore_set* APIs by default (+ Status page update) [#1315](https://github.com/paritytech/parity/pull/1315) -- fixed #1180 [#1282](https://github.com/paritytech/parity/pull/1282) -- Network start/stop [#1313](https://github.com/paritytech/parity/pull/1313) -- Additional logging for own transactions in queue [#1311](https://github.com/paritytech/parity/pull/1311) -- DAO Rescue soft fork [#1309](https://github.com/paritytech/parity/pull/1309) -- Appveyor config for windows build+installer [#1302](https://github.com/paritytech/parity/pull/1302) -- Key load avoid warning [#1303](https://github.com/paritytech/parity/pull/1303) -- More meaningful errors when sending transaction [#1290](https://github.com/paritytech/parity/pull/1290) -- Gas price statistics. [#1291](https://github.com/paritytech/parity/pull/1291) -- Fix read-ahead bug. [#1298](https://github.com/paritytech/parity/pull/1298) -- firewall rules for windows installer [#1297](https://github.com/paritytech/parity/pull/1297) -- x64 program files path for installer [#1296](https://github.com/paritytech/parity/pull/1296) -- Fixed loosing peers on incoming connections. [#1293](https://github.com/paritytech/parity/pull/1293) -- fixed #1261, overflow when calculating work [#1283](https://github.com/paritytech/parity/pull/1283) -- snappy and minor block compression [#1286](https://github.com/paritytech/parity/pull/1286) -- clarify build instructions [#1287](https://github.com/paritytech/parity/pull/1287) -- fixed #1255 [#1280](https://github.com/paritytech/parity/pull/1280) -- bump rust-crypto [#1289](https://github.com/paritytech/parity/pull/1289) -- Security audit issues fixed [#1279](https://github.com/paritytech/parity/pull/1279) -- Fixing origin/host validation [#1273](https://github.com/paritytech/parity/pull/1273) -- windows installer + parity start ui cli option [#1284](https://github.com/paritytech/parity/pull/1284) -- ipc lib version bump [#1285](https://github.com/paritytech/parity/pull/1285) -- Syncing improvements [#1274](https://github.com/paritytech/parity/pull/1274) -- removed redundant if condition [#1270](https://github.com/paritytech/parity/pull/1270) -- Naive chunk creation, snapshotting [#1263](https://github.com/paritytech/parity/pull/1263) -- Fixing generating new token while another parity instance is running. [#1272](https://github.com/paritytech/parity/pull/1272) -- README: rustup and windows instructions [#1266](https://github.com/paritytech/parity/pull/1266) -- Windows build [#1253](https://github.com/paritytech/parity/pull/1253) -- removed try_seal from MiningBlockChainClient [#1262](https://github.com/paritytech/parity/pull/1262) -- simplified block opening [#1232](https://github.com/paritytech/parity/pull/1232) -- Clippy bump [#1259](https://github.com/paritytech/parity/pull/1259) -- Fixing uint ASM macros compilation [#1258](https://github.com/paritytech/parity/pull/1258) -- Signer port returned from RPC + Topbar showing count of unconfirmed transactions. [#1252](https://github.com/paritytech/parity/pull/1252) -- codegen - avoid unwraps leading to compilation crash [#1250](https://github.com/paritytech/parity/pull/1250) -- Dapps bump [#1257](https://github.com/paritytech/parity/pull/1257) -- Windows named pipes [#1254](https://github.com/paritytech/parity/pull/1254) -- remove unsafety from util/hash.rs and util/bigint/uint.rs [#1236](https://github.com/paritytech/parity/pull/1236) -- Fixing CORS settings for special values: * & null. [#1247](https://github.com/paritytech/parity/pull/1247) -- JSONRPC test strings avoid using \ char [#1246](https://github.com/paritytech/parity/pull/1246) -- Tests for JSON serialisation of statediff/vmtrace [#1241](https://github.com/paritytech/parity/pull/1241) -- Bumping Dapps & TopBar to newest version. [#1245](https://github.com/paritytech/parity/pull/1245) -- keys import [#1240](https://github.com/paritytech/parity/pull/1240) -- Splitting RPC Apis into more fine-grained sets [#1234](https://github.com/paritytech/parity/pull/1234) -- Refactor triedb constructors to error on invalid state root [#1230](https://github.com/paritytech/parity/pull/1230) -- Signer RPC method to check if signer is enabled [#1238](https://github.com/paritytech/parity/pull/1238) -- Fixing signer behaviour when confirming transaction with wrong password. [#1237](https://github.com/paritytech/parity/pull/1237) -- SystemUIs authorization [#1233](https://github.com/paritytech/parity/pull/1233) -- IPC path for tesetnet with --geth compatibility [#1231](https://github.com/paritytech/parity/pull/1231) -- Transaction tracing for eth_call [#1210](https://github.com/paritytech/parity/pull/1210) -- Removing compilation warnings [#1227](https://github.com/paritytech/parity/pull/1227) -- Allowing connections only from chrome-extension and self-hosted client [#1226](https://github.com/paritytech/parity/pull/1226) -- Clippy bump & fixing warnings [#1219](https://github.com/paritytech/parity/pull/1219) -- Bumping serde & syntex [#1216](https://github.com/paritytech/parity/pull/1216) -- Minimal Signer UI (System UI) exposed over websockets. [#1211](https://github.com/paritytech/parity/pull/1211) -- Switch RPC namespace form ethcore_ to trace_ [#1208](https://github.com/paritytech/parity/pull/1208) -- Verify the state root exists before creating a State [#1217](https://github.com/paritytech/parity/pull/1217) -- Integrate state diffing into the ethcore JSONRPC [#1206](https://github.com/paritytech/parity/pull/1206) -- Updating topbar to latest version [#1220](https://github.com/paritytech/parity/pull/1220) -- Loading local Dapps from FS. [#1214](https://github.com/paritytech/parity/pull/1214) -- Ipc serialization & protocol fixes [#1188](https://github.com/paritytech/parity/pull/1188) -- Have Ext::ret take self by value [#1187](https://github.com/paritytech/parity/pull/1187) -- Simple WebSockets notification about new request [#1202](https://github.com/paritytech/parity/pull/1202) -- Removing leftovers of ethminer [#1207](https://github.com/paritytech/parity/pull/1207) -- fixed #1204 [#1205](https://github.com/paritytech/parity/pull/1205) -- VM tracing and JSON RPC endpoint for it. [#1169](https://github.com/paritytech/parity/pull/1169) -- devtools helpers extended [#1186](https://github.com/paritytech/parity/pull/1186) -- Networking refactoring [#1172](https://github.com/paritytech/parity/pull/1172) -- Client & Miner refactoring [#1195](https://github.com/paritytech/parity/pull/1195) -- update readme [#1201](https://github.com/paritytech/parity/pull/1201) -- Simple signing queue, confirmation APIs exposed in signer WebSockets. [#1182](https://github.com/paritytech/parity/pull/1182) -- Using ordered hashmap to keep the order of dapps on home screen [#1199](https://github.com/paritytech/parity/pull/1199) -- Disabling `ethcore` by default, adding x-frame-options header to dapps. [#1197](https://github.com/paritytech/parity/pull/1197) -- transaction count verifier tests [#1196](https://github.com/paritytech/parity/pull/1196) -- expunge x! and xx! from the codebase [#1192](https://github.com/paritytech/parity/pull/1192) -- Database service upgrade (from the ipc branch) [#1185](https://github.com/paritytech/parity/pull/1185) -- stop eth_syncing from returning true forever [#1181](https://github.com/paritytech/parity/pull/1181) -- Sync fixes and tweaks [#1164](https://github.com/paritytech/parity/pull/1164) -- Exposing RPC over Signer WebSockets [#1167](https://github.com/paritytech/parity/pull/1167) -- implement missing rpc methods and tests [#1171](https://github.com/paritytech/parity/pull/1171) -- json ipc server version bump [#1170](https://github.com/paritytech/parity/pull/1170) -- Updated dependencies for windows build [#1173](https://github.com/paritytech/parity/pull/1173) -- Framework for improved RPC unit tests [#1141](https://github.com/paritytech/parity/pull/1141) -- remove all possible unsafe code in crypto [#1168](https://github.com/paritytech/parity/pull/1168) -- Base for Signer Websockets server [#1158](https://github.com/paritytech/parity/pull/1158) -- Write queue to speed-up db ipc [#1160](https://github.com/paritytech/parity/pull/1160) -- Fixing few clippy warnings [#1163](https://github.com/paritytech/parity/pull/1163) -- Change eth_signAndSendTransaction to personal_SignAndSendTransaction [#1154](https://github.com/paritytech/parity/pull/1154) -- Support "earliest" and specific block parameters in RPC where possible [#1149](https://github.com/paritytech/parity/pull/1149) -- migration fixes [#1155](https://github.com/paritytech/parity/pull/1155) -- Empty trusted signer crate with it's general purpose described. [#1150](https://github.com/paritytech/parity/pull/1150) -- More bootnodes for morden. [#1153](https://github.com/paritytech/parity/pull/1153) -- move existing rpc tests into mocked module [#1151](https://github.com/paritytech/parity/pull/1151) -- Bloomchain [#1014](https://github.com/paritytech/parity/pull/1014) -- Renaming dapps repos. Updating dapps [#1142](https://github.com/paritytech/parity/pull/1142) -- fixed pending transactions [#1147](https://github.com/paritytech/parity/pull/1147) -- Basic benches to provide metrics for ipc optimizations [#1145](https://github.com/paritytech/parity/pull/1145) -- Fixing clippy warnings [#1148](https://github.com/paritytech/parity/pull/1148) -- correct signature of SecTrieDB::raw_mut [#1143](https://github.com/paritytech/parity/pull/1143) -- Merge to master and start hypervisor for import/export [#1138](https://github.com/paritytech/parity/pull/1138) -- Bumping clippy. Fixing warnings [#1139](https://github.com/paritytech/parity/pull/1139) -- Display progress when importing [#1136](https://github.com/paritytech/parity/pull/1136) -- foundation of simple db migration [#1128](https://github.com/paritytech/parity/pull/1128) -- Fixpending [#1074](https://github.com/paritytech/parity/pull/1074) -- Sync: Propagate uncles and fix status reporting [#1134](https://github.com/paritytech/parity/pull/1134) -- Coloured, padding logging. [#1133](https://github.com/paritytech/parity/pull/1133) -- Importing [#1132](https://github.com/paritytech/parity/pull/1132) -- Have `die_with_error` use `fmt::Display` rather than Debug [#1116](https://github.com/paritytech/parity/pull/1116) -- Exporting [#1129](https://github.com/paritytech/parity/pull/1129) -- Sign and send transaction [#1124](https://github.com/paritytech/parity/pull/1124) -- Fixing unused imports warnings [#1125](https://github.com/paritytech/parity/pull/1125) -- Adding info messages on mined blocks [#1127](https://github.com/paritytech/parity/pull/1127) -- Fix styling - don't mix spaces with tabs!!! [#1123](https://github.com/paritytech/parity/pull/1123) -- Fix is_syncing so it's false as long as the update is trivial. [#1122](https://github.com/paritytech/parity/pull/1122) -- Relock unlocked accounts after first use [#1120](https://github.com/paritytech/parity/pull/1120) -- Avoid importing keys into wrong place. [#1119](https://github.com/paritytech/parity/pull/1119) -- Implement receipt's gasUsed field [#1118](https://github.com/paritytech/parity/pull/1118) -- New dapps & query parameter handling [#1113](https://github.com/paritytech/parity/pull/1113) -- pretty print trace error [#1098](https://github.com/paritytech/parity/pull/1098) -- New syncing strategy [#1095](https://github.com/paritytech/parity/pull/1095) -- ethcore-db crate [#1097](https://github.com/paritytech/parity/pull/1097) -- Fix the default for pruning. [#1107](https://github.com/paritytech/parity/pull/1107) -- Make Id/ID and db/Db/DB usage consistent [#1105](https://github.com/paritytech/parity/pull/1105) -- Miner holds it's own copy of spec/engine [#1091](https://github.com/paritytech/parity/pull/1091) -- Apps listing API & Home webapp. [#1101](https://github.com/paritytech/parity/pull/1101) -- CLI option for using JITEVM [#1103](https://github.com/paritytech/parity/pull/1103) -- Fix up the seal fields in RPC output [#1096](https://github.com/paritytech/parity/pull/1096) -- Fixing some warnings [#1102](https://github.com/paritytech/parity/pull/1102) -- fixed incorrect decoding of header seal_fields. added tests. #1090 [#1094](https://github.com/paritytech/parity/pull/1094) -- Bumping Clippy [#1093](https://github.com/paritytech/parity/pull/1093) -- Injectable topbar support. [#1092](https://github.com/paritytech/parity/pull/1092) -- New syncing part 1: Block collection [#1088](https://github.com/paritytech/parity/pull/1088) -- Moving all Client public API types to separate mod & binary serialization codegen for that mod [#1051](https://github.com/paritytech/parity/pull/1051) -- Subdomains support in content server (webapps server). [#1082](https://github.com/paritytech/parity/pull/1082) -- Fix uncle getter [#1087](https://github.com/paritytech/parity/pull/1087) -- Provide fallback for usd-per-eth option when offline. [#1085](https://github.com/paritytech/parity/pull/1085) -- path centralized [#1083](https://github.com/paritytech/parity/pull/1083) -- Limiting result of the execution to execution-specific errors [#1071](https://github.com/paritytech/parity/pull/1071) -- Configurable keys security [#1080](https://github.com/paritytech/parity/pull/1080) -- comma delimeting multiple cors headers [#1078](https://github.com/paritytech/parity/pull/1078) -- Update error message [#1081](https://github.com/paritytech/parity/pull/1081) -- Updating dapp-wallet [#1076](https://github.com/paritytech/parity/pull/1076) -- Fixed connecting to local nodes on startup [#1070](https://github.com/paritytech/parity/pull/1070) -- Validate signature in Tx queue [#1068](https://github.com/paritytech/parity/pull/1068) -- moving deps to ethcore/hyper and bumping jsonrpc-http-server version [#1067](https://github.com/paritytech/parity/pull/1067) -- Updating status page. Bringing back wallet [#1064](https://github.com/paritytech/parity/pull/1064) -- Fix --geth IPC for MacOS. [#1062](https://github.com/paritytech/parity/pull/1062) -- Fixing formatter for defaultExtraData [#1060](https://github.com/paritytech/parity/pull/1060) -- --geth IPC compatibility [#1059](https://github.com/paritytech/parity/pull/1059) -- Moving dependencies to ethcore & uniforming syntax libs through all crates [#1050](https://github.com/paritytech/parity/pull/1050) -- update hyper branch mio [#1054](https://github.com/paritytech/parity/pull/1054) -- IPC lib update [#1047](https://github.com/paritytech/parity/pull/1047) -- Updating hyper-mio revision [#1048](https://github.com/paritytech/parity/pull/1048) -- Bump ipc-lib version [#1046](https://github.com/paritytech/parity/pull/1046) -- Tidy up CLI options and make JSONRPC & webapps on by default. [#1045](https://github.com/paritytech/parity/pull/1045) -- Fixing clippy warnings [#1044](https://github.com/paritytech/parity/pull/1044) -- Fixing RPC modules compatibility [#1041](https://github.com/paritytech/parity/pull/1041) -- Fixing hyper-mio revision [#1043](https://github.com/paritytech/parity/pull/1043) -- Updating locations of webapp stuff [#1040](https://github.com/paritytech/parity/pull/1040) -- JSON-RPC over IPC [#1039](https://github.com/paritytech/parity/pull/1039) -- Update nix/mio for ARM [#1036](https://github.com/paritytech/parity/pull/1036) -- Basic Authority [#991](https://github.com/paritytech/parity/pull/991) -- Prioritizing of local transaction [#1023](https://github.com/paritytech/parity/pull/1023) -- Version 1.2 [#1030](https://github.com/paritytech/parity/pull/1030) -- Bumping status page [#1033](https://github.com/paritytech/parity/pull/1033) - -## Parity [v1.1.0](https://github.com/paritytech/parity/releases/tag/v1.1.0) (2016-05-02) - -Parity 1.1.0 introduces: - -- Transaction tracing. Parity now optionally indexes & stores message-call/"internal transaction" information and provides additional RPC for querying. -- Web interface for logs, status & JSON RPC. -- Improved JSON RPC compatibility. -- Reduced memory footprint. -- Optimized EVM interpreter performance. - -Full Changes: - -- Exposing default extra data via ethcore RPC [#1032](https://github.com/paritytech/parity/pull/1032) -- Net etiquette [#1028](https://github.com/paritytech/parity/pull/1028) -- Bumping clippy & fixing warnings [#1024](https://github.com/paritytech/parity/pull/1024) -- Tracedb interface && cli [#997](https://github.com/paritytech/parity/pull/997) -- Switching to geth-attach supporting version of rpc core and server [#1022](https://github.com/paritytech/parity/pull/1022) -- Fixing status page displaying homestead [#1020](https://github.com/paritytech/parity/pull/1020) -- Core tracedb functionality. [#996](https://github.com/paritytech/parity/pull/996) -- RPC method for supported modules [#1019](https://github.com/paritytech/parity/pull/1019) -- Updating status page [#1015](https://github.com/paritytech/parity/pull/1015) -- Disabling wallet [#1017](https://github.com/paritytech/parity/pull/1017) -- More detailed fatal error reporting [#1016](https://github.com/paritytech/parity/pull/1016) -- Support 'pending' block in RPC [#1007](https://github.com/paritytech/parity/pull/1007) -- Enable pending block when there is local transaction pending. [#1005](https://github.com/paritytech/parity/pull/1005) -- updating key files permissions on save [#1010](https://github.com/paritytech/parity/pull/1010) -- IPC JSON RPC (for external interface) [#1009](https://github.com/paritytech/parity/pull/1009) -- Fixing Firefox authorization issues [#1013](https://github.com/paritytech/parity/pull/1013) -- cargo update [#1012](https://github.com/paritytech/parity/pull/1012) -- Switching to rust-url@1.0.0 [#1011](https://github.com/paritytech/parity/pull/1011) -- Exception handling in RPC & WebApps [#988](https://github.com/paritytech/parity/pull/988) -- Fixed uint deserialization from hex [#1008](https://github.com/paritytech/parity/pull/1008) -- Tweak timeout and packet size to handle slow networks better [#1004](https://github.com/paritytech/parity/pull/1004) -- db key is generic and can be made smaller [#1006](https://github.com/paritytech/parity/pull/1006) -- IPC with new serialization [#998](https://github.com/paritytech/parity/pull/998) -- make jsonrpc api engine agnostic [#1001](https://github.com/paritytech/parity/pull/1001) -- updated cargo.lock [#1002](https://github.com/paritytech/parity/pull/1002) -- updated parity dependencies [#993](https://github.com/paritytech/parity/pull/993) -- Auto (with codegen) binary serializer [#980](https://github.com/paritytech/parity/pull/980) -- Fixing transaction queue last_nonces update [#995](https://github.com/paritytech/parity/pull/995) -- import route contains ommited blocks [#994](https://github.com/paritytech/parity/pull/994) -- fixed encoding 0u8 [#992](https://github.com/paritytech/parity/pull/992) -- Use latest netstats [#989](https://github.com/paritytech/parity/pull/989) -- RPC shared external miner [#984](https://github.com/paritytech/parity/pull/984) -- Additional RPC methods for settings [#983](https://github.com/paritytech/parity/pull/983) -- Fixing transaction_queue deadlock [#985](https://github.com/paritytech/parity/pull/985) -- Refactoring of `parity/main.rs` [#981](https://github.com/paritytech/parity/pull/981) -- Fixing clippy warnings. [#982](https://github.com/paritytech/parity/pull/982) -- Bumping status page [#977](https://github.com/paritytech/parity/pull/977) -- querying extras separated to its own module [#972](https://github.com/paritytech/parity/pull/972) -- Exposing application logs via RPC. [#976](https://github.com/paritytech/parity/pull/976) -- Addressing binary serialization for db types [#966](https://github.com/paritytech/parity/pull/966) -- removed redundant unwraps [#935](https://github.com/paritytech/parity/pull/935) -- fixed transaction queue merge conflict [#975](https://github.com/paritytech/parity/pull/975) -- Configurable limit for transaction queue (CLI & Ethcore-RPC) [#974](https://github.com/paritytech/parity/pull/974) -- Enforce limit caused `last_nonce` to return incorrect values. [#973](https://github.com/paritytech/parity/pull/973) -- Even more detailed errors for transaction queue [#969](https://github.com/paritytech/parity/pull/969) -- temporary fix of panic in blockchain garbage collection [#970](https://github.com/paritytech/parity/pull/970) -- IPC codegen - some minor fixes & enhancements [#967](https://github.com/paritytech/parity/pull/967) -- Additional logging for transactions [#968](https://github.com/paritytech/parity/pull/968) -- refactored blockchain extras keys building [#963](https://github.com/paritytech/parity/pull/963) -- Using hyper-mio branch in webapps. [#957](https://github.com/paritytech/parity/pull/957) -- Remove nanomsg from build-dependencies [#965](https://github.com/paritytech/parity/pull/965) -- Fix build for --target=armv7-unknown-linux-gnueabihf [#964](https://github.com/paritytech/parity/pull/964) -- IPC RPC codegen extra feature [#962](https://github.com/paritytech/parity/pull/962) -- IPC RPC codegen for generic implementation [#961](https://github.com/paritytech/parity/pull/961) -- using db_path directory when upgrading [#960](https://github.com/paritytech/parity/pull/960) -- IPC hypervisor [#958](https://github.com/paritytech/parity/pull/958) -- Removing a transaction from queue now removes all from this sender with lower nonces. [#950](https://github.com/paritytech/parity/pull/950) -- bump status page version 0.1.7 [#955](https://github.com/paritytech/parity/pull/955) -- Changing cors header to be optional [#956](https://github.com/paritytech/parity/pull/956) -- Update ARM Dockerfile [#959](https://github.com/paritytech/parity/pull/959) -- Sensible gas limits for eth_sendTransaction [#953](https://github.com/paritytech/parity/pull/953) -- Fix upgrade script and make parity run when no .parity dir. [#954](https://github.com/paritytech/parity/pull/954) -- Tracing and docs for --pruning=auto. [#952](https://github.com/paritytech/parity/pull/952) -- IPC serialization for custom parameters [#946](https://github.com/paritytech/parity/pull/946) -- default filter from block should be Latest, not Earliest [#948](https://github.com/paritytech/parity/pull/948) -- README.md: removes sudo from multirust installation [#943](https://github.com/paritytech/parity/pull/943) -- Disable long lines formatting + ethash example. [#939](https://github.com/paritytech/parity/pull/939) -- Ethcore-specific RPC methods for altering miner parameters. [#934](https://github.com/paritytech/parity/pull/934) -- Use ethcore nanomsg bindings [#941](https://github.com/paritytech/parity/pull/941) -- Update IPC codegen to latest syntax libs [#938](https://github.com/paritytech/parity/pull/938) -- IPC documentation [#937](https://github.com/paritytech/parity/pull/937) -- Bumping clippy and fixing warnings. [#936](https://github.com/paritytech/parity/pull/936) -- Pruning auto [#927](https://github.com/paritytech/parity/pull/927) -- IPC persistent client link [#933](https://github.com/paritytech/parity/pull/933) -- IPC persistent client link [#930](https://github.com/paritytech/parity/pull/930) -- IPC handshake (negotiating protocol/api version) [#928](https://github.com/paritytech/parity/pull/928) -- Upgrade logic between versions [#914](https://github.com/paritytech/parity/pull/914) -- executive tracing cleanup [#903](https://github.com/paritytech/parity/pull/903) -- Ethcore-specific RPC methods [#923](https://github.com/paritytech/parity/pull/923) -- Parameter to allow user to force the sealing mechanism [#918](https://github.com/paritytech/parity/pull/918) -- updated dependencies [#921](https://github.com/paritytech/parity/pull/921) -- Fixed send transaction deadlock [#920](https://github.com/paritytech/parity/pull/920) -- --unlock is comma-delimited. [#916](https://github.com/paritytech/parity/pull/916) -- fixed eth_getLogs [#915](https://github.com/paritytech/parity/pull/915) -- create provided custom dir for keys if none [#912](https://github.com/paritytech/parity/pull/912) -- spec loading cleanup [#858](https://github.com/paritytech/parity/pull/858) -- WebApps HTTP Basic Auth Support [#906](https://github.com/paritytech/parity/pull/906) -- Removing match on constant [#888](https://github.com/paritytech/parity/pull/888) -- Update auth.rs [#907](https://github.com/paritytech/parity/pull/907) -- Enabling webapps compilation by default [#904](https://github.com/paritytech/parity/pull/904) -- fixed #895 [#898](https://github.com/paritytech/parity/pull/898) -- Support for compile-time included WebApplications. [#899](https://github.com/paritytech/parity/pull/899) -- Propagate transaction queue [#894](https://github.com/paritytech/parity/pull/894) -- Use new json RPC server [#901](https://github.com/paritytech/parity/pull/901) -- Gracefully dying when trying to enable RPC and app is compiled without it. [#900](https://github.com/paritytech/parity/pull/900) -- Additional logging and friendlier error messages [#893](https://github.com/paritytech/parity/pull/893) -- Avoid signalling readiness when app is about to be closed. [#897](https://github.com/paritytech/parity/pull/897) -- fixed #875 and added tests for eth_sendTransaction [#890](https://github.com/paritytech/parity/pull/890) -- passing key path to all invocations [#891](https://github.com/paritytech/parity/pull/891) -- Fixed eth_call nonce and gas handling [#892](https://github.com/paritytech/parity/pull/892) -- ipc rpc with nano transport (simple duplex) [#886](https://github.com/paritytech/parity/pull/886) -- Bumping clippy and fixing warnings [#889](https://github.com/paritytech/parity/pull/889) -- More descriptive expectations to transaction queue consistency. [#878](https://github.com/paritytech/parity/pull/878) -- uint bug - replace add with or [#879](https://github.com/paritytech/parity/pull/879) -- Fixing typo in bigint [#877](https://github.com/paritytech/parity/pull/877) -- update misleading cli help msg for author [#874](https://github.com/paritytech/parity/pull/874) -- Find geth data store cross-platform. [#871](https://github.com/paritytech/parity/pull/871) -- Import geth 1.4.0 keys [#872](https://github.com/paritytech/parity/pull/872) -- Syntax helpers for IPC RPC (part 2) [#854](https://github.com/paritytech/parity/pull/854) -- Fixed bootnode URL and error message [#870](https://github.com/paritytech/parity/pull/870) -- replace popcnt with mov (861) [#867](https://github.com/paritytech/parity/pull/867) -- weekly dependencies update [#865](https://github.com/paritytech/parity/pull/865) -- Remove unused mut [#866](https://github.com/paritytech/parity/pull/866) -- fixed #855 [#864](https://github.com/paritytech/parity/pull/864) -- simplified trace from functions, removed clippy warnings [#862](https://github.com/paritytech/parity/pull/862) -- Update deprecated HashDB methods in docs. [#857](https://github.com/paritytech/parity/pull/857) -- refactored loading transaction json tests [#853](https://github.com/paritytech/parity/pull/853) -- reorganised price info lookup [#852](https://github.com/paritytech/parity/pull/852) -- Publish locally-made transactions to peers. [#850](https://github.com/paritytech/parity/pull/850) -- Add generalbeck's token [#847](https://github.com/paritytech/parity/pull/847) -- Fix response for mining. [#846](https://github.com/paritytech/parity/pull/846) -- USD-based pricing of gas. [#843](https://github.com/paritytech/parity/pull/843) -- Parity can accept older work packages [#811](https://github.com/paritytech/parity/pull/811) -- Caching for computing seed hashes (#541) [#841](https://github.com/paritytech/parity/pull/841) -- checking transaction queue for pending transaction [#838](https://github.com/paritytech/parity/pull/838) -- refactored loading of state tests [#817](https://github.com/paritytech/parity/pull/817) -- tests for deserialization of transaction from issue #835 [#837](https://github.com/paritytech/parity/pull/837) -- unlocks with no expiration [on top of 833] [#834](https://github.com/paritytech/parity/pull/834) -- Unlock accounts on CLI. [#833](https://github.com/paritytech/parity/pull/833) -- Make BlockNumber optional, fix eth_call [#829](https://github.com/paritytech/parity/pull/829) -- Test socket to common test code (ethcore-devtools) [#831](https://github.com/paritytech/parity/pull/831) -- Use network id for the web3_net_version return. [#822](https://github.com/paritytech/parity/pull/822) -- json-rpc web3_sha3 [#824](https://github.com/paritytech/parity/pull/824) -- remove some unused files [#819](https://github.com/paritytech/parity/pull/819) -- debug symbols for master/beta [#818](https://github.com/paritytech/parity/pull/818) -- Syntax helpers for IPC RPC [#809](https://github.com/paritytech/parity/pull/809) -- refactored loading of execution tests [#803](https://github.com/paritytech/parity/pull/803) -- Rustfmt.toml [#805](https://github.com/paritytech/parity/pull/805) -- install-partiy runs brew reinstall parity on osx [#810](https://github.com/paritytech/parity/pull/810) -- Fix mining from spinning [#807](https://github.com/paritytech/parity/pull/807) - -## Parity [v1.0.2](https://github.com/paritytech/parity/releases/tag/v1.0.2) (2016-04-11) - -Parity 1.0.2 release improves Json RPC compatibility and fixes a number of stability issues. - -- Flush password prompt [#1031](https://github.com/paritytech/parity/pull/1031) -- [beta] dependencies update [#949](https://github.com/paritytech/parity/pull/949) -- Master to beta v1.0.2 [#922](https://github.com/paritytech/parity/pull/922) -- Master to beta 1.0.2 [#908](https://github.com/paritytech/parity/pull/908) - -## Parity [v1.0.1](https://github.com/paritytech/parity/releases/tag/v1.0.1) (2016-03-28) - -Parity 1.0.1 update fixes a number of issues with Json RPC, transaction propagation and syncing. - -- Imporved sync error handling [#905](https://github.com/paritytech/parity/pull/905) -- Publish locally-made transactions to peers. [#851](https://github.com/paritytech/parity/pull/851) -- Merge fixes from master to beta [#845](https://github.com/paritytech/parity/pull/845) -- Full sync restart on bad block [#844](https://github.com/paritytech/parity/pull/844) -- Make BlockNumber optional, fix eth_call [#828](https://github.com/paritytech/parity/pull/828) -- Web3sha3 beta [#826](https://github.com/paritytech/parity/pull/826) -- Use network id for the web3_net_version return. [#821](https://github.com/paritytech/parity/pull/821) -- Fix mining from spinning [#806](https://github.com/paritytech/parity/pull/806) -- Merge master to beta [#796](https://github.com/paritytech/parity/pull/796) - -## Parity [v1.0.0](https://github.com/paritytech/parity/releases/tag/v1.0.0) (2016-03-24) - -Parity 1.0.0 release adds the following features: - -- Standard JsonRPC interface. -- Full Homestead compatibility. -- Transaction management. -- Mining with external miner. -- Account management. -- Geth key chain compatibility. -- Additional command line options. -- State trie pruning. -- Cache and queue footprint. -- Network discovery & NAT traversal. -- Custom chain specification files. - -Note that in this release the state database is in archive (full) mode by default. Run with one of the `--pruning` options to enable pruning. - -- First part of multi-mining support [#804](https://github.com/paritytech/parity/pull/804) -- Fixing future-current transactions clash [#802](https://github.com/paritytech/parity/pull/802) -- Increase threads to num_cpus & fix author reporting [#800](https://github.com/paritytech/parity/pull/800) -- another batch of rpc improvements [#798](https://github.com/paritytech/parity/pull/798) -- Avoid tracing DELEGATECALL and CALLCODE. Plus tests for it. [#794](https://github.com/paritytech/parity/pull/794) -- complete getting started steps for OS X [#793](https://github.com/paritytech/parity/pull/793) -- Auto detect available port (with fixed test) [#788](https://github.com/paritytech/parity/pull/788) -- eth_getTransactionReceipt [#792](https://github.com/paritytech/parity/pull/792) -- Comprehensive tests for tracing transactions [#791](https://github.com/paritytech/parity/pull/791) -- Disable preparing work package if miners don't ask for it. [#771](https://github.com/paritytech/parity/pull/771) -- Listen on all interfaces for JSONRPC by default. [#786](https://github.com/paritytech/parity/pull/786) -- eth_call [#783](https://github.com/paritytech/parity/pull/783) -- Revert "Auto detect available port" [#789](https://github.com/paritytech/parity/pull/789) -- added output to execution result [#777](https://github.com/paritytech/parity/pull/777) -- Auto detect available port [#782](https://github.com/paritytech/parity/pull/782) -- Allow 0x prefix for --author. [#785](https://github.com/paritytech/parity/pull/785) -- updated dependencies, moved rpctest to its own submodule [#784](https://github.com/paritytech/parity/pull/784) -- use ethjson module to load chain json tests [#778](https://github.com/paritytech/parity/pull/778) -- Tracing implemented. [#772](https://github.com/paritytech/parity/pull/772) -- test ethjson module on travis [#780](https://github.com/paritytech/parity/pull/780) -- batch of rpc fixes [#775](https://github.com/paritytech/parity/pull/775) -- rpctest executable [#757](https://github.com/paritytech/parity/pull/757) -- Refactoring error transaction_queue error handling and `update_sealing` method. [#753](https://github.com/paritytech/parity/pull/753) -- Avoid importing transactions with gas above 1.1*block_gas_limit to transaction queue [#760](https://github.com/paritytech/parity/pull/760) -- Removing transactions that failed to be pushed to block. [#752](https://github.com/paritytech/parity/pull/752) -- Updating clippy [#766](https://github.com/paritytech/parity/pull/766) -- Attempting to add all transactions to mined block [#754](https://github.com/paritytech/parity/pull/754) -- Prettier version w/o git dir; Use rustc compile time version [#761](https://github.com/paritytech/parity/pull/761) -- Stop adding transactions to queue while not fully synced [#751](https://github.com/paritytech/parity/pull/751) -- Verify sender's balance before importing transaction to queue [#746](https://github.com/paritytech/parity/pull/746) -- Returning number of transactions pending in block not queue [#750](https://github.com/paritytech/parity/pull/750) -- Speeding up build [#733](https://github.com/paritytech/parity/pull/733) -- adding check for a sync when giving work to miner [#742](https://github.com/paritytech/parity/pull/742) -- json deserialization module [#745](https://github.com/paritytech/parity/pull/745) -- Update install-parity.sh [#749](https://github.com/paritytech/parity/pull/749) -- Restart sync on getting old unknown header [#747](https://github.com/paritytech/parity/pull/747) -- Missing return for #737 [#744](https://github.com/paritytech/parity/pull/744) -- Enact block with uncles test [#741](https://github.com/paritytech/parity/pull/741) -- Fix outdated libc version on dependency [#740](https://github.com/paritytech/parity/pull/740) -- Fixing possible race in transaction queue [#735](https://github.com/paritytech/parity/pull/735) -- Sync fixed again [#737](https://github.com/paritytech/parity/pull/737) -- Don't change best block until extras is committed. [#734](https://github.com/paritytech/parity/pull/734) -- stable only until travis speedup [#736](https://github.com/paritytech/parity/pull/736) -- Optimizing uint operations (architecture independent) [#629](https://github.com/paritytech/parity/pull/629) -- Add RLP, not a data item. [#725](https://github.com/paritytech/parity/pull/725) -- PV63 receipts response [#687](https://github.com/paritytech/parity/pull/687) -- another batch of rpc tests [#723](https://github.com/paritytech/parity/pull/723) -- dockerfiles update [#726](https://github.com/paritytech/parity/pull/726) -- Lock reports to avoid out of order badness. [#721](https://github.com/paritytech/parity/pull/721) -- Fixed handshake leak [#722](https://github.com/paritytech/parity/pull/722) -- Allow configuration of target gas limit. [#719](https://github.com/paritytech/parity/pull/719) -- Version 1.1 in master [#714](https://github.com/paritytech/parity/pull/714) -- Silence UDP warnings [#720](https://github.com/paritytech/parity/pull/720) -- Rpc personal tests [#715](https://github.com/paritytech/parity/pull/715) -- Fixing warnings [#704](https://github.com/paritytech/parity/pull/704) -- docopts cleanups [#713](https://github.com/paritytech/parity/pull/713) -- Removed rocksdb build dependency [#717](https://github.com/paritytech/parity/pull/717) -- Fixed splitting Neighbours packet [#710](https://github.com/paritytech/parity/pull/710) -- management of account expiration & memory [#701](https://github.com/paritytech/parity/pull/701) -- Remove EarlyMerge from user docs. [#708](https://github.com/paritytech/parity/pull/708) -- Fixes and traces for refcountdb. [#705](https://github.com/paritytech/parity/pull/705) -- Check for NULL_RLP in AccountDB [#706](https://github.com/paritytech/parity/pull/706) -- ethminer as crate [#700](https://github.com/paritytech/parity/pull/700) -- Old ref-counted DB code [#692](https://github.com/paritytech/parity/pull/692) -- next batch of rpc tests and fixes [#699](https://github.com/paritytech/parity/pull/699) -- implemented eth_geStorageAt rpc method, added more tests for rpc [#695](https://github.com/paritytech/parity/pull/695) -- Fix JournalDB era marker [#690](https://github.com/paritytech/parity/pull/690) -- More sync fixes [#685](https://github.com/paritytech/parity/pull/685) -- mark some key tests as heavy [#694](https://github.com/paritytech/parity/pull/694) -- Limit incoming connections [#693](https://github.com/paritytech/parity/pull/693) -- Updating clippy [#688](https://github.com/paritytech/parity/pull/688) -- eth_accounts, eth_getBalance rpc functions && tests [#691](https://github.com/paritytech/parity/pull/691) -- state query for archive jdb [#683](https://github.com/paritytech/parity/pull/683) -- Fix for option 1 of JournalDB [#658](https://github.com/paritytech/parity/pull/658) -- Rename into something that is a little more descriptive. [#689](https://github.com/paritytech/parity/pull/689) -- JournalDB with in-memory overlay (option2) [#634](https://github.com/paritytech/parity/pull/634) -- additional (failing) SecretStore test [#682](https://github.com/paritytech/parity/pull/682) -- Updating clippy & fixing warnings. [#670](https://github.com/paritytech/parity/pull/670) -- rpc web3 tests [#681](https://github.com/paritytech/parity/pull/681) -- Making personal json-rpc configurable via cli [#677](https://github.com/paritytech/parity/pull/677) -- RPC Pending Transactions Filter [#661](https://github.com/paritytech/parity/pull/661) -- Rearrange journaldb infrastructure to make more extensible [#678](https://github.com/paritytech/parity/pull/678) -- JournalDB -> Box, and it's a trait. [#673](https://github.com/paritytech/parity/pull/673) -- fix warning for transaction_queue.add usage [#676](https://github.com/paritytech/parity/pull/676) -- Adding std::mem back (only for asm) [#680](https://github.com/paritytech/parity/pull/680) -- update readme to exclude beta step (stable is ok) [#679](https://github.com/paritytech/parity/pull/679) -- fixed U256 and transaction request deserialization [#675](https://github.com/paritytech/parity/pull/675) -- More geth compatibility. [#666](https://github.com/paritytech/parity/pull/666) -- Removing running clippy by default on nightly. [#671](https://github.com/paritytech/parity/pull/671) -- rpc net submodule tests [#667](https://github.com/paritytech/parity/pull/667) -- Client module overhaul [#665](https://github.com/paritytech/parity/pull/665) -- Rpc transaction signing [#587](https://github.com/paritytech/parity/pull/587) -- Transaction queue exposed via JSON rpc. [#652](https://github.com/paritytech/parity/pull/652) -- Remove unneeded locking [#499](https://github.com/paritytech/parity/pull/499) -- extend sync status interface to sync provider [#664](https://github.com/paritytech/parity/pull/664) -- --archive is default. --pruning is option. [#663](https://github.com/paritytech/parity/pull/663) -- jsonrpc uses client and sync interfaces [#641](https://github.com/paritytech/parity/pull/641) -- Expose transaction insertion in sync lib [#609](https://github.com/paritytech/parity/pull/609) -- Removing get prefix from poll_info [#660](https://github.com/paritytech/parity/pull/660) -- Tx queue update height bug [#657](https://github.com/paritytech/parity/pull/657) -- Tx_queue_docs -> To master [#651](https://github.com/paritytech/parity/pull/651) -- blockchain import_route [#645](https://github.com/paritytech/parity/pull/645) -- Stop workers before stopping event loop [#655](https://github.com/paritytech/parity/pull/655) -- Validate sender before importing to queue [#650](https://github.com/paritytech/parity/pull/650) -- Gas price threshold for transactions [#640](https://github.com/paritytech/parity/pull/640) -- `dev` feature enabled when compiling without `--release` [#627](https://github.com/paritytech/parity/pull/627) -- Don't call mark_as_bad needlessly [#648](https://github.com/paritytech/parity/pull/648) -- Fixed sync handling large forks [#647](https://github.com/paritytech/parity/pull/647) -- Additional documentation for transaction queue [#631](https://github.com/paritytech/parity/pull/631) -- Transaction Queue Integration [#607](https://github.com/paritytech/parity/pull/607) -- Keys cli [#639](https://github.com/paritytech/parity/pull/639) -- fix build warning [#643](https://github.com/paritytech/parity/pull/643) -- updated jsonrpc-core and http-server libs [#642](https://github.com/paritytech/parity/pull/642) -- jsonrpc panics gracefully shutdown client [#638](https://github.com/paritytech/parity/pull/638) -- Fixing CLI parameters [#633](https://github.com/paritytech/parity/pull/633) -- Normal CLI options with geth. [#628](https://github.com/paritytech/parity/pull/628) -- Do not remove the peer immediatelly on send error [#626](https://github.com/paritytech/parity/pull/626) -- Jsonrpc block behind [#622](https://github.com/paritytech/parity/pull/622) -- Remove println!s. [#624](https://github.com/paritytech/parity/pull/624) -- JournalDB option 1 fix [#613](https://github.com/paritytech/parity/pull/613) -- Network tracing cleanup [#611](https://github.com/paritytech/parity/pull/611) -- Revert "Transaction Queue integration" [#602](https://github.com/paritytech/parity/pull/602) -- fix benches compilation [#601](https://github.com/paritytech/parity/pull/601) -- Transaction Queue integration [#595](https://github.com/paritytech/parity/pull/595) -- verifier trait improvements [#597](https://github.com/paritytech/parity/pull/597) -- build on rust stable [#600](https://github.com/paritytech/parity/pull/600) -- Geth import silent if no geth [#599](https://github.com/paritytech/parity/pull/599) -- Additional journaldb logging and assert [#593](https://github.com/paritytech/parity/pull/593) -- Uncle inclusion in block authoring. [#578](https://github.com/paritytech/parity/pull/578) -- Fixed potential deadlock on startup [#592](https://github.com/paritytech/parity/pull/592) -- Fixing an overflow panic [#591](https://github.com/paritytech/parity/pull/591) -- Fixed one more case of sync stalling [#590](https://github.com/paritytech/parity/pull/590) -- JournalDB can now operate in "archive" mode [#589](https://github.com/paritytech/parity/pull/589) -- Secret store integration with client [#586](https://github.com/paritytech/parity/pull/586) -- fix build on nightly rust [#588](https://github.com/paritytech/parity/pull/588) -- deserialization for uint generic [#585](https://github.com/paritytech/parity/pull/585) -- TransactionsQueue implementation [#559](https://github.com/paritytech/parity/pull/559) -- JSON-RPC personal service (follows #582) [#583](https://github.com/paritytech/parity/pull/583) -- making key directory thread-safe [#582](https://github.com/paritytech/parity/pull/582) -- verifier trait [#581](https://github.com/paritytech/parity/pull/581) -- shrink_to_fit after removing hashes. [#580](https://github.com/paritytech/parity/pull/580) -- support for rpc polling [#504](https://github.com/paritytech/parity/pull/504) -- limit serde codegen only to rpc types submodule [#569](https://github.com/paritytech/parity/pull/569) -- fork test for Issue test/568 [#573](https://github.com/paritytech/parity/pull/573) -- Fixing clippy warnings = small refactoring of `request_blocks` [#560](https://github.com/paritytech/parity/pull/560) -- Improved journaldb logging [#571](https://github.com/paritytech/parity/pull/571) -- Additional check to ancient enactments. [#570](https://github.com/paritytech/parity/pull/570) -- chainfilter shouldnt exclude to_block from results [#564](https://github.com/paritytech/parity/pull/564) -- Fix coverage test run [#567](https://github.com/paritytech/parity/pull/567) -- Mining [#547](https://github.com/paritytech/parity/pull/547) -- fix uint warnings [#565](https://github.com/paritytech/parity/pull/565) -- Finished blockchain generator. [#562](https://github.com/paritytech/parity/pull/562) -- fixed broken master [#563](https://github.com/paritytech/parity/pull/563) -- uint to separate crate [#544](https://github.com/paritytech/parity/pull/544) -- improved test chain generator [#554](https://github.com/paritytech/parity/pull/554) -- Fixing spelling in propagade->propagate [#558](https://github.com/paritytech/parity/pull/558) -- Changing RefCell to Cell in transaction. [#557](https://github.com/paritytech/parity/pull/557) -- Fix for morden consensus. [#556](https://github.com/paritytech/parity/pull/556) -- blockchain generator [#550](https://github.com/paritytech/parity/pull/550) -- Sparse Table Implementation (Row, Col) -> Val [#545](https://github.com/paritytech/parity/pull/545) -- fixup install script [#548](https://github.com/paritytech/parity/pull/548) -- Fixing clippy warnings [#546](https://github.com/paritytech/parity/pull/546) -- ignore out directory [#543](https://github.com/paritytech/parity/pull/543) -- u256 full multiplication [#539](https://github.com/paritytech/parity/pull/539) -- Fix panic when downloading stales, update homestead transition [#537](https://github.com/paritytech/parity/pull/537) -- changing x64 asm config [#534](https://github.com/paritytech/parity/pull/534) -- uncomment state transition tests [#533](https://github.com/paritytech/parity/pull/533) -- jsonrpc uses weak pointers to client [#532](https://github.com/paritytech/parity/pull/532) -- Morden switch to Homestead rules at #494,000. [#531](https://github.com/paritytech/parity/pull/531) -- Blockchain module cleanup [#524](https://github.com/paritytech/parity/pull/524) -- Multiplication issue + very exhaustive tests for it [#528](https://github.com/paritytech/parity/pull/528) -- EIP-8 [#498](https://github.com/paritytech/parity/pull/498) -- Make "random" trie tests fully deterministic. [#527](https://github.com/paritytech/parity/pull/527) -- udpated serde to version 0.7.0 [#526](https://github.com/paritytech/parity/pull/526) -- Better memory management [#516](https://github.com/paritytech/parity/pull/516) -- Typo [#523](https://github.com/paritytech/parity/pull/523) -- U512 add/sub optimize [#521](https://github.com/paritytech/parity/pull/521) -- Account management + geth keystore import (no utility crate added) [#509](https://github.com/paritytech/parity/pull/509) -- Delayed UPnP initialization [#505](https://github.com/paritytech/parity/pull/505) -- Fixing marking blocks as bad & SyncMessage bugs + small client refactoring. [#503](https://github.com/paritytech/parity/pull/503) -- optimization of U256 [#515](https://github.com/paritytech/parity/pull/515) -- Removed rocksdb from build scripts and instructions [#520](https://github.com/paritytech/parity/pull/520) -- RocksDB abstraction layer + Hash index for state DB [#464](https://github.com/paritytech/parity/pull/464) -- bloomfilter [#418](https://github.com/paritytech/parity/pull/418) -- Fixed a race condition when connecting peer disconnects immediately [#519](https://github.com/paritytech/parity/pull/519) -- ignore intellij idea project files as well [#518](https://github.com/paritytech/parity/pull/518) -- updated version of unicase [#517](https://github.com/paritytech/parity/pull/517) -- jsonrpc security, cors headers, fixed #359 [#493](https://github.com/paritytech/parity/pull/493) -- Rust implementations to replace data tables (#161) [#482](https://github.com/paritytech/parity/pull/482) -- fix issue with starting requested block number was not included itself [#512](https://github.com/paritytech/parity/pull/512) -- fixed travis --org GH_TOKEN [#510](https://github.com/paritytech/parity/pull/510) -- Improved log format [#506](https://github.com/paritytech/parity/pull/506) -- Log address on failed connection attempt [#502](https://github.com/paritytech/parity/pull/502) -- Bumping clippy and fixing warnings. [#501](https://github.com/paritytech/parity/pull/501) -- Bumping versions. Fixes #496 [#500](https://github.com/paritytech/parity/pull/500) -- Manage final user-input errors. [#494](https://github.com/paritytech/parity/pull/494) -- Remove unneeded code, fix minor potential issue with length. [#495](https://github.com/paritytech/parity/pull/495) -- Remove "unknown" from version string. [#488](https://github.com/paritytech/parity/pull/488) -- Include git commit date & hash. [#486](https://github.com/paritytech/parity/pull/486) -- Use proper version string. [#485](https://github.com/paritytech/parity/pull/485) -- Networking fixes [#480](https://github.com/paritytech/parity/pull/480) -- Fix potential deadlock on node table update [#484](https://github.com/paritytech/parity/pull/484) -- Squash more warnings [#481](https://github.com/paritytech/parity/pull/481) -- dev/test/build tools to separate crate [#477](https://github.com/paritytech/parity/pull/477) -- Back to original slab crate [#479](https://github.com/paritytech/parity/pull/479) -- Better user errors. [#476](https://github.com/paritytech/parity/pull/476) -- UDP Discovery [#440](https://github.com/paritytech/parity/pull/440) -- update readme with rust override [#475](https://github.com/paritytech/parity/pull/475) -- fixed warnings on rust beta [#474](https://github.com/paritytech/parity/pull/474) -- Secret store (part2 - encrypted key/value svc) [#449](https://github.com/paritytech/parity/pull/449) -- Kill bad test. [#473](https://github.com/paritytech/parity/pull/473) -- Make clippy an optional dependency [#422](https://github.com/paritytech/parity/pull/422) -- parity compiling fine [#469](https://github.com/paritytech/parity/pull/469) -- compiling ethcore on beta [#468](https://github.com/paritytech/parity/pull/468) -- Utils compiling in beta [#467](https://github.com/paritytech/parity/pull/467) -- Get rid of lru_cache dependency [#466](https://github.com/paritytech/parity/pull/466) -- Add daemonization. [#459](https://github.com/paritytech/parity/pull/459) -- Master upgrade [#448](https://github.com/paritytech/parity/pull/448) -- Remove contributing stuff now that we have CLA bot. [#447](https://github.com/paritytech/parity/pull/447) -- Add Morden bootnode. [#446](https://github.com/paritytech/parity/pull/446) -- beta fixes to master [#441](https://github.com/paritytech/parity/pull/441) -- Secret store (part1 - key management) [#423](https://github.com/paritytech/parity/pull/423) -- Use 1100000 as the homestead transition, fix build instructions. [#438](https://github.com/paritytech/parity/pull/438) -- More sync and propagation fixes [#420](https://github.com/paritytech/parity/pull/420) -- back to cargo crates [#436](https://github.com/paritytech/parity/pull/436) -- Fixing clippy warnings [#435](https://github.com/paritytech/parity/pull/435) -- preserving root cargo lock [#434](https://github.com/paritytech/parity/pull/434) -- Nightly fix [#432](https://github.com/paritytech/parity/pull/432) -- nightly fixes [#431](https://github.com/paritytech/parity/pull/431) -- Delay Homestead transition from 1,000,000. [#429](https://github.com/paritytech/parity/pull/429) -- Nightly fix effort (still should fail) [#428](https://github.com/paritytech/parity/pull/428) -- clippy version update, docopt-macro moving to fork [#425](https://github.com/paritytech/parity/pull/425) -- Network/Sync fixes and optimizations [#416](https://github.com/paritytech/parity/pull/416) -- Use latest era instead of end era as journal marker [#414](https://github.com/paritytech/parity/pull/414) -- api changes [#402](https://github.com/paritytech/parity/pull/402) -- Option for no init nodes. [#408](https://github.com/paritytech/parity/pull/408) -- Fixed block_bodies not returning a list [#406](https://github.com/paritytech/parity/pull/406) -- Fix test. [#405](https://github.com/paritytech/parity/pull/405) -- Allow path to be configured. [#404](https://github.com/paritytech/parity/pull/404) -- Upnp [#400](https://github.com/paritytech/parity/pull/400) -- eth_syncing, fixed #397 [#398](https://github.com/paritytech/parity/pull/398) -- Using modified version of ctrlc that catches SIGTERM [#399](https://github.com/paritytech/parity/pull/399) -- Catching panics. [#396](https://github.com/paritytech/parity/pull/396) -- jsonrpc [#391](https://github.com/paritytech/parity/pull/391) -- Externalities tests (still clumsy) [#394](https://github.com/paritytech/parity/pull/394) -- excluding test code itself from coverage [#395](https://github.com/paritytech/parity/pull/395) -- Additional tweaks to options. [#390](https://github.com/paritytech/parity/pull/390) -- --chain option for setting which network to go on. [#388](https://github.com/paritytech/parity/pull/388) -- Ethash unit tests final [#387](https://github.com/paritytech/parity/pull/387) -- jsonrpc [#374](https://github.com/paritytech/parity/pull/374) -- Editorconfig file. [#384](https://github.com/paritytech/parity/pull/384) -- Coverage effort [in progress] [#382](https://github.com/paritytech/parity/pull/382) -- making root kcov runner simular to the one running on CI [#380](https://github.com/paritytech/parity/pull/380) -- add gcc as a dependency to dockerfiles [#381](https://github.com/paritytech/parity/pull/381) -- Check for handshake expiration before attempting connection replace [#375](https://github.com/paritytech/parity/pull/375) -- Blocks propagation [#364](https://github.com/paritytech/parity/pull/364) -- Network params. [#376](https://github.com/paritytech/parity/pull/376) -- Add parity-node-zero to bootnodes. [#373](https://github.com/paritytech/parity/pull/373) -- kcov uses travis_job_id instead of coveralls token [#370](https://github.com/paritytech/parity/pull/370) -- Add parity-node-zero.ethcore.io to boot nodes. [#371](https://github.com/paritytech/parity/pull/371) - -## Parity [v1.0.0-rc1](https://github.com/paritytech/parity/releases/tag/v1.0.0-rc1) (2016-03-15) - -First Parity 1.0.0 release candidate. - -- Version 1.0 in beta [#712](https://github.com/paritytech/parity/pull/712) -- Fix test for beta [#617](https://github.com/paritytech/parity/pull/617) -- JournalDB fix option 1 for beta [#614](https://github.com/paritytech/parity/pull/614) -- Failing test. [#606](https://github.com/paritytech/parity/pull/606) -- Fix transition points [#604](https://github.com/paritytech/parity/pull/604) -- (BETA) Update README.md [#549](https://github.com/paritytech/parity/pull/549) -- (BETA) instructions for beta release channel [#456](https://github.com/paritytech/parity/pull/456) -- (BETA) fix nightly - remerge [#454](https://github.com/paritytech/parity/pull/454) -- (BETA) fixing nightly version for beta [#452](https://github.com/paritytech/parity/pull/452) - -## Parity [beta-0.9.1](https://github.com/paritytech/parity/releases/tag/beta-0.9.1) (2016-02-16) - -Homestead transition block changed to 1100000. - -- Beta patch to 0.9.1 [#445](https://github.com/paritytech/parity/pull/445) -- Delay homestead transition [#430](https://github.com/paritytech/parity/pull/430) -- (BETA) https link in the installer (?) [#392](https://github.com/paritytech/parity/pull/392) -- beta: Check for handshake expiration before attempting replace [#377](https://github.com/paritytech/parity/pull/377) - -## Parity [beta-0.9](https://github.com/paritytech/parity/releases/tag/beta-0.9) (2016-02-08) - -First Parity Beta 0.9 released. - -- Panic on missing counters; Client cleanup [#368](https://github.com/paritytech/parity/pull/368) -- Update README for new PPAs. [#369](https://github.com/paritytech/parity/pull/369) -- block_queue::clear should be more thorough [#365](https://github.com/paritytech/parity/pull/365) -- Fixed an issue with forked counters [#363](https://github.com/paritytech/parity/pull/363) -- Install parity [#362](https://github.com/paritytech/parity/pull/362) -- DB directory versioning [#358](https://github.com/paritytech/parity/pull/358) -- Raise FD limit for MacOS [#357](https://github.com/paritytech/parity/pull/357) -- Travis slack integration. [#356](https://github.com/paritytech/parity/pull/356) -- SignedTransaction structure [#350](https://github.com/paritytech/parity/pull/350) -- License [#354](https://github.com/paritytech/parity/pull/354) -- Performance optimizations [#353](https://github.com/paritytech/parity/pull/353) -- Gitter in README. [#355](https://github.com/paritytech/parity/pull/355) -- test efforts, receipt requests [#352](https://github.com/paritytech/parity/pull/352) -- sync tests setup & local module coverage [#348](https://github.com/paritytech/parity/pull/348) -- install parity script [#347](https://github.com/paritytech/parity/pull/347) -- evmjit homestead merge [#342](https://github.com/paritytech/parity/pull/342) -- Fixed sync stalling on fork [#343](https://github.com/paritytech/parity/pull/343) -- Remerge 264 [#334](https://github.com/paritytech/parity/pull/334) -- Ethsync tests bfix [#339](https://github.com/paritytech/parity/pull/339) -- Fix default options. [#335](https://github.com/paritytech/parity/pull/335) -- sync queue limit hotfix [#338](https://github.com/paritytech/parity/pull/338) -- Network tests, separate local coverage for utils [#333](https://github.com/paritytech/parity/pull/333) -- fix parity version so netstats can parse it [#332](https://github.com/paritytech/parity/pull/332) -- reveal surprise [#331](https://github.com/paritytech/parity/pull/331) -- Revert removal of `new_code`. [#330](https://github.com/paritytech/parity/pull/330) -- Network mod tests first part [#329](https://github.com/paritytech/parity/pull/329) -- Look ma no `dead_code` [#323](https://github.com/paritytech/parity/pull/323) -- Fixing JIT, Updating hook to run `ethcore` tests. [#326](https://github.com/paritytech/parity/pull/326) -- Final docs [#327](https://github.com/paritytech/parity/pull/327) -- update install-deps.sh [#316](https://github.com/paritytech/parity/pull/316) -- Finish all my docs. Fix previous test compilation. [#320](https://github.com/paritytech/parity/pull/320) -- Additional evm tests (extops, call, jumps) and some docs [#317](https://github.com/paritytech/parity/pull/317) -- More documentation. [#318](https://github.com/paritytech/parity/pull/318) -- Additional documentation. [#315](https://github.com/paritytech/parity/pull/315) -- unused functions cleanup [#310](https://github.com/paritytech/parity/pull/310) -- update ethcore.github.io documentation automatically [#311](https://github.com/paritytech/parity/pull/311) -- Another try with travis ci credentials [#314](https://github.com/paritytech/parity/pull/314) -- Document some stuff. [#309](https://github.com/paritytech/parity/pull/309) -- Check block parent on import; Peer timeouts [#303](https://github.com/paritytech/parity/pull/303) -- Increasing coverage for evm. [#306](https://github.com/paritytech/parity/pull/306) -- ethcore docs [#301](https://github.com/paritytech/parity/pull/301) -- Replacing secure token for deployment [#305](https://github.com/paritytech/parity/pull/305) -- doc.sh [#299](https://github.com/paritytech/parity/pull/299) -- Building beta-* and stable-* tags [#302](https://github.com/paritytech/parity/pull/302) -- Deploying artifacts for tags (release/beta) [#300](https://github.com/paritytech/parity/pull/300) -- cov.sh to show coverage locally [#298](https://github.com/paritytech/parity/pull/298) -- benchmark fixes [#297](https://github.com/paritytech/parity/pull/297) -- Include JSONRPC CLI options. [#296](https://github.com/paritytech/parity/pull/296) -- travis.yml fixes [#293](https://github.com/paritytech/parity/pull/293) -- Improve version string. [#295](https://github.com/paritytech/parity/pull/295) -- Fixed block queue test [#294](https://github.com/paritytech/parity/pull/294) -- Util docs [#292](https://github.com/paritytech/parity/pull/292) -- fixed building docs [#289](https://github.com/paritytech/parity/pull/289) -- update travis to build PRs only against master [#290](https://github.com/paritytech/parity/pull/290) -- Coverage effort [#272](https://github.com/paritytech/parity/pull/272) -- updated docker containers [#288](https://github.com/paritytech/parity/pull/288) -- rpc module fixes [#287](https://github.com/paritytech/parity/pull/287) -- Test for Receipt RLP. [#282](https://github.com/paritytech/parity/pull/282) -- Building from source guide [#284](https://github.com/paritytech/parity/pull/284) -- Fixed neted empty list RLP encoding [#283](https://github.com/paritytech/parity/pull/283) -- Fix CALLDATACOPY (and bonus CODECOPY, too!). [#279](https://github.com/paritytech/parity/pull/279) -- added travis && coveralls badge to README.md [#280](https://github.com/paritytech/parity/pull/280) -- coveralls coverage [#277](https://github.com/paritytech/parity/pull/277) -- Travis [in progress] [#257](https://github.com/paritytech/parity/pull/257) -- Travis on reorganized repo [#276](https://github.com/paritytech/parity/pull/276) -- umbrella project [#275](https://github.com/paritytech/parity/pull/275) -- Ethash disk cache [#273](https://github.com/paritytech/parity/pull/273) -- Parity executable name and version [#274](https://github.com/paritytech/parity/pull/274) -- Dockerfile [#195](https://github.com/paritytech/parity/pull/195) -- Garbage collection test fix [#267](https://github.com/paritytech/parity/pull/267) -- Fix stCallCreateCallCodeTest, add more tests [#271](https://github.com/paritytech/parity/pull/271) -- Moved sync out of ethcore crate; Added block validation [#265](https://github.com/paritytech/parity/pull/265) -- RLP encoder refactoring [#252](https://github.com/paritytech/parity/pull/252) -- Chain sync tests and minor refactoring [#264](https://github.com/paritytech/parity/pull/264) -- Common log init function [#263](https://github.com/paritytech/parity/pull/263) -- changed max vm depth from 128 to 64, change homestead block to 1_000_000 [#262](https://github.com/paritytech/parity/pull/262) -- fixed blockchain tests crash on log init [#261](https://github.com/paritytech/parity/pull/261) -- Blockchain tests and some helpers for guarding temp directory [#256](https://github.com/paritytech/parity/pull/256) -- Fix logging and random tests. [#260](https://github.com/paritytech/parity/pull/260) -- Fix difficulty calculation algo. [#259](https://github.com/paritytech/parity/pull/259) -- fix submodule version [#258](https://github.com/paritytech/parity/pull/258) -- temp dir spawn refactoring [#246](https://github.com/paritytech/parity/pull/246) -- fixed tests submodule branch [#254](https://github.com/paritytech/parity/pull/254) -- rpc net methods returns real peer count && protocol version [#253](https://github.com/paritytech/parity/pull/253) -- Add homestead & random tests. [#245](https://github.com/paritytech/parity/pull/245) -- Fixing suicide with self-refund to be consistent with CPP. [#247](https://github.com/paritytech/parity/pull/247) -- stubs for rpc methods [#251](https://github.com/paritytech/parity/pull/251) -- clippy, missing docs, renaming etc. [#244](https://github.com/paritytech/parity/pull/244) -- impl missing methods in tests [#243](https://github.com/paritytech/parity/pull/243) -- General tests and some helpers [#239](https://github.com/paritytech/parity/pull/239) -- Note additional tests are fixed, fix doc test. [#242](https://github.com/paritytech/parity/pull/242) -- jsonrpc http server [#193](https://github.com/paritytech/parity/pull/193) -- Ethash nonce is H64 not a u64 [#240](https://github.com/paritytech/parity/pull/240) -- Fix import for bcMultiChainTest [#236](https://github.com/paritytech/parity/pull/236) -- Client basic tests [#232](https://github.com/paritytech/parity/pull/232) -- Fix ensure_db_good() and flush_queue(), block refactoring, check block format, be strict. [#231](https://github.com/paritytech/parity/pull/231) -- Rlp [#207](https://github.com/paritytech/parity/pull/207) -- Schedule documentation [#219](https://github.com/paritytech/parity/pull/219) -- U256<->H256 Conversion [#206](https://github.com/paritytech/parity/pull/206) -- Spawning new thread when we are reaching stack limit [#217](https://github.com/paritytech/parity/pull/217) -- Blockchain tests [#211](https://github.com/paritytech/parity/pull/211) -- fixed failing sync test [#218](https://github.com/paritytech/parity/pull/218) -- Removing println [#216](https://github.com/paritytech/parity/pull/216) -- Cleaning readme [#212](https://github.com/paritytech/parity/pull/212) -- Fixing delegatecall [#196](https://github.com/paritytech/parity/pull/196) -- Autogenerate the Args from the docopt macro. [#205](https://github.com/paritytech/parity/pull/205) -- Networking fixes [#202](https://github.com/paritytech/parity/pull/202) -- Argument parsing from CLI [#204](https://github.com/paritytech/parity/pull/204) -- Removed wildcard from clippy version [#203](https://github.com/paritytech/parity/pull/203) -- Fixed tests and tweaked sync progress report [#201](https://github.com/paritytech/parity/pull/201) -- Heavy tests [#199](https://github.com/paritytech/parity/pull/199) -- Mutithreaded IO [#198](https://github.com/paritytech/parity/pull/198) -- Populating last_hashes [#197](https://github.com/paritytech/parity/pull/197) -- Fixing clippy stuff [#170](https://github.com/paritytech/parity/pull/170) -- basic .travis.yml [#194](https://github.com/paritytech/parity/pull/194) -- Generating coverage reports. [#190](https://github.com/paritytech/parity/pull/190) -- Adding doc requests comments [#192](https://github.com/paritytech/parity/pull/192) -- moved src/bin/client.rs -> src/bin/client/main.rs [#185](https://github.com/paritytech/parity/pull/185) -- removed overflowing_shr [#188](https://github.com/paritytech/parity/pull/188) -- fixed wrapping ops on latest nightly [#187](https://github.com/paritytech/parity/pull/187) -- Pruned state DB [#176](https://github.com/paritytech/parity/pull/176) -- Memory management for cache [#180](https://github.com/paritytech/parity/pull/180) -- Implement signs having low-s. [#183](https://github.com/paritytech/parity/pull/183) -- Introduce sha3 crate and use it in ethash [#178](https://github.com/paritytech/parity/pull/178) -- Multithreaded block queue [#173](https://github.com/paritytech/parity/pull/173) -- Iterator for NibbleSlice and TrieDB. [#171](https://github.com/paritytech/parity/pull/171) -- Handling all possible overflows [#145](https://github.com/paritytech/parity/pull/145) -- Global secp256k1 context [#164](https://github.com/paritytech/parity/pull/164) -- Ethash [#152](https://github.com/paritytech/parity/pull/152) -- Move util into here [#153](https://github.com/paritytech/parity/pull/153) -- EVM Interpreter [#103](https://github.com/paritytech/parity/pull/103) -- Homestead transition support, maybe. [#141](https://github.com/paritytech/parity/pull/141) -- externalities refactor [#131](https://github.com/paritytech/parity/pull/131) -- More open files. [#140](https://github.com/paritytech/parity/pull/140) -- Single array for logs output. [#133](https://github.com/paritytech/parity/pull/133) -- Client app event handler [#132](https://github.com/paritytech/parity/pull/132) -- Various consensus fixes. [#130](https://github.com/paritytech/parity/pull/130) -- callcode builtins tests pass [#127](https://github.com/paritytech/parity/pull/127) -- Client state syncing [#119](https://github.com/paritytech/parity/pull/119) -- Split externalities from executive. [#126](https://github.com/paritytech/parity/pull/126) -- executive error on not enoguh base gas [#124](https://github.com/paritytech/parity/pull/124) -- Gav [#125](https://github.com/paritytech/parity/pull/125) -- builtin sets excepted to true [#123](https://github.com/paritytech/parity/pull/123) -- More state tests. [#122](https://github.com/paritytech/parity/pull/122) -- updated to rocksdb wrapper version 0.3 [#121](https://github.com/paritytech/parity/pull/121) -- out_of_gas -> excepted [#120](https://github.com/paritytech/parity/pull/120) -- Parametrizing evm::Factory [#111](https://github.com/paritytech/parity/pull/111) -- stLogs tests passing [#118](https://github.com/paritytech/parity/pull/118) -- Fix executive. [#117](https://github.com/paritytech/parity/pull/117) -- Fixes for marek's shooting from the hip. [#116](https://github.com/paritytech/parity/pull/116) -- Executive revert fix [#115](https://github.com/paritytech/parity/pull/115) -- Fix storage/account and add butress test. [#114](https://github.com/paritytech/parity/pull/114) -- Refactored Pod & Diff types into separate files, JSON infrastructure revamp. [#113](https://github.com/paritytech/parity/pull/113) -- Fix storage stuff and introduce per-item dirty-tracking. [#112](https://github.com/paritytech/parity/pull/112) -- Check logs in state tests. [#109](https://github.com/paritytech/parity/pull/109) -- executive gas calculation fixes [#108](https://github.com/paritytech/parity/pull/108) -- proper gas calculation in executive [#107](https://github.com/paritytech/parity/pull/107) -- Fixing MaxDepth param for executive [#105](https://github.com/paritytech/parity/pull/105) -- Fix determination of state roots. [#106](https://github.com/paritytech/parity/pull/106) -- transact substracts tx_gas [#104](https://github.com/paritytech/parity/pull/104) -- Pretty-print and fix for state. [#102](https://github.com/paritytech/parity/pull/102) -- Tier step price. [#101](https://github.com/paritytech/parity/pull/101) -- Refactor Diff datastructures. [#100](https://github.com/paritytech/parity/pull/100) -- externalities use u256 instead of u64 for gas calculation [#99](https://github.com/paritytech/parity/pull/99) -- Executive tests [#97](https://github.com/paritytech/parity/pull/97) -- State conensus tests now print mismatching diff on fail. [#98](https://github.com/paritytech/parity/pull/98) -- State testing framework. First test is failing. [#96](https://github.com/paritytech/parity/pull/96) -- executive tests [#95](https://github.com/paritytech/parity/pull/95) -- Use U512s for ether cost calculation, complete transaction API [#94](https://github.com/paritytech/parity/pull/94) -- Utils for consensus test decoding and better layout. [#93](https://github.com/paritytech/parity/pull/93) -- executive fixes + tests [#89](https://github.com/paritytech/parity/pull/89) -- All transaction tests pass. Nicer testing framework. [#92](https://github.com/paritytech/parity/pull/92) -- Block verification tests; BlockProvider blockchain trait for testing [#88](https://github.com/paritytech/parity/pull/88) -- State::exists, docs and tests. [#87](https://github.com/paritytech/parity/pull/87) -- Add tests module, add two more transaction tests. [#86](https://github.com/paritytech/parity/pull/86) -- bring back removed tests, removed build warnings [#82](https://github.com/paritytech/parity/pull/82) -- Nicer transaction validation API. Nicer OutOfBounds API in general. [#85](https://github.com/paritytech/parity/pull/85) -- Transaction fixes and consensus tests (all passing) [#84](https://github.com/paritytech/parity/pull/84) -- fixed getting block info in evmjit + tests [#81](https://github.com/paritytech/parity/pull/81) -- evm tests cleanup [#80](https://github.com/paritytech/parity/pull/80) -- renamed VmFactory -> Factory [#77](https://github.com/paritytech/parity/pull/77) -- fixed rust-evmjit description of improper_ctypes usage [#76](https://github.com/paritytech/parity/pull/76) -- jit feature enabled by default [#75](https://github.com/paritytech/parity/pull/75) -- evm [#52](https://github.com/paritytech/parity/pull/52) -- state clone [#74](https://github.com/paritytech/parity/pull/74) -- Block Verification (no tests yet) [#72](https://github.com/paritytech/parity/pull/72) -- Improvements to LogEntry and Transaction [#73](https://github.com/paritytech/parity/pull/73) -- Use getter in header in preparation for a Header trait; additional testing in enact_block(). [#64](https://github.com/paritytech/parity/pull/64) -- BlockChain sync and Client app [#55](https://github.com/paritytech/parity/pull/55) -- Block enactment (including test) [#63](https://github.com/paritytech/parity/pull/63) -- Block complete. Needs tests. [#62](https://github.com/paritytech/parity/pull/62) -- More on OpenBlock::close; State::kill_account added [#61](https://github.com/paritytech/parity/pull/61) -- Remove genesis module, add more chain specs and separate out ethereum-specific stuff [#60](https://github.com/paritytech/parity/pull/60) -- State::new_contract, camelCase engine params, missing param [#59](https://github.com/paritytech/parity/pull/59) -- Use reorganisation [#58](https://github.com/paritytech/parity/pull/58) -- Initial Ethash/Block skeleton implementations. [#57](https://github.com/paritytech/parity/pull/57) -- Spec with tested Morden genesis decoder and builtins. [#54](https://github.com/paritytech/parity/pull/54) -- Move all chain parameters into `engine_params` [#50](https://github.com/paritytech/parity/pull/50) -- jit ffi improvements [please review] [#51](https://github.com/paritytech/parity/pull/51) -- blockchain [please review] [#34](https://github.com/paritytech/parity/pull/34) -- Move information from networkparams.rs into spec.rs [#48](https://github.com/paritytech/parity/pull/48) -- Move bulking out in Engine/Params. [#47](https://github.com/paritytech/parity/pull/47) -- Removed need for mutation in State. [#46](https://github.com/paritytech/parity/pull/46) -- State::code and State::storage_at + tests. [#45](https://github.com/paritytech/parity/pull/45) -- State functions for balance and nonce operations [#44](https://github.com/paritytech/parity/pull/44) -- Account::storage_at, Account::ensure_cached and tests. [#43](https://github.com/paritytech/parity/pull/43) -- Additional tests. [#42](https://github.com/paritytech/parity/pull/42) -- seal todo done [#41](https://github.com/paritytech/parity/pull/41) -- missing rustc_serialize crate && rlp `as_list` function [#40](https://github.com/paritytech/parity/pull/40) -- More methods in Account, documentation and tests. [#39](https://github.com/paritytech/parity/pull/39) -- Minor reworking of Account. [#38](https://github.com/paritytech/parity/pull/38) -- Add Account and State classes. [#37](https://github.com/paritytech/parity/pull/37) -- Revert regressions [#36](https://github.com/paritytech/parity/pull/36) +- Check vouch status on appId in addition to contentHash ([#6719](https://github.com/paritytech/parity/pull/6719)) + - Check vouch status on appId in addition to contentHash + - Simplify var expansion +- Prevent going offline when restoring or taking a snapshot [#6694](https://github.com/paritytech/parity/pull/6694) +- Graceful exit when invalid CLI flags are passed (#6485) [#6711](https://github.com/paritytech/parity/pull/6711) +- Fixed RETURNDATA out of bounds check [#6718](https://github.com/paritytech/parity/pull/6718) +- Display vouched overlay on dapps [#6710](https://github.com/paritytech/parity/pull/6710) +- Fix gas estimation if `from` is not provided. [#6714](https://github.com/paritytech/parity/pull/6714) +- Emulate signer pubsub on public node [#6708](https://github.com/paritytech/parity/pull/6708) +- Removes dependency on rustc_serialize (#5988) [#6705](https://github.com/paritytech/parity/pull/6705) +- Fixed potential modexp exp len overflow [#6686](https://github.com/paritytech/parity/pull/6686) +- Fix asciiToHex for characters < 0x10 [#6702](https://github.com/paritytech/parity/pull/6702) +- Fix address input [#6701](https://github.com/paritytech/parity/pull/6701) +- Allow signer signing display of markdown [#6707](https://github.com/paritytech/parity/pull/6707) +- Fixed build warnings [#6664](https://github.com/paritytech/parity/pull/6664) +- Fix warp sync blockers detection [#6691](https://github.com/paritytech/parity/pull/6691) +- Difficulty tests [#6687](https://github.com/paritytech/parity/pull/6687) +- Separate migrations from util [#6690](https://github.com/paritytech/parity/pull/6690) +- Changelog for 1.7.3 [#6678](https://github.com/paritytech/parity/pull/6678) +- WASM gas schedule [#6638](https://github.com/paritytech/parity/pull/6638) +- Fix wallet view [#6597](https://github.com/paritytech/parity/pull/6597) +- Byzantium fork block number [#6660](https://github.com/paritytech/parity/pull/6660) +- Fixed RETURNDATA size for built-ins [#6652](https://github.com/paritytech/parity/pull/6652) +- Light Client: fetch transactions/receipts by transaction hash [#6641](https://github.com/paritytech/parity/pull/6641) +- Add Musicoin and MCIP-3 UBI hardfork. [#6621](https://github.com/paritytech/parity/pull/6621) +- fix 1.8 backcompat: revert to manual encoding/decoding of transition proofs [#6665](https://github.com/paritytech/parity/pull/6665) +- Tweaked block download timeouts (#6595) [#6655](https://github.com/paritytech/parity/pull/6655) +- Renamed RPC receipt statusCode field to status [#6650](https://github.com/paritytech/parity/pull/6650) +- SecretStore: session level timeout [#6631](https://github.com/paritytech/parity/pull/6631) +- SecretStore: ShareRemove of 'isolated' nodes [#6630](https://github.com/paritytech/parity/pull/6630) +- SecretStore: exclusive sessions [#6624](https://github.com/paritytech/parity/pull/6624) +- Fixed network protocol version negotiation [#6649](https://github.com/paritytech/parity/pull/6649) +- Updated systemd files for linux (Resolves #6592) [#6598](https://github.com/paritytech/parity/pull/6598) +- move additional_params to machine, fixes registry on non-ethash chains [#6646](https://github.com/paritytech/parity/pull/6646) +- Fix Token Transfer in transaction list [#6589](https://github.com/paritytech/parity/pull/6589) +- Update jsonrpc dependencies and rewrite dapps to futures. [#6522](https://github.com/paritytech/parity/pull/6522) +- Balance queries implemented in WASM runtime [#6639](https://github.com/paritytech/parity/pull/6639) +- Don't expose port 80 for parity anymore [#6633](https://github.com/paritytech/parity/pull/6633) +- WASM Runtime refactoring [#6596](https://github.com/paritytech/parity/pull/6596) +- Fix compilation [#6625](https://github.com/paritytech/parity/pull/6625) +- Downgrade futures to suppress warnings. [#6620](https://github.com/paritytech/parity/pull/6620) +- Add pagination for trace_filter rpc method [#6312](https://github.com/paritytech/parity/pull/6312) +- Disallow pasting recovery phrases on first run [#6602](https://github.com/paritytech/parity/pull/6602) +- fix typo: Unkown => Unknown [#6559](https://github.com/paritytech/parity/pull/6559) +- SecretStore: administrative sessions prototypes [#6605](https://github.com/paritytech/parity/pull/6605) +- fix parity.io link 404 [#6617](https://github.com/paritytech/parity/pull/6617) +- SecretStore: add node to existing session poc + discussion [#6480](https://github.com/paritytech/parity/pull/6480) +- Generalize engine trait [#6591](https://github.com/paritytech/parity/pull/6591) +- Add RPC eth_chainId for querying the current blockchain chain ID [#6329](https://github.com/paritytech/parity/pull/6329) +- Debounce sync status. [#6572](https://github.com/paritytech/parity/pull/6572) +- [Public Node] Disable tx scheduling and hardware wallets [#6588](https://github.com/paritytech/parity/pull/6588) +- Use memmap for dag cache [#6193](https://github.com/paritytech/parity/pull/6193) +- Rename Requests to Batch [#6582](https://github.com/paritytech/parity/pull/6582) +- Use host as ws/dapps url if present. [#6566](https://github.com/paritytech/parity/pull/6566) +- Sync progress and error handling fixes [#6560](https://github.com/paritytech/parity/pull/6560) +- Fixed receipt serialization and RPC [#6555](https://github.com/paritytech/parity/pull/6555) +- Fix number of confirmations for transaction [#6552](https://github.com/paritytech/parity/pull/6552) +- Fix #6540 [#6556](https://github.com/paritytech/parity/pull/6556) +- Fix failing hardware tests [#6553](https://github.com/paritytech/parity/pull/6553) +- Required validators >= num owners in Wallet Creation [#6551](https://github.com/paritytech/parity/pull/6551) +- Random cleanups / improvements to a state [#6472](https://github.com/paritytech/parity/pull/6472) +- Changelog for 1.7.2 [#6363](https://github.com/paritytech/parity/pull/6363) +- Ropsten fork [#6533](https://github.com/paritytech/parity/pull/6533) +- Byzantium updates [#5855](https://github.com/paritytech/parity/pull/5855) +- Fix extension detection [#6452](https://github.com/paritytech/parity/pull/6452) +- Downgrade futures to supress warnings [#6521](https://github.com/paritytech/parity/pull/6521) +- separate trie from util and make its dependencies into libs [#6478](https://github.com/paritytech/parity/pull/6478) +- WASM sha3 test [#6512](https://github.com/paritytech/parity/pull/6512) +- Fix broken JavaScript tests [#6498](https://github.com/paritytech/parity/pull/6498) +- SecretStore: use random key to encrypt channel + session-level nonce [#6470](https://github.com/paritytech/parity/pull/6470) +- Trezor Support [#6403](https://github.com/paritytech/parity/pull/6403) +- Fix compiler warning [#6491](https://github.com/paritytech/parity/pull/6491) +- Fix typo [#6505](https://github.com/paritytech/parity/pull/6505) +- WASM: added math overflow test [#6474](https://github.com/paritytech/parity/pull/6474) +- Fix slow balances [#6471](https://github.com/paritytech/parity/pull/6471) +- WASM runtime update [#6467](https://github.com/paritytech/parity/pull/6467) +- Compatibility with whisper v6 [#6179](https://github.com/paritytech/parity/pull/6179) +- light-poa round 2: allow optional casting of engine client to full client [#6468](https://github.com/paritytech/parity/pull/6468) +- Moved attributes under docs [#6475](https://github.com/paritytech/parity/pull/6475) +- cleanup util dependencies [#6464](https://github.com/paritytech/parity/pull/6464) +- removed redundant earlymergedb trace guards [#6463](https://github.com/paritytech/parity/pull/6463) +- UtilError utilizes error_chain! [#6461](https://github.com/paritytech/parity/pull/6461) +- fixed master [#6465](https://github.com/paritytech/parity/pull/6465) +- Refactor and port CLI from Docopt to Clap (#2066) [#6356](https://github.com/paritytech/parity/pull/6356) +- Add language selector in production [#6317](https://github.com/paritytech/parity/pull/6317) +- eth_call returns output of contract creations [#6420](https://github.com/paritytech/parity/pull/6420) +- Refactor: Don't reexport bigint from util [#6459](https://github.com/paritytech/parity/pull/6459) +- Transaction permissioning [#6441](https://github.com/paritytech/parity/pull/6441) +- Added missing SecretStore tests - signing session [#6411](https://github.com/paritytech/parity/pull/6411) +- Light-client sync for contract-based PoA [#6370](https://github.com/paritytech/parity/pull/6370) +- triehash is separated from util [#6428](https://github.com/paritytech/parity/pull/6428) +- remove re-export of parking_lot in util [#6435](https://github.com/paritytech/parity/pull/6435) +- fix modexp bug: return 0 if base is zero [#6424](https://github.com/paritytech/parity/pull/6424) +- separate semantic_version from util [#6438](https://github.com/paritytech/parity/pull/6438) +- move timer.rs to ethcore [#6437](https://github.com/paritytech/parity/pull/6437) +- remove re-export of ansi_term in util [#6433](https://github.com/paritytech/parity/pull/6433) +- Pub sub blocks [#6139](https://github.com/paritytech/parity/pull/6139) +- replace trait Hashable with fn keccak [#6423](https://github.com/paritytech/parity/pull/6423) +- add more hash backward compatibility test for bloom [#6425](https://github.com/paritytech/parity/pull/6425) +- remove the redundant hasher in Bloom [#6404](https://github.com/paritytech/parity/pull/6404) +- Remove re-export of HeapSizeOf in util (part of #6418) [#6419](https://github.com/paritytech/parity/pull/6419) +- Rewards on closing blocks [#6194](https://github.com/paritytech/parity/pull/6194) +- ensure balances of constructor accounts are kept [#6413](https://github.com/paritytech/parity/pull/6413) +- removed recursion from triedbmut::lookup [#6394](https://github.com/paritytech/parity/pull/6394) +- do not activate genesis epoch in immediate transition validator contract [#6349](https://github.com/paritytech/parity/pull/6349) +- Use git for the snap version [#6271](https://github.com/paritytech/parity/pull/6271) +- Permissioned p2p connections [#6359](https://github.com/paritytech/parity/pull/6359) +- Don't accept transactions above block gas limit. [#6408](https://github.com/paritytech/parity/pull/6408) +- Fix memory tracing. [#6399](https://github.com/paritytech/parity/pull/6399) +- earlydb optimizations [#6393](https://github.com/paritytech/parity/pull/6393) +- Optimized PlainHasher hashing. Trie insertions are >15 faster [#6321](https://github.com/paritytech/parity/pull/6321) +- Trie optimizations [#6389](https://github.com/paritytech/parity/pull/6389) +- small optimizations for triehash [#6392](https://github.com/paritytech/parity/pull/6392) +- Bring back IPFS tests. [#6398](https://github.com/paritytech/parity/pull/6398) +- Running state test using parity-evm [#6355](https://github.com/paritytech/parity/pull/6355) +- Wasm math tests extended [#6354](https://github.com/paritytech/parity/pull/6354) +- Expose health status over RPC [#6274](https://github.com/paritytech/parity/pull/6274) +- fix bloom bitvecjournal storage allocation [#6390](https://github.com/paritytech/parity/pull/6390) +- fixed pending block panic [#6391](https://github.com/paritytech/parity/pull/6391) +- Infoline less opaque for UI/visibility [#6364](https://github.com/paritytech/parity/pull/6364) +- Fix eth_call. [#6365](https://github.com/paritytech/parity/pull/6365) +- updated bigint [#6341](https://github.com/paritytech/parity/pull/6341) +- Optimize trie iter by avoiding redundant copying [#6347](https://github.com/paritytech/parity/pull/6347) +- Only keep a single rocksdb debug log file [#6346](https://github.com/paritytech/parity/pull/6346) +- Tweaked snapshot params [#6344](https://github.com/paritytech/parity/pull/6344) +- Rename network_id to chain_id where applicable. [#6345](https://github.com/paritytech/parity/pull/6345) +- Itertools are no longer reexported from util, optimized triedb iter [#6322](https://github.com/paritytech/parity/pull/6322) +- Better check the created accounts before showing Startup Wizard [#6331](https://github.com/paritytech/parity/pull/6331) +- Better error messages for invalid types in RPC [#6311](https://github.com/paritytech/parity/pull/6311) +- fix panic in parity-evm json tracer [#6338](https://github.com/paritytech/parity/pull/6338) +- WASM math test [#6305](https://github.com/paritytech/parity/pull/6305) +- rlp_derive [#6125](https://github.com/paritytech/parity/pull/6125) +- Fix --chain parsing in parity-evm. [#6314](https://github.com/paritytech/parity/pull/6314) +- Unexpose RPC methods on :8180 [#6295](https://github.com/paritytech/parity/pull/6295) +- Ignore errors from dappsUrl when starting UI. [#6296](https://github.com/paritytech/parity/pull/6296) +- updated bigint with optimized mul and from_big_indian [#6323](https://github.com/paritytech/parity/pull/6323) +- SecretStore: bunch of fixes and improvements [#6168](https://github.com/paritytech/parity/pull/6168) +- Master requires rust 1.19 [#6308](https://github.com/paritytech/parity/pull/6308) +- Add more descriptive error when signing/decrypting using hw wallet. [#6302](https://github.com/paritytech/parity/pull/6302) +- Increase default gas limit for eth_call. [#6299](https://github.com/paritytech/parity/pull/6299) +- rust-toolchain file on master [#6266](https://github.com/paritytech/parity/pull/6266) +- Migrate wasm-tests to updated runtime [#6278](https://github.com/paritytech/parity/pull/6278) +- Extension fixes [#6284](https://github.com/paritytech/parity/pull/6284) +- Fix a hash displayed in tooltip when signing arbitrary data [#6283](https://github.com/paritytech/parity/pull/6283) +- Time should not contribue to overall status. [#6276](https://github.com/paritytech/parity/pull/6276) +- Add --to and --gas-price to evmbin [#6277](https://github.com/paritytech/parity/pull/6277) +- Fix dapps CSP when UI is exposed externally [#6178](https://github.com/paritytech/parity/pull/6178) +- Add warning to web browser and fix links. [#6232](https://github.com/paritytech/parity/pull/6232) +- Update Settings/Proxy view to match entries in proxy.pac [#4771](https://github.com/paritytech/parity/pull/4771) +- Dapp refresh [#5752](https://github.com/paritytech/parity/pull/5752) +- Add support for ConsenSys multisig wallet [#6153](https://github.com/paritytech/parity/pull/6153) +- updated jsonrpc [#6264](https://github.com/paritytech/parity/pull/6264) +- SecretStore: encrypt messages using private key from key store [#6146](https://github.com/paritytech/parity/pull/6146) +- Wasm storage read test [#6255](https://github.com/paritytech/parity/pull/6255) +- propagate stratum submit share error upstream [#6260](https://github.com/paritytech/parity/pull/6260) +- Using multiple NTP servers [#6173](https://github.com/paritytech/parity/pull/6173) +- Add GitHub issue templates. [#6259](https://github.com/paritytech/parity/pull/6259) +- format instant change proofs correctly [#6241](https://github.com/paritytech/parity/pull/6241) +- price-info does not depend on util [#6231](https://github.com/paritytech/parity/pull/6231) +- native-contracts crate does not depend on util any more [#6233](https://github.com/paritytech/parity/pull/6233) +- Bump master to 1.8.0 [#6256](https://github.com/paritytech/parity/pull/6256) +- SecretStore: do not cache ACL contract + on-chain key servers configuration [#6107](https://github.com/paritytech/parity/pull/6107) +- Fix the README badges [#6229](https://github.com/paritytech/parity/pull/6229) +- updated tiny-keccak to 1.3 [#6248](https://github.com/paritytech/parity/pull/6248) +- Small grammatical error [#6244](https://github.com/paritytech/parity/pull/6244) +- Multi-call RPC [#6195](https://github.com/paritytech/parity/pull/6195) +- InstantSeal fix [#6223](https://github.com/paritytech/parity/pull/6223) +- Untrusted RLP length overflow check [#6227](https://github.com/paritytech/parity/pull/6227) +- Chainspec validation [#6197](https://github.com/paritytech/parity/pull/6197) +- Fix cache path when using --base-path [#6212](https://github.com/paritytech/parity/pull/6212) +- removed std reexports from util && fixed broken tests [#6187](https://github.com/paritytech/parity/pull/6187) +- WASM MVP continued [#6132](https://github.com/paritytech/parity/pull/6132) +- Decouple virtual machines [#6184](https://github.com/paritytech/parity/pull/6184) +- Realloc test added [#6177](https://github.com/paritytech/parity/pull/6177) +- Re-enable wallets, fixed forgetting accounts [#6196](https://github.com/paritytech/parity/pull/6196) +- Move more params to the common section. [#6134](https://github.com/paritytech/parity/pull/6134) +- Whisper js [#6161](https://github.com/paritytech/parity/pull/6161) +- typo in uninstaller [#6185](https://github.com/paritytech/parity/pull/6185) +- fix #6052. honor --no-color for signer command [#6100](https://github.com/paritytech/parity/pull/6100) +- Refactor --allow-ips to handle custom ip-ranges [#6144](https://github.com/paritytech/parity/pull/6144) +- Update Changelog for 1.6.10 and 1.7.0 [#6183](https://github.com/paritytech/parity/pull/6183) +- Fix unsoundness in ethash's unsafe code [#6140](https://github.com/paritytech/parity/pull/6140) + + +### Previous releases + +- [CHANGELOG-1.7](docs/CHANGELOG-1.7.md) +- [CHANGELOG-1.6](docs/CHANGELOG-1.6.md) +- [CHANGELOG-1.5](docs/CHANGELOG-1.5.md) +- [CHANGELOG-1.4](docs/CHANGELOG-1.4.md) +- [CHANGELOG-1.3](docs/CHANGELOG-1.3.md) +- [CHANGELOG-1.2](docs/CHANGELOG-1.2.md) +- [CHANGELOG-1.1](docs/CHANGELOG-1.1.md) +- [CHANGELOG-1.0](docs/CHANGELOG-1.0.md) +- [CHANGELOG-0.9](docs/CHANGELOG-0.9.md) diff --git a/Cargo.lock b/Cargo.lock index 7ec655522..95b19ce35 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,8 +4,8 @@ version = "0.1.0" dependencies = [ "byteorder 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethcore-bigint 0.1.3", - "ethcore-logger 1.8.0", - "ethcore-util 1.8.0", + "ethcore-logger 1.9.0", + "ethcore-util 1.9.0", "log 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "parity-wasm 0.14.5 (registry+https://github.com/rust-lang/crates.io-index)", "vm 0.1.0", @@ -374,7 +374,7 @@ dependencies = [ "bloomable 0.1.0", "ethcore-bigint 0.1.3", "ethcore-bytes 0.1.0", - "ethcore-util 1.8.0", + "ethcore-util 1.9.0", "ethjson 0.1.0", "hash 0.1.0", "heapsize 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -554,7 +554,7 @@ dependencies = [ [[package]] name = "ethash" -version = "1.8.0" +version = "1.9.0" dependencies = [ "crunchy 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "either 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -567,7 +567,7 @@ dependencies = [ [[package]] name = "ethcore" -version = "1.8.0" +version = "1.9.0" dependencies = [ "ansi_term 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", "bloomable 0.1.0", @@ -577,34 +577,37 @@ dependencies = [ "clippy 0.0.103 (registry+https://github.com/rust-lang/crates.io-index)", "common-types 0.1.0", "crossbeam 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", - "ethash 1.8.0", + "ethash 1.9.0", "ethcore-bigint 0.1.3", "ethcore-bloom-journal 0.1.0", "ethcore-bytes 0.1.0", - "ethcore-devtools 1.8.0", - "ethcore-io 1.8.0", - "ethcore-ipc 1.8.0", - "ethcore-ipc-codegen 1.8.0", - "ethcore-ipc-nano 1.8.0", - "ethcore-logger 1.8.0", - "ethcore-stratum 1.8.0", - "ethcore-util 1.8.0", + "ethcore-devtools 1.9.0", + "ethcore-io 1.9.0", + "ethcore-ipc 1.9.0", + "ethcore-ipc-codegen 1.9.0", + "ethcore-ipc-nano 1.9.0", + "ethcore-logger 1.9.0", + "ethcore-stratum 1.9.0", + "ethcore-util 1.9.0", "ethjson 0.1.0", "ethkey 0.2.0", "ethstore 0.1.0", "evm 0.1.0", "futures 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", - "hardware-wallet 1.8.0", + "hardware-wallet 1.9.0", "hash 0.1.0", "hashdb 0.1.0", "heapsize 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", "hyper 0.10.0-a.0 (git+https://github.com/paritytech/hyper)", "itertools 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)", + "kvdb 0.1.0", "lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", "linked-hash-map 0.5.0 (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)", + "macros 0.1.0", "memorydb 0.1.0", + "migration 0.1.0", "native-contracts 0.1.0", "num 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", "num_cpus 1.6.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -619,6 +622,7 @@ dependencies = [ "rust-crypto 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "semantic_version 0.1.0", + "snappy 0.1.0", "stats 0.1.0", "table 0.1.0", "time 0.1.38 (registry+https://github.com/rust-lang/crates.io-index)", @@ -626,6 +630,7 @@ dependencies = [ "triehash 0.1.0", "unexpected 0.1.0", "using_queue 0.1.0", + "util-error 0.1.0", "vm 0.1.0", "wasm 0.1.0", ] @@ -655,14 +660,14 @@ version = "0.1.0" [[package]] name = "ethcore-devtools" -version = "1.8.0" +version = "1.9.0" dependencies = [ "rand 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "ethcore-io" -version = "1.8.0" +version = "1.9.0" dependencies = [ "crossbeam 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -673,18 +678,18 @@ dependencies = [ [[package]] name = "ethcore-ipc" -version = "1.8.0" +version = "1.9.0" dependencies = [ "ethcore-bigint 0.1.3", - "ethcore-devtools 1.8.0", - "ethcore-util 1.8.0", + "ethcore-devtools 1.9.0", + "ethcore-util 1.9.0", "nanomsg 0.5.1 (git+https://github.com/paritytech/nanomsg.rs.git?branch=parity-1.7)", "semver 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "ethcore-ipc-codegen" -version = "1.8.0" +version = "1.9.0" dependencies = [ "aster 0.41.0 (registry+https://github.com/rust-lang/crates.io-index)", "clippy 0.0.163 (registry+https://github.com/rust-lang/crates.io-index)", @@ -699,9 +704,9 @@ dependencies = [ name = "ethcore-ipc-hypervisor" version = "1.2.0" dependencies = [ - "ethcore-ipc 1.8.0", - "ethcore-ipc-codegen 1.8.0", - "ethcore-ipc-nano 1.8.0", + "ethcore-ipc 1.9.0", + "ethcore-ipc-codegen 1.9.0", + "ethcore-ipc-nano 1.9.0", "log 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "nanomsg 0.5.1 (git+https://github.com/paritytech/nanomsg.rs.git?branch=parity-1.7)", "semver 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -710,9 +715,9 @@ dependencies = [ [[package]] name = "ethcore-ipc-nano" -version = "1.8.0" +version = "1.9.0" dependencies = [ - "ethcore-ipc 1.8.0", + "ethcore-ipc 1.9.0", "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)", "nanomsg 0.5.1 (git+https://github.com/paritytech/nanomsg.rs.git?branch=parity-1.7)", @@ -723,11 +728,11 @@ name = "ethcore-ipc-tests" version = "0.1.0" dependencies = [ "ethcore-bytes 0.1.0", - "ethcore-devtools 1.8.0", - "ethcore-ipc 1.8.0", - "ethcore-ipc-codegen 1.8.0", - "ethcore-ipc-nano 1.8.0", - "ethcore-util 1.8.0", + "ethcore-devtools 1.9.0", + "ethcore-ipc 1.9.0", + "ethcore-ipc-codegen 1.9.0", + "ethcore-ipc-nano 1.9.0", + "ethcore-util 1.9.0", "log 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "nanomsg 0.5.1 (git+https://github.com/paritytech/nanomsg.rs.git?branch=parity-1.7)", "semver 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -735,23 +740,24 @@ dependencies = [ [[package]] name = "ethcore-light" -version = "1.8.0" +version = "1.9.0" dependencies = [ "bincode 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "ethcore 1.8.0", + "ethcore 1.9.0", "ethcore-bigint 0.1.3", "ethcore-bytes 0.1.0", - "ethcore-devtools 1.8.0", - "ethcore-io 1.8.0", - "ethcore-ipc 1.8.0", - "ethcore-ipc-codegen 1.8.0", - "ethcore-network 1.8.0", - "ethcore-util 1.8.0", + "ethcore-devtools 1.9.0", + "ethcore-io 1.9.0", + "ethcore-ipc 1.9.0", + "ethcore-ipc-codegen 1.9.0", + "ethcore-network 1.9.0", + "ethcore-util 1.9.0", "evm 0.1.0", "futures 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", "hash 0.1.0", "heapsize 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", "itertools 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)", + "kvdb 0.1.0", "log 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "memorydb 0.1.0", "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -770,7 +776,7 @@ dependencies = [ [[package]] name = "ethcore-logger" -version = "1.8.0" +version = "1.9.0" dependencies = [ "ansi_term 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", "arrayvec 0.3.23 (registry+https://github.com/rust-lang/crates.io-index)", @@ -785,17 +791,17 @@ dependencies = [ [[package]] name = "ethcore-network" -version = "1.8.0" +version = "1.9.0" dependencies = [ "ansi_term 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", "bytes 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)", "clippy 0.0.103 (registry+https://github.com/rust-lang/crates.io-index)", "ethcore-bigint 0.1.3", "ethcore-bytes 0.1.0", - "ethcore-devtools 1.8.0", - "ethcore-io 1.8.0", - "ethcore-logger 1.8.0", - "ethcore-util 1.8.0", + "ethcore-devtools 1.9.0", + "ethcore-io 1.9.0", + "ethcore-logger 1.9.0", + "ethcore-util 1.9.0", "ethcrypto 0.1.0", "ethkey 0.2.0", "hash 0.1.0", @@ -810,7 +816,7 @@ dependencies = [ "rlp 0.2.0", "rust-crypto 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", "slab 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.38 (registry+https://github.com/rust-lang/crates.io-index)", "tiny-keccak 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -822,21 +828,22 @@ version = "1.0.0" dependencies = [ "byteorder 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethabi 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "ethcore 1.8.0", + "ethcore 1.9.0", "ethcore-bigint 0.1.3", "ethcore-bytes 0.1.0", - "ethcore-devtools 1.8.0", - "ethcore-ipc 1.8.0", - "ethcore-ipc-codegen 1.8.0", - "ethcore-ipc-nano 1.8.0", - "ethcore-logger 1.8.0", - "ethcore-util 1.8.0", + "ethcore-devtools 1.9.0", + "ethcore-ipc 1.9.0", + "ethcore-ipc-codegen 1.9.0", + "ethcore-ipc-nano 1.9.0", + "ethcore-logger 1.9.0", + "ethcore-util 1.9.0", "ethcrypto 0.1.0", "ethkey 0.2.0", "futures 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", "futures-cpupool 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "hash 0.1.0", "hyper 0.10.13 (registry+https://github.com/rust-lang/crates.io-index)", + "kvdb 0.1.0", "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)", "native-contracts 0.1.0", @@ -855,16 +862,16 @@ dependencies = [ [[package]] name = "ethcore-stratum" -version = "1.8.0" +version = "1.9.0" dependencies = [ "env_logger 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", "ethcore-bigint 0.1.3", - "ethcore-devtools 1.8.0", - "ethcore-ipc 1.8.0", - "ethcore-ipc-codegen 1.8.0", - "ethcore-ipc-nano 1.8.0", - "ethcore-logger 1.8.0", - "ethcore-util 1.8.0", + "ethcore-devtools 1.9.0", + "ethcore-ipc 1.9.0", + "ethcore-ipc-codegen 1.9.0", + "ethcore-ipc-nano 1.9.0", + "ethcore-logger 1.9.0", + "ethcore-util 1.9.0", "hash 0.1.0", "jsonrpc-core 8.0.0 (git+https://github.com/paritytech/jsonrpc.git?branch=parity-1.8)", "jsonrpc-macros 8.0.0 (git+https://github.com/paritytech/jsonrpc.git?branch=parity-1.8)", @@ -877,7 +884,7 @@ dependencies = [ [[package]] name = "ethcore-util" -version = "1.8.0" +version = "1.9.0" dependencies = [ "clippy 0.0.103 (registry+https://github.com/rust-lang/crates.io-index)", "elastic-array 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -885,22 +892,19 @@ dependencies = [ "error-chain 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", "eth-secp256k1 0.5.6 (git+https://github.com/paritytech/rust-secp256k1)", "ethcore-bigint 0.1.3", - "ethcore-bloom-journal 0.1.0", "ethcore-bytes 0.1.0", - "ethcore-devtools 1.8.0", - "ethcore-logger 1.8.0", + "ethcore-devtools 1.9.0", + "ethcore-logger 1.9.0", "hash 0.1.0", "hashdb 0.1.0", "heapsize 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", + "kvdb 0.1.0", "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)", "lru-cache 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "memorydb 0.1.0", - "nibbleslice 0.1.0", - "nibblevec 0.1.0", "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "patricia_trie 0.1.0", - "regex 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "rlp 0.2.0", "rocksdb 0.4.5 (git+https://github.com/paritytech/rust-rocksdb)", "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -908,6 +912,7 @@ dependencies = [ "target_info 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "tiny-keccak 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "triehash 0.1.0", + "util-error 0.1.0", "vergen 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -999,26 +1004,28 @@ dependencies = [ [[package]] name = "ethsync" -version = "1.8.0" +version = "1.9.0" dependencies = [ "clippy 0.0.103 (registry+https://github.com/rust-lang/crates.io-index)", "env_logger 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", - "ethcore 1.8.0", + "ethcore 1.9.0", "ethcore-bigint 0.1.3", "ethcore-bytes 0.1.0", - "ethcore-devtools 1.8.0", - "ethcore-io 1.8.0", - "ethcore-ipc 1.8.0", - "ethcore-ipc-codegen 1.8.0", - "ethcore-ipc-nano 1.8.0", - "ethcore-light 1.8.0", - "ethcore-network 1.8.0", - "ethcore-util 1.8.0", + "ethcore-devtools 1.9.0", + "ethcore-io 1.9.0", + "ethcore-ipc 1.9.0", + "ethcore-ipc-codegen 1.9.0", + "ethcore-ipc-nano 1.9.0", + "ethcore-light 1.9.0", + "ethcore-network 1.9.0", + "ethcore-util 1.9.0", "ethkey 0.2.0", "hash 0.1.0", "heapsize 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", "ipnetwork 0.12.7 (registry+https://github.com/rust-lang/crates.io-index)", + "kvdb 0.1.0", "log 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", + "macros 0.1.0", "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", "rlp 0.2.0", @@ -1033,22 +1040,16 @@ name = "evm" version = "0.1.0" dependencies = [ "bit-set 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "byteorder 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "common-types 0.1.0", "ethcore-bigint 0.1.3", - "ethcore-logger 1.8.0", - "ethcore-util 1.8.0", - "ethjson 0.1.0", - "evmjit 1.8.0", + "ethcore-util 1.9.0", + "evmjit 1.9.0", "hash 0.1.0", "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)", "log 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "rlp 0.2.0", "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "vm 0.1.0", - "wasm-utils 0.1.0 (git+https://github.com/paritytech/wasm-utils)", ] [[package]] @@ -1056,10 +1057,10 @@ name = "evmbin" version = "0.1.0" dependencies = [ "docopt 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", - "ethcore 1.8.0", + "ethcore 1.9.0", "ethcore-bigint 0.1.3", "ethcore-bytes 0.1.0", - "ethcore-util 1.8.0", + "ethcore-util 1.9.0", "ethjson 0.1.0", "evm 0.1.0", "panic_hook 0.1.0", @@ -1071,7 +1072,7 @@ dependencies = [ [[package]] name = "evmjit" -version = "1.8.0" +version = "1.9.0" dependencies = [ "tiny-keccak 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1175,7 +1176,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "hardware-wallet" -version = "1.8.0" +version = "1.9.0" dependencies = [ "ethcore-bigint 0.1.3", "ethkey 0.2.0", @@ -1192,8 +1193,8 @@ dependencies = [ name = "hash" version = "0.1.0" dependencies = [ + "cc 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethcore-bigint 0.1.3", - "gcc 0.3.54 (registry+https://github.com/rust-lang/crates.io-index)", "tempdir 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "tiny-keccak 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1352,12 +1353,12 @@ dependencies = [ [[package]] name = "ipc-common-types" -version = "1.8.0" +version = "1.9.0" dependencies = [ "ethcore-bigint 0.1.3", - "ethcore-ipc 1.8.0", - "ethcore-ipc-codegen 1.8.0", - "ethcore-util 1.8.0", + "ethcore-ipc 1.9.0", + "ethcore-ipc-codegen 1.9.0", + "ethcore-util 1.9.0", "semver 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1501,6 +1502,23 @@ dependencies = [ "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "kvdb" +version = "0.1.0" +dependencies = [ + "elastic-array 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "error-chain 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", + "ethcore-bigint 0.1.3", + "ethcore-bytes 0.1.0", + "ethcore-devtools 1.9.0", + "hashdb 0.1.0", + "log 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", + "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "rlp 0.2.0", + "rocksdb 0.4.5 (git+https://github.com/paritytech/rust-rocksdb)", +] + [[package]] name = "language-tags" version = "0.2.2" @@ -1582,6 +1600,10 @@ dependencies = [ "linked-hash-map 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "macros" +version = "0.1.0" + [[package]] name = "magenta" version = "0.1.1" @@ -1636,6 +1658,16 @@ dependencies = [ "rlp 0.2.0", ] +[[package]] +name = "migration" +version = "0.1.0" +dependencies = [ + "ethcore-devtools 1.9.0", + "kvdb 0.1.0", + "log 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", + "macros 0.1.0", +] + [[package]] name = "mime" version = "0.2.6" @@ -1810,32 +1842,18 @@ dependencies = [ "ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "nibbleslice" -version = "0.1.0" -dependencies = [ - "elastic-array 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "nibblevec" -version = "0.1.0" -dependencies = [ - "elastic-array 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", - "nibbleslice 0.1.0", -] - [[package]] name = "node-filter" -version = "1.8.0" +version = "1.9.0" dependencies = [ - "ethcore 1.8.0", + "ethcore 1.9.0", "ethcore-bigint 0.1.3", "ethcore-bytes 0.1.0", - "ethcore-io 1.8.0", - "ethcore-network 1.8.0", - "ethcore-util 1.8.0", + "ethcore-io 1.9.0", + "ethcore-network 1.9.0", + "ethcore-util 1.9.0", "futures 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", + "kvdb 0.1.0", "log 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "native-contracts 0.1.0", "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2042,23 +2060,23 @@ dependencies = [ "daemonize 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "docopt 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", "env_logger 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", - "ethcore 1.8.0", + "ethcore 1.9.0", "ethcore-bigint 0.1.3", "ethcore-bytes 0.1.0", - "ethcore-devtools 1.8.0", - "ethcore-io 1.8.0", - "ethcore-ipc 1.8.0", + "ethcore-devtools 1.9.0", + "ethcore-io 1.9.0", + "ethcore-ipc 1.9.0", "ethcore-ipc-hypervisor 1.2.0", - "ethcore-ipc-nano 1.8.0", + "ethcore-ipc-nano 1.9.0", "ethcore-ipc-tests 0.1.0", - "ethcore-light 1.8.0", - "ethcore-logger 1.8.0", - "ethcore-network 1.8.0", + "ethcore-light 1.9.0", + "ethcore-logger 1.9.0", + "ethcore-network 1.9.0", "ethcore-secretstore 1.0.0", - "ethcore-stratum 1.8.0", - "ethcore-util 1.8.0", + "ethcore-stratum 1.9.0", + "ethcore-util 1.9.0", "ethkey 0.2.0", - "ethsync 1.8.0", + "ethsync 1.9.0", "fdlimit 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "futures 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", "futures-cpupool 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2066,20 +2084,22 @@ dependencies = [ "ipnetwork 0.12.7 (registry+https://github.com/rust-lang/crates.io-index)", "isatty 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "jsonrpc-core 8.0.0 (git+https://github.com/paritytech/jsonrpc.git?branch=parity-1.8)", + "kvdb 0.1.0", "log 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", - "node-filter 1.8.0", + "migration 0.1.0", + "node-filter 1.9.0", "node-health 0.1.0", "num_cpus 1.6.2 (registry+https://github.com/rust-lang/crates.io-index)", "number_prefix 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", "panic_hook 0.1.0", - "parity-dapps 1.8.0", - "parity-hash-fetch 1.8.0", - "parity-ipfs-api 1.8.0", + "parity-dapps 1.9.0", + "parity-hash-fetch 1.9.0", + "parity-ipfs-api 1.9.0", "parity-local-store 0.1.0", "parity-reactor 0.1.0", - "parity-rpc 1.8.0", + "parity-rpc 1.9.0", "parity-rpc-client 1.4.0", - "parity-updater 1.8.0", + "parity-updater 1.9.0", "parity-whisper 0.1.0", "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "path 0.1.0", @@ -2102,15 +2122,15 @@ dependencies = [ [[package]] name = "parity-dapps" -version = "1.8.0" +version = "1.9.0" dependencies = [ "base32 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "clippy 0.0.103 (registry+https://github.com/rust-lang/crates.io-index)", "env_logger 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", "ethcore-bigint 0.1.3", "ethcore-bytes 0.1.0", - "ethcore-devtools 1.8.0", - "ethcore-util 1.8.0", + "ethcore-devtools 1.9.0", + "ethcore-util 1.9.0", "fetch 0.1.0", "futures 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", "futures-cpupool 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2123,9 +2143,9 @@ dependencies = [ "mime_guess 2.0.0-alpha.2 (registry+https://github.com/rust-lang/crates.io-index)", "node-health 0.1.0", "parity-dapps-glue 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-hash-fetch 1.8.0", + "parity-hash-fetch 1.9.0", "parity-reactor 0.1.0", - "parity-ui 1.8.0", + "parity-ui 1.9.0", "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2136,21 +2156,6 @@ dependencies = [ "zip 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "parity-dapps-glue" -version = "1.8.0" -dependencies = [ - "aster 0.41.0 (registry+https://github.com/rust-lang/crates.io-index)", - "clippy 0.0.90 (registry+https://github.com/rust-lang/crates.io-index)", - "glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", - "mime_guess 2.0.0-alpha.2 (registry+https://github.com/rust-lang/crates.io-index)", - "quasi 0.32.0 (registry+https://github.com/rust-lang/crates.io-index)", - "quasi_codegen 0.32.0 (registry+https://github.com/rust-lang/crates.io-index)", - "quasi_macros 0.32.0 (registry+https://github.com/rust-lang/crates.io-index)", - "syntex 0.58.1 (registry+https://github.com/rust-lang/crates.io-index)", - "syntex_syntax 0.58.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "parity-dapps-glue" version = "1.8.0" @@ -2165,14 +2170,29 @@ dependencies = [ "syntex_syntax 0.58.1 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "parity-dapps-glue" +version = "1.9.0" +dependencies = [ + "aster 0.41.0 (registry+https://github.com/rust-lang/crates.io-index)", + "clippy 0.0.90 (registry+https://github.com/rust-lang/crates.io-index)", + "glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", + "mime_guess 2.0.0-alpha.2 (registry+https://github.com/rust-lang/crates.io-index)", + "quasi 0.32.0 (registry+https://github.com/rust-lang/crates.io-index)", + "quasi_codegen 0.32.0 (registry+https://github.com/rust-lang/crates.io-index)", + "quasi_macros 0.32.0 (registry+https://github.com/rust-lang/crates.io-index)", + "syntex 0.58.1 (registry+https://github.com/rust-lang/crates.io-index)", + "syntex_syntax 0.58.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "parity-hash-fetch" -version = "1.8.0" +version = "1.9.0" dependencies = [ "ethabi 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethcore-bigint 0.1.3", "ethcore-bytes 0.1.0", - "ethcore-util 1.8.0", + "ethcore-util 1.9.0", "fetch 0.1.0", "futures 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", "hash 0.1.0", @@ -2188,13 +2208,13 @@ dependencies = [ [[package]] name = "parity-ipfs-api" -version = "1.8.0" +version = "1.9.0" dependencies = [ "cid 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "ethcore 1.8.0", + "ethcore 1.9.0", "ethcore-bigint 0.1.3", "ethcore-bytes 0.1.0", - "ethcore-util 1.8.0", + "ethcore-util 1.9.0", "jsonrpc-core 8.0.0 (git+https://github.com/paritytech/jsonrpc.git?branch=parity-1.8)", "jsonrpc-http-server 8.0.0 (git+https://github.com/paritytech/jsonrpc.git?branch=parity-1.8)", "multihash 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2206,10 +2226,11 @@ dependencies = [ name = "parity-local-store" version = "0.1.0" dependencies = [ - "ethcore 1.8.0", - "ethcore-io 1.8.0", - "ethcore-util 1.8.0", + "ethcore 1.9.0", + "ethcore-io 1.9.0", + "ethcore-util 1.9.0", "ethkey 0.2.0", + "kvdb 0.1.0", "log 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "rlp 0.2.0", "serde 1.0.15 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2222,7 +2243,7 @@ name = "parity-machine" version = "0.1.0" dependencies = [ "ethcore-bigint 0.1.3", - "ethcore-util 1.8.0", + "ethcore-util 1.9.0", ] [[package]] @@ -2235,30 +2256,30 @@ dependencies = [ [[package]] name = "parity-rpc" -version = "1.8.0" +version = "1.9.0" dependencies = [ "ansi_term 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", "cid 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "clippy 0.0.103 (registry+https://github.com/rust-lang/crates.io-index)", - "ethash 1.8.0", - "ethcore 1.8.0", + "ethash 1.9.0", + "ethcore 1.9.0", "ethcore-bigint 0.1.3", "ethcore-bytes 0.1.0", - "ethcore-devtools 1.8.0", - "ethcore-io 1.8.0", - "ethcore-ipc 1.8.0", - "ethcore-light 1.8.0", - "ethcore-logger 1.8.0", - "ethcore-network 1.8.0", - "ethcore-util 1.8.0", + "ethcore-devtools 1.9.0", + "ethcore-io 1.9.0", + "ethcore-ipc 1.9.0", + "ethcore-light 1.9.0", + "ethcore-logger 1.9.0", + "ethcore-network 1.9.0", + "ethcore-util 1.9.0", "ethcrypto 0.1.0", "ethjson 0.1.0", "ethkey 0.2.0", "ethstore 0.1.0", - "ethsync 1.8.0", + "ethsync 1.9.0", "fetch 0.1.0", "futures-cpupool 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "hardware-wallet 1.8.0", + "hardware-wallet 1.9.0", "hash 0.1.0", "itertools 0.5.10 (registry+https://github.com/rust-lang/crates.io-index)", "jsonrpc-core 8.0.0 (git+https://github.com/paritytech/jsonrpc.git?branch=parity-1.8)", @@ -2267,12 +2288,14 @@ dependencies = [ "jsonrpc-macros 8.0.0 (git+https://github.com/paritytech/jsonrpc.git?branch=parity-1.8)", "jsonrpc-pubsub 8.0.0 (git+https://github.com/paritytech/jsonrpc.git?branch=parity-1.8)", "jsonrpc-ws-server 8.0.0 (git+https://github.com/paritytech/jsonrpc.git?branch=parity-1.8)", + "kvdb 0.1.0", "log 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", + "macros 0.1.0", "multihash 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", "node-health 0.1.0", "order-stat 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "parity-reactor 0.1.0", - "parity-updater 1.8.0", + "parity-updater 1.9.0", "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "pretty_assertions 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2300,7 +2323,7 @@ dependencies = [ "jsonrpc-ws-server 8.0.0 (git+https://github.com/paritytech/jsonrpc.git?branch=parity-1.8)", "log 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "matches 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-rpc 1.8.0", + "parity-rpc 1.9.0", "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.15 (registry+https://github.com/rust-lang/crates.io-index)", "serde_json 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2326,16 +2349,16 @@ dependencies = [ [[package]] name = "parity-ui" -version = "1.8.0" +version = "1.9.0" dependencies = [ - "parity-ui-dev 1.8.0", + "parity-ui-dev 1.9.0", "parity-ui-precompiled 1.4.0 (git+https://github.com/paritytech/js-precompiled.git)", "rustc_version 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "parity-ui-dev" -version = "1.8.0" +version = "1.9.0" dependencies = [ "parity-dapps-glue 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2343,27 +2366,27 @@ dependencies = [ [[package]] name = "parity-ui-precompiled" version = "1.4.0" -source = "git+https://github.com/paritytech/js-precompiled.git#aaa1f3610aa39ce4b5ebb23debce39e5368edbbd" +source = "git+https://github.com/paritytech/js-precompiled.git#4b77a23c3e55aed45725f43cd2a499676375b995" dependencies = [ "parity-dapps-glue 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "parity-updater" -version = "1.8.0" +version = "1.9.0" dependencies = [ "ethabi 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "ethcore 1.8.0", + "ethcore 1.9.0", "ethcore-bigint 0.1.3", "ethcore-bytes 0.1.0", - "ethcore-ipc 1.8.0", - "ethcore-ipc-codegen 1.8.0", - "ethcore-util 1.8.0", - "ethsync 1.8.0", + "ethcore-ipc 1.9.0", + "ethcore-ipc-codegen 1.9.0", + "ethcore-util 1.9.0", + "ethsync 1.9.0", "futures 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", - "ipc-common-types 1.8.0", + "ipc-common-types 1.9.0", "log 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-hash-fetch 1.8.0", + "parity-hash-fetch 1.9.0", "parity-reactor 0.1.0", "parking_lot 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "path 0.1.0", @@ -2387,7 +2410,7 @@ dependencies = [ "bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethcore-bigint 0.1.3", - "ethcore-network 1.8.0", + "ethcore-network 1.9.0", "ethcrypto 0.1.0", "ethkey 0.2.0", "hex 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2451,13 +2474,11 @@ dependencies = [ "elastic-array 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", "ethcore-bigint 0.1.3", "ethcore-bytes 0.1.0", - "ethcore-logger 1.8.0", + "ethcore-logger 1.9.0", "hash 0.1.0", "hashdb 0.1.0", "log 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "memorydb 0.1.0", - "nibbleslice 0.1.0", - "nibblevec 0.1.0", "rand 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", "rlp 0.2.0", "triehash 0.1.0", @@ -2822,9 +2843,9 @@ name = "rpc-cli" version = "1.4.0" dependencies = [ "bigint 4.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "ethcore-util 1.8.0", + "ethcore-util 1.9.0", "futures 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", - "parity-rpc 1.8.0", + "parity-rpc 1.9.0", "parity-rpc-client 1.4.0", "rpassword 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -3070,6 +3091,13 @@ dependencies = [ "heapsize 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", ] +[[package]] +name = "snappy" +version = "0.1.0" +dependencies = [ + "libc 0.2.31 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "spmc" version = "0.2.2" @@ -3480,6 +3508,16 @@ name = "utf8-ranges" version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "util-error" +version = "0.1.0" +dependencies = [ + "error-chain 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", + "ethcore-bigint 0.1.3", + "rlp 0.2.0", + "rustc-hex 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "vcpkg" version = "0.2.2" @@ -3521,11 +3559,9 @@ dependencies = [ "common-types 0.1.0", "ethcore-bigint 0.1.3", "ethcore-bytes 0.1.0", - "ethcore-util 1.8.0", + "ethcore-util 1.9.0", "ethjson 0.1.0", - "evmjit 1.8.0", "hash 0.1.0", - "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)", "patricia_trie 0.1.0", "rlp 0.2.0", @@ -3539,8 +3575,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "wasm-utils" version = "0.1.0" -source = "git+https://github.com/paritytech/wasm-utils#a6b6d75be0680568209813924a5ec0ad89e86697" +source = "git+https://github.com/paritytech/wasm-utils#6a39db802eb6b67a0c4e5cf50741f965e217335a" dependencies = [ + "byteorder 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "clap 2.26.2 (registry+https://github.com/rust-lang/crates.io-index)", "env_logger 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)", "glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", diff --git a/Cargo.toml b/Cargo.toml index 65f8aed15..cf208330d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -62,6 +62,8 @@ parity-whisper = { path = "whisper" } path = { path = "util/path" } panic_hook = { path = "panic_hook" } hash = { path = "util/hash" } +migration = { path = "util/migration" } +kvdb = { path = "util/kvdb" } parity-dapps = { path = "dapps", optional = true } clippy = { version = "0.0.103", optional = true} diff --git a/dapps/Cargo.toml b/dapps/Cargo.toml index ae3216ba3..f3e38a085 100644 --- a/dapps/Cargo.toml +++ b/dapps/Cargo.toml @@ -1,7 +1,7 @@ [package] description = "Parity Dapps crate" name = "parity-dapps" -version = "1.8.0" +version = "1.9.0" license = "GPL-3.0" authors = ["Parity Technologies "] diff --git a/dapps/js-glue/Cargo.toml b/dapps/js-glue/Cargo.toml index 126bca143..843168fb7 100644 --- a/dapps/js-glue/Cargo.toml +++ b/dapps/js-glue/Cargo.toml @@ -1,7 +1,7 @@ [package] description = "Base Package for all Parity built-in dapps" name = "parity-dapps-glue" -version = "1.8.0" +version = "1.9.0" license = "GPL-3.0" authors = ["Parity Technologies "] build = "build.rs" diff --git a/dapps/js-glue/src/codegen.rs b/dapps/js-glue/src/codegen.rs index 3d8c93460..c6e948820 100644 --- a/dapps/js-glue/src/codegen.rs +++ b/dapps/js-glue/src/codegen.rs @@ -101,6 +101,7 @@ fn implement_webapp(cx: &ExtCtxt, builder: &aster::AstBuilder, item: &Item, push let files_impl = quote_item!(cx, impl $type_name { + #[allow(unused_mut)] fn files() -> ::std::collections::HashMap<&'static str, File> { let mut files = ::std::collections::HashMap::new(); $statements diff --git a/dapps/ui/Cargo.toml b/dapps/ui/Cargo.toml index 41763b14d..fe4629a36 100644 --- a/dapps/ui/Cargo.toml +++ b/dapps/ui/Cargo.toml @@ -3,7 +3,7 @@ description = "Ethcore Parity UI" homepage = "http://parity.io" license = "GPL-3.0" name = "parity-ui" -version = "1.8.0" +version = "1.9.0" authors = ["Parity Technologies "] [build-dependencies] diff --git a/devtools/Cargo.toml b/devtools/Cargo.toml index faae03731..ab0049983 100644 --- a/devtools/Cargo.toml +++ b/devtools/Cargo.toml @@ -3,7 +3,7 @@ description = "Ethcore development/test/build tools" homepage = "http://parity.io" license = "GPL-3.0" name = "ethcore-devtools" -version = "1.8.0" +version = "1.9.0" authors = ["Parity Technologies "] [dependencies] diff --git a/docs/CHANGELOG-0.9.md b/docs/CHANGELOG-0.9.md new file mode 100644 index 000000000..7a52c7277 --- /dev/null +++ b/docs/CHANGELOG-0.9.md @@ -0,0 +1,227 @@ + +## Parity [beta-0.9.1](https://github.com/paritytech/parity/releases/tag/beta-0.9.1) (2016-02-16) + +Homestead transition block changed to 1100000. + +- Beta patch to 0.9.1 [#445](https://github.com/paritytech/parity/pull/445) +- Delay homestead transition [#430](https://github.com/paritytech/parity/pull/430) +- (BETA) https link in the installer (?) [#392](https://github.com/paritytech/parity/pull/392) +- beta: Check for handshake expiration before attempting replace [#377](https://github.com/paritytech/parity/pull/377) + +## Parity [beta-0.9](https://github.com/paritytech/parity/releases/tag/beta-0.9) (2016-02-08) + +First Parity Beta 0.9 released. + +- Panic on missing counters; Client cleanup [#368](https://github.com/paritytech/parity/pull/368) +- Update README for new PPAs. [#369](https://github.com/paritytech/parity/pull/369) +- block_queue::clear should be more thorough [#365](https://github.com/paritytech/parity/pull/365) +- Fixed an issue with forked counters [#363](https://github.com/paritytech/parity/pull/363) +- Install parity [#362](https://github.com/paritytech/parity/pull/362) +- DB directory versioning [#358](https://github.com/paritytech/parity/pull/358) +- Raise FD limit for MacOS [#357](https://github.com/paritytech/parity/pull/357) +- Travis slack integration. [#356](https://github.com/paritytech/parity/pull/356) +- SignedTransaction structure [#350](https://github.com/paritytech/parity/pull/350) +- License [#354](https://github.com/paritytech/parity/pull/354) +- Performance optimizations [#353](https://github.com/paritytech/parity/pull/353) +- Gitter in README. [#355](https://github.com/paritytech/parity/pull/355) +- test efforts, receipt requests [#352](https://github.com/paritytech/parity/pull/352) +- sync tests setup & local module coverage [#348](https://github.com/paritytech/parity/pull/348) +- install parity script [#347](https://github.com/paritytech/parity/pull/347) +- evmjit homestead merge [#342](https://github.com/paritytech/parity/pull/342) +- Fixed sync stalling on fork [#343](https://github.com/paritytech/parity/pull/343) +- Remerge 264 [#334](https://github.com/paritytech/parity/pull/334) +- Ethsync tests bfix [#339](https://github.com/paritytech/parity/pull/339) +- Fix default options. [#335](https://github.com/paritytech/parity/pull/335) +- sync queue limit hotfix [#338](https://github.com/paritytech/parity/pull/338) +- Network tests, separate local coverage for utils [#333](https://github.com/paritytech/parity/pull/333) +- fix parity version so netstats can parse it [#332](https://github.com/paritytech/parity/pull/332) +- reveal surprise [#331](https://github.com/paritytech/parity/pull/331) +- Revert removal of `new_code`. [#330](https://github.com/paritytech/parity/pull/330) +- Network mod tests first part [#329](https://github.com/paritytech/parity/pull/329) +- Look ma no `dead_code` [#323](https://github.com/paritytech/parity/pull/323) +- Fixing JIT, Updating hook to run `ethcore` tests. [#326](https://github.com/paritytech/parity/pull/326) +- Final docs [#327](https://github.com/paritytech/parity/pull/327) +- update install-deps.sh [#316](https://github.com/paritytech/parity/pull/316) +- Finish all my docs. Fix previous test compilation. [#320](https://github.com/paritytech/parity/pull/320) +- Additional evm tests (extops, call, jumps) and some docs [#317](https://github.com/paritytech/parity/pull/317) +- More documentation. [#318](https://github.com/paritytech/parity/pull/318) +- Additional documentation. [#315](https://github.com/paritytech/parity/pull/315) +- unused functions cleanup [#310](https://github.com/paritytech/parity/pull/310) +- update ethcore.github.io documentation automatically [#311](https://github.com/paritytech/parity/pull/311) +- Another try with travis ci credentials [#314](https://github.com/paritytech/parity/pull/314) +- Document some stuff. [#309](https://github.com/paritytech/parity/pull/309) +- Check block parent on import; Peer timeouts [#303](https://github.com/paritytech/parity/pull/303) +- Increasing coverage for evm. [#306](https://github.com/paritytech/parity/pull/306) +- ethcore docs [#301](https://github.com/paritytech/parity/pull/301) +- Replacing secure token for deployment [#305](https://github.com/paritytech/parity/pull/305) +- doc.sh [#299](https://github.com/paritytech/parity/pull/299) +- Building beta-* and stable-* tags [#302](https://github.com/paritytech/parity/pull/302) +- Deploying artifacts for tags (release/beta) [#300](https://github.com/paritytech/parity/pull/300) +- cov.sh to show coverage locally [#298](https://github.com/paritytech/parity/pull/298) +- benchmark fixes [#297](https://github.com/paritytech/parity/pull/297) +- Include JSONRPC CLI options. [#296](https://github.com/paritytech/parity/pull/296) +- travis.yml fixes [#293](https://github.com/paritytech/parity/pull/293) +- Improve version string. [#295](https://github.com/paritytech/parity/pull/295) +- Fixed block queue test [#294](https://github.com/paritytech/parity/pull/294) +- Util docs [#292](https://github.com/paritytech/parity/pull/292) +- fixed building docs [#289](https://github.com/paritytech/parity/pull/289) +- update travis to build PRs only against master [#290](https://github.com/paritytech/parity/pull/290) +- Coverage effort [#272](https://github.com/paritytech/parity/pull/272) +- updated docker containers [#288](https://github.com/paritytech/parity/pull/288) +- rpc module fixes [#287](https://github.com/paritytech/parity/pull/287) +- Test for Receipt RLP. [#282](https://github.com/paritytech/parity/pull/282) +- Building from source guide [#284](https://github.com/paritytech/parity/pull/284) +- Fixed neted empty list RLP encoding [#283](https://github.com/paritytech/parity/pull/283) +- Fix CALLDATACOPY (and bonus CODECOPY, too!). [#279](https://github.com/paritytech/parity/pull/279) +- added travis && coveralls badge to README.md [#280](https://github.com/paritytech/parity/pull/280) +- coveralls coverage [#277](https://github.com/paritytech/parity/pull/277) +- Travis [in progress] [#257](https://github.com/paritytech/parity/pull/257) +- Travis on reorganized repo [#276](https://github.com/paritytech/parity/pull/276) +- umbrella project [#275](https://github.com/paritytech/parity/pull/275) +- Ethash disk cache [#273](https://github.com/paritytech/parity/pull/273) +- Parity executable name and version [#274](https://github.com/paritytech/parity/pull/274) +- Dockerfile [#195](https://github.com/paritytech/parity/pull/195) +- Garbage collection test fix [#267](https://github.com/paritytech/parity/pull/267) +- Fix stCallCreateCallCodeTest, add more tests [#271](https://github.com/paritytech/parity/pull/271) +- Moved sync out of ethcore crate; Added block validation [#265](https://github.com/paritytech/parity/pull/265) +- RLP encoder refactoring [#252](https://github.com/paritytech/parity/pull/252) +- Chain sync tests and minor refactoring [#264](https://github.com/paritytech/parity/pull/264) +- Common log init function [#263](https://github.com/paritytech/parity/pull/263) +- changed max vm depth from 128 to 64, change homestead block to 1_000_000 [#262](https://github.com/paritytech/parity/pull/262) +- fixed blockchain tests crash on log init [#261](https://github.com/paritytech/parity/pull/261) +- Blockchain tests and some helpers for guarding temp directory [#256](https://github.com/paritytech/parity/pull/256) +- Fix logging and random tests. [#260](https://github.com/paritytech/parity/pull/260) +- Fix difficulty calculation algo. [#259](https://github.com/paritytech/parity/pull/259) +- fix submodule version [#258](https://github.com/paritytech/parity/pull/258) +- temp dir spawn refactoring [#246](https://github.com/paritytech/parity/pull/246) +- fixed tests submodule branch [#254](https://github.com/paritytech/parity/pull/254) +- rpc net methods returns real peer count && protocol version [#253](https://github.com/paritytech/parity/pull/253) +- Add homestead & random tests. [#245](https://github.com/paritytech/parity/pull/245) +- Fixing suicide with self-refund to be consistent with CPP. [#247](https://github.com/paritytech/parity/pull/247) +- stubs for rpc methods [#251](https://github.com/paritytech/parity/pull/251) +- clippy, missing docs, renaming etc. [#244](https://github.com/paritytech/parity/pull/244) +- impl missing methods in tests [#243](https://github.com/paritytech/parity/pull/243) +- General tests and some helpers [#239](https://github.com/paritytech/parity/pull/239) +- Note additional tests are fixed, fix doc test. [#242](https://github.com/paritytech/parity/pull/242) +- jsonrpc http server [#193](https://github.com/paritytech/parity/pull/193) +- Ethash nonce is H64 not a u64 [#240](https://github.com/paritytech/parity/pull/240) +- Fix import for bcMultiChainTest [#236](https://github.com/paritytech/parity/pull/236) +- Client basic tests [#232](https://github.com/paritytech/parity/pull/232) +- Fix ensure_db_good() and flush_queue(), block refactoring, check block format, be strict. [#231](https://github.com/paritytech/parity/pull/231) +- Rlp [#207](https://github.com/paritytech/parity/pull/207) +- Schedule documentation [#219](https://github.com/paritytech/parity/pull/219) +- U256<->H256 Conversion [#206](https://github.com/paritytech/parity/pull/206) +- Spawning new thread when we are reaching stack limit [#217](https://github.com/paritytech/parity/pull/217) +- Blockchain tests [#211](https://github.com/paritytech/parity/pull/211) +- fixed failing sync test [#218](https://github.com/paritytech/parity/pull/218) +- Removing println [#216](https://github.com/paritytech/parity/pull/216) +- Cleaning readme [#212](https://github.com/paritytech/parity/pull/212) +- Fixing delegatecall [#196](https://github.com/paritytech/parity/pull/196) +- Autogenerate the Args from the docopt macro. [#205](https://github.com/paritytech/parity/pull/205) +- Networking fixes [#202](https://github.com/paritytech/parity/pull/202) +- Argument parsing from CLI [#204](https://github.com/paritytech/parity/pull/204) +- Removed wildcard from clippy version [#203](https://github.com/paritytech/parity/pull/203) +- Fixed tests and tweaked sync progress report [#201](https://github.com/paritytech/parity/pull/201) +- Heavy tests [#199](https://github.com/paritytech/parity/pull/199) +- Mutithreaded IO [#198](https://github.com/paritytech/parity/pull/198) +- Populating last_hashes [#197](https://github.com/paritytech/parity/pull/197) +- Fixing clippy stuff [#170](https://github.com/paritytech/parity/pull/170) +- basic .travis.yml [#194](https://github.com/paritytech/parity/pull/194) +- Generating coverage reports. [#190](https://github.com/paritytech/parity/pull/190) +- Adding doc requests comments [#192](https://github.com/paritytech/parity/pull/192) +- moved src/bin/client.rs -> src/bin/client/main.rs [#185](https://github.com/paritytech/parity/pull/185) +- removed overflowing_shr [#188](https://github.com/paritytech/parity/pull/188) +- fixed wrapping ops on latest nightly [#187](https://github.com/paritytech/parity/pull/187) +- Pruned state DB [#176](https://github.com/paritytech/parity/pull/176) +- Memory management for cache [#180](https://github.com/paritytech/parity/pull/180) +- Implement signs having low-s. [#183](https://github.com/paritytech/parity/pull/183) +- Introduce sha3 crate and use it in ethash [#178](https://github.com/paritytech/parity/pull/178) +- Multithreaded block queue [#173](https://github.com/paritytech/parity/pull/173) +- Iterator for NibbleSlice and TrieDB. [#171](https://github.com/paritytech/parity/pull/171) +- Handling all possible overflows [#145](https://github.com/paritytech/parity/pull/145) +- Global secp256k1 context [#164](https://github.com/paritytech/parity/pull/164) +- Ethash [#152](https://github.com/paritytech/parity/pull/152) +- Move util into here [#153](https://github.com/paritytech/parity/pull/153) +- EVM Interpreter [#103](https://github.com/paritytech/parity/pull/103) +- Homestead transition support, maybe. [#141](https://github.com/paritytech/parity/pull/141) +- externalities refactor [#131](https://github.com/paritytech/parity/pull/131) +- More open files. [#140](https://github.com/paritytech/parity/pull/140) +- Single array for logs output. [#133](https://github.com/paritytech/parity/pull/133) +- Client app event handler [#132](https://github.com/paritytech/parity/pull/132) +- Various consensus fixes. [#130](https://github.com/paritytech/parity/pull/130) +- callcode builtins tests pass [#127](https://github.com/paritytech/parity/pull/127) +- Client state syncing [#119](https://github.com/paritytech/parity/pull/119) +- Split externalities from executive. [#126](https://github.com/paritytech/parity/pull/126) +- executive error on not enoguh base gas [#124](https://github.com/paritytech/parity/pull/124) +- Gav [#125](https://github.com/paritytech/parity/pull/125) +- builtin sets excepted to true [#123](https://github.com/paritytech/parity/pull/123) +- More state tests. [#122](https://github.com/paritytech/parity/pull/122) +- updated to rocksdb wrapper version 0.3 [#121](https://github.com/paritytech/parity/pull/121) +- out_of_gas -> excepted [#120](https://github.com/paritytech/parity/pull/120) +- Parametrizing evm::Factory [#111](https://github.com/paritytech/parity/pull/111) +- stLogs tests passing [#118](https://github.com/paritytech/parity/pull/118) +- Fix executive. [#117](https://github.com/paritytech/parity/pull/117) +- Fixes for marek's shooting from the hip. [#116](https://github.com/paritytech/parity/pull/116) +- Executive revert fix [#115](https://github.com/paritytech/parity/pull/115) +- Fix storage/account and add butress test. [#114](https://github.com/paritytech/parity/pull/114) +- Refactored Pod & Diff types into separate files, JSON infrastructure revamp. [#113](https://github.com/paritytech/parity/pull/113) +- Fix storage stuff and introduce per-item dirty-tracking. [#112](https://github.com/paritytech/parity/pull/112) +- Check logs in state tests. [#109](https://github.com/paritytech/parity/pull/109) +- executive gas calculation fixes [#108](https://github.com/paritytech/parity/pull/108) +- proper gas calculation in executive [#107](https://github.com/paritytech/parity/pull/107) +- Fixing MaxDepth param for executive [#105](https://github.com/paritytech/parity/pull/105) +- Fix determination of state roots. [#106](https://github.com/paritytech/parity/pull/106) +- transact substracts tx_gas [#104](https://github.com/paritytech/parity/pull/104) +- Pretty-print and fix for state. [#102](https://github.com/paritytech/parity/pull/102) +- Tier step price. [#101](https://github.com/paritytech/parity/pull/101) +- Refactor Diff datastructures. [#100](https://github.com/paritytech/parity/pull/100) +- externalities use u256 instead of u64 for gas calculation [#99](https://github.com/paritytech/parity/pull/99) +- Executive tests [#97](https://github.com/paritytech/parity/pull/97) +- State conensus tests now print mismatching diff on fail. [#98](https://github.com/paritytech/parity/pull/98) +- State testing framework. First test is failing. [#96](https://github.com/paritytech/parity/pull/96) +- executive tests [#95](https://github.com/paritytech/parity/pull/95) +- Use U512s for ether cost calculation, complete transaction API [#94](https://github.com/paritytech/parity/pull/94) +- Utils for consensus test decoding and better layout. [#93](https://github.com/paritytech/parity/pull/93) +- executive fixes + tests [#89](https://github.com/paritytech/parity/pull/89) +- All transaction tests pass. Nicer testing framework. [#92](https://github.com/paritytech/parity/pull/92) +- Block verification tests; BlockProvider blockchain trait for testing [#88](https://github.com/paritytech/parity/pull/88) +- State::exists, docs and tests. [#87](https://github.com/paritytech/parity/pull/87) +- Add tests module, add two more transaction tests. [#86](https://github.com/paritytech/parity/pull/86) +- bring back removed tests, removed build warnings [#82](https://github.com/paritytech/parity/pull/82) +- Nicer transaction validation API. Nicer OutOfBounds API in general. [#85](https://github.com/paritytech/parity/pull/85) +- Transaction fixes and consensus tests (all passing) [#84](https://github.com/paritytech/parity/pull/84) +- fixed getting block info in evmjit + tests [#81](https://github.com/paritytech/parity/pull/81) +- evm tests cleanup [#80](https://github.com/paritytech/parity/pull/80) +- renamed VmFactory -> Factory [#77](https://github.com/paritytech/parity/pull/77) +- fixed rust-evmjit description of improper_ctypes usage [#76](https://github.com/paritytech/parity/pull/76) +- jit feature enabled by default [#75](https://github.com/paritytech/parity/pull/75) +- evm [#52](https://github.com/paritytech/parity/pull/52) +- state clone [#74](https://github.com/paritytech/parity/pull/74) +- Block Verification (no tests yet) [#72](https://github.com/paritytech/parity/pull/72) +- Improvements to LogEntry and Transaction [#73](https://github.com/paritytech/parity/pull/73) +- Use getter in header in preparation for a Header trait; additional testing in enact_block(). [#64](https://github.com/paritytech/parity/pull/64) +- BlockChain sync and Client app [#55](https://github.com/paritytech/parity/pull/55) +- Block enactment (including test) [#63](https://github.com/paritytech/parity/pull/63) +- Block complete. Needs tests. [#62](https://github.com/paritytech/parity/pull/62) +- More on OpenBlock::close; State::kill_account added [#61](https://github.com/paritytech/parity/pull/61) +- Remove genesis module, add more chain specs and separate out ethereum-specific stuff [#60](https://github.com/paritytech/parity/pull/60) +- State::new_contract, camelCase engine params, missing param [#59](https://github.com/paritytech/parity/pull/59) +- Use reorganisation [#58](https://github.com/paritytech/parity/pull/58) +- Initial Ethash/Block skeleton implementations. [#57](https://github.com/paritytech/parity/pull/57) +- Spec with tested Morden genesis decoder and builtins. [#54](https://github.com/paritytech/parity/pull/54) +- Move all chain parameters into `engine_params` [#50](https://github.com/paritytech/parity/pull/50) +- jit ffi improvements [please review] [#51](https://github.com/paritytech/parity/pull/51) +- blockchain [please review] [#34](https://github.com/paritytech/parity/pull/34) +- Move information from networkparams.rs into spec.rs [#48](https://github.com/paritytech/parity/pull/48) +- Move bulking out in Engine/Params. [#47](https://github.com/paritytech/parity/pull/47) +- Removed need for mutation in State. [#46](https://github.com/paritytech/parity/pull/46) +- State::code and State::storage_at + tests. [#45](https://github.com/paritytech/parity/pull/45) +- State functions for balance and nonce operations [#44](https://github.com/paritytech/parity/pull/44) +- Account::storage_at, Account::ensure_cached and tests. [#43](https://github.com/paritytech/parity/pull/43) +- Additional tests. [#42](https://github.com/paritytech/parity/pull/42) +- seal todo done [#41](https://github.com/paritytech/parity/pull/41) +- missing rustc_serialize crate && rlp `as_list` function [#40](https://github.com/paritytech/parity/pull/40) +- More methods in Account, documentation and tests. [#39](https://github.com/paritytech/parity/pull/39) +- Minor reworking of Account. [#38](https://github.com/paritytech/parity/pull/38) +- Add Account and State classes. [#37](https://github.com/paritytech/parity/pull/37) +- Revert regressions [#36](https://github.com/paritytech/parity/pull/36) diff --git a/docs/CHANGELOG-1.0.md b/docs/CHANGELOG-1.0.md new file mode 100644 index 000000000..5725a1a8f --- /dev/null +++ b/docs/CHANGELOG-1.0.md @@ -0,0 +1,315 @@ +## Parity [v1.0.2](https://github.com/paritytech/parity/releases/tag/v1.0.2) (2016-04-11) + +Parity 1.0.2 release improves Json RPC compatibility and fixes a number of stability issues. + +- Flush password prompt [#1031](https://github.com/paritytech/parity/pull/1031) +- [beta] dependencies update [#949](https://github.com/paritytech/parity/pull/949) +- Master to beta v1.0.2 [#922](https://github.com/paritytech/parity/pull/922) +- Master to beta 1.0.2 [#908](https://github.com/paritytech/parity/pull/908) + +## Parity [v1.0.1](https://github.com/paritytech/parity/releases/tag/v1.0.1) (2016-03-28) + +Parity 1.0.1 update fixes a number of issues with Json RPC, transaction propagation and syncing. + +- Imporved sync error handling [#905](https://github.com/paritytech/parity/pull/905) +- Publish locally-made transactions to peers. [#851](https://github.com/paritytech/parity/pull/851) +- Merge fixes from master to beta [#845](https://github.com/paritytech/parity/pull/845) +- Full sync restart on bad block [#844](https://github.com/paritytech/parity/pull/844) +- Make BlockNumber optional, fix eth_call [#828](https://github.com/paritytech/parity/pull/828) +- Web3sha3 beta [#826](https://github.com/paritytech/parity/pull/826) +- Use network id for the web3_net_version return. [#821](https://github.com/paritytech/parity/pull/821) +- Fix mining from spinning [#806](https://github.com/paritytech/parity/pull/806) +- Merge master to beta [#796](https://github.com/paritytech/parity/pull/796) + +## Parity [v1.0.0](https://github.com/paritytech/parity/releases/tag/v1.0.0) (2016-03-24) + +Parity 1.0.0 release adds the following features: + +- Standard JsonRPC interface. +- Full Homestead compatibility. +- Transaction management. +- Mining with external miner. +- Account management. +- Geth key chain compatibility. +- Additional command line options. +- State trie pruning. +- Cache and queue footprint. +- Network discovery & NAT traversal. +- Custom chain specification files. + +Note that in this release the state database is in archive (full) mode by default. Run with one of the `--pruning` options to enable pruning. + +- First part of multi-mining support [#804](https://github.com/paritytech/parity/pull/804) +- Fixing future-current transactions clash [#802](https://github.com/paritytech/parity/pull/802) +- Increase threads to num_cpus & fix author reporting [#800](https://github.com/paritytech/parity/pull/800) +- another batch of rpc improvements [#798](https://github.com/paritytech/parity/pull/798) +- Avoid tracing DELEGATECALL and CALLCODE. Plus tests for it. [#794](https://github.com/paritytech/parity/pull/794) +- complete getting started steps for OS X [#793](https://github.com/paritytech/parity/pull/793) +- Auto detect available port (with fixed test) [#788](https://github.com/paritytech/parity/pull/788) +- eth_getTransactionReceipt [#792](https://github.com/paritytech/parity/pull/792) +- Comprehensive tests for tracing transactions [#791](https://github.com/paritytech/parity/pull/791) +- Disable preparing work package if miners don't ask for it. [#771](https://github.com/paritytech/parity/pull/771) +- Listen on all interfaces for JSONRPC by default. [#786](https://github.com/paritytech/parity/pull/786) +- eth_call [#783](https://github.com/paritytech/parity/pull/783) +- Revert "Auto detect available port" [#789](https://github.com/paritytech/parity/pull/789) +- added output to execution result [#777](https://github.com/paritytech/parity/pull/777) +- Auto detect available port [#782](https://github.com/paritytech/parity/pull/782) +- Allow 0x prefix for --author. [#785](https://github.com/paritytech/parity/pull/785) +- updated dependencies, moved rpctest to its own submodule [#784](https://github.com/paritytech/parity/pull/784) +- use ethjson module to load chain json tests [#778](https://github.com/paritytech/parity/pull/778) +- Tracing implemented. [#772](https://github.com/paritytech/parity/pull/772) +- test ethjson module on travis [#780](https://github.com/paritytech/parity/pull/780) +- batch of rpc fixes [#775](https://github.com/paritytech/parity/pull/775) +- rpctest executable [#757](https://github.com/paritytech/parity/pull/757) +- Refactoring error transaction_queue error handling and `update_sealing` method. [#753](https://github.com/paritytech/parity/pull/753) +- Avoid importing transactions with gas above 1.1*block_gas_limit to transaction queue [#760](https://github.com/paritytech/parity/pull/760) +- Removing transactions that failed to be pushed to block. [#752](https://github.com/paritytech/parity/pull/752) +- Updating clippy [#766](https://github.com/paritytech/parity/pull/766) +- Attempting to add all transactions to mined block [#754](https://github.com/paritytech/parity/pull/754) +- Prettier version w/o git dir; Use rustc compile time version [#761](https://github.com/paritytech/parity/pull/761) +- Stop adding transactions to queue while not fully synced [#751](https://github.com/paritytech/parity/pull/751) +- Verify sender's balance before importing transaction to queue [#746](https://github.com/paritytech/parity/pull/746) +- Returning number of transactions pending in block not queue [#750](https://github.com/paritytech/parity/pull/750) +- Speeding up build [#733](https://github.com/paritytech/parity/pull/733) +- adding check for a sync when giving work to miner [#742](https://github.com/paritytech/parity/pull/742) +- json deserialization module [#745](https://github.com/paritytech/parity/pull/745) +- Update install-parity.sh [#749](https://github.com/paritytech/parity/pull/749) +- Restart sync on getting old unknown header [#747](https://github.com/paritytech/parity/pull/747) +- Missing return for #737 [#744](https://github.com/paritytech/parity/pull/744) +- Enact block with uncles test [#741](https://github.com/paritytech/parity/pull/741) +- Fix outdated libc version on dependency [#740](https://github.com/paritytech/parity/pull/740) +- Fixing possible race in transaction queue [#735](https://github.com/paritytech/parity/pull/735) +- Sync fixed again [#737](https://github.com/paritytech/parity/pull/737) +- Don't change best block until extras is committed. [#734](https://github.com/paritytech/parity/pull/734) +- stable only until travis speedup [#736](https://github.com/paritytech/parity/pull/736) +- Optimizing uint operations (architecture independent) [#629](https://github.com/paritytech/parity/pull/629) +- Add RLP, not a data item. [#725](https://github.com/paritytech/parity/pull/725) +- PV63 receipts response [#687](https://github.com/paritytech/parity/pull/687) +- another batch of rpc tests [#723](https://github.com/paritytech/parity/pull/723) +- dockerfiles update [#726](https://github.com/paritytech/parity/pull/726) +- Lock reports to avoid out of order badness. [#721](https://github.com/paritytech/parity/pull/721) +- Fixed handshake leak [#722](https://github.com/paritytech/parity/pull/722) +- Allow configuration of target gas limit. [#719](https://github.com/paritytech/parity/pull/719) +- Version 1.1 in master [#714](https://github.com/paritytech/parity/pull/714) +- Silence UDP warnings [#720](https://github.com/paritytech/parity/pull/720) +- Rpc personal tests [#715](https://github.com/paritytech/parity/pull/715) +- Fixing warnings [#704](https://github.com/paritytech/parity/pull/704) +- docopts cleanups [#713](https://github.com/paritytech/parity/pull/713) +- Removed rocksdb build dependency [#717](https://github.com/paritytech/parity/pull/717) +- Fixed splitting Neighbours packet [#710](https://github.com/paritytech/parity/pull/710) +- management of account expiration & memory [#701](https://github.com/paritytech/parity/pull/701) +- Remove EarlyMerge from user docs. [#708](https://github.com/paritytech/parity/pull/708) +- Fixes and traces for refcountdb. [#705](https://github.com/paritytech/parity/pull/705) +- Check for NULL_RLP in AccountDB [#706](https://github.com/paritytech/parity/pull/706) +- ethminer as crate [#700](https://github.com/paritytech/parity/pull/700) +- Old ref-counted DB code [#692](https://github.com/paritytech/parity/pull/692) +- next batch of rpc tests and fixes [#699](https://github.com/paritytech/parity/pull/699) +- implemented eth_geStorageAt rpc method, added more tests for rpc [#695](https://github.com/paritytech/parity/pull/695) +- Fix JournalDB era marker [#690](https://github.com/paritytech/parity/pull/690) +- More sync fixes [#685](https://github.com/paritytech/parity/pull/685) +- mark some key tests as heavy [#694](https://github.com/paritytech/parity/pull/694) +- Limit incoming connections [#693](https://github.com/paritytech/parity/pull/693) +- Updating clippy [#688](https://github.com/paritytech/parity/pull/688) +- eth_accounts, eth_getBalance rpc functions && tests [#691](https://github.com/paritytech/parity/pull/691) +- state query for archive jdb [#683](https://github.com/paritytech/parity/pull/683) +- Fix for option 1 of JournalDB [#658](https://github.com/paritytech/parity/pull/658) +- Rename into something that is a little more descriptive. [#689](https://github.com/paritytech/parity/pull/689) +- JournalDB with in-memory overlay (option2) [#634](https://github.com/paritytech/parity/pull/634) +- additional (failing) SecretStore test [#682](https://github.com/paritytech/parity/pull/682) +- Updating clippy & fixing warnings. [#670](https://github.com/paritytech/parity/pull/670) +- rpc web3 tests [#681](https://github.com/paritytech/parity/pull/681) +- Making personal json-rpc configurable via cli [#677](https://github.com/paritytech/parity/pull/677) +- RPC Pending Transactions Filter [#661](https://github.com/paritytech/parity/pull/661) +- Rearrange journaldb infrastructure to make more extensible [#678](https://github.com/paritytech/parity/pull/678) +- JournalDB -> Box, and it's a trait. [#673](https://github.com/paritytech/parity/pull/673) +- fix warning for transaction_queue.add usage [#676](https://github.com/paritytech/parity/pull/676) +- Adding std::mem back (only for asm) [#680](https://github.com/paritytech/parity/pull/680) +- update readme to exclude beta step (stable is ok) [#679](https://github.com/paritytech/parity/pull/679) +- fixed U256 and transaction request deserialization [#675](https://github.com/paritytech/parity/pull/675) +- More geth compatibility. [#666](https://github.com/paritytech/parity/pull/666) +- Removing running clippy by default on nightly. [#671](https://github.com/paritytech/parity/pull/671) +- rpc net submodule tests [#667](https://github.com/paritytech/parity/pull/667) +- Client module overhaul [#665](https://github.com/paritytech/parity/pull/665) +- Rpc transaction signing [#587](https://github.com/paritytech/parity/pull/587) +- Transaction queue exposed via JSON rpc. [#652](https://github.com/paritytech/parity/pull/652) +- Remove unneeded locking [#499](https://github.com/paritytech/parity/pull/499) +- extend sync status interface to sync provider [#664](https://github.com/paritytech/parity/pull/664) +- --archive is default. --pruning is option. [#663](https://github.com/paritytech/parity/pull/663) +- jsonrpc uses client and sync interfaces [#641](https://github.com/paritytech/parity/pull/641) +- Expose transaction insertion in sync lib [#609](https://github.com/paritytech/parity/pull/609) +- Removing get prefix from poll_info [#660](https://github.com/paritytech/parity/pull/660) +- Tx queue update height bug [#657](https://github.com/paritytech/parity/pull/657) +- Tx_queue_docs -> To master [#651](https://github.com/paritytech/parity/pull/651) +- blockchain import_route [#645](https://github.com/paritytech/parity/pull/645) +- Stop workers before stopping event loop [#655](https://github.com/paritytech/parity/pull/655) +- Validate sender before importing to queue [#650](https://github.com/paritytech/parity/pull/650) +- Gas price threshold for transactions [#640](https://github.com/paritytech/parity/pull/640) +- `dev` feature enabled when compiling without `--release` [#627](https://github.com/paritytech/parity/pull/627) +- Don't call mark_as_bad needlessly [#648](https://github.com/paritytech/parity/pull/648) +- Fixed sync handling large forks [#647](https://github.com/paritytech/parity/pull/647) +- Additional documentation for transaction queue [#631](https://github.com/paritytech/parity/pull/631) +- Transaction Queue Integration [#607](https://github.com/paritytech/parity/pull/607) +- Keys cli [#639](https://github.com/paritytech/parity/pull/639) +- fix build warning [#643](https://github.com/paritytech/parity/pull/643) +- updated jsonrpc-core and http-server libs [#642](https://github.com/paritytech/parity/pull/642) +- jsonrpc panics gracefully shutdown client [#638](https://github.com/paritytech/parity/pull/638) +- Fixing CLI parameters [#633](https://github.com/paritytech/parity/pull/633) +- Normal CLI options with geth. [#628](https://github.com/paritytech/parity/pull/628) +- Do not remove the peer immediatelly on send error [#626](https://github.com/paritytech/parity/pull/626) +- Jsonrpc block behind [#622](https://github.com/paritytech/parity/pull/622) +- Remove println!s. [#624](https://github.com/paritytech/parity/pull/624) +- JournalDB option 1 fix [#613](https://github.com/paritytech/parity/pull/613) +- Network tracing cleanup [#611](https://github.com/paritytech/parity/pull/611) +- Revert "Transaction Queue integration" [#602](https://github.com/paritytech/parity/pull/602) +- fix benches compilation [#601](https://github.com/paritytech/parity/pull/601) +- Transaction Queue integration [#595](https://github.com/paritytech/parity/pull/595) +- verifier trait improvements [#597](https://github.com/paritytech/parity/pull/597) +- build on rust stable [#600](https://github.com/paritytech/parity/pull/600) +- Geth import silent if no geth [#599](https://github.com/paritytech/parity/pull/599) +- Additional journaldb logging and assert [#593](https://github.com/paritytech/parity/pull/593) +- Uncle inclusion in block authoring. [#578](https://github.com/paritytech/parity/pull/578) +- Fixed potential deadlock on startup [#592](https://github.com/paritytech/parity/pull/592) +- Fixing an overflow panic [#591](https://github.com/paritytech/parity/pull/591) +- Fixed one more case of sync stalling [#590](https://github.com/paritytech/parity/pull/590) +- JournalDB can now operate in "archive" mode [#589](https://github.com/paritytech/parity/pull/589) +- Secret store integration with client [#586](https://github.com/paritytech/parity/pull/586) +- fix build on nightly rust [#588](https://github.com/paritytech/parity/pull/588) +- deserialization for uint generic [#585](https://github.com/paritytech/parity/pull/585) +- TransactionsQueue implementation [#559](https://github.com/paritytech/parity/pull/559) +- JSON-RPC personal service (follows #582) [#583](https://github.com/paritytech/parity/pull/583) +- making key directory thread-safe [#582](https://github.com/paritytech/parity/pull/582) +- verifier trait [#581](https://github.com/paritytech/parity/pull/581) +- shrink_to_fit after removing hashes. [#580](https://github.com/paritytech/parity/pull/580) +- support for rpc polling [#504](https://github.com/paritytech/parity/pull/504) +- limit serde codegen only to rpc types submodule [#569](https://github.com/paritytech/parity/pull/569) +- fork test for Issue test/568 [#573](https://github.com/paritytech/parity/pull/573) +- Fixing clippy warnings = small refactoring of `request_blocks` [#560](https://github.com/paritytech/parity/pull/560) +- Improved journaldb logging [#571](https://github.com/paritytech/parity/pull/571) +- Additional check to ancient enactments. [#570](https://github.com/paritytech/parity/pull/570) +- chainfilter shouldnt exclude to_block from results [#564](https://github.com/paritytech/parity/pull/564) +- Fix coverage test run [#567](https://github.com/paritytech/parity/pull/567) +- Mining [#547](https://github.com/paritytech/parity/pull/547) +- fix uint warnings [#565](https://github.com/paritytech/parity/pull/565) +- Finished blockchain generator. [#562](https://github.com/paritytech/parity/pull/562) +- fixed broken master [#563](https://github.com/paritytech/parity/pull/563) +- uint to separate crate [#544](https://github.com/paritytech/parity/pull/544) +- improved test chain generator [#554](https://github.com/paritytech/parity/pull/554) +- Fixing spelling in propagade->propagate [#558](https://github.com/paritytech/parity/pull/558) +- Changing RefCell to Cell in transaction. [#557](https://github.com/paritytech/parity/pull/557) +- Fix for morden consensus. [#556](https://github.com/paritytech/parity/pull/556) +- blockchain generator [#550](https://github.com/paritytech/parity/pull/550) +- Sparse Table Implementation (Row, Col) -> Val [#545](https://github.com/paritytech/parity/pull/545) +- fixup install script [#548](https://github.com/paritytech/parity/pull/548) +- Fixing clippy warnings [#546](https://github.com/paritytech/parity/pull/546) +- ignore out directory [#543](https://github.com/paritytech/parity/pull/543) +- u256 full multiplication [#539](https://github.com/paritytech/parity/pull/539) +- Fix panic when downloading stales, update homestead transition [#537](https://github.com/paritytech/parity/pull/537) +- changing x64 asm config [#534](https://github.com/paritytech/parity/pull/534) +- uncomment state transition tests [#533](https://github.com/paritytech/parity/pull/533) +- jsonrpc uses weak pointers to client [#532](https://github.com/paritytech/parity/pull/532) +- Morden switch to Homestead rules at #494,000. [#531](https://github.com/paritytech/parity/pull/531) +- Blockchain module cleanup [#524](https://github.com/paritytech/parity/pull/524) +- Multiplication issue + very exhaustive tests for it [#528](https://github.com/paritytech/parity/pull/528) +- EIP-8 [#498](https://github.com/paritytech/parity/pull/498) +- Make "random" trie tests fully deterministic. [#527](https://github.com/paritytech/parity/pull/527) +- udpated serde to version 0.7.0 [#526](https://github.com/paritytech/parity/pull/526) +- Better memory management [#516](https://github.com/paritytech/parity/pull/516) +- Typo [#523](https://github.com/paritytech/parity/pull/523) +- U512 add/sub optimize [#521](https://github.com/paritytech/parity/pull/521) +- Account management + geth keystore import (no utility crate added) [#509](https://github.com/paritytech/parity/pull/509) +- Delayed UPnP initialization [#505](https://github.com/paritytech/parity/pull/505) +- Fixing marking blocks as bad & SyncMessage bugs + small client refactoring. [#503](https://github.com/paritytech/parity/pull/503) +- optimization of U256 [#515](https://github.com/paritytech/parity/pull/515) +- Removed rocksdb from build scripts and instructions [#520](https://github.com/paritytech/parity/pull/520) +- RocksDB abstraction layer + Hash index for state DB [#464](https://github.com/paritytech/parity/pull/464) +- bloomfilter [#418](https://github.com/paritytech/parity/pull/418) +- Fixed a race condition when connecting peer disconnects immediately [#519](https://github.com/paritytech/parity/pull/519) +- ignore intellij idea project files as well [#518](https://github.com/paritytech/parity/pull/518) +- updated version of unicase [#517](https://github.com/paritytech/parity/pull/517) +- jsonrpc security, cors headers, fixed #359 [#493](https://github.com/paritytech/parity/pull/493) +- Rust implementations to replace data tables (#161) [#482](https://github.com/paritytech/parity/pull/482) +- fix issue with starting requested block number was not included itself [#512](https://github.com/paritytech/parity/pull/512) +- fixed travis --org GH_TOKEN [#510](https://github.com/paritytech/parity/pull/510) +- Improved log format [#506](https://github.com/paritytech/parity/pull/506) +- Log address on failed connection attempt [#502](https://github.com/paritytech/parity/pull/502) +- Bumping clippy and fixing warnings. [#501](https://github.com/paritytech/parity/pull/501) +- Bumping versions. Fixes #496 [#500](https://github.com/paritytech/parity/pull/500) +- Manage final user-input errors. [#494](https://github.com/paritytech/parity/pull/494) +- Remove unneeded code, fix minor potential issue with length. [#495](https://github.com/paritytech/parity/pull/495) +- Remove "unknown" from version string. [#488](https://github.com/paritytech/parity/pull/488) +- Include git commit date & hash. [#486](https://github.com/paritytech/parity/pull/486) +- Use proper version string. [#485](https://github.com/paritytech/parity/pull/485) +- Networking fixes [#480](https://github.com/paritytech/parity/pull/480) +- Fix potential deadlock on node table update [#484](https://github.com/paritytech/parity/pull/484) +- Squash more warnings [#481](https://github.com/paritytech/parity/pull/481) +- dev/test/build tools to separate crate [#477](https://github.com/paritytech/parity/pull/477) +- Back to original slab crate [#479](https://github.com/paritytech/parity/pull/479) +- Better user errors. [#476](https://github.com/paritytech/parity/pull/476) +- UDP Discovery [#440](https://github.com/paritytech/parity/pull/440) +- update readme with rust override [#475](https://github.com/paritytech/parity/pull/475) +- fixed warnings on rust beta [#474](https://github.com/paritytech/parity/pull/474) +- Secret store (part2 - encrypted key/value svc) [#449](https://github.com/paritytech/parity/pull/449) +- Kill bad test. [#473](https://github.com/paritytech/parity/pull/473) +- Make clippy an optional dependency [#422](https://github.com/paritytech/parity/pull/422) +- parity compiling fine [#469](https://github.com/paritytech/parity/pull/469) +- compiling ethcore on beta [#468](https://github.com/paritytech/parity/pull/468) +- Utils compiling in beta [#467](https://github.com/paritytech/parity/pull/467) +- Get rid of lru_cache dependency [#466](https://github.com/paritytech/parity/pull/466) +- Add daemonization. [#459](https://github.com/paritytech/parity/pull/459) +- Master upgrade [#448](https://github.com/paritytech/parity/pull/448) +- Remove contributing stuff now that we have CLA bot. [#447](https://github.com/paritytech/parity/pull/447) +- Add Morden bootnode. [#446](https://github.com/paritytech/parity/pull/446) +- beta fixes to master [#441](https://github.com/paritytech/parity/pull/441) +- Secret store (part1 - key management) [#423](https://github.com/paritytech/parity/pull/423) +- Use 1100000 as the homestead transition, fix build instructions. [#438](https://github.com/paritytech/parity/pull/438) +- More sync and propagation fixes [#420](https://github.com/paritytech/parity/pull/420) +- back to cargo crates [#436](https://github.com/paritytech/parity/pull/436) +- Fixing clippy warnings [#435](https://github.com/paritytech/parity/pull/435) +- preserving root cargo lock [#434](https://github.com/paritytech/parity/pull/434) +- Nightly fix [#432](https://github.com/paritytech/parity/pull/432) +- nightly fixes [#431](https://github.com/paritytech/parity/pull/431) +- Delay Homestead transition from 1,000,000. [#429](https://github.com/paritytech/parity/pull/429) +- Nightly fix effort (still should fail) [#428](https://github.com/paritytech/parity/pull/428) +- clippy version update, docopt-macro moving to fork [#425](https://github.com/paritytech/parity/pull/425) +- Network/Sync fixes and optimizations [#416](https://github.com/paritytech/parity/pull/416) +- Use latest era instead of end era as journal marker [#414](https://github.com/paritytech/parity/pull/414) +- api changes [#402](https://github.com/paritytech/parity/pull/402) +- Option for no init nodes. [#408](https://github.com/paritytech/parity/pull/408) +- Fixed block_bodies not returning a list [#406](https://github.com/paritytech/parity/pull/406) +- Fix test. [#405](https://github.com/paritytech/parity/pull/405) +- Allow path to be configured. [#404](https://github.com/paritytech/parity/pull/404) +- Upnp [#400](https://github.com/paritytech/parity/pull/400) +- eth_syncing, fixed #397 [#398](https://github.com/paritytech/parity/pull/398) +- Using modified version of ctrlc that catches SIGTERM [#399](https://github.com/paritytech/parity/pull/399) +- Catching panics. [#396](https://github.com/paritytech/parity/pull/396) +- jsonrpc [#391](https://github.com/paritytech/parity/pull/391) +- Externalities tests (still clumsy) [#394](https://github.com/paritytech/parity/pull/394) +- excluding test code itself from coverage [#395](https://github.com/paritytech/parity/pull/395) +- Additional tweaks to options. [#390](https://github.com/paritytech/parity/pull/390) +- --chain option for setting which network to go on. [#388](https://github.com/paritytech/parity/pull/388) +- Ethash unit tests final [#387](https://github.com/paritytech/parity/pull/387) +- jsonrpc [#374](https://github.com/paritytech/parity/pull/374) +- Editorconfig file. [#384](https://github.com/paritytech/parity/pull/384) +- Coverage effort [in progress] [#382](https://github.com/paritytech/parity/pull/382) +- making root kcov runner simular to the one running on CI [#380](https://github.com/paritytech/parity/pull/380) +- add gcc as a dependency to dockerfiles [#381](https://github.com/paritytech/parity/pull/381) +- Check for handshake expiration before attempting connection replace [#375](https://github.com/paritytech/parity/pull/375) +- Blocks propagation [#364](https://github.com/paritytech/parity/pull/364) +- Network params. [#376](https://github.com/paritytech/parity/pull/376) +- Add parity-node-zero to bootnodes. [#373](https://github.com/paritytech/parity/pull/373) +- kcov uses travis_job_id instead of coveralls token [#370](https://github.com/paritytech/parity/pull/370) +- Add parity-node-zero.ethcore.io to boot nodes. [#371](https://github.com/paritytech/parity/pull/371) + +## Parity [v1.0.0-rc1](https://github.com/paritytech/parity/releases/tag/v1.0.0-rc1) (2016-03-15) + +First Parity 1.0.0 release candidate. + +- Version 1.0 in beta [#712](https://github.com/paritytech/parity/pull/712) +- Fix test for beta [#617](https://github.com/paritytech/parity/pull/617) +- JournalDB fix option 1 for beta [#614](https://github.com/paritytech/parity/pull/614) +- Failing test. [#606](https://github.com/paritytech/parity/pull/606) +- Fix transition points [#604](https://github.com/paritytech/parity/pull/604) +- (BETA) Update README.md [#549](https://github.com/paritytech/parity/pull/549) +- (BETA) instructions for beta release channel [#456](https://github.com/paritytech/parity/pull/456) +- (BETA) fix nightly - remerge [#454](https://github.com/paritytech/parity/pull/454) +- (BETA) fixing nightly version for beta [#452](https://github.com/paritytech/parity/pull/452) diff --git a/docs/CHANGELOG-1.1.md b/docs/CHANGELOG-1.1.md new file mode 100644 index 000000000..74506c5a0 --- /dev/null +++ b/docs/CHANGELOG-1.1.md @@ -0,0 +1,152 @@ +## Parity [v1.1.0](https://github.com/paritytech/parity/releases/tag/v1.1.0) (2016-05-02) + +Parity 1.1.0 introduces: + +- Transaction tracing. Parity now optionally indexes & stores message-call/"internal transaction" information and provides additional RPC for querying. +- Web interface for logs, status & JSON RPC. +- Improved JSON RPC compatibility. +- Reduced memory footprint. +- Optimized EVM interpreter performance. + +Full Changes: + +- Exposing default extra data via ethcore RPC [#1032](https://github.com/paritytech/parity/pull/1032) +- Net etiquette [#1028](https://github.com/paritytech/parity/pull/1028) +- Bumping clippy & fixing warnings [#1024](https://github.com/paritytech/parity/pull/1024) +- Tracedb interface && cli [#997](https://github.com/paritytech/parity/pull/997) +- Switching to geth-attach supporting version of rpc core and server [#1022](https://github.com/paritytech/parity/pull/1022) +- Fixing status page displaying homestead [#1020](https://github.com/paritytech/parity/pull/1020) +- Core tracedb functionality. [#996](https://github.com/paritytech/parity/pull/996) +- RPC method for supported modules [#1019](https://github.com/paritytech/parity/pull/1019) +- Updating status page [#1015](https://github.com/paritytech/parity/pull/1015) +- Disabling wallet [#1017](https://github.com/paritytech/parity/pull/1017) +- More detailed fatal error reporting [#1016](https://github.com/paritytech/parity/pull/1016) +- Support 'pending' block in RPC [#1007](https://github.com/paritytech/parity/pull/1007) +- Enable pending block when there is local transaction pending. [#1005](https://github.com/paritytech/parity/pull/1005) +- updating key files permissions on save [#1010](https://github.com/paritytech/parity/pull/1010) +- IPC JSON RPC (for external interface) [#1009](https://github.com/paritytech/parity/pull/1009) +- Fixing Firefox authorization issues [#1013](https://github.com/paritytech/parity/pull/1013) +- cargo update [#1012](https://github.com/paritytech/parity/pull/1012) +- Switching to rust-url@1.0.0 [#1011](https://github.com/paritytech/parity/pull/1011) +- Exception handling in RPC & WebApps [#988](https://github.com/paritytech/parity/pull/988) +- Fixed uint deserialization from hex [#1008](https://github.com/paritytech/parity/pull/1008) +- Tweak timeout and packet size to handle slow networks better [#1004](https://github.com/paritytech/parity/pull/1004) +- db key is generic and can be made smaller [#1006](https://github.com/paritytech/parity/pull/1006) +- IPC with new serialization [#998](https://github.com/paritytech/parity/pull/998) +- make jsonrpc api engine agnostic [#1001](https://github.com/paritytech/parity/pull/1001) +- updated cargo.lock [#1002](https://github.com/paritytech/parity/pull/1002) +- updated parity dependencies [#993](https://github.com/paritytech/parity/pull/993) +- Auto (with codegen) binary serializer [#980](https://github.com/paritytech/parity/pull/980) +- Fixing transaction queue last_nonces update [#995](https://github.com/paritytech/parity/pull/995) +- import route contains ommited blocks [#994](https://github.com/paritytech/parity/pull/994) +- fixed encoding 0u8 [#992](https://github.com/paritytech/parity/pull/992) +- Use latest netstats [#989](https://github.com/paritytech/parity/pull/989) +- RPC shared external miner [#984](https://github.com/paritytech/parity/pull/984) +- Additional RPC methods for settings [#983](https://github.com/paritytech/parity/pull/983) +- Fixing transaction_queue deadlock [#985](https://github.com/paritytech/parity/pull/985) +- Refactoring of `parity/main.rs` [#981](https://github.com/paritytech/parity/pull/981) +- Fixing clippy warnings. [#982](https://github.com/paritytech/parity/pull/982) +- Bumping status page [#977](https://github.com/paritytech/parity/pull/977) +- querying extras separated to its own module [#972](https://github.com/paritytech/parity/pull/972) +- Exposing application logs via RPC. [#976](https://github.com/paritytech/parity/pull/976) +- Addressing binary serialization for db types [#966](https://github.com/paritytech/parity/pull/966) +- removed redundant unwraps [#935](https://github.com/paritytech/parity/pull/935) +- fixed transaction queue merge conflict [#975](https://github.com/paritytech/parity/pull/975) +- Configurable limit for transaction queue (CLI & Ethcore-RPC) [#974](https://github.com/paritytech/parity/pull/974) +- Enforce limit caused `last_nonce` to return incorrect values. [#973](https://github.com/paritytech/parity/pull/973) +- Even more detailed errors for transaction queue [#969](https://github.com/paritytech/parity/pull/969) +- temporary fix of panic in blockchain garbage collection [#970](https://github.com/paritytech/parity/pull/970) +- IPC codegen - some minor fixes & enhancements [#967](https://github.com/paritytech/parity/pull/967) +- Additional logging for transactions [#968](https://github.com/paritytech/parity/pull/968) +- refactored blockchain extras keys building [#963](https://github.com/paritytech/parity/pull/963) +- Using hyper-mio branch in webapps. [#957](https://github.com/paritytech/parity/pull/957) +- Remove nanomsg from build-dependencies [#965](https://github.com/paritytech/parity/pull/965) +- Fix build for --target=armv7-unknown-linux-gnueabihf [#964](https://github.com/paritytech/parity/pull/964) +- IPC RPC codegen extra feature [#962](https://github.com/paritytech/parity/pull/962) +- IPC RPC codegen for generic implementation [#961](https://github.com/paritytech/parity/pull/961) +- using db_path directory when upgrading [#960](https://github.com/paritytech/parity/pull/960) +- IPC hypervisor [#958](https://github.com/paritytech/parity/pull/958) +- Removing a transaction from queue now removes all from this sender with lower nonces. [#950](https://github.com/paritytech/parity/pull/950) +- bump status page version 0.1.7 [#955](https://github.com/paritytech/parity/pull/955) +- Changing cors header to be optional [#956](https://github.com/paritytech/parity/pull/956) +- Update ARM Dockerfile [#959](https://github.com/paritytech/parity/pull/959) +- Sensible gas limits for eth_sendTransaction [#953](https://github.com/paritytech/parity/pull/953) +- Fix upgrade script and make parity run when no .parity dir. [#954](https://github.com/paritytech/parity/pull/954) +- Tracing and docs for --pruning=auto. [#952](https://github.com/paritytech/parity/pull/952) +- IPC serialization for custom parameters [#946](https://github.com/paritytech/parity/pull/946) +- default filter from block should be Latest, not Earliest [#948](https://github.com/paritytech/parity/pull/948) +- README.md: removes sudo from multirust installation [#943](https://github.com/paritytech/parity/pull/943) +- Disable long lines formatting + ethash example. [#939](https://github.com/paritytech/parity/pull/939) +- Ethcore-specific RPC methods for altering miner parameters. [#934](https://github.com/paritytech/parity/pull/934) +- Use ethcore nanomsg bindings [#941](https://github.com/paritytech/parity/pull/941) +- Update IPC codegen to latest syntax libs [#938](https://github.com/paritytech/parity/pull/938) +- IPC documentation [#937](https://github.com/paritytech/parity/pull/937) +- Bumping clippy and fixing warnings. [#936](https://github.com/paritytech/parity/pull/936) +- Pruning auto [#927](https://github.com/paritytech/parity/pull/927) +- IPC persistent client link [#933](https://github.com/paritytech/parity/pull/933) +- IPC persistent client link [#930](https://github.com/paritytech/parity/pull/930) +- IPC handshake (negotiating protocol/api version) [#928](https://github.com/paritytech/parity/pull/928) +- Upgrade logic between versions [#914](https://github.com/paritytech/parity/pull/914) +- executive tracing cleanup [#903](https://github.com/paritytech/parity/pull/903) +- Ethcore-specific RPC methods [#923](https://github.com/paritytech/parity/pull/923) +- Parameter to allow user to force the sealing mechanism [#918](https://github.com/paritytech/parity/pull/918) +- updated dependencies [#921](https://github.com/paritytech/parity/pull/921) +- Fixed send transaction deadlock [#920](https://github.com/paritytech/parity/pull/920) +- --unlock is comma-delimited. [#916](https://github.com/paritytech/parity/pull/916) +- fixed eth_getLogs [#915](https://github.com/paritytech/parity/pull/915) +- create provided custom dir for keys if none [#912](https://github.com/paritytech/parity/pull/912) +- spec loading cleanup [#858](https://github.com/paritytech/parity/pull/858) +- WebApps HTTP Basic Auth Support [#906](https://github.com/paritytech/parity/pull/906) +- Removing match on constant [#888](https://github.com/paritytech/parity/pull/888) +- Update auth.rs [#907](https://github.com/paritytech/parity/pull/907) +- Enabling webapps compilation by default [#904](https://github.com/paritytech/parity/pull/904) +- fixed #895 [#898](https://github.com/paritytech/parity/pull/898) +- Support for compile-time included WebApplications. [#899](https://github.com/paritytech/parity/pull/899) +- Propagate transaction queue [#894](https://github.com/paritytech/parity/pull/894) +- Use new json RPC server [#901](https://github.com/paritytech/parity/pull/901) +- Gracefully dying when trying to enable RPC and app is compiled without it. [#900](https://github.com/paritytech/parity/pull/900) +- Additional logging and friendlier error messages [#893](https://github.com/paritytech/parity/pull/893) +- Avoid signalling readiness when app is about to be closed. [#897](https://github.com/paritytech/parity/pull/897) +- fixed #875 and added tests for eth_sendTransaction [#890](https://github.com/paritytech/parity/pull/890) +- passing key path to all invocations [#891](https://github.com/paritytech/parity/pull/891) +- Fixed eth_call nonce and gas handling [#892](https://github.com/paritytech/parity/pull/892) +- ipc rpc with nano transport (simple duplex) [#886](https://github.com/paritytech/parity/pull/886) +- Bumping clippy and fixing warnings [#889](https://github.com/paritytech/parity/pull/889) +- More descriptive expectations to transaction queue consistency. [#878](https://github.com/paritytech/parity/pull/878) +- uint bug - replace add with or [#879](https://github.com/paritytech/parity/pull/879) +- Fixing typo in bigint [#877](https://github.com/paritytech/parity/pull/877) +- update misleading cli help msg for author [#874](https://github.com/paritytech/parity/pull/874) +- Find geth data store cross-platform. [#871](https://github.com/paritytech/parity/pull/871) +- Import geth 1.4.0 keys [#872](https://github.com/paritytech/parity/pull/872) +- Syntax helpers for IPC RPC (part 2) [#854](https://github.com/paritytech/parity/pull/854) +- Fixed bootnode URL and error message [#870](https://github.com/paritytech/parity/pull/870) +- replace popcnt with mov (861) [#867](https://github.com/paritytech/parity/pull/867) +- weekly dependencies update [#865](https://github.com/paritytech/parity/pull/865) +- Remove unused mut [#866](https://github.com/paritytech/parity/pull/866) +- fixed #855 [#864](https://github.com/paritytech/parity/pull/864) +- simplified trace from functions, removed clippy warnings [#862](https://github.com/paritytech/parity/pull/862) +- Update deprecated HashDB methods in docs. [#857](https://github.com/paritytech/parity/pull/857) +- refactored loading transaction json tests [#853](https://github.com/paritytech/parity/pull/853) +- reorganised price info lookup [#852](https://github.com/paritytech/parity/pull/852) +- Publish locally-made transactions to peers. [#850](https://github.com/paritytech/parity/pull/850) +- Add generalbeck's token [#847](https://github.com/paritytech/parity/pull/847) +- Fix response for mining. [#846](https://github.com/paritytech/parity/pull/846) +- USD-based pricing of gas. [#843](https://github.com/paritytech/parity/pull/843) +- Parity can accept older work packages [#811](https://github.com/paritytech/parity/pull/811) +- Caching for computing seed hashes (#541) [#841](https://github.com/paritytech/parity/pull/841) +- checking transaction queue for pending transaction [#838](https://github.com/paritytech/parity/pull/838) +- refactored loading of state tests [#817](https://github.com/paritytech/parity/pull/817) +- tests for deserialization of transaction from issue #835 [#837](https://github.com/paritytech/parity/pull/837) +- unlocks with no expiration [on top of 833] [#834](https://github.com/paritytech/parity/pull/834) +- Unlock accounts on CLI. [#833](https://github.com/paritytech/parity/pull/833) +- Make BlockNumber optional, fix eth_call [#829](https://github.com/paritytech/parity/pull/829) +- Test socket to common test code (ethcore-devtools) [#831](https://github.com/paritytech/parity/pull/831) +- Use network id for the web3_net_version return. [#822](https://github.com/paritytech/parity/pull/822) +- json-rpc web3_sha3 [#824](https://github.com/paritytech/parity/pull/824) +- remove some unused files [#819](https://github.com/paritytech/parity/pull/819) +- debug symbols for master/beta [#818](https://github.com/paritytech/parity/pull/818) +- Syntax helpers for IPC RPC [#809](https://github.com/paritytech/parity/pull/809) +- refactored loading of execution tests [#803](https://github.com/paritytech/parity/pull/803) +- Rustfmt.toml [#805](https://github.com/paritytech/parity/pull/805) +- install-partiy runs brew reinstall parity on osx [#810](https://github.com/paritytech/parity/pull/810) +- Fix mining from spinning [#807](https://github.com/paritytech/parity/pull/807) diff --git a/docs/CHANGELOG-1.2.md b/docs/CHANGELOG-1.2.md new file mode 100644 index 000000000..d267e2850 --- /dev/null +++ b/docs/CHANGELOG-1.2.md @@ -0,0 +1,374 @@ +## Parity [v1.2.4](https://github.com/paritytech/parity/releases/tag/v1.2.4) (2016-08-09) + +Parity 1.2.4 Is a maintenance release that fixes a [few](https://github.com/paritytech/parity/pull/1888/commits) issues related to mining and peer synchronization. +This release is marked as stable. + +- Backports for beta [#1888](https://github.com/paritytech/parity/pull/1888) +- BETA: fixed trace_transaction crash when block contained suicide [#1782](https://github.com/paritytech/parity/pull/1782) + +## Parity [v1.2.3](https://github.com/paritytech/parity/releases/tag/v1.2.3) (2016-07-31) + +Parity 1.2.3 is a patch release that addresses network stability issues for both Ethereum HF and Ethereum classic chains and brings a few changes to the transaction tracing API. + +#### Tracing API changes +- Added tracing for `CALLCODE`, `DELEGATECALL` and `SUICIDE` +- `trace_call` returns traces in flat format +- Added 2 new methods: `trace_rawTransaction` and `trace_replayTransaction` + +Note that to continue using tracing features in this version you need to re-sync the blockchain. This can be done by using `parity export $HOME/ethereum-chain-backup.rlp` , deleting the database usually located at `~/.parity/906a34e69aec8c0d` followed by `parity import $HOME/ethereum-chain-backup.rlp`. + +- [beta] Updating UI [#1778](https://github.com/paritytech/parity/pull/1778) +- tracing backport [#1770](https://github.com/paritytech/parity/pull/1770) +- Backport commits to beta [#1763](https://github.com/paritytech/parity/pull/1763) +- Deadlock on incoming connection (#1672) [#1675](https://github.com/paritytech/parity/pull/1675) +- [BETA] Removed DAO soft fork traces [#1640](https://github.com/paritytech/parity/pull/1640) + + +## Parity [v1.2.2](https://github.com/paritytech/parity/releases/tag/v1.2.2) (2016-07-16) + +#### New +- DAO hard-fork. + +DAO hard-fork implementation conforms to the [specification](https://blog.slock.it/hard-fork-specification-24b889e70703) and is enabled by default. + +#### Changed +- `--reseal-on-txs` defaults to `own`. +- DAO soft-fork support has been removed along with related command line options. + +#### Resolved issues +- `--db-cache-size` consuming too much memory. + `eth_getWork` RPC response additionally includes the block number. +- Skipping transactions with invalid nonces when pushing to block. +- Update sealing just once when externally importing many blocks (#1541). +- Transaction tracing skipping simple transactions (#1606). +- Other small fixes and improvements. + +Full changelog + +- DAO hard-fork (#1483) [#1636](https://github.com/paritytech/parity/pull/1636) +- Backports for beta [#1628](https://github.com/paritytech/parity/pull/1628) +- don't batch best block for branches (#1623) [#1626](https://github.com/paritytech/parity/pull/1626) +- Merge bugfixes from master to beta [#1605](https://github.com/paritytech/parity/pull/1605) +- (BETA) using block options cache instead of general cache for rocksdb [#1613](https://github.com/paritytech/parity/pull/1613) +- Backport sealing fixes to beta [#1583](https://github.com/paritytech/parity/pull/1583) +- v1.2.2 in beta [#1581](https://github.com/paritytech/parity/pull/1581) +- Skipping transactions with invalid nonces when pushing to block. (#1545) [#1547](https://github.com/paritytech/parity/pull/1547) + + +## Parity [v1.2.1](https://github.com/paritytech/parity/releases/tag/v1.2.1) (2016-07-01) + +#### New +- Options for more precise mining tuning (see below). +- Informative notification when block mined. +- HTTP signal on new work-package. +- Optimised database insertion for self-mined blocks. +- Short-circuit for local transaction gas-price approval. +- A number of issues related to mining have been fixed. + +##### Mining options +- `--author` is now required for mining. +- `--reseal-on-txs` Specify which transactions should force the node to reseal a block. By default parity updates the seal on incoming transactions to reduce transaction latency. Set this option to `none` to force updates on new blocks only. +- `--reseal-min-period` Can be used to control how often a new pending block is generated if `none` is not selected on prior option. +- `--work-queue-size` Controls how many pending blocks to keep in memory. +- `--relay-set` Can be used to enable more strict transaction verification. +- `--remove-solved` Move solved blocks from the work package queue instead of cloning them. This gives a slightly faster import speed, but means that extra solutions submitted for the same work package will go unused. +- `--notify-work` Accepts a list of URLs that will receive a POST request when new work package is available. The body of the POST message is JSON encoded and has the same format as `eth_getWork` RPC response. + +##### RPC + +`eth_getWork` RPC response additionally includes the block number. + +##### DAO soft-fork + +DAO soft-fork control options have been replaced by the single `--fork` option which disables the soft-fork by default. + +#### Changes + +- v1.2.1 in beta [#1492](https://github.com/paritytech/parity/pull/1492) +- (BETA) add artifacts [#1420](https://github.com/paritytech/parity/pull/1420) + +## Parity [v1.2.0: "Security"](https://github.com/paritytech/parity/releases/tag/v1.2.0) (2016-06-24) + +[Blog post](https://blog.parity.io/announcing-parity-1-2/) + +#### New + +- Transaction signing UI. +- IPC/RPC module. +- Optimised mining support. +- Windows build. +- DAO soft-fork support. + +##### Transaction signing UI + +This is a new framework for signing transactions. It fulfills three requirements: +- You should never have to type your passwords into a Dapp. +- No Javascript code should ever hold a secret. +- No transaction should ever be signed without the consent of the user. + +The feature is enabled through the `--signer` flag. When enabled, the user must ensure at least one "Signer UI" is set-up for managing transaction confirmation. There are two such UIs available; one through a Google Chrome Extension, separately installable and the second through a special web page hosted locally. Set-up must be done once for each such UI, through copying and pasting a token from the output console of Parity into the UI. Specific instructions are given in the UI. + +From this point on, no transaction may ever be signed by Parity except through one of these allowed Signer UIs, and no password should ever be entered anywhere else. + +##### IPC/RPC module and Mist/Geth compatibility + +Should be started with `--geth` to ensure Mist compatibility. + +##### Optimised mining support + +Numerous improvements and optimisations have been added to our mining implementation. A large "active queue" ensures that late-included transactions are included in the mined block without sacrificing older results from latent-reported `ethminer` results. + +##### Windows build + +We're happy to announce full Windows support with 1.2! + +##### Soft-fork + +This release includes support for the proposed [DAO soft-fork](https://docs.google.com/document/d/10RktunzjKNfp6Y8Cu4EhR5V9IqxEZq42LU126EYhWY4/pub). Upon upgrade, all mining nodes can vote for or against the soft fork (this is done through altering the block gas limit; a gas limit of at most 4M results in the soft-fork being triggered). + +By default, nodes vote "for" the DAO soft-fork (and try to reduce the gas limit to 3.1M). To vote against the soft-fork (keeping it at 4.7M), run with `--dont-help-rescue-dao`. Not upgrading is not recommended; if the majority votes with a soft-fork, an upgrade will be necessary to mine on the correct chain. + +#### Changed +- Fast pruning method is now default for a fresh sync. +- Web UI renamed to Dapps UI. +- JSONRPC and Dapps UI enabled by default. +- CLI options ending `-off` renamed to GNU-consistent prefix `--no-`. +- Dynamic gas-pricing (data feed and statistical techniques used to determine optimum gas prices). + +Full changes: + +- Signer enabled by default for UI [#1417](https://github.com/paritytech/parity/pull/1417) +- Remove experimental pruning options. [#1415](https://github.com/paritytech/parity/pull/1415) +- Fixing interface and port for parity ui [#1414](https://github.com/paritytech/parity/pull/1414) +- Configurable gas limit cap. [#1405](https://github.com/paritytech/parity/pull/1405) +- Bumping TopBar, Minimal SignerUI and wallet [#1413](https://github.com/paritytech/parity/pull/1413) +- Sync: Update highest block for progress reporting [#1411](https://github.com/paritytech/parity/pull/1411) +- Tweaked CLI options for the release [#1407](https://github.com/paritytech/parity/pull/1407) +- Further rocksdb tuning [#1409](https://github.com/paritytech/parity/pull/1409) +- Fixing jit compilation [#1406](https://github.com/paritytech/parity/pull/1406) +- Bump clippy [#1403](https://github.com/paritytech/parity/pull/1403) +- Shortcut SF condition when canon known [#1401](https://github.com/paritytech/parity/pull/1401) +- Additional assertions for internal state of queue [#1402](https://github.com/paritytech/parity/pull/1402) +- Replace deprecated hashdb trait names [#1394](https://github.com/paritytech/parity/pull/1394) +- rpc api by default for ipc [#1400](https://github.com/paritytech/parity/pull/1400) +- Ensure judging the SF trigger by relative branch [#1399](https://github.com/paritytech/parity/pull/1399) +- Signer with unlocked account working as expected. [#1398](https://github.com/paritytech/parity/pull/1398) +- Make --signer default. [#1392](https://github.com/paritytech/parity/pull/1392) +- Presale wallet [#1376](https://github.com/paritytech/parity/pull/1376) +- Removing signer connection limit [#1396](https://github.com/paritytech/parity/pull/1396) +- Optional gas price in transactions come from statistics [#1388](https://github.com/paritytech/parity/pull/1388) +- Update README.md with cargo install [ci-skip] [#1389](https://github.com/paritytech/parity/pull/1389) +- Fixing possible overflow during multiplication [#1381](https://github.com/paritytech/parity/pull/1381) +- Update SF to latest spec [#1386](https://github.com/paritytech/parity/pull/1386) +- Sync optimization [#1385](https://github.com/paritytech/parity/pull/1385) +- Fixing order of if statements to avoid overflows. [#1384](https://github.com/paritytech/parity/pull/1384) +- New topbar & signer UI [#1383](https://github.com/paritytech/parity/pull/1383) +- Install trigger for DAO-rescue soft-fork. [#1329](https://github.com/paritytech/parity/pull/1329) +- Rocksdb flush/compact limit [#1375](https://github.com/paritytech/parity/pull/1375) +- CentOS Dockerfile [#1377](https://github.com/paritytech/parity/pull/1377) +- RPC method to return number of unconfirmed transactions... [#1371](https://github.com/paritytech/parity/pull/1371) +- bump jsonrpc-http-server [#1369](https://github.com/paritytech/parity/pull/1369) +- Fix lock order when updating sealing [#1364](https://github.com/paritytech/parity/pull/1364) +- Update sealing on new transactions [#1365](https://github.com/paritytech/parity/pull/1365) +- Fixed panic on aborted connection [#1370](https://github.com/paritytech/parity/pull/1370) +- importing presale wallet [#1368](https://github.com/paritytech/parity/pull/1368) +- Set default database file size large enough [#1363](https://github.com/paritytech/parity/pull/1363) +- Reserved peers rpc API [#1360](https://github.com/paritytech/parity/pull/1360) +- Fixing replacing transaction with lower gas_price result. [#1343](https://github.com/paritytech/parity/pull/1343) +- fixed migration of empty pruning dir [#1362](https://github.com/paritytech/parity/pull/1362) +- Transaction processing queue [#1335](https://github.com/paritytech/parity/pull/1335) +- Fixing last nonce values in case transaction is replaced [#1359](https://github.com/paritytech/parity/pull/1359) +- docopt is an optional dependency of ethkey and ethstore [#1358](https://github.com/paritytech/parity/pull/1358) +- Fixing clippy warnings [#1354](https://github.com/paritytech/parity/pull/1354) +- Reduce locking when syncing [#1357](https://github.com/paritytech/parity/pull/1357) +- removed unnecessary logs [#1356](https://github.com/paritytech/parity/pull/1356) +- Updating parity-dapps [#1353](https://github.com/paritytech/parity/pull/1353) +- moved keystore tests files from util to ethstore [#1352](https://github.com/paritytech/parity/pull/1352) +- removed redundant bigint deps [#1351](https://github.com/paritytech/parity/pull/1351) +- Reopen "reserved peers and reserved-only flag" [#1350](https://github.com/paritytech/parity/pull/1350) +- Configurable rocksdb cache size [#1348](https://github.com/paritytech/parity/pull/1348) +- Fixing future order and errors when reaching limit. [#1346](https://github.com/paritytech/parity/pull/1346) +- Removing priority on local transactions [#1342](https://github.com/paritytech/parity/pull/1342) +- Revert "Reserved peers, reserved-only flag" [#1349](https://github.com/paritytech/parity/pull/1349) +- Sync attack defense: Deactivate peers on invalid block bodies [#1345](https://github.com/paritytech/parity/pull/1345) +- Reserved peers, reserved-only flag [#1347](https://github.com/paritytech/parity/pull/1347) +- CI for ethkey and ethstore [#1341](https://github.com/paritytech/parity/pull/1341) +- Fixed empty block body composition [#1340](https://github.com/paritytech/parity/pull/1340) +- Provide a signer UI token by default. [#1334](https://github.com/paritytech/parity/pull/1334) +- docker uses rustup, fixes #1337 [#1344](https://github.com/paritytech/parity/pull/1344) +- Fixed network service dispose [#1339](https://github.com/paritytech/parity/pull/1339) +- Sync: Cache last sync round block parents [#1331](https://github.com/paritytech/parity/pull/1331) +- secret store separated from util [#1304](https://github.com/paritytech/parity/pull/1304) +- --geth prevent getTransactionReceipt from using pending. [#1325](https://github.com/paritytech/parity/pull/1325) +- Fixing locks order in miner. [#1328](https://github.com/paritytech/parity/pull/1328) +- Update default gas limit, rename field [#1324](https://github.com/paritytech/parity/pull/1324) +- Use constants for DatabaseConfig [#1318](https://github.com/paritytech/parity/pull/1318) +- Fixing clippy warnings [#1321](https://github.com/paritytech/parity/pull/1321) +- Bumping topbar. Fixing ws server closing when suspending [#1312](https://github.com/paritytech/parity/pull/1312) +- Syncing fix [#1320](https://github.com/paritytech/parity/pull/1320) +- Filling-in optional fields of TransactionRequest... [#1305](https://github.com/paritytech/parity/pull/1305) +- Removing MakerOTC and DAO dapps [#1319](https://github.com/paritytech/parity/pull/1319) +- Disabling ethcore_set* APIs by default (+ Status page update) [#1315](https://github.com/paritytech/parity/pull/1315) +- fixed #1180 [#1282](https://github.com/paritytech/parity/pull/1282) +- Network start/stop [#1313](https://github.com/paritytech/parity/pull/1313) +- Additional logging for own transactions in queue [#1311](https://github.com/paritytech/parity/pull/1311) +- DAO Rescue soft fork [#1309](https://github.com/paritytech/parity/pull/1309) +- Appveyor config for windows build+installer [#1302](https://github.com/paritytech/parity/pull/1302) +- Key load avoid warning [#1303](https://github.com/paritytech/parity/pull/1303) +- More meaningful errors when sending transaction [#1290](https://github.com/paritytech/parity/pull/1290) +- Gas price statistics. [#1291](https://github.com/paritytech/parity/pull/1291) +- Fix read-ahead bug. [#1298](https://github.com/paritytech/parity/pull/1298) +- firewall rules for windows installer [#1297](https://github.com/paritytech/parity/pull/1297) +- x64 program files path for installer [#1296](https://github.com/paritytech/parity/pull/1296) +- Fixed loosing peers on incoming connections. [#1293](https://github.com/paritytech/parity/pull/1293) +- fixed #1261, overflow when calculating work [#1283](https://github.com/paritytech/parity/pull/1283) +- snappy and minor block compression [#1286](https://github.com/paritytech/parity/pull/1286) +- clarify build instructions [#1287](https://github.com/paritytech/parity/pull/1287) +- fixed #1255 [#1280](https://github.com/paritytech/parity/pull/1280) +- bump rust-crypto [#1289](https://github.com/paritytech/parity/pull/1289) +- Security audit issues fixed [#1279](https://github.com/paritytech/parity/pull/1279) +- Fixing origin/host validation [#1273](https://github.com/paritytech/parity/pull/1273) +- windows installer + parity start ui cli option [#1284](https://github.com/paritytech/parity/pull/1284) +- ipc lib version bump [#1285](https://github.com/paritytech/parity/pull/1285) +- Syncing improvements [#1274](https://github.com/paritytech/parity/pull/1274) +- removed redundant if condition [#1270](https://github.com/paritytech/parity/pull/1270) +- Naive chunk creation, snapshotting [#1263](https://github.com/paritytech/parity/pull/1263) +- Fixing generating new token while another parity instance is running. [#1272](https://github.com/paritytech/parity/pull/1272) +- README: rustup and windows instructions [#1266](https://github.com/paritytech/parity/pull/1266) +- Windows build [#1253](https://github.com/paritytech/parity/pull/1253) +- removed try_seal from MiningBlockChainClient [#1262](https://github.com/paritytech/parity/pull/1262) +- simplified block opening [#1232](https://github.com/paritytech/parity/pull/1232) +- Clippy bump [#1259](https://github.com/paritytech/parity/pull/1259) +- Fixing uint ASM macros compilation [#1258](https://github.com/paritytech/parity/pull/1258) +- Signer port returned from RPC + Topbar showing count of unconfirmed transactions. [#1252](https://github.com/paritytech/parity/pull/1252) +- codegen - avoid unwraps leading to compilation crash [#1250](https://github.com/paritytech/parity/pull/1250) +- Dapps bump [#1257](https://github.com/paritytech/parity/pull/1257) +- Windows named pipes [#1254](https://github.com/paritytech/parity/pull/1254) +- remove unsafety from util/hash.rs and util/bigint/uint.rs [#1236](https://github.com/paritytech/parity/pull/1236) +- Fixing CORS settings for special values: * & null. [#1247](https://github.com/paritytech/parity/pull/1247) +- JSONRPC test strings avoid using \ char [#1246](https://github.com/paritytech/parity/pull/1246) +- Tests for JSON serialisation of statediff/vmtrace [#1241](https://github.com/paritytech/parity/pull/1241) +- Bumping Dapps & TopBar to newest version. [#1245](https://github.com/paritytech/parity/pull/1245) +- keys import [#1240](https://github.com/paritytech/parity/pull/1240) +- Splitting RPC Apis into more fine-grained sets [#1234](https://github.com/paritytech/parity/pull/1234) +- Refactor triedb constructors to error on invalid state root [#1230](https://github.com/paritytech/parity/pull/1230) +- Signer RPC method to check if signer is enabled [#1238](https://github.com/paritytech/parity/pull/1238) +- Fixing signer behaviour when confirming transaction with wrong password. [#1237](https://github.com/paritytech/parity/pull/1237) +- SystemUIs authorization [#1233](https://github.com/paritytech/parity/pull/1233) +- IPC path for tesetnet with --geth compatibility [#1231](https://github.com/paritytech/parity/pull/1231) +- Transaction tracing for eth_call [#1210](https://github.com/paritytech/parity/pull/1210) +- Removing compilation warnings [#1227](https://github.com/paritytech/parity/pull/1227) +- Allowing connections only from chrome-extension and self-hosted client [#1226](https://github.com/paritytech/parity/pull/1226) +- Clippy bump & fixing warnings [#1219](https://github.com/paritytech/parity/pull/1219) +- Bumping serde & syntex [#1216](https://github.com/paritytech/parity/pull/1216) +- Minimal Signer UI (System UI) exposed over websockets. [#1211](https://github.com/paritytech/parity/pull/1211) +- Switch RPC namespace form ethcore_ to trace_ [#1208](https://github.com/paritytech/parity/pull/1208) +- Verify the state root exists before creating a State [#1217](https://github.com/paritytech/parity/pull/1217) +- Integrate state diffing into the ethcore JSONRPC [#1206](https://github.com/paritytech/parity/pull/1206) +- Updating topbar to latest version [#1220](https://github.com/paritytech/parity/pull/1220) +- Loading local Dapps from FS. [#1214](https://github.com/paritytech/parity/pull/1214) +- Ipc serialization & protocol fixes [#1188](https://github.com/paritytech/parity/pull/1188) +- Have Ext::ret take self by value [#1187](https://github.com/paritytech/parity/pull/1187) +- Simple WebSockets notification about new request [#1202](https://github.com/paritytech/parity/pull/1202) +- Removing leftovers of ethminer [#1207](https://github.com/paritytech/parity/pull/1207) +- fixed #1204 [#1205](https://github.com/paritytech/parity/pull/1205) +- VM tracing and JSON RPC endpoint for it. [#1169](https://github.com/paritytech/parity/pull/1169) +- devtools helpers extended [#1186](https://github.com/paritytech/parity/pull/1186) +- Networking refactoring [#1172](https://github.com/paritytech/parity/pull/1172) +- Client & Miner refactoring [#1195](https://github.com/paritytech/parity/pull/1195) +- update readme [#1201](https://github.com/paritytech/parity/pull/1201) +- Simple signing queue, confirmation APIs exposed in signer WebSockets. [#1182](https://github.com/paritytech/parity/pull/1182) +- Using ordered hashmap to keep the order of dapps on home screen [#1199](https://github.com/paritytech/parity/pull/1199) +- Disabling `ethcore` by default, adding x-frame-options header to dapps. [#1197](https://github.com/paritytech/parity/pull/1197) +- transaction count verifier tests [#1196](https://github.com/paritytech/parity/pull/1196) +- expunge x! and xx! from the codebase [#1192](https://github.com/paritytech/parity/pull/1192) +- Database service upgrade (from the ipc branch) [#1185](https://github.com/paritytech/parity/pull/1185) +- stop eth_syncing from returning true forever [#1181](https://github.com/paritytech/parity/pull/1181) +- Sync fixes and tweaks [#1164](https://github.com/paritytech/parity/pull/1164) +- Exposing RPC over Signer WebSockets [#1167](https://github.com/paritytech/parity/pull/1167) +- implement missing rpc methods and tests [#1171](https://github.com/paritytech/parity/pull/1171) +- json ipc server version bump [#1170](https://github.com/paritytech/parity/pull/1170) +- Updated dependencies for windows build [#1173](https://github.com/paritytech/parity/pull/1173) +- Framework for improved RPC unit tests [#1141](https://github.com/paritytech/parity/pull/1141) +- remove all possible unsafe code in crypto [#1168](https://github.com/paritytech/parity/pull/1168) +- Base for Signer Websockets server [#1158](https://github.com/paritytech/parity/pull/1158) +- Write queue to speed-up db ipc [#1160](https://github.com/paritytech/parity/pull/1160) +- Fixing few clippy warnings [#1163](https://github.com/paritytech/parity/pull/1163) +- Change eth_signAndSendTransaction to personal_SignAndSendTransaction [#1154](https://github.com/paritytech/parity/pull/1154) +- Support "earliest" and specific block parameters in RPC where possible [#1149](https://github.com/paritytech/parity/pull/1149) +- migration fixes [#1155](https://github.com/paritytech/parity/pull/1155) +- Empty trusted signer crate with it's general purpose described. [#1150](https://github.com/paritytech/parity/pull/1150) +- More bootnodes for morden. [#1153](https://github.com/paritytech/parity/pull/1153) +- move existing rpc tests into mocked module [#1151](https://github.com/paritytech/parity/pull/1151) +- Bloomchain [#1014](https://github.com/paritytech/parity/pull/1014) +- Renaming dapps repos. Updating dapps [#1142](https://github.com/paritytech/parity/pull/1142) +- fixed pending transactions [#1147](https://github.com/paritytech/parity/pull/1147) +- Basic benches to provide metrics for ipc optimizations [#1145](https://github.com/paritytech/parity/pull/1145) +- Fixing clippy warnings [#1148](https://github.com/paritytech/parity/pull/1148) +- correct signature of SecTrieDB::raw_mut [#1143](https://github.com/paritytech/parity/pull/1143) +- Merge to master and start hypervisor for import/export [#1138](https://github.com/paritytech/parity/pull/1138) +- Bumping clippy. Fixing warnings [#1139](https://github.com/paritytech/parity/pull/1139) +- Display progress when importing [#1136](https://github.com/paritytech/parity/pull/1136) +- foundation of simple db migration [#1128](https://github.com/paritytech/parity/pull/1128) +- Fixpending [#1074](https://github.com/paritytech/parity/pull/1074) +- Sync: Propagate uncles and fix status reporting [#1134](https://github.com/paritytech/parity/pull/1134) +- Coloured, padding logging. [#1133](https://github.com/paritytech/parity/pull/1133) +- Importing [#1132](https://github.com/paritytech/parity/pull/1132) +- Have `die_with_error` use `fmt::Display` rather than Debug [#1116](https://github.com/paritytech/parity/pull/1116) +- Exporting [#1129](https://github.com/paritytech/parity/pull/1129) +- Sign and send transaction [#1124](https://github.com/paritytech/parity/pull/1124) +- Fixing unused imports warnings [#1125](https://github.com/paritytech/parity/pull/1125) +- Adding info messages on mined blocks [#1127](https://github.com/paritytech/parity/pull/1127) +- Fix styling - don't mix spaces with tabs!!! [#1123](https://github.com/paritytech/parity/pull/1123) +- Fix is_syncing so it's false as long as the update is trivial. [#1122](https://github.com/paritytech/parity/pull/1122) +- Relock unlocked accounts after first use [#1120](https://github.com/paritytech/parity/pull/1120) +- Avoid importing keys into wrong place. [#1119](https://github.com/paritytech/parity/pull/1119) +- Implement receipt's gasUsed field [#1118](https://github.com/paritytech/parity/pull/1118) +- New dapps & query parameter handling [#1113](https://github.com/paritytech/parity/pull/1113) +- pretty print trace error [#1098](https://github.com/paritytech/parity/pull/1098) +- New syncing strategy [#1095](https://github.com/paritytech/parity/pull/1095) +- ethcore-db crate [#1097](https://github.com/paritytech/parity/pull/1097) +- Fix the default for pruning. [#1107](https://github.com/paritytech/parity/pull/1107) +- Make Id/ID and db/Db/DB usage consistent [#1105](https://github.com/paritytech/parity/pull/1105) +- Miner holds it's own copy of spec/engine [#1091](https://github.com/paritytech/parity/pull/1091) +- Apps listing API & Home webapp. [#1101](https://github.com/paritytech/parity/pull/1101) +- CLI option for using JITEVM [#1103](https://github.com/paritytech/parity/pull/1103) +- Fix up the seal fields in RPC output [#1096](https://github.com/paritytech/parity/pull/1096) +- Fixing some warnings [#1102](https://github.com/paritytech/parity/pull/1102) +- fixed incorrect decoding of header seal_fields. added tests. #1090 [#1094](https://github.com/paritytech/parity/pull/1094) +- Bumping Clippy [#1093](https://github.com/paritytech/parity/pull/1093) +- Injectable topbar support. [#1092](https://github.com/paritytech/parity/pull/1092) +- New syncing part 1: Block collection [#1088](https://github.com/paritytech/parity/pull/1088) +- Moving all Client public API types to separate mod & binary serialization codegen for that mod [#1051](https://github.com/paritytech/parity/pull/1051) +- Subdomains support in content server (webapps server). [#1082](https://github.com/paritytech/parity/pull/1082) +- Fix uncle getter [#1087](https://github.com/paritytech/parity/pull/1087) +- Provide fallback for usd-per-eth option when offline. [#1085](https://github.com/paritytech/parity/pull/1085) +- path centralized [#1083](https://github.com/paritytech/parity/pull/1083) +- Limiting result of the execution to execution-specific errors [#1071](https://github.com/paritytech/parity/pull/1071) +- Configurable keys security [#1080](https://github.com/paritytech/parity/pull/1080) +- comma delimeting multiple cors headers [#1078](https://github.com/paritytech/parity/pull/1078) +- Update error message [#1081](https://github.com/paritytech/parity/pull/1081) +- Updating dapp-wallet [#1076](https://github.com/paritytech/parity/pull/1076) +- Fixed connecting to local nodes on startup [#1070](https://github.com/paritytech/parity/pull/1070) +- Validate signature in Tx queue [#1068](https://github.com/paritytech/parity/pull/1068) +- moving deps to ethcore/hyper and bumping jsonrpc-http-server version [#1067](https://github.com/paritytech/parity/pull/1067) +- Updating status page. Bringing back wallet [#1064](https://github.com/paritytech/parity/pull/1064) +- Fix --geth IPC for MacOS. [#1062](https://github.com/paritytech/parity/pull/1062) +- Fixing formatter for defaultExtraData [#1060](https://github.com/paritytech/parity/pull/1060) +- --geth IPC compatibility [#1059](https://github.com/paritytech/parity/pull/1059) +- Moving dependencies to ethcore & uniforming syntax libs through all crates [#1050](https://github.com/paritytech/parity/pull/1050) +- update hyper branch mio [#1054](https://github.com/paritytech/parity/pull/1054) +- IPC lib update [#1047](https://github.com/paritytech/parity/pull/1047) +- Updating hyper-mio revision [#1048](https://github.com/paritytech/parity/pull/1048) +- Bump ipc-lib version [#1046](https://github.com/paritytech/parity/pull/1046) +- Tidy up CLI options and make JSONRPC & webapps on by default. [#1045](https://github.com/paritytech/parity/pull/1045) +- Fixing clippy warnings [#1044](https://github.com/paritytech/parity/pull/1044) +- Fixing RPC modules compatibility [#1041](https://github.com/paritytech/parity/pull/1041) +- Fixing hyper-mio revision [#1043](https://github.com/paritytech/parity/pull/1043) +- Updating locations of webapp stuff [#1040](https://github.com/paritytech/parity/pull/1040) +- JSON-RPC over IPC [#1039](https://github.com/paritytech/parity/pull/1039) +- Update nix/mio for ARM [#1036](https://github.com/paritytech/parity/pull/1036) +- Basic Authority [#991](https://github.com/paritytech/parity/pull/991) +- Prioritizing of local transaction [#1023](https://github.com/paritytech/parity/pull/1023) +- Version 1.2 [#1030](https://github.com/paritytech/parity/pull/1030) +- Bumping status page [#1033](https://github.com/paritytech/parity/pull/1033) diff --git a/docs/CHANGELOG-1.3.md b/docs/CHANGELOG-1.3.md new file mode 100644 index 000000000..14b4adbfc --- /dev/null +++ b/docs/CHANGELOG-1.3.md @@ -0,0 +1,500 @@ +## Parity [v1.3.15](https://github.com/paritytech/parity/releases/tag/v1.3.15) (2016-12-10) + +This patch release fixes an issue with syncing on the Ropsten test network. + +- Backporting to stable [#3793](https://github.com/paritytech/parity/pull/3793) + +## Parity [v1.3.14](https://github.com/paritytech/parity/releases/tag/v1.3.14) (2016-11-25) + +Parity 1.3.14 fixes a few stability issues and adds support for the Ropsten testnet. + +- Backporting to stable [#3616](https://github.com/paritytech/parity/pull/3616) + +## Parity [v1.3.13](https://github.com/paritytech/parity/releases/tag/v1.3.13) (2016-11-18) + +This release fixes an issue with EIP-155 transactions being allowed into the transaction pool. + +- [stable] Check tx signatures before adding to the queue. [#3521](https://github.com/paritytech/parity/pull/3521) +- Fix Stable Docker Build [#3479](https://github.com/paritytech/parity/pull/3479) + +## Parity [v1.3.12](https://github.com/paritytech/parity/releases/tag/v1.3.12) (2016-11-16) + +This stable release enables EIP-155/160/161/170 hardfork at block 2675000 (1885000 for test network). + +- [stable] EIP-170 [#3462](https://github.com/paritytech/parity/pull/3462) +- #3035 Backport to stable [#3441](https://github.com/paritytech/parity/pull/3441) + +## Parity [v1.3.11](https://github.com/paritytech/parity/releases/tag/v1.3.11) (2016-11-11) + +This is a maintenance release for the stable series to delay the EIP-155/160/161 hard fork transition. **Update from 1.3.10 is mandatory**. It also deprecates and disables the old Parity UI. + +- [stable] Disable HF and UI [#3372](https://github.com/paritytech/parity/pull/3372) +- [stable] EIP-155 update with Vitalik's new test vectors (#3166) [#3190](https://github.com/paritytech/parity/pull/3190) +- Backport EIP-150 to stable [#2672](https://github.com/paritytech/parity/pull/2672) +- Create gitlab-ci.yml for stable [#2517](https://github.com/paritytech/parity/pull/2517) + +## Parity [v1.3.10](https://github.com/paritytech/parity/releases/tag/v1.3.10) (2016-11-04) + +The latest 1.3 series release, now considered stable. + +This includes several additional optimisations and fixes together with provisional support for the upcoming hard fork for EIP155/160/161. + +- Stable branch reset to 1.3.10 [#3156](https://github.com/paritytech/parity/pull/3156) +- Backporting to beta [#3149](https://github.com/paritytech/parity/pull/3149) +- apply post-consolidation migrations after consolidating (BETA) [#3048](https://github.com/paritytech/parity/pull/3048) +- [beta] Fix the brainwallet functionality. (#2994) [#3005](https://github.com/paritytech/parity/pull/3005) +- Bumping json-ipc-server [#2989](https://github.com/paritytech/parity/pull/2989) +- Backports for 1.3.10 [#2987](https://github.com/paritytech/parity/pull/2987) + +## Parity [v1.3.9](https://github.com/paritytech/parity/releases/tag/v1.3.9) (2016-10-21) + +This release enables EIP-150 hard fork for Ethereum Classic chain and resolves a few stability and performance issues, such as: +- Interrupted syncing on the test network. +- Block import delays caused by a large number of incoming transactions. A full re-sync is recommended for performance improvement to take effect. + +Full changes: +- [beta] Resolve morden fork [#2776](https://github.com/paritytech/parity/pull/2776) +- Fixing botched merge [#2767](https://github.com/paritytech/parity/pull/2767) +- Backports for beta [#2764](https://github.com/paritytech/parity/pull/2764) +- Introduce EIP150 hardfork block for ETC [#2736](https://github.com/paritytech/parity/pull/2736) +- [beta] fix issues with no test dir present (#2659) [#2724](https://github.com/paritytech/parity/pull/2724) +- [beta] Bumping jsonrpc-http-server [#2715](https://github.com/paritytech/parity/pull/2715) +- [beta] Fix migration system, better errors [#2661](https://github.com/paritytech/parity/pull/2661) + +## Parity [v1.3.8](https://github.com/paritytech/parity/releases/tag/v1.3.8) (2016-10-15) + +Parity 1.3.8 is our EIP150 hard-fork compliant release. + +Running this will enact a mild change of the protocol at block number 2,463,000 which should occur on Tuesday 18th October 2016 at approximately 12:20 London time (BST). This change alters the gas prices for a number of operations, mainly centring around i/o intensive Merkle trie lookups (`BALANCE`, `EXTCODESIZE` &c.) and state-trie polluters (`SUICIDE`, `CREATE` and `CALL`). These operations were heavily underpriced, an oversight which lead to the recent degradation of network service. The full details of the alteration are specified in [EIP-150](https://github.com/ethereum/EIPs/issues/150). + +Additionally several issues have been fixed including: +- a transaction queue limitation leading to dropped transactions; +- a synchronisation issue leading to stalls when syncing; + +And some small features including database performance improvements and additional logging. + +#### Upgrading private chain specification files. + +All the chain specification files now have EIP-150 rules enabled by default. To continue using the chain add the `eip150Transition` key under `Engine/ethash/params` and set it to a future transition block as shown in [this example](https://github.com/paritytech/parity/blob/85eeb3ea6e5e21ad8e5644241edf82eb8069f536/ethcore/res/ethereum/morden.json#L13). + +The key related to homestead transition has been renamed from `frontierCompatibilityModeLimit` to `homesteadTransition`. + +#### Full changes + +- [beta] EIP150.1c [#2599](https://github.com/paritytech/parity/pull/2599) +- Remove count limit for local transactions [#2634](https://github.com/paritytech/parity/pull/2634) +- Tweak DB and mining defaults [#2598](https://github.com/paritytech/parity/pull/2598) +- Revert "Bloom upgrade in beta" [#2635](https://github.com/paritytech/parity/pull/2635) +- Bloom upgrade in beta [#2609](https://github.com/paritytech/parity/pull/2609) +- Backports to beta [#2628](https://github.com/paritytech/parity/pull/2628) + +## Parity [v1.3.7](https://github.com/paritytech/parity/releases/tag/v1.3.7) (2016-10-12) + +This release contains fixes to reduce memory usage under the DoS attack and improve transaction relay. + +- Configurable history size in beta [#2587](https://github.com/paritytech/parity/pull/2587) +- Backports to beta [#2592](https://github.com/paritytech/parity/pull/2592) + + +## Parity [v1.3.6](https://github.com/paritytech/parity/releases/tag/v1.3.6) (2016-10-11) + +Parity 1.3.6 is another hotfix release to address transaction spam and deal with stability issues. With this release transaction pool gas limit no longer applies to local transactions. Full list of changes is available here: + +- Backports to beta v1.3.6 [#2571](https://github.com/paritytech/parity/pull/2571) +- Use global state cache when mining [#2529](https://github.com/paritytech/parity/pull/2529) +- Transaction queue limited by gas [#2528](https://github.com/paritytech/parity/pull/2528) + +## Parity [v1.3.5](https://github.com/paritytech/parity/releases/tag/v1.3.5) (2016-10-08) + +1.3.5 is a hotfix release for the transaction propagation issue. Transaction pool limit is now calculated based on the block gas limit. + +- Update appveyor rustc [beta] [#2521](https://github.com/paritytech/parity/pull/2521) +- Increase size of transaction queue by default [#2519](https://github.com/paritytech/parity/pull/2519) + +## Parity [v1.3.4](https://github.com/paritytech/parity/releases/tag/v1.3.4) (2016-10-07) + +Parity 1.3.4 release contains more optimizations to internal caching as well as stability improvements. + +It also introduces an ability for miners to choose a transaction ordering strategy: + + --tx-queue-strategy S Prioritization strategy used to order transactions + in the queue. S may be: + gas - Prioritize txs with low gas limit; + gas_price - Prioritize txs with high gas price; + gas_factor - Prioritize txs using gas price + and gas limit ratio [default: gas_factor]. + +- Backport to beta [#2518](https://github.com/paritytech/parity/pull/2518) +- [beta] Fixing RPC Filter conversion to EthFilter [#2501](https://github.com/paritytech/parity/pull/2501) +- [beta] Using pending block only if is not old [#2515](https://github.com/paritytech/parity/pull/2515) +- Backports into beta [#2512](https://github.com/paritytech/parity/pull/2512) +- CLI to specify queue ordering strategy [#2494](https://github.com/paritytech/parity/pull/2494) +- Fix ethstore opening all key files in the directory at once (BETA) [#2472](https://github.com/paritytech/parity/pull/2472) +- Beta backports [#2465](https://github.com/paritytech/parity/pull/2465) +- IPC-library dependency fork & bump for beta [#2455](https://github.com/paritytech/parity/pull/2455) + +## Parity [v1.3.3](https://github.com/paritytech/parity/releases/tag/v1.3.3) (2016-10-04) + +1.3.3 is another hotfix release for the DoS attack + +- Jumptable cache [#2435](https://github.com/paritytech/parity/pull/2435) +- fix broken beta compilation (backport to beta) [#2414](https://github.com/paritytech/parity/pull/2414) +- Run inplace upgrades after version update [#2411](https://github.com/paritytech/parity/pull/2411) + +## Parity [v1.3.2](https://github.com/paritytech/parity/releases/tag/v1.3.2) (2016-09-29) + +This is a hotfix release to address stability and performance issues uncovered during the network DoS attack. Full list of changes is available [here](https://github.com/paritytech/parity/compare/v1.3.1...v1.3.2) + +- Beta Backports [#2396](https://github.com/paritytech/parity/pull/2396) +- Fixing penalization in future [#2493](https://github.com/paritytech/parity/pull/2493) +- A quick fix for missing tree route blocks [#2400](https://github.com/paritytech/parity/pull/2400) +- Cache the fork block header after snapshot restoration [#2391](https://github.com/paritytech/parity/pull/2391) +- correct sync memory usage calculation (BETA) [#2386](https://github.com/paritytech/parity/pull/2386) +- Accounts bloom [#2357](https://github.com/paritytech/parity/pull/2357) +- Disable colors when generating signer token. [#2379](https://github.com/paritytech/parity/pull/2379) +- Fixing jit feature compilation [#2376](https://github.com/paritytech/parity/pull/2376) +- Clear state cache on sealed block import [#2377](https://github.com/paritytech/parity/pull/2377) +- DIV optimization (beta) [#2353](https://github.com/paritytech/parity/pull/2353) +- Canonical state cache [#2308](https://github.com/paritytech/parity/pull/2308) +- Reorder transaction_by_hash to favour canon search [#2331](https://github.com/paritytech/parity/pull/2331) +- Lenient bytes deserialization [#2340](https://github.com/paritytech/parity/pull/2340) +- Penalize transactions with gas above gas limit [#2271](https://github.com/paritytech/parity/pull/2271) +- Peek transaction queue via RPC [#2270](https://github.com/paritytech/parity/pull/2270) +- Handle RLP to string UTF-8 decoding errors (#2217) [#2226](https://github.com/paritytech/parity/pull/2226) +- Fixing compilation without default features [beta] [#2207](https://github.com/paritytech/parity/pull/2207) +- Avoid cloning clean stuff [beta backport] [#2173](https://github.com/paritytech/parity/pull/2173) +- v1.3.2 in beta [#2200](https://github.com/paritytech/parity/pull/2200) + +## Parity [v1.3.1](https://github.com/paritytech/parity/releases/tag/v1.3.1) (2016-09-11) + +1.3.1 includes many [bugfixes](https://github.com/paritytech/parity/commit/2a82fa0a47b00bedfec520a2fdd3cc31aa4ccd8c). Critical ones: +- **Chain reorganisation fix** Transaction receipts / traces were sometimes linked with incorrect block hash. Fixed in https://github.com/paritytech/parity/commit/a9587f8965a32c84973c35ce1c8d51d07044143f +- **Trace overflow fix** Overflow which occurred during tracing. Fixed in https://github.com/paritytech/parity/pull/1979 + +- Backports to beta [#2068](https://github.com/paritytech/parity/pull/2068) +- Fixing serde overflow error (#1977) [#2030](https://github.com/paritytech/parity/pull/2030) +- Simplified db pruning detection in beta [#1924](https://github.com/paritytech/parity/pull/1924) +- Backports to beta [#1919](https://github.com/paritytech/parity/pull/1919) + +## Parity [v1.3.0: "Acuity"](https://github.com/paritytech/parity/releases/tag/v1.3.0) (2016-08-12) + +As well as many bug fixes, 1.3.0 includes a number of important improvements including: +- **Optimisations** Heavily optimised block/transaction processing core - up to 2x faster than 1.2 series. +- **Database compression** Databases take as much as 30% less storage than before. +- **State snapshotting** An installation synchronised from scratch in 1-2 minutes can be made after downloading the 140MB state snapshot. See [the wiki](https://github.com/paritytech/parity/wiki/Getting-Synced) for more information. +- **Process isolation** The networking/chain-synchronisation is now a fully independent process. + +Incremental improvements include: +- Additional [RPCs](https://github.com/paritytech/parity/wiki/JSONRPC) for transaction tracing, state diffing, VM tracing, asynchronous transaction posting, accounts metadata and message signing. +- Improved logging, including for chain reorganisations. +- Added a `--fast-and-loose` option for additional speed-ups which can compromise integrity on a dirty shutdown. +- Column families to ensure maximal inter-database integrity. +- Key naming includes date/time of creation. +- Various improvements to networking robustness and performance. +- Solidity compilation supported through RPC if `solc` is available. +- Various improvements to the miner including [HTTP push work notification](https://github.com/ethcoreparitytech/parity/wiki/Mining#starting-it). + +Full changes: +- Bumping Parity UI [#1920](https://github.com/paritytech/parity/pull/1920) +- Adding entrypoints to docker images [#1909](https://github.com/paritytech/parity/pull/1909) +- Save nodes removed from backing_overlay until commit [#1917](https://github.com/paritytech/parity/pull/1917) +- RPC for importing geth keys [#1916](https://github.com/paritytech/parity/pull/1916) +- Peers RPC + UI displaying active/connected/max peers [#1915](https://github.com/paritytech/parity/pull/1915) +- RPC for deriving address from phrase. [#1912](https://github.com/paritytech/parity/pull/1912) +- adjust polling & connection timeouts for ipc [#1910](https://github.com/paritytech/parity/pull/1910) +- Don't return deleted nodes that are not yet flushed [#1908](https://github.com/paritytech/parity/pull/1908) +- Wallet rpcs [#1898](https://github.com/paritytech/parity/pull/1898) +- Fix binary serialization bug [#1907](https://github.com/paritytech/parity/pull/1907) +- fixed #1889, .DS_Store is no longer treated as key file [#1892](https://github.com/paritytech/parity/pull/1892) +- Purging .derefs, fixing clippy warnings. [#1890](https://github.com/paritytech/parity/pull/1890) +- RocksDB version bump [#1904](https://github.com/paritytech/parity/pull/1904) +- Fix ipc compilation and add ipc feature to test targets [#1902](https://github.com/paritytech/parity/pull/1902) +- Autocreating geth dir if none and geth mode on [#1896](https://github.com/paritytech/parity/pull/1896) +- v1.4.0 in master [#1886](https://github.com/paritytech/parity/pull/1886) +- Adding more details to miner log [#1891](https://github.com/paritytech/parity/pull/1891) +- moved hash.rs to bigint library [#1827](https://github.com/paritytech/parity/pull/1827) +- fixed cache_manager lock order [#1877](https://github.com/paritytech/parity/pull/1877) +- Fixing miner deadlock [#1885](https://github.com/paritytech/parity/pull/1885) +- Updating WS + Increasing token validity [#1882](https://github.com/paritytech/parity/pull/1882) +- take snapshot at specified block and slightly better informants [#1873](https://github.com/paritytech/parity/pull/1873) +- RPC errors & logs [#1845](https://github.com/paritytech/parity/pull/1845) +- Reduce max open files [#1876](https://github.com/paritytech/parity/pull/1876) +- Send new block hashes to all peers [#1875](https://github.com/paritytech/parity/pull/1875) +- Use UntrustedRlp for block verification [#1872](https://github.com/paritytech/parity/pull/1872) +- Update cache usage on commiting block info [#1871](https://github.com/paritytech/parity/pull/1871) +- Validating conversion U256->usize when doing gas calculation (for 32bits) [#1870](https://github.com/paritytech/parity/pull/1870) +- Sync to peers with confirmed fork block only [#1863](https://github.com/paritytech/parity/pull/1863) +- miner and client take spec reference [#1853](https://github.com/paritytech/parity/pull/1853) +- Unlock account with timeout for geth compatibility [#1854](https://github.com/paritytech/parity/pull/1854) +- Fixed reported max height and transaction propagation [#1852](https://github.com/paritytech/parity/pull/1852) +- Snapshot creation and restoration [#1679](https://github.com/paritytech/parity/pull/1679) +- fix deprecated typo [#1850](https://github.com/paritytech/parity/pull/1850) +- Split IO and network crates [#1828](https://github.com/paritytech/parity/pull/1828) +- updated classic JSON spec with classic bootnodes, fixes #1842 [#1847](https://github.com/paritytech/parity/pull/1847) +- protect unsafety in plainhasher; get more unique hashes [#1841](https://github.com/paritytech/parity/pull/1841) +- use mutex in dbtransaction [#1843](https://github.com/paritytech/parity/pull/1843) +- Fix state not using "account_starting_nonce" [#1830](https://github.com/paritytech/parity/pull/1830) +- Supporting blockid in eth_call and trace_call/trace_raw [#1837](https://github.com/paritytech/parity/pull/1837) +- eth_checkTransaction renamed to eth_checkRequest [#1817](https://github.com/paritytech/parity/pull/1817) +- Bump json-ipc-server again [#1839](https://github.com/paritytech/parity/pull/1839) +- Fixing another deadlock in trace db [#1833](https://github.com/paritytech/parity/pull/1833) +- Fix up the VM trace. [#1829](https://github.com/paritytech/parity/pull/1829) +- fixed parsing export params, fixes #1826 [#1834](https://github.com/paritytech/parity/pull/1834) +- More performance optimizations [#1814](https://github.com/paritytech/parity/pull/1814) +- Bumping clippy & fixing warnings [#1823](https://github.com/paritytech/parity/pull/1823) +- removed unused code from util and unnecessary dependency of FixedHash [#1824](https://github.com/paritytech/parity/pull/1824) +- Remove (almost all) panickers from trie module [#1776](https://github.com/paritytech/parity/pull/1776) +- Fixing account naming [#1810](https://github.com/paritytech/parity/pull/1810) +- JournalDB inject [#1806](https://github.com/paritytech/parity/pull/1806) +- No block number in get work while in geth-compat mode. [#1821](https://github.com/paritytech/parity/pull/1821) +- Import wallet fix [#1820](https://github.com/paritytech/parity/pull/1820) +- Supporting eth_sign in Signer [#1787](https://github.com/paritytech/parity/pull/1787) +- Fixing cache update after chain reorg [#1816](https://github.com/paritytech/parity/pull/1816) +- Development mode for Signer UI [#1788](https://github.com/paritytech/parity/pull/1788) +- Miner tweaks [#1797](https://github.com/paritytech/parity/pull/1797) +- Util & ipc clenup [#1807](https://github.com/paritytech/parity/pull/1807) +- Fixing unlock parsing [#1802](https://github.com/paritytech/parity/pull/1802) +- fixed importing presale wallet with encseed longer than 96 bytes [#1801](https://github.com/paritytech/parity/pull/1801) +- DRYing build scripts [#1795](https://github.com/paritytech/parity/pull/1795) +- Allow code from spec json [#1790](https://github.com/paritytech/parity/pull/1790) +- nano-tests (ipc transport) to the CI [#1793](https://github.com/paritytech/parity/pull/1793) +- Commit best block after closing transaction [#1791](https://github.com/paritytech/parity/pull/1791) +- Place thread name in the log output [#1792](https://github.com/paritytech/parity/pull/1792) +- Fix ipc tests and bring to CI [#1789](https://github.com/paritytech/parity/pull/1789) +- dynamic keys pickup [#1779](https://github.com/paritytech/parity/pull/1779) +- ipc version bump [#1783](https://github.com/paritytech/parity/pull/1783) +- Prevent deadlock on trace GC [#1780](https://github.com/paritytech/parity/pull/1780) +- fixed trace_transaction crash when block contained suicide [#1781](https://github.com/paritytech/parity/pull/1781) +- Fix block body migration [#1777](https://github.com/paritytech/parity/pull/1777) +- cache manager and clearing tracing cache [#1769](https://github.com/paritytech/parity/pull/1769) +- Return storage as H256 from RPC. [#1774](https://github.com/paritytech/parity/pull/1774) +- Instant sealing engine [#1767](https://github.com/paritytech/parity/pull/1767) +- fix state unsafety with a mostly-guaranteed handle [#1755](https://github.com/paritytech/parity/pull/1755) +- Gas for mem optimization [#1768](https://github.com/paritytech/parity/pull/1768) +- Min and Max peers setting [#1771](https://github.com/paritytech/parity/pull/1771) +- Disable WAL [#1765](https://github.com/paritytech/parity/pull/1765) +- Add new line when printing start strings [#1766](https://github.com/paritytech/parity/pull/1766) +- Log tweak [#1764](https://github.com/paritytech/parity/pull/1764) +- Remove update_sealing call on importing own block [#1762](https://github.com/paritytech/parity/pull/1762) +- Single DB [#1741](https://github.com/paritytech/parity/pull/1741) +- Tweak format of log so it's not so verbose. [#1758](https://github.com/paritytech/parity/pull/1758) +- Combine mining queue and enabled into single locked datum [#1749](https://github.com/paritytech/parity/pull/1749) +- Collect consensus/null engines into a single module [#1754](https://github.com/paritytech/parity/pull/1754) +- Fix failing deserialization test [#1756](https://github.com/paritytech/parity/pull/1756) +- Stackoverflow fix [#1742](https://github.com/paritytech/parity/pull/1742) +- compaction profile used during migration, fixes #1750 [#1751](https://github.com/paritytech/parity/pull/1751) +- Splitting documentation into separate build job [#1752](https://github.com/paritytech/parity/pull/1752) +- handle keys deserialization errors, fixes #1592 [#1701](https://github.com/paritytech/parity/pull/1701) +- add gitlab-ci yaml [#1753](https://github.com/paritytech/parity/pull/1753) +- Better handling of multiple migrations [#1747](https://github.com/paritytech/parity/pull/1747) +- Disconnect peers on a fork [#1738](https://github.com/paritytech/parity/pull/1738) +- Add RPC & client call to replay a transaction. [#1734](https://github.com/paritytech/parity/pull/1734) +- another version bump for jsonrpc-ipc [#1744](https://github.com/paritytech/parity/pull/1744) +- Trace other types of calls [#1727](https://github.com/paritytech/parity/pull/1727) +- Fixing compilation on latest nightly [#1736](https://github.com/paritytech/parity/pull/1736) +- Blocks and snapshot compression [#1687](https://github.com/paritytech/parity/pull/1687) +- bump json-ipc-server version [#1739](https://github.com/paritytech/parity/pull/1739) +- Use std::sync::Condvar [#1732](https://github.com/paritytech/parity/pull/1732) +- Bump json-ipc-server version [#1733](https://github.com/paritytech/parity/pull/1733) +- bump json-ipc-server version [#1731](https://github.com/paritytech/parity/pull/1731) +- Fixing some clippy warnings [#1728](https://github.com/paritytech/parity/pull/1728) +- Bumping Parity UI [#1682](https://github.com/paritytech/parity/pull/1682) +- Various improvements to tracing & diagnostics. [#1707](https://github.com/paritytech/parity/pull/1707) +- Fixed reading chunked EIP8 handshake [#1712](https://github.com/paritytech/parity/pull/1712) +- Fix for importing blocks from a pipe file [#1724](https://github.com/paritytech/parity/pull/1724) +- Proper errors for binary serializer [#1714](https://github.com/paritytech/parity/pull/1714) +- Use a transaction for writing blocks [#1718](https://github.com/paritytech/parity/pull/1718) +- Exclude generated code from coverage [#1720](https://github.com/paritytech/parity/pull/1720) +- Use single binary for ipc modules [#1710](https://github.com/paritytech/parity/pull/1710) +- Log a chain-reorg. [#1715](https://github.com/paritytech/parity/pull/1715) +- Restore new block informant message [#1716](https://github.com/paritytech/parity/pull/1716) +- Parallel block body download [#1659](https://github.com/paritytech/parity/pull/1659) +- Rotate blockchain cache [#1709](https://github.com/paritytech/parity/pull/1709) +- Fix broken internal names. [#1711](https://github.com/paritytech/parity/pull/1711) +- cli overhaul [#1600](https://github.com/paritytech/parity/pull/1600) +- Key files include timestamp in name. [#1700](https://github.com/paritytech/parity/pull/1700) +- Fixing warnings [#1705](https://github.com/paritytech/parity/pull/1705) +- Ethereum classic [#1706](https://github.com/paritytech/parity/pull/1706) +- Docker Arguments [#1703](https://github.com/paritytech/parity/pull/1703) +- Informant tidyup. [#1699](https://github.com/paritytech/parity/pull/1699) +- Name and meta in accounts [#1695](https://github.com/paritytech/parity/pull/1695) +- Stackoverflow #1686 [#1698](https://github.com/paritytech/parity/pull/1698) +- filtering transactions toAddress includes contract creation [#1697](https://github.com/paritytech/parity/pull/1697) +- Prevent syncing to ancient blocks [#1693](https://github.com/paritytech/parity/pull/1693) +- Enable WAL and disable DB repair [#1696](https://github.com/paritytech/parity/pull/1696) +- Returning error when transaction is rejected (for consistency) [#1667](https://github.com/paritytech/parity/pull/1667) +- Disabling signer when in geth-compatibility mode [#1676](https://github.com/paritytech/parity/pull/1676) +- Suicides tracing [#1688](https://github.com/paritytech/parity/pull/1688) +- small cleanup of substate.rs [#1685](https://github.com/paritytech/parity/pull/1685) +- resolve #411: remove install scripts [#1684](https://github.com/paritytech/parity/pull/1684) +- IPC (feature-gated) [#1654](https://github.com/paritytech/parity/pull/1654) +- Bumping JSONRPC-http-server [#1678](https://github.com/paritytech/parity/pull/1678) +- Fixing hash deserialisation [#1674](https://github.com/paritytech/parity/pull/1674) +- Ping discovery nodes gradually [#1671](https://github.com/paritytech/parity/pull/1671) +- Fixing the deadlock on incoming connection [#1672](https://github.com/paritytech/parity/pull/1672) +- Fixing errors returned by sendTransaction* method family [#1665](https://github.com/paritytech/parity/pull/1665) +- Moved syncing log out of the client [#1670](https://github.com/paritytech/parity/pull/1670) +- Host validation (again) [#1666](https://github.com/paritytech/parity/pull/1666) +- Update install-deps.sh [ci skip] [#1664](https://github.com/paritytech/parity/pull/1664) +- fix typos [#1644](https://github.com/paritytech/parity/pull/1644) +- Size for blocks [#1668](https://github.com/paritytech/parity/pull/1668) +- Revert "Validating Host headers in RPC requests" [#1663](https://github.com/paritytech/parity/pull/1663) +- Validating Host headers in RPC requests [#1658](https://github.com/paritytech/parity/pull/1658) +- fixed failing master [#1662](https://github.com/paritytech/parity/pull/1662) +- Fixing clippy warnings [#1660](https://github.com/paritytech/parity/pull/1660) +- Don't ping all nodes on start [#1656](https://github.com/paritytech/parity/pull/1656) +- More performance optimizations [#1649](https://github.com/paritytech/parity/pull/1649) +- Removing unused client code [#1645](https://github.com/paritytech/parity/pull/1645) +- Asynchronous transactions (polling based for now). [#1652](https://github.com/paritytech/parity/pull/1652) +- Sync stand-alone binary and feature-gated dependencies refactoring [#1637](https://github.com/paritytech/parity/pull/1637) +- Re-enabling Parity UI [#1627](https://github.com/paritytech/parity/pull/1627) +- Blockchain repair on missing state root [#1646](https://github.com/paritytech/parity/pull/1646) +- Multi-mode logging. [#1643](https://github.com/paritytech/parity/pull/1643) +- Pro paths [#1650](https://github.com/paritytech/parity/pull/1650) +- Performance optimizations [#1642](https://github.com/paritytech/parity/pull/1642) +- Removed DAO soft fork traces [#1639](https://github.com/paritytech/parity/pull/1639) +- Compiler version update for windows [#1638](https://github.com/paritytech/parity/pull/1638) +- Delete values immediately from DB overlay [#1631](https://github.com/paritytech/parity/pull/1631) +- DAO hard-fork [#1483](https://github.com/paritytech/parity/pull/1483) +- fix network_start regression [#1629](https://github.com/paritytech/parity/pull/1629) +- Die if the DB is newer than the one supported. [#1630](https://github.com/paritytech/parity/pull/1630) +- Cleanup of colour code. Use is_a_tty. [#1621](https://github.com/paritytech/parity/pull/1621) +- don't batch best block for branches [#1623](https://github.com/paritytech/parity/pull/1623) +- In-memory trie operations [#1408](https://github.com/paritytech/parity/pull/1408) +- Fix "pending" parameter on RPC block requests [#1602](https://github.com/paritytech/parity/pull/1602) +- Allow RPC to use solc to compile solidity [#1607](https://github.com/paritytech/parity/pull/1607) +- IPC RPC deriving for traits [#1599](https://github.com/paritytech/parity/pull/1599) +- Utilize cached kcov if exists [#1619](https://github.com/paritytech/parity/pull/1619) +- Fixing no-ui feature [#1618](https://github.com/paritytech/parity/pull/1618) +- Couple of rocksdb optimizations [#1614](https://github.com/paritytech/parity/pull/1614) +- Miner tests [#1597](https://github.com/paritytech/parity/pull/1597) +- Sync IPC interface [#1584](https://github.com/paritytech/parity/pull/1584) +- Make sure reserved peers are in the node table [#1616](https://github.com/paritytech/parity/pull/1616) +- Fix bloomchain on blockchain repair [#1610](https://github.com/paritytech/parity/pull/1610) +- fixed broken tracing [#1615](https://github.com/paritytech/parity/pull/1615) +- fix benchmark compilation [#1612](https://github.com/paritytech/parity/pull/1612) +- Updating jsonrpc-http-server [#1611](https://github.com/paritytech/parity/pull/1611) +- replace synchronization primitives with those from parking_lot [#1593](https://github.com/paritytech/parity/pull/1593) +- ui compilation feature [#1604](https://github.com/paritytech/parity/pull/1604) +- is_zero() and pow() optimisations for uint [#1608](https://github.com/paritytech/parity/pull/1608) +- Optimizing & Cleaning the build [#1591](https://github.com/paritytech/parity/pull/1591) +- Fix logging [#1590](https://github.com/paritytech/parity/pull/1590) +- remove unnecessary mutex in logging [#1601](https://github.com/paritytech/parity/pull/1601) +- Using streamlined parity-ui repository [#1566](https://github.com/paritytech/parity/pull/1566) +- Optimizing InstructionInfo access. [#1595](https://github.com/paritytech/parity/pull/1595) +- V7 Migration progress indicator [#1594](https://github.com/paritytech/parity/pull/1594) +- bring snapshotting work into master [#1577](https://github.com/paritytech/parity/pull/1577) +- Bump clippy [#1587](https://github.com/paritytech/parity/pull/1587) +- refactoring of handshake messages serialization in ipc [#1586](https://github.com/paritytech/parity/pull/1586) +- expunge &Vec pattern [#1579](https://github.com/paritytech/parity/pull/1579) +- EVM gas for memory tiny optimization [#1578](https://github.com/paritytech/parity/pull/1578) +- cleaned up parity/signer [#1551](https://github.com/paritytech/parity/pull/1551) +- Major sync <-> client interactions refactoring [#1572](https://github.com/paritytech/parity/pull/1572) +- failing test with overlayrecent pruning [#1567](https://github.com/paritytech/parity/pull/1567) +- Enable state queries for OverlayRecent DB [#1575](https://github.com/paritytech/parity/pull/1575) +- have AccountDB use address hash for uniqueness [#1533](https://github.com/paritytech/parity/pull/1533) +- Very basic EVM binary. [#1574](https://github.com/paritytech/parity/pull/1574) +- Some obvious evm & uint optimizations [#1576](https://github.com/paritytech/parity/pull/1576) +- Fixing clippy warnings [#1568](https://github.com/paritytech/parity/pull/1568) +- Miner's gas price gets updated dynamically [#1570](https://github.com/paritytech/parity/pull/1570) +- bringing hypervisor as a crate in ipc dir [#1565](https://github.com/paritytech/parity/pull/1565) +- Init public interface with IO message [#1573](https://github.com/paritytech/parity/pull/1573) +- Uncommenting simple Miner tests [#1571](https://github.com/paritytech/parity/pull/1571) +- Kill lock unwraps [#1558](https://github.com/paritytech/parity/pull/1558) +- Fixing deadlock in miner [#1569](https://github.com/paritytech/parity/pull/1569) +- Idealpeers in log [#1563](https://github.com/paritytech/parity/pull/1563) +- Simple style fix. [#1561](https://github.com/paritytech/parity/pull/1561) +- Enum variants serialisation test&fix [#1559](https://github.com/paritytech/parity/pull/1559) +- Supporting /api/ping for dapps server [#1543](https://github.com/paritytech/parity/pull/1543) +- Client IPC Interface [#1493](https://github.com/paritytech/parity/pull/1493) +- Kill timers when removing IO handler [#1554](https://github.com/paritytech/parity/pull/1554) +- Fix and add info messages [#1552](https://github.com/paritytech/parity/pull/1552) +- Fix indent of #1541 [#1555](https://github.com/paritytech/parity/pull/1555) +- Update sealing just once when externally importing many blocks [#1541](https://github.com/paritytech/parity/pull/1541) +- Remove soft-fork stuff. [#1548](https://github.com/paritytech/parity/pull/1548) +- fix codegen warning [#1550](https://github.com/paritytech/parity/pull/1550) +- Extend migration framework [#1546](https://github.com/paritytech/parity/pull/1546) +- Refactoring dapps to support API endpoints. [#1542](https://github.com/paritytech/parity/pull/1542) +- serde is no longer util dependency [#1534](https://github.com/paritytech/parity/pull/1534) +- mention wiki in README [#1549](https://github.com/paritytech/parity/pull/1549) +- Skipping transactions with invalid nonces when pushing to block. [#1545](https://github.com/paritytech/parity/pull/1545) +- Silent running operating modes [#1477](https://github.com/paritytech/parity/pull/1477) +- util cleanup [#1474](https://github.com/paritytech/parity/pull/1474) +- Calculating gas using usize (if supplied gaslimit fits in usize) [#1518](https://github.com/paritytech/parity/pull/1518) +- add owning NibbleVec [#1536](https://github.com/paritytech/parity/pull/1536) +- Attempt to fix blochchain/extras DBs sync [#1538](https://github.com/paritytech/parity/pull/1538) +- Client API refactoring - limiting errors to crate-level error types [#1525](https://github.com/paritytech/parity/pull/1525) +- IPC codegen enhancement - allow void methods [#1540](https://github.com/paritytech/parity/pull/1540) +- Fixing serving nested files for dapps. [#1539](https://github.com/paritytech/parity/pull/1539) +- Fixed public address config [#1537](https://github.com/paritytech/parity/pull/1537) +- Fixing compilation&clippy warnings [#1531](https://github.com/paritytech/parity/pull/1531) +- creating ethereum dir while in geth mode [#1530](https://github.com/paritytech/parity/pull/1530) +- Bumping clippy [#1532](https://github.com/paritytech/parity/pull/1532) +- Make signer default as long as --unlock isn't used. [#1524](https://github.com/paritytech/parity/pull/1524) +- add client timeout when requesting usd price for gas [#1526](https://github.com/paritytech/parity/pull/1526) +- Fix gitter-url link in README.md [#1528](https://github.com/paritytech/parity/pull/1528) +- Fix error message. [#1527](https://github.com/paritytech/parity/pull/1527) +- BTreeMap binary serialization [#1489](https://github.com/paritytech/parity/pull/1489) +- Save block reference in the queue on notification [#1501](https://github.com/paritytech/parity/pull/1501) +- bigint tests to run on CI [#1522](https://github.com/paritytech/parity/pull/1522) +- Client api cleaning - uncles are returned as rlp [#1516](https://github.com/paritytech/parity/pull/1516) +- Fatdb integration with CLI [#1464](https://github.com/paritytech/parity/pull/1464) +- Optimizing/simplifying shr [#1517](https://github.com/paritytech/parity/pull/1517) +- change IPC codegen to allow attributes [#1500](https://github.com/paritytech/parity/pull/1500) +- Fix warnings [#1514](https://github.com/paritytech/parity/pull/1514) +- FatDB [#1452](https://github.com/paritytech/parity/pull/1452) +- Fix the reseal mechanism. [#1513](https://github.com/paritytech/parity/pull/1513) +- Update Dockerfile ubuntu-aarch64 [#1509](https://github.com/paritytech/parity/pull/1509) +- Update Ubuntu-arm Dockerfile [#1510](https://github.com/paritytech/parity/pull/1510) +- Update Ubuntu-jit Dockerfile [#1511](https://github.com/paritytech/parity/pull/1511) +- Update Ubuntu Dockerfile [#1512](https://github.com/paritytech/parity/pull/1512) +- Update CentOS Dockerfile [#1508](https://github.com/paritytech/parity/pull/1508) +- bump status page v0.5.1 [#1502](https://github.com/paritytech/parity/pull/1502) +- Update CentOS Dockerfile [#1507](https://github.com/paritytech/parity/pull/1507) +- Update Dockerfile ubuntu-aarch64 [#1506](https://github.com/paritytech/parity/pull/1506) +- Update Ubuntu-arm Dockerfile [#1505](https://github.com/paritytech/parity/pull/1505) +- Update Ubuntu-jit Dockerfile [#1504](https://github.com/paritytech/parity/pull/1504) +- Update Ubuntu Dockerfile [#1503](https://github.com/paritytech/parity/pull/1503) +- Optionally clone block behind work-package [#1497](https://github.com/paritytech/parity/pull/1497) +- Fix no colour on windows. [#1498](https://github.com/paritytech/parity/pull/1498) +- Workaround for hyper panic [#1495](https://github.com/paritytech/parity/pull/1495) +- Colourful notification on mine [#1488](https://github.com/paritytech/parity/pull/1488) +- Quick fix for max open files error [#1494](https://github.com/paritytech/parity/pull/1494) +- Work notification over HTTP [#1491](https://github.com/paritytech/parity/pull/1491) +- Sealed block importing and propagation optimization [#1478](https://github.com/paritytech/parity/pull/1478) +- vm factory to mining client [#1487](https://github.com/paritytech/parity/pull/1487) +- topbar dialog fix [#1479](https://github.com/paritytech/parity/pull/1479) +- Minor additions to allow resetting of code. [#1482](https://github.com/paritytech/parity/pull/1482) +- Introduce options for fine-grained management of work queue. [#1484](https://github.com/paritytech/parity/pull/1484) +- Snapshot state restoration [#1308](https://github.com/paritytech/parity/pull/1308) +- Merge master into pv64 branch [#1486](https://github.com/paritytech/parity/pull/1486) +- Ensure we don't reject our own transactions for gasprice. [#1485](https://github.com/paritytech/parity/pull/1485) +- Signing parity executable & windows installer in appveyor [#1481](https://github.com/paritytech/parity/pull/1481) +- Rearrange fork CLI options. [#1476](https://github.com/paritytech/parity/pull/1476) +- give appveyor some breath [#1475](https://github.com/paritytech/parity/pull/1475) +- Ensure we always get the latest work when mining on submitted. [#1469](https://github.com/paritytech/parity/pull/1469) +- Tests for views [#1471](https://github.com/paritytech/parity/pull/1471) +- json ipc version bump [#1470](https://github.com/paritytech/parity/pull/1470) +- verifier is no longer a template type of client [#1467](https://github.com/paritytech/parity/pull/1467) +- Allow configuration of when to reseal blocks. [#1460](https://github.com/paritytech/parity/pull/1460) +- removed unsafe code [#1466](https://github.com/paritytech/parity/pull/1466) +- WS bump + Adding default for value [#1465](https://github.com/paritytech/parity/pull/1465) +- Attempt DB repair if corrupted [#1461](https://github.com/paritytech/parity/pull/1461) +- Database configuration extended [#1454](https://github.com/paritytech/parity/pull/1454) +- Updating WS-RS server [#1459](https://github.com/paritytech/parity/pull/1459) +- Reduced IO messages; removed panics on IO notifications [#1457](https://github.com/paritytech/parity/pull/1457) +- Handle errors when starting parity --signer [#1451](https://github.com/paritytech/parity/pull/1451) +- Fixed losing queued blocks on error [#1453](https://github.com/paritytech/parity/pull/1453) +- Updated to latest hyper with patched mio [#1450](https://github.com/paritytech/parity/pull/1450) +- Retweak BASE and MULTIPLIER in rocksdb config. [#1445](https://github.com/paritytech/parity/pull/1445) +- Removing Miner::default. [#1410](https://github.com/paritytech/parity/pull/1410) +- Don't mine without --author [#1436](https://github.com/paritytech/parity/pull/1436) +- Revert the rescuedao extradata. [#1437](https://github.com/paritytech/parity/pull/1437) +- More conservative settings for rocksdb. [#1440](https://github.com/paritytech/parity/pull/1440) +- v1.3.0 in master [#1421](https://github.com/paritytech/parity/pull/1421) +- Update Ubuntu-arm Dockerfile [#1429](https://github.com/paritytech/parity/pull/1429) +- Create Dockerfile ubuntu-aarch64 [#1430](https://github.com/paritytech/parity/pull/1430) +- Update CentOS Dockerfile [#1424](https://github.com/paritytech/parity/pull/1424) +- Update Ubuntu Dockerfile [#1426](https://github.com/paritytech/parity/pull/1426) +- Update Ubuntu-jit Dockerfile [#1427](https://github.com/paritytech/parity/pull/1427) +- Update SF blocknumber to 1800000. [#1418](https://github.com/paritytech/parity/pull/1418) diff --git a/docs/CHANGELOG-1.4.md b/docs/CHANGELOG-1.4.md new file mode 100644 index 000000000..341a57493 --- /dev/null +++ b/docs/CHANGELOG-1.4.md @@ -0,0 +1,744 @@ +## Parity [v1.4.12](https://github.com/paritytech/parity/releases/tag/v1.4.12) (2017-02-22) + +This stable release fixes an issue with block uncle validation. Parity now allows uncle headers to have timestamp set to arbitrary future value. + +- Stable Backporting ([#4633](https://github.com/paritytech/parity/pull/4633)) [#4642](https://github.com/paritytech/parity/pull/4642) + - Tweak some checks. + - Fixed build and added a difficulty test + - Bump to v1.4.12 +- Add missing maxCodeSize [#4585](https://github.com/paritytech/parity/pull/4585) + +## Parity [v1.4.11](https://github.com/paritytech/parity/releases/tag/v1.4.11) (2017-02-17) + +This release corrects the Ropsten chain specification file. + +- Bump to v1.4.11 [#4587](https://github.com/paritytech/parity/pull/4587) +- Fixing etherscan price parsing ([#4202](https://github.com/paritytech/parity/pull/4202)) [#4209](https://github.com/paritytech/parity/pull/4209) + - Fixing etherscan price parsing + - Handling all errors +- Removed pdbs +- Add missing maxCodeSize [#4585](https://github.com/paritytech/parity/pull/4585) + +## Parity [v1.4.10](https://github.com/paritytech/parity/releases/tag/v1.4.10) (2017-01-18) + +Parity 1.4.10 is a first stable release of 1.4.x series. It includes a few minor networking fixes. + +- Gas_limit for blocks, mined by Parity will be divisible by 37 (#4154) [#4179](https://github.com/paritytech/parity/pull/4179) + - gas_limit for new blocks will divide evenly by 13 + - increased PARITY_GAS_LIMIT_DETERMINANT to 37 + - separate method for marking mined block + - debug_asserts(gas_limit within protocol range) + - round_block_gas_limit method is now static + - made round_block_gas_limit free-function + - multiplier->multiple +- Backporing to 1.4.10-stable [#4110](https://github.com/paritytech/parity/pull/4110) + - Bump to v1.4.10 + - No reorg limit for ancient blocks + - Update registration after every write + +## Parity [v1.4.9](https://github.com/paritytech/parity/releases/tag/v1.4.9) (2017-01-09) + +This fixes an issue introduced in 1.4.8 that causes Parity to panic on propagating transactions in some cases. + +- v1.4.9 in beta [#4097](https://github.com/paritytech/parity/pull/4097) + - Bump to v1.4.9 + - Disable armv6 build +- beta Fix queue deadlock [#4095](https://github.com/paritytech/parity/pull/4095) +- Fix rebroadcast panic beta [#4085](https://github.com/paritytech/parity/pull/4085) + - fix compile + - fix backport + - clean up old method + - remove unnecessary reference + - simplify + - Fixing 'simplify' + +## Parity [v1.4.8](https://github.com/paritytech/parity/releases/tag/v1.4.8) (2017-01-06) + +Ethereum Classic Hard Fork ready release containing various bugfixes: + +- Fix for excessive transactions propagation +- Fix for inconsistent `logIndex` in transaction receipts + +See [full list of changes](https://github.com/paritytech/parity/compare/v1.4.7...v1.4.8): + +- Beta backports [#4067](https://github.com/paritytech/parity/pull/4067) +- Re-broadcast transactions to few random peers on each new block. (#4054) [#4061](https://github.com/paritytech/parity/pull/4061) +- Tolerate errors in user_defaults [#4060](https://github.com/paritytech/parity/pull/4060) +- ETC Config change backport [#4056](https://github.com/paritytech/parity/pull/4056) +- [beta] Avoid re-broadcasting transactions on each block [#4047](https://github.com/paritytech/parity/pull/4047) +- Beta Backports [#4012](https://github.com/paritytech/parity/pull/4012) + +## Parity [v1.4.7](https://github.com/paritytech/parity/releases/tag/v1.4.7) (2016-12-27) + +This maintenance release fixes an issue with sync falling behind occasionally. + +- Backporting to beta [#3980](https://github.com/paritytech/parity/pull/3980) +- [beta] enforce gas limit falls within engine bounds [#3816](https://github.com/paritytech/parity/pull/3816) + + +## Parity [v1.4.6](https://github.com/paritytech/parity/releases/tag/v1.4.6) (2016-12-05) + +This patch release fixes an issue with syncing on the Ropsten test network. + +- Backporting to beta [#3718](https://github.com/paritytech/parity/pull/3718) +- [beta] scrollable contract deploy & execute modals [#3656](https://github.com/paritytech/parity/pull/3656) + +## Parity [v1.4.5](https://github.com/paritytech/parity/releases/tag/v1.4.5) (2016-11-26) + +1.4.5 release fixes a number of issues, notably: +- High CPU usage when idle. +- Key recovery phrases generated on windows now can be imported. + +#### Configuration changes +- `--usd-per-tx` is now set to 0.0025 by default. + +#### New features +- Support for Ropsten test network is introduced with `--chain=ropsten` or `--testnet`. Morden network is still available via `--chain=morden` + +#### Full changes +- [beta] Pin package versions for React [#3628](https://github.com/paritytech/parity/pull/3628) +- Backporting to beta [#3623](https://github.com/paritytech/parity/pull/3623) +- [beta] Ropsten chain for UI [#3622](https://github.com/paritytech/parity/pull/3622) + +## Parity [v1.4.4](https://github.com/paritytech/parity/releases/tag/v1.4.4) (2016-11-18) + +This is a maintenance release that fixes an issue with EIP-155 transactions being added to the transaction pool. It also improves syncing stability and resolved a number of UI issues. +Full changelog is available [here.](https://github.com/paritytech/parity/commit/3e0d033eaf789cfdf517f4a97effc500f1f9263b) + +- [beta] apps typo fix [#3533](https://github.com/paritytech/parity/pull/3533) +- Backporting to beta [#3525](https://github.com/paritytech/parity/pull/3525) + +## Parity [v1.4.3](https://github.com/paritytech/parity/releases/tag/v1.4.3) (2016-11-16) + +This release includes memory footprint optimization as well as a few fixes in the UI. +EIP-155/160/161/170 hardfork is enabled at block 2675000 (1885000 for test network). +Full changelog is available [here.](https://github.com/paritytech/parity/compare/v1.4.2...v1.4.3) + +- [beta] EIP-170 [#3464](https://github.com/paritytech/parity/pull/3464) +- Backports to beta [#3465](https://github.com/paritytech/parity/pull/3465) +- Backport: additional fields on transaction and receipt [#3463](https://github.com/paritytech/parity/pull/3463) +- v1.4.3 in beta [#3424](https://github.com/paritytech/parity/pull/3424) + +## Parity [v1.4.2](https://github.com/paritytech/parity/releases/tag/v1.4.2) (2016-11-10) + +This release fixes a few additional issues: +- Parity now correctly handles external `--dapps-interface` and `--ui-interface` in the UI. +- Crash in `eth_getUncle*` has been fixed. +- macOS installer now includes an uninstall script. +- Security token input UI has been fixed. +- Correct display for tokens with minimum decimals. + +And some additional minor changes. Full changelog is [available](https://github.com/paritytech/parity/compare/v1.4.1...v1.4.2) +- Backporting to beta [#3344](https://github.com/paritytech/parity/pull/3344) +- Backporting to beta [#3324](https://github.com/paritytech/parity/pull/3324) + +## Parity [v1.4.1](https://github.com/paritytech/parity/releases/tag/v1.4.1) (2016-11-09) + +This is a hotfix release to address a couple of issues with 1.4.0: + +- UI token is requested instead of being supplied automatically. +- Running with `--geth` results in an error. + +- Backporting to beta [#3293](https://github.com/paritytech/parity/pull/3293) + +## Parity [v1.4.0](https://github.com/paritytech/parity/releases/tag/v1.4.0) (2016-11-07) + +First beta release of the 1.4 series. + +This includes the new Parity Wallet and Warp-Sync synchronisation as well as several optimisations and fixes. + +- Add secure flag back [#3246](https://github.com/paritytech/parity/pull/3246) +- [BETA] verify chunk hashes in cli restore [#3242](https://github.com/paritytech/parity/pull/3242) +- Backporting to beta [#3239](https://github.com/paritytech/parity/pull/3239) +- UI fixes backporting [#3234](https://github.com/paritytech/parity/pull/3234) +- Backporting to beta [#3229](https://github.com/paritytech/parity/pull/3229) +- Beta branch cleanup [#3226](https://github.com/paritytech/parity/pull/3226) +- [beta] Set passive mode for first run only (#3214) [#3216](https://github.com/paritytech/parity/pull/3216) +- Mode configuration backported to beta [#3213](https://github.com/paritytech/parity/pull/3213) +- Backporting [#3198](https://github.com/paritytech/parity/pull/3198) +- [beta] EIP-155 update with Vitalik's new test vectors (#3166) [#3189](https://github.com/paritytech/parity/pull/3189) +- Backporting to beta [#3176](https://github.com/paritytech/parity/pull/3176) +- parity-ui-precompiled pinned to beta [#3168](https://github.com/paritytech/parity/pull/3168) +- EIP-155 update with Vitalik's new test vectors [#3166](https://github.com/paritytech/parity/pull/3166) +- Push precompiled for beta/stable, npm only master [#3163](https://github.com/paritytech/parity/pull/3163) +- Back to real root after npm publish [#3178](https://github.com/paritytech/parity/pull/3178) +- Remove extra cd js [#3177](https://github.com/paritytech/parity/pull/3177) +- Fixes Gas price selection bug [#3175](https://github.com/paritytech/parity/pull/3175) +- Exposing state root and logsBloom in RPC receipts [#3174](https://github.com/paritytech/parity/pull/3174) +- Exposing v,r,s from transaction signature in RPC [#3172](https://github.com/paritytech/parity/pull/3172) +- Enabling personal RPC over IPC by default [#3165](https://github.com/paritytech/parity/pull/3165) +- Gitlab CI badge [#3164](https://github.com/paritytech/parity/pull/3164) +- Dependencies in README [#3162](https://github.com/paritytech/parity/pull/3162) +- Make the footer a bit less ugly. [#3160](https://github.com/paritytech/parity/pull/3160) +- Linux build case sensitivity fix [#3161](https://github.com/paritytech/parity/pull/3161) +- abbreviated enode, `CopyToClipboard` component [#3131](https://github.com/paritytech/parity/pull/3131) +- EIPs 155, 160, 161 [#2976](https://github.com/paritytech/parity/pull/2976) +- beta reset to 1.4.0 [#3157](https://github.com/paritytech/parity/pull/3157) +- Fix histogram [#3150](https://github.com/paritytech/parity/pull/3150) +- Remove network label from TabBar [#3142](https://github.com/paritytech/parity/pull/3142) +- Speed up unresponsive Contract events & Account transactions [#3145](https://github.com/paritytech/parity/pull/3145) +- Better windows shortcut [#3147](https://github.com/paritytech/parity/pull/3147) +- Redirect content to the same address as requested [#3133](https://github.com/paritytech/parity/pull/3133) +- Fixed peer ping timeout [#3137](https://github.com/paritytech/parity/pull/3137) +- Fix for windows build [#3125](https://github.com/paritytech/parity/pull/3125) +- Fix AddessInput icon position [#3132](https://github.com/paritytech/parity/pull/3132) +- Fixed not scrollable accounts in tokenreg dapp [#3128](https://github.com/paritytech/parity/pull/3128) +- Returning cache headers for network content [#3123](https://github.com/paritytech/parity/pull/3123) +- Optimise contract events display [#3120](https://github.com/paritytech/parity/pull/3120) +- Add basic validation for contract execute values [#3118](https://github.com/paritytech/parity/pull/3118) +- Dapps errors embeddable on signer [#3115](https://github.com/paritytech/parity/pull/3115) +- Use enode RPC in UI [#3108](https://github.com/paritytech/parity/pull/3108) +- Windows tray app [#3103](https://github.com/paritytech/parity/pull/3103) +- Displaying CLI errors on stderr [#3116](https://github.com/paritytech/parity/pull/3116) +- new InputAddressSelect component [#3071](https://github.com/paritytech/parity/pull/3071) +- Bump mio [#3117](https://github.com/paritytech/parity/pull/3117) +- Minor typo fixed. [#3110](https://github.com/paritytech/parity/pull/3110) +- Sort by ETH balance and contract by date [#3107](https://github.com/paritytech/parity/pull/3107) +- Add RPC enode lookup [#3096](https://github.com/paritytech/parity/pull/3096) +- Initializing logger for each command [#3090](https://github.com/paritytech/parity/pull/3090) +- Allow registration of content bundles in GitHubHint [#3094](https://github.com/paritytech/parity/pull/3094) +- Add read-only inputs to UI plus Copy to Clipboard buttons [#3095](https://github.com/paritytech/parity/pull/3095) +- Allow boolean dropdowns for contract deploy [#3077](https://github.com/paritytech/parity/pull/3077) +- Add mac installer files [#2995](https://github.com/paritytech/parity/pull/2995) +- Fixing dapps sorting [#3086](https://github.com/paritytech/parity/pull/3086) +- Add a Gitter chat badge to README.md [#3092](https://github.com/paritytech/parity/pull/3092) +- Fixes webpack HTML loader [#3089](https://github.com/paritytech/parity/pull/3089) +- Redirecting /home to new UI [#3084](https://github.com/paritytech/parity/pull/3084) +- Allow GitHubHint content owner to update url [#3083](https://github.com/paritytech/parity/pull/3083) +- Remove token assets (moved to ethcore/dapps-assets) [#3082](https://github.com/paritytech/parity/pull/3082) +- Goodbye Gavcoin, Hello Gavcoin [#3080](https://github.com/paritytech/parity/pull/3080) +- Load network dapps [#3078](https://github.com/paritytech/parity/pull/3078) +- Swap account phrase input to normal (non-multiline) [#3060](https://github.com/paritytech/parity/pull/3060) +- Fix minor typo in informant [#3056](https://github.com/paritytech/parity/pull/3056) +- Warp sync status display [#3045](https://github.com/paritytech/parity/pull/3045) +- Enhance address input [#3065](https://github.com/paritytech/parity/pull/3065) +- Go to Accounts Page if Tooltips are displayed [#3063](https://github.com/paritytech/parity/pull/3063) +- Change contract Execute bool values & query bool value display [#3024](https://github.com/paritytech/parity/pull/3024) +- Update Parity logo [#3036](https://github.com/paritytech/parity/pull/3036) +- settings: replace background patterns (inline) [#3047](https://github.com/paritytech/parity/pull/3047) +- Multiple line description for dapps [#3058](https://github.com/paritytech/parity/pull/3058) +- Fix status log order [#3062](https://github.com/paritytech/parity/pull/3062) +- Graphical gas price selection [#2898](https://github.com/paritytech/parity/pull/2898) +- [Registry dApp] Actions not available before selecting accounts [#3032](https://github.com/paritytech/parity/pull/3032) +- apply post-consolidation migrations after consolidating [#3020](https://github.com/paritytech/parity/pull/3020) +- fix chain badge padding [#3046](https://github.com/paritytech/parity/pull/3046) +- Don't delete Tags input on blur (eg. tab) [#3044](https://github.com/paritytech/parity/pull/3044) +- Fixing last hashes for ethcall [#3043](https://github.com/paritytech/parity/pull/3043) +- Remove signer icons [#3039](https://github.com/paritytech/parity/pull/3039) +- execute periodic snapshot in new thread [#3029](https://github.com/paritytech/parity/pull/3029) +- fix background of embedded signer [#3026](https://github.com/paritytech/parity/pull/3026) +- registry dapp: fix reducer [#3028](https://github.com/paritytech/parity/pull/3028) +- Replace Execute by Query in contract button [#3031](https://github.com/paritytech/parity/pull/3031) +- Fixing GavCoin dApp overflow issues [#3030](https://github.com/paritytech/parity/pull/3030) +- execute contract function: validate address [#3013](https://github.com/paritytech/parity/pull/3013) +- Align tag inputs with other input boxes [#2965](https://github.com/paritytech/parity/pull/2965) +- Sweep panickers from IO and network [#3018](https://github.com/paritytech/parity/pull/3018) +- Terms & Conditions [#3019](https://github.com/paritytech/parity/pull/3019) +- open column families after reparing db corruption [#3017](https://github.com/paritytech/parity/pull/3017) +- Snapshot sync and block gap info in `eth_syncing` [#2948](https://github.com/paritytech/parity/pull/2948) +- personal_ RPCs to AutoArgs [#3000](https://github.com/paritytech/parity/pull/3000) +- RPCs for mode change [#3002](https://github.com/paritytech/parity/pull/3002) +- Fix a test sensitive to slow execution. [#3014](https://github.com/paritytech/parity/pull/3014) +- Fixes search filtering issues [#3011](https://github.com/paritytech/parity/pull/3011) +- Restart sync if no more peers with snapshots [#3007](https://github.com/paritytech/parity/pull/3007) +- Allow empty/non-existant input arrays for ABIs in contract view [#3001](https://github.com/paritytech/parity/pull/3001) +- Allow operation when no registry is available [#2980](https://github.com/paritytech/parity/pull/2980) +- Make JS lint & test run on Travis [#2894](https://github.com/paritytech/parity/pull/2894) +- Update account dropdowns [#2959](https://github.com/paritytech/parity/pull/2959) +- Modify gas price statistics [#2947](https://github.com/paritytech/parity/pull/2947) +- Fixes pending/mined transactions in registry dApp [#3004](https://github.com/paritytech/parity/pull/3004) +- Prevent connecting to self [#2997](https://github.com/paritytech/parity/pull/2997) +- Disable verbose in gitlab CI [#2999](https://github.com/paritytech/parity/pull/2999) +- Allow warnings in gitlab [#2998](https://github.com/paritytech/parity/pull/2998) +- Fix the brainwallet functionality. [#2994](https://github.com/paritytech/parity/pull/2994) +- Provided gas description update [#2993](https://github.com/paritytech/parity/pull/2993) +- Print messages to stderr [#2991](https://github.com/paritytech/parity/pull/2991) +- Networking and syncing tweaks [#2990](https://github.com/paritytech/parity/pull/2990) +- Allow build warnings [#2985](https://github.com/paritytech/parity/pull/2985) +- Display network status for finished Signer requests [#2983](https://github.com/paritytech/parity/pull/2983) +- Fixed rejecting transactions [#2984](https://github.com/paritytech/parity/pull/2984) +- mio version bump [#2982](https://github.com/paritytech/parity/pull/2982) +- Publish parity.js to npmjs registry [#2978](https://github.com/paritytech/parity/pull/2978) +- Import raw private key [#2945](https://github.com/paritytech/parity/pull/2945) +- refactor etherscan.io links [#2896](https://github.com/paritytech/parity/pull/2896) +- Use separate lock for code cache [#2977](https://github.com/paritytech/parity/pull/2977) +- Add favicon [#2974](https://github.com/paritytech/parity/pull/2974) +- Align password change dialog with create dialog ordering [#2970](https://github.com/paritytech/parity/pull/2970) +- WS bump [#2973](https://github.com/paritytech/parity/pull/2973) +- Discovery performance optimization [#2972](https://github.com/paritytech/parity/pull/2972) +- Pass gas & gasPrice to token transfers [#2964](https://github.com/paritytech/parity/pull/2964) +- Updating ws-rs [#2962](https://github.com/paritytech/parity/pull/2962) +- Run cargo with verbose flag when testing [#2943](https://github.com/paritytech/parity/pull/2943) +- Fixing clippy warnings take two [#2961](https://github.com/paritytech/parity/pull/2961) +- Snapshot sync improvements [#2960](https://github.com/paritytech/parity/pull/2960) +- Gavcoin event display updates [#2956](https://github.com/paritytech/parity/pull/2956) +- Eslint fixes [#2957](https://github.com/paritytech/parity/pull/2957) +- Add import of raw private key RPCs [#2942](https://github.com/paritytech/parity/pull/2942) +- Bring in styling queues from original Gavcoin [#2936](https://github.com/paritytech/parity/pull/2936) +- Validating minimal required gas for a transaction [#2937](https://github.com/paritytech/parity/pull/2937) +- Even more snapshot validity checks [#2935](https://github.com/paritytech/parity/pull/2935) +- Shared code cache [#2921](https://github.com/paritytech/parity/pull/2921) +- Updating bootnodes for ETC [#2938](https://github.com/paritytech/parity/pull/2938) +- More bootnodes [#2926](https://github.com/paritytech/parity/pull/2926) +- Revert hash updates until testable [#2925](https://github.com/paritytech/parity/pull/2925) +- Release.sh verbose output [#2924](https://github.com/paritytech/parity/pull/2924) +- additional release.sh debugging info [#2922](https://github.com/paritytech/parity/pull/2922) +- Pass the js-precompiled commit hash to cargo update [#2920](https://github.com/paritytech/parity/pull/2920) +- Next nonce RPC [#2917](https://github.com/paritytech/parity/pull/2917) +- Get rid of duplicated code in EVM [#2915](https://github.com/paritytech/parity/pull/2915) +- Transaction Queue banning [#2524](https://github.com/paritytech/parity/pull/2524) +- Revert to gas price ordering [#2919](https://github.com/paritytech/parity/pull/2919) +- Personal split [#2879](https://github.com/paritytech/parity/pull/2879) +- Fixing config values for pruning_history [#2918](https://github.com/paritytech/parity/pull/2918) +- Apply pending block details on commit [#2254](https://github.com/paritytech/parity/pull/2254) +- Fixed GetNodeData output [#2892](https://github.com/paritytech/parity/pull/2892) +- New sync protocol ID [#2912](https://github.com/paritytech/parity/pull/2912) +- Clippy bump [#2877](https://github.com/paritytech/parity/pull/2877) +- iconomi token images [#2906](https://github.com/paritytech/parity/pull/2906) +- Fixes too long description and Token balance value in Dapps/Accounts [#2902](https://github.com/paritytech/parity/pull/2902) +- Add missing images for local dapps [#2890](https://github.com/paritytech/parity/pull/2890) +- Fix Webpack, again [#2895](https://github.com/paritytech/parity/pull/2895) +- Enable suicide json test [#2893](https://github.com/paritytech/parity/pull/2893) +- More snapshot fixes and optimizations [#2883](https://github.com/paritytech/parity/pull/2883) +- Fixes CI JS precompiled build [#2886](https://github.com/paritytech/parity/pull/2886) +- Fix empty tags modification [#2884](https://github.com/paritytech/parity/pull/2884) +- Fix up informant. [#2865](https://github.com/paritytech/parity/pull/2865) +- Get rid of MemoryDB denote [#2881](https://github.com/paritytech/parity/pull/2881) +- Add inject to "bundle everything" list [#2871](https://github.com/paritytech/parity/pull/2871) +- Fixes signer and MUI errors throwing [#2876](https://github.com/paritytech/parity/pull/2876) +- Fix failing tests after log parsing updates [#2878](https://github.com/paritytech/parity/pull/2878) +- Sweep some more panics [#2848](https://github.com/paritytech/parity/pull/2848) +- Make GitLab js-precompiled really update Cargo.toml in main repo [#2869](https://github.com/paritytech/parity/pull/2869) +- IPC version bump [#2870](https://github.com/paritytech/parity/pull/2870) +- Snapshot sync fixes and optimizations [#2863](https://github.com/paritytech/parity/pull/2863) +- Add Check and Change Password for an Account [#2861](https://github.com/paritytech/parity/pull/2861) +- Output git fetch/push to log files [#2862](https://github.com/paritytech/parity/pull/2862) +- Align contract event log l&f with transactions [#2812](https://github.com/paritytech/parity/pull/2812) +- Nicer port in use errors [#2859](https://github.com/paritytech/parity/pull/2859) +- Remove personal_* calls from dapps [#2860](https://github.com/paritytech/parity/pull/2860) +- Token sorting, zero-ETH transfer & token decimals [#2805](https://github.com/paritytech/parity/pull/2805) +- Don't fail badly when no transactions in last 100 blocks. [#2856](https://github.com/paritytech/parity/pull/2856) +- Fixing home.parity address for new signer [#2851](https://github.com/paritytech/parity/pull/2851) +- Enabling UI build back [#2853](https://github.com/paritytech/parity/pull/2853) +- Remove eventName in unsubscribe API arguments [#2844](https://github.com/paritytech/parity/pull/2844) +- Don't return empty names as clickable titles [#2809](https://github.com/paritytech/parity/pull/2809) +- Auto-bump js-precompiled on release [#2828](https://github.com/paritytech/parity/pull/2828) +- Remove ethcore::common re-export module [#2792](https://github.com/paritytech/parity/pull/2792) +- Prevent database corruption on OOM [#2832](https://github.com/paritytech/parity/pull/2832) +- Download/Export Addressbook [#2847](https://github.com/paritytech/parity/pull/2847) +- Snapshot and blockchain stability improvements [#2843](https://github.com/paritytech/parity/pull/2843) +- Extended network options [#2845](https://github.com/paritytech/parity/pull/2845) +- fix failing master test build [#2846](https://github.com/paritytech/parity/pull/2846) +- Local dapps embeddable on signer port [#2815](https://github.com/paritytech/parity/pull/2815) +- Trigger accounts/contracts search on search input change [#2838](https://github.com/paritytech/parity/pull/2838) +- Move snapshot sync to a subprotocol [#2820](https://github.com/paritytech/parity/pull/2820) +- fix node log being reversed [#2839](https://github.com/paritytech/parity/pull/2839) +- Fixes currency symbol font size in Shapeshift modal [#2840](https://github.com/paritytech/parity/pull/2840) +- Disable personal APIs by default for security reasons [#2834](https://github.com/paritytech/parity/pull/2834) +- Clear cached content [#2833](https://github.com/paritytech/parity/pull/2833) +- Add ethcore_[dapps|signer]Port APIs [#2821](https://github.com/paritytech/parity/pull/2821) +- CLI option to skip seal check when importing [#2842](https://github.com/paritytech/parity/pull/2842) +- Fix case error in Dapps import [#2837](https://github.com/paritytech/parity/pull/2837) +- Double click on address in account detail view should select it [#2841](https://github.com/paritytech/parity/pull/2841) +- Bump js-precompiled to 20161022-223915 UTC [#2826](https://github.com/paritytech/parity/pull/2826) +- Adjust paths to handle CORS changes [#2816](https://github.com/paritytech/parity/pull/2816) +- RPC for dapps port and signer port [#2819](https://github.com/paritytech/parity/pull/2819) +- Update build to working version on pre-compiled repo [#2825](https://github.com/paritytech/parity/pull/2825) +- Adjust network name badge colours (darker) [#2823](https://github.com/paritytech/parity/pull/2823) +- Removing submodule in favour of rust crate [#2756](https://github.com/paritytech/parity/pull/2756) +- Return old-ish content even when syncing [#2757](https://github.com/paritytech/parity/pull/2757) +- fix Signer UI [#2750](https://github.com/paritytech/parity/pull/2750) +- USG, GBP, Euro & Yuan updates [#2818](https://github.com/paritytech/parity/pull/2818) +- Make locally installed apps available again (Fixes #2771) [#2808](https://github.com/paritytech/parity/pull/2808) +- Additional RPCs for password management [#2779](https://github.com/paritytech/parity/pull/2779) +- flush DB changes on drop [#2795](https://github.com/paritytech/parity/pull/2795) +- rename State::snapshot to checkpoint to avoid confusion [#2796](https://github.com/paritytech/parity/pull/2796) +- Missing changes required to make new UI work [#2793](https://github.com/paritytech/parity/pull/2793) +- Cleanup method decoding (Fixes #2811) [#2810](https://github.com/paritytech/parity/pull/2810) +- Use trace API for decentralized transaction list [#2784](https://github.com/paritytech/parity/pull/2784) +- Automatic compaction selection on Linux [#2785](https://github.com/paritytech/parity/pull/2785) +- Update token images [#2804](https://github.com/paritytech/parity/pull/2804) +- Hackergold token images [#2801](https://github.com/paritytech/parity/pull/2801) +- Additional token images [#2800](https://github.com/paritytech/parity/pull/2800) +- Additional token images [#2798](https://github.com/paritytech/parity/pull/2798) +- Resolve morden fork [#2773](https://github.com/paritytech/parity/pull/2773) +- Using SipHashes from crates.io [#2778](https://github.com/paritytech/parity/pull/2778) +- Fixed issues on Searchable Addresses [#2790](https://github.com/paritytech/parity/pull/2790) +- Currency icons [#2788](https://github.com/paritytech/parity/pull/2788) +- Update token images [#2783](https://github.com/paritytech/parity/pull/2783) +- Fix warning in master [#2775](https://github.com/paritytech/parity/pull/2775) +- Add empty account existence test from beta. [#2769](https://github.com/paritytech/parity/pull/2769) +- Update name of basiccoin manager [#2768](https://github.com/paritytech/parity/pull/2768) +- sweep most unwraps from ethcore crate, dapps crate [#2762](https://github.com/paritytech/parity/pull/2762) +- Check queue to determine major importing [#2763](https://github.com/paritytech/parity/pull/2763) +- Trace filtering fix [#2760](https://github.com/paritytech/parity/pull/2760) +- Update js precompiled to 20161020-141636 [#2761](https://github.com/paritytech/parity/pull/2761) +- Incrementally calculate verification queue heap size [#2749](https://github.com/paritytech/parity/pull/2749) +- Don't add empty accounts to bloom [#2753](https://github.com/paritytech/parity/pull/2753) +- fix contract deployments not showing up [#2759](https://github.com/paritytech/parity/pull/2759) +- Fixes a positioning issue in Address Selection component [#2754](https://github.com/paritytech/parity/pull/2754) +- fix linting issues [#2758](https://github.com/paritytech/parity/pull/2758) +- Making Trie.iter non-recursive [#2733](https://github.com/paritytech/parity/pull/2733) +- Block import optimization [#2748](https://github.com/paritytech/parity/pull/2748) +- Update js-precompiled to 20161020-110858 [#2752](https://github.com/paritytech/parity/pull/2752) +- Fixing small files fetching [#2742](https://github.com/paritytech/parity/pull/2742) +- Fixing stalled sync [#2747](https://github.com/paritytech/parity/pull/2747) +- refactor signer components [#2691](https://github.com/paritytech/parity/pull/2691) +- Png images with backgrounds (original svg) [#2740](https://github.com/paritytech/parity/pull/2740) +- Make address selection searchable [#2739](https://github.com/paritytech/parity/pull/2739) +- very basic dapp add/remove interface [#2721](https://github.com/paritytech/parity/pull/2721) +- Frontport commits from beta to master [#2743](https://github.com/paritytech/parity/pull/2743) +- Implements Trace API Formatter [#2732](https://github.com/paritytech/parity/pull/2732) +- bump parking_lot to 0.3.x series [#2702](https://github.com/paritytech/parity/pull/2702) +- Unify major syncing detection [#2699](https://github.com/paritytech/parity/pull/2699) +- Fixes gas/gasPrice change not reflected in transaction modal [#2735](https://github.com/paritytech/parity/pull/2735) +- Fixing build UI stuff along with Rust [#2726](https://github.com/paritytech/parity/pull/2726) +- Fixed Snackbar not showing and/or behind transactions (#2730) [#2731](https://github.com/paritytech/parity/pull/2731) +- Updating json tests to latest develop commit [#2728](https://github.com/paritytech/parity/pull/2728) +- dapps: show errors [#2727](https://github.com/paritytech/parity/pull/2727) +- node logs: break lines [#2722](https://github.com/paritytech/parity/pull/2722) +- Bumping JSON-RPC http server [#2714](https://github.com/paritytech/parity/pull/2714) +- Add ability to copy address to the clipboard [#2716](https://github.com/paritytech/parity/pull/2716) +- Sort tags when displaying ; use AND for search results [#2720](https://github.com/paritytech/parity/pull/2720) +- allow-same-origin for iframe [#2711](https://github.com/paritytech/parity/pull/2711) +- Update Registry address (mainnet) [#2713](https://github.com/paritytech/parity/pull/2713) +- Allow tags for Accounts, Addresses and Contracts [#2712](https://github.com/paritytech/parity/pull/2712) +- Correct parameters for eth_sign [#2703](https://github.com/paritytech/parity/pull/2703) +- Bump js-precompiled to 20161018-161705 [#2698](https://github.com/paritytech/parity/pull/2698) +- Add inject.js (for web3 exposed) [#2692](https://github.com/paritytech/parity/pull/2692) +- Remove obsolete dapps and update security headers [#2694](https://github.com/paritytech/parity/pull/2694) +- Snapshot sync part 2 [#2098](https://github.com/paritytech/parity/pull/2098) +- Fix issues with no ethereum test dir present (2382) [#2659](https://github.com/paritytech/parity/pull/2659) +- Apply UI PRs after master merge [#2690](https://github.com/paritytech/parity/pull/2690) +- Fix importing traces for non-canon blocks [#2683](https://github.com/paritytech/parity/pull/2683) +- Fixing random test failures [#2577](https://github.com/paritytech/parity/pull/2577) +- Disable IPC in default build for 1.4 [#2657](https://github.com/paritytech/parity/pull/2657) +- use pruning history in CLI snapshots [#2658](https://github.com/paritytech/parity/pull/2658) +- Fixing --no-default-features again and evmbin [#2670](https://github.com/paritytech/parity/pull/2670) +- Settings > Proxy for proxy.pac setup instructions [#2678](https://github.com/paritytech/parity/pull/2678) +- Re-instate transaitions to allow updating busy indicator [#2682](https://github.com/paritytech/parity/pull/2682) +- signer: remove reject counter [#2685](https://github.com/paritytech/parity/pull/2685) +- Initial new UI source code import [#2607](https://github.com/paritytech/parity/pull/2607) +- Additional dapp logo images [#2677](https://github.com/paritytech/parity/pull/2677) +- Redirect from :8080 to :8180 [#2676](https://github.com/paritytech/parity/pull/2676) +- script to update js-precompiled [#2673](https://github.com/paritytech/parity/pull/2673) +- Styling in FF is not 100% [#2669](https://github.com/paritytech/parity/pull/2669) +- Don't allow gavcoin transfer with no balances [#2667](https://github.com/paritytech/parity/pull/2667) +- fix signer rejections [#2666](https://github.com/paritytech/parity/pull/2666) +- better text on unique background pattern [#2664](https://github.com/paritytech/parity/pull/2664) +- Adjust z-index for error overlay [#2662](https://github.com/paritytech/parity/pull/2662) +- Fix address selection for contract deployment [#2660](https://github.com/paritytech/parity/pull/2660) +- Add additional contract images [#2655](https://github.com/paritytech/parity/pull/2655) +- Update /api/* to point to :8080/api/* (first generation interface) [#2612](https://github.com/paritytech/parity/pull/2612) +- Initial import of new UI (compiled JS code) [#2220](https://github.com/paritytech/parity/pull/2220) +- Fixing evmbin compilation [#2652](https://github.com/paritytech/parity/pull/2652) +- Fix up ETC EIP-150 transition to 2,500,000. [#2636](https://github.com/paritytech/parity/pull/2636) +- Fixing compilation without default features [#2638](https://github.com/paritytech/parity/pull/2638) +- [frontport] CLI to specify queue ordering strategy (#2494) [#2623](https://github.com/paritytech/parity/pull/2623) +- Support for decryption in Signer [#2421](https://github.com/paritytech/parity/pull/2421) +- EIP150.1c [#2591](https://github.com/paritytech/parity/pull/2591) +- Release merge with origin with ours strategy [#2631](https://github.com/paritytech/parity/pull/2631) +- Adjust build output directories [#2630](https://github.com/paritytech/parity/pull/2630) +- cater for txhash returning null/empty object [#2629](https://github.com/paritytech/parity/pull/2629) +- snapshot: single byte for empty accounts [#2625](https://github.com/paritytech/parity/pull/2625) +- Configurable history size in master [#2606](https://github.com/paritytech/parity/pull/2606) +- Database performance tweaks [#2619](https://github.com/paritytech/parity/pull/2619) +- Enable suicide json test [#2626](https://github.com/paritytech/parity/pull/2626) +- Split journaldb commit into two functions: journal_under and mark_canonical [#2329](https://github.com/paritytech/parity/pull/2329) +- Fixed tx queue limit for local transactions [#2616](https://github.com/paritytech/parity/pull/2616) +- Additional logs when transactions is removed from queue [#2617](https://github.com/paritytech/parity/pull/2617) +- mitigate refcell conflict in state diffing [#2601](https://github.com/paritytech/parity/pull/2601) +- Fix tests [#2611](https://github.com/paritytech/parity/pull/2611) +- small styling updates [#2610](https://github.com/paritytech/parity/pull/2610) +- Remove web3 from Signer, bring in parity.js API [#2604](https://github.com/paritytech/parity/pull/2604) +- Mostly configurable canonical cache size [#2516](https://github.com/paritytech/parity/pull/2516) +- Added peers details to ethcore_netPeers RPC [#2580](https://github.com/paritytech/parity/pull/2580) +- Display account password hint when available [#2596](https://github.com/paritytech/parity/pull/2596) +- Fix gas estimation on transfer when data supplied [#2593](https://github.com/paritytech/parity/pull/2593) +- remove unused npm packages [#2590](https://github.com/paritytech/parity/pull/2590) +- Bundle fonts as part of the build process [#2588](https://github.com/paritytech/parity/pull/2588) +- Contract constructor params [#2586](https://github.com/paritytech/parity/pull/2586) +- Update json test suite [#2574](https://github.com/paritytech/parity/pull/2574) +- Filter apps that has been replaced for the local list [#2583](https://github.com/paritytech/parity/pull/2583) +- Display local apps listed by Parity [#2581](https://github.com/paritytech/parity/pull/2581) +- Network-specific nodes file [#2569](https://github.com/paritytech/parity/pull/2569) +- Dont close when block is known to be invalid [#2572](https://github.com/paritytech/parity/pull/2572) +- deny compiler warnings in CI [#2570](https://github.com/paritytech/parity/pull/2570) +- adjust alignment of queries [#2573](https://github.com/paritytech/parity/pull/2573) +- update ethcore-bigint crate to 0.1.1 [#2562](https://github.com/paritytech/parity/pull/2562) +- Registry dapp uses setAddress to actually set addresses now [#2568](https://github.com/paritytech/parity/pull/2568) +- Add the new EIP150 test. [#2563](https://github.com/paritytech/parity/pull/2563) +- fix failing tests [#2567](https://github.com/paritytech/parity/pull/2567) +- ΞTH -> ETH [#2566](https://github.com/paritytech/parity/pull/2566) +- Ensure polling is only done when connected [#2565](https://github.com/paritytech/parity/pull/2565) +- Fixed race condition in trace import [#2555](https://github.com/paritytech/parity/pull/2555) +- Disable misbehaving peers while seeking for best block [#2537](https://github.com/paritytech/parity/pull/2537) +- TX queue gas limit config and allow local transactions over the gas limit [#2553](https://github.com/paritytech/parity/pull/2553) +- standard component for address -> name mappings (consistent use everywhere) [#2557](https://github.com/paritytech/parity/pull/2557) +- Remove unwrap from client module [#2554](https://github.com/paritytech/parity/pull/2554) +- Removing panickers from sync module [#2551](https://github.com/paritytech/parity/pull/2551) +- Address images (tokens, dapps) as registered via contentHash (when available) [#2526](https://github.com/paritytech/parity/pull/2526) +- TokenReg set & get images working [#2540](https://github.com/paritytech/parity/pull/2540) +- adjust app_id where /api/content/ is called, fixes #2541 [#2543](https://github.com/paritytech/parity/pull/2543) +- connection dialog now shows up in dapps as well, closes #2538 [#2550](https://github.com/paritytech/parity/pull/2550) +- display account uuid (where available), closes #2546 [#2549](https://github.com/paritytech/parity/pull/2549) +- create accounts via recovery phrase [#2545](https://github.com/paritytech/parity/pull/2545) +- Build ethcore/js-precompiled on GitLab [#2522](https://github.com/paritytech/parity/pull/2522) +- Return errors from eth_call RPC [#2498](https://github.com/paritytech/parity/pull/2498) +- registry dapp: manage records [#2323](https://github.com/paritytech/parity/pull/2323) +- Print backtrace on panic [#2535](https://github.com/paritytech/parity/pull/2535) +- GitHubHint dapp [#2531](https://github.com/paritytech/parity/pull/2531) +- Backports to master [#2530](https://github.com/paritytech/parity/pull/2530) +- Handle reorganizations in the state cache [#2490](https://github.com/paritytech/parity/pull/2490) +- Hypervisor: terminate hanging modules [#2513](https://github.com/paritytech/parity/pull/2513) +- signer & node connection prompts/indicators [#2504](https://github.com/paritytech/parity/pull/2504) +- Using pending block only if is not old [#2514](https://github.com/paritytech/parity/pull/2514) +- More caching optimizations [#2505](https://github.com/paritytech/parity/pull/2505) +- Fixed possible panic in the networking [#2495](https://github.com/paritytech/parity/pull/2495) +- Trim password from file [#2503](https://github.com/paritytech/parity/pull/2503) +- Fixing RPC Filter conversion to EthFilter [#2500](https://github.com/paritytech/parity/pull/2500) +- Fixing error message for transactions [#2496](https://github.com/paritytech/parity/pull/2496) +- Adjustable stack size for EVM [#2483](https://github.com/paritytech/parity/pull/2483) +- [master] Fixing penalization in future [#2499](https://github.com/paritytech/parity/pull/2499) +- Preserve cache on reverting the snapshot [#2488](https://github.com/paritytech/parity/pull/2488) +- RocksDB version bump [#2492](https://github.com/paritytech/parity/pull/2492) +- Increase default size of transaction queue [#2489](https://github.com/paritytech/parity/pull/2489) +- basiccoin v1 available [#2491](https://github.com/paritytech/parity/pull/2491) +- Small EVM optimization [#2487](https://github.com/paritytech/parity/pull/2487) +- Track dirty accounts in the state [#2461](https://github.com/paritytech/parity/pull/2461) +- fix signature lookup address [#2480](https://github.com/paritytech/parity/pull/2480) +- update registrar test with generic non-empty test [#2476](https://github.com/paritytech/parity/pull/2476) +- Derive IPC interface only when ipc feature is on [#2463](https://github.com/paritytech/parity/pull/2463) +- Fix ethstore opening all key files in the directory at once [#2471](https://github.com/paritytech/parity/pull/2471) +- contract api event log fixes [#2469](https://github.com/paritytech/parity/pull/2469) +- basiccoin base functionality in-place [#2468](https://github.com/paritytech/parity/pull/2468) +- Merge IPC codegen attributes into one [#2460](https://github.com/paritytech/parity/pull/2460) +- Close after importing keys from geth [#2464](https://github.com/paritytech/parity/pull/2464) +- Port a couple more RPC APIs to the new auto args [#2325](https://github.com/paritytech/parity/pull/2325) +- update rustc for appveyor to 1.12.0 [#2423](https://github.com/paritytech/parity/pull/2423) +- dapp basiccoin send operations [#2456](https://github.com/paritytech/parity/pull/2456) +- Better EVM informant & Slow transactions warning [#2436](https://github.com/paritytech/parity/pull/2436) +- Fixing Signer token RPC API [#2437](https://github.com/paritytech/parity/pull/2437) +- Fixed FatDB check [#2443](https://github.com/paritytech/parity/pull/2443) +- dapp basiccoin structure [#2444](https://github.com/paritytech/parity/pull/2444) +- Accounts bloom in master [#2426](https://github.com/paritytech/parity/pull/2426) +- Polishing Actually enable fat db pr (#1974) [#2048](https://github.com/paritytech/parity/pull/2048) +- Jumptable cache [#2427](https://github.com/paritytech/parity/pull/2427) +- signaturereg registered, remove hardcoding [#2431](https://github.com/paritytech/parity/pull/2431) +- tokenreg dapp fixes for non-null returns [#2430](https://github.com/paritytech/parity/pull/2430) +- update ABI json to latest deployed versions [#2428](https://github.com/paritytech/parity/pull/2428) +- update Morden registry address [#2417](https://github.com/paritytech/parity/pull/2417) +- Make migration api more friendly [#2420](https://github.com/paritytech/parity/pull/2420) +- Journaling bloom filter crate in util [#2395](https://github.com/paritytech/parity/pull/2395) +- move abis from js/json to contracts/abi [#2418](https://github.com/paritytech/parity/pull/2418) +- Fixing logs-receipt matching [#2403](https://github.com/paritytech/parity/pull/2403) +- fix broken beta compilation [#2405](https://github.com/paritytech/parity/pull/2405) +- registry dapp: transfer names [#2335](https://github.com/paritytech/parity/pull/2335) +- manage firstRun better [#2398](https://github.com/paritytech/parity/pull/2398) +- render contract deployment address [#2397](https://github.com/paritytech/parity/pull/2397) +- Transaction Queue fix [#2392](https://github.com/paritytech/parity/pull/2392) +- contracts abi types & execute value [#2394](https://github.com/paritytech/parity/pull/2394) +- update styling with ParityBar overlay [#2390](https://github.com/paritytech/parity/pull/2390) +- application Signer popup window [#2388](https://github.com/paritytech/parity/pull/2388) +- Fixing Delegate Call in JIT [#2378](https://github.com/paritytech/parity/pull/2378) +- Prioritizing re-imported transactions [#2372](https://github.com/paritytech/parity/pull/2372) +- Revert #2172, pretty much. [#2387](https://github.com/paritytech/parity/pull/2387) +- correct sync memory usage calculation [#2385](https://github.com/paritytech/parity/pull/2385) +- fix migration system for post-consolidation migrations, better errors [#2334](https://github.com/paritytech/parity/pull/2334) +- Fix the traceAddress field in transaction traces. [#2373](https://github.com/paritytech/parity/pull/2373) +- Gavcoin utilises the popup box [#2381](https://github.com/paritytech/parity/pull/2381) +- registry dapp: support dropping names [#2328](https://github.com/paritytech/parity/pull/2328) +- settings view, set background & store views [#2380](https://github.com/paritytech/parity/pull/2380) +- Removing extras data from retracted blocks. [#2375](https://github.com/paritytech/parity/pull/2375) +- fixed #2263, geth keys with ciphertext shorter than 32 bytes [#2318](https://github.com/paritytech/parity/pull/2318) +- Expanse compatibility [#2369](https://github.com/paritytech/parity/pull/2369) +- Allow queries of constant functions on contracts [#2360](https://github.com/paritytech/parity/pull/2360) +- Auto Open/Close the Signer window on new transaction request [#2362](https://github.com/paritytech/parity/pull/2362) +- Specify column cache sizes explicitly; default fallback of 2MB [#2358](https://github.com/paritytech/parity/pull/2358) +- Canonical state cache (master) [#2311](https://github.com/paritytech/parity/pull/2311) +- method signature lookups, parameter decoding & management [#2313](https://github.com/paritytech/parity/pull/2313) +- make block queue into a more generic verification queue and fix block heap size calculation [#2095](https://github.com/paritytech/parity/pull/2095) +- Hash Content RPC method [#2355](https://github.com/paritytech/parity/pull/2355) +- registry dapp: show reserved events by default [#2359](https://github.com/paritytech/parity/pull/2359) +- Display timestamp in Signer requests details [#2324](https://github.com/paritytech/parity/pull/2324) +- Reorder transaction_by_hash to favour canon search [#2332](https://github.com/paritytech/parity/pull/2332) +- Optimize DIV for some common divisors [#2327](https://github.com/paritytech/parity/pull/2327) +- Return error when deserializing invalid hex [#2339](https://github.com/paritytech/parity/pull/2339) +- Changed http:// to https:// on some links [#2349](https://github.com/paritytech/parity/pull/2349) +- user defaults [#2014](https://github.com/paritytech/parity/pull/2014) +- Fixing jit feature compilation [#2310](https://github.com/paritytech/parity/pull/2310) +- Tx Queue improvements [#2292](https://github.com/paritytech/parity/pull/2292) +- Removing PropTypes on build [#2322](https://github.com/paritytech/parity/pull/2322) +- Lenient bytes deserialization [#2036](https://github.com/paritytech/parity/pull/2036) +- reverse call data decoding given transaction data & method [#2312](https://github.com/paritytech/parity/pull/2312) +- add missing gpl headers to gavcoin dapp [#2317](https://github.com/paritytech/parity/pull/2317) +- contract Events, Functions & Queries sub-components as well as Event log visual updates [#2306](https://github.com/paritytech/parity/pull/2306) +- webpack config updates (really include babel-polyfill, rename npm steps) [#2305](https://github.com/paritytech/parity/pull/2305) +- remove unneeded Form from Account header [#2302](https://github.com/paritytech/parity/pull/2302) +- edit of metadata across accounts, addresses & contracts [#2300](https://github.com/paritytech/parity/pull/2300) +- Adjust all modals for consistency & css DRY-ness [#2301](https://github.com/paritytech/parity/pull/2301) +- update container spacing [#2296](https://github.com/paritytech/parity/pull/2296) +- local cache of generated background (no allocation on each re-render) [#2298](https://github.com/paritytech/parity/pull/2298) +- fix failing tests [#2290](https://github.com/paritytech/parity/pull/2290) +- Respecting standards for tokenreg dapp [#2287](https://github.com/paritytech/parity/pull/2287) +- Separate RPC serialization from implementation [#2072](https://github.com/paritytech/parity/pull/2072) +- Webpack optimisations - Using DLL [#2264](https://github.com/paritytech/parity/pull/2264) +- header background, theme adjustments (not that harsh) [#2273](https://github.com/paritytech/parity/pull/2273) +- contract view (developer-centric) [#2259](https://github.com/paritytech/parity/pull/2259) +- Add hash as CLI function [#1995](https://github.com/paritytech/parity/pull/1995) +- registry: fix mined events showing as pending [#2267](https://github.com/paritytech/parity/pull/2267) +- Dapp - Tokereg ; Query Tokens from TLA or Address [#2266](https://github.com/paritytech/parity/pull/2266) +- Fixes to the Token Registration dApp [#2250](https://github.com/paritytech/parity/pull/2250) +- remove abi *.json duplication, provide a single version of the truth [#2253](https://github.com/paritytech/parity/pull/2253) +- Separate path for ext code size [#2251](https://github.com/paritytech/parity/pull/2251) +- Snapshot format changes [#2234](https://github.com/paritytech/parity/pull/2234) +- Serving content at /api/content/ [#2248](https://github.com/paritytech/parity/pull/2248) +- Fails when deserializing non-hex uints [#2247](https://github.com/paritytech/parity/pull/2247) +- registry dapp: add GPL headers [#2252](https://github.com/paritytech/parity/pull/2252) +- registry dapp: user-friendly lookup [#2229](https://github.com/paritytech/parity/pull/2229) +- registry dapp: show DataChanged events [#2242](https://github.com/paritytech/parity/pull/2242) +- fixups for deploys [#2249](https://github.com/paritytech/parity/pull/2249) +- Fixing output of eth_call and Bytes deserialization [#2230](https://github.com/paritytech/parity/pull/2230) +- Encryption, decryption and public key RPCs. [#1946](https://github.com/paritytech/parity/pull/1946) +- limit number of event logs returned [#2231](https://github.com/paritytech/parity/pull/2231) +- babel-polyfill [#2239](https://github.com/paritytech/parity/pull/2239) +- procedurally generate background based on signer key [#2233](https://github.com/paritytech/parity/pull/2233) +- UI fixes [#2238](https://github.com/paritytech/parity/pull/2238) +- expose isConnected() from transport [#2225](https://github.com/paritytech/parity/pull/2225) +- registry dapp: rename event log [#2227](https://github.com/paritytech/parity/pull/2227) +- registry dapp: show pending events [#2223](https://github.com/paritytech/parity/pull/2223) +- Handle RLP to string UTF-8 decoding errors [#2217](https://github.com/paritytech/parity/pull/2217) +- Use WebSocket transport for all built-in calls [#2216](https://github.com/paritytech/parity/pull/2216) +- Remove panickers from trie iterators [#2209](https://github.com/paritytech/parity/pull/2209) +- Limit for logs filter. [#2180](https://github.com/paritytech/parity/pull/2180) +- Various state copy optimizations [#2172](https://github.com/paritytech/parity/pull/2172) +- New signer token RPC & Initial signer connection without token. [#2096](https://github.com/paritytech/parity/pull/2096) +- signer ui fixes [#2219](https://github.com/paritytech/parity/pull/2219) +- contract deploy ui [#2212](https://github.com/paritytech/parity/pull/2212) +- registry dapp: fix propTypes [#2218](https://github.com/paritytech/parity/pull/2218) +- registry: fix IdentityIcon in events log [#2206](https://github.com/paritytech/parity/pull/2206) +- Fixing evm-debug [#2161](https://github.com/paritytech/parity/pull/2161) +- Fix syncing with pv63 peers [#2204](https://github.com/paritytech/parity/pull/2204) +- registry: show shortened hashes [#2205](https://github.com/paritytech/parity/pull/2205) +- registry dapp: remove owner [#2203](https://github.com/paritytech/parity/pull/2203) +- webpack proxy updates for /api* [#2175](https://github.com/paritytech/parity/pull/2175) +- simplify personal event publishing, fix delete refresh issues [#2183](https://github.com/paritytech/parity/pull/2183) +- fix global & initial states [#2160](https://github.com/paritytech/parity/pull/2160) +- Allow selection & saving of available views [#2131](https://github.com/paritytech/parity/pull/2131) +- global/contract events with promisy subscribe/unsubscribe [#2136](https://github.com/paritytech/parity/pull/2136) +- Token Registry dApp [#2178](https://github.com/paritytech/parity/pull/2178) +- re-usable bytesToHex exposed in api.util [#2174](https://github.com/paritytech/parity/pull/2174) +- Webpack optimisations [#2179](https://github.com/paritytech/parity/pull/2179) +- cleanup on contract event subscriptions [#2104](https://github.com/paritytech/parity/pull/2104) +- move utility functions to api.util [#2105](https://github.com/paritytech/parity/pull/2105) +- registry dapp [#2077](https://github.com/paritytech/parity/pull/2077) +- mui/FlatButton to ui/Button [#2129](https://github.com/paritytech/parity/pull/2129) +- address delete functionality [#2128](https://github.com/paritytech/parity/pull/2128) +- contract deployment updates [#2106](https://github.com/paritytech/parity/pull/2106) +- contract events, indexed string fix [#2108](https://github.com/paritytech/parity/pull/2108) +- Bumping jsonrpc-core & jsonrpc-http-server [#2162](https://github.com/paritytech/parity/pull/2162) +- gitlab testing & build processes [#2090](https://github.com/paritytech/parity/pull/2090) +- Misc small UI fixes (recently broken) [#2101](https://github.com/paritytech/parity/pull/2101) +- Bump clippy & Fix warnings [#2109](https://github.com/paritytech/parity/pull/2109) +- Import command summary [#2102](https://github.com/paritytech/parity/pull/2102) +- check for existence of deprecated ethash file before attempting delete [#2103](https://github.com/paritytech/parity/pull/2103) +- shapeshift Promise API library [#2088](https://github.com/paritytech/parity/pull/2088) +- fund account via ShapeShift [#2099](https://github.com/paritytech/parity/pull/2099) +- Get bigint on crates.io [#2078](https://github.com/paritytech/parity/pull/2078) +- Enable sealing if Engine provides internal sealing given author [#2084](https://github.com/paritytech/parity/pull/2084) +- Config files [#2070](https://github.com/paritytech/parity/pull/2070) +- re-add lodash plugin to babel config [#2092](https://github.com/paritytech/parity/pull/2092) +- Remove old cache data [#2081](https://github.com/paritytech/parity/pull/2081) +- Logs limit & log_index bug [#2073](https://github.com/paritytech/parity/pull/2073) +- flatten store, muiTheme & api providers [#2087](https://github.com/paritytech/parity/pull/2087) +- add babel es2016 & es2017 presets [#2083](https://github.com/paritytech/parity/pull/2083) +- remove all '/index' imports in API [#2089](https://github.com/paritytech/parity/pull/2089) +- add missing GPL headers to all files [#2086](https://github.com/paritytech/parity/pull/2086) +- readme cleanups [#2085](https://github.com/paritytech/parity/pull/2085) +- gavcoin global import of parity api [#2082](https://github.com/paritytech/parity/pull/2082) +- Fixing removal from gas price when moving future->current [#2076](https://github.com/paritytech/parity/pull/2076) +- Split internal sealing from work preparation [#2071](https://github.com/paritytech/parity/pull/2071) +- ensure the target folder doesn't exist before renaming [#2074](https://github.com/paritytech/parity/pull/2074) +- Get rid of 'Dapp is being downloaded' page [#2055](https://github.com/paritytech/parity/pull/2055) +- fix failing master build: update tests to new init_restore signature. [#2069](https://github.com/paritytech/parity/pull/2069) +- Local snapshot restore [#2058](https://github.com/paritytech/parity/pull/2058) +- import: keep informant going until finished [#2065](https://github.com/paritytech/parity/pull/2065) +- Add a few tests for the snapshot service [#2059](https://github.com/paritytech/parity/pull/2059) +- IPC tweaks [#2046](https://github.com/paritytech/parity/pull/2046) +- Update arm* Docker [#2064](https://github.com/paritytech/parity/pull/2064) +- Fetching any content-addressed content [#2050](https://github.com/paritytech/parity/pull/2050) +- Use proper database configuration in snapshots. [#2052](https://github.com/paritytech/parity/pull/2052) +- periodic snapshot tweaks [#2054](https://github.com/paritytech/parity/pull/2054) +- ethkey-cli [#2057](https://github.com/paritytech/parity/pull/2057) +- Forward ethstore-cli feature [#2056](https://github.com/paritytech/parity/pull/2056) +- handling invalid spec jsons properly, additional tests, closes #1840 [#2049](https://github.com/paritytech/parity/pull/2049) +- Periodic snapshots [#2044](https://github.com/paritytech/parity/pull/2044) +- Snapshot sync [#2047](https://github.com/paritytech/parity/pull/2047) +- Nice error pages for Dapps & Signer [#2033](https://github.com/paritytech/parity/pull/2033) +- Add a few small snapshot tests [#2038](https://github.com/paritytech/parity/pull/2038) +- facelift for traces, added errors [#2042](https://github.com/paritytech/parity/pull/2042) +- Fetching content from HTTPS using `rustls` [#2024](https://github.com/paritytech/parity/pull/2024) +- Skipping log when there are no transactions were sent [#2045](https://github.com/paritytech/parity/pull/2045) +- rlp as separate crate [#2034](https://github.com/paritytech/parity/pull/2034) +- Fixing uint serialization [#2037](https://github.com/paritytech/parity/pull/2037) +- Fixing new transactions propagation [#2039](https://github.com/paritytech/parity/pull/2039) +- Propagating transactions to peers on timer. [#2035](https://github.com/paritytech/parity/pull/2035) +- Remove Populatable and BytesConvertable traits [#2019](https://github.com/paritytech/parity/pull/2019) +- fixed #1933 [#1979](https://github.com/paritytech/parity/pull/1979) +- Synchronization tweaks for IPC services [#2028](https://github.com/paritytech/parity/pull/2028) +- Asynchronous RPC support [#2017](https://github.com/paritytech/parity/pull/2017) +- Disable ArchiveDB counter check [#2016](https://github.com/paritytech/parity/pull/2016) +- always process trie death row on commit, add more tracing [#2025](https://github.com/paritytech/parity/pull/2025) +- fixed transaction addresses mapping, fixes #1971 [#2026](https://github.com/paritytech/parity/pull/2026) +- Adding tests for dapps server. [#2021](https://github.com/paritytech/parity/pull/2021) +- builtin trait refactoring [#2018](https://github.com/paritytech/parity/pull/2018) +- Start parity with systemd [#1967](https://github.com/paritytech/parity/pull/1967) +- Control service for IPC [#2013](https://github.com/paritytech/parity/pull/2013) +- LRU cache for dapps [#2006](https://github.com/paritytech/parity/pull/2006) +- CLI for valid hosts for dapps server [#2005](https://github.com/paritytech/parity/pull/2005) +- Make the block header struct's internals private [#2000](https://github.com/paritytech/parity/pull/2000) +- Take control of recovered snapshots, start restoration asynchronously [#2010](https://github.com/paritytech/parity/pull/2010) +- remove internal locking from DBTransaction [#2003](https://github.com/paritytech/parity/pull/2003) +- Snapshot optimizations [#1991](https://github.com/paritytech/parity/pull/1991) +- Revert removing ecies [#2009](https://github.com/paritytech/parity/pull/2009) +- small blooms optimization [#1998](https://github.com/paritytech/parity/pull/1998) +- protection from adding empty traces && assertion in traces db [#1994](https://github.com/paritytech/parity/pull/1994) +- Stratum IPC service [#1959](https://github.com/paritytech/parity/pull/1959) +- Signature cleanup [#1921](https://github.com/paritytech/parity/pull/1921) +- Fixed discovery skipping some nodes [#1996](https://github.com/paritytech/parity/pull/1996) +- Trie query recording and AccountDB factory for no mangling [#1944](https://github.com/paritytech/parity/pull/1944) +- Validating sha3 of a dapp bundle [#1993](https://github.com/paritytech/parity/pull/1993) +- Improve eth_getWork timeout test rpc_get_work_should_timeout [#1992](https://github.com/paritytech/parity/pull/1992) +- Resolving URLs from contract [#1964](https://github.com/paritytech/parity/pull/1964) +- Add timeout for eth_getWork call [#1975](https://github.com/paritytech/parity/pull/1975) +- CLI for Signer interface [#1980](https://github.com/paritytech/parity/pull/1980) +- IPC timeout multiplied [#1990](https://github.com/paritytech/parity/pull/1990) +- Use relative path for IPC sockets [#1983](https://github.com/paritytech/parity/pull/1983) +- Market-orientated transaction pricing [#1963](https://github.com/paritytech/parity/pull/1963) +- Bump clippy [#1982](https://github.com/paritytech/parity/pull/1982) +- Fixing mutual recursive types serialization [#1977](https://github.com/paritytech/parity/pull/1977) +- Fix open on FreeBSD [#1984](https://github.com/paritytech/parity/pull/1984) +- Upgrade hyper dependency to 0.9 [#1973](https://github.com/paritytech/parity/pull/1973) +- Create network-specific nodes files [#1970](https://github.com/paritytech/parity/pull/1970) +- Getting rid of syntex [#1965](https://github.com/paritytech/parity/pull/1965) +- Remove binary specification from hypervisor [#1960](https://github.com/paritytech/parity/pull/1960) +- Stratum protocol general [#1954](https://github.com/paritytech/parity/pull/1954) +- keep track of first block in blockchain [#1937](https://github.com/paritytech/parity/pull/1937) +- introduce ethcore/state module [#1953](https://github.com/paritytech/parity/pull/1953) +- Apply settings to column families [#1956](https://github.com/paritytech/parity/pull/1956) +- move column family constants into db module [#1955](https://github.com/paritytech/parity/pull/1955) +- ECIES without MAC [#1948](https://github.com/paritytech/parity/pull/1948) +- Fix canny warnings [#1951](https://github.com/paritytech/parity/pull/1951) +- Fetchable dapps [#1949](https://github.com/paritytech/parity/pull/1949) +- remove impossible panickers related to infallible db transaction [#1947](https://github.com/paritytech/parity/pull/1947) +- Minor optimizations [#1943](https://github.com/paritytech/parity/pull/1943) +- remove randomness from bigint benches, fix warnings [#1945](https://github.com/paritytech/parity/pull/1945) +- Fix several RPCs [#1926](https://github.com/paritytech/parity/pull/1926) +- Bump clippy, fix warnings [#1939](https://github.com/paritytech/parity/pull/1939) +- DB WAL size limit [#1935](https://github.com/paritytech/parity/pull/1935) +- Use explicit global namespaces in codegen [#1928](https://github.com/paritytech/parity/pull/1928) +- Fix build on master [#1934](https://github.com/paritytech/parity/pull/1934) +- IPC on by default [#1927](https://github.com/paritytech/parity/pull/1927) +- fix util benches compilation [#1931](https://github.com/paritytech/parity/pull/1931) +- Update gitlab-ci [#1929](https://github.com/paritytech/parity/pull/1929) +- ethkey and ethstore use hash structures from bigint [#1851](https://github.com/paritytech/parity/pull/1851) diff --git a/docs/CHANGELOG-1.5.md b/docs/CHANGELOG-1.5.md new file mode 100644 index 000000000..e662771e3 --- /dev/null +++ b/docs/CHANGELOG-1.5.md @@ -0,0 +1,1015 @@ +## Parity [v1.5.12](https://github.com/paritytech/parity/releases/tag/v1.5.12) (2017-03-27) + +Stable release that adds support for a new warp sync snapshot format. + +- Stable Backports [#5297](https://github.com/paritytech/parity/pull/5297) + - Bump to v1.5.12 + - Fine grained snapshot chunking + +## Parity [v1.5.11](https://github.com/paritytech/parity/releases/tag/v1.5.11) (2017-03-14) + +Parity 1.5.11 Includes a patch for a more comprehensive block verification. + +- Bump to v1.5.11 +- Additional kovan params +- Recalculate receipt roots in close_and_lock +- Bump to v1.5.10 + +## Parity [v1.5.9](https://github.com/paritytech/parity/releases/tag/v1.5.9) (2017-03-11) + +First stable release of 1.5.x series. This release enables EIP-161 transaction replay protection for PoA networks. + +- Bump to v1.5.9 +- Fix auto-updater stable [#4869](https://github.com/paritytech/parity/pull/4869) +- Fixing windows build script +- Bump js-precompiled 20170308-152339 +- Force js update +- Stable Engine backports [#4807](https://github.com/paritytech/parity/pull/4807) + - Calibrate before rejection + - Change flag name + - Add eip155 + - Fix build + - Make network_id default +- Switch js branch to stable +- Bump to v1.5.8 + +## Parity [v1.5.7](https://github.com/paritytech/parity/releases/tag/v1.5.7) (2017-03-07) + +This release resolves a single issue with failing auto-updates. + +- Update ETC bootnodes [#4794](https://github.com/paritytech/parity/pull/4794) +- Bump to v1.5.7 +- Sane updater [#4658](https://github.com/paritytech/parity/pull/4658) + - Disable if files can't be moved. + - Make updater avoid downloading earlier versions. + +## Parity [v1.5.6](https://github.com/paritytech/parity/releases/tag/v1.5.6) (2017-03-06) + +This release among various stability fixes adds support for a new [Kovan](https://github.com/kovan-testnet/proposal) testnet. + +See [full list of changes.](https://github.com/paritytech/parity/compare/v1.5.4...v1.5.6): + +- Beta Update comments and reg ABI [#4788](https://github.com/paritytech/parity/pull/4788) + - Update comments. + - Fix up new ABI. +- Bump to v1.5.6 in beta [#4786](https://github.com/paritytech/parity/pull/4786) +- Beta Optimize signature for fallback function. ([#4780](https://github.com/paritytech/parity/pull/4780)) [#4784](https://github.com/paritytech/parity/pull/4784) +- Beta Add registrar fields ([#4716](https://github.com/paritytech/parity/pull/4716)) [#4781](https://github.com/paritytech/parity/pull/4781) +- Beta Etherscan links ([#4772](https://github.com/paritytech/parity/pull/4772)) [#4778](https://github.com/paritytech/parity/pull/4778) + - Etherscan links [#4772](https://github.com/paritytech/parity/pull/4772) + - Use netVersion to determine external links + - Update additional isTest references + - Port tests + - Update address links + - Signer accountlink isTest +- Beta Fix invalid props [#4767](https://github.com/paritytech/parity/pull/4767) +- Backporting to beta [#4741](https://github.com/paritytech/parity/pull/4741) + - New chains [#4720](https://github.com/paritytech/parity/pull/4720) + - Add Kovan chain. + - Fix up --testnet. + - Fix tests. + - Fix to UglifyJS 2.8.2 to fix app build issues [#4723](https://github.com/paritytech/parity/pull/4723) + - Update classic bootnodes, ref #4717 [#4735](https://github.com/paritytech/parity/pull/4735) + - Allow failure docker beta + - Adjust pruning history default to 64 [#4709](https://github.com/paritytech/parity/pull/4709) + - Backporting from master + - Update docker-build.sh + - Update gitlab.ci + - Fix docker hub build + - Update gitlab + - Docker beta-release->latest + - Add registry. + - Add info on forks. + - Fixed spec file + - Support both V1 & V2 DataChanged events in registry [#4734](https://github.com/paritytech/parity/pull/4734) + - Add info on forks. + - Add new registry ABI + - Import registry2 & fix exports + - Select ABI based on code hash + - Render new event types (owner not available) + - New registry. + - Rename old chain. + - Fix test. + - Another fix. + - Finish rename. + - Fixed fonts URLs [#4579](https://github.com/paritytech/parity/pull/4579) + - Fix Token Reg Dapp issues in Firefox [#4489](https://github.com/paritytech/parity/pull/4489) + - Fix overflow issues in Firefox [#4348](https://github.com/paritytech/parity/issues/4348) + - Fix wrong Promise inferance + - Revert "Add new Componennt for Token Images [#4496](https://github.com/paritytech/parity/issues/4496)" + - Add new Componennt for Token Images [#4496](https://github.com/paritytech/parity/issues/4496) + - Add StackEventListener [#4745](https://github.com/paritytech/parity/pull/4745) + - Update testnet detection [#4746](https://github.com/paritytech/parity/pull/4746) + - Fix Account Selection in Signer [#4744](https://github.com/paritytech/parity/pull/4744) + - Can pass FormattedMessage to Input (eg. Status // RPC Enabled) + - Simple fixed-width fix for Accoutn Selection in Parity Signer +- Beta backports [#4763](https://github.com/paritytech/parity/pull/4763) + - Https://mkr-market -> https://oasisdex.com [#4701](https://github.com/paritytech/parity/pull/4701) + - Wallet s/delete/forget/ [#4741](https://github.com/paritytech/parity/pull/4741) +- Update classic bootnodes [#4735](https://github.com/paritytech/parity/pull/4735) +- Engine backports [#4718](https://github.com/paritytech/parity/pull/4718) + - Custom dev presets + - Add registrar field + - Use constructor for dev registrar + - Fix test +- Beta Adjust pruning history default to 64 [#4709](https://github.com/paritytech/parity/pull/4709) +- Bump to v1.5.5 + +## Parity [v1.5.4](https://github.com/paritytech/parity/releases/tag/v1.5.4) (2017-02-23) + +A couple of issue fixed in this release: + +- Parity now allows uncles headers to have timestamp set to arbitrary future value. +- Importing keys from geth is now working again. + +Changes: + +- Beta Fix Geth account import [#4643](https://github.com/paritytech/parity/pull/4643) + - Fix Geth import - actually pass addresses through + - Fix geth accounts not displayed + - Port saving of returned addresses (master MobX, beta state) + - Log result -> importGethAccounts +- Beta Backporting ([#4633](https://github.com/paritytech/parity/pull/4633)) [#4640](https://github.com/paritytech/parity/pull/4640) + - Tweak some checks. + - Fixed build and added a difficulty test + - Bump to v1.5.4 + +## Parity [v1.5.3](https://github.com/paritytech/parity/releases/tag/v1.5.3) (2017-02-20) + +This is a maintenance release that fixes a number of stability issues. Notably this resolves an issue where Parity would allow a pre EIP-155 transaction into the sealed block. + +See [full list of changes](https://github.com/paritytech/parity/compare/v1.5.2...v1.5.3): + +- Bump to v1.5.3 [#4611](https://github.com/paritytech/parity/pull/4611) +- Handle invalid ABI retrieved from address_book gracefully ([#4606](https://github.com/paritytech/parity/pull/4606)) [#4610](https://github.com/paritytech/parity/pull/4610) + - Handle invalid ABI gracefully + - Also include failed abi in log +- Backporting to beta [#4602](https://github.com/paritytech/parity/pull/4602) + - Static link for snappy + - added 3 warpnodes for ropsten ([#4289](https://github.com/paritytech/parity/pull/4289)) + - Fixed indentation +- Validate transaction before adding to the queue [#4600](https://github.com/paritytech/parity/pull/4600) +- Beta backports [#4569](https://github.com/paritytech/parity/pull/4569) + - Fixing evmbin compilation and added standard build. ([#4561](https://github.com/paritytech/parity/pull/4561)) + - Alias for personal_sendTransaction ([#4554](https://github.com/paritytech/parity/pull/4554)) + - Fix console dapp ([#4544](https://github.com/paritytech/parity/pull/4544)) + - Fixing linting issues. Better support for console as secure app + - Fixing linting issues + - Fix no data sent in TxQueue dapp ([#4502](https://github.com/paritytech/parity/pull/4502)) + - Fix wrong PropType req for Embedded Signer + - Fix wrong data for tx #4499 +- Explicitly set seconds to 0 from selector ([#4559](https://github.com/paritytech/parity/pull/4559)) [#4571](https://github.com/paritytech/parity/pull/4571) + - Explicitly set seconds/milli to 0 + - Use condition time & block setters consistently + - Fix failing test + - test for 0 ms & sec + - It cannot hurt, clone date before setting + - Prettier date test constants (OCD) +- Remove invalid expectation [#4542](https://github.com/paritytech/parity/pull/4542) +- Skip OOG check for simple transfers [#4558](https://github.com/paritytech/parity/pull/4558) [#4560](https://github.com/paritytech/parity/pull/4560) + - Skip OOG check for simple transfers [#4558](https://github.com/paritytech/parity/pull/4558) + - Fix failing test + +## Parity [v1.5.2](https://github.com/paritytech/parity/releases/tag/v1.5.2) (2017-02-08) + +This release brings a few stability fixes along with a feature that allows queuing transactions that are activated and send out on selected date or block number. +- Debian packages have been updated to require `libssl1.0.0` for better compatibility. +- eth_sign (and parity_postSign) used to return concatenated r ++ s ++ v with v being 0 or 1. it now agrees with geth as v ++ r ++ s with v being 27 or 28. + +Parity Wallet +- Accounts & ShapeShift integration now displays QR code for scanning from mobile wallets +- Dapp integration now allows for the selection of available accounts and the setting of the default account +- Transaction creation now allows for the selection of future blocks or timestamps after which the transaction is released + +Parity Extension +- First release of the Parity Extension, allowing for Parity integration from web-based dapps + +See [full list of changes](https://github.com/paritytech/parity/compare/v1.5.0...v1.5.2): +- Work with string numbers in contract (Fixes #4472) ([#4478](https://github.com/paritytech/parity/pull/4478)) [#4480](https://github.com/paritytech/parity/pull/4480) +- Eth_sign improvements backport [#4473](https://github.com/paritytech/parity/pull/4473) + - Fix postsign ([#4347](https://github.com/paritytech/parity/pull/4347)) + - Fix whitespace. + - Fix post sign. + - Fix message. + - Fix tests. + - Rest of the problems. + - All hail the linter and its omniscience. + - ...and its divine omniscience. + - Grumbles and wording. + - Make signing compatible with geth. ([#4468](https://github.com/paritytech/parity/pull/4468)) +- Sort gas price corpus when hitting genesis [#4471](https://github.com/paritytech/parity/pull/4471) +- Wallet dev chain fix [#4466](https://github.com/paritytech/parity/pull/4466) +- Fixing histogram again [#4464](https://github.com/paritytech/parity/pull/4464) +- Beta backports [#4462](https://github.com/paritytech/parity/pull/4462) + - Support HTML5-routed dapps ([#4173](https://github.com/paritytech/parity/pull/4173)) + - Fix compilation on latest nightly + - Updating precompiled +- Fix Portal scrolling getting stuck [#4456](https://github.com/paritytech/parity/pull/4456) + - Fix Portal scrolling getting stuck + - DappCard container flex + - Container height to 100% +- Fix AccountCard stretch to 100% [#4451](https://github.com/paritytech/parity/pull/4451) +- Fix wrong output format of peers ([#4270](https://github.com/paritytech/parity/pull/4270)) [#4442](https://github.com/paritytech/parity/pull/4442) + - Fix wrong output format of peers + - Add outPeer tests +- Opening extension page without inline installation [#4441](https://github.com/paritytech/parity/pull/4441) + - Open popup without attempting inline + - Cater for all .web3.site addresses +- Fix svg extension image webpack inlining [#4437](https://github.com/paritytech/parity/pull/4437) +- Backporting to beta [#4434](https://github.com/paritytech/parity/pull/4434) + - Bump to v1.5.2 + - Fix eth_sign/parity_postSign ([#4432](https://github.com/paritytech/parity/pull/4432)) + - Fix dispatch for signing. + - Remove console log + - Fix signing & tests. +- Returning default account as coinbase [#4431](https://github.com/paritytech/parity/pull/4431) + - Returning first address as coinbase + - Allowing sender alteration in signer + - Adding default account RPC +- UI updates for 1.5.1 [#4429](https://github.com/paritytech/parity/pull/4429) + - S/Delete Contract/Forget Contract/ ([#4237](https://github.com/paritytech/parity/pull/4237)) + - Adjust the location of the signer snippet ([#4155](https://github.com/paritytech/parity/pull/4155)) + - Additional building-block UI components ([#4239](https://github.com/paritytech/parity/pull/4239)) + - Currency WIP + - Expand tests + - Pass className + - Add QrCode + - Export new components in ~/ui + - S/this.props.netSymbol/netSymbol/ + - Fix import case + - Ui/SectionList component ([#4292](https://github.com/paritytech/parity/pull/4292)) + - Array chunking utility + - Add SectionList component + - Add TODOs to indicate possible future work + - Add missing overlay style (as used in dapps at present) + - Add a Playground for the UI Components ([#4301](https://github.com/paritytech/parity/pull/4301)) + - Playground // WIP + - Linting + - Add Examples with code + - CSS Linting + - Linting + - Add Connected Currency Symbol + - 2015-2017 + - Added `renderSymbol` tests + - PR grumbles + - Add Eth and Btc QRCode examples + - 2015-2017 + - Add tests for playground + - Fixing tests + - Split Dapp icon into ui/DappIcon ([#4308](https://github.com/paritytech/parity/pull/4308)) + - Add QrCode & Copy to ShapeShift ([#4322](https://github.com/paritytech/parity/pull/4322)) + - Extract CopyIcon to ~/ui/Icons + - Add copy & QrCode address + - Default size 4 + - Add bitcoin: link + - Use protocol links applicable to coin exchanged + - Remove .only + - Display QrCode for accounts, addresses & contracts ([#4329](https://github.com/paritytech/parity/pull/4329)) + - Allow Portal to be used as top-level modal ([#4338](https://github.com/paritytech/parity/pull/4338)) + - Portal + - Allow Portal to be used in as both top-level and popover + - Modal/popover variable naming + - Export Portal in ~/ui + - Properly handle optional onKeyDown + - Add simple Playground Example + - Add proper event listener to Portal ([#4359](https://github.com/paritytech/parity/pull/4359)) + - Display AccountCard name via IdentityName ([#4235](https://github.com/paritytech/parity/pull/4235)) + - Fix signing ([#4363](https://github.com/paritytech/parity/pull/4363)) + - Dapp Account Selection & Defaults ([#4355](https://github.com/paritytech/parity/pull/4355)) + - Add parity_defaultAccount RPC (with subscription) ([#4383](https://github.com/paritytech/parity/pull/4383)) + - Default Account selector in Signer overlay ([#4375](https://github.com/paritytech/parity/pull/4375)) + - Typo, fixes #4271 ([#4391](https://github.com/paritytech/parity/pull/4391)) + - Fix ParityBar account selection overflows ([#4405](https://github.com/paritytech/parity/pull/4405)) + - Available Dapp selection alignment with Permissions (Portal) ([#4374](https://github.com/paritytech/parity/pull/4374)) + - Registry dapp: make lookup use lower case ([#4409](https://github.com/paritytech/parity/pull/4409)) + - Dapps use defaultAccount instead of own selectors ([#4386](https://github.com/paritytech/parity/pull/4386)) + - Poll for defaultAccount to update dapp & overlay subscriptions ([#4417](https://github.com/paritytech/parity/pull/4417)) + - Poll for defaultAccount (Fixes #4413) + - Fix nextTimeout on catch + - Store timers + - Re-enable default updates on change detection + - Add block & timestamp conditions to Signer ([#4411](https://github.com/paritytech/parity/pull/4411)) + - Extension installation overlay ([#4423](https://github.com/paritytech/parity/pull/4423)) + - Extension installation overlay + - Pr gumbles + - Spelling + - Update Chrome URL + - Fix for non-included jsonrpc + - Extend Portal component (as per Modal) [#4392](https://github.com/paritytech/parity/pull/4392) +- Transaction timestamp condition [#4427](https://github.com/paritytech/parity/pull/4427) +- Fixing embedded bar not closing in chrome extension [#4421](https://github.com/paritytech/parity/pull/4421) +- Backporting to beta [#4418](https://github.com/paritytech/parity/pull/4418) + - Bump to 1.5.1 + - Disable notifications ([#4243](https://github.com/paritytech/parity/pull/4243)) + - Fix wrong token handling ([#4254](https://github.com/paritytech/parity/pull/4254)) + - Fixing wrong token displayed + - Linting + - Revert filtering out + - Revert the revert + - Don't panic on uknown git commit hash ([#4231](https://github.com/paritytech/parity/pull/4231)) + - Additional logs for own transactions ([#4278](https://github.com/paritytech/parity/pull/4278)) + - Integration with zgp whitelist contract ([#4215](https://github.com/paritytech/parity/pull/4215)) + - Zgp-transactions checker + - Polishing + - Rename + refactor + - Refuse-service-transactions cl option + - Fixed tests compilation + - Renaming signAndSendTransaction to sendTransaction ([#4351](https://github.com/paritytech/parity/pull/4351)) + - Fixed deadlock in external_url ([#4354](https://github.com/paritytech/parity/pull/4354)) + - Fixing web3 in console ([#4382](https://github.com/paritytech/parity/pull/4382)) + - Fixing estimate gas in case histogram is not available ([#4387](https://github.com/paritytech/parity/pull/4387)) + - Restarting fetch client every now and then ([#4399](https://github.com/paritytech/parity/pull/4399)) +- Embeddable ParityBar ([#4222](https://github.com/paritytech/parity/pull/4222)) [#4287](https://github.com/paritytech/parity/pull/4287) + - Embeddable ParityBar + - Replacing storage with store + - Fixing references. + - Addressing style issues + - Supporting parity background + +## Parity [v1.5.0: "Nativity"](https://github.com/paritytech/parity/releases/tag/v1.5.0) (2017-01-19) + +Major feature release including _Tendermint_ consensus engine, _Multisig wallet_ support, _badge/certification_ UI integration and _automatic updates_. + +Directories: + +- New XDG-informed Parity data directory structure. Base dir (`--base-path` or `-d`) that defaulted to `$HOME/.parity` is changed to: + - `/Users/You/AppData/Roaming/Parity/Ethereum` on Windows + - `/Users/you/Library/Application Support/io.parity.ethereum` on MacOS + - `/home/you/.local/share/parity` on Linux/Unix +- Keys are now stored in chain-specific directories . On first run of 1.5, all keys will be moved into the key's directory of the chain you run. You'll need to move the wallet files between directories manually if you wish to split them between testnet/mainnet. +- `--db-path` option now controls the path just for the databases, not for keys (`--keys-path`) or dapps (`--dapps-path`). + +Basics: + +- Version tracking, consensus-protection, hypervised auto-updating: + - Parity will ensure syncing is paused if its version cannot support an upcoming hard-fork (disable with `--no-consensus`). + - Parity will automatically download the latest version and may be updated through Parity Wallet (disable with `--no-download`) + - Parity can automatically update and seamlessly restart to later versions in the same release track (enable with `--auto-update=all` or `--auto-update=critical`). + - Parity hypervisor will automatically run the latest version (disable with `--force-direct`). +- Fat database; to enable, sync the chain with the option `--fat-db`. + - Accounts and storage entries can be enumerated. + - Chain state can be exported to JSON for analysis with `parity export state`. +- CLI and config options renamed: all variants of `--signer` are renamed to `--ui`. +- Log files are appended by default rather than truncated (useful for daemon deployments). + +Parity Wallet: + +- Multisig wallet support: "New Wallet" button in the "Accounts" section allows you to create a new multisig wallet or import an existing one. +- Solidity compiler: "Develop Contract" button in the "Contracts" section allows you to write, edit, compile and deploy contracts. +- SMS & e-mail verification: Accounts can now be certified as verified using Parity's SMS and e-Mail verification/registration oracle. +- Badge/certification integration: The `BadgeReg` contract can be used to deploy additional certifications. +- Local transaction propagation tracking: "TxQueue Viewer" in the "Applications" section allows you to track and resubmit previously sent transactions. +- Contract executions can now have gas and gas-price configured. +- Signer can now alter the gas and gas-price of transactions at password-entry. +- The deprecated Chrome "Signer" extension is now incompatible. + +[Proof of Authority](https://github.com/paritytech/parity/wiki/Proof-of-Authority-Chains): + +- Authority Round consensus engine: `engine: authorityRound {...}`; this is a high-performance Proof-of-Authority consensus engine. It is not BFT under normal circumstances (however the `--force-sealing` flag can be used to ensure consensus even with Byzantine nodes). +- Tendermint Engine: `engine: tendermint {...}`; this is an experimental Proof-of-Authority consensus engine. BFT up to one third of the authorities and falling back to delayed finalization chain ordering (50% fault tolerant). +- Generic seal JSON spec includes engine-specific types (`seal: { generic: { rlp: "0x..." } }` becomes `seal: { authority_round { step: 0, signature: "0x..." } }`. +- To set a node as authority either `--engine-signer ADDRESS` should be used with `--password` or `parity_setEngineSigner(address, password)` RPC should be called. Unlocking the account permanently or using `--author` is now unnecessary. +- Set of authorities can now be specified using a [list or a contract](https://github.com/paritytech/parity/wiki/Consensus-Engines#validator-engines). + +Chains: + +- Dev chain: `--chain=dev`; instant seal engine (no mining needed). Great for development work. +- Ropsten chain (`--chain=ropsten` or `--chain=testnet`) configures for Ropsten, the new test net. +- Morden chain (`--chain=morden`) changed to "Classic" rules and stays as the Ethereum Classic test net. + +RPCs/APIs: + +- All JSON-RPC interfaces have strict JSON deserialization - no extra fields are allowed. +- `eth_sign` RPC now hashes given data instead of getting the hash. +- `signer_confirmRequestWithToken`: additional RPC for signing transactions with a rotating token, alleviating the need for keeping an account password in memory. +- `eth_signTransaction` now conforms to the specification, `eth_submitTransaction` is introduced. + +Full changes: + +- Backporting to beta [#4211](https://github.com/paritytech/parity/pull/4211) + - JsonRPC bump for IPC fix + - Fixing etherscan price parsing ([#4202](https://github.com/paritytech/parity/pull/4202)) + - Handling all errors + - Fixed --base-path on windows ([#4193](https://github.com/paritytech/parity/pull/4193)) + - Add support for optional args with default text + - Fixing minimal transaction queue price ([#4204](https://github.com/paritytech/parity/pull/4204)) + - Fixing tests + - verification: add mainnet BadgeReg ids ([#4190](https://github.com/paritytech/parity/pull/4190)) + - verification: fetch contracts by name + - verification: better wording + - typo + - reregistered badges + - Console now has admin ([#4220](https://github.com/paritytech/parity/pull/4220)) + - Fixes [#4210](https://github.com/paritytech/parity/pull/4210) + - Non-secure for DappReg ([#4216](https://github.com/paritytech/parity/pull/4216)) +- Backporting to beta [#4203](https://github.com/paritytech/parity/pull/4203) + - Minor typo to ensure it updates only when synced. ([#4188](https://github.com/paritytech/parity/pull/4188)) + - Updater fixes ([#4196](https://github.com/paritytech/parity/pull/4196)) + - Minor typo to ensure it updates only when synced. + - Fix deadlock. + - Skip unneeded arg in making list. + - Allow auto-restart even when not running an update. + - Fix trace. + - Update update info on each loop. + - Fix build. + - Shutdown all sockets + - Remove superfluous use. + - Poll for upgrades as part of global status (long) ([#4197](https://github.com/paritytech/parity/pull/4197)) + - Fix path + - Prevent duplicate incoming connections ([#4180](https://github.com/paritytech/parity/pull/4180)) +- Gas_limit for blocks, mined by Parity will be divisible by 37 ([#4154](https://github.com/paritytech/parity/pull/4154)) [#4176](https://github.com/paritytech/parity/pull/4176) + - gas_limit for new blocks will divide evenly by 13 + - increased PARITY_GAS_LIMIT_DETERMINANT to 37 + - separate method for marking mined block + - debug_asserts(gas_limit within protocol range) + - round_block_gas_limit method is now static + - made round_block_gas_limit free-function + - multiplier->multiple +- Backporting to beta [#4175](https://github.com/paritytech/parity/pull/4175) + - verification: check if server is running ([#4140](https://github.com/paritytech/parity/pull/4140)) + - verification: check if server is running + - See also ethcore/email-verification#67c6466 and ethcore/sms-verification#a585e42. + - verification: show in the UI if server is running + - verification: code style ✨, more i18n + - fix i18n key + - Optimized hash lookups ([#4144](https://github.com/paritytech/parity/pull/4144)) + - Optimize hash comparison + - Use libc + - Ropsten fork detection ([#4163](https://github.com/paritytech/parity/pull/4163)) + - Stop flickering + added loader in AddressSelector ([#4149](https://github.com/paritytech/parity/pull/4149)) + - Stop UI flickering + added loader to AddressSelector [#4103](https://github.com/paritytech/parity/pull/4103) + - PR Grumbles + - Add a password strength component ([#4153](https://github.com/paritytech/parity/pull/4153)) + - Added new PasswordStrength Component + - Added tests + - PR Grumbles + - icarus -> update, increase web timeout. ([#4165](https://github.com/paritytech/parity/pull/4165)) + - Fix estimate gas + - Fix token images // Error in Contract Queries ([#4169](https://github.com/paritytech/parity/pull/4169)) + - Fix dapps not loading ([#4170](https://github.com/paritytech/parity/pull/4170)) + - Add secure to dappsreg + - Remove trailing slash // fix dapps +- Bumping hyper [#4168](https://github.com/paritytech/parity/pull/4168) + - Bumping hyper + - Bumping again +- Backporting to beta [#4158](https://github.com/paritytech/parity/pull/4158) + - Remove onSubmit of current (no auto-change on password edit) ([#4151](https://github.com/paritytech/parity/pull/4151)) + - Remove onSubmit from current password + - Remove onSubmit from hint + - Pull in console dapp as builtin ([#4145](https://github.com/paritytech/parity/pull/4145)) + - Copy static dapps from static (no build) + - Console sources + - Add console to builtins + - Remove console assets + - Disable eslint on console.js + - Enable eslint after disable + - Webpack copy +- Backporting to beta [#4152](https://github.com/paritytech/parity/pull/4152) + - Fix broken transfer total balance ([#4127](https://github.com/paritytech/parity/pull/4127)) + - Add proper label to method decoding inputs ([#4136](https://github.com/paritytech/parity/pull/4136)) + - Another minor estimation fix ([#4133](https://github.com/paritytech/parity/pull/4133)) + - 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. + - Get rid of unsafe code in ethkey, propagate incorrect Secret errors. ([#4119](https://github.com/paritytech/parity/pull/4119)) + - Implementing secret + - Fixing tests + - Refactor VoteCollector ([#4101](https://github.com/paritytech/parity/pull/4101)) + - dir + - simple validator list + - stub validator contract + - make the engine hold Weak 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 + - return error on misbehaviour + - nicer return + - sprinkle docs + - Reenable mainnet update server. ([#4137](https://github.com/paritytech/parity/pull/4137)) + - basic tests for subscribeToEvents ([#4115](https://github.com/paritytech/parity/pull/4115)) + - subscribeToEvent fixtures ✅ + - subscribeToEvent tests ✅ + - temporarily skip failing test ([#4138](https://github.com/paritytech/parity/pull/4138)) + - Improvements and optimisations to estimate_gas ([#4142](https://github.com/paritytech/parity/pull/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 + - Use estimateGas error (as per updated implementation) ([#4131](https://github.com/paritytech/parity/pull/4131)) + - EXCEPTION_ERROR as per #4142 + - Better error log reporting & handling ([#4128](https://github.com/paritytech/parity/pull/4128)) + - Don't pop-up notifications after network switch ([#4076](https://github.com/paritytech/parity/pull/4076)) + - Better notifications + - Don't pollute with notifs if switched networks + - Better connection close/open events / No more notifs on change network + - PR Grumbles + - Add close and open events to HTTP // Add tests + - Fix tests + - WIP Signer Fix + - Fix Signer // Better reconnection handling + - PR Grumbles + - PR Grumbles + - Fixes wrong fetching of balances + Notifications + - Secure API WIP + - Updated Secure API Connection + Status + - Linting + - Updated Secure API Logic + - Proper handling of token updates // Fixing poping notifications + - PR Grumbles + - Fixing tests + - Trim spaces from InputAddress ([#4126](https://github.com/paritytech/parity/pull/4126)) + - Trim spaces for addresses + - onSubmit has only value, not event + - onSubmit (again) + - Length check on trimmed value + - Remove bindActionCreators({}, dispatch) (empty) ([#4135](https://github.com/paritytech/parity/pull/4135)) +- Backporting to beta [#4118](https://github.com/paritytech/parity/pull/4118) + - Ignore get_price_info test by default. ([#4112](https://github.com/paritytech/parity/pull/4112)) + - Auto-detect hex encoded bytes in sha3 ([#4108](https://github.com/paritytech/parity/pull/4108)) + - Using types/isHex + - Removing unused imports + - Use binary chop to estimate gas accurately ([#4100](https://github.com/paritytech/parity/pull/4100)) + - Initial sketch. + - Building. + - Fix a few things. + - Fix issue, add tracing. + - Address grumbles + - Raise upper limit if needed + - Fix test. + - Fixing decoding API with signatures in names ([#4125](https://github.com/paritytech/parity/pull/4125)) + - Fix call/estimate_gas ([#4121](https://github.com/paritytech/parity/pull/4121)) + - Return 0 instead of error with out of gas on estimate_gas + - Fix stuff up. +- Current release: 1.3 -> 1.4 [#4183](https://github.com/paritytech/parity/pull/4183) +- Fix rebroadcast panic [#4084](https://github.com/paritytech/parity/pull/4084) +- Use shallow-only rendering in all tests [#4087](https://github.com/paritytech/parity/pull/4087) +- Sending transactions in chunks [#4089](https://github.com/paritytech/parity/pull/4089) +- Move to new auto-update server. [#4091](https://github.com/paritytech/parity/pull/4091) +- Fixing compilation without dapps. [#4088](https://github.com/paritytech/parity/pull/4088) +- Fix balances update [#4077](https://github.com/paritytech/parity/pull/4077) +- Key derivation in Worker [#4071](https://github.com/paritytech/parity/pull/4071) +- Display contract block creation [#4069](https://github.com/paritytech/parity/pull/4069) +- Improving logs for transactions sync and disable re-broadcasting while syncing [#4065](https://github.com/paritytech/parity/pull/4065) +- Passwords are valid by default [#4075](https://github.com/paritytech/parity/pull/4075) +- Show Origin label to events table [#4073](https://github.com/paritytech/parity/pull/4073) +- Fix tags not working [#4070](https://github.com/paritytech/parity/pull/4070) +- Zero-alloc trie lookups [#3998](https://github.com/paritytech/parity/pull/3998) +- Opening local dapp [#4041](https://github.com/paritytech/parity/pull/4041) +- Bringing back `js-sha3` to fix in-browser signing [#4063](https://github.com/paritytech/parity/pull/4063) +- Fix wrong transaction input for contract deployments [#4052](https://github.com/paritytech/parity/pull/4052) +- Re-broadcast transactions to few random peers on each new block. [#4054](https://github.com/paritytech/parity/pull/4054) +- Removing old transactions from the queue [#4046](https://github.com/paritytech/parity/pull/4046) +- Add block rewards to more Engines [#4055](https://github.com/paritytech/parity/pull/4055) +- Return old trie values on insert and remove [#4053](https://github.com/paritytech/parity/pull/4053) +- Let users open urls from dapps view [#4042](https://github.com/paritytech/parity/pull/4042) +- Util/validation update [#4051](https://github.com/paritytech/parity/pull/4051) +- Convert ShapeShift modal to store [#4035](https://github.com/paritytech/parity/pull/4035) +- Using local path on Windows [#4017](https://github.com/paritytech/parity/pull/4017) +- Fixing minGasLimit > ceil limit mining issue [#4018](https://github.com/paritytech/parity/pull/4018) +- Naive light client synchronization [#3892](https://github.com/paritytech/parity/pull/3892) +- Starting on homestead shows reload snackbar [#4043](https://github.com/paritytech/parity/pull/4043) +- Show contract parameters in MethodDecoding [#4024](https://github.com/paritytech/parity/pull/4024) +- UI component updates [#4010](https://github.com/paritytech/parity/pull/4010) +- Account view updates [#4008](https://github.com/paritytech/parity/pull/4008) +- Better error messages for PoA chains [#4034](https://github.com/paritytech/parity/pull/4034) +- Make some spec fields optional [#4019](https://github.com/paritytech/parity/pull/4019) +- Basic account type [#4021](https://github.com/paritytech/parity/pull/4021) +- Fix wallet in main net [#4038](https://github.com/paritytech/parity/pull/4038) +- Removing orphaned Cargo.toml [#4032](https://github.com/paritytech/parity/pull/4032) +- Address selector: support reverse lookup [#4033](https://github.com/paritytech/parity/pull/4033) +- Only fetch App when necessary [#4023](https://github.com/paritytech/parity/pull/4023) +- Connection UI cleanups & tests for prior PR [#4020](https://github.com/paritytech/parity/pull/4020) +- Unsubscribe error on ShapeShift modal close [#4005](https://github.com/paritytech/parity/pull/4005) +- Add ownership checks the Registry dApp [#4001](https://github.com/paritytech/parity/pull/4001) +- Refresh balances of contacts & contracts when syncing [#4022](https://github.com/paritytech/parity/pull/4022) +- Show message on new chain [#4016](https://github.com/paritytech/parity/pull/4016) +- Use TypedInputs in Contracts view [#4015](https://github.com/paritytech/parity/pull/4015) +- Fix focus on Modal [#4014](https://github.com/paritytech/parity/pull/4014) +- Fix newError noops when not bound to dispacher [#4013](https://github.com/paritytech/parity/pull/4013) +- Parse testnet chain as ropsten [#4004](https://github.com/paritytech/parity/pull/4004) +- Work on Portal Style [#4003](https://github.com/paritytech/parity/pull/4003) +- Make Wallet first-class citizens [#3990](https://github.com/paritytech/parity/pull/3990) +- Don't slice non-existent tags [#4000](https://github.com/paritytech/parity/pull/4000) +- Update dev dependencies and make Webpack less verbose [#3997](https://github.com/paritytech/parity/pull/3997) +- Correct log index in transaction receipt [#3995](https://github.com/paritytech/parity/pull/3995) +- Add Email and Registry lookups to Address Selector [#3992](https://github.com/paritytech/parity/pull/3992) +- Remove node journal: dead code [#3994](https://github.com/paritytech/parity/pull/3994) +- Cleanup AddContract with store [#3981](https://github.com/paritytech/parity/pull/3981) +- Store for EditPassword Modal [#3979](https://github.com/paritytech/parity/pull/3979) +- Additional fetch tests [#3983](https://github.com/paritytech/parity/pull/3983) +- Owning views of blockchain data [#3982](https://github.com/paritytech/parity/pull/3982) +- Make test network generic over peer type [#3974](https://github.com/paritytech/parity/pull/3974) +- Fetch tests (first batch) [#3977](https://github.com/paritytech/parity/pull/3977) +- Fetch certifiers only when needed [#3978](https://github.com/paritytech/parity/pull/3978) +- Visible accounts for dapps (default whitelist) [#3898](https://github.com/paritytech/parity/pull/3898) +- Remove some old (unused/duplicate) files [#3975](https://github.com/paritytech/parity/pull/3975) +- Port `try` macro to new `?` operator. [#3962](https://github.com/paritytech/parity/pull/3962) +- Small UI fixes [#3966](https://github.com/paritytech/parity/pull/3966) +- Fix wrong use of Icons [#3973](https://github.com/paritytech/parity/pull/3973) +- Updating dependencies [#3968](https://github.com/paritytech/parity/pull/3968) +- Web Based Dapps [#3956](https://github.com/paritytech/parity/pull/3956) +- Contract query: render false as false [#3971](https://github.com/paritytech/parity/pull/3971) +- Email verification: add Terms of Service [#3970](https://github.com/paritytech/parity/pull/3970) +- Fix method decoding [#3967](https://github.com/paritytech/parity/pull/3967) +- Store for EditMeta modal [#3959](https://github.com/paritytech/parity/pull/3959) +- Registry dapp: cleanup, support reverse entries [#3933](https://github.com/paritytech/parity/pull/3933) +- New Address Selector Component [#3829](https://github.com/paritytech/parity/pull/3829) +- Limiting accounts returned by parity_accountInfo [#3931](https://github.com/paritytech/parity/pull/3931) +- Unknown block error for RPC [#3965](https://github.com/paritytech/parity/pull/3965) +- Remove unused fields in informant [#3963](https://github.com/paritytech/parity/pull/3963) +- Allow contract constructors in chain spec [#3932](https://github.com/paritytech/parity/pull/3932) +- Sync reorg up to history size [#3874](https://github.com/paritytech/parity/pull/3874) +- Rising the limit for fetch [#3964](https://github.com/paritytech/parity/pull/3964) +- Bring integer arithmetic up to crates.io [#3943](https://github.com/paritytech/parity/pull/3943) +- Eslint rule for block curlies [#3955](https://github.com/paritytech/parity/pull/3955) +- Gas exception warnings on deployment [#3938](https://github.com/paritytech/parity/pull/3938) +- Move verification store into modal [#3951](https://github.com/paritytech/parity/pull/3951) +- Allow setting of minBlock on sending [#3921](https://github.com/paritytech/parity/pull/3921) +- Allow empty address [#3961](https://github.com/paritytech/parity/pull/3961) +- Fix default import [#3960](https://github.com/paritytech/parity/pull/3960) +- Display 0x00..00 as null [#3950](https://github.com/paritytech/parity/pull/3950) +- Global Fetch Service [#3915](https://github.com/paritytech/parity/pull/3915) +- Update babel-loader for WebPack 2.2-rc [#3953](https://github.com/paritytech/parity/pull/3953) +- Fix Webpack build [#3946](https://github.com/paritytech/parity/pull/3946) +- Fix manual input token [#3945](https://github.com/paritytech/parity/pull/3945) +- Update Webpack [#3952](https://github.com/paritytech/parity/pull/3952) +- Add missing Ethcore -> Parity headers [#3948](https://github.com/paritytech/parity/pull/3948) +- Code example: do start before register_protocol [#3947](https://github.com/paritytech/parity/pull/3947) +- Set CHAIN_ID for Classic [#3934](https://github.com/paritytech/parity/pull/3934) +- Fixed compile error. [#3940](https://github.com/paritytech/parity/pull/3940) +- Fix dapps not loading [#3935](https://github.com/paritytech/parity/pull/3935) +- Fix Secure API hangs [#3927](https://github.com/paritytech/parity/pull/3927) +- Parity_chainStatus RPC for block gap info [#3899](https://github.com/paritytech/parity/pull/3899) +- Custom attribute for binary serialization [#3922](https://github.com/paritytech/parity/pull/3922) +- Split intermediate stage into two. [#3926](https://github.com/paritytech/parity/pull/3926) +- Move release-registering to intermediate stage. [#3920](https://github.com/paritytech/parity/pull/3920) +- Blocktime format rounding [#3894](https://github.com/paritytech/parity/pull/3894) +- Ignore dapps_policy.json [#3919](https://github.com/paritytech/parity/pull/3919) +- Fixing Contract Development [#3912](https://github.com/paritytech/parity/pull/3912) +- Use rhash for non-native CI platforms and submit build. [#3911](https://github.com/paritytech/parity/pull/3911) +- Remove -Zorbit=off from rustflags on windows [#3907](https://github.com/paritytech/parity/pull/3907) +- Fixed upgrading keys on the first run [#3904](https://github.com/paritytech/parity/pull/3904) +- Fix deadlock in queue drop [#3903](https://github.com/paritytech/parity/pull/3903) +- Require only simpler methods on Provider [#3897](https://github.com/paritytech/parity/pull/3897) +- Fix grammar ("you try" -> "you tried" + article) [#3902](https://github.com/paritytech/parity/pull/3902) +- Remove light server capability temporarily [#3872](https://github.com/paritytech/parity/pull/3872) +- Allow retry for future blocks [#3896](https://github.com/paritytech/parity/pull/3896) +- Consistent engine and seal names [#3895](https://github.com/paritytech/parity/pull/3895) +- Update email certification ABI [#3893](https://github.com/paritytech/parity/pull/3893) +- Remove existence & length checks on passwords & phrases [#3854](https://github.com/paritytech/parity/pull/3854) +- Refresh certifications automatically [#3878](https://github.com/paritytech/parity/pull/3878) +- Fix Wallet Settings Modal [#3856](https://github.com/paritytech/parity/pull/3856) +- Fix difficulty adjustment. [#3884](https://github.com/paritytech/parity/pull/3884) +- Final fixups for updater [#3883](https://github.com/paritytech/parity/pull/3883) +- Attempt to fix windows CI. [#3882](https://github.com/paritytech/parity/pull/3882) +- Fixing racy test [#3881](https://github.com/paritytech/parity/pull/3881) +- Fix updater permissions [#3880](https://github.com/paritytech/parity/pull/3880) +- Delayed transactions [#3865](https://github.com/paritytech/parity/pull/3865) +- Don't log auth token [#3853](https://github.com/paritytech/parity/pull/3853) +- Loading default config from default path [#3875](https://github.com/paritytech/parity/pull/3875) +- New paths [#3877](https://github.com/paritytech/parity/pull/3877) +- Update tests, gitlabci [#3876](https://github.com/paritytech/parity/pull/3876) +- Base directory option [#3868](https://github.com/paritytech/parity/pull/3868) +- Auto-updating [#3505](https://github.com/paritytech/parity/pull/3505) +- Fix naming collision [#3873](https://github.com/paritytech/parity/pull/3873) +- Get rid of unecessary redirection while fetching content [#3858](https://github.com/paritytech/parity/pull/3858) +- Fix verification stores [#3864](https://github.com/paritytech/parity/pull/3864) +- Store subscriptionId, align with main subscription model [#3863](https://github.com/paritytech/parity/pull/3863) +- Additional RPCs for dapps accounts management [#3792](https://github.com/paritytech/parity/pull/3792) +- Add Ws Json rpc client and command line utils (take 2) [#3830](https://github.com/paritytech/parity/pull/3830) +- Fix typo in method call (broken contract interface) [#3862](https://github.com/paritytech/parity/pull/3862) +- Fix flaky test [#3860](https://github.com/paritytech/parity/pull/3860) +- Converting traces API to AutoArgs [#3844](https://github.com/paritytech/parity/pull/3844) +- Get certifications from BadgeReg, show them in accounts overview [#3768](https://github.com/paritytech/parity/pull/3768) +- New directory structure [#3828](https://github.com/paritytech/parity/pull/3828) +- First run: skip account creation if they already have accounts [#3827](https://github.com/paritytech/parity/pull/3827) +- Tendermint seal [#3857](https://github.com/paritytech/parity/pull/3857) +- Tendermint Engine [#3759](https://github.com/paritytech/parity/pull/3759) +- Expand lint to catch css issues [#3852](https://github.com/paritytech/parity/pull/3852) +- Inject exports both partiy & web3 [#3851](https://github.com/paritytech/parity/pull/3851) +- Let Webpack talk again [#3848](https://github.com/paritytech/parity/pull/3848) +- AuthorityRound seal and simplify Generic seal Spec [#3843](https://github.com/paritytech/parity/pull/3843) +- Signing transactions with rotating token [#3691](https://github.com/paritytech/parity/pull/3691) +- Bump dev chain [#3835](https://github.com/paritytech/parity/pull/3835) +- Spelling [#3839](https://github.com/paritytech/parity/pull/3839) +- Email verification [#3766](https://github.com/paritytech/parity/pull/3766) +- Network configuration for Ethereum Classic [#3812](https://github.com/paritytech/parity/pull/3812) +- Using jsonrpc-macros [#3831](https://github.com/paritytech/parity/pull/3831) +- Fixed bool dropdown in contract execution [#3823](https://github.com/paritytech/parity/pull/3823) +- Avoid broadcasting transactions to peers that send them [#3796](https://github.com/paritytech/parity/pull/3796) +- Eth_sign RPC now hashes given data instead of getting the hash [#3800](https://github.com/paritytech/parity/pull/3800) +- Add store for MethodDecoding [#3821](https://github.com/paritytech/parity/pull/3821) +- Add store for AddAddress [#3819](https://github.com/paritytech/parity/pull/3819) +- Fix React-Router in i18n locale change [#3815](https://github.com/paritytech/parity/pull/3815) +- Cache fetched Dapps [#3804](https://github.com/paritytech/parity/pull/3804) +- Authors & homepage => Parity [#3818](https://github.com/paritytech/parity/pull/3818) +- Rename Ethcore -> Parity Technologies [#3817](https://github.com/paritytech/parity/pull/3817) +- Allow editing of gasPrice & gas in Signer [#3777](https://github.com/paritytech/parity/pull/3777) +- I18n string dictionaries [#3532](https://github.com/paritytech/parity/pull/3532) +- Fix padding in App [#3813](https://github.com/paritytech/parity/pull/3813) +- Light server improvements and protocol adjustments [#3801](https://github.com/paritytech/parity/pull/3801) +- Tolerate errors in user_defaults [#3810](https://github.com/paritytech/parity/pull/3810) +- Block: enforce gas limit falls within engine bounds [#3809](https://github.com/paritytech/parity/pull/3809) +- Target Babel to latest Chrome Versions in dev [#3806](https://github.com/paritytech/parity/pull/3806) +- Lowercase npm packages [#3807](https://github.com/paritytech/parity/pull/3807) +- Extended publishing of libraries to npm [#3786](https://github.com/paritytech/parity/pull/3786) +- Several Fixes to the UI [#3799](https://github.com/paritytech/parity/pull/3799) +- Remove "s [#3805](https://github.com/paritytech/parity/pull/3805) +- Extract CSS to file in production builds [#3783](https://github.com/paritytech/parity/pull/3783) +- Notify user on transaction received [#3782](https://github.com/paritytech/parity/pull/3782) +- Removing all old entries from transaction queue [#3772](https://github.com/paritytech/parity/pull/3772) +- Status page updates [#3774](https://github.com/paritytech/parity/pull/3774) +- Allow modifications of gas when confirming in signer [#3798](https://github.com/paritytech/parity/pull/3798) +- Network connectivity fixes [#3794](https://github.com/paritytech/parity/pull/3794) +- Make *ID names consistent with std Rust (Id) [#3781](https://github.com/paritytech/parity/pull/3781) +- Update CI builds [#3780](https://github.com/paritytech/parity/pull/3780) +- Update AuthorityRound tests to new spec [#3790](https://github.com/paritytech/parity/pull/3790) +- Fixes to the Wallet UI [#3787](https://github.com/paritytech/parity/pull/3787) +- Add support for wallets without getOwner() interface [#3779](https://github.com/paritytech/parity/pull/3779) +- Update Material-UI [#3785](https://github.com/paritytech/parity/pull/3785) +- Fixes error in Transfer modal [#3788](https://github.com/paritytech/parity/pull/3788) +- LES Part 3: Event handlers and handling responses [#3755](https://github.com/paritytech/parity/pull/3755) +- Basic UI rendering tests [#3743](https://github.com/paritytech/parity/pull/3743) +- Network: process packets only after connection handler finishes [#3776](https://github.com/paritytech/parity/pull/3776) +- AuthorityRound network simulation test [#3778](https://github.com/paritytech/parity/pull/3778) +- GasPrice selection for contract execution [#3770](https://github.com/paritytech/parity/pull/3770) +- Reject existing transactions [#3762](https://github.com/paritytech/parity/pull/3762) +- Allow autoRemove from api.subscribe based on callback return values [#3752](https://github.com/paritytech/parity/pull/3752) +- Replace misplaced & with && in gitlab-ci.yml [#3753](https://github.com/paritytech/parity/pull/3753) +- Lower gas usage for creating a Multisig Wallet [#3773](https://github.com/paritytech/parity/pull/3773) +- Added IO service explicit stop [#3761](https://github.com/paritytech/parity/pull/3761) +- Be lenient around invalid owners map [#3764](https://github.com/paritytech/parity/pull/3764) +- GasEditor component [#3750](https://github.com/paritytech/parity/pull/3750) +- Cleanups [#3742](https://github.com/paritytech/parity/pull/3742) +- Update babel, fix CI build due to breaking changes [#3754](https://github.com/paritytech/parity/pull/3754) +- Small fixes to contract [#3751](https://github.com/paritytech/parity/pull/3751) +- Make engine hold AccountProvider [#3725](https://github.com/paritytech/parity/pull/3725) +- Properly delete addresses/contracts in addressbook [#3739](https://github.com/paritytech/parity/pull/3739) +- Display Wallet Owners Icons in Accounts list [#3741](https://github.com/paritytech/parity/pull/3741) +- Edit Multisig Wallet settings [#3740](https://github.com/paritytech/parity/pull/3740) +- Replace build directory completely [#3748](https://github.com/paritytech/parity/pull/3748) +- Add existing release files before merge [#3747](https://github.com/paritytech/parity/pull/3747) +- Release script back to using fetch/merge [#3746](https://github.com/paritytech/parity/pull/3746) +- Update with -X only for merge [#3745](https://github.com/paritytech/parity/pull/3745) +- Give accounts precedence over address_book entries [#3732](https://github.com/paritytech/parity/pull/3732) +- Enable Panic=abort [#3423](https://github.com/paritytech/parity/pull/3423) +- Cleanups on js-precompiled [#3738](https://github.com/paritytech/parity/pull/3738) +- Add parity_removeAddress RPC [#3735](https://github.com/paritytech/parity/pull/3735) +- Fix up the transaction JSON serialisation for RPC. [#3633](https://github.com/paritytech/parity/pull/3633) +- Queue: CLI for auto-scaling and num verifiers [#3709](https://github.com/paritytech/parity/pull/3709) +- Add functionalities to multi-sig wallet [#3729](https://github.com/paritytech/parity/pull/3729) +- PropTypes as function call [#3731](https://github.com/paritytech/parity/pull/3731) +- Unify proptypes in util/proptypes.js [#3728](https://github.com/paritytech/parity/pull/3728) +- Bump jsonrpc-ipc-server to fix windows build [#3730](https://github.com/paritytech/parity/pull/3730) +- LES Part 2 [#3527](https://github.com/paritytech/parity/pull/3527) +- First draft of the MultiSig Wallet [#3700](https://github.com/paritytech/parity/pull/3700) +- Engine block ordering [#3719](https://github.com/paritytech/parity/pull/3719) +- Use fdlimit utility crate from crates.io [#3716](https://github.com/paritytech/parity/pull/3716) +- Move decoding for contract deployment logic earlier [#3714](https://github.com/paritytech/parity/pull/3714) +- Possible fix for queue drop deadlock [#3702](https://github.com/paritytech/parity/pull/3702) +- Encode networkid as a u64. [#3713](https://github.com/paritytech/parity/pull/3713) +- Use valid RLP in generic genesis seal spec [#3717](https://github.com/paritytech/parity/pull/3717) +- Update JS dependencies [#3710](https://github.com/paritytech/parity/pull/3710) +- Use Webpack Aliases [#3711](https://github.com/paritytech/parity/pull/3711) +- Dapps-specific accounts [#3627](https://github.com/paritytech/parity/pull/3627) +- Signer method parameter decoding & destination info [#3671](https://github.com/paritytech/parity/pull/3671) +- Remove invalid slice test [#3712](https://github.com/paritytech/parity/pull/3712) +- React library update [#3704](https://github.com/paritytech/parity/pull/3704) +- New Loading Component for the UI [#3707](https://github.com/paritytech/parity/pull/3707) +- Refactoring Transfer Modal [#3705](https://github.com/paritytech/parity/pull/3705) +- Fix extra scrollbars in dapps [#3706](https://github.com/paritytech/parity/pull/3706) +- Indent state tests [#3431](https://github.com/paritytech/parity/pull/3431) +- Filter null transactions for display (not available on node) [#3698](https://github.com/paritytech/parity/pull/3698) +- Move recovery phrase print button [#3697](https://github.com/paritytech/parity/pull/3697) +- Fix padding bottom needed after fixed status [#3701](https://github.com/paritytech/parity/pull/3701) +- Don't share the snapshot while downloading old blocks [#3695](https://github.com/paritytech/parity/pull/3695) +- Button to print recovery phrase [#3694](https://github.com/paritytech/parity/pull/3694) +- Fix status bar to bottom of the screen [#3692](https://github.com/paritytech/parity/pull/3692) +- Splitting serialization of signTransaction and sendTransaction confirmation requests [#3642](https://github.com/paritytech/parity/pull/3642) +- Implement basic badges/certifications/flair [#3665](https://github.com/paritytech/parity/pull/3665) +- Simplify Container title rendering [#3680](https://github.com/paritytech/parity/pull/3680) +- Update loading splash to fit in with l&f [#3685](https://github.com/paritytech/parity/pull/3685) +- Safari UI fixes [#3678](https://github.com/paritytech/parity/pull/3678) +- Remove strict mode for DappReg (work-around for package upgrade) [#3681](https://github.com/paritytech/parity/pull/3681) +- Bumping clippy [#3654](https://github.com/paritytech/parity/pull/3654) +- Return of the Fat DB [#3636](https://github.com/paritytech/parity/pull/3636) +- Invalidate blocks from future [#3652](https://github.com/paritytech/parity/pull/3652) +- Make Modal always scrollable [#3667](https://github.com/paritytech/parity/pull/3667) +- Display local/completed transactions [#3630](https://github.com/paritytech/parity/pull/3630) +- Added build-essential dep to dockerfiles [#3666](https://github.com/paritytech/parity/pull/3666) +- Strict config parsing (uknown keys are rejected) [#3663](https://github.com/paritytech/parity/pull/3663) +- Strict deserialization [#3662](https://github.com/paritytech/parity/pull/3662) +- Disable peer if no common block found [#3655](https://github.com/paritytech/parity/pull/3655) +- Show snackbar on password change [#3661](https://github.com/paritytech/parity/pull/3661) +- Bring back PV62 support [#3660](https://github.com/paritytech/parity/pull/3660) +- Unlock expecting quantity [#3659](https://github.com/paritytech/parity/pull/3659) +- Update Webpack => v2 [#3643](https://github.com/paritytech/parity/pull/3643) +- Update SMS verification [#3579](https://github.com/paritytech/parity/pull/3579) +- Simplify tx confirmations display [#3559](https://github.com/paritytech/parity/pull/3559) +- Fixes overflow in Signer tx data [#3657](https://github.com/paritytech/parity/pull/3657) +- Fixed tab bar not updating [#3653](https://github.com/paritytech/parity/pull/3653) +- Set default min tx price to $0.0025 [#3617](https://github.com/paritytech/parity/pull/3617) +- Use accountsInfo instead of eth_accounts for first check [#3618](https://github.com/paritytech/parity/pull/3618) +- Fix Copy to Clipboard Snackbar [#3619](https://github.com/paritytech/parity/pull/3619) +- Manually add \r to Windows phrases pre 1.4.5 [#3615](https://github.com/paritytech/parity/pull/3615) +- Signer layouts to flexbox [#3600](https://github.com/paritytech/parity/pull/3600) +- Fixing wrong tokens type in Redux store [#3621](https://github.com/paritytech/parity/pull/3621) +- Add dappreg link to apps list [#3568](https://github.com/paritytech/parity/pull/3568) +- Smarter balance fetching [#3605](https://github.com/paritytech/parity/pull/3605) +- Dapp iframe allow forms, allow target=_blank [#3597](https://github.com/paritytech/parity/pull/3597) +- Align copy button to input field [#3604](https://github.com/paritytech/parity/pull/3604) +- Appending logs by default [#3609](https://github.com/paritytech/parity/pull/3609) +- Update test, fix number. [#3612](https://github.com/paritytech/parity/pull/3612) +- Fixing phrases generated on windows [#3614](https://github.com/paritytech/parity/pull/3614) +- Check for network ID for live/test matching [#3602](https://github.com/paritytech/parity/pull/3602) +- Always insert traces for genesis. [#3603](https://github.com/paritytech/parity/pull/3603) +- Real deleting accounts [#3540](https://github.com/paritytech/parity/pull/3540) +- Trim whitespace from input recovery phrase [#3599](https://github.com/paritytech/parity/pull/3599) +- Fix local tx requests [#3589](https://github.com/paritytech/parity/pull/3589) +- Fix CPU usage when idle [#3592](https://github.com/paritytech/parity/pull/3592) +- Don't fetch balances on every new block if syncing [#3591](https://github.com/paritytech/parity/pull/3591) +- Work around WS in UI [#3587](https://github.com/paritytech/parity/pull/3587) +- CLI option to disable ancient block downloading [#3573](https://github.com/paritytech/parity/pull/3573) +- Move Signer balance queries to store for component-wide re-use [#3531](https://github.com/paritytech/parity/pull/3531) +- Fix wrong method name in `contract.js` [#3580](https://github.com/paritytech/parity/pull/3580) +- Smarter Tokens fetching [#3546](https://github.com/paritytech/parity/pull/3546) +- Fix panic on importing own invalid transaction [#3550](https://github.com/paritytech/parity/pull/3550) +- Use an adaptive number of threads in the verification queue [#2445](https://github.com/paritytech/parity/pull/2445) +- Faster UI - React Tweaks [#3555](https://github.com/paritytech/parity/pull/3555) +- Send value & contract execute gas limit warnings [#3512](https://github.com/paritytech/parity/pull/3512) +- Add TxQueue visibility specifier (not added between merges) [#3566](https://github.com/paritytech/parity/pull/3566) +- DappRegistry [#3405](https://github.com/paritytech/parity/pull/3405) +- Import account message [#3552](https://github.com/paritytech/parity/pull/3552) +- --testnet set to ropsten [#3551](https://github.com/paritytech/parity/pull/3551) +- Fix flaky test [#3547](https://github.com/paritytech/parity/pull/3547) +- Sms verification code style [#3564](https://github.com/paritytech/parity/pull/3564) +- [Registry] Clear input and working buttons [#3563](https://github.com/paritytech/parity/pull/3563) +- Fix peers not displaying [#3561](https://github.com/paritytech/parity/pull/3561) +- New registry contract address for ropsten [#3549](https://github.com/paritytech/parity/pull/3549) +- Use contract Registry fee, not a hard-coded value [#3554](https://github.com/paritytech/parity/pull/3554) +- Don't query chain in Signer, use Redux isTest [#3524](https://github.com/paritytech/parity/pull/3524) +- Moving fetching of hash-addressed dapps/content to separate crate. [#3543](https://github.com/paritytech/parity/pull/3543) +- Ropsten network [#3539](https://github.com/paritytech/parity/pull/3539) +- Add simple one-line installer to README.md [#3534](https://github.com/paritytech/parity/pull/3534) +- Propagations & local transactions tracking [#3491](https://github.com/paritytech/parity/pull/3491) +- Correct format of eth_signTransaction [#3503](https://github.com/paritytech/parity/pull/3503) +- ABI can be empty and auto-fill contract name [#3518](https://github.com/paritytech/parity/pull/3518) +- Fix versions for NPM [#3516](https://github.com/paritytech/parity/pull/3516) +- Better GHH event display & tracking [#3498](https://github.com/paritytech/parity/pull/3498) +- Dapp section & visibility changes [#3438](https://github.com/paritytech/parity/pull/3438) +- Fix parity.js badly built [#3526](https://github.com/paritytech/parity/pull/3526) +- Updated the european warp bootnode addresses [#3528](https://github.com/paritytech/parity/pull/3528) +- Limit sync reorg to 20 blocks [#3519](https://github.com/paritytech/parity/pull/3519) +- Revert "Limit sync reorganization to 20 blocks" [#3517](https://github.com/paritytech/parity/pull/3517) +- Check transaction signature when adding to the queue [#3508](https://github.com/paritytech/parity/pull/3508) +- Limit sync reorganization to 20 blocks [#3509](https://github.com/paritytech/parity/pull/3509) +- Keep track of block gasLimit [#3506](https://github.com/paritytech/parity/pull/3506) +- Smarter Status Polling [#3504](https://github.com/paritytech/parity/pull/3504) +- Handle solc combined output [#3496](https://github.com/paritytech/parity/pull/3496) +- Wallet names shouldn't use UUID [#3481](https://github.com/paritytech/parity/pull/3481) +- Make parity.js usable by Node and Browser [#3475](https://github.com/paritytech/parity/pull/3475) +- Sms verification modal [#3336](https://github.com/paritytech/parity/pull/3336) +- Sudo -c is not supported on Mac [#3488](https://github.com/paritytech/parity/pull/3488) +- Add trace_{call, rawTransaction, replayTransaction} [#3492](https://github.com/paritytech/parity/pull/3492) +- Check for possible panics in scrypt key derivation [#3490](https://github.com/paritytech/parity/pull/3490) +- Sync traffic optimization [#3477](https://github.com/paritytech/parity/pull/3477) +- Wallet files shouldn't give away the address [#3378](https://github.com/paritytech/parity/pull/3378) +- Fixing tests, fixing refreshing precompiled [#3483](https://github.com/paritytech/parity/pull/3483) +- Better Errors Snackbar in UI [#3478](https://github.com/paritytech/parity/pull/3478) +- Handle Signer Rejection [#3476](https://github.com/paritytech/parity/pull/3476) +- Enhanced MethodDecoding in Transactions list [#3454](https://github.com/paritytech/parity/pull/3454) +- Signer new-token generates a link and opens browser [#3379](https://github.com/paritytech/parity/pull/3379) +- Make tokenreg dapp fast again [#3474](https://github.com/paritytech/parity/pull/3474) +- Build fix [#3470](https://github.com/paritytech/parity/pull/3470) +- Display deployed Basic token addresses [#3447](https://github.com/paritytech/parity/pull/3447) +- Export accounts as JSON or CSV [#2866](https://github.com/paritytech/parity/pull/2866) +- Set HF2 block number [#3466](https://github.com/paritytech/parity/pull/3466) +- Better word list for secret phrase generation [#3461](https://github.com/paritytech/parity/pull/3461) +- Drop spec when no longer useful [#3460](https://github.com/paritytech/parity/pull/3460) +- Add fallback check in ABI validation [#3459](https://github.com/paritytech/parity/pull/3459) +- Save sort order in LocalStorage [#3457](https://github.com/paritytech/parity/pull/3457) +- Adds onPaste event to Inputs [#3456](https://github.com/paritytech/parity/pull/3456) +- Update signer to take care of text overflows [#3450](https://github.com/paritytech/parity/pull/3450) +- Authority round consensus engine [#3426](https://github.com/paritytech/parity/pull/3426) +- Fix transfer token decimal calculation [#3445](https://github.com/paritytech/parity/pull/3445) +- Restrict max code size for EIP-150 and after. [#3363](https://github.com/paritytech/parity/pull/3363) +- Contract queries should display IdentityIcons [#3453](https://github.com/paritytech/parity/pull/3453) +- Use Babel in vendor when needed [#3451](https://github.com/paritytech/parity/pull/3451) +- Use signature of functions instead of names [#3448](https://github.com/paritytech/parity/pull/3448) +- Handle contract constructor inputs [#3430](https://github.com/paritytech/parity/pull/3430) +- Use Contract owner for unregistering Token [#3446](https://github.com/paritytech/parity/pull/3446) +- Create directories only if feature is enabled [#3442](https://github.com/paritytech/parity/pull/3442) +- Import AddresBook from exported JSON [#3433](https://github.com/paritytech/parity/pull/3433) +- Scrollable accounts in autocomplete [#3427](https://github.com/paritytech/parity/pull/3427) +- Bump ws-rs [#3428](https://github.com/paritytech/parity/pull/3428) +- Swap TokenReg dapp from base to decimals [#3425](https://github.com/paritytech/parity/pull/3425) +- Change beta builds to stable on Travis [#3421](https://github.com/paritytech/parity/pull/3421) +- Refactor copy to clipboard functionality [#3420](https://github.com/paritytech/parity/pull/3420) +- Dev chain [#3385](https://github.com/paritytech/parity/pull/3385) +- Fetch known code from the database during restoration [#3377](https://github.com/paritytech/parity/pull/3377) +- Fixing benches [#3422](https://github.com/paritytech/parity/pull/3422) +- Fix chainspec storage field. [#3406](https://github.com/paritytech/parity/pull/3406) +- Abort snapshot restoration faster [#3356](https://github.com/paritytech/parity/pull/3356) +- Remove addresses, display non-refundable warning on registries [#3403](https://github.com/paritytech/parity/pull/3403) +- Don't auto-unsubscribe when subscriber callback throws [#3401](https://github.com/paritytech/parity/pull/3401) +- Fix dapp account selection [#3399](https://github.com/paritytech/parity/pull/3399) +- Fix travis build: remove unused import [#3381](https://github.com/paritytech/parity/pull/3381) +- Optimize memory footprint [#3376](https://github.com/paritytech/parity/pull/3376) +- Fixing parsing passwords from file [#3367](https://github.com/paritytech/parity/pull/3367) +- Remove some unwraps from parity/helpers [#3364](https://github.com/paritytech/parity/pull/3364) +- Load external, builtin & local apps in parallel [#3340](https://github.com/paritytech/parity/pull/3340) +- Solidity Compiler in UI [#3279](https://github.com/paritytech/parity/pull/3279) +- Determine real-time HTTP connected status [#3335](https://github.com/paritytech/parity/pull/3335) +- Clarify error message about disabled Signer [#3359](https://github.com/paritytech/parity/pull/3359) +- Cater for home.parity hostname in dappsUrl [#3341](https://github.com/paritytech/parity/pull/3341) +- Make sure Token is ECR20 [#3347](https://github.com/paritytech/parity/pull/3347) +- [TokenReg dApp] Fixed Unregister for Contract Owner only [#3346](https://github.com/paritytech/parity/pull/3346) +- LES Part 1 [#3322](https://github.com/paritytech/parity/pull/3322) +- Make transactions load [#3348](https://github.com/paritytech/parity/pull/3348) +- Manual bump package.json [#3345](https://github.com/paritytech/parity/pull/3345) +- Windows app and installer fixes [#3338](https://github.com/paritytech/parity/pull/3338) +- Fix JS API test [#3342](https://github.com/paritytech/parity/pull/3342) +- Git pre-push checks for UI [#3072](https://github.com/paritytech/parity/pull/3072) +- Disarm the HF and add more bootnodes [#3323](https://github.com/paritytech/parity/pull/3323) +- Default contract type on UI [#3310](https://github.com/paritytech/parity/pull/3310) +- In-browser signing support [#3231](https://github.com/paritytech/parity/pull/3231) +- Handle redirects from /api/content on manifest.json gracefully [#3315](https://github.com/paritytech/parity/pull/3315) +- Dapps interface RPC [#3311](https://github.com/paritytech/parity/pull/3311) +- Additional snapshot sync checks [#3318](https://github.com/paritytech/parity/pull/3318) +- Fix spurious signer tests failures [#3312](https://github.com/paritytech/parity/pull/3312) +- Fix signer token updates [#3302](https://github.com/paritytech/parity/pull/3302) +- Update account recovery phrase hint [#3316](https://github.com/paritytech/parity/pull/3316) +- New transaction tests [#3313](https://github.com/paritytech/parity/pull/3313) +- Remove 127.0.0.1 references [#3303](https://github.com/paritytech/parity/pull/3303) +- Fix for opening UI after installation on mac [#3300](https://github.com/paritytech/parity/pull/3300) +- Fixed uncle query [#3299](https://github.com/paritytech/parity/pull/3299) +- Updated blance display with max decimals [#3266](https://github.com/paritytech/parity/pull/3266) +- Refactoring Signer to auto_args + eth_signTransaction [#3261](https://github.com/paritytech/parity/pull/3261) +- Fix typo [#3298](https://github.com/paritytech/parity/pull/3298) +- Change to more common focused spelling [#3264](https://github.com/paritytech/parity/pull/3264) +- Manual bump of package.json (recovery) [#3295](https://github.com/paritytech/parity/pull/3295) +- Fix initial token generation [#3289](https://github.com/paritytech/parity/pull/3289) +- Fixed IO service shutdown [#3286](https://github.com/paritytech/parity/pull/3286) +- Autostart setting for windows tray app [#3269](https://github.com/paritytech/parity/pull/3269) +- Fixes for 1.4 [#3260](https://github.com/paritytech/parity/pull/3260) +- Build tray app for x64 [#3255](https://github.com/paritytech/parity/pull/3255) +- Add secure flag back [#3244](https://github.com/paritytech/parity/pull/3244) +- Verify chunk hashes in cli restore [#3241](https://github.com/paritytech/parity/pull/3241) +- Load network apps manifests as contentHash (no coding) [#3235](https://github.com/paritytech/parity/pull/3235) +- Fixed some typos [#3236](https://github.com/paritytech/parity/pull/3236) +- Rename cli and config options signer->ui [#3232](https://github.com/paritytech/parity/pull/3232) +- Add store for dapps state [#3211](https://github.com/paritytech/parity/pull/3211) +- Fix first-time tagging of contracts [#3222](https://github.com/paritytech/parity/pull/3222) +- Fix /parity-utils/{web3,parity}.js webpack errors [#3221](https://github.com/paritytech/parity/pull/3221) +- Improve 'invalid raw key' error msg [#3219](https://github.com/paritytech/parity/pull/3219) +- Cleaning up polluted namespaces [#3143](https://github.com/paritytech/parity/pull/3143) +- Set passive mode for first run only [#3214](https://github.com/paritytech/parity/pull/3214) +- Parity configuration settings, i.e. mode [#3212](https://github.com/paritytech/parity/pull/3212) +- Ethash unsafety cleanup [#3210](https://github.com/paritytech/parity/pull/3210) +- Mode improvements for UI [#3109](https://github.com/paritytech/parity/pull/3109) +- Delay bomb for Classic (ECIP-1010) [#3179](https://github.com/paritytech/parity/pull/3179) +- Use ethcore_dappsPort when constructing URLs [#3139](https://github.com/paritytech/parity/pull/3139) +- Add copy address button to Contract deploy [#3199](https://github.com/paritytech/parity/pull/3199) +- Expose Parity api as window.secureApi [#3207](https://github.com/paritytech/parity/pull/3207) +- Add error for sendRawTransaction and estimateGas [#3194](https://github.com/paritytech/parity/pull/3194) +- Exposing engine extra info in block RPC [#3169](https://github.com/paritytech/parity/pull/3169) +- V1.5 [#3195](https://github.com/paritytech/parity/pull/3195) +- Remove dapp logos (GHH points to dapp-assets) [#3192](https://github.com/paritytech/parity/pull/3192) +- Fixing possible race in ethcore_hashContent [#3191](https://github.com/paritytech/parity/pull/3191) +- Bump package.json version (1.5 is master) [#3193](https://github.com/paritytech/parity/pull/3193) diff --git a/docs/CHANGELOG-1.6.md b/docs/CHANGELOG-1.6.md new file mode 100644 index 000000000..19ff6ef26 --- /dev/null +++ b/docs/CHANGELOG-1.6.md @@ -0,0 +1,614 @@ +## Parity [v1.6.10](https://github.com/paritytech/parity/releases/tag/v1.6.10) (2017-07-25) + +This is a hotfix release for the stable channel addressing the recent [multi-signature wallet vulnerability](https://blog.parity.io/security-alert-high-2/). Note, upgrading is not mandatory, and all future multi-sig wallets created by any version of Parity are secure. + +All Changes: + +- Backports for stable [#6116](https://github.com/paritytech/parity/pull/6116) + - Remove chunk to restore from pending set only upon successful import [#6112](https://github.com/paritytech/parity/pull/6112) + - Blacklist bad snapshot manifest hashes upon failure [#5874](https://github.com/paritytech/parity/pull/5874) + - Bump snap version and tweak importing detection logic [#6079](https://github.com/paritytech/parity/pull/6079) (modified to work) +- Fix docker build for stable [#6118](https://github.com/paritytech/parity/pull/6118) +- Update wallet library binaries [#6108](https://github.com/paritytech/parity/pull/6108) +- Backported wallet fix [#6104](https://github.com/paritytech/parity/pull/6104) + - Fix initialisation bug. ([#6102](https://github.com/paritytech/parity/pull/6102)) + - Update wallet library modifiers ([#6103](https://github.com/paritytech/parity/pull/6103)) +- Bump to v1.6.10 + +## Parity [v1.6.9](https://github.com/paritytech/parity/releases/tag/v1.6.9) (2017-07-16) + +This is a first stable release of 1.6 series. It contains a number of minor fixes and introduces the `--reseal-on-uncles` option for miners. + +Full list of changes: + +- Backports [#6061](https://github.com/paritytech/parity/pull/6061) + - Ethereum Classic Monetary Policy [#5741](https://github.com/paritytech/parity/pull/5741) + - Update rewards for uncle miners for ECIP1017 + - Fix an off-by-one error in ECIP1017 era calculation + - `ecip1017_era_rounds` missing from EthashParams when run in build bot + - strip out ecip1017_eras_block_reward function and add unit test + - JS precompiled set to stable +- Backports [#6060](https://github.com/paritytech/parity/pull/6060) + - --reseal-on-uncle [#5940](https://github.com/paritytech/parity/pull/5940) + - Optimized uncle check + - Additional uncle check + - Updated comment + - Bump to v1.6.9 + - CLI: Export error message and less verbose peer counter. [#5870](https://github.com/paritytech/parity/pull/5870) + - Removed numbed of active connections from informant + - Print error message when fatdb is required + - Remove peers from UI + +## Parity [v1.6.8](https://github.com/paritytech/parity/releases/tag/v1.6.8) (2017-06-08) + +This release addresses: + +- a rare condition where quickly creating a new account was generating an account not matching the recovery phrase. +- compressed RLP strings caused wrong/empty transaction receipts on Classic network. +- blacklisting the _empty phrase_ account from UI and RPC on non-development chains. See also [this blog post](https://blog.parity.io/restoring-blank-seed-phrase/). +- canceling transactions that didn't have a condition. +- the updated Expanse fork block and chain ID. + +Full changelog: + +- Backporting to beta [#5791](https://github.com/paritytech/parity/pull/5791) + - Bump to v1.6.8 + - Update expanse json with fork at block 600000 [#5351](https://github.com/paritytech/parity/pull/5351) + - Update expanse json with fork at block 600000 + - Update exp chainID to 2 + - Bumped mio [#5763](https://github.com/paritytech/parity/pull/5763) + - Fixed default UI port for mac installer [#5782](https://github.com/paritytech/parity/pull/5782) + - Blacklist empty phrase account. [#5730](https://github.com/paritytech/parity/pull/5730) + - Update Cid/multihash/ring/tinykeccak [#5785](https://github.com/paritytech/parity/pull/5785) + - Updating ring,multihash,tiny-keccak + - Updating CID in ipfs. + - Disable compression for RLP strings [#5786](https://github.com/paritytech/parity/pull/5786) +- Beta Backports [#5789](https://github.com/paritytech/parity/pull/5789) + - Fix local transactions without condition. [#5716](https://github.com/paritytech/parity/pull/5716) + - Block invalid account name creation [#5784](https://github.com/paritytech/parity/pull/5784) + - Additional non-empty phrase check (fromNew) + - Explicit canCreate check in create (not only on UI) + - BN instance check (fixes Geth imports) + - Fixup tests after better checks + - Recover from empty phrase in dev mode [#5698](https://github.com/paritytech/parity/pull/5698) + - Add dev chain to isTest + - Fix signer + - Fix no condition transactions + - Fix case: old parity + - Fix propTypes. + +## Parity [v1.6.7](https://github.com/paritytech/parity/releases/tag/v1.6.7) (2017-05-18) + +This release addresses: + +- potential usability issues with [import and recovery of existing accounts](https://blog.parity.io/restoring-blank-seed-phrase/). +- canceling scheduled transactions via RPC or UI. +- warp sync issues with the Kovan network. + +Full changelog: + +- Backporting to beta [#5657](https://github.com/paritytech/parity/pull/5657) + - Add CHANGELOG.md [#5513](https://github.com/paritytech/parity/pull/5513) + - Reorg into blocks before minimum history [#5558](https://github.com/paritytech/parity/pull/5558) + - Bump to v1.6.7 +- Cancel Transaction [#5656](https://github.com/paritytech/parity/pull/5656) + - option to disable persistent txqueue [#5544](https://github.com/paritytech/parity/pull/5544) + - Remove transaction RPC [#4949](https://github.com/paritytech/parity/pull/4949) + - Cancel tx JS [#4958](https://github.com/paritytech/parity/pull/4958) + - Updating documentation for RPCs [#5392](https://github.com/paritytech/parity/pull/5392) +- Backport Recover button [#5654](https://github.com/paritytech/parity/pull/5654) + - Backport [#5645](https://github.com/paritytech/parity/pull/5645) +- Add monotonic step to Kovan [#5630](https://github.com/paritytech/parity/pull/5630) + - Add monotonic transition to kovan [#5587](https://github.com/paritytech/parity/pull/5587) +- Fix ethsign [#5600](https://github.com/paritytech/parity/pull/5600) +- Registry backports [#5445](https://github.com/paritytech/parity/pull/5445) + - Fixes to the Registry dapp [#4984](https://github.com/paritytech/parity/pull/4984) + - Fix references to api outside of `parity.js` [#4981](https://github.com/paritytech/parity/pull/4981) + +## Parity [v1.6.6](https://github.com/paritytech/parity/releases/tag/v1.6.6) (2017-04-11) + +This release brings warp sync support for kovan network. + +- Beta Backports [#5434](https://github.com/paritytech/parity/pull/5434) + - Bump to v1.6.6 + - Strict validation transitions [#4988](https://github.com/paritytech/parity/pull/4988) + - Ability to make validation stricter + - Fix consensus + - Remove logger + - Fix eth_sign showing as wallet account [#5309](https://github.com/paritytech/parity/pull/5309) + - DefaultProps for account + - Pass signing account + - Update tests for Connect(...) + - Add new seed nodes [#5345](https://github.com/paritytech/parity/pull/5345) + - Kovan warp sync fixed +- Aura eip155 validation transition [#5363](https://github.com/paritytech/parity/pull/5363) + - Add eip155 validation + - Add transition block +- Default eip155 validation [#5350](https://github.com/paritytech/parity/pull/5350) +- Backport syntax libs update [#5316](https://github.com/paritytech/parity/pull/5316) + +## Parity [v1.6.5](https://github.com/paritytech/parity/releases/tag/v1.6.5) (2017-03-28) + +This release contains the following changes: + +- Warp sync snapshot format improvements. +- Fix for Firefox UI issues. +- Fix for restoring from a file snapshot. +- Fix for auto-updater error handling. +- Updated configuration for [Ropsten revival](https://github.com/ethereum/ropsten/blob/master/revival.md). Make sure to delete old Ropsten blockchain first with `parity db kill --chain ropsten`. After that you can sync normally with `parity --chain ropsten`. + +Full changes: + +- Beta Backports [#5299](https://github.com/paritytech/parity/pull/5299) + - Fix FireFox overflows [#5000](https://github.com/paritytech/parity/pull/5000) + - Max width for container + - Set min-width + - Switching ValidatorSet [#4961](https://github.com/paritytech/parity/pull/4961) + - Add multi validator set + - Nicer comment + - Validate in constructor + - Reporting + - Avoid clogging up tmp when updater dir has bad permissions. [#5024](https://github.com/paritytech/parity/pull/5024) + - Force earliest era set in snapshot restore [#5021](https://github.com/paritytech/parity/pull/5021) + - Bumb to v1.6.5 + - Fine grained snapshot chunking + - Ropsten revival +- Fix validator contract syncing [#4789](https://github.com/paritytech/parity/pull/4789) [#5011](https://github.com/paritytech/parity/pull/5011) + - Make validator set aware of various states + - Fix updater build + - Clean up contract call + - Failing sync test + - Adjust tests + - Nicer indent + - Revert bound divisor + +## Parity [v1.6.4](https://github.com/paritytech/parity/releases/tag/v1.6.4) (2017-03-22) + +A number of issues fixed in this release: + +- Ledger device connectivity issues for some users on Windows. +- Improved vault usability. +- Stratum mining no longer requires `--force-sealing`. +- `evm` binary has been renamed to `parity-evm` to avoid conflict with cpp-ethereum package. + +Full Changes: + +- Backporting to beta [#4995](https://github.com/paritytech/parity/pull/4995) + - Bump to v1.6.4 + - Ensure sealing work enabled if notifier registed + - Fix condition check + - Always send full chunks [#4960](https://github.com/paritytech/parity/pull/4960) + - Bump nanomsg [#4965](https://github.com/paritytech/parity/pull/4965) + - Renaming evm binary to avoid conflicts. [#4899](https://github.com/paritytech/parity/pull/4899) +- Beta UI backports [#4993](https://github.com/paritytech/parity/pull/4993) + - Update js-precompiled 20170314-121823 + - Attach hardware wallets already in addressbook [#4912](https://github.com/paritytech/parity/pull/4912) + - Attach hardware wallets already in addressbook + - Only set values changed + - Add Vaults logic to First Run [#4894](https://github.com/paritytech/parity/issues/4894) [#4914](https://github.com/paritytech/parity/pull/4914) + - Add ability to configure Secure API (for [#4885](https://github.com/paritytech/parity/issues/4885)) [#4922](https://github.com/paritytech/parity/pull/4922) + - Add z-index to small modals as well [#4923](https://github.com/paritytech/parity/pull/4923) + - Eth_sign where account === undefined [#4964](https://github.com/paritytech/parity/pull/4964) + - Update for case where account === undefined + - Update tests to not mask account === undefined + - Default account = {} where undefined (thanks [@tomusdrw](https://github.com/tomusdrw)) + - Fix Password Dialog forms style issue [#4968](https://github.com/paritytech/parity/pull/4968) + +## Parity [v1.6.3](https://github.com/paritytech/parity/releases/tag/v1.6.3) (2017-03-14) + +This release fixes issue compatibility with Safari on MacOS. + +- Safari fixes [#4902](https://github.com/paritytech/parity/pull/4902) + - Add intitial max-width to sections + - Move background z-index to -1 + +## Parity [v1.6.2](https://github.com/paritytech/parity/releases/tag/v1.6.2) (2017-03-13) + +A major release introducing a few new features: + +- Revamped UI. +- Account Vaults. +- Support for Ledger hardware wallet devices. +- Stratum protocol for PoW mining. +- A new MacOS installer. Parity for MacOS now includes a Menu Bar icon that allows controlling Parity service. +- Disk backed transaction store. Pending transactions are now saved to disk and won't get lost when Parity is restarted. +- Improved memory management. + +See the [blog post](https://blog.parity.io/announcing-parity-1-6/) for more details. + +Full Changes: + +- Fix auto-updater beta [#4868](https://github.com/paritytech/parity/pull/4868) +- Beta UI backports [#4855](https://github.com/paritytech/parity/pull/4855) + - Added React Hot Reload to dapps + TokenDeplpoy fix ([#4846](https://github.com/paritytech/parity/pull/4846)) + - Fix method decoding ([#4845](https://github.com/paritytech/parity/pull/4845)) + - Fix contract deployment method decoding in Signer + - Linting + - Fix TxViewer when no `to` (contract deployment) ([#4847](https://github.com/paritytech/parity/pull/4847)) + - Added React Hot Reload to dapps + TokenDeplpoy fix + - Fixes to the LocalTx dapp + - Don't send the nonce for mined transactions + - Don't encode empty to values for options + - Pull steps from actual available steps ([#4848](https://github.com/paritytech/parity/pull/4848)) + - Wait for the value to have changed in the input ([#4844](https://github.com/paritytech/parity/pull/4844)) + - Backport Regsirty changes from [#4589](https://github.com/paritytech/parity/pull/4589) + - Test fixes for [#4589](https://github.com/paritytech/parity/pull/4589) +- Beta Simple score [#4852](https://github.com/paritytech/parity/pull/4852) + - Simple score + - Ignore part of a test +- Backporting to beta [#4840](https://github.com/paritytech/parity/pull/4840) + - Fixes to the Registry dapp ([#4838](https://github.com/paritytech/parity/pull/4838)) + - Fix wrong ABI methods + - Fix comparison + - Bump to v1.6.1 +- Show token icons on list summary pages ([#4826](https://github.com/paritytech/parity/pull/4826)) [#4827](https://github.com/paritytech/parity/pull/4827) + - Adjust balance overlay margins (no jumps) + - Img only balances, small verifications + - Invalid tests removed + - Always wrap display (Thanks [@ngotchac](https://github.com/ngotchac)) + - Update tests to reflect reality +- Beta Engine backports [#4806](https://github.com/paritytech/parity/pull/4806) + - Calibrate before rejection + - Change flag name + - Add eip155 + - Make network_id default +- Beta UI backports [#4823](https://github.com/paritytech/parity/pull/4823) + - Better logic for contract deployments ([#4821](https://github.com/paritytech/parity/pull/4821)) +- Beta UI backports [#4818](https://github.com/paritytech/parity/pull/4818) + - Update the key ([#4817](https://github.com/paritytech/parity/pull/4817)) + - Adjust selection colours/display ([#4811](https://github.com/paritytech/parity/pull/4811)) + - Adjust selection colours to match with mui + - allow -> disable (simplify selections) + - Only use top-border + - Overlay selection line + - Slightly more muted unselected + - Restore address icon + - Fix default values for contract queries +- Beta UI backports [#4809](https://github.com/paritytech/parity/pull/4809) + - Update Wallet to new Wallet Code ([#4805](https://github.com/paritytech/parity/pull/4805)) + - Update Wallet Version + - Update Wallet Library + - Update Wallets Bytecodes + - Typo + - Separate Deploy in Contract API + - Use the new Wallet ABI // Update wallet code + - WIP .// Deploy from Wallet + - Update Wallet contract + - Contract Deployment for Wallet + - Working deployments for Single Owned Wallet contracts + - Linting + - Create a Wallet from a Wallet + - Linting + - Fix Signer transactions // Add Gas Used for transactions + - Deploy wallet contract fix + - Fix too high gas estimate for Wallet Contract Deploys + - Final piece ; deploying from Wallet owned by wallet + - Update Wallet Code + - Updated the Wallet Codes + - Fixing Wallet Deployments + - Add Support for older wallets + - Linting + - SMS Faucet ([#4774](https://github.com/paritytech/parity/pull/4774)) + - Faucet + - Remove flakey button-index testing + - Only display faucet when sms verified (mainnet) + - Simplify availability checks + - WIP + - Resuest from verified -> verified + - Update endpoint, display response text + - Error icon on errors + - Parse hash text response + - Use /api/:address endpoint + - Hash -> data + - Adjust sms-certified message + - Fix SectionList hovering issue ([#4749](https://github.com/paritytech/parity/pull/4749)) + - Fix SectionList Items hover when <3 items + - Even easier... + - Lint (new) +- Update ETC bootnodes [#4794](https://github.com/paritytech/parity/pull/4794) +- Update comments and reg ABI [#4787](https://github.com/paritytech/parity/pull/4787) +- Optimize signature for fallback function. [#4780](https://github.com/paritytech/parity/pull/4780) +- Rephrasing token generation screen. [#4777](https://github.com/paritytech/parity/pull/4777) +- Etherscan links based on netVersion identifier [#4772](https://github.com/paritytech/parity/pull/4772) +- Update README.md [#4762](https://github.com/paritytech/parity/pull/4762) +- Fix invalid props to verification code [#4766](https://github.com/paritytech/parity/pull/4766) +- Extend authority round consensus test [#4756](https://github.com/paritytech/parity/pull/4756) +- Revert last hyper "fix" [#4752](https://github.com/paritytech/parity/pull/4752) +- Vault Management UI (round 3) [#4652](https://github.com/paritytech/parity/pull/4652) +- Update SelectionList indicators [#4736](https://github.com/paritytech/parity/pull/4736) +- Update testnet detection [#4746](https://github.com/paritytech/parity/pull/4746) +- Fix Portal in Portal ESC issue [#4745](https://github.com/paritytech/parity/pull/4745) +- Update wiki [#4743](https://github.com/paritytech/parity/pull/4743) +- Account selector close operations [#4728](https://github.com/paritytech/parity/pull/4728) +- Fix Account Selection in Signer [#4744](https://github.com/paritytech/parity/pull/4744) +- Support both V1 & V2 DataChanged events in registry [#4734](https://github.com/paritytech/parity/pull/4734) +- Add info on forks. [#4733](https://github.com/paritytech/parity/pull/4733) +- Add registry addr [#4732](https://github.com/paritytech/parity/pull/4732) +- UI support for hardware wallets [#4539](https://github.com/paritytech/parity/pull/4539) +- S/delete/forget/ for wallets [#4729](https://github.com/paritytech/parity/pull/4729) +- New chains [#4720](https://github.com/paritytech/parity/pull/4720) +- Enable --warp by default [#4719](https://github.com/paritytech/parity/pull/4719) +- Update Uglify (fix to 2.8.2) to fix binary builds [#4723](https://github.com/paritytech/parity/pull/4723) +- Extract i18n strings in modals/* [#4706](https://github.com/paritytech/parity/pull/4706) +- Provide uncle size where available in RPC [#4713](https://github.com/paritytech/parity/pull/4713) +- EC math functions [#4696](https://github.com/paritytech/parity/pull/4696) +- Add registrar fields [#4716](https://github.com/paritytech/parity/pull/4716) +- Extract i18n strings in views/* [#4695](https://github.com/paritytech/parity/pull/4695) +- Removing network=disable from config files [#4715](https://github.com/paritytech/parity/pull/4715) +- Fast in-place migration for adding and removing column families [#4687](https://github.com/paritytech/parity/pull/4687) +- Display badges on summary view [#4689](https://github.com/paritytech/parity/pull/4689) +- Consistent file uploads [#4699](https://github.com/paritytech/parity/pull/4699) +- Rename https://mkr.market -> https://oasisdex.com [#4701](https://github.com/paritytech/parity/pull/4701) +- Stop copy & clickthrough from list summaries [#4700](https://github.com/paritytech/parity/pull/4700) +- Display ... for address summary overflows [#4691](https://github.com/paritytech/parity/pull/4691) +- Less agressive grayscale/opacity in SelectionList [#4688](https://github.com/paritytech/parity/pull/4688) +- Propagate trie errors upwards from State [#4655](https://github.com/paritytech/parity/pull/4655) +- Generic state backend [#4632](https://github.com/paritytech/parity/pull/4632) +- Enhance dialog layouts (round 1) [#4637](https://github.com/paritytech/parity/pull/4637) +- Vault Management UI (round 2) [#4631](https://github.com/paritytech/parity/pull/4631) +- Fix Portal broad event stopper [#4674](https://github.com/paritytech/parity/pull/4674) +- Custom dev chain presets [#4671](https://github.com/paritytech/parity/pull/4671) +- Max gas limit and min gas price [#4661](https://github.com/paritytech/parity/pull/4661) +- Align list displays with SectionList (UI consistency) [#4621](https://github.com/paritytech/parity/pull/4621) +- Add SelectionList component to DRY up [#4639](https://github.com/paritytech/parity/pull/4639) +- I18n NL linting updates [#4662](https://github.com/paritytech/parity/pull/4662) +- Misc. small UI fixes [#4657](https://github.com/paritytech/parity/pull/4657) +- More CLI settings for IPFS API [#4608](https://github.com/paritytech/parity/pull/4608) +- Fix Tendermint deadlock [#4654](https://github.com/paritytech/parity/pull/4654) +- Nl translations [#4649](https://github.com/paritytech/parity/pull/4649) +- Update transaction condition documentation [#4659](https://github.com/paritytech/parity/pull/4659) +- Bump hyper versions [#4645](https://github.com/paritytech/parity/pull/4645) +- Sane updater [#4658](https://github.com/paritytech/parity/pull/4658) +- Remainder of RPC APIs implemented for the light client [#4594](https://github.com/paritytech/parity/pull/4594) +- Preserve vault meta when changing pwd [#4650](https://github.com/paritytech/parity/pull/4650) +- Fix Geth account import [#4641](https://github.com/paritytech/parity/pull/4641) +- Tweak some checks. [#4633](https://github.com/paritytech/parity/pull/4633) +- Attempt to fix subscribeToEvents test [#4638](https://github.com/paritytech/parity/pull/4638) +- Fix selection value from RadioButtons [#4636](https://github.com/paritytech/parity/pull/4636) +- Convert all remaining Modals to use Portal (UI consistency) [#4625](https://github.com/paritytech/parity/pull/4625) +- Default account selection update [#4609](https://github.com/paritytech/parity/pull/4609) +- Display ETH balance in overlay account selector [#4588](https://github.com/paritytech/parity/pull/4588) +- Fixed minor grammar mistake in readme [#4627](https://github.com/paritytech/parity/pull/4627) +- Extract newly available i18n strings [#4623](https://github.com/paritytech/parity/pull/4623) +- Save pending local transactions in the database [#4566](https://github.com/paritytech/parity/pull/4566) +- Bump CID version to allow compilation on all platforms [#4614](https://github.com/paritytech/parity/pull/4614) +- Vault Management UI (first round) [#4446](https://github.com/paritytech/parity/pull/4446) +- Let Engine decide if it seals internally [#4613](https://github.com/paritytech/parity/pull/4613) +- Show only known accounts/wallets/addresses on Home [#4612](https://github.com/paritytech/parity/pull/4612) +- Proper default accounts RPCs [#4580](https://github.com/paritytech/parity/pull/4580) +- Hash-fetch errors in case upstream returns non-200 [#4599](https://github.com/paritytech/parity/pull/4599) +- Added pending transaction info to eth_getTransactionByHash [#4570](https://github.com/paritytech/parity/pull/4570) +- Secret store - initial version [#4567](https://github.com/paritytech/parity/pull/4567) +- Handle invalid ABI retrieved from address_book gracefully [#4606](https://github.com/paritytech/parity/pull/4606) +- Optimize key directory reloads [#4583](https://github.com/paritytech/parity/pull/4583) +- Revert Double Click on Accounts to close in Signer Bar [#4590](https://github.com/paritytech/parity/pull/4590) +- IPFS MVP [#4545](https://github.com/paritytech/parity/pull/4545) +- Networking fixes [#4563](https://github.com/paritytech/parity/pull/4563) +- Remove eth_compile* RPCs [#4577](https://github.com/paritytech/parity/pull/4577) +- Ledger wallet signing fixed [#4578](https://github.com/paritytech/parity/pull/4578) +- Remove vertx from Webpack config [#4576](https://github.com/paritytech/parity/pull/4576) +- Better display of tags [#4564](https://github.com/paritytech/parity/pull/4564) +- Added vaults support to `ethstore-cli` [#4532](https://github.com/paritytech/parity/pull/4532) +- Fixed font URLs [#4579](https://github.com/paritytech/parity/pull/4579) +- Explicitly set seconds to 0 from selector [#4559](https://github.com/paritytech/parity/pull/4559) +- Fixes evmbin compilation and adding to standard build. [#4561](https://github.com/paritytech/parity/pull/4561) +- Alias for personal_sendTransaction [#4554](https://github.com/paritytech/parity/pull/4554) +- Key derivation in ethstore & rpc [#4515](https://github.com/paritytech/parity/pull/4515) +- Skip OOG check for simple transfers [#4558](https://github.com/paritytech/parity/pull/4558) +- Light Client transaction queue, initial LightDispatcher [#4501](https://github.com/paritytech/parity/pull/4501) +- Fixes BadgeReg Middleware [#4556](https://github.com/paritytech/parity/pull/4556) +- Fix pasting of value in Input fields [#4555](https://github.com/paritytech/parity/pull/4555) +- Tooltips with react-intl [#4549](https://github.com/paritytech/parity/pull/4549) +- Close on double-click for Signer Account selection [#4540](https://github.com/paritytech/parity/pull/4540) +- Signer provenance [#4477](https://github.com/paritytech/parity/pull/4477) +- Fix console dapp [#4544](https://github.com/paritytech/parity/pull/4544) +- Extract i18n string into i18n/_defaults (base of translations) [#4514](https://github.com/paritytech/parity/pull/4514) +- Fix contract queries bug [#4534](https://github.com/paritytech/parity/pull/4534) +- Fixing namespace of couple methods in console. [#4538](https://github.com/paritytech/parity/pull/4538) +- Home landing page [#4178](https://github.com/paritytech/parity/pull/4178) +- Bump JSON RPC crates versions [#4530](https://github.com/paritytech/parity/pull/4530) +- Update rust version in README [#4531](https://github.com/paritytech/parity/pull/4531) +- Lower default pruning history and memory [#4528](https://github.com/paritytech/parity/pull/4528) +- Serde 0.9 [#4508](https://github.com/paritytech/parity/pull/4508) +- Fixes to Token Deploy dapp [#4513](https://github.com/paritytech/parity/pull/4513) +- Fixed receipt decoding [#4521](https://github.com/paritytech/parity/pull/4521) +- Several fixes to the Wallet in general [#4504](https://github.com/paritytech/parity/pull/4504) +- Use the current contract name for Solidity compilation [#4510](https://github.com/paritytech/parity/pull/4510) +- Preparation for Light client RPC [#4485](https://github.com/paritytech/parity/pull/4485) +- Fix Dutch translation [#4509](https://github.com/paritytech/parity/pull/4509) +- Fixed a warning and bumped libusb-sys [#4507](https://github.com/paritytech/parity/pull/4507) +- Fix TnC overflows on small screens [#4505](https://github.com/paritytech/parity/pull/4505) +- Fix no data sent in TxQueue dapp [#4502](https://github.com/paritytech/parity/pull/4502) +- Ledger wallet support [#4486](https://github.com/paritytech/parity/pull/4486) +- Add new Componennt for Token Images [#4498](https://github.com/paritytech/parity/pull/4498) +- Fix address and accounts links [#4491](https://github.com/paritytech/parity/pull/4491) +- Fix Token Reg Dapp issues in Firefox [#4489](https://github.com/paritytech/parity/pull/4489) +- Parity.js interfaces for vaults [#4497](https://github.com/paritytech/parity/pull/4497) +- Initial Dutch translations [#4484](https://github.com/paritytech/parity/pull/4484) +- Fix key.meta.vault for root dir keys && read vault.meta without vault key [#4482](https://github.com/paritytech/parity/pull/4482) +- Arbitrary labels for extended keys (u32, H256 built-in) [#4438](https://github.com/paritytech/parity/pull/4438) +- Fix ethstore build [#4492](https://github.com/paritytech/parity/pull/4492) +- Fixed compilation of ethstore-cli [#4493](https://github.com/paritytech/parity/pull/4493) +- Build embedded Parity JS properly and separatly [#4426](https://github.com/paritytech/parity/pull/4426) +- Static link for snappy [#4487](https://github.com/paritytech/parity/pull/4487) +- Work with string numbers in contract (Fixes #4472) [#4478](https://github.com/paritytech/parity/pull/4478) +- Metadata support for vaults [#4475](https://github.com/paritytech/parity/pull/4475) +- Sort gas price corpus when hitting genesis [#4470](https://github.com/paritytech/parity/pull/4470) +- Fixing CORS headers for parity.web3.site [#4461](https://github.com/paritytech/parity/pull/4461) +- Make signing compatible with geth. [#4468](https://github.com/paritytech/parity/pull/4468) +- Handle registry not found errors [#4465](https://github.com/paritytech/parity/pull/4465) +- Fix Portal scrolling getting stuck [#4455](https://github.com/paritytech/parity/pull/4455) +- Fix AccountCard stretch to 100% [#4450](https://github.com/paritytech/parity/pull/4450) +- Include total difficulty in CHTs and hide implementation details from consumers [#4428](https://github.com/paritytech/parity/pull/4428) +- Fix RLP encoding for types recursively calling `RlpStream::append` [#4362](https://github.com/paritytech/parity/pull/4362) +- Open popup without attempting inline [#4440](https://github.com/paritytech/parity/pull/4440) +- Fixing histogram again ([#4464](https://github.com/paritytech/parity/issues/4464)) port from beta [#4467](https://github.com/paritytech/parity/pull/4467) +- Vaults RPCs [#4366](https://github.com/paritytech/parity/pull/4366) +- Ethkey - extended keys [#4377](https://github.com/paritytech/parity/pull/4377) +- Use secure websocket from HTTPS clients [#4436](https://github.com/paritytech/parity/pull/4436) +- RPC middleware: Informant & Client.keep_alive [#4384](https://github.com/paritytech/parity/pull/4384) +- Fix eth_sign/parity_postSign [#4432](https://github.com/paritytech/parity/pull/4432) +- Web view with web3.site support [#4313](https://github.com/paritytech/parity/pull/4313) +- Extend Portal component with title, buttons & steps (as per Modal) [#4392](https://github.com/paritytech/parity/pull/4392) +- Extension installation overlay [#4423](https://github.com/paritytech/parity/pull/4423) +- Add block & timestamp conditions to Signer [#4411](https://github.com/paritytech/parity/pull/4411) +- Transaction timestamp condition [#4419](https://github.com/paritytech/parity/pull/4419) +- Poll for defaultAccount to update dapp & overlay subscriptions [#4417](https://github.com/paritytech/parity/pull/4417) +- Validate dapps accounts with address book [#4407](https://github.com/paritytech/parity/pull/4407) +- Dapps use defaultAccount instead of own selectors [#4386](https://github.com/paritytech/parity/pull/4386) +- Fix lock and rename tracing [#4403](https://github.com/paritytech/parity/pull/4403) +- Restarting fetch client every now and then [#4399](https://github.com/paritytech/parity/pull/4399) +- Perform a sync between Rust and JS when generating markdown instead of in spec tests [#4408](https://github.com/paritytech/parity/pull/4408) +- Registry dapp: make lookup use lower case [#4409](https://github.com/paritytech/parity/pull/4409) +- Available Dapp selection alignment with Permissions (Portal) [#4374](https://github.com/paritytech/parity/pull/4374) +- More permissive verification process [#4317](https://github.com/paritytech/parity/pull/4317) +- Fix ParityBar account selection overflows [#4405](https://github.com/paritytech/parity/pull/4405) +- Mac binaries signing [#4397](https://github.com/paritytech/parity/pull/4397) +- Revert "remove [ci skip]" [#4398](https://github.com/paritytech/parity/pull/4398) +- Registry, s/a the owner/the owner/ [#4391](https://github.com/paritytech/parity/pull/4391) +- Fixing invalid address in docs [#4388](https://github.com/paritytech/parity/pull/4388) +- Remove [ci skip] [#4381](https://github.com/paritytech/parity/pull/4381) +- Fixing estimate gas in case histogram is not available [#4387](https://github.com/paritytech/parity/pull/4387) +- Default Account selector in Signer overlay [#4375](https://github.com/paritytech/parity/pull/4375) +- Fixing web3 in console [#4382](https://github.com/paritytech/parity/pull/4382) +- Add parity_defaultAccount RPC (with subscription) [#4383](https://github.com/paritytech/parity/pull/4383) +- Full JSON-RPC docs + sync tests. [#4335](https://github.com/paritytech/parity/pull/4335) +- Expose util as Api.util [#4372](https://github.com/paritytech/parity/pull/4372) +- Dapp Account Selection & Defaults [#4355](https://github.com/paritytech/parity/pull/4355) +- Publish @parity/jsonrpc [#4365](https://github.com/paritytech/parity/pull/4365) +- Fix signing [#4363](https://github.com/paritytech/parity/pull/4363) +- Fixing embedded bar not closing in chrome extension [#4367](https://github.com/paritytech/parity/pull/4367) +- Update AccountCard for re-use [#4350](https://github.com/paritytech/parity/pull/4350) +- Add proper event listener to Portal [#4359](https://github.com/paritytech/parity/pull/4359) +- Optional from field in Transaction Requests [#4332](https://github.com/paritytech/parity/pull/4332) +- Rust 1.14 in README [ci-skip] [#4361](https://github.com/paritytech/parity/pull/4361) +- Fix JournalDB::earliest_era on empty database [#4316](https://github.com/paritytech/parity/pull/4316) +- Fixed race condition deadlock on fetching enode URL [#4354](https://github.com/paritytech/parity/pull/4354) +- Allow Portal to be used as top-level modal [#4338](https://github.com/paritytech/parity/pull/4338) +- Fix postsign [#4347](https://github.com/paritytech/parity/pull/4347) +- Renaming signAndSendTransaction to sendTransaction [#4351](https://github.com/paritytech/parity/pull/4351) +- Add api.util.encodeMethodCall to parity.js [#4330](https://github.com/paritytech/parity/pull/4330) +- Initial commit for vaults [#4312](https://github.com/paritytech/parity/pull/4312) +- Returning default account as coinbase + allow altering sender in signer [#4323](https://github.com/paritytech/parity/pull/4323) +- Persistent tracking of dapps [#4302](https://github.com/paritytech/parity/pull/4302) +- Exposing all RPCs over dapps port as CLI option [#4346](https://github.com/paritytech/parity/pull/4346) +- New macOS App [#4345](https://github.com/paritytech/parity/pull/4345) +- Display QrCode for accounts, addresses & contracts [#4329](https://github.com/paritytech/parity/pull/4329) +- Add QrCode & Copy to ShapeShift [#4322](https://github.com/paritytech/parity/pull/4322) +- Parity.js api.parity.chainStatus should handle { blockGap: null } [#4327](https://github.com/paritytech/parity/pull/4327) +- DeleteAccount & LoadContract modal updates [#4320](https://github.com/paritytech/parity/pull/4320) +- Split Tab from TabBar [#4318](https://github.com/paritytech/parity/pull/4318) +- Contracts interface expansion [#4307](https://github.com/paritytech/parity/pull/4307) +- HistoryStore for tracking relevant routes [#4305](https://github.com/paritytech/parity/pull/4305) +- Split Dapp icon into ui/DappIcon (re-use) [#4308](https://github.com/paritytech/parity/pull/4308) +- Add a Playground for the UI Components [#4301](https://github.com/paritytech/parity/pull/4301) +- Update CreateWallet with FormattedMessage [#4298](https://github.com/paritytech/parity/pull/4298) +- Update dates for new PRs missed [#4306](https://github.com/paritytech/parity/pull/4306) +- EIP-98: Optional transaction state root [#4296](https://github.com/paritytech/parity/pull/4296) +- Fix whitespace [#4299](https://github.com/paritytech/parity/pull/4299) +- Attempt to fix console. [#4294](https://github.com/paritytech/parity/pull/4294) +- Ui/SectionList component [#4292](https://github.com/paritytech/parity/pull/4292) +- Stratum up [#4233](https://github.com/paritytech/parity/pull/4233) +- Logging transaction duration [#4297](https://github.com/paritytech/parity/pull/4297) +- Generic engine utilities [#4258](https://github.com/paritytech/parity/pull/4258) +- JSON-RPC interfaces with documentation [#4276](https://github.com/paritytech/parity/pull/4276) +- Dont decode seal fields [#4263](https://github.com/paritytech/parity/pull/4263) +- Skip misbehaving test until properly fixed [#4283](https://github.com/paritytech/parity/pull/4283) +- Additional logs for own transactions [#4278](https://github.com/paritytech/parity/pull/4278) +- Ensure write lock isn't held when calling handlers [#4285](https://github.com/paritytech/parity/pull/4285) +- Feature selector [#4074](https://github.com/paritytech/parity/pull/4074) +- AccountCreate updates [#3988](https://github.com/paritytech/parity/pull/3988) +- Extended JS interface -> Markdown generator [#4275](https://github.com/paritytech/parity/pull/4275) +- Added 3 warpnodes for ropsten [#4289](https://github.com/paritytech/parity/pull/4289) +- Ledger Communication JS toolkit [#4268](https://github.com/paritytech/parity/pull/4268) +- ValidatorSet reporting [#4208](https://github.com/paritytech/parity/pull/4208) +- Add support for api.subscribe('parity_accountsInfo') [#4273](https://github.com/paritytech/parity/pull/4273) +- Display AccountCard name via IdentityName [#4235](https://github.com/paritytech/parity/pull/4235) +- Dapp visibility save/load tests [#4150](https://github.com/paritytech/parity/pull/4150) +- Fix wrong output format of peers [#4270](https://github.com/paritytech/parity/pull/4270) +- Chain scoring [#4218](https://github.com/paritytech/parity/pull/4218) +- Rust 1.14 for windows builds [#4269](https://github.com/paritytech/parity/pull/4269) +- Eslint formatting updates [#4234](https://github.com/paritytech/parity/pull/4234) +- Embeddable ParityBar [#4222](https://github.com/paritytech/parity/pull/4222) +- Update deb-build.sh to fix libssl dependency [#4260](https://github.com/paritytech/parity/pull/4260) +- Integration with zgp whitelist contract [#4215](https://github.com/paritytech/parity/pull/4215) +- Adjust the location of the signer snippet [#4155](https://github.com/paritytech/parity/pull/4155) +- Fix wrong token handling [#4254](https://github.com/paritytech/parity/pull/4254) +- Additional building-block UI components [#4239](https://github.com/paritytech/parity/pull/4239) +- Bump package.json to 0.3.0 (1.6 track) [#4244](https://github.com/paritytech/parity/pull/4244) +- Disable incoming ETH notifications [#4243](https://github.com/paritytech/parity/pull/4243) +- Memory-based pruning history size [#4114](https://github.com/paritytech/parity/pull/4114) +- Common EngineSigner [#4189](https://github.com/paritytech/parity/pull/4189) +- Verification: don't request a code twice [#4221](https://github.com/paritytech/parity/pull/4221) +- S/Delete Contract/Forget Contract/ [#4237](https://github.com/paritytech/parity/pull/4237) +- Light protocol syncing improvements [#4212](https://github.com/paritytech/parity/pull/4212) +- LES Peer Info [#4195](https://github.com/paritytech/parity/pull/4195) +- Don't panic on uknown git commit hash [#4231](https://github.com/paritytech/parity/pull/4231) +- Cache registry reverses in local storage [#4182](https://github.com/paritytech/parity/pull/4182) +- Update version numbers in README [#4223](https://github.com/paritytech/parity/pull/4223) +- CHT calculations for full nodes [#4181](https://github.com/paritytech/parity/pull/4181) +- Use single source of info for dapp meta (build & display) [#4217](https://github.com/paritytech/parity/pull/4217) +- Non-secure API for DappReg [#4216](https://github.com/paritytech/parity/pull/4216) +- Console now has admin [#4220](https://github.com/paritytech/parity/pull/4220) +- Verification: add mainnet BadgeReg ids [#4190](https://github.com/paritytech/parity/pull/4190) +- Fixing minimal transaction queue price [#4204](https://github.com/paritytech/parity/pull/4204) +- Remove unnecessary Engine method [#4184](https://github.com/paritytech/parity/pull/4184) +- Fixed --base-path on windows [#4193](https://github.com/paritytech/parity/pull/4193) +- Fixing etherscan price parsing [#4202](https://github.com/paritytech/parity/pull/4202) +- LES: Better timeouts + Track failed requests [#4093](https://github.com/paritytech/parity/pull/4093) +- ESLint additional rules [#4186](https://github.com/paritytech/parity/pull/4186) +- JsonRPC bump for IPC fix [#4200](https://github.com/paritytech/parity/pull/4200) +- Poll for upgrades as part of global status (long) [#4197](https://github.com/paritytech/parity/pull/4197) +- Updater fixes [#4196](https://github.com/paritytech/parity/pull/4196) +- Prevent duplicate incoming connections [#4180](https://github.com/paritytech/parity/pull/4180) +- Minor typo to ensure it updates only when synced. [#4188](https://github.com/paritytech/parity/pull/4188) +- Minor refactor for clarity [#4174](https://github.com/paritytech/parity/pull/4174) +- Secret - from hash function, also validate data [#4159](https://github.com/paritytech/parity/pull/4159) +- Gas_limit for blocks, mined by Parity will be divisible by 37 [#4154](https://github.com/paritytech/parity/pull/4154) +- Support HTML5-routed dapps [#4173](https://github.com/paritytech/parity/pull/4173) +- Fix subscribeToEvents test [#4166](https://github.com/paritytech/parity/pull/4166) +- Fix dapps not loading [#4170](https://github.com/paritytech/parity/pull/4170) +- Fix broken token images [#4169](https://github.com/paritytech/parity/pull/4169) +- Bumping hyper [#4167](https://github.com/paritytech/parity/pull/4167) +- Icarus -> update, increase web timeout. [#4165](https://github.com/paritytech/parity/pull/4165) +- Add a password strength component [#4153](https://github.com/paritytech/parity/pull/4153) +- Stop flickering + added loader in AddressSelector [#4149](https://github.com/paritytech/parity/pull/4149) +- On demand LES request [#4036](https://github.com/paritytech/parity/pull/4036) +- Ropsten fork detection [#4163](https://github.com/paritytech/parity/pull/4163) +- Pull in console dapp as builtin [#4145](https://github.com/paritytech/parity/pull/4145) +- Optimized hash lookups [#4144](https://github.com/paritytech/parity/pull/4144) +- UnverifiedTransaction type [#4134](https://github.com/paritytech/parity/pull/4134) +- Verification: check if server is running [#4140](https://github.com/paritytech/parity/pull/4140) +- Remove onSubmit of current (no auto-change on password edit) [#4151](https://github.com/paritytech/parity/pull/4151) +- Trim spaces from InputAddress [#4126](https://github.com/paritytech/parity/pull/4126) +- Don't pop-up notifications after network switch [#4076](https://github.com/paritytech/parity/pull/4076) +- Use estimateGas error (as per updated implementation) [#4131](https://github.com/paritytech/parity/pull/4131) +- Improvements and optimisations to estimate_gas [#4142](https://github.com/paritytech/parity/pull/4142) +- New jsonrpc-core with futures and metadata support [#3859](https://github.com/paritytech/parity/pull/3859) +- Reenable mainnet update server. [#4137](https://github.com/paritytech/parity/pull/4137) +- Temporarily skip failing test [#4138](https://github.com/paritytech/parity/pull/4138) +- Refactor VoteCollector [#4101](https://github.com/paritytech/parity/pull/4101) +- Another minor estimation fix [#4133](https://github.com/paritytech/parity/pull/4133) +- Add proper label to method decoding inputs [#4136](https://github.com/paritytech/parity/pull/4136) +- Remove bindActionCreators({}, dispatch) (empty, unneeded) [#4135](https://github.com/paritytech/parity/pull/4135) +- Better contract error log reporting & handling [#4128](https://github.com/paritytech/parity/pull/4128) +- Fix broken Transfer : total account balance [#4127](https://github.com/paritytech/parity/pull/4127) +- Test harness for lightsync [#4109](https://github.com/paritytech/parity/pull/4109) +- Fix call/estimate_gas [#4121](https://github.com/paritytech/parity/pull/4121) +- Fixing decoding ABI with signatures in names [#4125](https://github.com/paritytech/parity/pull/4125) +- Get rid of unsafe code in ethkey, propagate incorrect Secret errors. [#4119](https://github.com/paritytech/parity/pull/4119) +- Basic tests for subscribeToEvents [#4115](https://github.com/paritytech/parity/pull/4115) +- Auto-detect hex encoded bytes in sha3 [#4108](https://github.com/paritytech/parity/pull/4108) +- Use binary chop to estimate gas accurately [#4100](https://github.com/paritytech/parity/pull/4100) +- V1.6 in master [#4113](https://github.com/paritytech/parity/pull/4113) +- Ignore get_price_info test by default. [#4112](https://github.com/paritytech/parity/pull/4112) +- Fix wrong information logging [#4106](https://github.com/paritytech/parity/pull/4106) +- Avoid comms with not-yet-active release update server. [#4111](https://github.com/paritytech/parity/pull/4111) +- Update Transfer logic + Better logging [#4098](https://github.com/paritytech/parity/pull/4098) +- Fix Signer : wrong account on reload [#4104](https://github.com/paritytech/parity/pull/4104) +- Cache registry reverses, completion in address selector [#4066](https://github.com/paritytech/parity/pull/4066) +- Validator/authority contract [#3937](https://github.com/paritytech/parity/pull/3937) +- No reorg limit for ancient blocks [#4099](https://github.com/paritytech/parity/pull/4099) +- Update registration after every write [#4102](https://github.com/paritytech/parity/pull/4102) +- Default to no auto-update. [#4092](https://github.com/paritytech/parity/pull/4092) +- Don't remove out of date local transactions [#4094](https://github.com/paritytech/parity/pull/4094) diff --git a/docs/CHANGELOG-1.7.md b/docs/CHANGELOG-1.7.md new file mode 100644 index 000000000..4042d56da --- /dev/null +++ b/docs/CHANGELOG-1.7.md @@ -0,0 +1,712 @@ +## 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 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`. + +Full list of included changes: + +- Fixed modexp gas calculation overflow ([#6746](https://github.com/paritytech/parity/pull/6746)) + - Fixed modexp gas calculation overflow ([#6741](https://github.com/paritytech/parity/pull/6741)) + - Bump to v1.7.6 + +## Parity [v1.7.5](https://github.com/paritytech/parity/releases/tag/v1.7.5) (2017-10-12) + +Parity 1.7.5 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.5 is the first stable release of the 1.7 branch. With this release the support for 1.6 releases ends. Please upgrade your stable nodes to 1.7.5. + +Full list of included changes: + +- Backport stable - Fixes Badges ([#6731](https://github.com/paritytech/parity/pull/6731)) + - Fix badges not showing up ([#6730](https://github.com/paritytech/parity/pull/6730)) + - Always fetch meta data first [badges] +- Backport ([#6726](https://github.com/paritytech/parity/pull/6726)) + - Check vouch status on appId in addition to contentHash ([#6719](https://github.com/paritytech/parity/pull/6719)) + - Check vouch status on appId in addition to contentHash + - Simplify var expansion + - Merge [#6725](https://github.com/paritytech/parity/pull/6725) + - Update new token fetching + - Working Certifications Monitoring + - Update on Certification / Revoke + - Fix none-fetched tokens value display + - Fix tests + - Add updated MethodDecoding from master +- v1.7.5 stabilized +- Backport ([#6724](https://github.com/paritytech/parity/pull/6724)) + - Fixed RETURNDATA out of bounds check ([#6718](https://github.com/paritytech/parity/pull/6718)) + - Prevent going offline when restoring or taking snapshot ([#6694](https://github.com/paritytech/parity/pull/6694)) +- Bump to v1.7.5 +- Trigger beta js build & release ([#6721](https://github.com/paritytech/parity/pull/6721)) + +## Parity [v1.7.4](https://github.com/paritytech/parity/releases/tag/v1.7.4) (2017-10-11) + +Parity 1.7.4 includes a critical consensus-relevant fix for the Byzantium hard-fork. Please upgrade your Ethereum client before block number `4_370_000`. + +Full list of included changes: + +- Backport ([#6715](https://github.com/paritytech/parity/pull/6715)) + - Fix estimate gas if from is not provided. ([#6714](https://github.com/paritytech/parity/pull/6714)) + - Display vouched overlay on dapps ([#6710](https://github.com/paritytech/parity/pull/6710)) + - Add vouch overlays to dapps + - Cleanup address + - Only run where we have a contentHash +- Backporting ([#6712](https://github.com/paritytech/parity/pull/6712)) + - Bump to v1.7.4 + - Fixed potential exp len overflow ([#6686](https://github.com/paritytech/parity/pull/6686)) + - Fix warp sync blockers detection ([#6691](https://github.com/paritytech/parity/pull/6691)) +- Backport ([#6713](https://github.com/paritytech/parity/pull/6713)) + - Allow signer signing display of markdown ([#6707](https://github.com/paritytech/parity/pull/6707)) + - Fix default values for address input ([#6701](https://github.com/paritytech/parity/pull/6701)) + - Fix asciiToHex for characters < 0x10 ([#6702](https://github.com/paritytech/parity/pull/6702)) + +## Parity [v1.7.3](https://github.com/paritytech/parity/releases/tag/v1.7.3) (2017-10-09) + +Parity 1.7.3 enables the Byzantium fork for Ethereum main network on Block 4_370_000 and offers a variety of bug fixes and stability improvements. Among them: + +- Fixed network protocol version negotiation with Geth nodes v1.7.1+. +- Fixed `RETURNDATA` size for built-ins. (Built-ins in some cases overwrite only a portion of the output memory slice.) +- Multisig Wallet View now loads if multiple transactions happened within one block. +- Improved stability of snapshot-sycns (warp). +- Revised timeout and batch size constants for bigger blocks. +- Renamed RPC receipt `statusCode` field to `status`. + +Full list of included changes: + +- Backporting ([#6676](https://github.com/paritytech/parity/pull/6676)) + - Fix wallet view ([#6597](https://github.com/paritytech/parity/pull/6597)) + - Add safe fail for empty logs + - Filter transactions + - Add more logging + - Fix Wallet Creation and wallet tx list + - Remove logs + - Prevent selecting twice same wallet owner + - Fix tests + - Remove unused props + - Disallow pasting recovery phrases on first run ([#6602](https://github.com/paritytech/parity/pull/6602)) + - Fix disallowing paste of recovery phrase on first run, ref [#6581](https://github.com/paritytech/parity/issues/6581) + - Allow the leader of CATS pasting recovery phrases. + - Updated systemd files for linux ([#6592](https://github.com/paritytech/parity/pull/6592)) + - Previous version put $BASE directory in root directory. + - This version clearly explains how to run as root or as specific user. + - Additional configuration: + - send SIGHUP for clean exit, + - restart on fail. + - Tested on Ubuntu 16.04.3 LTS with 4.10.0-33-generic x86_64 kernel + - Don't expose port 80 for parity anymore ([#6633](https://github.com/paritytech/parity/pull/6633)) +- Backporting ([#6675](https://github.com/paritytech/parity/pull/6675)) + - Required validators >= num owners ([#6551](https://github.com/paritytech/parity/pull/6551)) + - Debounce sync status. ([#6572](https://github.com/paritytech/parity/pull/6572)) + - Fixed network protocol version negotiation ([#6649](https://github.com/paritytech/parity/pull/6649)) + - Renamed RPC receipt statusCode field to status ([#6650](https://github.com/paritytech/parity/pull/6650)) + - Fixed RETURNDATA size for built-ins ([#6652](https://github.com/paritytech/parity/pull/6652)) +- Byzantium fork block number ([#6661](https://github.com/paritytech/parity/pull/6661)) +- Refreshing block number on status view ([#6610](https://github.com/paritytech/parity/pull/6610)) +- Tweaked block download timeouts ([#6595](https://github.com/paritytech/parity/pull/6595)) +- Backports ([#6563](https://github.com/paritytech/parity/pull/6563)) + - Sync progress and error handling fixes ([#6560](https://github.com/paritytech/parity/pull/6560)) + - Fixed receipt serialization and RPC ([#6555](https://github.com/paritytech/parity/pull/6555)) +- Bump to v1.7.3 + +## 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 1.7.0 is a major release introducing several important features: + +- **Experimental [Light client](https://github.com/paritytech/parity/wiki/The-Parity-Light-Protocol-(PIP)) support**. Start Parity with `--light` to enable light mode. Please, note: The wallet UI integration for the light client is not included, yet. +- **Experimental web wallet**. A hosted version of Parity that keeps the keys and signs transactions using your browser storage. Try it at https://wallet.parity.io or run your own with `--public-node`. +- **WASM contract support**. Private networks can run contracts compiled into WASM bytecode. _More information and documentation to follow_. +- **DApps and RPC server merge**. DApp and RPC are now available through a single API endpoint. DApp server related settings are deprecated. +- **Export accounts from the wallet**. Backing up your keys can now simply be managed through the wallet interface. +- **PoA/Kovan validator set contract**. The PoA network validator-set management via smart contract is now supported by warp and, in the near future, light sync. +- **PubSub API**. https://github.com/paritytech/parity/wiki/JSONRPC-Parity-Pub-Sub-module +- **Signer apps for IOS and Android**. + +Full list of included changes: + +- Backports [#6163](https://github.com/paritytech/parity/pull/6163) + - Light client improvements ([#6156](https://github.com/paritytech/parity/pull/6156)) + - No seal checking + - Import command and --no-seal-check for light client + - Fix eth_call + - Tweak registry dapps lookup + - Ignore failed requests to non-server peers + - Fix connecting to wildcard addresses. ([#6167](https://github.com/paritytech/parity/pull/6167)) + - Don't display an overlay in case the time sync check fails. ([#6164](https://github.com/paritytech/parity/pull/6164)) + - Small improvements to time estimation. + - Temporarily disable NTP time check by default. +- Light client fixes ([#6148](https://github.com/paritytech/parity/pull/6148)) [#6151](https://github.com/paritytech/parity/pull/6151) + - Light client fixes + - Fix memory-lru-cache + - Clear pending reqs on disconnect +- Filter tokens logs from current block, not genesis ([#6128](https://github.com/paritytech/parity/pull/6128)) [#6141](https://github.com/paritytech/parity/pull/6141) +- Fix QR scanner returning null on confirm [#6122](https://github.com/paritytech/parity/pull/6122) +- Check QR before lowercase ([#6119](https://github.com/paritytech/parity/pull/6119)) [#6120](https://github.com/paritytech/parity/pull/6120) +- Remove chunk to restore from pending set only upon successful import [#6117](https://github.com/paritytech/parity/pull/6117) +- Fixed node address detection on incoming connection [#6094](https://github.com/paritytech/parity/pull/6094) +- Place RETURNDATA behind block number gate [#6095](https://github.com/paritytech/parity/pull/6095) +- Update wallet library binaries [#6108](https://github.com/paritytech/parity/pull/6108) +- Backported wallet fix [#6105](https://github.com/paritytech/parity/pull/6105) + - Fix initialisation bug. ([#6102](https://github.com/paritytech/parity/pull/6102)) + - Update wallet library modifiers ([#6103](https://github.com/paritytech/parity/pull/6103)) +- Place RETURNDATA behind block number gate [#6095](https://github.com/paritytech/parity/pull/6095) +- Fixed node address detection on incoming connection [#6094](https://github.com/paritytech/parity/pull/6094) +- Bump snap version and tweak importing detection logic ([#6079](https://github.com/paritytech/parity/pull/6079)) [#6081](https://github.com/paritytech/parity/pull/6081) + - bump last tick just before printing info and restore sync detection + - bump kovan snapshot version + - Fixed sync tests + - Fixed rpc tests +- Acquire client report under lock in informant [#6071](https://github.com/paritytech/parity/pull/6071) +- Show busy indicator on Address forget [#6069](https://github.com/paritytech/parity/pull/6069) +- Add CSP for worker-src ([#6059](https://github.com/paritytech/parity/pull/6059)) [#6064](https://github.com/paritytech/parity/pull/6064) + - Specify worker-src seperately, add blob + - Upgrade react-qr-scan to latest version +- Set release channel to beta +- Limit transaction queue memory & limit future queue [#6038](https://github.com/paritytech/parity/pull/6038) +- Fix CI build issue [#6050](https://github.com/paritytech/parity/pull/6050) +- New contract PoA sync fixes [#5991](https://github.com/paritytech/parity/pull/5991) +- Fixed link to Multisig Contract Wallet on master [#5984](https://github.com/paritytech/parity/pull/5984) +- Ethcore crate split part 1 [#6041](https://github.com/paritytech/parity/pull/6041) +- Fix status icon [#6039](https://github.com/paritytech/parity/pull/6039) +- Errors & warnings for inappropriate RPCs [#6029](https://github.com/paritytech/parity/pull/6029) +- Add missing CSP for web3.site [#5992](https://github.com/paritytech/parity/pull/5992) +- Remove cargo install --git from README.md [#6037](https://github.com/paritytech/parity/pull/6037) +- Node Health warnings [#5951](https://github.com/paritytech/parity/pull/5951) +- RPC cpu pool [#6023](https://github.com/paritytech/parity/pull/6023) +- Use crates.io dependencies for parity-wasm [#6036](https://github.com/paritytech/parity/pull/6036) +- Add test for loading the chain specs [#6028](https://github.com/paritytech/parity/pull/6028) +- Whitelist APIs for generic Pub-Sub [#5840](https://github.com/paritytech/parity/pull/5840) +- WASM contracts MVP [#5679](https://github.com/paritytech/parity/pull/5679) +- Fix valid QR scan not advancing [#6033](https://github.com/paritytech/parity/pull/6033) +- --reseal-on-uncle [#5940](https://github.com/paritytech/parity/pull/5940) +- Support comments in reserved peers file ([#6004](https://github.com/paritytech/parity/pull/6004)) [#6012](https://github.com/paritytech/parity/pull/6012) +- Add new md tnc [#5937](https://github.com/paritytech/parity/pull/5937) +- Fix output of parity-evm in case of bad instruction [#5955](https://github.com/paritytech/parity/pull/5955) +- Don't send notifications to unsubscribed clients of PubSub [#5960](https://github.com/paritytech/parity/pull/5960) +- Proper light client informant and more verification of imported headers [#5897](https://github.com/paritytech/parity/pull/5897) +- New Kovan bootnodes [#6017](https://github.com/paritytech/parity/pull/6017) +- Use standard paths for Ethash cache [#5881](https://github.com/paritytech/parity/pull/5881) +- Defer code hash calculation. [#5959](https://github.com/paritytech/parity/pull/5959) +- Fix first run wizard. [#6000](https://github.com/paritytech/parity/pull/6000) +- migration to serde 1.0 [#5996](https://github.com/paritytech/parity/pull/5996) +- SecretStore: generating signatures [#5764](https://github.com/paritytech/parity/pull/5764) +- bigint upgraded to version 3.0 [#5986](https://github.com/paritytech/parity/pull/5986) +- config: don't allow dev chain with force sealing option [#5965](https://github.com/paritytech/parity/pull/5965) +- Update lockfile for miniz-sys and gcc [#5969](https://github.com/paritytech/parity/pull/5969) +- Clean up function naming in RPC error module [#5995](https://github.com/paritytech/parity/pull/5995) +- Fix underflow in gas calculation [#5975](https://github.com/paritytech/parity/pull/5975) +- PubSub for parity-js [#5830](https://github.com/paritytech/parity/pull/5830) +- Report whether a peer was kept from `Handler::on_connect` [#5958](https://github.com/paritytech/parity/pull/5958) +- Implement skeleton for transaction index and epoch transition proof PIP messages [#5908](https://github.com/paritytech/parity/pull/5908) +- TransactionQueue improvements [#5917](https://github.com/paritytech/parity/pull/5917) +- constant time HMAC comparison and clarify docs in ethkey [#5952](https://github.com/paritytech/parity/pull/5952) +- Avoid pre-computing jump destinations [#5954](https://github.com/paritytech/parity/pull/5954) +- Upgrade elastic array [#5949](https://github.com/paritytech/parity/pull/5949) +- PoA: Wait for transition finality before applying [#5774](https://github.com/paritytech/parity/pull/5774) +- Logs Pub-Sub [#5705](https://github.com/paritytech/parity/pull/5705) +- Add the command to install the parity snap [#5945](https://github.com/paritytech/parity/pull/5945) +- Reduce unnecessary allocations [#5944](https://github.com/paritytech/parity/pull/5944) +- Clarify confusing messages. [#5935](https://github.com/paritytech/parity/pull/5935) +- Content Security Policy [#5790](https://github.com/paritytech/parity/pull/5790) +- CLI: Export error message and less verbose peer counter. [#5870](https://github.com/paritytech/parity/pull/5870) +- network: make it more explicit about StreamToken and TimerToken [#5939](https://github.com/paritytech/parity/pull/5939) +- sync: make it more idiomatic rust [#5938](https://github.com/paritytech/parity/pull/5938) +- Prioritize accounts over address book [#5909](https://github.com/paritytech/parity/pull/5909) +- Fixing failing compilation of RPC test on master. [#5916](https://github.com/paritytech/parity/pull/5916) +- Empty local middleware, until explicitly requested [#5912](https://github.com/paritytech/parity/pull/5912) +- Cancel propagated TX [#5899](https://github.com/paritytech/parity/pull/5899) +- fix minor race condition in aura seal generation [#5910](https://github.com/paritytech/parity/pull/5910) +- Docs for Pub-Sub, optional parameter for parity_subscribe [#5833](https://github.com/paritytech/parity/pull/5833) +- Fix gas editor doubling-up on gas [#5820](https://github.com/paritytech/parity/pull/5820) +- Information about used paths added to general output block [#5904](https://github.com/paritytech/parity/pull/5904) +- Domain-locked web tokens. [#5894](https://github.com/paritytech/parity/pull/5894) +- Removed panic handlers [#5895](https://github.com/paritytech/parity/pull/5895) +- Latest changes from Rust RocksDB binding merged [#5905](https://github.com/paritytech/parity/pull/5905) +- Adjust keyethereum/secp256 aliasses [#5903](https://github.com/paritytech/parity/pull/5903) +- Keyethereum fs dependency [#5902](https://github.com/paritytech/parity/pull/5902) +- Ethereum Classic Monetary Policy [#5741](https://github.com/paritytech/parity/pull/5741) +- Initial token should allow full access. [#5873](https://github.com/paritytech/parity/pull/5873) +- Fixed account selection for Dapps on public node [#5856](https://github.com/paritytech/parity/pull/5856) +- blacklist bad snapshot manifest hashes upon failure [#5874](https://github.com/paritytech/parity/pull/5874) +- Fix wrongly called timeouts [#5838](https://github.com/paritytech/parity/pull/5838) +- ArchiveDB and other small fixes [#5867](https://github.com/paritytech/parity/pull/5867) +- convert try!() to ? [#5866](https://github.com/paritytech/parity/pull/5866) +- Make config file optional in systemd [#5847](https://github.com/paritytech/parity/pull/5847) +- EIP-116 (214), [#4833](https://github.com/paritytech/parity/issues/4833) [#4851](https://github.com/paritytech/parity/pull/4851) +- all executables are workspace members [#5865](https://github.com/paritytech/parity/pull/5865) +- minor optimizations of the modexp builtin [#5860](https://github.com/paritytech/parity/pull/5860) +- three small commits for HashDB and MemoryDB [#5766](https://github.com/paritytech/parity/pull/5766) +- use rust 1.18's retain to boost the purge performance [#5801](https://github.com/paritytech/parity/pull/5801) +- Allow IPFS server to accept POST requests [#5858](https://github.com/paritytech/parity/pull/5858) +- Dutch i18n from [#5802](https://github.com/paritytech/parity/issues/5802) for master [#5836](https://github.com/paritytech/parity/pull/5836) +- Typos in token deploy dapp ui [#5851](https://github.com/paritytech/parity/pull/5851) +- A CLI flag to allow fast transaction signing when account is unlocked. [#5778](https://github.com/paritytech/parity/pull/5778) +- Removing `additional` field from EVM instructions [#5821](https://github.com/paritytech/parity/pull/5821) +- Don't fail on wrong log decoding [#5813](https://github.com/paritytech/parity/pull/5813) +- Use randomized subscription ids for PubSub [#5756](https://github.com/paritytech/parity/pull/5756) +- Fixed mem write for empty slice [#5827](https://github.com/paritytech/parity/pull/5827) +- Fix party technologies [#5810](https://github.com/paritytech/parity/pull/5810) +- Revert "Fixed mem write for empty slice" [#5826](https://github.com/paritytech/parity/pull/5826) +- Fixed mem write for empty slice [#5825](https://github.com/paritytech/parity/pull/5825) +- Fix JS tests [#5822](https://github.com/paritytech/parity/pull/5822) +- Bump native-tls and openssl crates. [#5817](https://github.com/paritytech/parity/pull/5817) +- Public node using WASM [#5734](https://github.com/paritytech/parity/pull/5734) +- enforce block signer == author field in PoA [#5808](https://github.com/paritytech/parity/pull/5808) +- Fix stack display in evmbin. [#5733](https://github.com/paritytech/parity/pull/5733) +- Disable UI if it's not compiled in. [#5773](https://github.com/paritytech/parity/pull/5773) +- Require phrase confirmation. [#5731](https://github.com/paritytech/parity/pull/5731) +- Duration limit made optional for EthashParams [#5777](https://github.com/paritytech/parity/pull/5777) +- Update Changelog for 1.6.8 [#5798](https://github.com/paritytech/parity/pull/5798) +- Replace Ethcore comany name in T&C and some other places [#5796](https://github.com/paritytech/parity/pull/5796) +- PubSub for IPC. [#5800](https://github.com/paritytech/parity/pull/5800) +- Fix terminology distributed -> decentralized applications [#5797](https://github.com/paritytech/parity/pull/5797) +- Disable compression for RLP strings [#5786](https://github.com/paritytech/parity/pull/5786) +- update the source for the snapcraft package [#5781](https://github.com/paritytech/parity/pull/5781) +- Fixed default UI port for mac installer [#5782](https://github.com/paritytech/parity/pull/5782) +- Block invalid account name creation [#5784](https://github.com/paritytech/parity/pull/5784) +- Update Cid/multihash/ring/tinykeccak [#5785](https://github.com/paritytech/parity/pull/5785) +- use NULL_RLP, remove NULL_RLP_STATIC [#5742](https://github.com/paritytech/parity/pull/5742) +- Blacklist empty phrase account. [#5730](https://github.com/paritytech/parity/pull/5730) +- EIP-211 RETURNDATACOPY and RETURNDATASIZE [#5678](https://github.com/paritytech/parity/pull/5678) +- Bump mio [#5763](https://github.com/paritytech/parity/pull/5763) +- Fixing UI issues after UI server refactor [#5710](https://github.com/paritytech/parity/pull/5710) +- Fix WS server expose issue. [#5728](https://github.com/paritytech/parity/pull/5728) +- Fix local transactions without condition. [#5716](https://github.com/paritytech/parity/pull/5716) +- Bump parity-wordlist. [#5748](https://github.com/paritytech/parity/pull/5748) +- two small changes in evm [#5700](https://github.com/paritytech/parity/pull/5700) +- Evmbin: JSON format printing pre-state. [#5712](https://github.com/paritytech/parity/pull/5712) +- Recover from empty phrase in dev mode [#5698](https://github.com/paritytech/parity/pull/5698) +- EIP-210 BLOCKHASH changes [#5505](https://github.com/paritytech/parity/pull/5505) +- fixes typo [#5708](https://github.com/paritytech/parity/pull/5708) +- Bump rocksdb [#5707](https://github.com/paritytech/parity/pull/5707) +- Fixed --datadir option [#5697](https://github.com/paritytech/parity/pull/5697) +- rpc -> weak to arc [#5688](https://github.com/paritytech/parity/pull/5688) +- typo fix [#5699](https://github.com/paritytech/parity/pull/5699) +- Revamping parity-evmbin [#5696](https://github.com/paritytech/parity/pull/5696) +- Update dependencies and bigint api [#5685](https://github.com/paritytech/parity/pull/5685) +- UI server refactoring [#5580](https://github.com/paritytech/parity/pull/5580) +- Fix from/into electrum in ethkey [#5686](https://github.com/paritytech/parity/pull/5686) +- Add unit tests [#5668](https://github.com/paritytech/parity/pull/5668) +- Guanqun add unit tests [#5671](https://github.com/paritytech/parity/pull/5671) +- Parity-PubSub as a separate API. [#5676](https://github.com/paritytech/parity/pull/5676) +- EIP-140 REVERT opcode [#5477](https://github.com/paritytech/parity/pull/5477) +- Update CHANGELOG for 1.6.7 [#5683](https://github.com/paritytech/parity/pull/5683) +- Updated docs slightly. [#5674](https://github.com/paritytech/parity/pull/5674) +- Fix build [#5684](https://github.com/paritytech/parity/pull/5684) +- Back-references for the on-demand service [#5573](https://github.com/paritytech/parity/pull/5573) +- Dynamically adjust PIP request costs based on gathered data [#5603](https://github.com/paritytech/parity/pull/5603) +- use cargo workspace [#5601](https://github.com/paritytech/parity/pull/5601) +- Latest headers Pub-Sub [#5655](https://github.com/paritytech/parity/pull/5655) +- improved dockerfile builds [#5659](https://github.com/paritytech/parity/pull/5659) +- Adding CLI options: port shift and unsafe expose. [#5677](https://github.com/paritytech/parity/pull/5677) +- Report missing author in Aura [#5583](https://github.com/paritytech/parity/pull/5583) +- typo fix [#5669](https://github.com/paritytech/parity/pull/5669) +- Remove public middleware (temporary) [#5665](https://github.com/paritytech/parity/pull/5665) +- Remove additional polyfill [#5663](https://github.com/paritytech/parity/pull/5663) +- Importing accounts from files. [#5644](https://github.com/paritytech/parity/pull/5644) +- remove the deprecated options in rustfmt.toml [#5616](https://github.com/paritytech/parity/pull/5616) +- Update the Console dapp [#5602](https://github.com/paritytech/parity/pull/5602) +- Create an account for chain=dev [#5612](https://github.com/paritytech/parity/pull/5612) +- Use babel-runtime as opposed to babel-polyfill [#5662](https://github.com/paritytech/parity/pull/5662) +- Connection dialog timestamp info [#5554](https://github.com/paritytech/parity/pull/5554) +- use copy_from_slice instead of for loop [#5647](https://github.com/paritytech/parity/pull/5647) +- Light friendly dapps [#5634](https://github.com/paritytech/parity/pull/5634) +- Add Recover button to Accounts and warnings [#5645](https://github.com/paritytech/parity/pull/5645) +- Update eth_sign docs. [#5631](https://github.com/paritytech/parity/pull/5631) +- Proper signer Pub-Sub for pending requests. [#5594](https://github.com/paritytech/parity/pull/5594) +- Bump bigint to 1.0.5 [#5641](https://github.com/paritytech/parity/pull/5641) +- PoA warp implementation [#5488](https://github.com/paritytech/parity/pull/5488) +- Improve on-demand dispatch and add support for batch requests [#5419](https://github.com/paritytech/parity/pull/5419) +- Use default account for sending transactions [#5588](https://github.com/paritytech/parity/pull/5588) +- Add peer management to the Status tab [#5566](https://github.com/paritytech/parity/pull/5566) +- Add monotonic step transition [#5587](https://github.com/paritytech/parity/pull/5587) +- Decrypting for external accounts. [#5581](https://github.com/paritytech/parity/pull/5581) +- only enable warp sync when engine supports it [#5595](https://github.com/paritytech/parity/pull/5595) +- fix the doc of installing rust [#5586](https://github.com/paritytech/parity/pull/5586) +- Small fixes [#5584](https://github.com/paritytech/parity/pull/5584) +- SecretStore: remove session on master node [#5545](https://github.com/paritytech/parity/pull/5545) +- run-clean [#5607](https://github.com/paritytech/parity/pull/5607) +- relicense RLP to MIT/Apache2 [#5591](https://github.com/paritytech/parity/pull/5591) +- Fix eth_sign signature encoding. [#5597](https://github.com/paritytech/parity/pull/5597) +- Check pending request on Node local transactions [#5564](https://github.com/paritytech/parity/pull/5564) +- Add tooltips on ActionBar [#5562](https://github.com/paritytech/parity/pull/5562) +- Can't deploy without compiling Contract [#5593](https://github.com/paritytech/parity/pull/5593) +- Add a warning when node is syncing [#5565](https://github.com/paritytech/parity/pull/5565) +- Update registry middleware [#5585](https://github.com/paritytech/parity/pull/5585) +- Set block condition to BigNumber in MethodDecoding [#5592](https://github.com/paritytech/parity/pull/5592) +- Load the sources immediately in Contract Dev [#5575](https://github.com/paritytech/parity/pull/5575) +- Remove formal verification messages in Dev Contract [#5574](https://github.com/paritytech/parity/pull/5574) +- Fix event params decoding when no names for parameters [#5567](https://github.com/paritytech/parity/pull/5567) +- Do not convert to Dates twice [#5563](https://github.com/paritytech/parity/pull/5563) +- Fix Multisig wallet settings [#5560](https://github.com/paritytech/parity/pull/5560) +- Typo [#5547](https://github.com/paritytech/parity/pull/5547) +- Generic PubSub implementation [#5456](https://github.com/paritytech/parity/pull/5456) +- Fix CI paths. [#5570](https://github.com/paritytech/parity/pull/5570) +- reorg into blocks before minimum history [#5558](https://github.com/paritytech/parity/pull/5558) +- EIP-86 update [#5506](https://github.com/paritytech/parity/pull/5506) +- Secretstore RPCs + integration [#5439](https://github.com/paritytech/parity/pull/5439) +- Fixes Parity Bar position [#5557](https://github.com/paritytech/parity/pull/5557) +- Fixes invalid log in BadgeReg events [#5556](https://github.com/paritytech/parity/pull/5556) +- Fix issues in Contract Development view [#5555](https://github.com/paritytech/parity/pull/5555) +- Added missing methods [#5542](https://github.com/paritytech/parity/pull/5542) +- option to disable persistent txqueue [#5544](https://github.com/paritytech/parity/pull/5544) +- Bump jsonrpc [#5552](https://github.com/paritytech/parity/pull/5552) +- Retrieve block headers only for header-only info [#5480](https://github.com/paritytech/parity/pull/5480) +- add snap to CI [#5519](https://github.com/paritytech/parity/pull/5519) +- Pass additional data when reporting [#5527](https://github.com/paritytech/parity/pull/5527) +- Calculate post-constructors state root in spec at load time [#5523](https://github.com/paritytech/parity/pull/5523) +- Fix utf8 decoding [#5533](https://github.com/paritytech/parity/pull/5533) +- Add CHANGELOG.md [#5513](https://github.com/paritytech/parity/pull/5513) +- Change all occurrences of ethcore.io into parity.io [#5528](https://github.com/paritytech/parity/pull/5528) +- Memory usage optimization [#5526](https://github.com/paritytech/parity/pull/5526) +- Compose transaction RPC. [#5524](https://github.com/paritytech/parity/pull/5524) +- Support external eth_sign [#5481](https://github.com/paritytech/parity/pull/5481) +- Treat block numbers as strings, not BigNums. [#5449](https://github.com/paritytech/parity/pull/5449) +- npm cleanups [#5512](https://github.com/paritytech/parity/pull/5512) +- Export acc js [#4973](https://github.com/paritytech/parity/pull/4973) +- YARN [#5395](https://github.com/paritytech/parity/pull/5395) +- Fix linting issues [#5511](https://github.com/paritytech/parity/pull/5511) +- Chinese Translation [#5460](https://github.com/paritytech/parity/pull/5460) +- Fixing secretstore TODOs - part 2 [#5416](https://github.com/paritytech/parity/pull/5416) +- fix json format of state snapshot [#5504](https://github.com/paritytech/parity/pull/5504) +- Bump jsonrpc version [#5489](https://github.com/paritytech/parity/pull/5489) +- Groundwork for generalized warp sync [#5454](https://github.com/paritytech/parity/pull/5454) +- Add the packaging metadata to build the parity snap [#5496](https://github.com/paritytech/parity/pull/5496) +- Cancel tx JS [#4958](https://github.com/paritytech/parity/pull/4958) +- EIP-212 (bn128 curve pairing) [#5307](https://github.com/paritytech/parity/pull/5307) +- fix panickers in tree-route [#5479](https://github.com/paritytech/parity/pull/5479) +- Update links to etherscan.io [#5455](https://github.com/paritytech/parity/pull/5455) +- Refresh UI on nodeKind changes, e.g. personal -> public [#5312](https://github.com/paritytech/parity/pull/5312) +- Correct contract address for EIP-86 [#5473](https://github.com/paritytech/parity/pull/5473) +- Force two decimals for USD conversion rate [#5471](https://github.com/paritytech/parity/pull/5471) +- Refactoring of Tokens & Balances [#5372](https://github.com/paritytech/parity/pull/5372) +- Background-repeat round [#5475](https://github.com/paritytech/parity/pull/5475) +- nl i18n updated [#5461](https://github.com/paritytech/parity/pull/5461) +- Show ETH value (even 0) if ETH transfer in transaction list [#5406](https://github.com/paritytech/parity/pull/5406) +- Store the pending requests per network version [#5405](https://github.com/paritytech/parity/pull/5405) +- Use in-memory database for tests [#5451](https://github.com/paritytech/parity/pull/5451) +- WebSockets RPC server [#5425](https://github.com/paritytech/parity/pull/5425) +- Added missing docs [#5452](https://github.com/paritytech/parity/pull/5452) +- Tests and tweaks for public node middleware [#5417](https://github.com/paritytech/parity/pull/5417) +- Fix removal of hash-mismatched files. [#5440](https://github.com/paritytech/parity/pull/5440) +- parity_getBlockHeaderByNumber and LightFetch utility [#5383](https://github.com/paritytech/parity/pull/5383) +- New state tests [#5418](https://github.com/paritytech/parity/pull/5418) +- Fix buffer length for QR code gen. [#5447](https://github.com/paritytech/parity/pull/5447) +- Add raw hash signing [#5423](https://github.com/paritytech/parity/pull/5423) +- Filters and block RPCs for the light client [#5320](https://github.com/paritytech/parity/pull/5320) +- Work around mismatch for QR checksum [#5374](https://github.com/paritytech/parity/pull/5374) +- easy to use conversion from and to string for ethstore::Crypto [#5437](https://github.com/paritytech/parity/pull/5437) +- Tendermint fixes [#5415](https://github.com/paritytech/parity/pull/5415) +- Adrianbrink lightclientcache branch. [#5428](https://github.com/paritytech/parity/pull/5428) +- Add caching to HeaderChain struct [#5403](https://github.com/paritytech/parity/pull/5403) +- Add decryption to the UI (in the Signer) [#5422](https://github.com/paritytech/parity/pull/5422) +- Add CIDv0 RPC [#5414](https://github.com/paritytech/parity/pull/5414) +- Updating documentation for RPCs [#5392](https://github.com/paritytech/parity/pull/5392) +- Fixing secretstore TODOs - part 1 [#5386](https://github.com/paritytech/parity/pull/5386) +- Fixing disappearing content. [#5399](https://github.com/paritytech/parity/pull/5399) +- Snapshot chunks packed by size [#5318](https://github.com/paritytech/parity/pull/5318) +- APIs wildcards and simple arithmetic. [#5402](https://github.com/paritytech/parity/pull/5402) +- Fixing compilation without dapps. [#5410](https://github.com/paritytech/parity/pull/5410) +- Don't use port 8080 anymore [#5397](https://github.com/paritytech/parity/pull/5397) +- Quick'n'dirty CLI for the light client [#5002](https://github.com/paritytech/parity/pull/5002) +- set gas limit before proving transactions [#5401](https://github.com/paritytech/parity/pull/5401) +- Public node: perf and fixes [#5390](https://github.com/paritytech/parity/pull/5390) +- Straight download path in the readme [#5393](https://github.com/paritytech/parity/pull/5393) +- On-chain ACL checker for secretstore [#5015](https://github.com/paritytech/parity/pull/5015) +- Allow empty-encoded values from QR encoding [#5385](https://github.com/paritytech/parity/pull/5385) +- Update npm build for new inclusions [#5381](https://github.com/paritytech/parity/pull/5381) +- Fix for Ubuntu Dockerfile [#5356](https://github.com/paritytech/parity/pull/5356) +- Secretstore over network [#4974](https://github.com/paritytech/parity/pull/4974) +- Dapps and RPC server merge [#5365](https://github.com/paritytech/parity/pull/5365) +- trigger js build release [#5379](https://github.com/paritytech/parity/pull/5379) +- Update expanse json with fork at block 600000 [#5351](https://github.com/paritytech/parity/pull/5351) +- Futures-based native wrappers for contract ABIs [#5341](https://github.com/paritytech/parity/pull/5341) +- Kovan warp sync fixed [#5337](https://github.com/paritytech/parity/pull/5337) +- Aura eip155 validation transition [#5362](https://github.com/paritytech/parity/pull/5362) +- Shared wordlist for brain wallets [#5331](https://github.com/paritytech/parity/pull/5331) +- Allow signing via Qr [#4881](https://github.com/paritytech/parity/pull/4881) +- Allow entry of url or hash for DappReg meta [#5360](https://github.com/paritytech/parity/pull/5360) +- Adjust tx overlay colours [#5353](https://github.com/paritytech/parity/pull/5353) +- Add ability to disallow API subscriptions [#5366](https://github.com/paritytech/parity/pull/5366) +- EIP-213 (bn128 curve operations) [#4999](https://github.com/paritytech/parity/pull/4999) +- Fix analize output file name [#5357](https://github.com/paritytech/parity/pull/5357) +- Add default eip155 validation [#5346](https://github.com/paritytech/parity/pull/5346) +- Add new seed nodes for Classic chain [#5345](https://github.com/paritytech/parity/pull/5345) +- Shared wordlist for frontend [#5336](https://github.com/paritytech/parity/pull/5336) +- fix rpc tests [#5338](https://github.com/paritytech/parity/pull/5338) +- Public node with accounts and signing in Frontend [#5304](https://github.com/paritytech/parity/pull/5304) +- Rename Status/Status -> Status/NodeStatus [#5332](https://github.com/paritytech/parity/pull/5332) +- Updating paths to repos. [#5330](https://github.com/paritytech/parity/pull/5330) +- Separate status for canceled local transactions. [#5319](https://github.com/paritytech/parity/pull/5319) +- Cleanup the Status View [#5317](https://github.com/paritytech/parity/pull/5317) +- Update UI minimised requests [#5324](https://github.com/paritytech/parity/pull/5324) +- Order signer transactions FIFO [#5321](https://github.com/paritytech/parity/pull/5321) +- updating dependencies [#5028](https://github.com/paritytech/parity/pull/5028) +- Minimise transactions progress [#4942](https://github.com/paritytech/parity/pull/4942) +- Fix eth_sign showing as wallet account [#5309](https://github.com/paritytech/parity/pull/5309) +- Ropsten revival [#5302](https://github.com/paritytech/parity/pull/5302) +- Strict validation transitions [#4988](https://github.com/paritytech/parity/pull/4988) +- Fix default list sorting [#5303](https://github.com/paritytech/parity/pull/5303) +- Use unique owners for multisig wallets [#5298](https://github.com/paritytech/parity/pull/5298) +- Copy all existing i18n strings into zh (as-is translation aid) [#5305](https://github.com/paritytech/parity/pull/5305) +- Fix booleans in Typedinput [#5295](https://github.com/paritytech/parity/pull/5295) +- node kind RPC [#5025](https://github.com/paritytech/parity/pull/5025) +- Fix the use of MobX in playground [#5294](https://github.com/paritytech/parity/pull/5294) +- Fine grained snapshot chunking [#5019](https://github.com/paritytech/parity/pull/5019) +- Add lint:i18n to find missing & extra keys [#5290](https://github.com/paritytech/parity/pull/5290) +- Scaffolding for zh translations, including first-round by @btceth [#5289](https://github.com/paritytech/parity/pull/5289) +- JS package bumps [#5287](https://github.com/paritytech/parity/pull/5287) +- Auto-extract new i18n strings (update) [#5288](https://github.com/paritytech/parity/pull/5288) +- eip100b [#5027](https://github.com/paritytech/parity/pull/5027) +- Set earliest era in snapshot restoration [#5021](https://github.com/paritytech/parity/pull/5021) +- Avoid clogging up tmp when updater dir has bad permissions. [#5024](https://github.com/paritytech/parity/pull/5024) +- Resilient warp sync [#5018](https://github.com/paritytech/parity/pull/5018) +- Create webpack analysis files (size) [#5009](https://github.com/paritytech/parity/pull/5009) +- Dispatch an open event on drag of Parity Bar [#4987](https://github.com/paritytech/parity/pull/4987) +- Various installer and tray apps fixes [#4970](https://github.com/paritytech/parity/pull/4970) +- Export account RPC [#4967](https://github.com/paritytech/parity/pull/4967) +- Switching ValidatorSet [#4961](https://github.com/paritytech/parity/pull/4961) +- Implement PIP messages, request builder, and handlers [#4945](https://github.com/paritytech/parity/pull/4945) +- auto lint [#5003](https://github.com/paritytech/parity/pull/5003) +- Fix FireFox overflows [#5000](https://github.com/paritytech/parity/pull/5000) +- Show busy indicator, focus first field in password change [#4997](https://github.com/paritytech/parity/pull/4997) +- Consistent store naming in the Signer components [#4996](https://github.com/paritytech/parity/pull/4996) +- second (and last) part of rlp refactor [#4901](https://github.com/paritytech/parity/pull/4901) +- Double click to select account creation type [#4986](https://github.com/paritytech/parity/pull/4986) +- Fixes to the Registry dapp [#4984](https://github.com/paritytech/parity/pull/4984) +- Extend api.util [#4979](https://github.com/paritytech/parity/pull/4979) +- Updating JSON-RPC crates [#4934](https://github.com/paritytech/parity/pull/4934) +- splitting part of util into smaller crates [#4956](https://github.com/paritytech/parity/pull/4956) +- Updating syntex et al [#4983](https://github.com/paritytech/parity/pull/4983) +- EIP198 and built-in activation [#4926](https://github.com/paritytech/parity/pull/4926) +- Fix MethodDecoding for Arrays [#4977](https://github.com/paritytech/parity/pull/4977) +- Try to fix WS race condition connection [#4976](https://github.com/paritytech/parity/pull/4976) +- eth_sign where account === undefined [#4964](https://github.com/paritytech/parity/pull/4964) +- Fix references to api outside of `parity.js` [#4981](https://github.com/paritytech/parity/pull/4981) +- Fix Password Dialog form overflow [#4968](https://github.com/paritytech/parity/pull/4968) +- Changing Mutex into RwLock for transaction queue [#4951](https://github.com/paritytech/parity/pull/4951) +- Disable max seal period for external sealing [#4927](https://github.com/paritytech/parity/pull/4927) +- Attach hardware wallets already in addressbook [#4912](https://github.com/paritytech/parity/pull/4912) +- rlp serialization refactor [#4873](https://github.com/paritytech/parity/pull/4873) +- Bump nanomsg [#4965](https://github.com/paritytech/parity/pull/4965) +- Fixed multi-chunk ledger transactions on windows [#4960](https://github.com/paritytech/parity/pull/4960) +- Fix outputs in Contract Constant Queries [#4953](https://github.com/paritytech/parity/pull/4953) +- systemd: Start parity after network.target [#4952](https://github.com/paritytech/parity/pull/4952) +- Remove transaction RPC [#4949](https://github.com/paritytech/parity/pull/4949) +- Swap out ethcore.io url for parity.io [#4947](https://github.com/paritytech/parity/pull/4947) +- Don't remove confirmed requests to early. [#4933](https://github.com/paritytech/parity/pull/4933) +- Ensure sealing work enabled in miner once subscribers added [#4930](https://github.com/paritytech/parity/pull/4930) +- Add z-index to small modals as well [#4923](https://github.com/paritytech/parity/pull/4923) +- Bump nanomsg [#4946](https://github.com/paritytech/parity/pull/4946) +- Bumping multihash and libc [#4943](https://github.com/paritytech/parity/pull/4943) +- Edit ETH value, gas and gas price in Contract Deployment [#4919](https://github.com/paritytech/parity/pull/4919) +- Add ability to configure Secure API [#4922](https://github.com/paritytech/parity/pull/4922) +- Add Token image from URL [#4916](https://github.com/paritytech/parity/pull/4916) +- Use the registry fee in Token Deployment dapp [#4915](https://github.com/paritytech/parity/pull/4915) +- Add reseal max period [#4903](https://github.com/paritytech/parity/pull/4903) +- Detect rust compiler version in Parity build script, closes 4742 [#4907](https://github.com/paritytech/parity/pull/4907) +- Add Vaults logic to First Run [#4914](https://github.com/paritytech/parity/pull/4914) +- Updated gcc and rayon crates to remove outdated num_cpus dependency [#4909](https://github.com/paritytech/parity/pull/4909) +- Renaming evm binary to avoid conflicts. [#4899](https://github.com/paritytech/parity/pull/4899) +- Better error handling for traces RPC [#4849](https://github.com/paritytech/parity/pull/4849) +- Safari SectionList fix [#4895](https://github.com/paritytech/parity/pull/4895) +- Safari Dialog scrolling fix [#4893](https://github.com/paritytech/parity/pull/4893) +- Spelling :) [#4900](https://github.com/paritytech/parity/pull/4900) +- Additional kovan params [#4892](https://github.com/paritytech/parity/pull/4892) +- trigger js-precompiled build [#4898](https://github.com/paritytech/parity/pull/4898) +- Recalculate receipt roots in close_and_lock [#4884](https://github.com/paritytech/parity/pull/4884) +- Reload UI on network switch [#4864](https://github.com/paritytech/parity/pull/4864) +- Update parity-ui-precompiled with branch [#4850](https://github.com/paritytech/parity/pull/4850) +- OSX Installer is no longer experimental [#4882](https://github.com/paritytech/parity/pull/4882) +- Chain-selection from UI [#4859](https://github.com/paritytech/parity/pull/4859) +- removed redundant (and unused) FromJson trait [#4871](https://github.com/paritytech/parity/pull/4871) +- fix typos and grammar [#4880](https://github.com/paritytech/parity/pull/4880) +- Remove old experimental remote-db code [#4872](https://github.com/paritytech/parity/pull/4872) +- removed redundant FixedHash trait, fixes [#4029](https://github.com/paritytech/parity/issues/4029) [#4866](https://github.com/paritytech/parity/pull/4866) +- Reference JSON-RPC more changes-friendly [#4870](https://github.com/paritytech/parity/pull/4870) +- Better handling of Solidity compliation [#4860](https://github.com/paritytech/parity/pull/4860) +- Go through contract links in Transaction List display [#4863](https://github.com/paritytech/parity/pull/4863) +- Fix Gas Price Selector Tooltips [#4865](https://github.com/paritytech/parity/pull/4865) +- Fix auto-updater [#4867](https://github.com/paritytech/parity/pull/4867) +- Make the UI work offline [#4861](https://github.com/paritytech/parity/pull/4861) +- Subscribe to accounts info in Signer / ParityBar [#4856](https://github.com/paritytech/parity/pull/4856) +- Don't link libsnappy explicitly [#4841](https://github.com/paritytech/parity/pull/4841) +- Fix paste in Inputs [#4854](https://github.com/paritytech/parity/pull/4854) +- Extract i18n from shared UI components [#4834](https://github.com/paritytech/parity/pull/4834) +- Fix paste in Inputs [#4844](https://github.com/paritytech/parity/pull/4844) +- Pull contract deployment title from available steps [#4848](https://github.com/paritytech/parity/pull/4848) +- Supress USB error message [#4839](https://github.com/paritytech/parity/pull/4839) +- Fix getTransactionCount in --geth mode [#4837](https://github.com/paritytech/parity/pull/4837) +- CI: test coverage (for core and js) [#4832](https://github.com/paritytech/parity/pull/4832) +- Lowering threshold for transactions above gas limit [#4831](https://github.com/paritytech/parity/pull/4831) +- Fix TxViewer when no `to` (contract deployment) [#4847](https://github.com/paritytech/parity/pull/4847) +- Fix method decoding [#4845](https://github.com/paritytech/parity/pull/4845) +- Add React Hot Reload to dapps + TokenDeploy fix [#4846](https://github.com/paritytech/parity/pull/4846) +- Dapps show multiple times in some cases [#4843](https://github.com/paritytech/parity/pull/4843) +- Fixes to the Registry dapp [#4838](https://github.com/paritytech/parity/pull/4838) +- Show token icons on list summary pages [#4826](https://github.com/paritytech/parity/pull/4826) +- Calibrate step before rejection [#4800](https://github.com/paritytech/parity/pull/4800) +- Add replay protection [#4808](https://github.com/paritytech/parity/pull/4808) +- Better icon on windows [#4804](https://github.com/paritytech/parity/pull/4804) +- Better logic for contract deployments detection [#4821](https://github.com/paritytech/parity/pull/4821) +- Fix wrong default values for contract queries inputs [#4819](https://github.com/paritytech/parity/pull/4819) +- Adjust selection colours/display [#4811](https://github.com/paritytech/parity/pull/4811) +- Update the Wallet Library Registry key [#4817](https://github.com/paritytech/parity/pull/4817) +- Update Wallet to new Wallet Code [#4805](https://github.com/paritytech/parity/pull/4805) diff --git a/ethash/Cargo.toml b/ethash/Cargo.toml index f2d6f2790..e60d63c22 100644 --- a/ethash/Cargo.toml +++ b/ethash/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ethash" -version = "1.8.0" +version = "1.9.0" authors = ["Parity Technologies "] [lib] diff --git a/ethcore/Cargo.toml b/ethcore/Cargo.toml index 4d7851b07..d9df99f9e 100644 --- a/ethcore/Cargo.toml +++ b/ethcore/Cargo.toml @@ -3,7 +3,7 @@ description = "Ethcore library" homepage = "http://parity.io" license = "GPL-3.0" name = "ethcore" -version = "1.8.0" +version = "1.9.0" authors = ["Parity Technologies "] build = "build.rs" @@ -55,6 +55,11 @@ rayon = "0.8" rand = "0.3" rlp = { path = "../util/rlp" } rlp_derive = { path = "../util/rlp_derive" } +kvdb = { path = "../util/kvdb" } +util-error = { path = "../util/error" } +snappy = { path = "../util/snappy" } +migration = { path = "../util/migration" } +macros = { path = "../util/macros" } rust-crypto = "0.2.34" rustc-hex = "1.0" stats = { path = "../util/stats" } diff --git a/ethcore/benches/evm.rs b/ethcore/benches/evm.rs index 384aa60a6..324e3382e 100644 --- a/ethcore/benches/evm.rs +++ b/ethcore/benches/evm.rs @@ -21,8 +21,9 @@ extern crate ethcore_util as util; extern crate rand; extern crate bn; extern crate crypto; -extern crate rustc_serialize; extern crate ethkey; +extern crate rustc_hex; +extern crate ethcore_bigint; use self::test::{Bencher}; use rand::{StdRng}; @@ -75,9 +76,9 @@ fn sha256(b: &mut Bencher) { #[bench] fn ecrecover(b: &mut Bencher) { - use rustc_serialize::hex::FromHex; + use rustc_hex::FromHex; use ethkey::{Signature, recover as ec_recover}; - use util::H256; + use ethcore_bigint::hash::H256; let input = FromHex::from_hex("47173285a8d7341e5e972fc677286384f802f8ef42a5ec5f03bbfa254cb01fad000000000000000000000000000000000000000000000000000000000000001b650acf9d3f5f0a2c799776a1254355d5f4061762a237396a99a0e0e3fc2bcd6729514a0dacb2e623ac4abd157cb18163ff942280db4d5caad66ddf941ba12e03").unwrap(); let hash = H256::from_slice(&input[0..32]); let v = H256::from_slice(&input[32..64]); diff --git a/ethcore/evm/Cargo.toml b/ethcore/evm/Cargo.toml index 46260c08c..17b866428 100644 --- a/ethcore/evm/Cargo.toml +++ b/ethcore/evm/Cargo.toml @@ -5,19 +5,13 @@ authors = ["Parity Technologies "] [dependencies] bit-set = "0.4" -byteorder = "1.0" -common-types = { path = "../types" } ethcore-util = { path = "../../util" } ethcore-bigint = { path = "../../util/bigint" } evmjit = { path = "../../evmjit", optional = true } -ethjson = { path = "../../json" } heapsize = "0.4" lazy_static = "0.2" log = "0.3" -rlp = { path = "../../util/rlp" } vm = { path = "../vm" } -ethcore-logger = { path = "../../logger" } -wasm-utils = { git = "https://github.com/paritytech/wasm-utils" } hash = { path = "../../util/hash" } parking_lot = "0.4" diff --git a/ethcore/evm/src/interpreter/mod.rs b/ethcore/evm/src/interpreter/mod.rs index 11959ee8e..0d3a64956 100644 --- a/ethcore/evm/src/interpreter/mod.rs +++ b/ethcore/evm/src/interpreter/mod.rs @@ -574,7 +574,7 @@ impl Interpreter { let source_offset = stack.peek(1); let size = stack.peek(2); let return_data_len = U256::from(self.return_data.len()); - if source_offset.overflow_add(*size).0 > return_data_len { + if source_offset.saturating_add(*size) > return_data_len { return Err(vm::Error::OutOfBounds); } } @@ -940,4 +940,25 @@ mod tests { assert_eq!(ext.calls.len(), 1); assert_eq!(gas_left, 248_212.into()); } + + #[test] + fn should_not_overflow_returndata() { + let code = "6001600160000360003e00".from_hex().unwrap(); + + let mut params = ActionParams::default(); + params.address = 5.into(); + params.gas = 300_000.into(); + params.gas_price = 1.into(); + params.code = Some(Arc::new(code)); + let mut ext = FakeExt::new_byzantium(); + ext.balances.insert(5.into(), 1_000_000_000.into()); + ext.tracing = true; + + let err = { + let mut vm = Factory::new(VMType::Interpreter, 1).create(params.gas); + test_finalize(vm.exec(params, &mut ext)).err().unwrap() + }; + + assert_eq!(err, ::vm::Error::OutOfBounds); + } } diff --git a/ethcore/evm/src/lib.rs b/ethcore/evm/src/lib.rs index 8c48ad86b..efc88d60d 100644 --- a/ethcore/evm/src/lib.rs +++ b/ethcore/evm/src/lib.rs @@ -16,16 +16,10 @@ //! Ethereum virtual machine. -extern crate byteorder; extern crate bit_set; -extern crate common_types as types; extern crate ethcore_util as util; extern crate ethcore_bigint as bigint; -extern crate ethjson; -extern crate rlp; extern crate parking_lot; -extern crate wasm_utils; -extern crate ethcore_logger; extern crate heapsize; extern crate vm; extern crate hash; diff --git a/ethcore/light/Cargo.toml b/ethcore/light/Cargo.toml index 477b7077a..fb7030bcc 100644 --- a/ethcore/light/Cargo.toml +++ b/ethcore/light/Cargo.toml @@ -3,7 +3,7 @@ description = "Parity Light Client Implementation" homepage = "http://parity.io" license = "GPL-3.0" name = "ethcore-light" -version = "1.8.0" +version = "1.9.0" authors = ["Parity Technologies "] build = "build.rs" @@ -39,6 +39,7 @@ parking_lot = "0.4" stats = { path = "../../util/stats" } hash = { path = "../../util/hash" } triehash = { path = "../../util/triehash" } +kvdb = { path = "../../util/kvdb" } [features] default = [] diff --git a/ethcore/light/src/client/header_chain.rs b/ethcore/light/src/client/header_chain.rs index 7320eddb4..c31fd4787 100644 --- a/ethcore/light/src/client/header_chain.rs +++ b/ethcore/light/src/client/header_chain.rs @@ -45,7 +45,7 @@ use rlp::{Encodable, Decodable, DecoderError, RlpStream, Rlp, UntrustedRlp}; use heapsize::HeapSizeOf; use bigint::prelude::U256; use bigint::hash::{H256, H256FastMap, H264}; -use util::kvdb::{DBTransaction, KeyValueDB}; +use kvdb::{DBTransaction, KeyValueDB}; use cache::Cache; use parking_lot::{Mutex, RwLock}; @@ -728,12 +728,13 @@ mod tests { use ethcore::header::Header; use ethcore::spec::Spec; use cache::Cache; + use kvdb::{in_memory, KeyValueDB}; use time::Duration; use parking_lot::Mutex; - fn make_db() -> Arc<::util::KeyValueDB> { - Arc::new(::util::kvdb::in_memory(0)) + fn make_db() -> Arc { + Arc::new(in_memory(0)) } #[test] diff --git a/ethcore/light/src/client/mod.rs b/ethcore/light/src/client/mod.rs index 1b32fe11d..fb0ec3917 100644 --- a/ethcore/light/src/client/mod.rs +++ b/ethcore/light/src/client/mod.rs @@ -36,7 +36,7 @@ use bigint::prelude::U256; use bigint::hash::H256; use futures::{IntoFuture, Future}; -use util::kvdb::{KeyValueDB, CompactionProfile}; +use kvdb::{KeyValueDB, CompactionProfile}; use self::fetch::ChainDataFetcher; use self::header_chain::{AncestryIter, HeaderChain}; @@ -214,7 +214,7 @@ impl Client { io_channel: IoChannel, cache: Arc> ) -> Self { - let db = ::util::kvdb::in_memory(0); + let db = ::kvdb::in_memory(0); Client::new( config, diff --git a/ethcore/light/src/client/service.rs b/ethcore/light/src/client/service.rs index 20aea69ce..f20d0ad90 100644 --- a/ethcore/light/src/client/service.rs +++ b/ethcore/light/src/client/service.rs @@ -25,7 +25,7 @@ use ethcore::db; use ethcore::service::ClientIoMessage; use ethcore::spec::Spec; use io::{IoContext, IoError, IoHandler, IoService}; -use util::kvdb::{Database, DatabaseConfig}; +use kvdb::{Database, DatabaseConfig}; use cache::Cache; use parking_lot::Mutex; diff --git a/ethcore/light/src/lib.rs b/ethcore/light/src/lib.rs index 09eade4e7..edf655e4d 100644 --- a/ethcore/light/src/lib.rs +++ b/ethcore/light/src/lib.rs @@ -91,6 +91,7 @@ extern crate time; extern crate vm; extern crate hash; extern crate triehash; +extern crate kvdb; #[cfg(feature = "ipc")] extern crate ethcore_ipc as ipc; diff --git a/ethcore/node_filter/Cargo.toml b/ethcore/node_filter/Cargo.toml index 6043c0e5d..9ebbf1e18 100644 --- a/ethcore/node_filter/Cargo.toml +++ b/ethcore/node_filter/Cargo.toml @@ -3,7 +3,7 @@ description = "Parity smart network connections" homepage = "http://parity.io" license = "GPL-3.0" name = "node-filter" -version = "1.8.0" +version = "1.9.0" authors = ["Parity Technologies "] [dependencies] @@ -13,6 +13,7 @@ ethcore-bigint = { path = "../../util/bigint" } ethcore-bytes = { path = "../../util/bytes" } ethcore-io = { path = "../../util/io" } ethcore-network = { path = "../../util/network" } +kvdb = { path = "../../util/kvdb" } native-contracts = { path = "../native_contracts" } futures = "0.1" log = "0.3" diff --git a/ethcore/node_filter/src/lib.rs b/ethcore/node_filter/src/lib.rs index fb098f60f..e92dba61d 100644 --- a/ethcore/node_filter/src/lib.rs +++ b/ethcore/node_filter/src/lib.rs @@ -24,6 +24,7 @@ extern crate ethcore_network as network; extern crate native_contracts; extern crate futures; extern crate parking_lot; +extern crate kvdb; #[cfg(test)] extern crate ethcore_io as io; #[macro_use] extern crate log; @@ -134,7 +135,7 @@ mod test { let contract_addr = Address::from_str("0000000000000000000000000000000000000005").unwrap(); let data = include_bytes!("../res/node_filter.json"); let spec = Spec::load(&::std::env::temp_dir(), &data[..]).unwrap(); - let client_db = Arc::new(::util::kvdb::in_memory(::ethcore::db::NUM_COLUMNS.unwrap_or(0))); + let client_db = Arc::new(::kvdb::in_memory(::ethcore::db::NUM_COLUMNS.unwrap_or(0))); let client = Client::new( ClientConfig::default(), diff --git a/ethcore/res/ethereum/foundation.json b/ethcore/res/ethereum/foundation.json index 51e41ed43..620070e07 100644 --- a/ethcore/res/ethereum/foundation.json +++ b/ethcore/res/ethereum/foundation.json @@ -132,7 +132,10 @@ "eip150Transition": "0x259518", "eip160Transition": 2675000, "eip161abcTransition": 2675000, - "eip161dTransition": 2675000 + "eip161dTransition": 2675000, + "eip649Reward": "0x29A2241AF62C0000", + "eip100bTransition": 4370000, + "eip649Transition": 4370000 } } }, @@ -146,10 +149,13 @@ "forkBlock": "0x1d4c00", "forkCanonHash": "0x4985f5ca3d2afbec36529aa96f74de3cc10a2a4a6c44f2157a57d2c6059a11bb", "eip155Transition": 2675000, - "eip98Transition": "0x7fffffffffffff", "eip86Transition": "0x7fffffffffffff", - "maxCodeSize": 24576 + "maxCodeSize": 24576, + "eip140Transition": 4370000, + "eip211Transition": 4370000, + "eip214Transition": 4370000, + "eip658Transition": 4370000 }, "genesis": { "seal": { @@ -191,10 +197,10 @@ "0000000000000000000000000000000000000002": { "builtin": { "name": "sha256", "pricing": { "linear": { "base": 60, "word": 12 } } } }, "0000000000000000000000000000000000000003": { "builtin": { "name": "ripemd160", "pricing": { "linear": { "base": 600, "word": 120 } } } }, "0000000000000000000000000000000000000004": { "builtin": { "name": "identity", "pricing": { "linear": { "base": 15, "word": 3 } } } }, - "0000000000000000000000000000000000000005": { "builtin": { "name": "modexp", "activate_at": "0x7fffffffffffff", "pricing": { "modexp": { "divisor": 100 } } } }, - "0000000000000000000000000000000000000006": { "builtin": { "name": "alt_bn128_add", "activate_at": "0x7fffffffffffff", "pricing": { "linear": { "base": 500, "word": 0 } } } }, - "0000000000000000000000000000000000000007": { "builtin": { "name": "alt_bn128_mul", "activate_at": "0x7fffffffffffff", "pricing": { "linear": { "base": 2000, "word": 0 } } } }, - "0000000000000000000000000000000000000008": { "builtin": { "name": "alt_bn128_pairing", "activate_at": "0x7fffffffffffff", "pricing": { "alt_bn128_pairing": { "base": 100000, "pair": 80000 } } } }, + "0000000000000000000000000000000000000005": { "builtin": { "name": "modexp", "activate_at": 4370000, "pricing": { "modexp": { "divisor": 20 } } } }, + "0000000000000000000000000000000000000006": { "builtin": { "name": "alt_bn128_add", "activate_at": 4370000, "pricing": { "linear": { "base": 500, "word": 0 } } } }, + "0000000000000000000000000000000000000007": { "builtin": { "name": "alt_bn128_mul", "activate_at": 4370000, "pricing": { "linear": { "base": 40000, "word": 0 } } } }, + "0000000000000000000000000000000000000008": { "builtin": { "name": "alt_bn128_pairing", "activate_at": 4370000, "pricing": { "alt_bn128_pairing": { "base": 100000, "pair": 80000 } } } }, "3282791d6fd713f1e94f4bfd565eaa78b3a0599d": { "balance": "1337000000000000000000" }, diff --git a/ethcore/res/ethereum/kovan.json b/ethcore/res/ethereum/kovan.json index bd27d3b14..325b7cdf6 100644 --- a/ethcore/res/ethereum/kovan.json +++ b/ethcore/res/ethereum/kovan.json @@ -30,11 +30,14 @@ "params": { "gasLimitBoundDivisor": "0x400", "registrar" : "0xfAb104398BBefbd47752E7702D9fE23047E1Bca3", - "maximumExtraDataSize": "0x20", + "maximumExtraDataSize": "0x20", "minGasLimit": "0x1388", "networkID" : "0x2A", + "forkBlock": 4297256, + "forkCanonHash": "0x0a66d93c2f727dca618fabaf70c39b37018c73d78b939d8b11efbbd09034778f", "validateReceiptsTransition" : 1000000, - "eip155Transition": 1000000 + "eip155Transition": 1000000, + "validateChainIdTransition": 1000000 }, "genesis": { "seal": { diff --git a/ethcore/src/account_provider/stores.rs b/ethcore/src/account_provider/stores.rs index 72bc04da6..45652a8a6 100644 --- a/ethcore/src/account_provider/stores.rs +++ b/ethcore/src/account_provider/stores.rs @@ -64,7 +64,7 @@ impl AddressBook { /// Sets new name for given address. pub fn set_name(&mut self, a: Address, name: String) { { - let mut x = self.cache.entry(a) + let x = self.cache.entry(a) .or_insert_with(|| AccountMeta {name: Default::default(), meta: "{}".to_owned(), uuid: None}); x.name = name; } @@ -74,7 +74,7 @@ impl AddressBook { /// Sets new meta for given address. pub fn set_meta(&mut self, a: Address, meta: String) { { - let mut x = self.cache.entry(a) + let x = self.cache.entry(a) .or_insert_with(|| AccountMeta {name: "Anonymous".to_owned(), meta: Default::default(), uuid: None}); x.meta = meta; } @@ -253,7 +253,7 @@ impl DappsSettingsStore { /// Marks recent dapp as used pub fn mark_dapp_used(&mut self, dapp: DappId) { { - let mut entry = self.history.entry(dapp).or_insert_with(|| Default::default()); + let entry = self.history.entry(dapp).or_insert_with(|| Default::default()); entry.last_accessed = self.time.get(); } // Clear extraneous entries @@ -280,7 +280,7 @@ impl DappsSettingsStore { /// Sets accounts for specific dapp. pub fn set_accounts(&mut self, id: DappId, accounts: Option>) { { - let mut settings = self.settings.entry(id).or_insert_with(DappsSettings::default); + let settings = self.settings.entry(id).or_insert_with(DappsSettings::default); settings.accounts = accounts; } self.settings.save(JsonSettings::write); @@ -289,7 +289,7 @@ impl DappsSettingsStore { /// Sets a default account for specific dapp. pub fn set_default(&mut self, id: DappId, default: Address) { { - let mut settings = self.settings.entry(id).or_insert_with(DappsSettings::default); + let settings = self.settings.entry(id).or_insert_with(DappsSettings::default); settings.default = Some(default); } self.settings.save(JsonSettings::write); diff --git a/ethcore/src/blockchain/blockchain.rs b/ethcore/src/blockchain/blockchain.rs index 63df5d47b..a55cf669f 100644 --- a/ethcore/src/blockchain/blockchain.rs +++ b/ethcore/src/blockchain/blockchain.rs @@ -26,7 +26,6 @@ use bigint::prelude::U256; use bigint::hash::{H256, H2048}; use parking_lot::{Mutex, RwLock}; use bytes::Bytes; -use util::*; use rlp::*; use header::*; use super::extras::*; @@ -47,6 +46,7 @@ use encoded; use engines::epoch::{Transition as EpochTransition, PendingTransition as PendingEpochTransition}; use rayon::prelude::*; use ansi_term::Colour; +use kvdb::{DBTransaction, KeyValueDB}; const LOG_BLOOMS_LEVELS: usize = 3; const LOG_BLOOMS_ELEMENTS_PER_INDEX: usize = 16; @@ -1479,7 +1479,7 @@ mod tests { use std::sync::Arc; use rustc_hex::FromHex; use hash::keccak; - use util::kvdb::KeyValueDB; + use kvdb::{in_memory, KeyValueDB}; use bigint::hash::*; use receipt::{Receipt, TransactionOutcome}; use blockchain::{BlockProvider, BlockChain, Config, ImportRoute}; @@ -1493,7 +1493,7 @@ mod tests { use header::BlockNumber; fn new_db() -> Arc { - Arc::new(::util::kvdb::in_memory(::db::NUM_COLUMNS.unwrap_or(0))) + Arc::new(in_memory(::db::NUM_COLUMNS.unwrap_or(0))) } fn new_chain(genesis: &[u8], db: Arc) -> BlockChain { diff --git a/ethcore/src/blockchain/extras.rs b/ethcore/src/blockchain/extras.rs index 109038ef2..6184a2f47 100644 --- a/ethcore/src/blockchain/extras.rs +++ b/ethcore/src/blockchain/extras.rs @@ -28,7 +28,7 @@ use receipt::Receipt; use heapsize::HeapSizeOf; use bigint::prelude::U256; use bigint::hash::{H256, H264}; -use util::kvdb::PREFIX_LEN as DB_PREFIX_LEN; +use kvdb::PREFIX_LEN as DB_PREFIX_LEN; /// Represents index of extra data in database #[derive(Copy, Debug, Hash, Eq, PartialEq, Clone)] diff --git a/ethcore/src/builtin.rs b/ethcore/src/builtin.rs index 9d3290a7c..ab3144ce4 100644 --- a/ethcore/src/builtin.rs +++ b/ethcore/src/builtin.rs @@ -101,18 +101,17 @@ impl Pricer for ModexpPricer { let exp_len = read_len(); let mod_len = read_len(); - let max_len = U256::from(u32::max_value() / 2); - if base_len > max_len || mod_len > max_len { - return U256::max_value(); + if mod_len.is_zero() && base_len.is_zero() { + return U256::zero() } - let base_len = base_len.low_u64(); - let exp_len = exp_len.low_u64(); - let mod_len = mod_len.low_u64(); - let m = max(mod_len, base_len); - if m == 0 { - return U256::zero(); + let max_len = U256::from(u32::max_value() / 2); + if base_len > max_len || mod_len > max_len || exp_len > max_len { + return U256::max_value(); } + let (base_len, exp_len, mod_len) = (base_len.low_u64(), exp_len.low_u64(), mod_len.low_u64()); + + let m = max(mod_len, base_len); // read fist 32-byte word of the exponent. let exp_low = if base_len + 96 >= input.len() as u64 { U256::zero() } else { let mut buf = [0; 32]; @@ -124,7 +123,11 @@ impl Pricer for ModexpPricer { let adjusted_exp_len = Self::adjusted_exp_len(exp_len, exp_low); - (Self::mult_complexity(m) * max(adjusted_exp_len, 1) / self.divisor as u64).into() + let (gas, overflow) = Self::mult_complexity(m).overflowing_mul(max(adjusted_exp_len, 1)); + if overflow { + return U256::max_value(); + } + (gas / self.divisor as u64).into() } } @@ -133,8 +136,7 @@ impl ModexpPricer { let bit_index = if exp_low.is_zero() { 0 } else { (255 - exp_low.leading_zeros()) as u64 }; if len <= 32 { bit_index - } - else { + } else { 8 * (len - 32) + bit_index } } @@ -707,6 +709,32 @@ mod tests { native: ethereum_builtin("modexp"), activate_at: 0, }; + + // test for potential gas cost multiplication overflow + { + let input = FromHex::from_hex("0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000003b27bafd00000000000000000000000000000000000000000000000000000000503c8ac3").unwrap(); + let expected_cost = U256::max_value(); + assert_eq!(f.cost(&input[..]), expected_cost.into()); + } + + + // test for potential exp len overflow + { + let input = FromHex::from_hex("\ + 00000000000000000000000000000000000000000000000000000000000000ff\ + 2a1e530000000000000000000000000000000000000000000000000000000000\ + 0000000000000000000000000000000000000000000000000000000000000000" + ).unwrap(); + + let mut output = vec![0u8; 32]; + let expected = FromHex::from_hex("0000000000000000000000000000000000000000000000000000000000000000").unwrap(); + let expected_cost = U256::max_value(); + + f.execute(&input[..], &mut BytesRef::Fixed(&mut output[..])).expect("Builtin should fail"); + assert_eq!(output, expected); + assert_eq!(f.cost(&input[..]), expected_cost.into()); + } + // fermat's little theorem example. { let input = FromHex::from_hex("\ diff --git a/ethcore/src/client/client.rs b/ethcore/src/client/client.rs index d79ac5580..1b954b347 100644 --- a/ethcore/src/client/client.rs +++ b/ethcore/src/client/client.rs @@ -26,10 +26,10 @@ use itertools::Itertools; use hash::keccak; use timer::PerfTimer; use bytes::Bytes; -use util::{journaldb, DBValue}; -use util::{Address, UtilError}; +use util::{Address, journaldb, DBValue}; +use util_error::UtilError; use trie::{TrieSpec, TrieFactory, Trie}; -use util::kvdb::*; +use kvdb::*; // other use bigint::prelude::U256; @@ -988,9 +988,11 @@ impl Client { /// Tick the client. // TODO: manage by real events. - pub fn tick(&self) { + pub fn tick(&self, prevent_sleep: bool) { self.check_garbage(); - self.check_snooze(); + if !prevent_sleep { + self.check_snooze(); + } } fn check_garbage(&self) { @@ -1098,7 +1100,7 @@ impl Client { if !self.liveness.load(AtomicOrdering::Relaxed) { self.liveness.store(true, AtomicOrdering::Relaxed); self.notify(|n| n.start()); - trace!(target: "mode", "wake_up: Waking."); + info!(target: "mode", "wake_up: Waking."); } } @@ -1108,11 +1110,11 @@ impl Client { if self.queue_info().total_queue_size() <= MAX_QUEUE_SIZE_TO_SLEEP_ON { self.liveness.store(false, AtomicOrdering::Relaxed); self.notify(|n| n.stop()); - trace!(target: "mode", "sleep: Sleeping."); + info!(target: "mode", "sleep: Sleeping."); } else { - trace!(target: "mode", "sleep: Cannot sleep - syncing ongoing."); + info!(target: "mode", "sleep: Cannot sleep - syncing ongoing."); // TODO: Consider uncommenting. - //*self.last_activity.lock() = Some(Instant::now()); + //(*self.sleep_state.lock()).last_activity = Some(Instant::now()); } } } @@ -2090,7 +2092,7 @@ mod tests { use std::time::Duration; use std::sync::Arc; use std::sync::atomic::{AtomicBool, Ordering}; - use util::kvdb::DBTransaction; + use kvdb::DBTransaction; let client = generate_dummy_client(0); let genesis = client.chain_info().best_block_hash; diff --git a/ethcore/src/client/config.rs b/ethcore/src/client/config.rs index 43a7a821a..e629732d5 100644 --- a/ethcore/src/client/config.rs +++ b/ethcore/src/client/config.rs @@ -20,7 +20,8 @@ use std::fmt::{Display, Formatter, Error as FmtError}; use mode::Mode as IpcMode; use verification::{VerifierType, QueueConfig}; -use util::{journaldb, CompactionProfile}; +use util::journaldb; +use kvdb::CompactionProfile; pub use std::time::Duration; pub use blockchain::Config as BlockChainConfig; diff --git a/ethcore/src/client/error.rs b/ethcore/src/client/error.rs index 2bb5b46d4..aaa9fa83f 100644 --- a/ethcore/src/client/error.rs +++ b/ethcore/src/client/error.rs @@ -14,7 +14,7 @@ // You should have received a copy of the GNU General Public License // along with Parity. If not, see . -use util::UtilError; +use util_error::UtilError; use std::fmt::{Display, Formatter, Error as FmtError}; use trie::TrieError; diff --git a/ethcore/src/client/evm_test_client.rs b/ethcore/src/client/evm_test_client.rs index c6e43fff1..ff03554f9 100644 --- a/ethcore/src/client/evm_test_client.rs +++ b/ethcore/src/client/evm_test_client.rs @@ -23,7 +23,7 @@ use bigint::hash::H256; use util::journaldb; use trie; use bytes; -use util::kvdb::{self, KeyValueDB}; +use kvdb::{self, KeyValueDB}; use {state, state_db, client, executive, trace, transaction, db, spec, pod_state}; use factory::Factories; use evm::{self, VMType, FinalizationResult}; diff --git a/ethcore/src/client/test_client.rs b/ethcore/src/client/test_client.rs index 87c4c6001..82f969320 100644 --- a/ethcore/src/client/test_client.rs +++ b/ethcore/src/client/test_client.rs @@ -27,6 +27,7 @@ use bigint::prelude::U256; use bigint::hash::H256; use parking_lot::RwLock; use util::*; +use kvdb::{Database, DatabaseConfig}; use bytes::Bytes; use rlp::*; use ethkey::{Generator, Random}; diff --git a/ethcore/src/db.rs b/ethcore/src/db.rs index e60b77b2e..d11adc771 100644 --- a/ethcore/src/db.rs +++ b/ethcore/src/db.rs @@ -20,7 +20,7 @@ use std::ops::Deref; use std::hash::Hash; use std::collections::HashMap; use parking_lot::RwLock; -use util::{DBTransaction, KeyValueDB}; +use kvdb::{DBTransaction, KeyValueDB}; use rlp; diff --git a/ethcore/src/engines/mod.rs b/ethcore/src/engines/mod.rs index 2e583b179..802b4ab88 100644 --- a/ethcore/src/engines/mod.rs +++ b/ethcore/src/engines/mod.rs @@ -421,7 +421,7 @@ pub mod common { .and_then(|_| fields.state.commit()); let block_author = fields.header.author().clone(); - fields.traces.as_mut().map(move |mut traces| { + fields.traces.as_mut().map(move |traces| { let mut tracer = ExecutiveTracer::default(); tracer.trace_reward(block_author, reward, RewardType::Block); traces.push(tracer.drain()) diff --git a/ethcore/src/error.rs b/ethcore/src/error.rs index 9c7f7b4e2..0146c684a 100644 --- a/ethcore/src/error.rs +++ b/ethcore/src/error.rs @@ -17,9 +17,12 @@ //! General error types for use in ethcore. use std::fmt; +use kvdb; use bigint::prelude::U256; use bigint::hash::H256; use util::*; +use util_error::UtilError; +use snappy::InvalidInput; use unexpected::{Mismatch, OutOfBounds}; use trie::TrieError; use io::*; @@ -299,6 +302,8 @@ impl From for TransactionImportError { pub enum Error { /// Client configuration error. Client(ClientError), + /// Database error. + Database(kvdb::Error), /// Error concerning a utility. Util(UtilError), /// Error concerning block processing. @@ -322,7 +327,7 @@ pub enum Error { /// Standard io error. StdIo(::std::io::Error), /// Snappy error. - Snappy(::util::snappy::InvalidInput), + Snappy(InvalidInput), /// Snapshot error. Snapshot(SnapshotError), /// Consensus vote error. @@ -337,6 +342,7 @@ impl fmt::Display for Error { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { match *self { Error::Client(ref err) => err.fmt(f), + Error::Database(ref err) => err.fmt(f), Error::Util(ref err) => err.fmt(f), Error::Io(ref err) => err.fmt(f), Error::Block(ref err) => err.fmt(f), @@ -370,6 +376,12 @@ impl From for Error { } } +impl From for Error { + fn from(err: kvdb::Error) -> Error { + Error::Database(err) + } +} + impl From for Error { fn from(err: TransactionError) -> Error { Error::Transaction(err) @@ -434,8 +446,8 @@ impl From for Error { } } -impl From for Error { - fn from(err: snappy::InvalidInput) -> Error { +impl From<::snappy::InvalidInput> for Error { + fn from(err: ::snappy::InvalidInput) -> Error { Error::Snappy(err) } } diff --git a/ethcore/src/executive.rs b/ethcore/src/executive.rs index bcf239570..3709ea449 100644 --- a/ethcore/src/executive.rs +++ b/ethcore/src/executive.rs @@ -416,18 +416,24 @@ impl<'a, B: 'a + StateBackend> Executive<'a, B> { let cost = builtin.cost(data); if cost <= params.gas { - if let Err(e) = builtin.execute(data, &mut output) { + let mut builtin_out_buffer = Vec::new(); + let result = { + let mut builtin_output = BytesRef::Flexible(&mut builtin_out_buffer); + builtin.execute(data, &mut builtin_output) + }; + if let Err(e) = result { self.state.revert_to_checkpoint(); let evm_err: vm::Error = e.into(); tracer.trace_failed_call(trace_info, vec![], evm_err.clone().into()); Err(evm_err) } else { self.state.discard_checkpoint(); + output.write(0, &builtin_out_buffer); // trace only top level calls to builtins to avoid DDoS attacks if self.depth == 0 { let mut trace_output = tracer.prepare_trace_output(); - if let Some(mut out) = trace_output.as_mut() { + if let Some(out) = trace_output.as_mut() { *out = output.to_owned(); } @@ -439,9 +445,10 @@ impl<'a, B: 'a + StateBackend> Executive<'a, B> { ); } + let out_len = builtin_out_buffer.len(); Ok(FinalizationResult { gas_left: params.gas - cost, - return_data: ReturnData::new(output.to_owned(), 0, output.len()), + return_data: ReturnData::new(builtin_out_buffer, 0, out_len), apply_state: true, }) } diff --git a/ethcore/src/json_tests/chain.rs b/ethcore/src/json_tests/chain.rs index 9ae55f73d..9bd0d4c94 100644 --- a/ethcore/src/json_tests/chain.rs +++ b/ethcore/src/json_tests/chain.rs @@ -57,9 +57,11 @@ pub fn json_chain_test(json_data: &[u8]) -> Vec { }; { - let db = Arc::new(::util::kvdb::in_memory(::db::NUM_COLUMNS.unwrap_or(0))); + let db = Arc::new(::kvdb::in_memory(::db::NUM_COLUMNS.unwrap_or(0))); + let mut config = ClientConfig::default(); + config.history = 8; let client = Client::new( - ClientConfig::default(), + config, &spec, db, Arc::new(Miner::with_spec(&spec)), @@ -101,7 +103,7 @@ mod block_tests { declare_test!{BlockchainTests_bcMultiChainTest, "BlockchainTests/bcMultiChainTest"} declare_test!{BlockchainTests_bcRandomBlockhashTest, "BlockchainTests/bcRandomBlockhashTest"} declare_test!{BlockchainTests_bcTotalDifficultyTest, "BlockchainTests/bcTotalDifficultyTest"} - declare_test!{BlockchainTests_bcUncleHeaderValiditiy, "BlockchainTests/bcUncleHeaderValiditiy"} + declare_test!{BlockchainTests_bcUncleHeaderValidity, "BlockchainTests/bcUncleHeaderValidity"} declare_test!{BlockchainTests_bcUncleTest, "BlockchainTests/bcUncleTest"} declare_test!{BlockchainTests_bcValidBlockTest, "BlockchainTests/bcValidBlockTest"} declare_test!{BlockchainTests_bcWalletTest, "BlockchainTests/bcWalletTest"} diff --git a/ethcore/src/json_tests/difficulty.rs b/ethcore/src/json_tests/difficulty.rs new file mode 100644 index 000000000..eb599ab83 --- /dev/null +++ b/ethcore/src/json_tests/difficulty.rs @@ -0,0 +1,71 @@ +// Copyright 2015-2017 Parity Technologies (UK) Ltd. +// This file is part of Parity. + +// Parity is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Parity is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Parity. If not, see . + +use ethjson; +use header::Header; +use bigint::prelude::U256; +use spec::Spec; + +pub fn json_difficulty_test(json_data: &[u8], spec: Spec) -> Vec { + ::ethcore_logger::init_log(); + let tests = ethjson::test::DifficultyTest::load(json_data).unwrap(); + let engine = &spec.engine; + + for (name, test) in tests.into_iter() { + flush!(" - {}...", name); + println!(" - {}...", name); + + let mut parent_header = Header::new(); + let block_number: u64 = test.current_block_number.into(); + parent_header.set_number(block_number - 1); + parent_header.set_gas_limit(0x20000.into()); + parent_header.set_timestamp(test.parent_timestamp.into()); + parent_header.set_difficulty(test.parent_difficulty.into()); + parent_header.set_uncles_hash(test.parent_uncles.into()); + let mut header = Header::new(); + header.set_number(block_number); + header.set_timestamp(test.current_timestamp.into()); + engine.populate_from_parent(&mut header, &parent_header); + let expected_difficulty: U256 = test.current_difficulty.into(); + assert_eq!(header.difficulty(), &expected_difficulty); + flushln!("ok"); + } + vec![] +} + +mod difficulty_test_byzantium { + use super::json_difficulty_test; + + fn do_json_test(json_data: &[u8]) -> Vec { + json_difficulty_test(json_data, ::ethereum::new_byzantium_test()) + } + + declare_test!{DifficultyTests_difficultyByzantium, "BasicTests/difficultyByzantium.json"} +} + + +mod difficulty_test_foundation { + use super::json_difficulty_test; + + fn do_json_test(json_data: &[u8]) -> Vec { + json_difficulty_test(json_data, ::ethereum::new_foundation(&::std::env::temp_dir())) + } + + declare_test!{DifficultyTests_difficultyMainNetwork, "BasicTests/difficultyMainNetwork.json"} +} + + + diff --git a/ethcore/src/json_tests/mod.rs b/ethcore/src/json_tests/mod.rs index ab3205d18..a0966a2d2 100644 --- a/ethcore/src/json_tests/mod.rs +++ b/ethcore/src/json_tests/mod.rs @@ -22,3 +22,4 @@ mod executive; mod state; mod chain; mod trie; +mod difficulty; diff --git a/ethcore/src/lib.rs b/ethcore/src/lib.rs index 5faf5bf82..a67eb879a 100644 --- a/ethcore/src/lib.rs +++ b/ethcore/src/lib.rs @@ -112,6 +112,10 @@ extern crate triehash; extern crate ansi_term; extern crate semantic_version; extern crate unexpected; +extern crate kvdb; +extern crate util_error; +extern crate snappy; +extern crate migration; #[macro_use] extern crate rlp_derive; @@ -124,11 +128,12 @@ extern crate table; extern crate bloomable; extern crate vm; extern crate wasm; +extern crate ethcore_util as util; #[macro_use] -extern crate log; +extern crate macros; #[macro_use] -extern crate ethcore_util as util; +extern crate log; #[macro_use] extern crate lazy_static; #[macro_use] diff --git a/ethcore/src/machine.rs b/ethcore/src/machine.rs index b1354b17b..2536384e6 100644 --- a/ethcore/src/machine.rs +++ b/ethcore/src/machine.rs @@ -351,7 +351,9 @@ impl EthereumMachine { None => true, }; - let chain_id = if header.number() >= self.params().eip155_transition { + let chain_id = if header.number() < self.params().validate_chain_id_transition { + t.chain_id() + } else if header.number() >= self.params().eip155_transition { Some(self.params().chain_id) } else { None diff --git a/ethcore/src/migrations/blocks/v8.rs b/ethcore/src/migrations/blocks/v8.rs index ddade6847..6c5441c97 100644 --- a/ethcore/src/migrations/blocks/v8.rs +++ b/ethcore/src/migrations/blocks/v8.rs @@ -16,7 +16,7 @@ //! This migration compresses the state db. -use util::migration::{SimpleMigration, Progress}; +use migration::{SimpleMigration, Progress}; use rlp::{Compressible, UntrustedRlp, RlpType}; /// Compressing migration. diff --git a/ethcore/src/migrations/extras/v6.rs b/ethcore/src/migrations/extras/v6.rs index 638a64a83..7dfc5427e 100644 --- a/ethcore/src/migrations/extras/v6.rs +++ b/ethcore/src/migrations/extras/v6.rs @@ -14,7 +14,7 @@ // You should have received a copy of the GNU General Public License // along with Parity. If not, see . -use util::migration::SimpleMigration; +use migration::SimpleMigration; /// This migration reduces the sizes of keys and moves `ExtrasIndex` byte from back to the front. pub struct ToV6; diff --git a/ethcore/src/migrations/mod.rs b/ethcore/src/migrations/mod.rs index 76b10fd19..fc4975f10 100644 --- a/ethcore/src/migrations/mod.rs +++ b/ethcore/src/migrations/mod.rs @@ -16,7 +16,7 @@ //! Database migrations. -use util::migration::ChangeColumns; +use migration::ChangeColumns; pub mod state; pub mod blocks; diff --git a/ethcore/src/migrations/state/v7.rs b/ethcore/src/migrations/state/v7.rs index 4a9d850ad..cbf517d1d 100644 --- a/ethcore/src/migrations/state/v7.rs +++ b/ethcore/src/migrations/state/v7.rs @@ -22,8 +22,8 @@ use std::collections::HashMap; use bigint::hash::H256; use util::Address; use bytes::Bytes; -use util::kvdb::Database; -use util::migration::{Batch, Config, Error, Migration, SimpleMigration, Progress}; +use kvdb::Database; +use migration::{Batch, Config, Error, Migration, SimpleMigration, Progress}; use hash::keccak; use std::sync::Arc; diff --git a/ethcore/src/migrations/v10.rs b/ethcore/src/migrations/v10.rs index d2f6952d4..155d6f4c0 100644 --- a/ethcore/src/migrations/v10.rs +++ b/ethcore/src/migrations/v10.rs @@ -22,11 +22,11 @@ use state_db::{ACCOUNT_BLOOM_SPACE, DEFAULT_ACCOUNT_PRESET, StateDB}; use trie::TrieDB; use views::HeaderView; use bloom_journal::Bloom; -use util::migration::{Error, Migration, Progress, Batch, Config}; +use migration::{Error, Migration, Progress, Batch, Config}; use util::journaldb; use bigint::hash::H256; use trie::Trie; -use util::{Database, DBTransaction}; +use kvdb::{Database, DBTransaction}; /// Account bloom upgrade routine. If bloom already present, does nothing. /// If database empty (no best block), does nothing. diff --git a/ethcore/src/migrations/v9.rs b/ethcore/src/migrations/v9.rs index 08f83f132..7c28054fa 100644 --- a/ethcore/src/migrations/v9.rs +++ b/ethcore/src/migrations/v9.rs @@ -18,8 +18,8 @@ //! This migration consolidates all databases into single one using Column Families. use rlp::{Rlp, RlpStream}; -use util::kvdb::Database; -use util::migration::{Batch, Config, Error, Migration, Progress}; +use kvdb::Database; +use migration::{Batch, Config, Error, Migration, Progress}; use std::sync::Arc; /// Which part of block to preserve diff --git a/ethcore/src/miner/banning_queue.rs b/ethcore/src/miner/banning_queue.rs index a446da29e..d89c30b86 100644 --- a/ethcore/src/miner/banning_queue.rs +++ b/ethcore/src/miner/banning_queue.rs @@ -149,7 +149,7 @@ impl BanningTransactionQueue { /// queue. fn ban_sender(&mut self, address: Address) -> bool { let count = { - let mut count = self.senders_bans.entry(address).or_insert_with(|| 0); + let count = self.senders_bans.entry(address).or_insert_with(|| 0); *count = count.saturating_add(1); *count }; @@ -169,7 +169,7 @@ impl BanningTransactionQueue { /// Returns true if bans threshold has been reached. fn ban_recipient(&mut self, address: Address) -> bool { let count = { - let mut count = self.recipients_bans.entry(address).or_insert_with(|| 0); + let count = self.recipients_bans.entry(address).or_insert_with(|| 0); *count = count.saturating_add(1); *count }; @@ -185,7 +185,7 @@ impl BanningTransactionQueue { /// If bans threshold is reached all subsequent transactions to contracts with this codehash will be rejected. /// Returns true if bans threshold has been reached. fn ban_codehash(&mut self, code_hash: H256) -> bool { - let mut count = self.codes_bans.entry(code_hash).or_insert_with(|| 0); + let count = self.codes_bans.entry(code_hash).or_insert_with(|| 0); *count = count.saturating_add(1); match self.ban_threshold { diff --git a/ethcore/src/miner/transaction_queue.rs b/ethcore/src/miner/transaction_queue.rs index 0234af068..2accbecc0 100644 --- a/ethcore/src/miner/transaction_queue.rs +++ b/ethcore/src/miner/transaction_queue.rs @@ -341,7 +341,7 @@ impl GasPriceQueue { /// Remove an item from a BTreeMap/HashSet "multimap". /// Returns true if the item was removed successfully. pub fn remove(&mut self, gas_price: &U256, hash: &H256) -> bool { - if let Some(mut hashes) = self.backing.get_mut(gas_price) { + if let Some(hashes) = self.backing.get_mut(gas_price) { let only_one_left = hashes.len() == 1; if !only_one_left { // Operation may be ok: only if hash is in gas-price's Set. @@ -1225,7 +1225,7 @@ impl TransactionQueue { if by_nonce.is_none() { return; } - let mut by_nonce = by_nonce.expect("None is tested in early-exit condition above; qed"); + let by_nonce = by_nonce.expect("None is tested in early-exit condition above; qed"); while let Some(order) = by_nonce.remove(¤t_nonce) { // remove also from priority and gas_price self.future.by_priority.remove(&order); diff --git a/ethcore/src/service.rs b/ethcore/src/service.rs index ca283b0aa..64773a236 100644 --- a/ethcore/src/service.rs +++ b/ethcore/src/service.rs @@ -19,7 +19,7 @@ use std::sync::Arc; use std::path::Path; use bigint::hash::H256; -use util::*; +use kvdb::{Database, DatabaseConfig, KeyValueDB}; use bytes::Bytes; use io::*; use spec::Spec; @@ -27,7 +27,7 @@ use error::*; use client::{Client, ClientConfig, ChainNotify}; use miner::Miner; -use snapshot::ManifestData; +use snapshot::{ManifestData, RestorationStatus}; use snapshot::service::{Service as SnapshotService, ServiceParams as SnapServiceParams}; use std::sync::atomic::AtomicBool; use ansi_term::Colour; @@ -180,7 +180,11 @@ impl IoHandler for ClientIoHandler { fn timeout(&self, _io: &IoContext, timer: TimerToken) { match timer { - CLIENT_TICK_TIMER => self.client.tick(), + CLIENT_TICK_TIMER => { + use snapshot::SnapshotService; + let snapshot_restoration = if let RestorationStatus::Ongoing{..} = self.snapshot.status() { true } else { false }; + self.client.tick(snapshot_restoration) + }, SNAPSHOT_TICK_TIMER => self.snapshot.tick(), _ => warn!("IO service triggered unregistered timer '{}'", timer), } diff --git a/ethcore/src/snapshot/consensus/authority.rs b/ethcore/src/snapshot/consensus/authority.rs index efb30635d..ce15fed95 100644 --- a/ethcore/src/snapshot/consensus/authority.rs +++ b/ethcore/src/snapshot/consensus/authority.rs @@ -35,7 +35,7 @@ use snapshot::{Error, ManifestData}; use itertools::{Position, Itertools}; use rlp::{RlpStream, UntrustedRlp}; use bigint::hash::H256; -use util::KeyValueDB; +use kvdb::KeyValueDB; use bytes::Bytes; /// Snapshot creation and restoration for PoA chains. diff --git a/ethcore/src/snapshot/consensus/mod.rs b/ethcore/src/snapshot/consensus/mod.rs index baff16940..bb2f5a5cc 100644 --- a/ethcore/src/snapshot/consensus/mod.rs +++ b/ethcore/src/snapshot/consensus/mod.rs @@ -25,7 +25,7 @@ use engines::EthEngine; use snapshot::{Error, ManifestData}; use bigint::hash::H256; -use util::kvdb::KeyValueDB; +use kvdb::KeyValueDB; mod authority; mod work; diff --git a/ethcore/src/snapshot/consensus/work.rs b/ethcore/src/snapshot/consensus/work.rs index 5ef1b197c..eea2a5cce 100644 --- a/ethcore/src/snapshot/consensus/work.rs +++ b/ethcore/src/snapshot/consensus/work.rs @@ -31,7 +31,7 @@ use engines::EthEngine; use snapshot::{Error, ManifestData}; use snapshot::block::AbridgedBlock; use bigint::hash::H256; -use util::KeyValueDB; +use kvdb::KeyValueDB; use bytes::Bytes; use rlp::{RlpStream, UntrustedRlp}; use rand::OsRng; diff --git a/ethcore/src/snapshot/mod.rs b/ethcore/src/snapshot/mod.rs index 4931d500d..e33c47e2c 100644 --- a/ethcore/src/snapshot/mod.rs +++ b/ethcore/src/snapshot/mod.rs @@ -32,11 +32,12 @@ use ids::BlockId; use bigint::prelude::U256; use bigint::hash::H256; -use util::{HashDB, DBValue, snappy}; +use util::{HashDB, DBValue}; +use snappy; use bytes::Bytes; use parking_lot::Mutex; use util::journaldb::{self, Algorithm, JournalDB}; -use util::kvdb::KeyValueDB; +use kvdb::KeyValueDB; use trie::{TrieDB, TrieDBMut, Trie, TrieMut}; use rlp::{RlpStream, UntrustedRlp}; use bloom_journal::Bloom; diff --git a/ethcore/src/snapshot/service.rs b/ethcore/src/snapshot/service.rs index ab551f154..a53824b1f 100644 --- a/ethcore/src/snapshot/service.rs +++ b/ethcore/src/snapshot/service.rs @@ -37,11 +37,11 @@ use io::IoChannel; use bigint::hash::H256; use parking_lot::{Mutex, RwLock, RwLockReadGuard}; -use util::UtilError; +use util_error::UtilError; use bytes::Bytes; use util::journaldb::Algorithm; -use util::kvdb::{Database, DatabaseConfig}; -use util::snappy; +use kvdb::{Database, DatabaseConfig}; +use snappy; /// Helper for removing directories in case of error. struct Guard(bool, PathBuf); @@ -682,7 +682,7 @@ mod tests { #[test] fn cannot_finish_with_invalid_chunks() { use bigint::hash::H256; - use util::kvdb::DatabaseConfig; + use kvdb::DatabaseConfig; let spec = get_test_spec(); let dir = RandomTempPath::new(); diff --git a/ethcore/src/snapshot/tests/helpers.rs b/ethcore/src/snapshot/tests/helpers.rs index d946d7e47..cdd51a63c 100644 --- a/ethcore/src/snapshot/tests/helpers.rs +++ b/ethcore/src/snapshot/tests/helpers.rs @@ -31,7 +31,8 @@ use snapshot::io::{SnapshotReader, PackedWriter, PackedReader}; use devtools::{RandomTempPath, GuardedTempResult}; use rand::Rng; -use util::{DBValue, KeyValueDB}; +use util::DBValue; +use kvdb::KeyValueDB; use bigint::hash::H256; use hashdb::HashDB; use util::journaldb; @@ -165,7 +166,7 @@ pub fn restore( genesis: &[u8], ) -> Result<(), ::error::Error> { use std::sync::atomic::AtomicBool; - use util::snappy; + use snappy; let flag = AtomicBool::new(true); let components = engine.snapshot_components().unwrap(); diff --git a/ethcore/src/snapshot/tests/proof_of_authority.rs b/ethcore/src/snapshot/tests/proof_of_authority.rs index 7c00c8197..9634fd531 100644 --- a/ethcore/src/snapshot/tests/proof_of_authority.rs +++ b/ethcore/src/snapshot/tests/proof_of_authority.rs @@ -31,7 +31,7 @@ use tests::helpers; use transaction::{Transaction, Action, SignedTransaction}; use util::Address; -use util::kvdb; +use kvdb; const PASS: &'static str = ""; const TRANSITION_BLOCK_1: usize = 2; // block at which the contract becomes activated. diff --git a/ethcore/src/snapshot/tests/proof_of_work.rs b/ethcore/src/snapshot/tests/proof_of_work.rs index 91f2753d4..8002e4362 100644 --- a/ethcore/src/snapshot/tests/proof_of_work.rs +++ b/ethcore/src/snapshot/tests/proof_of_work.rs @@ -25,8 +25,8 @@ use snapshot::{chunk_secondary, Error as SnapshotError, Progress, SnapshotCompon use snapshot::io::{PackedReader, PackedWriter, SnapshotReader, SnapshotWriter}; use parking_lot::Mutex; -use util::snappy; -use util::kvdb::{self, KeyValueDB, DBTransaction}; +use snappy; +use kvdb::{self, KeyValueDB, DBTransaction}; use std::sync::Arc; use std::sync::atomic::AtomicBool; diff --git a/ethcore/src/snapshot/tests/service.rs b/ethcore/src/snapshot/tests/service.rs index 64a8407aa..d391883a9 100644 --- a/ethcore/src/snapshot/tests/service.rs +++ b/ethcore/src/snapshot/tests/service.rs @@ -27,7 +27,7 @@ use tests::helpers::generate_dummy_client_with_spec_and_data; use devtools::RandomTempPath; use io::IoChannel; -use util::kvdb::{Database, DatabaseConfig}; +use kvdb::{Database, DatabaseConfig}; struct NoopDBRestore; diff --git a/ethcore/src/snapshot/tests/state.rs b/ethcore/src/snapshot/tests/state.rs index 460dd77b5..175ae4eb8 100644 --- a/ethcore/src/snapshot/tests/state.rs +++ b/ethcore/src/snapshot/tests/state.rs @@ -27,7 +27,7 @@ use error::Error; use rand::{XorShiftRng, SeedableRng}; use bigint::hash::H256; use util::journaldb::{self, Algorithm}; -use util::kvdb::{Database, DatabaseConfig}; +use kvdb::{Database, DatabaseConfig}; use memorydb::MemoryDB; use parking_lot::Mutex; use devtools::RandomTempPath; @@ -76,7 +76,7 @@ fn snap_and_restore() { for chunk_hash in &reader.manifest().state_hashes { let raw = reader.chunk(*chunk_hash).unwrap(); - let chunk = ::util::snappy::decompress(&raw).unwrap(); + let chunk = ::snappy::decompress(&raw).unwrap(); rebuilder.feed(&chunk, &flag).unwrap(); } @@ -190,7 +190,7 @@ fn checks_flag() { for chunk_hash in &reader.manifest().state_hashes { let raw = reader.chunk(*chunk_hash).unwrap(); - let chunk = ::util::snappy::decompress(&raw).unwrap(); + let chunk = ::snappy::decompress(&raw).unwrap(); match rebuilder.feed(&chunk, &flag) { Err(Error::Snapshot(SnapshotError::RestorationAborted)) => {}, diff --git a/ethcore/src/spec/spec.rs b/ethcore/src/spec/spec.rs index 54c966615..a1696c47b 100644 --- a/ethcore/src/spec/spec.rs +++ b/ethcore/src/spec/spec.rs @@ -85,6 +85,8 @@ pub struct CommonParams { pub eip155_transition: BlockNumber, /// Validate block receipts root. pub validate_receipts_transition: BlockNumber, + /// Validate transaction chain id. + pub validate_chain_id_transition: BlockNumber, /// Number of first block where EIP-86 (Metropolis) rules begin. pub eip86_transition: BlockNumber, /// Number of first block where EIP-140 (Metropolis: REVERT opcode) rules begin. @@ -153,7 +155,7 @@ impl CommonParams { self.validate_receipts_transition != 0 && self.eip86_transition != 0 && self.eip140_transition != 0 && self.eip210_transition != 0 && self.eip211_transition != 0 && self.eip214_transition != 0 && - self.dust_protection_transition != 0 + self.validate_chain_id_transition != 0 && self.dust_protection_transition != 0 } } @@ -178,6 +180,7 @@ impl From for CommonParams { eip98_transition: p.eip98_transition.map_or(0, Into::into), eip155_transition: p.eip155_transition.map_or(0, Into::into), validate_receipts_transition: p.validate_receipts_transition.map_or(0, Into::into), + validate_chain_id_transition: p.validate_chain_id_transition.map_or(0, Into::into), eip86_transition: p.eip86_transition.map_or( BlockNumber::max_value(), Into::into, @@ -667,7 +670,8 @@ impl Spec { /// constructor. pub fn genesis_epoch_data(&self) -> Result, String> { use transaction::{Action, Transaction}; - use util::{journaldb, kvdb}; + use util::journaldb; + use kvdb; let genesis = self.genesis_header(); diff --git a/ethcore/src/state/mod.rs b/ethcore/src/state/mod.rs index 96fd46ec5..dfde05921 100644 --- a/ethcore/src/state/mod.rs +++ b/ethcore/src/state/mod.rs @@ -962,7 +962,7 @@ impl State { // at this point the entry is guaranteed to be in the cache. Ok(RefMut::map(self.cache.borrow_mut(), |c| { - let mut entry = c.get_mut(a).expect("entry known to exist in the cache; qed"); + let entry = c.get_mut(a).expect("entry known to exist in the cache; qed"); match &mut entry.account { &mut Some(ref mut acc) => not_default(acc), diff --git a/ethcore/src/state_db.rs b/ethcore/src/state_db.rs index 34279a382..a2e4dcac4 100644 --- a/ethcore/src/state_db.rs +++ b/ethcore/src/state_db.rs @@ -19,14 +19,15 @@ use std::sync::Arc; use lru_cache::LruCache; use util::cache::MemoryLruCache; use util::journaldb::JournalDB; -use util::kvdb::KeyValueDB; +use kvdb::{KeyValueDB, DBTransaction}; use bigint::hash::H256; use hashdb::HashDB; use state::{self, Account}; use header::BlockNumber; use hash::keccak; use parking_lot::Mutex; -use util::{Address, DBTransaction, UtilError}; +use util::Address; +use util_error::UtilError; use bloom_journal::{Bloom, BloomJournal}; use db::COL_ACCOUNT_BLOOM; use byteorder::{LittleEndian, ByteOrder}; @@ -210,7 +211,7 @@ impl StateDB { pub fn sync_cache(&mut self, enacted: &[H256], retracted: &[H256], is_best: bool) { trace!("sync_cache id = (#{:?}, {:?}), parent={:?}, best={}", self.commit_number, self.commit_hash, self.parent_hash, is_best); let mut cache = self.account_cache.lock(); - let mut cache = &mut *cache; + let cache = &mut *cache; // Purge changes from re-enacted and retracted blocks. // Filter out commiting block if any. @@ -460,7 +461,8 @@ impl state::Backend for StateDB { mod tests { use bigint::prelude::U256; use bigint::hash::H256; - use util::{Address, DBTransaction}; + use util::Address; + use kvdb::DBTransaction; use tests::helpers::*; use state::{Account, Backend}; use ethcore_logger::init_log; diff --git a/ethcore/src/tests/client.rs b/ethcore/src/tests/client.rs index 4e44573e2..2f67ece8f 100644 --- a/ethcore/src/tests/client.rs +++ b/ethcore/src/tests/client.rs @@ -27,6 +27,7 @@ use tests::helpers::*; use types::filter::Filter; use bigint::prelude::U256; use util::*; +use kvdb::{Database, DatabaseConfig}; use devtools::*; use miner::Miner; use spec::Spec; @@ -194,7 +195,7 @@ fn imports_block_sequence() { #[test] fn can_collect_garbage() { let client = generate_dummy_client(100); - client.tick(); + client.tick(true); assert!(client.blockchain_cache_info().blocks < 100 * 1024); } diff --git a/ethcore/src/tests/helpers.rs b/ethcore/src/tests/helpers.rs index 30e74e179..52a0dedc6 100644 --- a/ethcore/src/tests/helpers.rs +++ b/ethcore/src/tests/helpers.rs @@ -231,8 +231,8 @@ pub fn get_test_client_with_blocks(blocks: Vec) -> Arc { client } -fn new_db() -> Arc { - Arc::new(::util::kvdb::in_memory(::db::NUM_COLUMNS.unwrap_or(0))) +fn new_db() -> Arc<::kvdb::KeyValueDB> { + Arc::new(::kvdb::in_memory(::db::NUM_COLUMNS.unwrap_or(0))) } pub fn generate_dummy_blockchain(block_number: u32) -> BlockChain { diff --git a/ethcore/src/tests/trace.rs b/ethcore/src/tests/trace.rs index 0d57ff97d..270d29597 100644 --- a/ethcore/src/tests/trace.rs +++ b/ethcore/src/tests/trace.rs @@ -27,7 +27,7 @@ use client::*; use tests::helpers::*; use devtools::RandomTempPath; use client::{BlockChainClient, Client, ClientConfig}; -use util::kvdb::{Database, DatabaseConfig}; +use kvdb::{Database, DatabaseConfig}; use std::sync::Arc; use header::Header; use miner::Miner; diff --git a/ethcore/src/trace/db.rs b/ethcore/src/trace/db.rs index 267acc45a..087acdcc9 100644 --- a/ethcore/src/trace/db.rs +++ b/ethcore/src/trace/db.rs @@ -22,7 +22,7 @@ use bloomchain::{Number, Config as BloomConfig}; use bloomchain::group::{BloomGroupDatabase, BloomGroupChain, GroupPosition, BloomGroup}; use heapsize::HeapSizeOf; use bigint::hash::{H256, H264}; -use util::{KeyValueDB, DBTransaction}; +use kvdb::{KeyValueDB, DBTransaction}; use parking_lot::RwLock; use header::BlockNumber; use trace::{LocalizedTrace, Config, Filter, Database as TraceDatabase, ImportRequest, DatabaseExtras}; @@ -415,7 +415,8 @@ mod tests { use std::sync::Arc; use bigint::prelude::U256; use bigint::hash::H256; - use util::{Address, DBTransaction}; + use util::Address; + use kvdb::{DBTransaction, in_memory, KeyValueDB}; use header::BlockNumber; use trace::{Config, TraceDB, Database as TraceDatabase, DatabaseExtras, ImportRequest}; use trace::{Filter, LocalizedTrace, AddressesFilter, TraceError}; @@ -465,8 +466,8 @@ mod tests { } } - fn new_db() -> Arc<::util::kvdb::KeyValueDB> { - Arc::new(::util::kvdb::in_memory(::db::NUM_COLUMNS.unwrap_or(0))) + fn new_db() -> Arc { + Arc::new(in_memory(::db::NUM_COLUMNS.unwrap_or(0))) } #[test] diff --git a/ethcore/src/trace/mod.rs b/ethcore/src/trace/mod.rs index 0a255b357..f86daf13f 100644 --- a/ethcore/src/trace/mod.rs +++ b/ethcore/src/trace/mod.rs @@ -39,7 +39,8 @@ pub use self::types::filter::{Filter, AddressesFilter}; use bigint::prelude::U256; use bigint::hash::H256; -use util::{Address, DBTransaction}; +use util::Address; +use kvdb::DBTransaction; use bytes::Bytes; use self::trace::{Call, Create}; use vm::ActionParams; diff --git a/ethcore/src/tx_filter.rs b/ethcore/src/tx_filter.rs index 25c6ed64b..ac40b8ab6 100644 --- a/ethcore/src/tx_filter.rs +++ b/ethcore/src/tx_filter.rs @@ -178,7 +178,7 @@ mod test { "#; let spec = Spec::load(&::std::env::temp_dir(), spec_data.as_bytes()).unwrap(); - let client_db = Arc::new(::util::kvdb::in_memory(::db::NUM_COLUMNS.unwrap_or(0))); + let client_db = Arc::new(::kvdb::in_memory(::db::NUM_COLUMNS.unwrap_or(0))); let client = Client::new( ClientConfig::default(), diff --git a/ethcore/src/verification/queue/mod.rs b/ethcore/src/verification/queue/mod.rs index 198c63287..bf7c9ef5c 100644 --- a/ethcore/src/verification/queue/mod.rs +++ b/ethcore/src/verification/queue/mod.rs @@ -522,7 +522,7 @@ impl VerificationQueue { return; } let mut verified_lock = self.verification.verified.lock(); - let mut verified = &mut *verified_lock; + let verified = &mut *verified_lock; let mut bad = self.verification.bad.lock(); let mut processing = self.processing.write(); bad.reserve(hashes.len()); diff --git a/ethcore/vm/Cargo.toml b/ethcore/vm/Cargo.toml index ade675044..7f497a642 100644 --- a/ethcore/vm/Cargo.toml +++ b/ethcore/vm/Cargo.toml @@ -11,8 +11,6 @@ ethcore-bigint = { path = "../../util/bigint" } patricia_trie = { path = "../../util/patricia_trie" } log = "0.3" common-types = { path = "../types" } -evmjit = { path = "../../evmjit", optional = true } ethjson = { path = "../../json" } -lazy_static = "0.2" rlp = { path = "../../util/rlp" } hash = { path = "../../util/hash" } diff --git a/ethcore/vm/src/schedule.rs b/ethcore/vm/src/schedule.rs index 04c97b044..21924afea 100644 --- a/ethcore/vm/src/schedule.rs +++ b/ethcore/vm/src/schedule.rs @@ -113,6 +113,49 @@ pub struct Schedule { pub kill_dust: CleanDustMode, /// Enable EIP-86 rules pub eip86: bool, + /// Wasm extra schedule settings + pub wasm: WasmCosts, +} + +/// Wasm cost table +pub struct WasmCosts { + /// Arena allocator cost, per byte + pub alloc: u32, + /// Div operations multiplier. + pub div: u32, + /// Div operations multiplier. + pub mul: u32, + /// Memory (load/store) operations multiplier. + pub mem: u32, + /// Memory copy operation. + pub mem_copy: u32, + /// Static region charge, per byte. + pub static_region: u32, + /// General static query of u64 value from env-info + pub static_u64: u32, + /// General static query of U256 value from env-info + pub static_u256: u32, + /// General static query of Address value from env-info + pub static_address: u32, +} + +impl Default for WasmCosts { + fn default() -> Self { + WasmCosts { + alloc: 2, + div: 16, + mul: 4, + mem: 2, + mem_copy: 1, + static_region: 1, + + // due to runtime issues, this can be slow + static_u64: 32, + + static_u256: 64, + static_address: 40, + } + } } /// Dust accounts cleanup mode. @@ -187,6 +230,7 @@ impl Schedule { have_static_call: false, kill_dust: CleanDustMode::Off, eip86: false, + wasm: Default::default(), } } @@ -249,6 +293,7 @@ impl Schedule { have_static_call: false, kill_dust: CleanDustMode::Off, eip86: false, + wasm: Default::default(), } } } diff --git a/ethcore/vm/src/tests.rs b/ethcore/vm/src/tests.rs index 40c23f40c..0d7ca1f82 100644 --- a/ethcore/vm/src/tests.rs +++ b/ethcore/vm/src/tests.rs @@ -80,6 +80,12 @@ impl FakeExt { pub fn new() -> Self { FakeExt::default() } + + pub fn new_byzantium() -> Self { + let mut ext = FakeExt::default(); + ext.schedule = Schedule::new_byzantium(); + ext + } } impl Ext for FakeExt { diff --git a/ethcore/wasm/src/lib.rs b/ethcore/wasm/src/lib.rs index a68d40d86..df5a4c043 100644 --- a/ethcore/wasm/src/lib.rs +++ b/ethcore/wasm/src/lib.rs @@ -122,9 +122,18 @@ impl vm::Vm for WasmInterpreter { &mut cursor ).map_err(|err| { vm::Error::Wasm(format!("Error deserializing contract code ({:?})", err)) - })? + })?, + runtime.gas_rules(), ); + let data_section_length = contract_module.data_section() + .map(|section| section.entries().iter().fold(0, |sum, entry| sum + entry.value().len())) + .unwrap_or(0) + as u64; + + let static_segment_cost = data_section_length * runtime.ext().schedule().wasm.static_region as u64; + runtime.charge(|_| static_segment_cost).map_err(Error)?; + let d_ptr = runtime.write_descriptor(¶ms.data.unwrap_or_default()) .map_err(Error)?; diff --git a/ethcore/wasm/src/runtime.rs b/ethcore/wasm/src/runtime.rs index fa30d7753..1f8bf428a 100644 --- a/ethcore/wasm/src/runtime.rs +++ b/ethcore/wasm/src/runtime.rs @@ -22,6 +22,7 @@ use byteorder::{LittleEndian, ByteOrder}; use vm; use parity_wasm::interpreter; +use wasm_utils::rules; use bigint::prelude::U256; use bigint::hash::H256; use util::Address; @@ -111,6 +112,7 @@ pub struct Runtime<'a, 'b> { memory: Arc, context: RuntimeContext, instance: &'b InterpreterProgramInstance, + gas_rules: rules::Set, } impl<'a, 'b> Runtime<'a, 'b> { @@ -123,6 +125,20 @@ impl<'a, 'b> Runtime<'a, 'b> { context: RuntimeContext, program_instance: &'d InterpreterProgramInstance, ) -> Runtime<'c, 'd> { + + let rules = { + let schedule = ext.schedule(); + + rules::Set::new({ + let mut vals = ::std::collections::HashMap::with_capacity(4); + vals.insert(rules::InstructionType::Load, schedule.wasm.mem as u32); + vals.insert(rules::InstructionType::Store, schedule.wasm.mem as u32); + vals.insert(rules::InstructionType::Div, schedule.wasm.div as u32); + vals.insert(rules::InstructionType::Mul, schedule.wasm.mul as u32); + vals + }) + }; + Runtime { gas_counter: 0, gas_limit: gas_limit, @@ -131,6 +147,7 @@ impl<'a, 'b> Runtime<'a, 'b> { ext: ext, context: context, instance: program_instance, + gas_rules: rules, } } @@ -143,6 +160,8 @@ impl<'a, 'b> Runtime<'a, 'b> { let key = self.pop_h256(&mut context)?; trace!(target: "wasm", "storage_write: value {} at @{}", &val, &key); + self.charge(|schedule| schedule.sstore_set_gas as u64)?; + self.ext.set_storage(key, val).map_err(|_| UserTrap::StorageUpdateError)?; Ok(Some(0i32.into())) @@ -155,9 +174,10 @@ impl<'a, 'b> Runtime<'a, 'b> { let mut context = context; let val_ptr = context.value_stack.pop_as::()?; let key = self.pop_h256(&mut context)?; - let val = self.ext.storage_at(&key).map_err(|_| UserTrap::StorageReadError)?; + self.charge(|schedule| schedule.sload_gas as u64)?; + self.memory.set(val_ptr as u32, &*val)?; Ok(Some(0.into())) @@ -170,6 +190,9 @@ impl<'a, 'b> Runtime<'a, 'b> { let mut context = context; let return_ptr = context.value_stack.pop_as::()? as u32; let address = self.pop_address(&mut context)?; + + self.charge(|schedule| schedule.balance_gas as u64)?; + let balance = self.ext.balance(&address).map_err(|_| UserTrap::BalanceQueryError)?; let value: H256 = balance.into(); self.memory.set(return_ptr, &*value)?; @@ -183,12 +206,32 @@ impl<'a, 'b> Runtime<'a, 'b> { let mut context = context; let refund_address = self.pop_address(&mut context)?; + if self.ext.exists(&refund_address).map_err(|_| UserTrap::SuicideAbort)? { + trace!(target: "wasm", "Suicide: refund to existing address {}", refund_address); + self.charge(|schedule| schedule.suicide_gas as u64)?; + } else { + trace!(target: "wasm", "Suicide: refund to new address {}", refund_address); + self.charge(|schedule| schedule.suicide_to_new_account_cost as u64)?; + } + self.ext.suicide(&refund_address).map_err(|_| UserTrap::SuicideAbort)?; // We send trap to interpreter so it should abort further execution Err(UserTrap::Suicide.into()) } + /// Charge gas according to closure + pub fn charge(&mut self, f: F) -> Result<(), InterpreterError> + where F: FnOnce(&vm::Schedule) -> u64 + { + let amount = f(self.ext.schedule()); + if !self.charge_gas(amount as u64) { + Err(UserTrap::GasLimit.into()) + } else { + Ok(()) + } + } + /// Invoke create in the state runtime pub fn create(&mut self, context: InterpreterCallerContext) -> Result, InterpreterError> @@ -211,6 +254,9 @@ impl<'a, 'b> Runtime<'a, 'b> { let code = self.memory.get(code_ptr, code_len as usize)?; + self.charge(|schedule| schedule.create_gas as u64)?; + self.charge(|schedule| schedule.create_data_gas as u64 * code.len() as u64)?; + let gas_left = self.gas_left() .map_err(|_| UserTrap::InvalidGasState)? .into(); @@ -312,6 +358,8 @@ impl<'a, 'b> Runtime<'a, 'b> { } } + self.charge(|schedule| schedule.call_gas as u64)?; + let mut result = Vec::with_capacity(result_alloc_len as usize); result.resize(result_alloc_len as usize, 0); let gas = self.gas_left() @@ -369,6 +417,9 @@ impl<'a, 'b> Runtime<'a, 'b> { -> Result, InterpreterError> { let amount = context.value_stack.pop_as::()? as u32; + + self.charge(|schedule| schedule.wasm.alloc as u64 * amount as u64)?; + let previous_top = self.dynamic_top; self.dynamic_top = previous_top + amount; Ok(Some((previous_top as i32).into())) @@ -492,13 +543,15 @@ impl<'a, 'b> Runtime<'a, 'b> { &*self.memory } - fn mem_copy(&self, context: InterpreterCallerContext) + fn mem_copy(&mut self, context: InterpreterCallerContext) -> Result, InterpreterError> { let len = context.value_stack.pop_as::()? as u32; let dst = context.value_stack.pop_as::()? as u32; let src = context.value_stack.pop_as::()? as u32; + self.charge(|schedule| schedule.wasm.mem_copy as u64 * len as u64)?; + let mem = self.memory().get(src, len as usize)?; self.memory().set(dst, &mem)?; @@ -542,6 +595,8 @@ impl<'a, 'b> Runtime<'a, 'b> { let block_hi = context.value_stack.pop_as::()? as u32; let block_lo = context.value_stack.pop_as::()? as u32; + self.charge(|schedule| schedule.blockhash_gas as u64)?; + let block_num = (block_hi as u64) << 32 | block_lo as u64; trace!("Requesting block hash for block #{}", block_num); @@ -552,44 +607,72 @@ impl<'a, 'b> Runtime<'a, 'b> { Ok(Some(0i32.into())) } + fn return_address_ptr(&mut self, ptr: u32, val: Address) -> Result<(), InterpreterError> + { + self.charge(|schedule| schedule.wasm.static_address as u64)?; + self.memory.set(ptr, &*val)?; + Ok(()) + } + + fn return_u256_ptr(&mut self, ptr: u32, val: U256) -> Result<(), InterpreterError> { + let value: H256 = val.into(); + self.charge(|schedule| schedule.wasm.static_u256 as u64)?; + self.memory.set(ptr, &*value)?; + Ok(()) + } + fn coinbase(&mut self, context: InterpreterCallerContext) -> Result, InterpreterError> { - let return_ptr = context.value_stack.pop_as::()? as u32; - self.memory.set(return_ptr, &*self.ext.env_info().author)?; + let author = self.ext.env_info().author; + self.return_address_ptr( + context.value_stack.pop_as::()? as u32, + author, + )?; Ok(None) } fn sender(&mut self, context: InterpreterCallerContext) -> Result, InterpreterError> { - let return_ptr = context.value_stack.pop_as::()? as u32; - self.memory.set(return_ptr, &*self.context.sender)?; - Ok(None) + let sender = self.context.sender; + self.return_address_ptr( + context.value_stack.pop_as::()? as u32, + sender, + )?; + Ok(None) } fn address(&mut self, context: InterpreterCallerContext) -> Result, InterpreterError> { - let return_ptr = context.value_stack.pop_as::()? as u32; - self.memory.set(return_ptr, &*self.context.address)?; - Ok(None) + let addr = self.context.address; + self.return_address_ptr( + context.value_stack.pop_as::()? as u32, + addr, + )?; + Ok(None) } fn origin(&mut self, context: InterpreterCallerContext) -> Result, InterpreterError> { - let return_ptr = context.value_stack.pop_as::()? as u32; - self.memory.set(return_ptr, &*self.context.origin)?; - Ok(None) + let origin = self.context.origin; + self.return_address_ptr( + context.value_stack.pop_as::()? as u32, + origin, + )?; + Ok(None) } fn value(&mut self, context: InterpreterCallerContext) -> Result, InterpreterError> { - let return_ptr = context.value_stack.pop_as::()? as u32; - let value: H256 = self.context.value.clone().into(); - self.memory.set(return_ptr, &*value)?; + let value = self.context.value; + self.return_u256_ptr( + context.value_stack.pop_as::()? as u32, + value, + )?; Ok(None) } @@ -610,22 +693,28 @@ impl<'a, 'b> Runtime<'a, 'b> { fn difficulty(&mut self, context: InterpreterCallerContext) -> Result, InterpreterError> { - let return_ptr = context.value_stack.pop_as::()? as u32; - let difficulty: H256 = self.ext.env_info().difficulty.into(); - self.memory.set(return_ptr, &*difficulty)?; + let difficulty = self.ext.env_info().difficulty; + self.return_u256_ptr( + context.value_stack.pop_as::()? as u32, + difficulty, + )?; Ok(None) } fn ext_gas_limit(&mut self, context: InterpreterCallerContext) -> Result, InterpreterError> { - let return_ptr = context.value_stack.pop_as::()? as u32; - let gas_limit: H256 = self.ext.env_info().gas_limit.into(); - self.memory.set(return_ptr, &*gas_limit)?; - Ok(None) + let gas_limit = self.ext.env_info().gas_limit; + self.return_u256_ptr( + context.value_stack.pop_as::()? as u32, + gas_limit, + )?; + Ok(None) } fn return_i64(&mut self, val: i64) -> Result, InterpreterError> { + self.charge(|schedule| schedule.wasm.static_u64 as u64)?; + let uval = val as u64; let hi = (uval >> 32) as i32; let lo = (uval << 32 >> 32) as i32; @@ -656,6 +745,14 @@ impl<'a, 'b> Runtime<'a, 'b> { ) ) } + + pub fn gas_rules(&self) -> &rules::Set { + &self.gas_rules + } + + pub fn ext(&mut self) -> &mut vm::Ext { + self.ext + } } impl<'a, 'b> interpreter::UserFunctionExecutor for Runtime<'a, 'b> { diff --git a/ethcore/wasm/src/tests.rs b/ethcore/wasm/src/tests.rs index 5a6be6e2a..57b5ab6a8 100644 --- a/ethcore/wasm/src/tests.rs +++ b/ethcore/wasm/src/tests.rs @@ -60,7 +60,7 @@ fn empty() { test_finalize(interpreter.exec(params, &mut ext)).unwrap() }; - assert_eq!(gas_left, U256::from(99_992)); + assert_eq!(gas_left, U256::from(99_976)); } // This test checks if the contract deserializes payload header properly. @@ -68,6 +68,8 @@ fn empty() { // logger.wasm writes all these provided fixed header fields to some arbitrary storage keys. #[test] fn logger() { + ::ethcore_logger::init_log(); + let code = load_sample!("logger.wasm"); let address: Address = "0f572e5295c57f15886f9b263e2f6d2d6c7b5ec6".parse().unwrap(); let sender: Address = "0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d".parse().unwrap(); @@ -87,8 +89,7 @@ fn logger() { test_finalize(interpreter.exec(params, &mut ext)).unwrap() }; - println!("ext.store: {:?}", ext.store); - assert_eq!(gas_left, U256::from(98_731)); + assert_eq!(gas_left, U256::from(15_177)); let address_val: H256 = address.into(); assert_eq!( ext.store.get(&"0100000000000000000000000000000000000000000000000000000000000000".parse().unwrap()).expect("storage key to exist"), @@ -141,7 +142,7 @@ fn identity() { } }; - assert_eq!(gas_left, U256::from(99_812)); + assert_eq!(gas_left, U256::from(99_695)); assert_eq!( Address::from_slice(&result), @@ -175,7 +176,7 @@ fn dispersion() { } }; - assert_eq!(gas_left, U256::from(99_474)); + assert_eq!(gas_left, U256::from(96_543)); assert_eq!( result, @@ -204,7 +205,7 @@ fn suicide_not() { } }; - assert_eq!(gas_left, U256::from(99_691)); + assert_eq!(gas_left, U256::from(96_822)); assert_eq!( result, @@ -214,6 +215,8 @@ fn suicide_not() { #[test] fn suicide() { + ::ethcore_logger::init_log(); + let code = load_sample!("suicidal.wasm"); let refund: Address = "01030507090b0d0f11131517191b1d1f21232527".parse().unwrap(); @@ -238,7 +241,7 @@ fn suicide() { } }; - assert_eq!(gas_left, U256::from(99_490)); + assert_eq!(gas_left, U256::from(96_580)); assert!(ext.suicides.contains(&refund)); } @@ -269,7 +272,7 @@ fn create() { assert!(ext.calls.contains( &FakeCall { call_type: FakeCallType::Create, - gas: U256::from(99_144), + gas: U256::from(62_324), sender_address: None, receive_address: None, value: Some(1_000_000_000.into()), @@ -277,7 +280,7 @@ fn create() { code_address: None, } )); - assert_eq!(gas_left, U256::from(99_113)); + assert_eq!(gas_left, U256::from(62_289)); } @@ -311,7 +314,7 @@ fn call_code() { assert!(ext.calls.contains( &FakeCall { call_type: FakeCallType::Call, - gas: U256::from(99_138), + gas: U256::from(95_585), sender_address: Some(sender), receive_address: Some(receiver), value: None, @@ -319,7 +322,7 @@ fn call_code() { code_address: Some("0d13710000000000000000000000000000000000".parse().unwrap()), } )); - assert_eq!(gas_left, U256::from(94_269)); + assert_eq!(gas_left, U256::from(90_665)); // siphash result let res = LittleEndian::read_u32(&result[..]); @@ -356,7 +359,7 @@ fn call_static() { assert!(ext.calls.contains( &FakeCall { call_type: FakeCallType::Call, - gas: U256::from(99_138), + gas: U256::from(95_585), sender_address: Some(sender), receive_address: Some(receiver), value: None, @@ -364,7 +367,7 @@ fn call_static() { code_address: Some("13077bfb00000000000000000000000000000000".parse().unwrap()), } )); - assert_eq!(gas_left, U256::from(94_269)); + assert_eq!(gas_left, U256::from(90_665)); // siphash result let res = LittleEndian::read_u32(&result[..]); @@ -390,7 +393,7 @@ fn realloc() { GasLeft::NeedsReturn { gas_left: gas, data: result, apply_state: _apply } => (gas, result.to_vec()), } }; - assert_eq!(gas_left, U256::from(99_614)); + assert_eq!(gas_left, U256::from(96_811)); assert_eq!(result, vec![0u8; 2]); } @@ -416,7 +419,7 @@ fn storage_read() { } }; - assert_eq!(gas_left, U256::from(99_695)); + assert_eq!(gas_left, U256::from(96_645)); assert_eq!(Address::from(&result[12..32]), address); } @@ -443,7 +446,7 @@ fn keccak() { }; assert_eq!(H256::from_slice(&result), H256::from("68371d7e884c168ae2022c82bd837d51837718a7f7dfb7aa3f753074a35e1d87")); - assert_eq!(gas_left, U256::from(84_026)); + assert_eq!(gas_left, U256::from(80_452)); } @@ -497,7 +500,7 @@ fn math_add() { } ).expect("Interpreter to execute without any errors"); - assert_eq!(gas_left, U256::from(98_241)); + assert_eq!(gas_left, U256::from(94_666)); assert_eq!( U256::from_dec_str("1888888888888888888888888888887").unwrap(), (&result[..]).into() @@ -519,7 +522,7 @@ fn math_mul() { } ).expect("Interpreter to execute without any errors"); - assert_eq!(gas_left, U256::from(97_390)); + assert_eq!(gas_left, U256::from(93_719)); assert_eq!( U256::from_dec_str("888888888888888888888888888887111111111111111111111111111112").unwrap(), (&result[..]).into() @@ -541,7 +544,7 @@ fn math_sub() { } ).expect("Interpreter to execute without any errors"); - assert_eq!(gas_left, U256::from(98_285)); + assert_eq!(gas_left, U256::from(94_718)); assert_eq!( U256::from_dec_str("111111111111111111111111111111").unwrap(), (&result[..]).into() @@ -580,7 +583,7 @@ fn math_div() { } ).expect("Interpreter to execute without any errors"); - assert_eq!(gas_left, U256::from(91_574)); + assert_eq!(gas_left, U256::from(86_996)); assert_eq!( U256::from_dec_str("1125000").unwrap(), (&result[..]).into() @@ -672,5 +675,5 @@ fn externs() { "Gas limit requested and returned does not match" ); - assert_eq!(gas_left, U256::from(96_284)); + assert_eq!(gas_left, U256::from(91_857)); } diff --git a/ethstore/src/dir/memory.rs b/ethstore/src/dir/memory.rs index b8c2ad9ff..bd162b5ef 100644 --- a/ethstore/src/dir/memory.rs +++ b/ethstore/src/dir/memory.rs @@ -35,7 +35,7 @@ impl KeyDirectory for MemoryDirectory { fn update(&self, account: SafeAccount) -> Result { let mut lock = self.accounts.write(); - let mut accounts = lock.entry(account.address.clone()).or_insert_with(Vec::new); + let accounts = lock.entry(account.address.clone()).or_insert_with(Vec::new); // If the filename is the same we just need to replace the entry accounts.retain(|acc| acc.filename != account.filename); accounts.push(account.clone()); @@ -44,14 +44,14 @@ impl KeyDirectory for MemoryDirectory { fn insert(&self, account: SafeAccount) -> Result { let mut lock = self.accounts.write(); - let mut accounts = lock.entry(account.address.clone()).or_insert_with(Vec::new); + let accounts = lock.entry(account.address.clone()).or_insert_with(Vec::new); accounts.push(account.clone()); Ok(account) } fn remove(&self, account: &SafeAccount) -> Result<(), Error> { let mut accounts = self.accounts.write(); - let is_empty = if let Some(mut accounts) = accounts.get_mut(&account.address) { + let is_empty = if let Some(accounts) = accounts.get_mut(&account.address) { if let Some(position) = accounts.iter().position(|acc| acc == account) { accounts.remove(position); } diff --git a/ethstore/src/ethstore.rs b/ethstore/src/ethstore.rs index f3bb24071..7588cc9fb 100755 --- a/ethstore/src/ethstore.rs +++ b/ethstore/src/ethstore.rs @@ -358,7 +358,7 @@ impl EthMultiStore { // update cache let mut cache = self.cache.write(); - let mut accounts = cache.entry(account_ref.clone()).or_insert_with(Vec::new); + let accounts = cache.entry(account_ref.clone()).or_insert_with(Vec::new); // Remove old account accounts.retain(|acc| acc != &old); // And push updated to the end diff --git a/evmjit/Cargo.toml b/evmjit/Cargo.toml index dbc0cd51a..8020d89c0 100644 --- a/evmjit/Cargo.toml +++ b/evmjit/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "evmjit" -version = "1.8.0" +version = "1.9.0" authors = ["Parity Technologies "] [lib] diff --git a/hash-fetch/Cargo.toml b/hash-fetch/Cargo.toml index eca590a23..c52f1e232 100644 --- a/hash-fetch/Cargo.toml +++ b/hash-fetch/Cargo.toml @@ -3,7 +3,7 @@ description = "Fetching hash-addressed content." homepage = "http://parity.io" license = "GPL-3.0" name = "parity-hash-fetch" -version = "1.8.0" +version = "1.9.0" authors = ["Parity Technologies "] [dependencies] diff --git a/hw/Cargo.toml b/hw/Cargo.toml index b762d697c..c1bf057b0 100644 --- a/hw/Cargo.toml +++ b/hw/Cargo.toml @@ -3,7 +3,7 @@ description = "Hardware wallet support." homepage = "http://parity.io" license = "GPL-3.0" name = "hardware-wallet" -version = "1.8.0" +version = "1.9.0" authors = ["Parity Technologies "] [dependencies] diff --git a/hw/src/ledger.rs b/hw/src/ledger.rs index 5fcac3e55..6b4c87a0a 100644 --- a/hw/src/ledger.rs +++ b/hw/src/ledger.rs @@ -255,7 +255,7 @@ impl Manager { let mut chunk_size = if chunk_index == 0 { 12 } else { 5 }; let size = min(64 - chunk_size, data.len() - offset); { - let mut chunk = &mut hid_chunk[HID_PREFIX_ZERO..]; + let chunk = &mut hid_chunk[HID_PREFIX_ZERO..]; &mut chunk[0..5].copy_from_slice(&[0x01, 0x01, APDU_TAG, (chunk_index >> 8) as u8, (chunk_index & 0xff) as u8 ]); if chunk_index == 0 { diff --git a/ipc-common-types/Cargo.toml b/ipc-common-types/Cargo.toml index a9efe1439..e00949adc 100644 --- a/ipc-common-types/Cargo.toml +++ b/ipc-common-types/Cargo.toml @@ -1,7 +1,7 @@ [package] description = "Types that implement IPC and are common to multiple modules." name = "ipc-common-types" -version = "1.8.0" +version = "1.9.0" license = "GPL-3.0" authors = ["Parity Technologies "] build = "build.rs" diff --git a/ipc/codegen/Cargo.toml b/ipc/codegen/Cargo.toml index 69580e08d..7b204869a 100644 --- a/ipc/codegen/Cargo.toml +++ b/ipc/codegen/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ethcore-ipc-codegen" -version = "1.8.0" +version = "1.9.0" authors = ["Parity Technologies "] license = "GPL-3.0" description = "Macros to auto-generate implementations for ipc call" diff --git a/ipc/hypervisor/src/service.rs.in b/ipc/hypervisor/src/service.rs.in index 6d6f38268..9b881e64c 100644 --- a/ipc/hypervisor/src/service.rs.in +++ b/ipc/hypervisor/src/service.rs.in @@ -49,7 +49,7 @@ impl HypervisorService { // return type for making method synchronous fn module_ready(&self, module_id: u64, control_url: String) -> bool { 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.control_url = control_url; }); @@ -60,7 +60,7 @@ impl HypervisorService { // return type for making method synchronous fn module_shutdown(&self, module_id: u64) -> bool { 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; }); trace!(target: "hypervisor", "Module shutdown: {}", module_id); diff --git a/ipc/nano/Cargo.toml b/ipc/nano/Cargo.toml index a714e1d00..bb6fbb0b2 100644 --- a/ipc/nano/Cargo.toml +++ b/ipc/nano/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ethcore-ipc-nano" -version = "1.8.0" +version = "1.9.0" authors = ["Parity Technologies "] license = "GPL-3.0" diff --git a/ipc/rpc/Cargo.toml b/ipc/rpc/Cargo.toml index 12d73a118..bd33ab618 100644 --- a/ipc/rpc/Cargo.toml +++ b/ipc/rpc/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ethcore-ipc" -version = "1.8.0" +version = "1.9.0" authors = ["Parity Technologies "] license = "GPL-3.0" diff --git a/ipfs/Cargo.toml b/ipfs/Cargo.toml index db76ddaa9..c34e0d521 100644 --- a/ipfs/Cargo.toml +++ b/ipfs/Cargo.toml @@ -1,7 +1,7 @@ [package] description = "Parity IPFS-compatible API" name = "parity-ipfs-api" -version = "1.8.0" +version = "1.9.0" license = "GPL-3.0" authors = ["Parity Technologies "] diff --git a/js/Cargo.toml b/js/Cargo.toml index 1ff166cca..1f47ffd9d 100644 --- a/js/Cargo.toml +++ b/js/Cargo.toml @@ -1,7 +1,7 @@ [package] description = "Parity built-in dapps." name = "parity-ui-dev" -version = "1.8.0" +version = "1.9.0" license = "GPL-3.0" authors = ["Parity Technologies "] build = "build.rs" diff --git a/js/package-lock.json b/js/package-lock.json deleted file mode 100644 index f1a9c8ab1..000000000 --- a/js/package-lock.json +++ /dev/null @@ -1,15421 +0,0 @@ -{ - "name": "Parity", - "version": "1.8.28", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@parity/abi": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@parity/abi/-/abi-2.0.6.tgz", - "integrity": "sha512-bsTwVPodLBQFQaKyMVB6Xk0JlnTcGp+yQDUX4l6krE7nk6W8Z+bTa9Gjrm3ebzlNQiiBNA6tcEzshWu69LRI2A==", - "requires": { - "bignumber.js": "3.0.1", - "js-sha3": "0.5.5", - "utf8": "2.1.2" - } - }, - "@parity/api": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@parity/api/-/api-2.0.6.tgz", - "integrity": "sha512-7VT7xCLyNZ7uhgvujJnyvJIpvjD6IOIRPxizNhQTzrcmfzqtJi92dfDeoEy0NpXqKgOuYWAnvp1r/sL/C61ukA==", - "requires": { - "@parity/abi": "2.0.6", - "@parity/jsonrpc": "2.0.7", - "@parity/wordlist": "1.1.0", - "bignumber.js": "3.0.1", - "blockies": "0.0.2", - "es6-error": "4.0.2", - "ethereumjs-tx": "1.3.3", - "eventemitter3": "2.0.3", - "isomorphic-fetch": "2.2.1", - "js-sha3": "0.5.5", - "keythereum": "0.4.6", - "lodash": "4.17.4", - "node-fetch": "1.6.3", - "secp256k1": "3.2.5", - "store": "2.0.12" - }, - "dependencies": { - "store": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/store/-/store-2.0.12.tgz", - "integrity": "sha1-jFNOKguDH3K3X8XxEZhXxE711ZM=" - } - } - }, - "@parity/dapp-account": { - "version": "github:paritytech/dapp-account#64f31538e12cef2d1234ddfb49e9ed90a95fb067", - "requires": { - "@parity/api": "2.0.6", - "@parity/dapp-accounts": "github:paritytech/dapp-accounts#e99531b4cf38c71eed89dc3a6b3f6a50bceaa110", - "@parity/dapp-vaults": "github:paritytech/dapp-vaults#b5ba38bd81a6fabd937b8679967e7f8d686e1303", - "@parity/parity.js": "1.8.7", - "@parity/shapeshift": "2.0.6", - "@parity/shared": "2.0.6", - "@parity/ui": "2.0.32", - "happypack": "3.1.0", - "lodash": "4.17.2", - "oo7": "0.5.3", - "oo7-parity": "0.6.8", - "oo7-react": "0.4.5", - "parity-reactive-ui": "0.4.5", - "phoneformat.js": "1.0.3", - "react-intl": "2.1.5" - }, - "dependencies": { - "lodash": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.2.tgz", - "integrity": "sha1-NKMFW6vgTOQkZ7YH1wAHLH/2v0I=" - } - } - }, - "@parity/dapp-accounts": { - "version": "github:paritytech/dapp-accounts#e99531b4cf38c71eed89dc3a6b3f6a50bceaa110", - "requires": { - "@parity/api": "2.0.6", - "@parity/dapp-vaults": "github:paritytech/dapp-vaults#b5ba38bd81a6fabd937b8679967e7f8d686e1303", - "@parity/shared": "2.0.6", - "@parity/ui": "2.0.32", - "file-saver": "1.3.3", - "react": "15.6.1", - "react-dom": "15.6.1", - "react-intl": "2.1.5", - "react-router": "3.0.0", - "react-tap-event-plugin": "2.0.1" - } - }, - "@parity/dapp-address": { - "version": "github:paritytech/dapp-address#781e573c2362b8ac5d7692c1064e1bbf070b2117", - "requires": { - "@parity/api": "2.0.6", - "@parity/dapp-account": "github:paritytech/dapp-account#64f31538e12cef2d1234ddfb49e9ed90a95fb067", - "@parity/dapp-addresses": "github:paritytech/dapp-addresses#063bcf837e08b0f40681471c8752f05e60025326", - "@parity/shared": "2.0.6", - "@parity/ui": "2.0.32" - } - }, - "@parity/dapp-addresses": { - "version": "github:paritytech/dapp-addresses#063bcf837e08b0f40681471c8752f05e60025326", - "requires": { - "@parity/api": "2.0.6", - "@parity/dapp-accounts": "github:paritytech/dapp-accounts#e99531b4cf38c71eed89dc3a6b3f6a50bceaa110", - "@parity/shared": "2.0.6", - "@parity/ui": "2.0.32" - } - }, - "@parity/dapp-chaindeploy": { - "version": "github:paritytech/dapp-chaindeploy#3350dacea8144992fceeffc41efc0bef40512f33", - "requires": { - "@parity/api": "2.0.6", - "@parity/shared": "2.0.6", - "react": "15.6.1", - "react-dom": "15.6.1" - } - }, - "@parity/dapp-contract": { - "version": "github:paritytech/dapp-contract#79aa98241b99de17f273eca4129c1afefa431111", - "requires": { - "@parity/api": "2.0.6", - "@parity/dapp-account": "github:paritytech/dapp-account#64f31538e12cef2d1234ddfb49e9ed90a95fb067", - "@parity/shared": "2.0.6", - "@parity/ui": "2.0.32" - } - }, - "@parity/dapp-contracts": { - "version": "github:paritytech/dapp-contracts#712af5d3cd354992e543077260e2d192ec23d501", - "requires": { - "@parity/api": "2.0.6", - "@parity/dapp-account": "github:paritytech/dapp-account#64f31538e12cef2d1234ddfb49e9ed90a95fb067", - "@parity/dapp-accounts": "github:paritytech/dapp-accounts#e99531b4cf38c71eed89dc3a6b3f6a50bceaa110", - "@parity/shared": "2.0.6", - "@parity/ui": "2.0.32" - } - }, - "@parity/dapp-dapp-accounts": { - "version": "github:paritytech/dapp-dapp-accounts#631188314f4c8ecdc37e0ca7f562ccc17daaeb9a", - "requires": { - "@parity/api": "2.0.6", - "@parity/shared": "2.0.6", - "@parity/ui": "2.0.32" - } - }, - "@parity/dapp-dapp-methods": { - "version": "github:paritytech/dapp-dapp-methods#0498f610c0acf973cd63854570b9fc61d56ef1fd", - "requires": { - "@parity/api": "2.0.6", - "@parity/shared": "2.0.6", - "@parity/ui": "2.0.32" - } - }, - "@parity/dapp-dapp-visible": { - "version": "github:paritytech/dapp-dapp-visible#7e10e91844fef642d6a8205533f9d54f96c613a9", - "requires": { - "@parity/api": "2.0.6", - "@parity/shared": "2.0.6", - "@parity/ui": "2.0.32" - } - }, - "@parity/dapp-dappreg": { - "version": "github:paritytech/dapp-dappreg#c7ed1355a848164a45232abe4ef456827a04db67", - "requires": { - "@parity/api": "2.0.6", - "@parity/shared": "2.0.6", - "@parity/ui": "2.0.32" - } - }, - "@parity/dapp-develop": { - "version": "github:paritytech/dapp-develop#d6dea214205d97d27a6fd9552c2369c89cd98fc9", - "requires": { - "@parity/api": "2.0.6", - "@parity/dapp-contracts": "github:paritytech/dapp-contracts#712af5d3cd354992e543077260e2d192ec23d501", - "@parity/parity.js": "1.8.7", - "@parity/shared": "2.0.6", - "@parity/ui": "2.0.32", - "oo7": "0.5.3", - "oo7-parity": "0.6.8", - "oo7-react": "0.4.5", - "parity-reactive-ui": "0.4.5", - "promise-worker": "1.1.1", - "serviceworker-webpack-plugin": "0.2.3", - "sw-toolbox": "3.6.0", - "worker-loader": "0.8.1" - } - }, - "@parity/dapp-githubhint": { - "version": "github:paritytech/dapp-githubhint#f7e379d871348ba59b07a0d37836383b9b62f829", - "requires": { - "@parity/api": "2.0.6", - "@parity/shared": "2.0.6", - "moment": "2.17.0", - "react": "15.6.1", - "react-dom": "15.6.1", - "react-tap-event-plugin": "2.0.1" - } - }, - "@parity/dapp-home": { - "version": "github:paritytech/dapp-home#e4793b9a893c9ad41a456001bdea79c89024469f", - "requires": { - "@parity/api": "2.0.6", - "@parity/dapp-web": "github:paritytech/dapp-web#bdf0e05bb155ac5b729e9002b6b24cf635ebc137", - "@parity/shared": "2.0.6", - "@parity/ui": "2.0.32", - "react-markdown": "2.4.4" - }, - "dependencies": { - "react-markdown": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-2.4.4.tgz", - "integrity": "sha1-JtglQ40pLnym4pL+diAeHb8s/u4=", - "requires": { - "commonmark": "0.24.0", - "commonmark-react-renderer": "4.3.3", - "in-publish": "2.0.0" - } - } - } - }, - "@parity/dapp-localtx": { - "version": "github:paritytech/dapp-localtx#20e18814af6e1b0d8310d74ddcccf2de0ac7d91f", - "requires": { - "@parity/api": "2.0.6", - "@parity/shared": "2.0.6", - "@parity/ui": "2.0.32" - } - }, - "@parity/dapp-playground": { - "version": "github:paritytech/dapp-playground#ea47e806f05b1c08019b137bb4cc11056f605fc0", - "requires": { - "@parity/api": "2.0.6", - "@parity/shared": "2.0.6", - "@parity/ui": "2.0.32" - } - }, - "@parity/dapp-registry": { - "version": "github:paritytech/dapp-registry#8a3f61d10e858fe81b3731dd231b73e66a0879d9", - "requires": { - "@parity/api": "2.0.6", - "@parity/shared": "2.0.6", - "@parity/ui": "2.0.32", - "material-ui": "0.16.5" - } - }, - "@parity/dapp-settings": { - "version": "github:paritytech/dapp-settings#553b86d8e3a4448da814acaad66768a68dfe1746", - "requires": { - "@parity/api": "2.0.6", - "@parity/shared": "2.0.6", - "@parity/ui": "2.0.32" - } - }, - "@parity/dapp-signaturereg": { - "version": "github:paritytech/dapp-signaturereg#31d70570a5c11bd5d954ccdcccc3dbb8f0e26f76", - "requires": { - "@parity/api": "2.0.6", - "@parity/shared": "2.0.6", - "moment": "2.17.0", - "react": "15.6.1", - "react-dom": "15.6.1", - "react-tap-event-plugin": "2.0.1" - } - }, - "@parity/dapp-signer": { - "version": "github:paritytech/dapp-signer#cb15b3ed1a30eb7f6a0d7d9951e98e6efeb9815a", - "requires": { - "@parity/api": "2.0.6", - "@parity/shared": "2.0.6", - "@parity/ui": "2.0.32" - } - }, - "@parity/dapp-status": { - "version": "github:paritytech/dapp-status#ff5756eeb0a9120d3ba1714a69716f388a834e67", - "requires": { - "@parity/api": "2.0.6", - "@parity/shared": "2.0.6", - "@parity/ui": "2.0.32", - "bytes": "2.4.0", - "format-number": "2.0.1" - } - }, - "@parity/dapp-tokendeploy": { - "version": "github:paritytech/dapp-tokendeploy#74e323436718f5b497660fc9b774df80b13af492", - "requires": { - "@parity/api": "2.0.6", - "@parity/shared": "2.0.6", - "@parity/ui": "2.0.32" - } - }, - "@parity/dapp-tokenreg": { - "version": "github:paritytech/dapp-tokenreg#0cf6c7bc2d8b17e4b8bbd3e4e74a821880a9996d", - "requires": { - "@parity/api": "2.0.6", - "@parity/shared": "2.0.6", - "material-ui": "0.16.5", - "react": "15.6.1", - "react-dom": "15.6.1", - "react-tap-event-plugin": "2.0.1" - } - }, - "@parity/dapp-vaults": { - "version": "github:paritytech/dapp-vaults#b5ba38bd81a6fabd937b8679967e7f8d686e1303", - "requires": { - "@parity/api": "2.0.6", - "@parity/shared": "2.0.6", - "@parity/ui": "2.0.32" - } - }, - "@parity/dapp-wallet": { - "version": "github:paritytech/dapp-wallet#26991ba008b83e639484093e4bb4b52f30b0cb67", - "requires": { - "@parity/api": "2.0.6", - "@parity/dapp-account": "github:paritytech/dapp-account#64f31538e12cef2d1234ddfb49e9ed90a95fb067", - "@parity/shared": "2.0.6", - "@parity/ui": "2.0.32" - } - }, - "@parity/dapp-web": { - "version": "github:paritytech/dapp-web#bdf0e05bb155ac5b729e9002b6b24cf635ebc137", - "requires": { - "@parity/api": "2.0.6", - "@parity/shared": "2.0.6", - "@parity/ui": "2.0.32", - "base32.js": "0.1.0" - } - }, - "@parity/etherscan": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@parity/etherscan/-/etherscan-2.0.6.tgz", - "integrity": "sha512-T/HgnuqWzuby+jzhhS1a40MkRpfhMZnUmdnRV41bNFl/PwuVO78xNzkvPYSkmn+FTUJL6Fz+BFGT4bIwJ8cH3Q==", - "requires": { - "@parity/api": "2.0.6", - "bignumber.js": "3.0.1", - "es6-promise": "4.1.1", - "node-fetch": "1.6.3", - "qs": "6.5.1", - "whatwg-fetch": "2.0.3" - }, - "dependencies": { - "whatwg-fetch": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz", - "integrity": "sha1-nITsLc9oGH/wC8ZOEnS0QhduHIQ=" - } - } - }, - "@parity/jsonrpc": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@parity/jsonrpc/-/jsonrpc-2.0.7.tgz", - "integrity": "sha512-5u36XAM7tS4nlREtx9bX+TKlMb24C8lVPoi40KARBHP6o13nhLmZBySEGn4yJ2AyZHqllUMD5QZ/U2GEiVI+Mg==" - }, - "@parity/ledger": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@parity/ledger/-/ledger-2.0.6.tgz", - "integrity": "sha512-ZvvPwYovS1UyltCSElKiExYiME0lMweJZ5hMyt4QZ6mc0IcyHXgRB3N/DT7Fk+P6LSLuXVM2gZxaxJhrTyiGdw==", - "requires": { - "u2f-api": "0.0.9", - "u2f-api-polyfill": "0.4.3" - } - }, - "@parity/parity.js": { - "version": "1.8.7", - "resolved": "https://registry.npmjs.org/@parity/parity.js/-/parity.js-1.8.7.tgz", - "integrity": "sha1-LmriG0KoTdtoPZjETvU/JV72rZI=", - "requires": { - "bignumber.js": "2.3.0", - "js-sha3": "0.5.5", - "node-fetch": "1.6.3" - }, - "dependencies": { - "bignumber.js": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-2.3.0.tgz", - "integrity": "sha1-WXoC15Htw9ZPF4UOIXieekCV32Y=" - } - } - }, - "@parity/plugin-signer-account": { - "version": "github:paritytech/plugin-signer-account#a9c8cf83bd0fa2687236dd6b4fd481efe4045a53", - "requires": { - "@parity/ui": "2.0.32" - } - }, - "@parity/plugin-signer-default": { - "version": "github:paritytech/plugin-signer-default#98db84abcaf1ed2e50c59f196ea59fa770dde8d5", - "requires": { - "@parity/ui": "2.0.32" - } - }, - "@parity/plugin-signer-hardware": { - "version": "github:paritytech/plugin-signer-hardware#e026021a1bf7b41b674da25a197a2091c2fe8db2", - "requires": { - "@parity/ui": "2.0.32" - } - }, - "@parity/plugin-signer-qr": { - "version": "github:paritytech/plugin-signer-qr#4128c8269d7bcae64d14d3016ec7365f34741bb3", - "requires": { - "@parity/ui": "2.0.32" - } - }, - "@parity/shapeshift": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@parity/shapeshift/-/shapeshift-2.0.6.tgz", - "integrity": "sha512-M8sNE0QRf4ddY/QXZlBFy/5OBF64FjkceLlZTZhcxVz2jOh64MaN3wfotGQmHptiVIHgDe0+BiZE0DDrfyQ8cQ==", - "requires": { - "es6-promise": "4.1.1", - "node-fetch": "1.6.3", - "whatwg-fetch": "2.0.3" - }, - "dependencies": { - "whatwg-fetch": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz", - "integrity": "sha1-nITsLc9oGH/wC8ZOEnS0QhduHIQ=" - } - } - }, - "@parity/shared": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@parity/shared/-/shared-2.0.6.tgz", - "integrity": "sha512-LP1WxrBl9Bby4J99oArGkAPhxSjHOwhO5a9mnUJb2oU59SUU8vlCAroE3cgAizptl8FOdWVBW98E/zL2syVuLg==", - "requires": { - "@parity/ledger": "2.0.6", - "eventemitter3": "2.0.3", - "loglevel": "1.4.1", - "mobx": "2.6.4", - "mobx-react": "4.0.3", - "push.js": "0.0.11", - "react-redux": "4.4.6", - "redux": "3.6.0", - "redux-actions": "1.1.0", - "redux-thunk": "2.1.0", - "scryptsy": "2.0.0", - "solc": "github:ngotchac/solc-js#04eb38cc3003fba8cb3656653a7941ed36408818", - "useragent.js": "0.5.6", - "yargs": "6.6.0" - } - }, - "@parity/ui": { - "version": "2.0.32", - "resolved": "https://registry.npmjs.org/@parity/ui/-/ui-2.0.32.tgz", - "integrity": "sha512-CjC2YRszYXNup5+ZkwVd5BC5zUYxbvT4JPSIMQhLpzOjXAI/qcUguzriadHS/us0bYkBIP2qMLIHJr8Djs9qpA==", - "requires": { - "@parity/api": "2.0.6", - "@parity/etherscan": "2.0.6", - "@parity/shared": "2.0.6", - "bignumber.js": "3.0.1", - "brace": "0.9.0", - "date-difference": "1.0.0", - "eventemitter3": "2.0.3", - "file-saver": "1.3.3", - "geopattern": "1.2.3", - "js-sha3": "0.5.5", - "keycode": "2.1.9", - "lodash": "4.17.2", - "mobx": "2.6.4", - "mobx-react": "4.0.3", - "moment": "2.17.0", - "qrcode-generator": "1.2.0", - "react": "15.6.1", - "react-ace": "4.1.0", - "react-copy-to-clipboard": "4.2.3", - "react-datetime": "2.8.10", - "react-dom": "15.6.1", - "react-dropzone": "3.7.3", - "react-element-to-jsx-string": "6.0.0", - "react-event-listener": "0.4.5", - "react-intl": "2.1.5", - "react-portal": "3.0.0", - "react-qr-reader": "1.1.3", - "react-router": "3.0.0", - "react-router-redux": "4.0.7", - "react-tap-event-plugin": "2.0.1", - "react-tooltip": "3.2.2", - "recharts": "0.15.2", - "redux": "3.6.0", - "semantic-ui-css": "2.2.11", - "semantic-ui-react": "0.71.2", - "zxcvbn": "4.4.1" - }, - "dependencies": { - "lodash": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.2.tgz", - "integrity": "sha1-NKMFW6vgTOQkZ7YH1wAHLH/2v0I=" - } - } - }, - "@parity/wordlist": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@parity/wordlist/-/wordlist-1.1.0.tgz", - "integrity": "sha1-np7Tq3g39WM7WETmCjVenmPkJ64=" - }, - "@types/node": { - "version": "7.0.43", - "resolved": "https://registry.npmjs.org/@types/node/-/node-7.0.43.tgz", - "integrity": "sha512-7scYwwfHNppXvH/9JzakbVxk0o0QUILVk1Lv64GRaxwPuGpnF1QBiwdvhDpLcymb8BpomQL3KYoWKq3wUdDMhQ==", - "dev": true - }, - "abab": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/abab/-/abab-1.0.4.tgz", - "integrity": "sha1-X6rZwsB/YN12dw9xzwJbYqY8/U4=", - "dev": true - }, - "abbrev": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", - "integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=", - "dev": true - }, - "accepts": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.4.tgz", - "integrity": "sha1-hiRnWMfdbSGmR0/whKR0DsBesh8=", - "dev": true, - "requires": { - "mime-types": "2.1.17", - "negotiator": "0.6.1" - } - }, - "acorn": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.1.2.tgz", - "integrity": "sha512-o96FZLJBPY1lvTuJylGA9Bk3t/GKPPJG8H0ydQQl01crzwJgspa4AEIq/pVTXigmK0PHVQhiAtn8WMBLL9D2WA==", - "dev": true - }, - "acorn-dynamic-import": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz", - "integrity": "sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=", - "dev": true, - "requires": { - "acorn": "4.0.13" - }, - "dependencies": { - "acorn": { - "version": "4.0.13", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", - "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", - "dev": true - } - } - }, - "acorn-globals": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-3.1.0.tgz", - "integrity": "sha1-/YJw9x+7SZawBPqIDuXUZXOnMb8=", - "dev": true, - "requires": { - "acorn": "4.0.13" - }, - "dependencies": { - "acorn": { - "version": "4.0.13", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", - "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", - "dev": true - } - } - }, - "acorn-jsx": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", - "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", - "dev": true, - "requires": { - "acorn": "3.3.0" - }, - "dependencies": { - "acorn": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", - "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", - "dev": true - } - } - }, - "ajv": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.2.3.tgz", - "integrity": "sha1-wG9Zh3jETGsWGrr+NGa4GtGBTtI=", - "requires": { - "co": "4.6.0", - "fast-deep-equal": "1.0.0", - "json-schema-traverse": "0.3.1", - "json-stable-stringify": "1.0.1" - } - }, - "ajv-keywords": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.1.tgz", - "integrity": "sha1-MU3QpLM2j609/NxU7eYXG4htrzw=", - "dev": true - }, - "align-text": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", - "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", - "dev": true, - "requires": { - "kind-of": "3.2.2", - "longest": "1.0.1", - "repeat-string": "1.6.1" - } - }, - "alphanum-sort": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", - "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", - "dev": true - }, - "amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", - "dev": true - }, - "ansi-escapes": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz", - "integrity": "sha1-06ioOzGapneTZisT52HHkRQiMG4=", - "dev": true - }, - "ansi-html": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", - "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", - "dev": true - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" - }, - "anymatch": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", - "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", - "dev": true, - "requires": { - "micromatch": "2.3.11", - "normalize-path": "2.1.1" - } - }, - "append-transform": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz", - "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=", - "dev": true, - "requires": { - "default-require-extensions": "1.0.0" - } - }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" - }, - "archive-type": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/archive-type/-/archive-type-3.2.0.tgz", - "integrity": "sha1-nNnABpV+vpX62tW9YJiUKoE3N/Y=", - "dev": true, - "requires": { - "file-type": "3.9.0" - }, - "dependencies": { - "file-type": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", - "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=", - "dev": true - } - } - }, - "are-we-there-yet": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", - "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", - "requires": { - "delegates": "1.0.0", - "readable-stream": "2.3.3" - } - }, - "argparse": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", - "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY=", - "dev": true, - "requires": { - "sprintf-js": "1.0.3" - } - }, - "arr-diff": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", - "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", - "dev": true, - "requires": { - "arr-flatten": "1.1.0" - } - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true - }, - "array-differ": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", - "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=", - "dev": true - }, - "array-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", - "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", - "dev": true - }, - "array-find-index": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", - "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=" - }, - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", - "dev": true - }, - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "dev": true, - "requires": { - "array-uniq": "1.0.3" - } - }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", - "dev": true - }, - "array-unique": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", - "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", - "dev": true - }, - "array.prototype.find": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/array.prototype.find/-/array.prototype.find-2.0.4.tgz", - "integrity": "sha1-VWpcU2LAhkgyPdrrnenRS8GGTJA=", - "dev": true, - "requires": { - "define-properties": "1.1.2", - "es-abstract": "1.9.0" - } - }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "dev": true - }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" - }, - "asn1": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", - "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", - "dev": true - }, - "asn1.js": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.9.1.tgz", - "integrity": "sha1-SLokC0WpKA6UdImQull9IWYX/UA=", - "dev": true, - "requires": { - "bn.js": "4.11.8", - "inherits": "2.0.3", - "minimalistic-assert": "1.0.0" - } - }, - "assert": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", - "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", - "dev": true, - "requires": { - "util": "0.10.3" - } - }, - "assert-plus": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", - "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", - "dev": true - }, - "assertion-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.0.2.tgz", - "integrity": "sha1-E8pRXYYgbaC6xm6DTdOX2HWBCUw=", - "dev": true - }, - "ast-types": { - "version": "0.9.6", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.9.6.tgz", - "integrity": "sha1-ECyenpAF0+fjgpvwxPok7oYu6bk=", - "dev": true - }, - "async": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.0.tgz", - "integrity": "sha1-J5ZkJyNXOFlWVjP8YnRES+4vjOM=" - }, - "async-each": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", - "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", - "dev": true - }, - "async-each-series": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/async-each-series/-/async-each-series-1.1.0.tgz", - "integrity": "sha1-9C/YFV048hpbjqB8KOBj7RcAsTg=", - "dev": true - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true - }, - "attr-accept": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/attr-accept/-/attr-accept-1.1.0.tgz", - "integrity": "sha1-tc01In8WOTWo8d4Q7T66FpQfa+Y=" - }, - "autoprefixer": { - "version": "6.7.7", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz", - "integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=", - "dev": true, - "requires": { - "browserslist": "1.7.7", - "caniuse-db": "1.0.30000745", - "normalize-range": "0.1.2", - "num2fraction": "1.2.2", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" - }, - "dependencies": { - "browserslist": { - "version": "1.7.7", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", - "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", - "dev": true, - "requires": { - "caniuse-db": "1.0.30000745", - "electron-to-chromium": "1.3.24" - } - } - } - }, - "aws-sign2": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", - "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", - "dev": true - }, - "aws4": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", - "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=", - "dev": true - }, - "babel-cli": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-cli/-/babel-cli-6.26.0.tgz", - "integrity": "sha1-UCq1SHTX24itALiHoGODzgPQAvE=", - "dev": true, - "requires": { - "babel-core": "6.26.0", - "babel-polyfill": "6.26.0", - "babel-register": "6.26.0", - "babel-runtime": "6.26.0", - "chokidar": "1.7.0", - "commander": "2.11.0", - "convert-source-map": "1.5.0", - "fs-readdir-recursive": "1.0.0", - "glob": "7.1.2", - "lodash": "4.17.4", - "output-file-sync": "1.1.2", - "path-is-absolute": "1.0.1", - "slash": "1.0.0", - "source-map": "0.5.7", - "v8flags": "2.1.1" - } - }, - "babel-code-frame": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", - "requires": { - "chalk": "1.1.3", - "esutils": "2.0.2", - "js-tokens": "3.0.2" - } - }, - "babel-core": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.0.tgz", - "integrity": "sha1-rzL3izGm/O8RnIew/Y2XU/A6C7g=", - "requires": { - "babel-code-frame": "6.26.0", - "babel-generator": "6.26.0", - "babel-helpers": "6.24.1", - "babel-messages": "6.23.0", - "babel-register": "6.26.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "convert-source-map": "1.5.0", - "debug": "2.6.9", - "json5": "0.5.1", - "lodash": "4.17.4", - "minimatch": "3.0.4", - "path-is-absolute": "1.0.1", - "private": "0.1.7", - "slash": "1.0.0", - "source-map": "0.5.7" - } - }, - "babel-eslint": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-7.1.1.tgz", - "integrity": "sha1-imqITwhapwYK9pz8dzQcL5k3D7I=", - "dev": true, - "requires": { - "babel-code-frame": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "lodash.pickby": "4.6.0" - } - }, - "babel-generator": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.0.tgz", - "integrity": "sha1-rBriAHC3n248odMmlhMFN3TyDcU=", - "requires": { - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "detect-indent": "4.0.0", - "jsesc": "1.3.0", - "lodash": "4.17.4", - "source-map": "0.5.7", - "trim-right": "1.0.1" - }, - "dependencies": { - "jsesc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", - "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=" - } - } - }, - "babel-helper-bindify-decorators": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz", - "integrity": "sha1-FMGeXxQte0fxmlJDHlKxzLxAozA=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-helper-builder-binary-assignment-operator-visitor": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", - "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", - "dev": true, - "requires": { - "babel-helper-explode-assignable-expression": "6.24.1", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-helper-builder-react-jsx": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.26.0.tgz", - "integrity": "sha1-Of+DE7dci2Xc7/HzHTg+D/KkCKA=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "esutils": "2.0.2" - } - }, - "babel-helper-call-delegate": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", - "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", - "requires": { - "babel-helper-hoist-variables": "6.24.1", - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-helper-define-map": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", - "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=", - "requires": { - "babel-helper-function-name": "6.24.1", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "lodash": "4.17.4" - } - }, - "babel-helper-explode-assignable-expression": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", - "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-helper-explode-class": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz", - "integrity": "sha1-fcKjkQ3uAHBW4eMdZAztPVTqqes=", - "dev": true, - "requires": { - "babel-helper-bindify-decorators": "6.24.1", - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-helper-function-name": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", - "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", - "requires": { - "babel-helper-get-function-arity": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-helper-get-function-arity": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", - "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", - "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-helper-hoist-variables": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", - "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", - "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-helper-optimise-call-expression": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", - "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", - "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-helper-regex": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", - "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", - "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "lodash": "4.17.4" - } - }, - "babel-helper-remap-async-to-generator": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", - "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", - "dev": true, - "requires": { - "babel-helper-function-name": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-helper-replace-supers": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", - "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", - "requires": { - "babel-helper-optimise-call-expression": "6.24.1", - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-helpers": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", - "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", - "requires": { - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" - } - }, - "babel-loader": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-7.1.1.tgz", - "integrity": "sha1-uHE0yLEuPkwqlOBUYIW8aAorhIg=", - "dev": true, - "requires": { - "find-cache-dir": "1.0.0", - "loader-utils": "1.1.0", - "mkdirp": "0.5.1" - }, - "dependencies": { - "loader-utils": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", - "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", - "dev": true, - "requires": { - "big.js": "3.2.0", - "emojis-list": "2.1.0", - "json5": "0.5.1" - } - } - } - }, - "babel-messages": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", - "requires": { - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-check-es2015-constants": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", - "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", - "requires": { - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-react-intl": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/babel-plugin-react-intl/-/babel-plugin-react-intl-2.3.1.tgz", - "integrity": "sha1-PUORLoJNoAXgjo6COdW6eEN0uwA=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0", - "intl-messageformat-parser": "1.2.0", - "mkdirp": "0.5.1" - } - }, - "babel-plugin-syntax-async-functions": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", - "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=", - "dev": true - }, - "babel-plugin-syntax-async-generators": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz", - "integrity": "sha1-a8lj67FuzLrmuStZbrfzXDQqi5o=", - "dev": true - }, - "babel-plugin-syntax-class-constructor-call": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-constructor-call/-/babel-plugin-syntax-class-constructor-call-6.18.0.tgz", - "integrity": "sha1-nLnTn+Q8hgC+yBRkVt3L1OGnZBY=", - "dev": true - }, - "babel-plugin-syntax-class-properties": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz", - "integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=", - "dev": true - }, - "babel-plugin-syntax-decorators": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz", - "integrity": "sha1-MSVjtNvePMgGzuPkFszurd0RrAs=", - "dev": true - }, - "babel-plugin-syntax-do-expressions": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-do-expressions/-/babel-plugin-syntax-do-expressions-6.13.0.tgz", - "integrity": "sha1-V0d1YTmqJtOQ0JQQsDdEugfkeW0=", - "dev": true - }, - "babel-plugin-syntax-dynamic-import": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz", - "integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=", - "dev": true - }, - "babel-plugin-syntax-exponentiation-operator": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", - "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=", - "dev": true - }, - "babel-plugin-syntax-export-extensions": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-export-extensions/-/babel-plugin-syntax-export-extensions-6.13.0.tgz", - "integrity": "sha1-cKFITw+QiaToStRLrDU8lbmxJyE=", - "dev": true - }, - "babel-plugin-syntax-flow": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz", - "integrity": "sha1-TDqyCiryaqIM0lmVw5jE63AxDI0=", - "dev": true - }, - "babel-plugin-syntax-function-bind": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-function-bind/-/babel-plugin-syntax-function-bind-6.13.0.tgz", - "integrity": "sha1-SMSV8Xe98xqYHnMvVa3AvdJgH0Y=", - "dev": true - }, - "babel-plugin-syntax-jsx": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", - "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=", - "dev": true - }, - "babel-plugin-syntax-object-rest-spread": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", - "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=", - "dev": true - }, - "babel-plugin-syntax-trailing-function-commas": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", - "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=", - "dev": true - }, - "babel-plugin-transform-async-generator-functions": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz", - "integrity": "sha1-8FiQAUX9PpkHpt3yjaWfIVJYpds=", - "dev": true, - "requires": { - "babel-helper-remap-async-to-generator": "6.24.1", - "babel-plugin-syntax-async-generators": "6.13.0", - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-transform-async-to-generator": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", - "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", - "dev": true, - "requires": { - "babel-helper-remap-async-to-generator": "6.24.1", - "babel-plugin-syntax-async-functions": "6.13.0", - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-transform-class-constructor-call": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-constructor-call/-/babel-plugin-transform-class-constructor-call-6.24.1.tgz", - "integrity": "sha1-gNwoVQWsBn3LjWxl4vbxGrd2Xvk=", - "dev": true, - "requires": { - "babel-plugin-syntax-class-constructor-call": "6.18.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" - } - }, - "babel-plugin-transform-class-properties": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.23.0.tgz", - "integrity": "sha1-GHt0fuQEOZATVjyZPbA480dUrDs=", - "dev": true, - "requires": { - "babel-helper-function-name": "6.24.1", - "babel-plugin-syntax-class-properties": "6.13.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" - } - }, - "babel-plugin-transform-decorators": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz", - "integrity": "sha1-eIAT2PjGtSIr33s0Q5Df13Vp4k0=", - "dev": true, - "requires": { - "babel-helper-explode-class": "6.24.1", - "babel-plugin-syntax-decorators": "6.13.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-plugin-transform-decorators-legacy": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-decorators-legacy/-/babel-plugin-transform-decorators-legacy-1.3.4.tgz", - "integrity": "sha1-dBtY9sW86eYCfgiC2cmU8E82aSU=", - "dev": true, - "requires": { - "babel-plugin-syntax-decorators": "6.13.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" - } - }, - "babel-plugin-transform-do-expressions": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-do-expressions/-/babel-plugin-transform-do-expressions-6.22.0.tgz", - "integrity": "sha1-KMyvkoEtlJws0SgfaQyP3EaK6bs=", - "dev": true, - "requires": { - "babel-plugin-syntax-do-expressions": "6.13.0", - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-transform-es2015-arrow-functions": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", - "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", - "requires": { - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-transform-es2015-block-scoped-functions": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", - "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", - "requires": { - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-transform-es2015-block-scoping": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", - "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=", - "requires": { - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "lodash": "4.17.4" - } - }, - "babel-plugin-transform-es2015-classes": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", - "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", - "requires": { - "babel-helper-define-map": "6.26.0", - "babel-helper-function-name": "6.24.1", - "babel-helper-optimise-call-expression": "6.24.1", - "babel-helper-replace-supers": "6.24.1", - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-plugin-transform-es2015-computed-properties": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", - "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", - "requires": { - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" - } - }, - "babel-plugin-transform-es2015-destructuring": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", - "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", - "requires": { - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-transform-es2015-duplicate-keys": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", - "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", - "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-plugin-transform-es2015-for-of": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", - "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", - "requires": { - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-transform-es2015-function-name": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", - "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", - "requires": { - "babel-helper-function-name": "6.24.1", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-plugin-transform-es2015-literals": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", - "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", - "requires": { - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-transform-es2015-modules-amd": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", - "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", - "requires": { - "babel-plugin-transform-es2015-modules-commonjs": "6.26.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" - }, - "dependencies": { - "babel-plugin-transform-es2015-modules-commonjs": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz", - "integrity": "sha1-DYOUApt9xqvhqX7xgeAHWN0uXYo=", - "requires": { - "babel-plugin-transform-strict-mode": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-types": "6.26.0" - } - } - } - }, - "babel-plugin-transform-es2015-modules-commonjs": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.24.1.tgz", - "integrity": "sha1-0+MQtA72ZKNmIiAAl8bUQCmPK/4=", - "dev": true, - "requires": { - "babel-plugin-transform-strict-mode": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-plugin-transform-es2015-modules-systemjs": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", - "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", - "requires": { - "babel-helper-hoist-variables": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" - } - }, - "babel-plugin-transform-es2015-modules-umd": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", - "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", - "requires": { - "babel-plugin-transform-es2015-modules-amd": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" - } - }, - "babel-plugin-transform-es2015-object-super": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", - "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", - "requires": { - "babel-helper-replace-supers": "6.24.1", - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-transform-es2015-parameters": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", - "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", - "requires": { - "babel-helper-call-delegate": "6.24.1", - "babel-helper-get-function-arity": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-plugin-transform-es2015-shorthand-properties": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", - "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", - "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-plugin-transform-es2015-spread": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", - "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", - "requires": { - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-transform-es2015-sticky-regex": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", - "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", - "requires": { - "babel-helper-regex": "6.26.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-plugin-transform-es2015-template-literals": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", - "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", - "requires": { - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-transform-es2015-typeof-symbol": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", - "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", - "requires": { - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-transform-es2015-unicode-regex": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", - "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", - "requires": { - "babel-helper-regex": "6.26.0", - "babel-runtime": "6.26.0", - "regexpu-core": "2.0.0" - } - }, - "babel-plugin-transform-exponentiation-operator": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", - "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", - "dev": true, - "requires": { - "babel-helper-builder-binary-assignment-operator-visitor": "6.24.1", - "babel-plugin-syntax-exponentiation-operator": "6.13.0", - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-transform-export-extensions": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-export-extensions/-/babel-plugin-transform-export-extensions-6.22.0.tgz", - "integrity": "sha1-U3OLR+deghhYnuqUbLvTkQm75lM=", - "dev": true, - "requires": { - "babel-plugin-syntax-export-extensions": "6.13.0", - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-transform-flow-strip-types": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz", - "integrity": "sha1-hMtnKTXUNxT9wyvOhFaNh0Qc988=", - "dev": true, - "requires": { - "babel-plugin-syntax-flow": "6.18.0", - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-transform-function-bind": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-function-bind/-/babel-plugin-transform-function-bind-6.22.0.tgz", - "integrity": "sha1-xvuOlqwpajELjPjqQBRiQH3fapc=", - "dev": true, - "requires": { - "babel-plugin-syntax-function-bind": "6.13.0", - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-transform-object-rest-spread": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.23.0.tgz", - "integrity": "sha1-h11ryb52HFiirj/u5dxIldjH+SE=", - "dev": true, - "requires": { - "babel-plugin-syntax-object-rest-spread": "6.13.0", - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-transform-react-display-name": { - "version": "6.25.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz", - "integrity": "sha1-Z+K/Hx6ck6sI25Z5LgU5K/LMKNE=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-transform-react-jsx": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz", - "integrity": "sha1-hAoCjn30YN/DotKfDA2R9jduZqM=", - "dev": true, - "requires": { - "babel-helper-builder-react-jsx": "6.26.0", - "babel-plugin-syntax-jsx": "6.18.0", - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-transform-react-jsx-self": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.22.0.tgz", - "integrity": "sha1-322AqdomEqEh5t3XVYvL7PBuY24=", - "dev": true, - "requires": { - "babel-plugin-syntax-jsx": "6.18.0", - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-transform-react-jsx-source": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz", - "integrity": "sha1-ZqwSFT9c0tF7PBkmj0vwGX9E7NY=", - "dev": true, - "requires": { - "babel-plugin-syntax-jsx": "6.18.0", - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-transform-react-remove-prop-types": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.3.2.tgz", - "integrity": "sha1-bajYNMbXrYqwL5VlCXkM+qAf/hk=", - "dev": true - }, - "babel-plugin-transform-regenerator": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", - "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", - "requires": { - "regenerator-transform": "0.10.1" - } - }, - "babel-plugin-transform-runtime": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.23.0.tgz", - "integrity": "sha1-iEkNRGUC6puOfvsP4J7E2ZR5se4=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0" - } - }, - "babel-plugin-transform-strict-mode": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", - "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", - "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0" - } - }, - "babel-plugin-webpack-alias": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/babel-plugin-webpack-alias/-/babel-plugin-webpack-alias-2.1.2.tgz", - "integrity": "sha1-BaG6I8KFlWYPtupXNkJPxZa0okc=", - "dev": true, - "requires": { - "babel-types": "6.26.0", - "find-up": "2.1.0", - "lodash.some": "4.6.0", - "lodash.template": "4.4.0" - }, - "dependencies": { - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "2.0.0" - } - } - } - }, - "babel-polyfill": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz", - "integrity": "sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=", - "dev": true, - "requires": { - "babel-runtime": "6.26.0", - "core-js": "2.5.1", - "regenerator-runtime": "0.10.5" - }, - "dependencies": { - "core-js": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.1.tgz", - "integrity": "sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs=", - "dev": true - }, - "regenerator-runtime": { - "version": "0.10.5", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", - "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=", - "dev": true - } - } - }, - "babel-preset-env": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.6.0.tgz", - "integrity": "sha512-OVgtQRuOZKckrILgMA5rvctvFZPv72Gua9Rt006AiPoB0DJKGN07UmaQA+qRrYgK71MVct8fFhT0EyNWYorVew==", - "dev": true, - "requires": { - "babel-plugin-check-es2015-constants": "6.22.0", - "babel-plugin-syntax-trailing-function-commas": "6.22.0", - "babel-plugin-transform-async-to-generator": "6.24.1", - "babel-plugin-transform-es2015-arrow-functions": "6.22.0", - "babel-plugin-transform-es2015-block-scoped-functions": "6.22.0", - "babel-plugin-transform-es2015-block-scoping": "6.26.0", - "babel-plugin-transform-es2015-classes": "6.24.1", - "babel-plugin-transform-es2015-computed-properties": "6.24.1", - "babel-plugin-transform-es2015-destructuring": "6.23.0", - "babel-plugin-transform-es2015-duplicate-keys": "6.24.1", - "babel-plugin-transform-es2015-for-of": "6.23.0", - "babel-plugin-transform-es2015-function-name": "6.24.1", - "babel-plugin-transform-es2015-literals": "6.22.0", - "babel-plugin-transform-es2015-modules-amd": "6.24.1", - "babel-plugin-transform-es2015-modules-commonjs": "6.24.1", - "babel-plugin-transform-es2015-modules-systemjs": "6.24.1", - "babel-plugin-transform-es2015-modules-umd": "6.24.1", - "babel-plugin-transform-es2015-object-super": "6.24.1", - "babel-plugin-transform-es2015-parameters": "6.24.1", - "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", - "babel-plugin-transform-es2015-spread": "6.22.0", - "babel-plugin-transform-es2015-sticky-regex": "6.24.1", - "babel-plugin-transform-es2015-template-literals": "6.22.0", - "babel-plugin-transform-es2015-typeof-symbol": "6.23.0", - "babel-plugin-transform-es2015-unicode-regex": "6.24.1", - "babel-plugin-transform-exponentiation-operator": "6.24.1", - "babel-plugin-transform-regenerator": "6.26.0", - "browserslist": "2.5.1", - "invariant": "2.2.2", - "semver": "5.4.1" - } - }, - "babel-preset-es2015": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz", - "integrity": "sha1-1EBQ1rwsn+6nAqrzjXJ6AhBTiTk=", - "requires": { - "babel-plugin-check-es2015-constants": "6.22.0", - "babel-plugin-transform-es2015-arrow-functions": "6.22.0", - "babel-plugin-transform-es2015-block-scoped-functions": "6.22.0", - "babel-plugin-transform-es2015-block-scoping": "6.26.0", - "babel-plugin-transform-es2015-classes": "6.24.1", - "babel-plugin-transform-es2015-computed-properties": "6.24.1", - "babel-plugin-transform-es2015-destructuring": "6.23.0", - "babel-plugin-transform-es2015-duplicate-keys": "6.24.1", - "babel-plugin-transform-es2015-for-of": "6.23.0", - "babel-plugin-transform-es2015-function-name": "6.24.1", - "babel-plugin-transform-es2015-literals": "6.22.0", - "babel-plugin-transform-es2015-modules-amd": "6.24.1", - "babel-plugin-transform-es2015-modules-commonjs": "6.26.0", - "babel-plugin-transform-es2015-modules-systemjs": "6.24.1", - "babel-plugin-transform-es2015-modules-umd": "6.24.1", - "babel-plugin-transform-es2015-object-super": "6.24.1", - "babel-plugin-transform-es2015-parameters": "6.24.1", - "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", - "babel-plugin-transform-es2015-spread": "6.22.0", - "babel-plugin-transform-es2015-sticky-regex": "6.24.1", - "babel-plugin-transform-es2015-template-literals": "6.22.0", - "babel-plugin-transform-es2015-typeof-symbol": "6.23.0", - "babel-plugin-transform-es2015-unicode-regex": "6.24.1", - "babel-plugin-transform-regenerator": "6.26.0" - }, - "dependencies": { - "babel-plugin-transform-es2015-modules-commonjs": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz", - "integrity": "sha1-DYOUApt9xqvhqX7xgeAHWN0uXYo=", - "requires": { - "babel-plugin-transform-strict-mode": "6.24.1", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0", - "babel-types": "6.26.0" - } - } - } - }, - "babel-preset-flow": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz", - "integrity": "sha1-5xIYiHCFrpoktb5Baa/7WZgWxJ0=", - "dev": true, - "requires": { - "babel-plugin-transform-flow-strip-types": "6.22.0" - } - }, - "babel-preset-react": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-preset-react/-/babel-preset-react-6.24.1.tgz", - "integrity": "sha1-umnfrqRfw+xjm2pOzqbhdwLJE4A=", - "dev": true, - "requires": { - "babel-plugin-syntax-jsx": "6.18.0", - "babel-plugin-transform-react-display-name": "6.25.0", - "babel-plugin-transform-react-jsx": "6.24.1", - "babel-plugin-transform-react-jsx-self": "6.22.0", - "babel-plugin-transform-react-jsx-source": "6.22.0", - "babel-preset-flow": "6.23.0" - } - }, - "babel-preset-stage-0": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-preset-stage-0/-/babel-preset-stage-0-6.24.1.tgz", - "integrity": "sha1-VkLRUEL5E4TX5a+LyIsduVsDnmo=", - "dev": true, - "requires": { - "babel-plugin-transform-do-expressions": "6.22.0", - "babel-plugin-transform-function-bind": "6.22.0", - "babel-preset-stage-1": "6.24.1" - } - }, - "babel-preset-stage-1": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-preset-stage-1/-/babel-preset-stage-1-6.24.1.tgz", - "integrity": "sha1-dpLNfc1oSZB+auSgqFWJz7niv7A=", - "dev": true, - "requires": { - "babel-plugin-transform-class-constructor-call": "6.24.1", - "babel-plugin-transform-export-extensions": "6.22.0", - "babel-preset-stage-2": "6.24.1" - } - }, - "babel-preset-stage-2": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-preset-stage-2/-/babel-preset-stage-2-6.24.1.tgz", - "integrity": "sha1-2eKWD7PXEYfw5k7sYrwHdnIZvcE=", - "dev": true, - "requires": { - "babel-plugin-syntax-dynamic-import": "6.18.0", - "babel-plugin-transform-class-properties": "6.24.1", - "babel-plugin-transform-decorators": "6.24.1", - "babel-preset-stage-3": "6.24.1" - }, - "dependencies": { - "babel-plugin-transform-class-properties": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz", - "integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=", - "dev": true, - "requires": { - "babel-helper-function-name": "6.24.1", - "babel-plugin-syntax-class-properties": "6.13.0", - "babel-runtime": "6.26.0", - "babel-template": "6.26.0" - } - } - } - }, - "babel-preset-stage-3": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz", - "integrity": "sha1-g2raCp56f6N8sTj7kyb4eTSkg5U=", - "dev": true, - "requires": { - "babel-plugin-syntax-trailing-function-commas": "6.22.0", - "babel-plugin-transform-async-generator-functions": "6.24.1", - "babel-plugin-transform-async-to-generator": "6.24.1", - "babel-plugin-transform-exponentiation-operator": "6.24.1", - "babel-plugin-transform-object-rest-spread": "6.23.0" - } - }, - "babel-register": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", - "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", - "requires": { - "babel-core": "6.26.0", - "babel-runtime": "6.26.0", - "core-js": "2.5.1", - "home-or-tmp": "2.0.0", - "lodash": "4.17.4", - "mkdirp": "0.5.1", - "source-map-support": "0.4.18" - }, - "dependencies": { - "core-js": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.1.tgz", - "integrity": "sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs=" - } - } - }, - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "2.5.1", - "regenerator-runtime": "0.11.0" - }, - "dependencies": { - "core-js": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.1.tgz", - "integrity": "sha1-rmh03GaTd4m4B1T/VCjfZoGcpQs=" - } - } - }, - "babel-template": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", - "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", - "requires": { - "babel-runtime": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "lodash": "4.17.4" - } - }, - "babel-traverse": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", - "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", - "requires": { - "babel-code-frame": "6.26.0", - "babel-messages": "6.23.0", - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "debug": "2.6.9", - "globals": "9.18.0", - "invariant": "2.2.2", - "lodash": "4.17.4" - } - }, - "babel-types": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", - "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", - "requires": { - "babel-runtime": "6.26.0", - "esutils": "2.0.2", - "lodash": "4.17.4", - "to-fast-properties": "1.0.3" - } - }, - "babelify": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/babelify/-/babelify-7.3.0.tgz", - "integrity": "sha1-qlau3nBn/XvVSWZu4W3ChQh+iOU=", - "requires": { - "babel-core": "6.26.0", - "object-assign": "4.1.1" - } - }, - "babylon": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==" - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "base32.js": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/base32.js/-/base32.js-0.1.0.tgz", - "integrity": "sha1-tYLexpPC8R6JPPBk7mrFthMaIgI=" - }, - "base64-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.1.tgz", - "integrity": "sha512-dwVUVIXsBZXwTuwnXI9RK8sBmgq09NDHzyR9SAph9eqk76gKK2JSQmZARC2zRC81JC2QTtxD0ARU5qTS25gIGw==", - "dev": true - }, - "batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", - "dev": true - }, - "batch-processor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/batch-processor/-/batch-processor-1.0.0.tgz", - "integrity": "sha1-dclcMrdI4IUNEMKxaPa9vpiRrOg=" - }, - "bcrypt-pbkdf": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", - "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", - "dev": true, - "optional": true, - "requires": { - "tweetnacl": "0.14.5" - } - }, - "beeper": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz", - "integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=", - "dev": true - }, - "big.js": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", - "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==" - }, - "bignumber.js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-3.0.1.tgz", - "integrity": "sha1-gHZS0Q453jfp40lyR+3HmLt0b3Y=" - }, - "bin-build": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/bin-build/-/bin-build-2.2.0.tgz", - "integrity": "sha1-EfjdYfcP/Por3KpbRvXo/t1CIcw=", - "dev": true, - "requires": { - "archive-type": "3.2.0", - "decompress": "3.0.0", - "download": "4.4.3", - "exec-series": "1.0.3", - "rimraf": "2.6.2", - "tempfile": "1.1.1", - "url-regex": "3.2.0" - }, - "dependencies": { - "tempfile": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/tempfile/-/tempfile-1.1.1.tgz", - "integrity": "sha1-W8xOrsxKsscH2LwR2ZzMmiyyh/I=", - "dev": true, - "requires": { - "os-tmpdir": "1.0.2", - "uuid": "2.0.3" - } - }, - "uuid": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", - "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=", - "dev": true - } - } - }, - "bin-check": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/bin-check/-/bin-check-2.0.0.tgz", - "integrity": "sha1-hvjm9CU4k99g3DFpV/WvAqywWTA=", - "dev": true, - "requires": { - "executable": "1.1.0" - } - }, - "bin-version": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/bin-version/-/bin-version-1.0.4.tgz", - "integrity": "sha1-nrSY7m/Xb3q5p8FgQ2+JV5Q1144=", - "dev": true, - "requires": { - "find-versions": "1.2.1" - } - }, - "bin-version-check": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/bin-version-check/-/bin-version-check-2.1.0.tgz", - "integrity": "sha1-5OXfKQuQaffRETJAMe/BP90RpbA=", - "dev": true, - "requires": { - "bin-version": "1.0.4", - "minimist": "1.2.0", - "semver": "4.3.6", - "semver-truncate": "1.1.2" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - }, - "semver": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz", - "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=", - "dev": true - } - } - }, - "bin-wrapper": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/bin-wrapper/-/bin-wrapper-3.0.2.tgz", - "integrity": "sha1-Z9MwYmLksaXy+I7iNGT2plVneus=", - "dev": true, - "requires": { - "bin-check": "2.0.0", - "bin-version-check": "2.1.0", - "download": "4.4.3", - "each-async": "1.1.1", - "lazy-req": "1.1.0", - "os-filter-obj": "1.0.3" - } - }, - "binary-extensions": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.10.0.tgz", - "integrity": "sha1-muuabF6IY4qtFx4Wf1kAq+JINdA=", - "dev": true - }, - "bindings": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.3.0.tgz", - "integrity": "sha512-DpLh5EzMR2kzvX1KIlVC0VkC3iZtHKTgdtZ0a3pglBZdaQFjt5S9g9xd1lE+YvXyfd6mtCeRnrUfOLYiTMlNSw==" - }, - "bip66": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/bip66/-/bip66-1.1.5.tgz", - "integrity": "sha1-AfqHSHhcpwlV1QESF9GzE5lpyiI=", - "requires": { - "safe-buffer": "5.1.1" - } - }, - "bl": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.1.tgz", - "integrity": "sha1-ysMo977kVzDUBLaSID/LWQ4XLV4=", - "requires": { - "readable-stream": "2.3.3" - } - }, - "blockies": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/blockies/-/blockies-0.0.2.tgz", - "integrity": "sha1-Iq1Y2k9rOCvHm/Q4bFggxwBH5O0=" - }, - "bluebird": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz", - "integrity": "sha1-U0uQM8AiyVecVro7Plpcqvu2UOE=", - "dev": true - }, - "bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" - }, - "bonjour": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", - "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", - "dev": true, - "requires": { - "array-flatten": "2.1.1", - "deep-equal": "1.0.1", - "dns-equal": "1.0.0", - "dns-txt": "2.0.2", - "multicast-dns": "6.1.1", - "multicast-dns-service-types": "1.1.0" - }, - "dependencies": { - "array-flatten": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.1.tgz", - "integrity": "sha1-Qmu52oQJDBg42BLIFQryCoMx4pY=", - "dev": true - } - } - }, - "boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", - "dev": true - }, - "boom": { - "version": "2.10.1", - "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", - "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", - "dev": true, - "requires": { - "hoek": "2.16.3" - } - }, - "bowser": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/bowser/-/bowser-1.8.0.tgz", - "integrity": "sha512-ARpB9VfvItCA47oBk9tVA/L93fU83Q2YwE1yTjhCyr1tu6Zw74mDHdpXNWutl5/tFGYhgCOfBH83WJY4RBGA3A==" - }, - "brace": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/brace/-/brace-0.9.0.tgz", - "integrity": "sha1-rQNLrmUiDrZ22UnLKAOD+o4S+nI=", - "requires": { - "w3c-blob": "0.0.1" - } - }, - "brace-expansion": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", - "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", - "requires": { - "balanced-match": "1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", - "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", - "dev": true, - "requires": { - "expand-range": "1.8.2", - "preserve": "0.2.0", - "repeat-element": "1.1.2" - } - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" - }, - "browser-stdout": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.0.tgz", - "integrity": "sha1-81HTKWnTL6XXpVZxVCY9korjvR8=", - "dev": true - }, - "browserify-aes": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.0.8.tgz", - "integrity": "sha512-WYCMOT/PtGTlpOKFht0YJFYcPy6pLCR98CtWfzK13zoynLlBMvAdEMSRGmgnJCw2M2j/5qxBkinZQFobieM8dQ==", - "requires": { - "buffer-xor": "1.0.3", - "cipher-base": "1.0.4", - "create-hash": "1.1.3", - "evp_bytestokey": "1.0.3", - "inherits": "2.0.3", - "safe-buffer": "5.1.1" - } - }, - "browserify-cipher": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz", - "integrity": "sha1-mYgkSHS/XtTijalWZtzWasj8Njo=", - "dev": true, - "requires": { - "browserify-aes": "1.0.8", - "browserify-des": "1.0.0", - "evp_bytestokey": "1.0.3" - } - }, - "browserify-des": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.0.tgz", - "integrity": "sha1-2qJ3cXRwki7S/hhZQRihdUOXId0=", - "dev": true, - "requires": { - "cipher-base": "1.0.4", - "des.js": "1.0.0", - "inherits": "2.0.3" - } - }, - "browserify-rsa": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", - "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", - "dev": true, - "requires": { - "bn.js": "4.11.8", - "randombytes": "2.0.5" - } - }, - "browserify-sign": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", - "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", - "dev": true, - "requires": { - "bn.js": "4.11.8", - "browserify-rsa": "4.0.1", - "create-hash": "1.1.3", - "create-hmac": "1.1.6", - "elliptic": "6.4.0", - "inherits": "2.0.3", - "parse-asn1": "5.1.0" - } - }, - "browserify-zlib": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz", - "integrity": "sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=", - "dev": true, - "requires": { - "pako": "0.2.9" - } - }, - "browserslist": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-2.5.1.tgz", - "integrity": "sha512-jAvM2ku7YDJ+leAq3bFH1DE0Ylw+F+EQDq4GkqZfgPEqpWYw9ofQH85uKSB9r3Tv7XDbfqVtE+sdvKJW7IlPJA==", - "dev": true, - "requires": { - "caniuse-lite": "1.0.30000745", - "electron-to-chromium": "1.3.24" - } - }, - "buffer": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", - "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", - "dev": true, - "requires": { - "base64-js": "1.2.1", - "ieee754": "1.1.8", - "isarray": "1.0.0" - } - }, - "buffer-indexof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", - "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", - "dev": true - }, - "buffer-to-vinyl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-to-vinyl/-/buffer-to-vinyl-1.1.0.tgz", - "integrity": "sha1-APFfruOreh3aLN5tkSG//dB7ImI=", - "dev": true, - "requires": { - "file-type": "3.9.0", - "readable-stream": "2.3.3", - "uuid": "2.0.3", - "vinyl": "1.2.0" - }, - "dependencies": { - "file-type": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", - "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=", - "dev": true - }, - "uuid": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", - "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=", - "dev": true - } - } - }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" - }, - "builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=" - }, - "builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", - "dev": true - }, - "bytes": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz", - "integrity": "sha1-fZcZb51br39pNeJZhVSe3SpsIzk=" - }, - "caller-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", - "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", - "dev": true, - "requires": { - "callsites": "0.2.0" - } - }, - "callsites": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", - "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", - "dev": true - }, - "camel-case": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", - "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", - "dev": true, - "requires": { - "no-case": "2.3.2", - "upper-case": "1.1.3" - } - }, - "camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=" - }, - "camelcase-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", - "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", - "requires": { - "camelcase": "2.1.1", - "map-obj": "1.0.1" - }, - "dependencies": { - "camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=" - } - } - }, - "caniuse-api": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-1.6.1.tgz", - "integrity": "sha1-tTTnxzTE+B7F++isoq0kNUuWLGw=", - "dev": true, - "requires": { - "browserslist": "1.7.7", - "caniuse-db": "1.0.30000745", - "lodash.memoize": "4.1.2", - "lodash.uniq": "4.5.0" - }, - "dependencies": { - "browserslist": { - "version": "1.7.7", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", - "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", - "dev": true, - "requires": { - "caniuse-db": "1.0.30000745", - "electron-to-chromium": "1.3.24" - } - } - } - }, - "caniuse-db": { - "version": "1.0.30000745", - "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000745.tgz", - "integrity": "sha1-slmmFzej5IxPtLaxvETt6yZM1CI=", - "dev": true - }, - "caniuse-lite": { - "version": "1.0.30000745", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000745.tgz", - "integrity": "sha1-INb+3hFXpJNRM1ApRvx+DmuIDaU=", - "dev": true - }, - "capture-stack-trace": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz", - "integrity": "sha1-Sm+gc5nCa7pH8LJJa00PtAjFVQ0=", - "dev": true - }, - "caseless": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", - "integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=", - "dev": true - }, - "caw": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/caw/-/caw-1.2.0.tgz", - "integrity": "sha1-/7Im/n78VHKI3GLuPpcHPCEtEDQ=", - "dev": true, - "requires": { - "get-proxy": "1.1.0", - "is-obj": "1.0.1", - "object-assign": "3.0.0", - "tunnel-agent": "0.4.3" - }, - "dependencies": { - "object-assign": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", - "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=", - "dev": true - }, - "tunnel-agent": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", - "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=", - "dev": true - } - } - }, - "center-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", - "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", - "dev": true, - "requires": { - "align-text": "0.1.4", - "lazy-cache": "1.0.4" - } - }, - "chai": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/chai/-/chai-3.5.0.tgz", - "integrity": "sha1-TQJjewZ/6Vi9v906QOxW/vc3Mkc=", - "dev": true, - "requires": { - "assertion-error": "1.0.2", - "deep-eql": "0.1.3", - "type-detect": "1.0.0" - } - }, - "chai-as-promised": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-6.0.0.tgz", - "integrity": "sha1-GgKkM6byTa+sY7nJb6FoTbGqjaY=", - "dev": true, - "requires": { - "check-error": "1.0.2" - } - }, - "chai-enzyme": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/chai-enzyme/-/chai-enzyme-0.6.1.tgz", - "integrity": "sha1-WFyWPG6hMxRG79Eu6DkegH11hiA=", - "dev": true, - "requires": { - "html": "1.0.0", - "react-element-to-jsx-string": "5.0.7" - }, - "dependencies": { - "react-element-to-jsx-string": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/react-element-to-jsx-string/-/react-element-to-jsx-string-5.0.7.tgz", - "integrity": "sha1-xmOkgAqccSEVwNhRnLAhWkah8PI=", - "dev": true, - "requires": { - "collapse-white-space": "1.0.3", - "is-plain-object": "2.0.4", - "lodash": "4.17.4", - "sortobject": "1.1.1", - "stringify-object": "2.4.0", - "traverse": "0.6.6" - } - }, - "stringify-object": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-2.4.0.tgz", - "integrity": "sha1-xi0RAj6yH+LZsIe+A5om3zsioJ0=", - "dev": true, - "requires": { - "is-plain-obj": "1.1.0", - "is-regexp": "1.0.0" - } - } - } - }, - "chain-function": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/chain-function/-/chain-function-1.0.0.tgz", - "integrity": "sha1-DUqzfn4Y6tC9xHuSB2QRjOWHM9w=" - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "requires": { - "ansi-styles": "2.2.1", - "escape-string-regexp": "1.0.5", - "has-ansi": "2.0.0", - "strip-ansi": "3.0.1", - "supports-color": "2.0.0" - } - }, - "change-emitter": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/change-emitter/-/change-emitter-0.1.6.tgz", - "integrity": "sha1-6LL+PX8at9aaMhma/5HqaTFAlRU=" - }, - "check-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", - "dev": true - }, - "cheerio": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.22.0.tgz", - "integrity": "sha1-qbqoYKP5tZWmuBsahocxIe06Jp4=", - "dev": true, - "requires": { - "css-select": "1.2.0", - "dom-serializer": "0.1.0", - "entities": "1.1.1", - "htmlparser2": "3.9.2", - "lodash.assignin": "4.2.0", - "lodash.bind": "4.2.1", - "lodash.defaults": "4.2.0", - "lodash.filter": "4.6.0", - "lodash.flatten": "4.4.0", - "lodash.foreach": "4.5.0", - "lodash.map": "4.6.0", - "lodash.merge": "4.6.0", - "lodash.pick": "4.4.0", - "lodash.reduce": "4.6.0", - "lodash.reject": "4.6.0", - "lodash.some": "4.6.0" - } - }, - "chokidar": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", - "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", - "dev": true, - "requires": { - "anymatch": "1.3.2", - "async-each": "1.0.1", - "fsevents": "1.1.2", - "glob-parent": "2.0.0", - "inherits": "2.0.3", - "is-binary-path": "1.0.1", - "is-glob": "2.0.1", - "path-is-absolute": "1.0.1", - "readdirp": "2.1.0" - } - }, - "chownr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz", - "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=" - }, - "ci-info": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.1.1.tgz", - "integrity": "sha512-vHDDF/bP9RYpTWtUhpJRhCFdvvp3iDWvEbuDbWgvjUrNGV1MXJrE0MPcwGtEled04m61iwdBLUIHZtDgzWS4ZQ==", - "dev": true - }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "requires": { - "inherits": "2.0.3", - "safe-buffer": "5.1.1" - } - }, - "circular-json": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", - "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", - "dev": true - }, - "clap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/clap/-/clap-1.2.3.tgz", - "integrity": "sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA==", - "dev": true, - "requires": { - "chalk": "1.1.3" - } - }, - "classnames": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.5.tgz", - "integrity": "sha1-+zgB1FNGdknvNgPH1hoCvRKb3m0=" - }, - "clean-css": { - "version": "4.1.9", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.1.9.tgz", - "integrity": "sha1-Nc7ornaHpJuYA09w3gDE7dOCYwE=", - "dev": true, - "requires": { - "source-map": "0.5.7" - } - }, - "cli-cursor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz", - "integrity": "sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc=", - "dev": true, - "requires": { - "restore-cursor": "1.0.1" - } - }, - "cli-width": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", - "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", - "dev": true - }, - "cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wrap-ansi": "2.1.0" - } - }, - "clone": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz", - "integrity": "sha1-Jgt6meux7f4kdTgXX3gyQ8sZ0Uk=", - "dev": true - }, - "clone-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-1.0.0.tgz", - "integrity": "sha1-6uCiQT9VwJQvgYwin+/OhF1/Oxw=", - "dev": true, - "requires": { - "is-regexp": "1.0.0", - "is-supported-regexp-flag": "1.0.0" - } - }, - "clone-stats": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", - "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=", - "dev": true - }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" - }, - "coa": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/coa/-/coa-1.0.4.tgz", - "integrity": "sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=", - "dev": true, - "requires": { - "q": "1.5.0" - } - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" - }, - "collapse-white-space": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.3.tgz", - "integrity": "sha1-S5BvZw5aljqHt2sOFolkM0G2Ajw=" - }, - "color": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/color/-/color-0.11.4.tgz", - "integrity": "sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=", - "dev": true, - "requires": { - "clone": "1.0.2", - "color-convert": "1.9.0", - "color-string": "0.3.0" - } - }, - "color-convert": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.0.tgz", - "integrity": "sha1-Gsz5fdc5uYO/mU1W/sj5WFNkG3o=", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-diff": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/color-diff/-/color-diff-0.1.7.tgz", - "integrity": "sha1-bbeM2UgqjkWdQIIer0tQMoPcuOI=", - "dev": true - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "color-string": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz", - "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "colorguard": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/colorguard/-/colorguard-1.2.0.tgz", - "integrity": "sha1-8/rK9cquuk71RlPZ+yW7cxd8DYQ=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "color-diff": "0.1.7", - "log-symbols": "1.0.2", - "object-assign": "4.1.1", - "pipetteur": "2.0.3", - "plur": "2.1.2", - "postcss": "5.2.18", - "postcss-reporter": "1.4.1", - "text-table": "0.2.0", - "yargs": "1.3.3" - }, - "dependencies": { - "postcss-reporter": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-1.4.1.tgz", - "integrity": "sha1-wTbwpbFhkV83ndN2XGEHX357mvI=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "lodash": "4.17.4", - "log-symbols": "1.0.2", - "postcss": "5.2.18" - } - }, - "yargs": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-1.3.3.tgz", - "integrity": "sha1-BU3oth8i7v23IHBZ6u+da4P7kxo=", - "dev": true - } - } - }, - "colormin": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/colormin/-/colormin-1.1.2.tgz", - "integrity": "sha1-6i90IKcrlogaOKrlnsEkpvcpgTM=", - "dev": true, - "requires": { - "color": "0.11.4", - "css-color-names": "0.0.4", - "has": "1.0.1" - } - }, - "colors": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", - "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", - "dev": true - }, - "combined-stream": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", - "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", - "dev": true, - "requires": { - "delayed-stream": "1.0.0" - } - }, - "commander": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", - "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==", - "dev": true - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true - }, - "commonmark": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/commonmark/-/commonmark-0.24.0.tgz", - "integrity": "sha1-uA3gGCxUY1VkOqFdsSv7KCNoJ48=", - "requires": { - "entities": "1.1.1", - "mdurl": "1.0.1", - "string.prototype.repeat": "0.2.0" - } - }, - "commonmark-react-renderer": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/commonmark-react-renderer/-/commonmark-react-renderer-4.3.3.tgz", - "integrity": "sha1-nEvKE4vIMoe655LM8TNzi+nLxvo=", - "requires": { - "in-publish": "2.0.0", - "lodash.assign": "4.2.0", - "lodash.isplainobject": "4.0.6", - "pascalcase": "0.1.1", - "xss-filters": "1.2.7" - } - }, - "compressible": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.11.tgz", - "integrity": "sha1-FnGKdd4oPtjmBAQWJaIGRYZ5fYo=", - "dev": true, - "requires": { - "mime-db": "1.30.0" - } - }, - "compression": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.1.tgz", - "integrity": "sha1-7/JgPvwuIs+G810uuTWJ+YdTc9s=", - "dev": true, - "requires": { - "accepts": "1.3.4", - "bytes": "3.0.0", - "compressible": "2.0.11", - "debug": "2.6.9", - "on-headers": "1.0.1", - "safe-buffer": "5.1.1", - "vary": "1.1.2" - }, - "dependencies": { - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", - "dev": true - } - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "concat-stream": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", - "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", - "dev": true, - "requires": { - "inherits": "2.0.3", - "readable-stream": "2.3.3", - "typedarray": "0.0.6" - } - }, - "connect-history-api-fallback": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.3.0.tgz", - "integrity": "sha1-5R0X+PDvDbkKZP20feMFFVbp8Wk=", - "dev": true - }, - "console-browserify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", - "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", - "dev": true, - "requires": { - "date-now": "0.1.4" - } - }, - "console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" - }, - "console-stream": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/console-stream/-/console-stream-0.1.1.tgz", - "integrity": "sha1-oJX+B7IEZZVfL6/Si11yvM2UnUQ=", - "dev": true - }, - "constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", - "dev": true - }, - "content-disposition": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", - "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=", - "dev": true - }, - "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", - "dev": true - }, - "content-type-parser": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/content-type-parser/-/content-type-parser-1.0.1.tgz", - "integrity": "sha1-w+VpiMU8ZRJ/tG1AMqOpACRv3JQ=", - "dev": true - }, - "convert-source-map": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.0.tgz", - "integrity": "sha1-ms1whRxtXf3ZPZKC5e35SgP/RrU=" - }, - "cookie": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", - "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=", - "dev": true - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", - "dev": true - }, - "copy-to-clipboard": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.0.8.tgz", - "integrity": "sha512-c3GdeY8qxCHGezVb1EFQfHYK/8NZRemgcTIzPq7PuxjHAf/raKibn2QdhHPb/y6q74PMgH6yizaDZlRmw6QyKw==", - "requires": { - "toggle-selection": "1.0.6" - } - }, - "copy-webpack-plugin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.0.1.tgz", - "integrity": "sha1-lyjjg7lDFgUNDHRjlY8rhcCqggA=", - "dev": true, - "requires": { - "bluebird": "2.11.0", - "fs-extra": "0.26.7", - "glob": "6.0.4", - "is-glob": "3.1.0", - "loader-utils": "0.2.16", - "lodash": "4.17.4", - "minimatch": "3.0.4", - "node-dir": "0.1.17" - }, - "dependencies": { - "glob": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", - "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=", - "dev": true, - "requires": { - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "2.1.1" - } - } - } - }, - "core-js": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz", - "integrity": "sha1-TekR5mew6ukSTjQlS1OupvxhjT4=", - "dev": true - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "cosmiconfig": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-2.2.2.tgz", - "integrity": "sha512-GiNXLwAFPYHy25XmTPpafYvn3CLAkJ8FLsscq78MQd1Kh0OU6Yzhn4eV2MVF4G9WEQZoWEGltatdR+ntGPMl5A==", - "dev": true, - "requires": { - "is-directory": "0.3.1", - "js-yaml": "3.6.1", - "minimist": "1.2.0", - "object-assign": "4.1.1", - "os-homedir": "1.0.2", - "parse-json": "2.2.0", - "require-from-string": "1.2.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - } - } - }, - "coveralls": { - "version": "2.11.16", - "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-2.11.16.tgz", - "integrity": "sha1-2pBhJlFC3e6VT2g3kSK+l76KtLE=", - "dev": true, - "requires": { - "js-yaml": "3.6.1", - "lcov-parse": "0.0.10", - "log-driver": "1.2.5", - "minimist": "1.2.0", - "request": "2.79.0" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - } - } - }, - "create-ecdh": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.0.tgz", - "integrity": "sha1-iIxyNZbN92EvZJgjPuvXo1MBc30=", - "dev": true, - "requires": { - "bn.js": "4.11.8", - "elliptic": "6.4.0" - } - }, - "create-error-class": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", - "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", - "dev": true, - "requires": { - "capture-stack-trace": "1.0.0" - } - }, - "create-hash": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz", - "integrity": "sha1-YGBCrIuSYnUPSDyt2rD1gZFy2P0=", - "requires": { - "cipher-base": "1.0.4", - "inherits": "2.0.3", - "ripemd160": "2.0.1", - "sha.js": "2.4.9" - } - }, - "create-hmac": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.6.tgz", - "integrity": "sha1-rLniIaThe9sHbpBlfEK5PjcmzwY=", - "requires": { - "cipher-base": "1.0.4", - "create-hash": "1.1.3", - "inherits": "2.0.3", - "ripemd160": "2.0.1", - "safe-buffer": "5.1.1", - "sha.js": "2.4.9" - } - }, - "create-react-class": { - "version": "15.6.2", - "resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.6.2.tgz", - "integrity": "sha1-zx7RXxKq1/FO9fLf4F5sQvke8Co=", - "requires": { - "fbjs": "0.8.16", - "loose-envify": "1.3.1", - "object-assign": "4.1.1" - } - }, - "create-thenable": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/create-thenable/-/create-thenable-1.0.2.tgz", - "integrity": "sha1-4gMXIMzJV12M+jH1wUbnYqgMBTQ=", - "dev": true, - "requires": { - "object.omit": "2.0.1", - "unique-concat": "0.2.2" - } - }, - "cross-spawn": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", - "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "dev": true, - "requires": { - "lru-cache": "4.1.1", - "shebang-command": "1.2.0", - "which": "1.3.0" - } - }, - "cryptiles": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", - "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", - "dev": true, - "requires": { - "boom": "2.10.1" - } - }, - "crypto-browserify": { - "version": "3.11.1", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.11.1.tgz", - "integrity": "sha512-Na7ZlwCOqoaW5RwUK1WpXws2kv8mNhWdTlzob0UXulk6G9BDbyiJaGTYBIX61Ozn9l1EPPJpICZb4DaOpT9NlQ==", - "dev": true, - "requires": { - "browserify-cipher": "1.0.0", - "browserify-sign": "4.0.4", - "create-ecdh": "4.0.0", - "create-hash": "1.1.3", - "create-hmac": "1.1.6", - "diffie-hellman": "5.0.2", - "inherits": "2.0.3", - "pbkdf2": "3.0.14", - "public-encrypt": "4.0.0", - "randombytes": "2.0.5" - } - }, - "crypto-js": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-3.1.8.tgz", - "integrity": "sha1-cV8HC/YBTyrpkqmLOSkli3E/CNU=" - }, - "css-color-names": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", - "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", - "dev": true - }, - "css-loader": { - "version": "0.28.4", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.28.4.tgz", - "integrity": "sha1-bPNXkZLONV6LONX0Ldeh8uyJjQ8=", - "dev": true, - "requires": { - "babel-code-frame": "6.26.0", - "css-selector-tokenizer": "0.7.0", - "cssnano": "3.10.0", - "icss-utils": "2.1.0", - "loader-utils": "1.1.0", - "lodash.camelcase": "4.3.0", - "object-assign": "4.1.1", - "postcss": "5.2.18", - "postcss-modules-extract-imports": "1.1.0", - "postcss-modules-local-by-default": "1.2.0", - "postcss-modules-scope": "1.1.0", - "postcss-modules-values": "1.3.0", - "postcss-value-parser": "3.3.0", - "source-list-map": "0.1.8" - }, - "dependencies": { - "loader-utils": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", - "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", - "dev": true, - "requires": { - "big.js": "3.2.0", - "emojis-list": "2.1.0", - "json5": "0.5.1" - } - } - } - }, - "css-rule-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/css-rule-stream/-/css-rule-stream-1.1.0.tgz", - "integrity": "sha1-N4bnGYmD2WWibjGVfgkHjLt3BaI=", - "dev": true, - "requires": { - "css-tokenize": "1.0.1", - "duplexer2": "0.0.2", - "ldjson-stream": "1.2.1", - "through2": "0.6.5" - }, - "dependencies": { - "duplexer2": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", - "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", - "dev": true, - "requires": { - "readable-stream": "1.1.14" - } - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "0.0.1", - "string_decoder": "0.10.31" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - }, - "through2": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", - "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", - "dev": true, - "requires": { - "readable-stream": "1.0.34", - "xtend": "4.0.1" - }, - "dependencies": { - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "0.0.1", - "string_decoder": "0.10.31" - } - } - } - } - } - }, - "css-select": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", - "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", - "dev": true, - "requires": { - "boolbase": "1.0.0", - "css-what": "2.1.0", - "domutils": "1.5.1", - "nth-check": "1.0.1" - } - }, - "css-selector-tokenizer": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz", - "integrity": "sha1-5piEdK6MlTR3v15+/s/OzNnPTIY=", - "dev": true, - "requires": { - "cssesc": "0.1.0", - "fastparse": "1.1.1", - "regexpu-core": "1.0.0" - }, - "dependencies": { - "regexpu-core": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz", - "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=", - "dev": true, - "requires": { - "regenerate": "1.3.3", - "regjsgen": "0.2.0", - "regjsparser": "0.1.5" - } - } - } - }, - "css-tokenize": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/css-tokenize/-/css-tokenize-1.0.1.tgz", - "integrity": "sha1-RiXLHtohwUOFi3+B1oA8HSb8FL4=", - "dev": true, - "requires": { - "inherits": "2.0.3", - "readable-stream": "1.1.14" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "0.0.1", - "string_decoder": "0.10.31" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - } - } - }, - "css-what": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.0.tgz", - "integrity": "sha1-lGfQMsOM+u+58teVASUwYvh/ob0=", - "dev": true - }, - "cssesc": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz", - "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=", - "dev": true - }, - "cssnano": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-3.10.0.tgz", - "integrity": "sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg=", - "dev": true, - "requires": { - "autoprefixer": "6.7.7", - "decamelize": "1.2.0", - "defined": "1.0.0", - "has": "1.0.1", - "object-assign": "4.1.1", - "postcss": "5.2.18", - "postcss-calc": "5.3.1", - "postcss-colormin": "2.2.2", - "postcss-convert-values": "2.6.1", - "postcss-discard-comments": "2.0.4", - "postcss-discard-duplicates": "2.1.0", - "postcss-discard-empty": "2.1.0", - "postcss-discard-overridden": "0.1.1", - "postcss-discard-unused": "2.2.3", - "postcss-filter-plugins": "2.0.2", - "postcss-merge-idents": "2.1.7", - "postcss-merge-longhand": "2.0.2", - "postcss-merge-rules": "2.1.2", - "postcss-minify-font-values": "1.0.5", - "postcss-minify-gradients": "1.0.5", - "postcss-minify-params": "1.2.2", - "postcss-minify-selectors": "2.1.1", - "postcss-normalize-charset": "1.1.1", - "postcss-normalize-url": "3.0.8", - "postcss-ordered-values": "2.2.3", - "postcss-reduce-idents": "2.4.0", - "postcss-reduce-initial": "1.0.1", - "postcss-reduce-transforms": "1.0.4", - "postcss-svgo": "2.1.6", - "postcss-unique-selectors": "2.0.2", - "postcss-value-parser": "3.3.0", - "postcss-zindex": "2.2.0" - } - }, - "csso": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/csso/-/csso-2.3.2.tgz", - "integrity": "sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=", - "dev": true, - "requires": { - "clap": "1.2.3", - "source-map": "0.5.7" - } - }, - "cssom": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.2.tgz", - "integrity": "sha1-uANhcMefB6kP8vFuIihAJ6JDhIs=", - "dev": true - }, - "cssstyle": { - "version": "0.2.37", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-0.2.37.tgz", - "integrity": "sha1-VBCXI0yyUTyDzu06zdwn/yeYfVQ=", - "dev": true, - "requires": { - "cssom": "0.3.2" - } - }, - "currently-unhandled": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", - "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", - "requires": { - "array-find-index": "1.0.2" - } - }, - "d": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", - "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", - "dev": true, - "requires": { - "es5-ext": "0.10.30" - } - }, - "d3-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-1.2.1.tgz", - "integrity": "sha512-CyINJQ0SOUHojDdFDH4JEM0552vCR1utGyLHegJHyYH0JyCpSeTPxi4OBqHMA2jJZq4NH782LtaJWBImqI/HBw==" - }, - "d3-collection": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/d3-collection/-/d3-collection-1.0.4.tgz", - "integrity": "sha1-NC39EoN8kJdPM/HMCnha6lcNzcI=" - }, - "d3-color": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-1.0.3.tgz", - "integrity": "sha1-vHZD/KjlOoNH4vva/6I2eWtYUJs=" - }, - "d3-format": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.2.0.tgz", - "integrity": "sha1-a0gLqohohdRlHcJIqPSsnaFtsHo=" - }, - "d3-interpolate": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-1.1.5.tgz", - "integrity": "sha1-aeCZ/zkhRxblY8muw+qdHqS4p58=", - "requires": { - "d3-color": "1.0.3" - } - }, - "d3-path": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.5.tgz", - "integrity": "sha1-JB6xhJvZ6egCHA0KeZ+KDo5EF2Q=" - }, - "d3-scale": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-1.0.0.tgz", - "integrity": "sha1-C0F1yjHL5l4lRCfkZi3678NzRi0=", - "requires": { - "d3-array": "1.2.1", - "d3-collection": "1.0.4", - "d3-color": "1.0.3", - "d3-format": "1.2.0", - "d3-interpolate": "1.1.5", - "d3-time": "1.0.7", - "d3-time-format": "2.0.5" - } - }, - "d3-shape": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.0.0.tgz", - "integrity": "sha1-zKMySHV55Fc1TIg4oKKDvmOEWbo=", - "requires": { - "d3-path": "1.0.5" - } - }, - "d3-time": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-1.0.7.tgz", - "integrity": "sha1-lMr27bt4ebuAnQ0fdXK8SEgvcnA=" - }, - "d3-time-format": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-2.0.5.tgz", - "integrity": "sha1-nXeAIE98kRnJFwsaVttN6aivly4=", - "requires": { - "d3-time": "1.0.7" - } - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dev": true, - "requires": { - "assert-plus": "1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - } - } - }, - "date-difference": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/date-difference/-/date-difference-1.0.0.tgz", - "integrity": "sha1-0+bog8DK0tydv8vxLgYpe5cpiXQ=", - "requires": { - "get-stdin": "3.0.2", - "meow": "3.7.0" - } - }, - "date-now": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", - "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", - "dev": true - }, - "dateformat": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-2.2.0.tgz", - "integrity": "sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI=", - "dev": true - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" - }, - "decompress": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/decompress/-/decompress-3.0.0.tgz", - "integrity": "sha1-rx3VDQbjv8QyRh033hGzjA2ZG+0=", - "dev": true, - "requires": { - "buffer-to-vinyl": "1.1.0", - "concat-stream": "1.6.0", - "decompress-tar": "3.1.0", - "decompress-tarbz2": "3.1.0", - "decompress-targz": "3.1.0", - "decompress-unzip": "3.4.0", - "stream-combiner2": "1.1.1", - "vinyl-assign": "1.2.1", - "vinyl-fs": "2.4.4" - } - }, - "decompress-tar": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-3.1.0.tgz", - "integrity": "sha1-IXx4n5uURQ76rcXF5TeXj8MzxGY=", - "dev": true, - "requires": { - "is-tar": "1.0.0", - "object-assign": "2.1.1", - "strip-dirs": "1.1.1", - "tar-stream": "1.5.4", - "through2": "0.6.5", - "vinyl": "0.4.6" - }, - "dependencies": { - "clone": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz", - "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=", - "dev": true - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "object-assign": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", - "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=", - "dev": true - }, - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "0.0.1", - "string_decoder": "0.10.31" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - }, - "through2": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", - "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", - "dev": true, - "requires": { - "readable-stream": "1.0.34", - "xtend": "4.0.1" - } - }, - "vinyl": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz", - "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=", - "dev": true, - "requires": { - "clone": "0.2.0", - "clone-stats": "0.0.1" - } - } - } - }, - "decompress-tarbz2": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-3.1.0.tgz", - "integrity": "sha1-iyOTVoE1X58YnYclag+L3ZbZZm0=", - "dev": true, - "requires": { - "is-bzip2": "1.0.0", - "object-assign": "2.1.1", - "seek-bzip": "1.0.5", - "strip-dirs": "1.1.1", - "tar-stream": "1.5.4", - "through2": "0.6.5", - "vinyl": "0.4.6" - }, - "dependencies": { - "clone": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz", - "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=", - "dev": true - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "object-assign": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", - "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=", - "dev": true - }, - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "0.0.1", - "string_decoder": "0.10.31" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - }, - "through2": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", - "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", - "dev": true, - "requires": { - "readable-stream": "1.0.34", - "xtend": "4.0.1" - } - }, - "vinyl": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz", - "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=", - "dev": true, - "requires": { - "clone": "0.2.0", - "clone-stats": "0.0.1" - } - } - } - }, - "decompress-targz": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-3.1.0.tgz", - "integrity": "sha1-ssE9+YFmJomRtxXWRH9kLpaW9aA=", - "dev": true, - "requires": { - "is-gzip": "1.0.0", - "object-assign": "2.1.1", - "strip-dirs": "1.1.1", - "tar-stream": "1.5.4", - "through2": "0.6.5", - "vinyl": "0.4.6" - }, - "dependencies": { - "clone": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz", - "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=", - "dev": true - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "object-assign": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", - "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=", - "dev": true - }, - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "0.0.1", - "string_decoder": "0.10.31" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - }, - "through2": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", - "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", - "dev": true, - "requires": { - "readable-stream": "1.0.34", - "xtend": "4.0.1" - } - }, - "vinyl": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz", - "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=", - "dev": true, - "requires": { - "clone": "0.2.0", - "clone-stats": "0.0.1" - } - } - } - }, - "decompress-unzip": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-3.4.0.tgz", - "integrity": "sha1-YUdbQVIGa74/7hL51inRX+ZHjus=", - "dev": true, - "requires": { - "is-zip": "1.0.0", - "read-all-stream": "3.1.0", - "stat-mode": "0.2.2", - "strip-dirs": "1.1.1", - "through2": "2.0.3", - "vinyl": "1.2.0", - "yauzl": "2.4.1" - }, - "dependencies": { - "through2": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", - "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", - "dev": true, - "requires": { - "readable-stream": "2.3.3", - "xtend": "4.0.1" - } - } - } - }, - "deep-eql": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz", - "integrity": "sha1-71WKyrjeJSBs1xOQbXTlaTDrafI=", - "dev": true, - "requires": { - "type-detect": "0.1.1" - }, - "dependencies": { - "type-detect": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz", - "integrity": "sha1-C6XsKohWQORw6k6FBZcZANrFiCI=", - "dev": true - } - } - }, - "deep-equal": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", - "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=", - "dev": true - }, - "deep-extend": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz", - "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=" - }, - "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", - "dev": true - }, - "default-require-extensions": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz", - "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=", - "dev": true, - "requires": { - "strip-bom": "2.0.0" - } - }, - "define-properties": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", - "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", - "dev": true, - "requires": { - "foreach": "2.0.5", - "object-keys": "1.0.11" - }, - "dependencies": { - "object-keys": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz", - "integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=", - "dev": true - } - } - }, - "defined": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", - "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", - "dev": true - }, - "del": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", - "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", - "dev": true, - "requires": { - "globby": "5.0.0", - "is-path-cwd": "1.0.0", - "is-path-in-cwd": "1.0.0", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "rimraf": "2.6.2" - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true - }, - "delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" - }, - "depd": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", - "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=", - "dev": true - }, - "des.js": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", - "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", - "dev": true, - "requires": { - "inherits": "2.0.3", - "minimalistic-assert": "1.0.0" - } - }, - "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", - "dev": true - }, - "detect-indent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", - "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", - "requires": { - "repeating": "2.0.1" - } - }, - "detect-node": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.3.tgz", - "integrity": "sha1-ogM8CcyOFY03dI+951B4Mr1s4Sc=", - "dev": true - }, - "diff": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-1.4.0.tgz", - "integrity": "sha1-fyjS657nsVqX79ic5j3P2qPMur8=", - "dev": true - }, - "diffie-hellman": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.2.tgz", - "integrity": "sha1-tYNXOScM/ias9jIJn97SoH8gnl4=", - "dev": true, - "requires": { - "bn.js": "4.11.8", - "miller-rabin": "4.0.1", - "randombytes": "2.0.5" - } - }, - "dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", - "dev": true - }, - "dns-packet": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.2.2.tgz", - "integrity": "sha512-kN+DjfGF7dJGUL7nWRktL9Z18t1rWP3aQlyZdY8XlpvU3Nc6GeFTQApftcjtWKxAZfiggZSGrCEoszNgvnpwDg==", - "dev": true, - "requires": { - "ip": "1.1.5", - "safe-buffer": "5.1.1" - } - }, - "dns-txt": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", - "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", - "dev": true, - "requires": { - "buffer-indexof": "1.1.1" - } - }, - "doctrine": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", - "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", - "dev": true, - "requires": { - "esutils": "2.0.2", - "isarray": "1.0.0" - } - }, - "doiuse": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/doiuse/-/doiuse-2.6.0.tgz", - "integrity": "sha1-GJLRC2Gpo1at2/K2FJM+gfi7ODQ=", - "dev": true, - "requires": { - "browserslist": "1.7.7", - "caniuse-db": "1.0.30000745", - "css-rule-stream": "1.1.0", - "duplexer2": "0.0.2", - "jsonfilter": "1.1.2", - "ldjson-stream": "1.2.1", - "lodash": "4.17.4", - "multimatch": "2.1.0", - "postcss": "5.2.18", - "source-map": "0.4.4", - "through2": "0.6.5", - "yargs": "3.32.0" - }, - "dependencies": { - "browserslist": { - "version": "1.7.7", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", - "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", - "dev": true, - "requires": { - "caniuse-db": "1.0.30000745", - "electron-to-chromium": "1.3.24" - } - }, - "camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", - "dev": true - }, - "duplexer2": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", - "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", - "dev": true, - "requires": { - "readable-stream": "1.1.14" - } - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "0.0.1", - "string_decoder": "0.10.31" - } - }, - "source-map": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", - "dev": true, - "requires": { - "amdefine": "1.0.1" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - }, - "through2": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", - "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", - "dev": true, - "requires": { - "readable-stream": "1.0.34", - "xtend": "4.0.1" - }, - "dependencies": { - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "0.0.1", - "string_decoder": "0.10.31" - } - } - } - }, - "window-size": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz", - "integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY=", - "dev": true - }, - "yargs": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz", - "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=", - "dev": true, - "requires": { - "camelcase": "2.1.1", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "os-locale": "1.4.0", - "string-width": "1.0.2", - "window-size": "0.1.4", - "y18n": "3.2.1" - } - } - } - }, - "dom-converter": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.1.4.tgz", - "integrity": "sha1-pF71cnuJDJv/5tfIduexnLDhfzs=", - "dev": true, - "requires": { - "utila": "0.3.3" - }, - "dependencies": { - "utila": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.3.3.tgz", - "integrity": "sha1-1+jn1+MJEHCSsF+NloiCTWM6QiY=", - "dev": true - } - } - }, - "dom-helpers": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.2.1.tgz", - "integrity": "sha1-MgPgf+0he9H0JLAZc1WC/Deyglo=" - }, - "dom-serializer": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", - "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", - "dev": true, - "requires": { - "domelementtype": "1.1.3", - "entities": "1.1.1" - }, - "dependencies": { - "domelementtype": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", - "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=", - "dev": true - } - } - }, - "dom-walk": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz", - "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=", - "dev": true - }, - "domain-browser": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.1.7.tgz", - "integrity": "sha1-hnqksJP6oF8d4IwG9NeyH9+GmLw=", - "dev": true - }, - "domelementtype": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz", - "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=", - "dev": true - }, - "domhandler": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.1.tgz", - "integrity": "sha1-iS5HAAqZvlW783dP/qBWHYh5wlk=", - "dev": true, - "requires": { - "domelementtype": "1.3.0" - } - }, - "domutils": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", - "dev": true, - "requires": { - "dom-serializer": "0.1.0", - "domelementtype": "1.3.0" - } - }, - "download": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/download/-/download-4.4.3.tgz", - "integrity": "sha1-qlX9rTktldS2jowr4D4MKqIbqaw=", - "dev": true, - "requires": { - "caw": "1.2.0", - "concat-stream": "1.6.0", - "each-async": "1.1.1", - "filenamify": "1.2.1", - "got": "5.7.1", - "gulp-decompress": "1.2.0", - "gulp-rename": "1.2.2", - "is-url": "1.2.2", - "object-assign": "4.1.1", - "read-all-stream": "3.1.0", - "readable-stream": "2.3.3", - "stream-combiner2": "1.1.1", - "vinyl": "1.2.0", - "vinyl-fs": "2.4.4", - "ware": "1.3.0" - } - }, - "drbg.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/drbg.js/-/drbg.js-1.0.1.tgz", - "integrity": "sha1-Pja2xCs3BDgjzbwzLVjzHiRFSAs=", - "requires": { - "browserify-aes": "1.0.8", - "create-hash": "1.1.3", - "create-hmac": "1.1.6" - } - }, - "duplexer": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", - "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", - "dev": true - }, - "duplexer2": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", - "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", - "dev": true, - "requires": { - "readable-stream": "2.3.3" - } - }, - "duplexify": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.1.tgz", - "integrity": "sha512-j5goxHTwVED1Fpe5hh3q9R93Kip0Bg2KVAt4f8CEYM3UEwYcPSvWbXaUQOzdX/HtiNomipv+gU7ASQPDbV7pGQ==", - "dev": true, - "requires": { - "end-of-stream": "1.4.0", - "inherits": "2.0.3", - "readable-stream": "2.3.3", - "stream-shift": "1.0.0" - } - }, - "each-async": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/each-async/-/each-async-1.1.1.tgz", - "integrity": "sha1-3uUim98KtrogEqOV4bhpq/iBNHM=", - "dev": true, - "requires": { - "onetime": "1.1.0", - "set-immediate-shim": "1.0.1" - } - }, - "ecc-jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", - "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", - "dev": true, - "optional": true, - "requires": { - "jsbn": "0.1.1" - } - }, - "editions": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/editions/-/editions-1.3.3.tgz", - "integrity": "sha1-CQcQG92iD6w8vjNMJ8vQaI3Jmls=" - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", - "dev": true - }, - "ejs": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-1.0.0.tgz", - "integrity": "sha1-ycYKSKRu5FL7MqccMXuV5aofyz0=", - "dev": true - }, - "ejs-loader": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/ejs-loader/-/ejs-loader-0.3.0.tgz", - "integrity": "sha1-aHNv3CMaSQ7fkZpkRq2dkFWlh74=", - "dev": true, - "requires": { - "loader-utils": "0.2.16", - "lodash": "3.10.1" - }, - "dependencies": { - "lodash": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", - "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", - "dev": true - } - } - }, - "ejsify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ejsify/-/ejsify-1.0.0.tgz", - "integrity": "sha1-NxlPWoXBKuQ4QpOVeZ7Ee0O8RT8=", - "dev": true, - "requires": { - "ejs": "1.0.0", - "through": "2.3.8" - } - }, - "electron": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/electron/-/electron-1.7.5.tgz", - "integrity": "sha1-BloxAr+LhxAt9QxQmF/v5sVpBFs=", - "dev": true, - "requires": { - "@types/node": "7.0.43", - "electron-download": "3.3.0", - "extract-zip": "1.6.5" - } - }, - "electron-download": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/electron-download/-/electron-download-3.3.0.tgz", - "integrity": "sha1-LP1U1pZsAZxNSa1l++Zcyc3vaMg=", - "dev": true, - "requires": { - "debug": "2.6.9", - "fs-extra": "0.30.0", - "home-path": "1.0.5", - "minimist": "1.2.0", - "nugget": "2.0.1", - "path-exists": "2.1.0", - "rc": "1.2.1", - "semver": "5.4.1", - "sumchecker": "1.3.1" - }, - "dependencies": { - "fs-extra": { - "version": "0.30.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz", - "integrity": "sha1-8jP/zAjU2n1DLapEl3aYnbHfk/A=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "jsonfile": "2.4.0", - "klaw": "1.3.1", - "path-is-absolute": "1.0.1", - "rimraf": "2.6.2" - } - }, - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - } - } - }, - "electron-to-chromium": { - "version": "1.3.24", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.24.tgz", - "integrity": "sha1-m3uIuwXOufoBahd4M8wt3jiPIbY=", - "dev": true - }, - "element-resize-detector": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/element-resize-detector/-/element-resize-detector-1.1.12.tgz", - "integrity": "sha1-iz/W7t2hf5wAs2Cg6i35knroC6I=", - "requires": { - "batch-processor": "1.0.0" - } - }, - "elliptic": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz", - "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=", - "requires": { - "bn.js": "4.11.8", - "brorand": "1.1.0", - "hash.js": "1.1.3", - "hmac-drbg": "1.0.1", - "inherits": "2.0.3", - "minimalistic-assert": "1.0.0", - "minimalistic-crypto-utils": "1.0.1" - } - }, - "emojis-list": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=" - }, - "empty-module": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/empty-module/-/empty-module-0.0.2.tgz", - "integrity": "sha1-E7TdjUr+3dNeUMGNzXiMUQh/FUU=", - "dev": true - }, - "encodeurl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz", - "integrity": "sha1-eePVhlU0aQn+bw9Fpd5oEDspTSA=", - "dev": true - }, - "encoding": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", - "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", - "requires": { - "iconv-lite": "0.4.19" - } - }, - "end-of-stream": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.0.tgz", - "integrity": "sha1-epDYM+/abPpurA9JSduw+tOmMgY=", - "requires": { - "once": "1.4.0" - } - }, - "enhanced-resolve": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz", - "integrity": "sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "memory-fs": "0.4.1", - "object-assign": "4.1.1", - "tapable": "0.2.8" - } - }, - "entities": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", - "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=" - }, - "enzyme": { - "version": "2.9.1", - "resolved": "https://registry.npmjs.org/enzyme/-/enzyme-2.9.1.tgz", - "integrity": "sha1-B9XOaRJBJA+4F78sSxjW5TAkDfY=", - "dev": true, - "requires": { - "cheerio": "0.22.0", - "function.prototype.name": "1.0.3", - "is-subset": "0.1.1", - "lodash": "4.17.4", - "object-is": "1.0.1", - "object.assign": "4.0.4", - "object.entries": "1.0.4", - "object.values": "1.0.4", - "prop-types": "15.5.10", - "uuid": "3.1.0" - }, - "dependencies": { - "uuid": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", - "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==", - "dev": true - } - } - }, - "errno": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz", - "integrity": "sha1-uJbiOp5ei6M4cfyZar02NfyaHH0=", - "dev": true, - "requires": { - "prr": "0.0.0" - } - }, - "error-ex": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", - "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", - "requires": { - "is-arrayish": "0.2.1" - } - }, - "error-stack-parser": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-1.3.6.tgz", - "integrity": "sha1-4Oc7k+QXE40c18C3RrGkoUhUwpI=", - "dev": true, - "requires": { - "stackframe": "0.3.1" - } - }, - "es-abstract": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.9.0.tgz", - "integrity": "sha512-kk3IJoKo7A3pWJc0OV8yZ/VEX2oSUytfekrJiqoxBlKJMFAJVJVpGdHClCCTdv+Fn2zHfpDHHIelMFhZVfef3Q==", - "dev": true, - "requires": { - "es-to-primitive": "1.1.1", - "function-bind": "1.1.1", - "has": "1.0.1", - "is-callable": "1.1.3", - "is-regex": "1.0.4" - } - }, - "es-to-primitive": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.1.1.tgz", - "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", - "dev": true, - "requires": { - "is-callable": "1.1.3", - "is-date-object": "1.0.1", - "is-symbol": "1.0.1" - } - }, - "es5-ext": { - "version": "0.10.30", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.30.tgz", - "integrity": "sha1-cUGhaDZpfbq/qq7uQUlc4p9SyTk=", - "dev": true, - "requires": { - "es6-iterator": "2.0.1", - "es6-symbol": "3.1.1" - } - }, - "es6-error": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.0.2.tgz", - "integrity": "sha1-7sXHJurO9Rt/a3PCDbbhsTsGnJg=" - }, - "es6-iterator": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.1.tgz", - "integrity": "sha1-jjGcnwRTv1ddN0lAplWSDlnKVRI=", - "dev": true, - "requires": { - "d": "1.0.0", - "es5-ext": "0.10.30", - "es6-symbol": "3.1.1" - } - }, - "es6-map": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", - "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", - "dev": true, - "requires": { - "d": "1.0.0", - "es5-ext": "0.10.30", - "es6-iterator": "2.0.1", - "es6-set": "0.1.5", - "es6-symbol": "3.1.1", - "event-emitter": "0.3.5" - } - }, - "es6-promise": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.1.1.tgz", - "integrity": "sha512-OaU1hHjgJf+b0NzsxCg7NdIYERD6Hy/PEmFLTjw+b65scuisG3Kt4QoTvJ66BBkPZ581gr0kpoVzKnxniM8nng==" - }, - "es6-set": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", - "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", - "dev": true, - "requires": { - "d": "1.0.0", - "es5-ext": "0.10.30", - "es6-iterator": "2.0.1", - "es6-symbol": "3.1.1", - "event-emitter": "0.3.5" - } - }, - "es6-symbol": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", - "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", - "dev": true, - "requires": { - "d": "1.0.0", - "es5-ext": "0.10.30" - } - }, - "es6-templates": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/es6-templates/-/es6-templates-0.2.3.tgz", - "integrity": "sha1-XLmsn7He1usSOTQrgdeSu7QHjuQ=", - "dev": true, - "requires": { - "recast": "0.11.23", - "through": "2.3.8" - } - }, - "es6-weak-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", - "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", - "dev": true, - "requires": { - "d": "1.0.0", - "es5-ext": "0.10.30", - "es6-iterator": "2.0.1", - "es6-symbol": "3.1.1" - } - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - }, - "escodegen": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.9.0.tgz", - "integrity": "sha512-v0MYvNQ32bzwoG2OSFzWAkuahDQHK92JBN0pTAALJ4RIxEZe766QJPDR8Hqy7XNUy5K3fnVL76OqYAdc4TZEIw==", - "dev": true, - "requires": { - "esprima": "3.1.3", - "estraverse": "4.2.0", - "esutils": "2.0.2", - "optionator": "0.8.2", - "source-map": "0.5.7" - }, - "dependencies": { - "esprima": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", - "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", - "dev": true - } - } - }, - "escope": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", - "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", - "dev": true, - "requires": { - "es6-map": "0.1.5", - "es6-weak-map": "2.0.2", - "esrecurse": "4.2.0", - "estraverse": "4.2.0" - } - }, - "eslint": { - "version": "3.16.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-3.16.1.tgz", - "integrity": "sha1-m8MfxzQWks93LoBgdQj2fXEcVgk=", - "dev": true, - "requires": { - "babel-code-frame": "6.26.0", - "chalk": "1.1.3", - "concat-stream": "1.6.0", - "debug": "2.6.9", - "doctrine": "1.5.0", - "escope": "3.6.0", - "espree": "3.5.1", - "estraverse": "4.2.0", - "esutils": "2.0.2", - "file-entry-cache": "2.0.0", - "glob": "7.1.2", - "globals": "9.18.0", - "ignore": "3.3.5", - "imurmurhash": "0.1.4", - "inquirer": "0.12.0", - "is-my-json-valid": "2.16.1", - "is-resolvable": "1.0.0", - "js-yaml": "3.6.1", - "json-stable-stringify": "1.0.1", - "levn": "0.3.0", - "lodash": "4.17.4", - "mkdirp": "0.5.1", - "natural-compare": "1.4.0", - "optionator": "0.8.2", - "path-is-inside": "1.0.2", - "pluralize": "1.2.1", - "progress": "1.1.8", - "require-uncached": "1.0.3", - "shelljs": "0.7.8", - "strip-bom": "3.0.0", - "strip-json-comments": "2.0.1", - "table": "3.8.3", - "text-table": "0.2.0", - "user-home": "2.0.0" - }, - "dependencies": { - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - }, - "user-home": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz", - "integrity": "sha1-nHC/2Babwdy/SGBODwS4tJzenp8=", - "dev": true, - "requires": { - "os-homedir": "1.0.2" - } - } - } - }, - "eslint-config-semistandard": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-semistandard/-/eslint-config-semistandard-7.0.0.tgz", - "integrity": "sha1-+ANJP1alFy9/WcNa5kg2C0Hy/3E=", - "dev": true - }, - "eslint-config-standard": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-6.2.1.tgz", - "integrity": "sha1-06aKr8cZFjnn7kQec0hzkCY1QpI=", - "dev": true - }, - "eslint-config-standard-jsx": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-config-standard-jsx/-/eslint-config-standard-jsx-3.3.0.tgz", - "integrity": "sha1-yrCAGhWjYL9j+suXqyL73YjYpeA=", - "dev": true - }, - "eslint-config-standard-react": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/eslint-config-standard-react/-/eslint-config-standard-react-4.2.0.tgz", - "integrity": "sha1-0V/SXoN+IK/w2zL2T7VdEYgOuNA=", - "dev": true, - "requires": { - "eslint-config-standard-jsx": "3.3.0" - } - }, - "eslint-plugin-promise": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-3.4.2.tgz", - "integrity": "sha1-G+J5Pq/i0YtbEjuBNsJp+AT+cSI=", - "dev": true - }, - "eslint-plugin-react": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-6.10.0.tgz", - "integrity": "sha1-nEi0jRAVVLU1VBPnxkI4q95u8e8=", - "dev": true, - "requires": { - "array.prototype.find": "2.0.4", - "doctrine": "1.5.0", - "has": "1.0.1", - "jsx-ast-utils": "1.4.1", - "object.assign": "4.0.4" - } - }, - "eslint-plugin-standard": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-2.0.1.tgz", - "integrity": "sha1-NYlpn/nJF/LCX3apFmh/ZBw2n/M=", - "dev": true - }, - "espree": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.1.tgz", - "integrity": "sha1-DJiLirRttTEAoZVK5LqZXd0n2H4=", - "dev": true, - "requires": { - "acorn": "5.1.2", - "acorn-jsx": "3.0.1" - } - }, - "esprima": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", - "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", - "dev": true - }, - "esrecurse": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.0.tgz", - "integrity": "sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=", - "dev": true, - "requires": { - "estraverse": "4.2.0", - "object-assign": "4.1.1" - } - }, - "estraverse": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", - "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", - "dev": true - }, - "esutils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=" - }, - "etag": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.7.0.tgz", - "integrity": "sha1-A9MLX2fdbmMtKUXTDWZScxo01dg=", - "dev": true - }, - "ethereum-common": { - "version": "0.0.18", - "resolved": "https://registry.npmjs.org/ethereum-common/-/ethereum-common-0.0.18.tgz", - "integrity": "sha1-L9w1dvIykDNYl26znaeDIT/5Uj8=" - }, - "ethereumjs-tx": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/ethereumjs-tx/-/ethereumjs-tx-1.3.3.tgz", - "integrity": "sha1-7OBR0+/b53GtKlGNYWMsoqt17Ls=", - "requires": { - "ethereum-common": "0.0.18", - "ethereumjs-util": "5.1.2" - } - }, - "ethereumjs-util": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.1.2.tgz", - "integrity": "sha1-JboCFcu0wvCxCKb5avKi5i5Fkh8=", - "requires": { - "babel-preset-es2015": "6.24.1", - "babelify": "7.3.0", - "bn.js": "4.11.8", - "create-hash": "1.1.3", - "ethjs-util": "0.1.4", - "keccak": "1.3.0", - "rlp": "2.0.0", - "secp256k1": "3.2.5" - } - }, - "ethjs-util": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.4.tgz", - "integrity": "sha1-HItoeSV0RO9NPz+7rC3tEs2ZfZM=", - "requires": { - "is-hex-prefixed": "1.0.0", - "strip-hex-prefix": "1.0.0" - } - }, - "event-emitter": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", - "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", - "dev": true, - "requires": { - "d": "1.0.0", - "es5-ext": "0.10.30" - } - }, - "eventemitter3": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-2.0.3.tgz", - "integrity": "sha1-teEHm1n7XhuidxwKmTvgYKWMmbo=" - }, - "events": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", - "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=", - "dev": true - }, - "eventsource": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-0.1.6.tgz", - "integrity": "sha1-Cs7ehJ7X3RzMMsgRuxG5RNTykjI=", - "dev": true, - "requires": { - "original": "1.0.0" - } - }, - "evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", - "requires": { - "md5.js": "1.3.4", - "safe-buffer": "5.1.1" - } - }, - "exec-buffer": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/exec-buffer/-/exec-buffer-3.2.0.tgz", - "integrity": "sha512-wsiD+2Tp6BWHoVv3B+5Dcx6E7u5zky+hUwOHjuH2hKSLR3dvRmX8fk8UD8uqQixHs4Wk6eDmiegVrMPjKj7wpA==", - "dev": true, - "requires": { - "execa": "0.7.0", - "p-finally": "1.0.0", - "pify": "3.0.0", - "rimraf": "2.6.2", - "tempfile": "2.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - } - } - }, - "exec-series": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/exec-series/-/exec-series-1.0.3.tgz", - "integrity": "sha1-bSV6m+rEgqhyx3g7yGFYOfx3FDo=", - "dev": true, - "requires": { - "async-each-series": "1.1.0", - "object-assign": "4.1.1" - } - }, - "execa": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", - "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", - "dev": true, - "requires": { - "cross-spawn": "5.1.0", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" - } - }, - "execall": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execall/-/execall-1.0.0.tgz", - "integrity": "sha1-c9CQTjlbPKsGWLCNCewlMH8pu3M=", - "dev": true, - "requires": { - "clone-regexp": "1.0.0" - } - }, - "executable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/executable/-/executable-1.1.0.tgz", - "integrity": "sha1-h3mA6REvM5EGbaNyZd562ENKtNk=", - "dev": true, - "requires": { - "meow": "3.7.0" - } - }, - "exit-hook": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz", - "integrity": "sha1-8FyiM7SMBdVP/wd2XfhQfpXAL/g=", - "dev": true - }, - "expand-brackets": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", - "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", - "dev": true, - "requires": { - "is-posix-bracket": "0.1.1" - } - }, - "expand-range": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", - "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", - "dev": true, - "requires": { - "fill-range": "2.2.3" - } - }, - "expand-template": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-1.1.0.tgz", - "integrity": "sha512-kkjwkMqj0h4w/sb32ERCDxCQkREMCAgS39DscDnSwDsbxnwwM1BTZySdC3Bn1lhY7vL08n9GoO/fVTynjDgRyQ==" - }, - "express": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.14.1.tgz", - "integrity": "sha1-ZGwjf3ZvFIwhIK/wc4F7nk1+DTM=", - "dev": true, - "requires": { - "accepts": "1.3.4", - "array-flatten": "1.1.1", - "content-disposition": "0.5.2", - "content-type": "1.0.4", - "cookie": "0.3.1", - "cookie-signature": "1.0.6", - "debug": "2.2.0", - "depd": "1.1.1", - "encodeurl": "1.0.1", - "escape-html": "1.0.3", - "etag": "1.7.0", - "finalhandler": "0.5.1", - "fresh": "0.3.0", - "merge-descriptors": "1.0.1", - "methods": "1.1.2", - "on-finished": "2.3.0", - "parseurl": "1.3.2", - "path-to-regexp": "0.1.7", - "proxy-addr": "1.1.5", - "qs": "6.2.0", - "range-parser": "1.2.0", - "send": "0.14.2", - "serve-static": "1.11.2", - "type-is": "1.6.15", - "utils-merge": "1.0.0", - "vary": "1.1.2" - }, - "dependencies": { - "debug": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", - "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", - "dev": true, - "requires": { - "ms": "0.7.1" - } - }, - "ms": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", - "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", - "dev": true - }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", - "dev": true - }, - "qs": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.2.0.tgz", - "integrity": "sha1-O3hIwDwt7OaalSKw+ujEEm10Xzs=", - "dev": true - } - } - }, - "extend": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/extend/-/extend-1.2.1.tgz", - "integrity": "sha1-oPX9bPyDpf5J72mNYOyKYk3UV2w=" - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "0.1.1" - } - }, - "extglob": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", - "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", - "dev": true, - "requires": { - "is-extglob": "1.0.0" - } - }, - "extract-loader": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/extract-loader/-/extract-loader-0.1.0.tgz", - "integrity": "sha1-ocFGkVJBzEhtUpImPHVV1aoZdm4=", - "dev": true, - "requires": { - "loader-utils": "0.2.16" - } - }, - "extract-text-webpack-plugin": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/extract-text-webpack-plugin/-/extract-text-webpack-plugin-3.0.0.tgz", - "integrity": "sha1-kMqnkHvESfM1AF46x1MrQbAN5hI=", - "dev": true, - "requires": { - "async": "2.5.0", - "loader-utils": "1.1.0", - "schema-utils": "0.3.0", - "webpack-sources": "1.0.1" - }, - "dependencies": { - "async": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/async/-/async-2.5.0.tgz", - "integrity": "sha512-e+lJAJeNWuPCNyxZKOBdaJGyLGHugXVQtrAwtuAe2vhxTYxFTKE73p8JuTmdH0qdQZtDvI4dhJwjZc5zsfIsYw==", - "dev": true, - "requires": { - "lodash": "4.17.4" - } - }, - "loader-utils": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", - "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", - "dev": true, - "requires": { - "big.js": "3.2.0", - "emojis-list": "2.1.0", - "json5": "0.5.1" - } - } - } - }, - "extract-zip": { - "version": "1.6.5", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.5.tgz", - "integrity": "sha1-maBnNbbqIOqbcF13ms/8yHz/BEA=", - "dev": true, - "requires": { - "concat-stream": "1.6.0", - "debug": "2.2.0", - "mkdirp": "0.5.0", - "yauzl": "2.4.1" - }, - "dependencies": { - "debug": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", - "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", - "dev": true, - "requires": { - "ms": "0.7.1" - } - }, - "mkdirp": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz", - "integrity": "sha1-HXMHam35hs2TROFecfzAWkyavxI=", - "dev": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", - "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", - "dev": true - } - } - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true - }, - "fancy-log": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.0.tgz", - "integrity": "sha1-Rb4X0Cu5kX1gzP/UmVyZnmyMmUg=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "time-stamp": "1.1.0" - } - }, - "fast-deep-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz", - "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=" - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true - }, - "fastparse": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.1.tgz", - "integrity": "sha1-0eJkOzipTXWDtHkGDmxK/8lAcfg=", - "dev": true - }, - "faye-websocket": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", - "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", - "dev": true, - "requires": { - "websocket-driver": "0.7.0" - } - }, - "fbjs": { - "version": "0.8.16", - "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.16.tgz", - "integrity": "sha1-XmdDL1UNxBtXK/VYR7ispk5TN9s=", - "requires": { - "core-js": "1.2.7", - "isomorphic-fetch": "2.2.1", - "loose-envify": "1.3.1", - "object-assign": "4.1.1", - "promise": "7.3.1", - "setimmediate": "1.0.5", - "ua-parser-js": "0.7.14" - }, - "dependencies": { - "core-js": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", - "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=" - } - } - }, - "fd-slicer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", - "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", - "dev": true, - "requires": { - "pend": "1.2.0" - } - }, - "figures": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", - "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", - "dev": true, - "requires": { - "escape-string-regexp": "1.0.5", - "object-assign": "4.1.1" - } - }, - "file-entry-cache": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", - "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", - "dev": true, - "requires": { - "flat-cache": "1.3.0", - "object-assign": "4.1.1" - } - }, - "file-loader": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-0.10.0.tgz", - "integrity": "sha1-u+bbdHSsksf1T9wZfPVH6YtrjhI=", - "dev": true, - "requires": { - "loader-utils": "0.2.16" - } - }, - "file-saver": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-1.3.3.tgz", - "integrity": "sha1-zdTETTqiZOrC9o7BZbx5HDSvEjI=" - }, - "file-type": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-4.4.0.tgz", - "integrity": "sha1-G2AOX8ofvcboDApwxxyNul95BsU=", - "dev": true - }, - "filename-regex": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", - "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", - "dev": true - }, - "filename-reserved-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-1.0.0.tgz", - "integrity": "sha1-5hz4BfDeHJhFZ9A4bcXfUO5a9+Q=", - "dev": true - }, - "filenamify": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-1.2.1.tgz", - "integrity": "sha1-qfL/0RxQO+0wABUCknI3jx8TZaU=", - "dev": true, - "requires": { - "filename-reserved-regex": "1.0.0", - "strip-outer": "1.0.0", - "trim-repeated": "1.0.0" - } - }, - "fileset": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz", - "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=", - "dev": true, - "requires": { - "glob": "7.1.2", - "minimatch": "3.0.4" - } - }, - "filesize": { - "version": "3.5.10", - "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.5.10.tgz", - "integrity": "sha1-/I+iPdtO+eXgq24eZPZ5okpWdh8=", - "dev": true - }, - "fill-range": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", - "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", - "dev": true, - "requires": { - "is-number": "2.1.0", - "isobject": "2.1.0", - "randomatic": "1.1.7", - "repeat-element": "1.1.2", - "repeat-string": "1.6.1" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "finalhandler": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-0.5.1.tgz", - "integrity": "sha1-LEANjUUwk1vCMlScX6OF7Afeb80=", - "dev": true, - "requires": { - "debug": "2.2.0", - "escape-html": "1.0.3", - "on-finished": "2.3.0", - "statuses": "1.3.1", - "unpipe": "1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", - "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", - "dev": true, - "requires": { - "ms": "0.7.1" - } - }, - "ms": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", - "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", - "dev": true - } - } - }, - "find-cache-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", - "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", - "dev": true, - "requires": { - "commondir": "1.0.1", - "make-dir": "1.0.0", - "pkg-dir": "2.0.0" - } - }, - "find-parent-dir": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/find-parent-dir/-/find-parent-dir-0.3.0.tgz", - "integrity": "sha1-M8RLQpqysvBkYpnF+fcY83b/jVQ=", - "dev": true - }, - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "requires": { - "path-exists": "2.1.0", - "pinkie-promise": "2.0.1" - } - }, - "find-versions": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-1.2.1.tgz", - "integrity": "sha1-y96fEuOFdaCvG+G5osXV/Y8Ya2I=", - "dev": true, - "requires": { - "array-uniq": "1.0.3", - "get-stdin": "4.0.1", - "meow": "3.7.0", - "semver-regex": "1.0.0" - }, - "dependencies": { - "get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", - "dev": true - } - } - }, - "first-chunk-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz", - "integrity": "sha1-Wb+1DNkF9g18OUzT2ayqtOatk04=", - "dev": true - }, - "flat-cache": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.0.tgz", - "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=", - "dev": true, - "requires": { - "circular-json": "0.3.3", - "del": "2.2.2", - "graceful-fs": "4.1.11", - "write": "0.2.1" - } - }, - "flatten": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz", - "integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=", - "dev": true - }, - "flow-bin": { - "version": "0.46.0", - "resolved": "https://registry.npmjs.org/flow-bin/-/flow-bin-0.46.0.tgz", - "integrity": "sha1-Bq1/4Z3dsQQiZEOAZKKjL+4SuHI=", - "dev": true - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true - }, - "for-own": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", - "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", - "dev": true, - "requires": { - "for-in": "1.0.2" - } - }, - "foreach": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", - "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", - "dev": true - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true - }, - "form-data": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", - "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", - "dev": true, - "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.5", - "mime-types": "2.1.17" - } - }, - "format-number": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/format-number/-/format-number-2.0.1.tgz", - "integrity": "sha1-6SMah0PKZLR9CVVdzkApY0O+Zus=" - }, - "formatio": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/formatio/-/formatio-1.1.1.tgz", - "integrity": "sha1-XtPM1jZVEJc4NGXZlhmRAOhhYek=", - "dev": true, - "requires": { - "samsam": "1.1.2" - } - }, - "forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", - "dev": true - }, - "fresh": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.3.0.tgz", - "integrity": "sha1-ZR+DjiJCTnVm3hYdg1jKoZn4PU8=", - "dev": true - }, - "fs-extra": { - "version": "0.26.7", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.26.7.tgz", - "integrity": "sha1-muH92UiXeY7at20JGM9C0MMYT6k=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "jsonfile": "2.4.0", - "klaw": "1.3.1", - "path-is-absolute": "1.0.1", - "rimraf": "2.6.2" - } - }, - "fs-readdir-recursive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.0.0.tgz", - "integrity": "sha1-jNF0XItPiinIyuw5JHaSG6GV9WA=", - "dev": true - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "fsevents": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.1.2.tgz", - "integrity": "sha512-Sn44E5wQW4bTHXvQmvSHwqbuiXtduD6Rrjm2ZtUEGbyrig+nUH3t/QD4M4/ZXViY556TBpRgZkHLDx3JxPwxiw==", - "dev": true, - "optional": true, - "requires": { - "nan": "2.7.0", - "node-pre-gyp": "0.6.36" - }, - "dependencies": { - "abbrev": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "optional": true - }, - "ajv": { - "version": "4.11.8", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "co": "4.6.0", - "json-stable-stringify": "1.0.1" - } - }, - "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "dev": true - }, - "aproba": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "delegates": "1.0.0", - "readable-stream": "2.2.9" - } - }, - "asn1": { - "version": "0.2.3", - "bundled": true, - "dev": true, - "optional": true - }, - "assert-plus": { - "version": "0.2.0", - "bundled": true, - "dev": true, - "optional": true - }, - "asynckit": { - "version": "0.4.0", - "bundled": true, - "dev": true, - "optional": true - }, - "aws-sign2": { - "version": "0.6.0", - "bundled": true, - "dev": true, - "optional": true - }, - "aws4": { - "version": "1.6.0", - "bundled": true, - "dev": true, - "optional": true - }, - "balanced-match": { - "version": "0.4.2", - "bundled": true, - "dev": true - }, - "bcrypt-pbkdf": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "tweetnacl": "0.14.5" - } - }, - "block-stream": { - "version": "0.0.9", - "bundled": true, - "dev": true, - "requires": { - "inherits": "2.0.3" - } - }, - "boom": { - "version": "2.10.1", - "bundled": true, - "dev": true, - "requires": { - "hoek": "2.16.3" - } - }, - "brace-expansion": { - "version": "1.1.7", - "bundled": true, - "dev": true, - "requires": { - "balanced-match": "0.4.2", - "concat-map": "0.0.1" - } - }, - "buffer-shims": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "caseless": { - "version": "0.12.0", - "bundled": true, - "dev": true, - "optional": true - }, - "co": { - "version": "4.6.0", - "bundled": true, - "dev": true, - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "combined-stream": { - "version": "1.0.5", - "bundled": true, - "dev": true, - "requires": { - "delayed-stream": "1.0.0" - } - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true - }, - "console-control-strings": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "cryptiles": { - "version": "2.0.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "boom": "2.10.1" - } - }, - "dashdash": { - "version": "1.14.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "assert-plus": "1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "debug": { - "version": "2.6.8", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ms": "2.0.0" - } - }, - "deep-extend": { - "version": "0.4.2", - "bundled": true, - "dev": true, - "optional": true - }, - "delayed-stream": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "delegates": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "ecc-jsbn": { - "version": "0.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "jsbn": "0.1.1" - } - }, - "extend": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "extsprintf": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "forever-agent": { - "version": "0.6.1", - "bundled": true, - "dev": true, - "optional": true - }, - "form-data": { - "version": "2.1.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.5", - "mime-types": "2.1.15" - } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "fstream": { - "version": "1.0.11", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "inherits": "2.0.3", - "mkdirp": "0.5.1", - "rimraf": "2.6.1" - } - }, - "fstream-ignore": { - "version": "1.0.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "fstream": "1.0.11", - "inherits": "2.0.3", - "minimatch": "3.0.4" - } - }, - "gauge": { - "version": "2.7.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "aproba": "1.1.1", - "console-control-strings": "1.1.0", - "has-unicode": "2.0.1", - "object-assign": "4.1.1", - "signal-exit": "3.0.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wide-align": "1.1.2" - } - }, - "getpass": { - "version": "0.1.7", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "assert-plus": "1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "glob": { - "version": "7.1.2", - "bundled": true, - "dev": true, - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "graceful-fs": { - "version": "4.1.11", - "bundled": true, - "dev": true - }, - "har-schema": { - "version": "1.0.5", - "bundled": true, - "dev": true, - "optional": true - }, - "har-validator": { - "version": "4.2.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ajv": "4.11.8", - "har-schema": "1.0.5" - } - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "hawk": { - "version": "3.1.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "boom": "2.10.1", - "cryptiles": "2.0.5", - "hoek": "2.16.3", - "sntp": "1.0.9" - } - }, - "hoek": { - "version": "2.16.3", - "bundled": true, - "dev": true - }, - "http-signature": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "assert-plus": "0.2.0", - "jsprim": "1.4.0", - "sshpk": "1.13.0" - } - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "dev": true, - "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" - } - }, - "inherits": { - "version": "2.0.3", - "bundled": true, - "dev": true - }, - "ini": { - "version": "1.3.4", - "bundled": true, - "dev": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "number-is-nan": "1.0.1" - } - }, - "is-typedarray": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "isstream": { - "version": "0.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "jodid25519": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "jsbn": "0.1.1" - } - }, - "jsbn": { - "version": "0.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "json-schema": { - "version": "0.2.3", - "bundled": true, - "dev": true, - "optional": true - }, - "json-stable-stringify": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "jsonify": "0.0.0" - } - }, - "json-stringify-safe": { - "version": "5.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "jsonify": { - "version": "0.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "jsprim": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.0.2", - "json-schema": "0.2.3", - "verror": "1.3.6" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "mime-db": { - "version": "1.27.0", - "bundled": true, - "dev": true - }, - "mime-types": { - "version": "2.1.15", - "bundled": true, - "dev": true, - "requires": { - "mime-db": "1.27.0" - } - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "dev": true, - "requires": { - "brace-expansion": "1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "bundled": true, - "dev": true - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "dev": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "node-pre-gyp": { - "version": "0.6.36", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "mkdirp": "0.5.1", - "nopt": "4.0.1", - "npmlog": "4.1.0", - "rc": "1.2.1", - "request": "2.81.0", - "rimraf": "2.6.1", - "semver": "5.3.0", - "tar": "2.2.1", - "tar-pack": "3.4.0" - } - }, - "nopt": { - "version": "4.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "abbrev": "1.1.0", - "osenv": "0.1.4" - } - }, - "npmlog": { - "version": "4.1.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "are-we-there-yet": "1.1.4", - "console-control-strings": "1.1.0", - "gauge": "2.7.4", - "set-blocking": "2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "oauth-sign": { - "version": "0.8.2", - "bundled": true, - "dev": true, - "optional": true - }, - "object-assign": { - "version": "4.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "once": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "requires": { - "wrappy": "1.0.2" - } - }, - "os-homedir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "osenv": { - "version": "0.1.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "performance-now": { - "version": "0.2.0", - "bundled": true, - "dev": true, - "optional": true - }, - "process-nextick-args": { - "version": "1.0.7", - "bundled": true, - "dev": true - }, - "punycode": { - "version": "1.4.1", - "bundled": true, - "dev": true, - "optional": true - }, - "qs": { - "version": "6.4.0", - "bundled": true, - "dev": true, - "optional": true - }, - "rc": { - "version": "1.2.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "deep-extend": "0.4.2", - "ini": "1.3.4", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "readable-stream": { - "version": "2.2.9", - "bundled": true, - "dev": true, - "requires": { - "buffer-shims": "1.0.0", - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "string_decoder": "1.0.1", - "util-deprecate": "1.0.2" - } - }, - "request": { - "version": "2.81.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "aws-sign2": "0.6.0", - "aws4": "1.6.0", - "caseless": "0.12.0", - "combined-stream": "1.0.5", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.1.4", - "har-validator": "4.2.1", - "hawk": "3.1.3", - "http-signature": "1.1.1", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.15", - "oauth-sign": "0.8.2", - "performance-now": "0.2.0", - "qs": "6.4.0", - "safe-buffer": "5.0.1", - "stringstream": "0.0.5", - "tough-cookie": "2.3.2", - "tunnel-agent": "0.6.0", - "uuid": "3.0.1" - } - }, - "rimraf": { - "version": "2.6.1", - "bundled": true, - "dev": true, - "requires": { - "glob": "7.1.2" - } - }, - "safe-buffer": { - "version": "5.0.1", - "bundled": true, - "dev": true - }, - "semver": { - "version": "5.3.0", - "bundled": true, - "dev": true, - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "sntp": { - "version": "1.0.9", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "hoek": "2.16.3" - } - }, - "sshpk": { - "version": "1.13.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "asn1": "0.2.3", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.1", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.1", - "getpass": "0.1.7", - "jodid25519": "1.0.2", - "jsbn": "0.1.1", - "tweetnacl": "0.14.5" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "string_decoder": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "requires": { - "safe-buffer": "5.0.1" - } - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - } - }, - "stringstream": { - "version": "0.0.5", - "bundled": true, - "dev": true, - "optional": true - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "2.1.1" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "tar": { - "version": "2.2.1", - "bundled": true, - "dev": true, - "requires": { - "block-stream": "0.0.9", - "fstream": "1.0.11", - "inherits": "2.0.3" - } - }, - "tar-pack": { - "version": "3.4.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "debug": "2.6.8", - "fstream": "1.0.11", - "fstream-ignore": "1.0.5", - "once": "1.4.0", - "readable-stream": "2.2.9", - "rimraf": "2.6.1", - "tar": "2.2.1", - "uid-number": "0.0.6" - } - }, - "tough-cookie": { - "version": "2.3.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "punycode": "1.4.1" - } - }, - "tunnel-agent": { - "version": "0.6.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "bundled": true, - "dev": true, - "optional": true - }, - "uid-number": { - "version": "0.0.6", - "bundled": true, - "dev": true, - "optional": true - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "uuid": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "verror": { - "version": "1.3.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "extsprintf": "1.0.2" - } - }, - "wide-align": { - "version": "1.1.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "string-width": "1.0.2" - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true, - "dev": true - } - } - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "function.prototype.name": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.0.3.tgz", - "integrity": "sha512-5EblxZUdioXi2JiMZ9FUbwYj40eQ9MFHyzFLBSPdlRl3SO8l7SLWuAnQ/at/1Wi4hjJwME/C5WpF2ZfAc8nGNw==", - "dev": true, - "requires": { - "define-properties": "1.1.2", - "function-bind": "1.1.1", - "is-callable": "1.1.3" - } - }, - "gather-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/gather-stream/-/gather-stream-1.0.0.tgz", - "integrity": "sha1-szmUr0V6gRVwDUEPMXczy+egkEs=", - "dev": true - }, - "gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "requires": { - "aproba": "1.2.0", - "console-control-strings": "1.1.0", - "has-unicode": "2.0.1", - "object-assign": "4.1.1", - "signal-exit": "3.0.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wide-align": "1.1.2" - } - }, - "generate-function": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", - "integrity": "sha1-aFj+fAlpt9TpCTM3ZHrHn2DfvnQ=", - "dev": true - }, - "generate-object-property": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", - "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", - "dev": true, - "requires": { - "is-property": "1.0.2" - } - }, - "geopattern": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/geopattern/-/geopattern-1.2.3.tgz", - "integrity": "sha1-3pZgLkbbqQlcpXdL+zs2MI9+Y/4=", - "requires": { - "extend": "1.2.1" - } - }, - "get-caller-file": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", - "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=" - }, - "get-own-enumerable-property-symbols": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-2.0.1.tgz", - "integrity": "sha512-TtY/sbOemiMKPRUDDanGCSgBYe7Mf0vbRsWnBZ+9yghpZ1MvcpSpuZFjHdEeY/LZjZy0vdLjS77L6HosisFiug==" - }, - "get-proxy": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/get-proxy/-/get-proxy-1.1.0.tgz", - "integrity": "sha1-iUhUSRvFkbDxR9euVw9cZ4tyVus=", - "dev": true, - "requires": { - "rc": "1.2.1" - } - }, - "get-stdin": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-3.0.2.tgz", - "integrity": "sha1-wc7SS5A5s43thb3xYeV3E7bdSr4=" - }, - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, - "requires": { - "assert-plus": "1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - } - } - }, - "gifsicle": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/gifsicle/-/gifsicle-3.0.4.tgz", - "integrity": "sha1-9Fy17RAWW2ZdySng6TKLbIId+js=", - "dev": true, - "requires": { - "bin-build": "2.2.0", - "bin-wrapper": "3.0.2", - "logalot": "2.1.0" - } - }, - "github-from-package": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", - "integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=" - }, - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "dev": true, - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "glob-base": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", - "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", - "dev": true, - "requires": { - "glob-parent": "2.0.0", - "is-glob": "2.0.1" - } - }, - "glob-parent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", - "dev": true, - "requires": { - "is-glob": "2.0.1" - } - }, - "glob-stream": { - "version": "5.3.5", - "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-5.3.5.tgz", - "integrity": "sha1-pVZlqajM3EGRWofHAeMtTgFvrSI=", - "dev": true, - "requires": { - "extend": "3.0.1", - "glob": "5.0.15", - "glob-parent": "3.1.0", - "micromatch": "2.3.11", - "ordered-read-streams": "0.3.0", - "through2": "0.6.5", - "to-absolute-glob": "0.1.1", - "unique-stream": "2.2.1" - }, - "dependencies": { - "extend": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", - "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", - "dev": true - }, - "glob": { - "version": "5.0.15", - "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", - "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", - "dev": true, - "requires": { - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "requires": { - "is-glob": "3.1.0", - "path-dirname": "1.0.2" - } - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "2.1.1" - } - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "0.0.1", - "string_decoder": "0.10.31" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - }, - "through2": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", - "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", - "dev": true, - "requires": { - "readable-stream": "1.0.34", - "xtend": "4.0.1" - } - } - } - }, - "global": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", - "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", - "dev": true, - "requires": { - "min-document": "2.19.0", - "process": "0.5.2" - } - }, - "globals": { - "version": "9.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==" - }, - "globby": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", - "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", - "dev": true, - "requires": { - "array-union": "1.0.2", - "arrify": "1.0.1", - "glob": "7.1.2", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" - } - }, - "globjoin": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz", - "integrity": "sha1-L0SUrIkZ43Z8XLtpHp9GMyQoXUM=", - "dev": true - }, - "glogg": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.0.tgz", - "integrity": "sha1-f+DxmfV6yQbPUS/urY+Q7kooT8U=", - "dev": true, - "requires": { - "sparkles": "1.0.0" - } - }, - "got": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/got/-/got-5.7.1.tgz", - "integrity": "sha1-X4FjWmHkplifGAVp6k44FoClHzU=", - "dev": true, - "requires": { - "create-error-class": "3.0.2", - "duplexer2": "0.1.4", - "is-redirect": "1.0.0", - "is-retry-allowed": "1.1.0", - "is-stream": "1.1.0", - "lowercase-keys": "1.0.0", - "node-status-codes": "1.0.0", - "object-assign": "4.1.1", - "parse-json": "2.2.0", - "pinkie-promise": "2.0.1", - "read-all-stream": "3.1.0", - "readable-stream": "2.3.3", - "timed-out": "3.1.3", - "unzip-response": "1.0.2", - "url-parse-lax": "1.0.0" - } - }, - "graceful-fs": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=" - }, - "graceful-readlink": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", - "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", - "dev": true - }, - "growl": { - "version": "1.9.2", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz", - "integrity": "sha1-Dqd0NxXbjY3ixe3hd14bRayFwC8=", - "dev": true - }, - "gulp-decompress": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gulp-decompress/-/gulp-decompress-1.2.0.tgz", - "integrity": "sha1-jutlpeAV+O2FMsr+KEVJYGJvDcc=", - "dev": true, - "requires": { - "archive-type": "3.2.0", - "decompress": "3.0.0", - "gulp-util": "3.0.8", - "readable-stream": "2.3.3" - } - }, - "gulp-rename": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/gulp-rename/-/gulp-rename-1.2.2.tgz", - "integrity": "sha1-OtRCh2PwXidk3sHGfYaNsnVoeBc=", - "dev": true - }, - "gulp-sourcemaps": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-1.6.0.tgz", - "integrity": "sha1-uG/zSdgBzrVuHZ59x7vLS33uYAw=", - "dev": true, - "requires": { - "convert-source-map": "1.5.0", - "graceful-fs": "4.1.11", - "strip-bom": "2.0.0", - "through2": "2.0.3", - "vinyl": "1.2.0" - }, - "dependencies": { - "through2": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", - "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", - "dev": true, - "requires": { - "readable-stream": "2.3.3", - "xtend": "4.0.1" - } - } - } - }, - "gulp-util": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz", - "integrity": "sha1-AFTh50RQLifATBh8PsxQXdVLu08=", - "dev": true, - "requires": { - "array-differ": "1.0.0", - "array-uniq": "1.0.3", - "beeper": "1.1.1", - "chalk": "1.1.3", - "dateformat": "2.2.0", - "fancy-log": "1.3.0", - "gulplog": "1.0.0", - "has-gulplog": "0.1.0", - "lodash._reescape": "3.0.0", - "lodash._reevaluate": "3.0.0", - "lodash._reinterpolate": "3.0.0", - "lodash.template": "3.6.2", - "minimist": "1.2.0", - "multipipe": "0.1.2", - "object-assign": "3.0.0", - "replace-ext": "0.0.1", - "through2": "2.0.3", - "vinyl": "0.5.3" - }, - "dependencies": { - "lodash.template": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz", - "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=", - "dev": true, - "requires": { - "lodash._basecopy": "3.0.1", - "lodash._basetostring": "3.0.1", - "lodash._basevalues": "3.0.0", - "lodash._isiterateecall": "3.0.9", - "lodash._reinterpolate": "3.0.0", - "lodash.escape": "3.2.0", - "lodash.keys": "3.1.2", - "lodash.restparam": "3.6.1", - "lodash.templatesettings": "3.1.1" - } - }, - "lodash.templatesettings": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz", - "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=", - "dev": true, - "requires": { - "lodash._reinterpolate": "3.0.0", - "lodash.escape": "3.2.0" - } - }, - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - }, - "object-assign": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", - "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=", - "dev": true - }, - "replace-ext": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz", - "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=", - "dev": true - }, - "through2": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", - "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", - "dev": true, - "requires": { - "readable-stream": "2.3.3", - "xtend": "4.0.1" - } - }, - "vinyl": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz", - "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=", - "dev": true, - "requires": { - "clone": "1.0.2", - "clone-stats": "0.0.1", - "replace-ext": "0.0.1" - } - } - } - }, - "gulplog": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", - "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", - "dev": true, - "requires": { - "glogg": "1.0.0" - } - }, - "handle-thing": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-1.2.5.tgz", - "integrity": "sha1-/Xqtcmvxpf0W38KbL3pmAdJxOcQ=", - "dev": true - }, - "handlebars": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.10.tgz", - "integrity": "sha1-PTDHGLCaPZbyPqTMH0A8TTup/08=", - "dev": true, - "requires": { - "async": "1.5.0", - "optimist": "0.6.1", - "source-map": "0.4.4", - "uglify-js": "2.8.22" - }, - "dependencies": { - "source-map": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", - "dev": true, - "requires": { - "amdefine": "1.0.1" - } - } - } - }, - "happypack": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/happypack/-/happypack-3.1.0.tgz", - "integrity": "sha1-i8VeNwG6z/cY04icuItQIWQcrVk=", - "requires": { - "async": "1.5.0", - "json-stringify-safe": "5.0.1", - "loader-utils": "0.2.16", - "mkdirp": "0.5.1", - "serialize-error": "2.1.0" - } - }, - "har-validator": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", - "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "commander": "2.11.0", - "is-my-json-valid": "2.16.1", - "pinkie-promise": "2.0.1" - } - }, - "has": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz", - "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=", - "dev": true, - "requires": { - "function-bind": "1.1.1" - } - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "requires": { - "ansi-regex": "2.1.1" - } - }, - "has-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", - "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", - "dev": true - }, - "has-gulplog": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz", - "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=", - "dev": true, - "requires": { - "sparkles": "1.0.0" - } - }, - "has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" - }, - "hash-base": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz", - "integrity": "sha1-ZuodhW206KVHDK32/OI65SRO8uE=", - "requires": { - "inherits": "2.0.3" - } - }, - "hash.js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", - "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", - "requires": { - "inherits": "2.0.3", - "minimalistic-assert": "1.0.0" - } - }, - "hawk": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", - "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", - "dev": true, - "requires": { - "boom": "2.10.1", - "cryptiles": "2.0.5", - "hoek": "2.16.3", - "sntp": "1.0.9" - } - }, - "he": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", - "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", - "dev": true - }, - "history": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/history/-/history-3.3.0.tgz", - "integrity": "sha1-/O3M6PEpdTcVRdc1RhAzV5ptrpw=", - "requires": { - "invariant": "2.2.2", - "loose-envify": "1.3.1", - "query-string": "4.3.4", - "warning": "3.0.0" - } - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "requires": { - "hash.js": "1.1.3", - "minimalistic-assert": "1.0.0", - "minimalistic-crypto-utils": "1.0.1" - } - }, - "hoek": { - "version": "2.16.3", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", - "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", - "dev": true - }, - "hoist-non-react-statics": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz", - "integrity": "sha1-qkSM8JhtVcxAdzsXF0t90GbLfPs=" - }, - "home-or-tmp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", - "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", - "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" - } - }, - "home-path": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/home-path/-/home-path-1.0.5.tgz", - "integrity": "sha1-eIspgVsS1Tus9XVkhHbm+QQdEz8=", - "dev": true - }, - "hosted-git-info": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz", - "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==" - }, - "hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", - "dev": true, - "requires": { - "inherits": "2.0.3", - "obuf": "1.1.1", - "readable-stream": "2.3.3", - "wbuf": "1.7.2" - } - }, - "html": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/html/-/html-1.0.0.tgz", - "integrity": "sha1-pUT6nqVJK/s6LMqCEKEL57WvH2E=", - "dev": true, - "requires": { - "concat-stream": "1.6.0" - } - }, - "html-comment-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.1.tgz", - "integrity": "sha1-ZouTd26q5V696POtRkswekljYl4=", - "dev": true - }, - "html-encoding-sniffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.1.tgz", - "integrity": "sha1-eb96eF6klf5mFl5zQVPzY/9UN9o=", - "dev": true, - "requires": { - "whatwg-encoding": "1.0.1" - } - }, - "html-entities": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz", - "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=", - "dev": true - }, - "html-loader": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/html-loader/-/html-loader-0.4.4.tgz", - "integrity": "sha1-8rW5rNXgNf86tf02nBPJenuwFNo=", - "dev": true, - "requires": { - "es6-templates": "0.2.3", - "fastparse": "1.1.1", - "html-minifier": "3.5.5", - "loader-utils": "0.2.16", - "object-assign": "4.1.1" - } - }, - "html-minifier": { - "version": "3.5.5", - "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.5.tgz", - "integrity": "sha512-g+1+NBycQI0fGnggd52JM8TRUweG7+9W2wrtjGitMAqc4G7maweAHvVAAjz9veHseIH3tYKE2lk2USGSoewIrQ==", - "dev": true, - "requires": { - "camel-case": "3.0.0", - "clean-css": "4.1.9", - "commander": "2.11.0", - "he": "1.1.1", - "ncname": "1.0.0", - "param-case": "2.1.1", - "relateurl": "0.2.7", - "uglify-js": "3.1.3" - }, - "dependencies": { - "uglify-js": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.1.3.tgz", - "integrity": "sha512-5ZUOgufCHjN2mBBLfz63UtWTP6va2sSzBpNCM+/iqI6RnPzEhANmB0EKiKBYdQbc3v7KeomXJ2DJx0Xq9gvUvA==", - "dev": true, - "requires": { - "commander": "2.11.0", - "source-map": "0.5.7" - } - } - } - }, - "html-tags": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-1.2.0.tgz", - "integrity": "sha1-x43mW1Zjqll5id0rerSSANfk25g=", - "dev": true - }, - "html-webpack-plugin": { - "version": "2.30.1", - "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-2.30.1.tgz", - "integrity": "sha1-f5xCG36pHsRg9WUn1430hO51N9U=", - "dev": true, - "requires": { - "bluebird": "3.5.1", - "html-minifier": "3.5.5", - "loader-utils": "0.2.16", - "lodash": "4.17.4", - "pretty-error": "2.1.1", - "toposort": "1.0.6" - }, - "dependencies": { - "bluebird": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", - "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==", - "dev": true - } - } - }, - "htmlparser2": { - "version": "3.9.2", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.9.2.tgz", - "integrity": "sha1-G9+HrMoPP55T+k/M6w9LTLsAszg=", - "dev": true, - "requires": { - "domelementtype": "1.3.0", - "domhandler": "2.4.1", - "domutils": "1.5.1", - "entities": "1.1.1", - "inherits": "2.0.3", - "readable-stream": "2.3.3" - } - }, - "http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", - "dev": true - }, - "http-errors": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.5.1.tgz", - "integrity": "sha1-eIwNLB3iyBuebowBhDtrl+uSB1A=", - "dev": true, - "requires": { - "inherits": "2.0.3", - "setprototypeof": "1.0.2", - "statuses": "1.3.1" - } - }, - "http-parser-js": { - "version": "0.4.9", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.9.tgz", - "integrity": "sha1-6hoE+2St/wJC6ZdPKX3Uw8rSceE=", - "dev": true - }, - "http-proxy": { - "version": "1.16.2", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.16.2.tgz", - "integrity": "sha1-Bt/ykpUr9k2+hHH6nfcwZtTzd0I=", - "dev": true, - "requires": { - "eventemitter3": "1.2.0", - "requires-port": "1.0.0" - }, - "dependencies": { - "eventemitter3": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.2.0.tgz", - "integrity": "sha1-HIaZHYFq0eUEdQ5zh0Ik7PO+xQg=", - "dev": true - } - } - }, - "http-proxy-middleware": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.17.3.tgz", - "integrity": "sha1-lAOCFHFJuFYIT1U0dS1bWoFozR0=", - "dev": true, - "requires": { - "http-proxy": "1.16.2", - "is-glob": "3.1.0", - "lodash": "4.17.4", - "micromatch": "2.3.11" - }, - "dependencies": { - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "2.1.1" - } - } - } - }, - "http-signature": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", - "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", - "dev": true, - "requires": { - "assert-plus": "0.2.0", - "jsprim": "1.4.1", - "sshpk": "1.13.1" - } - }, - "https-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-0.0.1.tgz", - "integrity": "sha1-P5E2XKvmC3ftDruiS0VOPgnZWoI=", - "dev": true - }, - "humanize": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/humanize/-/humanize-0.0.9.tgz", - "integrity": "sha1-GZT/rs3+nEQe0r2sdFK3u0yeQaQ=", - "dev": true - }, - "husky": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/husky/-/husky-0.13.1.tgz", - "integrity": "sha1-Ee/G/BDg7E54l3b2WCvjfXG6TM8=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "find-parent-dir": "0.3.0", - "is-ci": "1.0.10", - "normalize-path": "1.0.0" - }, - "dependencies": { - "normalize-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-1.0.0.tgz", - "integrity": "sha1-MtDkcvkf80VwHBWoMRAY07CpA3k=", - "dev": true - } - } - }, - "hyphenate-style-name": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.2.tgz", - "integrity": "sha1-MRYKNpMK2vH8BMYHT360FGXU7Es=" - }, - "iconv-lite": { - "version": "0.4.19", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", - "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==" - }, - "icss-replace-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", - "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=", - "dev": true - }, - "icss-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-2.1.0.tgz", - "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=", - "dev": true, - "requires": { - "postcss": "6.0.13" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", - "dev": true, - "requires": { - "color-convert": "1.9.0" - } - }, - "chalk": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz", - "integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==", - "dev": true, - "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "4.4.0" - } - }, - "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", - "dev": true - }, - "postcss": { - "version": "6.0.13", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz", - "integrity": "sha512-nHsrD1PPTMSJDfU+osVsLtPkSP9YGeoOz4FDLN4r1DW4N5vqL1J+gACzTQHsfwIiWG/0/nV4yCzjTMo1zD8U1g==", - "dev": true, - "requires": { - "chalk": "2.1.0", - "source-map": "0.6.1", - "supports-color": "4.4.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", - "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", - "dev": true, - "requires": { - "has-flag": "2.0.0" - } - } - } - }, - "ieee754": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.8.tgz", - "integrity": "sha1-vjPUCsEO8ZJnAfbwii2G+/0a0+Q=", - "dev": true - }, - "ignore": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.5.tgz", - "integrity": "sha512-JLH93mL8amZQhh/p6mfQgVBH3M6epNq3DfsXsTSuSrInVjwyYlFE1nv2AgfRCC8PoOhM0jwQ5v8s9LgbK7yGDw==", - "dev": true - }, - "ignore-styles": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ignore-styles/-/ignore-styles-5.0.1.tgz", - "integrity": "sha1-tJ7yJ0va/NikiAqWa/440aC/RnE=", - "dev": true - }, - "image-webpack-loader": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/image-webpack-loader/-/image-webpack-loader-3.2.0.tgz", - "integrity": "sha1-8mMG1gSNOi9ajYROyu3StxSPCk4=", - "dev": true, - "requires": { - "file-loader": "0.9.0", - "imagemin": "5.3.1", - "imagemin-gifsicle": "5.2.0", - "imagemin-mozjpeg": "6.0.0", - "imagemin-optipng": "5.2.1", - "imagemin-pngquant": "5.0.1", - "imagemin-svgo": "5.2.2", - "loader-utils": "0.2.16" - }, - "dependencies": { - "file-loader": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-0.9.0.tgz", - "integrity": "sha1-HS2t3UJM5tGwfP4/eXMb7TYXq0I=", - "dev": true, - "requires": { - "loader-utils": "0.2.16" - } - } - } - }, - "imagemin": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/imagemin/-/imagemin-5.3.1.tgz", - "integrity": "sha1-8Zwu7h5xumxlWMUV+fyWaAGJptQ=", - "dev": true, - "requires": { - "file-type": "4.4.0", - "globby": "6.1.0", - "make-dir": "1.0.0", - "p-pipe": "1.2.0", - "pify": "2.3.0", - "replace-ext": "1.0.0" - }, - "dependencies": { - "globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", - "dev": true, - "requires": { - "array-union": "1.0.2", - "glob": "7.1.2", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" - } - } - } - }, - "imagemin-gifsicle": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/imagemin-gifsicle/-/imagemin-gifsicle-5.2.0.tgz", - "integrity": "sha512-K01m5QuPK+0en8oVhiOOAicF7KjrHlCZxS++mfLI2mV/Ksfq/Y9nCXCWDz6jRv13wwlqe5T7hXT+ji2DnLc2yQ==", - "dev": true, - "requires": { - "exec-buffer": "3.2.0", - "gifsicle": "3.0.4", - "is-gif": "1.0.0" - } - }, - "imagemin-mozjpeg": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/imagemin-mozjpeg/-/imagemin-mozjpeg-6.0.0.tgz", - "integrity": "sha1-caMqRXqhsmEXpo7u8tmxkMLlCR4=", - "dev": true, - "requires": { - "exec-buffer": "3.2.0", - "is-jpg": "1.0.0", - "mozjpeg": "4.1.1" - } - }, - "imagemin-optipng": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/imagemin-optipng/-/imagemin-optipng-5.2.1.tgz", - "integrity": "sha1-0i2kEsCfX/AKQzmWC5ioix2+hpU=", - "dev": true, - "requires": { - "exec-buffer": "3.2.0", - "is-png": "1.1.0", - "optipng-bin": "3.1.4" - } - }, - "imagemin-pngquant": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/imagemin-pngquant/-/imagemin-pngquant-5.0.1.tgz", - "integrity": "sha1-2KMp2lU6+iJrEc5i3r4Lfje0OeY=", - "dev": true, - "requires": { - "exec-buffer": "3.2.0", - "is-png": "1.1.0", - "pngquant-bin": "3.1.1" - } - }, - "imagemin-svgo": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/imagemin-svgo/-/imagemin-svgo-5.2.2.tgz", - "integrity": "sha1-UBaZ9XiXMKV5IrhzbqFcU/e1WDg=", - "dev": true, - "requires": { - "is-svg": "2.1.0", - "svgo": "0.7.2" - } - }, - "immediate": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", - "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=" - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true - }, - "in-publish": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz", - "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=" - }, - "indent-string": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", - "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", - "requires": { - "repeating": "2.0.1" - } - }, - "indexes-of": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", - "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", - "dev": true - }, - "indexof": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", - "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - }, - "ini": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz", - "integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=" - }, - "inline-style-prefixer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/inline-style-prefixer/-/inline-style-prefixer-2.0.5.tgz", - "integrity": "sha1-wVPH6I/YT+9cYC6VqBaLJ3BnH+c=", - "requires": { - "bowser": "1.8.0", - "hyphenate-style-name": "1.0.2" - } - }, - "inquirer": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz", - "integrity": "sha1-HvK/1jUE3wvHV4X/+MLEHfEvB34=", - "dev": true, - "requires": { - "ansi-escapes": "1.4.0", - "ansi-regex": "2.1.1", - "chalk": "1.1.3", - "cli-cursor": "1.0.2", - "cli-width": "2.2.0", - "figures": "1.7.0", - "lodash": "4.17.4", - "readline2": "1.0.1", - "run-async": "0.1.0", - "rx-lite": "3.1.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "through": "2.3.8" - } - }, - "internal-ip": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-1.2.0.tgz", - "integrity": "sha1-rp+/k7mEh4eF1QqN4bNWlWBYz1w=", - "dev": true, - "requires": { - "meow": "3.7.0" - } - }, - "interpret": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.0.4.tgz", - "integrity": "sha1-ggzdWIuGj/sZGoCVBtbJyPISsbA=", - "dev": true - }, - "intl-format-cache": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/intl-format-cache/-/intl-format-cache-2.0.5.tgz", - "integrity": "sha1-tITO/Lk1PzdPJd44mjzuoa8Y18k=" - }, - "intl-messageformat": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-1.3.0.tgz", - "integrity": "sha1-99kmre16OrGbLcYB79VOmaS9Tq4=", - "requires": { - "intl-messageformat-parser": "1.2.0" - } - }, - "intl-messageformat-parser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/intl-messageformat-parser/-/intl-messageformat-parser-1.2.0.tgz", - "integrity": "sha1-WQa3+VOrdHDg3IVJCXtki5kYkv8=" - }, - "intl-relativeformat": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/intl-relativeformat/-/intl-relativeformat-1.3.0.tgz", - "integrity": "sha1-iT3HB2/M04DPCRojAMOA+les5Fs=", - "requires": { - "intl-messageformat": "1.3.0" - } - }, - "invariant": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz", - "integrity": "sha1-nh9WrArNtr8wMwbzOL47IErmA2A=", - "requires": { - "loose-envify": "1.3.1" - } - }, - "invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" - }, - "ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", - "dev": true - }, - "ip-regex": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-1.0.3.tgz", - "integrity": "sha1-3FiQdvZZ9BnCIgOaMzFvHHOH7/0=", - "dev": true - }, - "ipaddr.js": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.4.0.tgz", - "integrity": "sha1-KWrKh4qCGBbluF0KKFqZvP9FgvA=", - "dev": true - }, - "irregular-plurals": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-1.3.0.tgz", - "integrity": "sha512-njf5A+Mxb3kojuHd1DzISjjIl+XhyzovXEOyPPSzdQozq/Lf2tN27mOrAAsxEPZxpn6I4MGzs1oo9TxXxPFpaA==", - "dev": true - }, - "is-absolute": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-0.1.7.tgz", - "integrity": "sha1-hHSREZ/MtftDYhfMc39/qtUPYD8=", - "dev": true, - "requires": { - "is-relative": "0.1.3" - } - }, - "is-absolute-url": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", - "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", - "dev": true - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, - "requires": { - "binary-extensions": "1.10.0" - } - }, - "is-buffer": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.5.tgz", - "integrity": "sha1-Hzsm72E7IUuIy8ojzGwB2Hlh7sw=", - "dev": true - }, - "is-builtin-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", - "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", - "requires": { - "builtin-modules": "1.1.1" - } - }, - "is-bzip2": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-bzip2/-/is-bzip2-1.0.0.tgz", - "integrity": "sha1-XuWOqlounIDiFAe+3yOuWsCRs/w=", - "dev": true - }, - "is-callable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.3.tgz", - "integrity": "sha1-hut1OSgF3cM69xySoO7fdO52BLI=", - "dev": true - }, - "is-ci": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.0.10.tgz", - "integrity": "sha1-9zkzayYyNlBhqdSCcM1WrjNpMY4=", - "dev": true, - "requires": { - "ci-info": "1.1.1" - } - }, - "is-date-object": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", - "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", - "dev": true - }, - "is-directory": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", - "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", - "dev": true - }, - "is-dotfile": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", - "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", - "dev": true - }, - "is-equal-shallow": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", - "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", - "dev": true, - "requires": { - "is-primitive": "2.0.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - }, - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-finite": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", - "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", - "requires": { - "number-is-nan": "1.0.1" - } - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "requires": { - "number-is-nan": "1.0.1" - } - }, - "is-gif": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-gif/-/is-gif-1.0.0.tgz", - "integrity": "sha1-ptKumIkwB7/6l6HYwB1jIFgyCX4=", - "dev": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true, - "requires": { - "is-extglob": "1.0.0" - } - }, - "is-gzip": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-gzip/-/is-gzip-1.0.0.tgz", - "integrity": "sha1-bKiwe5nHeZgCWQDlVc7Y7YCHmoM=", - "dev": true - }, - "is-hex-prefixed": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz", - "integrity": "sha1-fY035q135dEnFIkTxXPggtd39VQ=" - }, - "is-jpg": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-jpg/-/is-jpg-1.0.0.tgz", - "integrity": "sha1-KVnBfnNDDbOCZNp1uQ3VTy2G2hw=", - "dev": true - }, - "is-my-json-valid": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.16.1.tgz", - "integrity": "sha512-ochPsqWS1WXj8ZnMIV0vnNXooaMhp7cyL4FMSIPKTtnV0Ha/T19G2b9kkhcNsabV9bxYkze7/aLZJb/bYuFduQ==", - "dev": true, - "requires": { - "generate-function": "2.0.0", - "generate-object-property": "1.2.0", - "jsonpointer": "4.0.1", - "xtend": "4.0.1" - } - }, - "is-natural-number": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-2.1.1.tgz", - "integrity": "sha1-fUxXKDd+84bD4ZSpkRv1fG3DNec=", - "dev": true - }, - "is-number": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", - "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", - "dev": true, - "requires": { - "kind-of": "3.2.2" - } - }, - "is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=" - }, - "is-path-cwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", - "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", - "dev": true - }, - "is-path-in-cwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz", - "integrity": "sha1-ZHdYK4IU1gI0YJRWcAO+ip6sBNw=", - "dev": true, - "requires": { - "is-path-inside": "1.0.0" - } - }, - "is-path-inside": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.0.tgz", - "integrity": "sha1-/AbloWg/vaE95mev9xe7wQpI838=", - "dev": true, - "requires": { - "path-is-inside": "1.0.2" - } - }, - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", - "dev": true - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "requires": { - "isobject": "3.0.1" - } - }, - "is-png": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-png/-/is-png-1.1.0.tgz", - "integrity": "sha1-1XSxK/J1wDUEVVcLDltXqwYgd84=", - "dev": true - }, - "is-posix-bracket": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", - "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", - "dev": true - }, - "is-primitive": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", - "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", - "dev": true - }, - "is-promise": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", - "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=" - }, - "is-property": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", - "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=", - "dev": true - }, - "is-redirect": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz", - "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=", - "dev": true - }, - "is-regex": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", - "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", - "dev": true, - "requires": { - "has": "1.0.1" - } - }, - "is-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", - "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=" - }, - "is-relative": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-0.1.3.tgz", - "integrity": "sha1-kF/uiuhvRbPsYUvDwVyGnfCHboI=", - "dev": true - }, - "is-resolvable": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.0.0.tgz", - "integrity": "sha1-jfV8YeouPFAUCNEA+wE8+NbgzGI=", - "dev": true, - "requires": { - "tryit": "1.0.3" - } - }, - "is-retry-allowed": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", - "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=", - "dev": true - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" - }, - "is-subset": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-subset/-/is-subset-0.1.1.tgz", - "integrity": "sha1-ilkRfZMt4d4A8kX83TnOQ/HpOaY=", - "dev": true - }, - "is-supported-regexp-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-supported-regexp-flag/-/is-supported-regexp-flag-1.0.0.tgz", - "integrity": "sha1-i1IMhfrnolM4LUsCZS4EVXbhO7g=", - "dev": true - }, - "is-svg": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-2.1.0.tgz", - "integrity": "sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk=", - "dev": true, - "requires": { - "html-comment-regex": "1.1.1" - } - }, - "is-symbol": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz", - "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=", - "dev": true - }, - "is-tar": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-tar/-/is-tar-1.0.0.tgz", - "integrity": "sha1-L2suF5LB9bs2UZrKqdZcDSb+hT0=", - "dev": true - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "is-url": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.2.tgz", - "integrity": "sha1-SYkFpZO/R8wtnn9zg3K792lsfyY=", - "dev": true - }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" - }, - "is-valid-glob": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-0.3.0.tgz", - "integrity": "sha1-1LVcafUYhvm2XHDWwmItN+KfSP4=", - "dev": true - }, - "is-zip": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-zip/-/is-zip-1.0.0.tgz", - "integrity": "sha1-R7Co/004p2QxzP2ZqOFaTIa6IyU=", - "dev": true - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" - }, - "isomorphic-fetch": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", - "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", - "requires": { - "node-fetch": "1.6.3", - "whatwg-fetch": "2.0.1" - } - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true - }, - "istanbul": { - "version": "1.0.0-alpha.2", - "resolved": "https://registry.npmjs.org/istanbul/-/istanbul-1.0.0-alpha.2.tgz", - "integrity": "sha1-BglrwI6Yuq10Sq5Gli2N+frGPQg=", - "dev": true, - "requires": { - "abbrev": "1.0.9", - "async": "1.5.0", - "istanbul-api": "1.1.14", - "js-yaml": "3.6.1", - "mkdirp": "0.5.1", - "nopt": "3.0.6", - "which": "1.3.0", - "wordwrap": "1.0.0" - } - }, - "istanbul-api": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-1.1.14.tgz", - "integrity": "sha1-JbxXAffGgMD//5E95G42GaOm5oA=", - "dev": true, - "requires": { - "async": "2.5.0", - "fileset": "2.0.3", - "istanbul-lib-coverage": "1.1.1", - "istanbul-lib-hook": "1.0.7", - "istanbul-lib-instrument": "1.8.0", - "istanbul-lib-report": "1.1.1", - "istanbul-lib-source-maps": "1.2.1", - "istanbul-reports": "1.1.2", - "js-yaml": "3.10.0", - "mkdirp": "0.5.1", - "once": "1.4.0" - }, - "dependencies": { - "async": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/async/-/async-2.5.0.tgz", - "integrity": "sha512-e+lJAJeNWuPCNyxZKOBdaJGyLGHugXVQtrAwtuAe2vhxTYxFTKE73p8JuTmdH0qdQZtDvI4dhJwjZc5zsfIsYw==", - "dev": true, - "requires": { - "lodash": "4.17.4" - } - }, - "esprima": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", - "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==", - "dev": true - }, - "js-yaml": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.10.0.tgz", - "integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==", - "dev": true, - "requires": { - "argparse": "1.0.9", - "esprima": "4.0.0" - } - } - } - }, - "istanbul-lib-coverage": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.1.tgz", - "integrity": "sha512-0+1vDkmzxqJIn5rcoEqapSB4DmPxE31EtI2dF2aCkV5esN9EWHxZ0dwgDClivMXJqE7zaYQxq30hj5L0nlTN5Q==", - "dev": true - }, - "istanbul-lib-hook": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.0.7.tgz", - "integrity": "sha512-3U2HB9y1ZV9UmFlE12Fx+nPtFqIymzrqCksrXujm3NVbAZIJg/RfYgO1XiIa0mbmxTjWpVEVlkIZJ25xVIAfkQ==", - "dev": true, - "requires": { - "append-transform": "0.4.0" - } - }, - "istanbul-lib-instrument": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.8.0.tgz", - "integrity": "sha1-ZvbJQhzJ7EcE928tsIS6kHiitTI=", - "dev": true, - "requires": { - "babel-generator": "6.26.0", - "babel-template": "6.26.0", - "babel-traverse": "6.26.0", - "babel-types": "6.26.0", - "babylon": "6.18.0", - "istanbul-lib-coverage": "1.1.1", - "semver": "5.4.1" - } - }, - "istanbul-lib-report": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz", - "integrity": "sha512-tvF+YmCmH4thnez6JFX06ujIA19WPa9YUiwjc1uALF2cv5dmE3It8b5I8Ob7FHJ70H9Y5yF+TDkVa/mcADuw1Q==", - "dev": true, - "requires": { - "istanbul-lib-coverage": "1.1.1", - "mkdirp": "0.5.1", - "path-parse": "1.0.5", - "supports-color": "3.2.3" - }, - "dependencies": { - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "1.0.0" - } - } - } - }, - "istanbul-lib-source-maps": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.1.tgz", - "integrity": "sha512-mukVvSXCn9JQvdJl8wP/iPhqig0MRtuWuD4ZNKo6vB2Ik//AmhAKe3QnPN02dmkRe3lTudFk3rzoHhwU4hb94w==", - "dev": true, - "requires": { - "debug": "2.6.9", - "istanbul-lib-coverage": "1.1.1", - "mkdirp": "0.5.1", - "rimraf": "2.6.2", - "source-map": "0.5.7" - } - }, - "istanbul-reports": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.1.2.tgz", - "integrity": "sha1-D7Lj9qqZIr085F0F2KtNXo4HvU8=", - "dev": true, - "requires": { - "handlebars": "4.0.10" - } - }, - "jquery": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.2.1.tgz", - "integrity": "sha1-XE2d5lKvbNCncBVKYxu6ErAVx4c=" - }, - "js-base64": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.3.2.tgz", - "integrity": "sha512-Y2/+DnfJJXT1/FCwUebUhLWb3QihxiSC42+ctHLGogmW2jPY6LCapMdFZXRvVP2z6qyKW7s6qncE/9gSqZiArw==", - "dev": true - }, - "js-sha3": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.5.tgz", - "integrity": "sha1-uvDA6MVK1ZA0R9+Wreekobynmko=" - }, - "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" - }, - "js-yaml": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.6.1.tgz", - "integrity": "sha1-bl/mfYsgXOTSL60Ft3geja3MSzA=", - "dev": true, - "requires": { - "argparse": "1.0.9", - "esprima": "2.7.3" - } - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true, - "optional": true - }, - "jsdom": { - "version": "9.11.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-9.11.0.tgz", - "integrity": "sha1-qVsDBOUhospaY8bqR793CKeoRZE=", - "dev": true, - "requires": { - "abab": "1.0.4", - "acorn": "4.0.13", - "acorn-globals": "3.1.0", - "array-equal": "1.0.0", - "content-type-parser": "1.0.1", - "cssom": "0.3.2", - "cssstyle": "0.2.37", - "escodegen": "1.9.0", - "html-encoding-sniffer": "1.0.1", - "nwmatcher": "1.4.2", - "parse5": "1.5.1", - "request": "2.79.0", - "sax": "1.2.4", - "symbol-tree": "3.2.2", - "tough-cookie": "2.3.3", - "webidl-conversions": "4.0.2", - "whatwg-encoding": "1.0.1", - "whatwg-url": "4.8.0", - "xml-name-validator": "2.0.1" - }, - "dependencies": { - "acorn": { - "version": "4.0.13", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", - "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", - "dev": true - } - } - }, - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" - }, - "json-loader": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.4.tgz", - "integrity": "sha1-i6oTZaYy9Yo8RtIBdfxgAsluN94=", - "dev": true - }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", - "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=" - }, - "json-stable-stringify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", - "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", - "requires": { - "jsonify": "0.0.0" - } - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" - }, - "json3": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz", - "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=", - "dev": true - }, - "json5": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" - }, - "jsonfile": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", - "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11" - } - }, - "jsonfilter": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/jsonfilter/-/jsonfilter-1.1.2.tgz", - "integrity": "sha1-Ie987cdRk4E8dZMulqmL4gW6WhE=", - "dev": true, - "requires": { - "JSONStream": "0.8.4", - "minimist": "1.2.0", - "stream-combiner": "0.2.2", - "through2": "0.6.5" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - }, - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "0.0.1", - "string_decoder": "0.10.31" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - }, - "through2": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", - "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", - "dev": true, - "requires": { - "readable-stream": "1.0.34", - "xtend": "4.0.1" - } - } - } - }, - "jsonify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", - "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=" - }, - "jsonparse": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-0.0.5.tgz", - "integrity": "sha1-MwVCrT8KZUZlt3jz6y2an6UHrGQ=", - "dev": true - }, - "jsonpointer": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz", - "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=", - "dev": true - }, - "JSONStream": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-0.8.4.tgz", - "integrity": "sha1-kWV9/m/4V0gwZhMrRhi2Lo9Ih70=", - "dev": true, - "requires": { - "jsonparse": "0.0.5", - "through": "2.3.8" - } - }, - "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - } - } - }, - "jsqr": { - "version": "git+https://github.com/JodusNodus/jsQR.git#5ba1acefa1cbb9b2bc92b49f503f2674e2ec212b" - }, - "jsx-ast-utils": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-1.4.1.tgz", - "integrity": "sha1-OGchPo3Xm/Ho8jAMDPwe+xgsDfE=", - "dev": true - }, - "keccak": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-1.3.0.tgz", - "integrity": "sha512-JgsKPxYhcJxKrV+TrCyg/GwZbOjhpRPrz2kG8xbAsUaIDelUlKjm08YcwBO9Fm8sqf/Kg8ZWkk6nWujhLykfvw==", - "requires": { - "bindings": "1.3.0", - "inherits": "2.0.3", - "nan": "2.7.0", - "prebuild-install": "2.3.0", - "safe-buffer": "5.1.1" - } - }, - "keycode": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/keycode/-/keycode-2.1.9.tgz", - "integrity": "sha1-lkojxU5IiUBbSGGlyfBIDUUUHfo=" - }, - "keythereum": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/keythereum/-/keythereum-0.4.6.tgz", - "integrity": "sha1-D97Hz5OK455eMGGy9uFmd7dmxdo=", - "requires": { - "elliptic": "6.4.0", - "ethereumjs-util": "5.1.1", - "sjcl": "1.0.6", - "uuid": "3.0.0", - "validator": "4.0.2" - }, - "dependencies": { - "ethereumjs-util": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.1.1.tgz", - "integrity": "sha1-Ei+zjep0fcYrOuv8Nl0b1Ivktz4=", - "requires": { - "bn.js": "4.11.8", - "create-hash": "1.1.3", - "ethjs-util": "0.1.4", - "keccak": "1.3.0", - "rlp": "2.0.0", - "secp256k1": "3.2.5" - } - } - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.5" - } - }, - "klaw": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", - "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11" - } - }, - "known-css-properties": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.2.0.tgz", - "integrity": "sha512-UTCzU28rRI9wkb8qSGoZa9pgWvxr4LjP2MEhi9XHb/1XMOJy0uTnIxaxzj8My/PORG+kQG6VzAcGvRw66eIOfA==", - "dev": true - }, - "lazy-cache": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", - "dev": true - }, - "lazy-req": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/lazy-req/-/lazy-req-1.1.0.tgz", - "integrity": "sha1-va6+rTD42CQDnODOFJ1Nqge6H6w=", - "dev": true - }, - "lazystream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", - "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", - "dev": true, - "requires": { - "readable-stream": "2.3.3" - } - }, - "lcid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", - "requires": { - "invert-kv": "1.0.0" - } - }, - "lcov-parse": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-0.0.10.tgz", - "integrity": "sha1-GwuP+ayceIklBYK3C3ExXZ2m2aM=", - "dev": true - }, - "ldjson-stream": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ldjson-stream/-/ldjson-stream-1.2.1.tgz", - "integrity": "sha1-kb7O2lrE7SsX5kn7d356v6AYnCs=", - "dev": true, - "requires": { - "split2": "0.2.1", - "through2": "0.6.5" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "0.0.1", - "string_decoder": "0.10.31" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - }, - "through2": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", - "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", - "dev": true, - "requires": { - "readable-stream": "1.0.34", - "xtend": "4.0.1" - } - } - } - }, - "levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, - "requires": { - "prelude-ls": "1.1.2", - "type-check": "0.3.2" - } - }, - "lie": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz", - "integrity": "sha1-mkNrLMd0bKWd56QfpGmz77dr2H4=", - "requires": { - "immediate": "3.0.6" - } - }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "pinkie-promise": "2.0.1", - "strip-bom": "2.0.0" - } - }, - "loader-runner": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.0.tgz", - "integrity": "sha1-9IKuqC1UPgeSFwDVpG7yb9rGuKI=", - "dev": true - }, - "loader-utils": { - "version": "0.2.16", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.16.tgz", - "integrity": "sha1-8IYyBm7YKCg13/iN+1JwR2Wt7m0=", - "requires": { - "big.js": "3.2.0", - "emojis-list": "2.1.0", - "json5": "0.5.1", - "object-assign": "4.1.1" - } - }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "requires": { - "p-locate": "2.0.0", - "path-exists": "3.0.0" - }, - "dependencies": { - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - } - } - }, - "lodash": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", - "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=" - }, - "lodash-es": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.4.tgz", - "integrity": "sha1-3MHXVS4VCgZABzupyzHXDwMpUOc=" - }, - "lodash._baseassign": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz", - "integrity": "sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4=", - "dev": true, - "requires": { - "lodash._basecopy": "3.0.1", - "lodash.keys": "3.1.2" - } - }, - "lodash._basecopy": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", - "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=", - "dev": true - }, - "lodash._basecreate": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz", - "integrity": "sha1-G8ZhYU2qf8MRt9A78WgGoCE8+CE=", - "dev": true - }, - "lodash._basetostring": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz", - "integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=", - "dev": true - }, - "lodash._basevalues": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz", - "integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=", - "dev": true - }, - "lodash._getnative": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", - "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=", - "dev": true - }, - "lodash._isiterateecall": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", - "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=", - "dev": true - }, - "lodash._reescape": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz", - "integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=", - "dev": true - }, - "lodash._reevaluate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz", - "integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=", - "dev": true - }, - "lodash._reinterpolate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", - "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", - "dev": true - }, - "lodash._root": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz", - "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=", - "dev": true - }, - "lodash.assign": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", - "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=" - }, - "lodash.assignin": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.assignin/-/lodash.assignin-4.2.0.tgz", - "integrity": "sha1-uo31+4QesKPoBEIysOJjqNxqKKI=", - "dev": true - }, - "lodash.bind": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/lodash.bind/-/lodash.bind-4.2.1.tgz", - "integrity": "sha1-euMBfpOWIqwxt9fX3LGzTbFpDTU=", - "dev": true - }, - "lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", - "dev": true - }, - "lodash.create": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lodash.create/-/lodash.create-3.1.1.tgz", - "integrity": "sha1-1/KEnw29p+BGgruM1yqwIkYd6+c=", - "dev": true, - "requires": { - "lodash._baseassign": "3.2.0", - "lodash._basecreate": "3.0.3", - "lodash._isiterateecall": "3.0.9" - } - }, - "lodash.defaults": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", - "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=", - "dev": true - }, - "lodash.escape": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz", - "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=", - "dev": true, - "requires": { - "lodash._root": "3.0.1" - } - }, - "lodash.filter": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.filter/-/lodash.filter-4.6.0.tgz", - "integrity": "sha1-ZosdSYFgOuHMWm+nYBQ+SAtMSs4=", - "dev": true - }, - "lodash.flatten": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", - "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=" - }, - "lodash.foreach": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz", - "integrity": "sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM=", - "dev": true - }, - "lodash.isarguments": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", - "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=", - "dev": true - }, - "lodash.isarray": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", - "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=", - "dev": true - }, - "lodash.isequal": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", - "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=" - }, - "lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" - }, - "lodash.keys": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", - "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", - "dev": true, - "requires": { - "lodash._getnative": "3.9.1", - "lodash.isarguments": "3.1.0", - "lodash.isarray": "3.0.4" - } - }, - "lodash.map": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz", - "integrity": "sha1-dx7Hg540c9nEzeKLGTlMNWL09tM=", - "dev": true - }, - "lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", - "dev": true - }, - "lodash.merge": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.0.tgz", - "integrity": "sha1-aYhLoUSsM/5plzemCG3v+t0PicU=" - }, - "lodash.omitby": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.omitby/-/lodash.omitby-4.6.0.tgz", - "integrity": "sha1-XBX/R1StVVAWtTwEExHo8HkgR5E=" - }, - "lodash.pick": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", - "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=", - "dev": true - }, - "lodash.pickby": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.pickby/-/lodash.pickby-4.6.0.tgz", - "integrity": "sha1-feoh2MGNdwOifHBMFdO4SmfjOv8=", - "dev": true - }, - "lodash.reduce": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.reduce/-/lodash.reduce-4.6.0.tgz", - "integrity": "sha1-8atrg5KZrUj3hKu/R2WW8DuRTTs=", - "dev": true - }, - "lodash.reject": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.reject/-/lodash.reject-4.6.0.tgz", - "integrity": "sha1-gNZJLcFHCGS79YNTO2UfQqn1JBU=", - "dev": true - }, - "lodash.restparam": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", - "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=", - "dev": true - }, - "lodash.some": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz", - "integrity": "sha1-G7nzFO9ri63tE7VJFpsqlF62jk0=", - "dev": true - }, - "lodash.template": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.4.0.tgz", - "integrity": "sha1-5zoDhcg1VZF0bgILmWecaQ5o+6A=", - "dev": true, - "requires": { - "lodash._reinterpolate": "3.0.0", - "lodash.templatesettings": "4.1.0" - } - }, - "lodash.templatesettings": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz", - "integrity": "sha1-K01OlbpEDZFf8IvImeRVNmZxMxY=", - "dev": true, - "requires": { - "lodash._reinterpolate": "3.0.0" - } - }, - "lodash.throttle": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", - "integrity": "sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ=" - }, - "lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" - }, - "log-driver": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.5.tgz", - "integrity": "sha1-euTsJXMC/XkNVXyxDJcQDYV7AFY=", - "dev": true - }, - "log-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", - "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=", - "dev": true, - "requires": { - "chalk": "1.1.3" - } - }, - "logalot": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/logalot/-/logalot-2.1.0.tgz", - "integrity": "sha1-X46MkNME7fElMJUaVVSruMXj9VI=", - "dev": true, - "requires": { - "figures": "1.7.0", - "squeak": "1.3.0" - } - }, - "loglevel": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.4.1.tgz", - "integrity": "sha1-lbOD+Ro8J1b9SrCTZn5DCRYfK80=" - }, - "lolex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/lolex/-/lolex-1.3.2.tgz", - "integrity": "sha1-fD2mL/yzDw9agKJWbKJORdigHzE=", - "dev": true - }, - "longest": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", - "dev": true - }, - "loose-envify": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", - "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", - "requires": { - "js-tokens": "3.0.2" - } - }, - "loud-rejection": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", - "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", - "requires": { - "currently-unhandled": "0.4.1", - "signal-exit": "3.0.2" - } - }, - "lower-case": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", - "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", - "dev": true - }, - "lowercase-keys": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", - "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=", - "dev": true - }, - "lpad-align": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/lpad-align/-/lpad-align-1.1.2.tgz", - "integrity": "sha1-IfYArBwwlcPG5JfuZyce4ISB/p4=", - "dev": true, - "requires": { - "get-stdin": "4.0.1", - "indent-string": "2.1.0", - "longest": "1.0.1", - "meow": "3.7.0" - }, - "dependencies": { - "get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", - "dev": true - } - } - }, - "lru-cache": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", - "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==", - "dev": true, - "requires": { - "pseudomap": "1.0.2", - "yallist": "2.1.2" - } - }, - "macaddress": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/macaddress/-/macaddress-0.2.8.tgz", - "integrity": "sha1-WQTcU3w57G2+/q6QIycTX6hRHxI=", - "dev": true - }, - "make-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.0.0.tgz", - "integrity": "sha1-l6ARdR6R3YfPre9Ygy67BJNt6Xg=", - "dev": true, - "requires": { - "pify": "2.3.0" - } - }, - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=" - }, - "markdown-loader": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/markdown-loader/-/markdown-loader-2.0.0.tgz", - "integrity": "sha1-Qhhi04xCJP02FetkgBfqOFtWLXg=", - "dev": true, - "requires": { - "loader-utils": "0.2.16", - "marked": "0.3.6" - } - }, - "marked": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.6.tgz", - "integrity": "sha1-ssbGGPzOzk74bE/Gy4p8v1rtqNc=", - "dev": true - }, - "material-ui": { - "version": "0.16.5", - "resolved": "https://registry.npmjs.org/material-ui/-/material-ui-0.16.5.tgz", - "integrity": "sha1-u4ZhqsfKyMsiOj529PV+4YpK78E=", - "requires": { - "babel-runtime": "6.26.0", - "inline-style-prefixer": "2.0.5", - "keycode": "2.1.9", - "lodash.merge": "4.6.0", - "lodash.throttle": "4.1.1", - "react-addons-create-fragment": "15.6.2", - "react-addons-transition-group": "15.6.2", - "react-event-listener": "0.4.5", - "recompose": "0.20.2", - "simple-assign": "0.1.0", - "warning": "3.0.0" - } - }, - "math-expression-evaluator": { - "version": "1.2.17", - "resolved": "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz", - "integrity": "sha1-3oGf282E3M2PrlnGrreWFbnSZqw=" - }, - "mathml-tag-names": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.0.1.tgz", - "integrity": "sha1-jUEmgWi/htEQK5gQnijlMeejRXg=", - "dev": true - }, - "md5.js": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz", - "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=", - "requires": { - "hash-base": "3.0.4", - "inherits": "2.0.3" - }, - "dependencies": { - "hash-base": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", - "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", - "requires": { - "inherits": "2.0.3", - "safe-buffer": "5.1.1" - } - } - } - }, - "mdurl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", - "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=" - }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", - "dev": true - }, - "mem": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", - "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", - "dev": true, - "requires": { - "mimic-fn": "1.1.0" - } - }, - "memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", - "dev": true, - "requires": { - "errno": "0.1.4", - "readable-stream": "2.3.3" - } - }, - "memorystream": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", - "integrity": "sha1-htcJCzDORV1j+64S3aUaR93K+bI=" - }, - "meow": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", - "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", - "requires": { - "camelcase-keys": "2.1.0", - "decamelize": "1.2.0", - "loud-rejection": "1.6.0", - "map-obj": "1.0.1", - "minimist": "1.2.0", - "normalize-package-data": "2.4.0", - "object-assign": "4.1.1", - "read-pkg-up": "1.0.1", - "redent": "1.0.0", - "trim-newlines": "1.0.0" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" - } - } - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", - "dev": true - }, - "merge-stream": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz", - "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=", - "dev": true, - "requires": { - "readable-stream": "2.3.3" - } - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", - "dev": true - }, - "micromatch": { - "version": "2.3.11", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", - "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", - "dev": true, - "requires": { - "arr-diff": "2.0.0", - "array-unique": "0.2.1", - "braces": "1.8.5", - "expand-brackets": "0.1.5", - "extglob": "0.3.2", - "filename-regex": "2.0.1", - "is-extglob": "1.0.0", - "is-glob": "2.0.1", - "kind-of": "3.2.2", - "normalize-path": "2.1.1", - "object.omit": "2.0.1", - "parse-glob": "3.0.4", - "regex-cache": "0.4.4" - } - }, - "miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", - "dev": true, - "requires": { - "bn.js": "4.11.8", - "brorand": "1.1.0" - } - }, - "mime": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz", - "integrity": "sha1-EV+eO2s9rylZmDyzjxSaLUDrXVM=", - "dev": true - }, - "mime-db": { - "version": "1.30.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz", - "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=", - "dev": true - }, - "mime-types": { - "version": "2.1.17", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", - "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=", - "dev": true, - "requires": { - "mime-db": "1.30.0" - } - }, - "mimic-fn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.1.0.tgz", - "integrity": "sha1-5md4PZLonb00KBi1IwudYqZyrRg=", - "dev": true - }, - "min-document": { - "version": "2.19.0", - "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", - "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", - "dev": true, - "requires": { - "dom-walk": "0.1.1" - } - }, - "minimalistic-assert": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz", - "integrity": "sha1-cCvi3aazf0g2vLP121ZkG2Sh09M=" - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "1.1.8" - } - }, - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "requires": { - "minimist": "0.0.8" - } - }, - "mobx": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/mobx/-/mobx-2.6.4.tgz", - "integrity": "sha1-4FqRpbLJfaw/2rNAJOa3Sn9DEas=" - }, - "mobx-react": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/mobx-react/-/mobx-react-4.0.3.tgz", - "integrity": "sha1-QOsx0l4LjWMEjtojdsxWv6vRT3U=", - "requires": { - "hoist-non-react-statics": "1.2.0" - } - }, - "mocha": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-3.2.0.tgz", - "integrity": "sha1-fcT0XlCIB1FxpoiWgU5q6et6heM=", - "dev": true, - "requires": { - "browser-stdout": "1.3.0", - "commander": "2.9.0", - "debug": "2.2.0", - "diff": "1.4.0", - "escape-string-regexp": "1.0.5", - "glob": "7.0.5", - "growl": "1.9.2", - "json3": "3.3.2", - "lodash.create": "3.1.1", - "mkdirp": "0.5.1", - "supports-color": "3.1.2" - }, - "dependencies": { - "commander": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz", - "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=", - "dev": true, - "requires": { - "graceful-readlink": "1.0.1" - } - }, - "debug": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", - "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", - "dev": true, - "requires": { - "ms": "0.7.1" - } - }, - "glob": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.5.tgz", - "integrity": "sha1-tCAqaQmbu00pKnwblbZoK2fr3JU=", - "dev": true, - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "ms": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", - "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", - "dev": true - }, - "supports-color": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz", - "integrity": "sha1-cqJiiU2dQIuVbKBf83su2KbiotU=", - "dev": true, - "requires": { - "has-flag": "1.0.0" - } - } - } - }, - "mock-local-storage": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/mock-local-storage/-/mock-local-storage-1.0.2.tgz", - "integrity": "sha1-plplzdq0cHQz1Suk6fa2MIS4wpg=", - "dev": true, - "requires": { - "core-js": "0.8.4" - }, - "dependencies": { - "core-js": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-0.8.4.tgz", - "integrity": "sha1-wiZl8eDRucPF4bCNq9HxCGleT88=", - "dev": true - } - } - }, - "mock-socket": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/mock-socket/-/mock-socket-6.0.4.tgz", - "integrity": "sha1-hfWKCqg7wdtMp9FLQtj53WY+dWk=", - "dev": true - }, - "moment": { - "version": "2.17.0", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.17.0.tgz", - "integrity": "sha1-pMKS4CqsXd77Kabu0k9Rk43Tt08=" - }, - "mozjpeg": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/mozjpeg/-/mozjpeg-4.1.1.tgz", - "integrity": "sha1-hZAwsk9omlPbm0DwFg2JGVuI/VA=", - "dev": true, - "requires": { - "bin-build": "2.2.0", - "bin-wrapper": "3.0.2", - "logalot": "2.1.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "multicast-dns": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.1.1.tgz", - "integrity": "sha1-bn3oalcIcqsXBYrepxYLvsqBTd4=", - "dev": true, - "requires": { - "dns-packet": "1.2.2", - "thunky": "0.1.0" - } - }, - "multicast-dns-service-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", - "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", - "dev": true - }, - "multimatch": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-2.1.0.tgz", - "integrity": "sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=", - "dev": true, - "requires": { - "array-differ": "1.0.0", - "array-union": "1.0.2", - "arrify": "1.0.1", - "minimatch": "3.0.4" - } - }, - "multipipe": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz", - "integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=", - "dev": true, - "requires": { - "duplexer2": "0.0.2" - }, - "dependencies": { - "duplexer2": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", - "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", - "dev": true, - "requires": { - "readable-stream": "1.1.14" - } - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "0.0.1", - "string_decoder": "0.10.31" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - } - } - }, - "mute-stream": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz", - "integrity": "sha1-j7+rsKmKJT0xhDMfno3rc3L6xsA=", - "dev": true - }, - "nan": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.7.0.tgz", - "integrity": "sha1-2Vv3IeyHfgjbJ27T/G63j5CDrUY=" - }, - "native-promise-only": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/native-promise-only/-/native-promise-only-0.8.1.tgz", - "integrity": "sha1-IKMYwwy0X3H+et+/eyHJnBRy7xE=", - "dev": true - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true - }, - "ncname": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ncname/-/ncname-1.0.0.tgz", - "integrity": "sha1-W1etGLHKCShk72Kwse2BlPODtxw=", - "dev": true, - "requires": { - "xml-char-classes": "1.0.0" - } - }, - "negotiator": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", - "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=", - "dev": true - }, - "no-case": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", - "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", - "dev": true, - "requires": { - "lower-case": "1.1.4" - } - }, - "nock": { - "version": "9.0.7", - "resolved": "https://registry.npmjs.org/nock/-/nock-9.0.7.tgz", - "integrity": "sha1-zJNIG7FfOL7Co5xEQr4HglI1saE=", - "dev": true, - "requires": { - "chai": "3.5.0", - "debug": "2.6.9", - "deep-equal": "1.0.1", - "json-stringify-safe": "5.0.1", - "lodash": "4.17.4", - "mkdirp": "0.5.1", - "propagate": "0.4.0", - "qs": "6.5.1" - } - }, - "node-abi": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.1.1.tgz", - "integrity": "sha512-6oxV13poCOv7TfGvhsSz6XZWpXeKkdGVh72++cs33OfMh3KAX8lN84dCvmqSETyDXAFcUHtV7eJrgFBoOqZbNQ==" - }, - "node-dir": { - "version": "0.1.17", - "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", - "integrity": "sha1-X1Zl2TNRM1yqvvjxxVRRbPXx5OU=", - "dev": true, - "requires": { - "minimatch": "3.0.4" - } - }, - "node-fetch": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.6.3.tgz", - "integrity": "sha1-3CNO3WSJmC1Y6PDbT2lQKavNjAQ=", - "requires": { - "encoding": "0.1.12", - "is-stream": "1.1.0" - } - }, - "node-forge": { - "version": "0.6.33", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.6.33.tgz", - "integrity": "sha1-RjgRh59XPUUVWtap9D3ClujoXrw=", - "dev": true - }, - "node-libs-browser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.0.0.tgz", - "integrity": "sha1-o6WeyXAkmFtG6Vg3lkb5bEthZkY=", - "dev": true, - "requires": { - "assert": "1.4.1", - "browserify-zlib": "0.1.4", - "buffer": "4.9.1", - "console-browserify": "1.1.0", - "constants-browserify": "1.0.0", - "crypto-browserify": "3.11.1", - "domain-browser": "1.1.7", - "events": "1.1.1", - "https-browserify": "0.0.1", - "os-browserify": "0.2.1", - "path-browserify": "0.0.0", - "process": "0.11.10", - "punycode": "1.4.1", - "querystring-es3": "0.2.1", - "readable-stream": "2.3.3", - "stream-browserify": "2.0.1", - "stream-http": "2.7.2", - "string_decoder": "0.10.31", - "timers-browserify": "2.0.4", - "tty-browserify": "0.0.0", - "url": "0.11.0", - "util": "0.10.3", - "vm-browserify": "0.0.4" - }, - "dependencies": { - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "dev": true - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - } - } - }, - "node-status-codes": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-status-codes/-/node-status-codes-1.0.0.tgz", - "integrity": "sha1-WuVUHQJGRdMqWPzdyc7s6nrjrC8=", - "dev": true - }, - "noop-logger": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz", - "integrity": "sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI=" - }, - "nopt": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", - "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", - "dev": true, - "requires": { - "abbrev": "1.0.9" - } - }, - "normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", - "requires": { - "hosted-git-info": "2.5.0", - "is-builtin-module": "1.0.0", - "semver": "5.4.1", - "validate-npm-package-license": "3.0.1" - } - }, - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "1.1.0" - } - }, - "normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", - "dev": true - }, - "normalize-selector": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/normalize-selector/-/normalize-selector-0.2.0.tgz", - "integrity": "sha1-0LFF62kRicY6eNIB3E/bEpPvDAM=", - "dev": true - }, - "normalize-url": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", - "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", - "dev": true, - "requires": { - "object-assign": "4.1.1", - "prepend-http": "1.0.4", - "query-string": "4.3.4", - "sort-keys": "1.1.2" - } - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dev": true, - "requires": { - "path-key": "2.0.1" - } - }, - "npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "requires": { - "are-we-there-yet": "1.1.4", - "console-control-strings": "1.1.0", - "gauge": "2.7.4", - "set-blocking": "2.0.0" - } - }, - "nth-check": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.1.tgz", - "integrity": "sha1-mSms32KPwsQQmN6rgqxYDPFJquQ=", - "dev": true, - "requires": { - "boolbase": "1.0.0" - } - }, - "nugget": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/nugget/-/nugget-2.0.1.tgz", - "integrity": "sha1-IBCVpIfhrTYIGzQy+jytpPjQcbA=", - "dev": true, - "requires": { - "debug": "2.6.9", - "minimist": "1.2.0", - "pretty-bytes": "1.0.4", - "progress-stream": "1.2.0", - "request": "2.79.0", - "single-line-log": "1.1.2", - "throttleit": "0.0.2" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - } - } - }, - "num2fraction": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", - "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", - "dev": true - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" - }, - "nwmatcher": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/nwmatcher/-/nwmatcher-1.4.2.tgz", - "integrity": "sha512-QMkCGQFYp5p+zwU3INntLmz1HMfSx9dMVJMYKmE1yuSf/22Wjo6VPFa405mCLUuQn9lbQvH2DZN9lt10ZNvtAg==", - "dev": true - }, - "oauth-sign": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", - "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - }, - "object-is": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.0.1.tgz", - "integrity": "sha1-CqYOyZiaCz7Xlc9NBvYs8a1lObY=", - "dev": true - }, - "object-keys": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", - "integrity": "sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=", - "dev": true - }, - "object.assign": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.0.4.tgz", - "integrity": "sha1-scnMBE7xuf5jYG/BQau7MuFHMMw=", - "dev": true, - "requires": { - "define-properties": "1.1.2", - "function-bind": "1.1.1", - "object-keys": "1.0.11" - }, - "dependencies": { - "object-keys": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz", - "integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=", - "dev": true - } - } - }, - "object.entries": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.0.4.tgz", - "integrity": "sha1-G/mk3SKI9bM/Opk9JXZh8F0WGl8=", - "dev": true, - "requires": { - "define-properties": "1.1.2", - "es-abstract": "1.9.0", - "function-bind": "1.1.1", - "has": "1.0.1" - } - }, - "object.omit": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", - "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", - "dev": true, - "requires": { - "for-own": "0.1.5", - "is-extendable": "0.1.1" - } - }, - "object.values": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.0.4.tgz", - "integrity": "sha1-5STaCbT2b/Bd9FdUbscqyZ8TBpo=", - "dev": true, - "requires": { - "define-properties": "1.1.2", - "es-abstract": "1.9.0", - "function-bind": "1.1.1", - "has": "1.0.1" - } - }, - "obuf": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.1.tgz", - "integrity": "sha1-EEEktsYCxnlogaBCVB0220OlJk4=", - "dev": true - }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "dev": true, - "requires": { - "ee-first": "1.1.1" - } - }, - "on-headers": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz", - "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=", - "dev": true - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1.0.2" - } - }, - "onecolor": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/onecolor/-/onecolor-3.0.4.tgz", - "integrity": "sha1-daRvgNpseqpbTarhekcZi9llJJQ=", - "dev": true - }, - "onetime": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", - "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", - "dev": true - }, - "oo7": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/oo7/-/oo7-0.5.3.tgz", - "integrity": "sha1-9NrJBBivXOQcTAYPRMAVX7ZDa+Q=" - }, - "oo7-parity": { - "version": "0.6.8", - "resolved": "https://registry.npmjs.org/oo7-parity/-/oo7-parity-0.6.8.tgz", - "integrity": "sha1-xzluhPMzPG8L/coRO8sAG1zKhaY=", - "requires": { - "@parity/parity.js": "1.8.7", - "bignumber.js": "4.1.0", - "oo7": "0.5.6" - }, - "dependencies": { - "bignumber.js": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-4.1.0.tgz", - "integrity": "sha512-eJzYkFYy9L4JzXsbymsFn3p54D+llV27oTQ+ziJG7WFRheJcNZilgVXMG0LoZtlQSKBsJdWtLFqOD0u+U0jZKA==" - }, - "oo7": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/oo7/-/oo7-0.5.6.tgz", - "integrity": "sha1-dEPPgaX+PRA5kxTN4BHoAA6hYAM=" - } - } - }, - "oo7-react": { - "version": "0.4.5", - "resolved": "https://registry.npmjs.org/oo7-react/-/oo7-react-0.4.5.tgz", - "integrity": "sha1-kn/Onjjwn2iWlhooYhFIGrdvZZ8=", - "requires": { - "oo7": "0.5.6", - "react": "15.6.1" - }, - "dependencies": { - "oo7": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/oo7/-/oo7-0.5.6.tgz", - "integrity": "sha1-dEPPgaX+PRA5kxTN4BHoAA6hYAM=" - } - } - }, - "opn": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/opn/-/opn-4.0.2.tgz", - "integrity": "sha1-erwi5kTf9jsKltWrfyeQwPAavJU=", - "dev": true, - "requires": { - "object-assign": "4.1.1", - "pinkie-promise": "2.0.1" - } - }, - "optimist": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", - "dev": true, - "requires": { - "minimist": "0.0.8", - "wordwrap": "0.0.3" - }, - "dependencies": { - "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", - "dev": true - } - } - }, - "optionator": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", - "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", - "dev": true, - "requires": { - "deep-is": "0.1.3", - "fast-levenshtein": "2.0.6", - "levn": "0.3.0", - "prelude-ls": "1.1.2", - "type-check": "0.3.2", - "wordwrap": "1.0.0" - } - }, - "optipng-bin": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/optipng-bin/-/optipng-bin-3.1.4.tgz", - "integrity": "sha1-ldNPLEiHBPb9cGBr/qDGWfHZXYQ=", - "dev": true, - "requires": { - "bin-build": "2.2.0", - "bin-wrapper": "3.0.2", - "logalot": "2.1.0" - } - }, - "ordered-read-streams": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.3.0.tgz", - "integrity": "sha1-cTfmmzKYuzQiR6G77jiByA4v14s=", - "dev": true, - "requires": { - "is-stream": "1.1.0", - "readable-stream": "2.3.3" - } - }, - "original": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/original/-/original-1.0.0.tgz", - "integrity": "sha1-kUf5P6FpbQS+YeAb1QuurKZWvTs=", - "dev": true, - "requires": { - "url-parse": "1.0.5" - }, - "dependencies": { - "url-parse": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.0.5.tgz", - "integrity": "sha1-CFSGBCKv3P7+tsllxmLUgAFpkns=", - "dev": true, - "requires": { - "querystringify": "0.0.4", - "requires-port": "1.0.0" - } - } - } - }, - "os-browserify": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.2.1.tgz", - "integrity": "sha1-Y/xMzuXS13Y9Jrv4YBB45sLgBE8=", - "dev": true - }, - "os-filter-obj": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/os-filter-obj/-/os-filter-obj-1.0.3.tgz", - "integrity": "sha1-WRUzDZDs7VV9LZOKMcbdIU2cY60=", - "dev": true - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" - }, - "os-locale": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", - "requires": { - "lcid": "1.0.0" - } - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" - }, - "output-file-sync": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/output-file-sync/-/output-file-sync-1.1.2.tgz", - "integrity": "sha1-0KM+7+YaIF+suQCS6CZZjVJFznY=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "mkdirp": "0.5.1", - "object-assign": "4.1.1" - } - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true - }, - "p-limit": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.1.0.tgz", - "integrity": "sha1-sH/y2aXYi+yAYDWJWiurZqJ5iLw=", - "dev": true - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "requires": { - "p-limit": "1.1.0" - } - }, - "p-map": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", - "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==", - "dev": true - }, - "p-pipe": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/p-pipe/-/p-pipe-1.2.0.tgz", - "integrity": "sha1-SxoROZoRUgpneQ7loMHViB1r7+k=", - "dev": true - }, - "pako": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", - "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=", - "dev": true - }, - "param-case": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", - "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", - "dev": true, - "requires": { - "no-case": "2.3.2" - } - }, - "parity-reactive-ui": { - "version": "0.4.5", - "resolved": "https://registry.npmjs.org/parity-reactive-ui/-/parity-reactive-ui-0.4.5.tgz", - "integrity": "sha1-ravl0YV24B9iFSZP9LfbBUktnr8=", - "requires": { - "bignumber.js": "4.1.0", - "blockies": "0.0.2", - "oo7": "0.5.3", - "oo7-parity": "0.6.8", - "oo7-react": "0.4.5", - "prop-types": "15.5.10", - "react": "15.6.1", - "react-dom": "15.6.1", - "semantic-ui-css": "2.2.11", - "semantic-ui-react": "0.68.5" - }, - "dependencies": { - "bignumber.js": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-4.1.0.tgz", - "integrity": "sha512-eJzYkFYy9L4JzXsbymsFn3p54D+llV27oTQ+ziJG7WFRheJcNZilgVXMG0LoZtlQSKBsJdWtLFqOD0u+U0jZKA==" - }, - "semantic-ui-react": { - "version": "0.68.5", - "resolved": "https://registry.npmjs.org/semantic-ui-react/-/semantic-ui-react-0.68.5.tgz", - "integrity": "sha1-F5u4nDh/gRcCbKAfboSQ2x/Y5xM=", - "requires": { - "babel-runtime": "6.26.0", - "classnames": "2.2.5", - "debug": "2.6.9", - "lodash": "4.17.4", - "prop-types": "15.5.8" - }, - "dependencies": { - "prop-types": { - "version": "15.5.8", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.5.8.tgz", - "integrity": "sha1-a3suFBCDvjjIWVqlH8VXdccZk5Q=", - "requires": { - "fbjs": "0.8.16" - } - } - } - } - } - }, - "parse-asn1": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.0.tgz", - "integrity": "sha1-N8T5t+06tlx0gXtfJICTf7+XxxI=", - "dev": true, - "requires": { - "asn1.js": "4.9.1", - "browserify-aes": "1.0.8", - "create-hash": "1.1.3", - "evp_bytestokey": "1.0.3", - "pbkdf2": "3.0.14" - } - }, - "parse-glob": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", - "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", - "dev": true, - "requires": { - "glob-base": "0.3.0", - "is-dotfile": "1.0.3", - "is-extglob": "1.0.0", - "is-glob": "2.0.1" - } - }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "requires": { - "error-ex": "1.3.1" - } - }, - "parse5": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-1.5.1.tgz", - "integrity": "sha1-m387DeMr543CQBsXVzzK8Pb1nZQ=", - "dev": true - }, - "parseurl": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", - "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=", - "dev": true - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" - }, - "path-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", - "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=", - "dev": true - }, - "path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "dev": true - }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "requires": { - "pinkie-promise": "2.0.1" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" - }, - "path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", - "dev": true - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true - }, - "path-parse": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", - "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", - "dev": true - }, - "path-to-regexp": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz", - "integrity": "sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=", - "requires": { - "isarray": "0.0.1" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - } - } - }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "requires": { - "graceful-fs": "4.1.11", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" - } - }, - "pbkdf2": { - "version": "3.0.14", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.14.tgz", - "integrity": "sha512-gjsZW9O34fm0R7PaLHRJmLLVfSoesxztjPjE9o6R+qtVJij90ltg1joIovN9GKrRW3t1PzhDDG3UMEMFfZ+1wA==", - "dev": true, - "requires": { - "create-hash": "1.1.3", - "create-hmac": "1.1.6", - "ripemd160": "2.0.1", - "safe-buffer": "5.1.1", - "sha.js": "2.4.9" - } - }, - "pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", - "dev": true - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" - }, - "phoneformat.js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/phoneformat.js/-/phoneformat.js-1.0.3.tgz", - "integrity": "sha1-Eb40dOdkdFQP43NMwz8aZYQdX4c=" - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "requires": { - "pinkie": "2.0.4" - } - }, - "pipetteur": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/pipetteur/-/pipetteur-2.0.3.tgz", - "integrity": "sha1-GVV2CVno0aEcsqUOyD7sRwYz5J8=", - "dev": true, - "requires": { - "onecolor": "3.0.4", - "synesthesia": "1.0.1" - } - }, - "pkg-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", - "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", - "dev": true, - "requires": { - "find-up": "2.1.0" - }, - "dependencies": { - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "2.0.0" - } - } - } - }, - "plur": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/plur/-/plur-2.1.2.tgz", - "integrity": "sha1-dIJFLBoPUI4+NE6uwxLJHCncZVo=", - "dev": true, - "requires": { - "irregular-plurals": "1.3.0" - } - }, - "pluralize": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz", - "integrity": "sha1-0aIUg/0iu0HlihL6NCGCMUCJfEU=", - "dev": true - }, - "pngquant-bin": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/pngquant-bin/-/pngquant-bin-3.1.1.tgz", - "integrity": "sha1-0STZinWpSH9AwWQLTb/Lsr1aH9E=", - "dev": true, - "requires": { - "bin-build": "2.2.0", - "bin-wrapper": "3.0.2", - "logalot": "2.1.0" - } - }, - "portfinder": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.13.tgz", - "integrity": "sha1-uzLs2HwnEErm7kS1o8y/Drsa7ek=", - "dev": true, - "requires": { - "async": "1.5.2", - "debug": "2.6.9", - "mkdirp": "0.5.1" - }, - "dependencies": { - "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", - "dev": true - } - } - }, - "postcss": { - "version": "5.2.18", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", - "dev": true, - "requires": { - "chalk": "1.1.3", - "js-base64": "2.3.2", - "source-map": "0.5.7", - "supports-color": "3.2.3" - }, - "dependencies": { - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "1.0.0" - } - } - } - }, - "postcss-calc": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-5.3.1.tgz", - "integrity": "sha1-d7rnypKK2FcW4v2kLyYb98HWW14=", - "dev": true, - "requires": { - "postcss": "5.2.18", - "postcss-message-helpers": "2.0.0", - "reduce-css-calc": "1.3.0" - } - }, - "postcss-colormin": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-2.2.2.tgz", - "integrity": "sha1-ZjFBfV8OkJo9fsJrJMio0eT5bks=", - "dev": true, - "requires": { - "colormin": "1.1.2", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" - } - }, - "postcss-convert-values": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz", - "integrity": "sha1-u9hZPFwf0uPRwyK7kl3K6Nrk1i0=", - "dev": true, - "requires": { - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" - } - }, - "postcss-discard-comments": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz", - "integrity": "sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0=", - "dev": true, - "requires": { - "postcss": "5.2.18" - } - }, - "postcss-discard-duplicates": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz", - "integrity": "sha1-uavye4isGIFYpesSq8riAmO5GTI=", - "dev": true, - "requires": { - "postcss": "5.2.18" - } - }, - "postcss-discard-empty": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz", - "integrity": "sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU=", - "dev": true, - "requires": { - "postcss": "5.2.18" - } - }, - "postcss-discard-overridden": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz", - "integrity": "sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg=", - "dev": true, - "requires": { - "postcss": "5.2.18" - } - }, - "postcss-discard-unused": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz", - "integrity": "sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM=", - "dev": true, - "requires": { - "postcss": "5.2.18", - "uniqs": "2.0.0" - } - }, - "postcss-filter-plugins": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/postcss-filter-plugins/-/postcss-filter-plugins-2.0.2.tgz", - "integrity": "sha1-bYWGJTTXNaxCDkqFgG4fXUKG2Ew=", - "dev": true, - "requires": { - "postcss": "5.2.18", - "uniqid": "4.1.1" - } - }, - "postcss-import": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-10.0.0.tgz", - "integrity": "sha1-TIXJewmRNsxeoCQNwd/b/eTi674=", - "dev": true, - "requires": { - "object-assign": "4.1.1", - "postcss": "6.0.13", - "postcss-value-parser": "3.3.0", - "read-cache": "1.0.0", - "resolve": "1.4.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", - "dev": true, - "requires": { - "color-convert": "1.9.0" - } - }, - "chalk": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz", - "integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==", - "dev": true, - "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "4.4.0" - } - }, - "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", - "dev": true - }, - "postcss": { - "version": "6.0.13", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz", - "integrity": "sha512-nHsrD1PPTMSJDfU+osVsLtPkSP9YGeoOz4FDLN4r1DW4N5vqL1J+gACzTQHsfwIiWG/0/nV4yCzjTMo1zD8U1g==", - "dev": true, - "requires": { - "chalk": "2.1.0", - "source-map": "0.6.1", - "supports-color": "4.4.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", - "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", - "dev": true, - "requires": { - "has-flag": "2.0.0" - } - } - } - }, - "postcss-less": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/postcss-less/-/postcss-less-0.14.0.tgz", - "integrity": "sha1-xjGwicbM5CK5oQ86lY0r7dOBkyQ=", - "dev": true, - "requires": { - "postcss": "5.2.18" - } - }, - "postcss-load-config": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-1.2.0.tgz", - "integrity": "sha1-U56a/J3chiASHr+djDZz4M5Q0oo=", - "dev": true, - "requires": { - "cosmiconfig": "2.2.2", - "object-assign": "4.1.1", - "postcss-load-options": "1.2.0", - "postcss-load-plugins": "2.3.0" - } - }, - "postcss-load-options": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/postcss-load-options/-/postcss-load-options-1.2.0.tgz", - "integrity": "sha1-sJixVZ3awt8EvAuzdfmaXP4rbYw=", - "dev": true, - "requires": { - "cosmiconfig": "2.2.2", - "object-assign": "4.1.1" - } - }, - "postcss-load-plugins": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/postcss-load-plugins/-/postcss-load-plugins-2.3.0.tgz", - "integrity": "sha1-dFdoEWWZrKLwCfrUJrABdQSdjZI=", - "dev": true, - "requires": { - "cosmiconfig": "2.2.2", - "object-assign": "4.1.1" - } - }, - "postcss-loader": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-2.0.6.tgz", - "integrity": "sha512-HIq7yy1hh9KI472Y38iSRV4WupZUNy6zObkxQM/ZuInoaE2+PyX4NcO6jjP5HG5mXL7j5kcNEl0fAG4Kva7O9w==", - "dev": true, - "requires": { - "loader-utils": "1.1.0", - "postcss": "6.0.13", - "postcss-load-config": "1.2.0", - "schema-utils": "0.3.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", - "dev": true, - "requires": { - "color-convert": "1.9.0" - } - }, - "chalk": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz", - "integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==", - "dev": true, - "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "4.4.0" - } - }, - "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", - "dev": true - }, - "loader-utils": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", - "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", - "dev": true, - "requires": { - "big.js": "3.2.0", - "emojis-list": "2.1.0", - "json5": "0.5.1" - } - }, - "postcss": { - "version": "6.0.13", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz", - "integrity": "sha512-nHsrD1PPTMSJDfU+osVsLtPkSP9YGeoOz4FDLN4r1DW4N5vqL1J+gACzTQHsfwIiWG/0/nV4yCzjTMo1zD8U1g==", - "dev": true, - "requires": { - "chalk": "2.1.0", - "source-map": "0.6.1", - "supports-color": "4.4.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", - "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", - "dev": true, - "requires": { - "has-flag": "2.0.0" - } - } - } - }, - "postcss-media-query-parser": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", - "integrity": "sha1-J7Ocb02U+Bsac7j3Y1HGCeXO8kQ=", - "dev": true - }, - "postcss-merge-idents": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz", - "integrity": "sha1-TFUwMTwI4dWzu/PSu8dH4njuonA=", - "dev": true, - "requires": { - "has": "1.0.1", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" - } - }, - "postcss-merge-longhand": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz", - "integrity": "sha1-I9kM0Sewp3mUkVMyc5A0oaTz1lg=", - "dev": true, - "requires": { - "postcss": "5.2.18" - } - }, - "postcss-merge-rules": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz", - "integrity": "sha1-0d9d+qexrMO+VT8OnhDofGG19yE=", - "dev": true, - "requires": { - "browserslist": "1.7.7", - "caniuse-api": "1.6.1", - "postcss": "5.2.18", - "postcss-selector-parser": "2.2.3", - "vendors": "1.0.1" - }, - "dependencies": { - "browserslist": { - "version": "1.7.7", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", - "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", - "dev": true, - "requires": { - "caniuse-db": "1.0.30000745", - "electron-to-chromium": "1.3.24" - } - } - } - }, - "postcss-message-helpers": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz", - "integrity": "sha1-pPL0+rbk/gAvCu0ABHjN9S+bpg4=", - "dev": true - }, - "postcss-minify-font-values": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz", - "integrity": "sha1-S1jttWZB66fIR0qzUmyv17vey2k=", - "dev": true, - "requires": { - "object-assign": "4.1.1", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" - } - }, - "postcss-minify-gradients": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz", - "integrity": "sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE=", - "dev": true, - "requires": { - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" - } - }, - "postcss-minify-params": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz", - "integrity": "sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM=", - "dev": true, - "requires": { - "alphanum-sort": "1.0.2", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0", - "uniqs": "2.0.0" - } - }, - "postcss-minify-selectors": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz", - "integrity": "sha1-ssapjAByz5G5MtGkllCBFDEXNb8=", - "dev": true, - "requires": { - "alphanum-sort": "1.0.2", - "has": "1.0.1", - "postcss": "5.2.18", - "postcss-selector-parser": "2.2.3" - } - }, - "postcss-modules-extract-imports": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.1.0.tgz", - "integrity": "sha1-thTJcgvmgW6u41+zpfqh26agXds=", - "dev": true, - "requires": { - "postcss": "6.0.13" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", - "dev": true, - "requires": { - "color-convert": "1.9.0" - } - }, - "chalk": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz", - "integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==", - "dev": true, - "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "4.4.0" - } - }, - "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", - "dev": true - }, - "postcss": { - "version": "6.0.13", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz", - "integrity": "sha512-nHsrD1PPTMSJDfU+osVsLtPkSP9YGeoOz4FDLN4r1DW4N5vqL1J+gACzTQHsfwIiWG/0/nV4yCzjTMo1zD8U1g==", - "dev": true, - "requires": { - "chalk": "2.1.0", - "source-map": "0.6.1", - "supports-color": "4.4.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", - "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", - "dev": true, - "requires": { - "has-flag": "2.0.0" - } - } - } - }, - "postcss-modules-local-by-default": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz", - "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", - "dev": true, - "requires": { - "css-selector-tokenizer": "0.7.0", - "postcss": "6.0.13" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", - "dev": true, - "requires": { - "color-convert": "1.9.0" - } - }, - "chalk": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz", - "integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==", - "dev": true, - "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "4.4.0" - } - }, - "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", - "dev": true - }, - "postcss": { - "version": "6.0.13", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz", - "integrity": "sha512-nHsrD1PPTMSJDfU+osVsLtPkSP9YGeoOz4FDLN4r1DW4N5vqL1J+gACzTQHsfwIiWG/0/nV4yCzjTMo1zD8U1g==", - "dev": true, - "requires": { - "chalk": "2.1.0", - "source-map": "0.6.1", - "supports-color": "4.4.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", - "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", - "dev": true, - "requires": { - "has-flag": "2.0.0" - } - } - } - }, - "postcss-modules-scope": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz", - "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", - "dev": true, - "requires": { - "css-selector-tokenizer": "0.7.0", - "postcss": "6.0.13" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", - "dev": true, - "requires": { - "color-convert": "1.9.0" - } - }, - "chalk": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz", - "integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==", - "dev": true, - "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "4.4.0" - } - }, - "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", - "dev": true - }, - "postcss": { - "version": "6.0.13", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz", - "integrity": "sha512-nHsrD1PPTMSJDfU+osVsLtPkSP9YGeoOz4FDLN4r1DW4N5vqL1J+gACzTQHsfwIiWG/0/nV4yCzjTMo1zD8U1g==", - "dev": true, - "requires": { - "chalk": "2.1.0", - "source-map": "0.6.1", - "supports-color": "4.4.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", - "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", - "dev": true, - "requires": { - "has-flag": "2.0.0" - } - } - } - }, - "postcss-modules-values": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz", - "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=", - "dev": true, - "requires": { - "icss-replace-symbols": "1.1.0", - "postcss": "6.0.13" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", - "dev": true, - "requires": { - "color-convert": "1.9.0" - } - }, - "chalk": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz", - "integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==", - "dev": true, - "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "4.4.0" - } - }, - "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", - "dev": true - }, - "postcss": { - "version": "6.0.13", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz", - "integrity": "sha512-nHsrD1PPTMSJDfU+osVsLtPkSP9YGeoOz4FDLN4r1DW4N5vqL1J+gACzTQHsfwIiWG/0/nV4yCzjTMo1zD8U1g==", - "dev": true, - "requires": { - "chalk": "2.1.0", - "source-map": "0.6.1", - "supports-color": "4.4.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", - "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", - "dev": true, - "requires": { - "has-flag": "2.0.0" - } - } - } - }, - "postcss-nested": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-2.1.0.tgz", - "integrity": "sha512-0DbCNWZSI8SapZkfY1Ni/3019ZQWTe3wair/5tFLzXMi8u8pNWbc+EJDq+ckakylF0WnSrKIlJAd1mG32jsE/A==", - "dev": true, - "requires": { - "postcss": "6.0.13", - "postcss-selector-parser": "2.2.3" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", - "dev": true, - "requires": { - "color-convert": "1.9.0" - } - }, - "chalk": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz", - "integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==", - "dev": true, - "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "4.4.0" - } - }, - "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", - "dev": true - }, - "postcss": { - "version": "6.0.13", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz", - "integrity": "sha512-nHsrD1PPTMSJDfU+osVsLtPkSP9YGeoOz4FDLN4r1DW4N5vqL1J+gACzTQHsfwIiWG/0/nV4yCzjTMo1zD8U1g==", - "dev": true, - "requires": { - "chalk": "2.1.0", - "source-map": "0.6.1", - "supports-color": "4.4.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", - "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", - "dev": true, - "requires": { - "has-flag": "2.0.0" - } - } - } - }, - "postcss-normalize-charset": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz", - "integrity": "sha1-757nEhLX/nWceO0WL2HtYrXLk/E=", - "dev": true, - "requires": { - "postcss": "5.2.18" - } - }, - "postcss-normalize-url": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz", - "integrity": "sha1-EI90s/L82viRov+j6kWSJ5/HgiI=", - "dev": true, - "requires": { - "is-absolute-url": "2.1.0", - "normalize-url": "1.9.1", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" - } - }, - "postcss-ordered-values": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz", - "integrity": "sha1-7sbCpntsQSqNsgQud/6NpD+VwR0=", - "dev": true, - "requires": { - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" - } - }, - "postcss-reduce-idents": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz", - "integrity": "sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM=", - "dev": true, - "requires": { - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" - } - }, - "postcss-reduce-initial": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz", - "integrity": "sha1-aPgGlfBF0IJjqHmtJA343WT2ROo=", - "dev": true, - "requires": { - "postcss": "5.2.18" - } - }, - "postcss-reduce-transforms": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz", - "integrity": "sha1-/3b02CEkN7McKYpC0uFEQCV3GuE=", - "dev": true, - "requires": { - "has": "1.0.1", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0" - } - }, - "postcss-reporter": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-3.0.0.tgz", - "integrity": "sha1-CeoPN6RExWk4eGBuCbAY6+/3z48=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "lodash": "4.17.4", - "log-symbols": "1.0.2", - "postcss": "5.2.18" - } - }, - "postcss-resolve-nested-selector": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz", - "integrity": "sha1-Kcy8fDfe36wwTp//C/FZaz9qDk4=", - "dev": true - }, - "postcss-scss": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-0.4.1.tgz", - "integrity": "sha1-rXcbgfD3L19IRdCKpg+TVXZT1Uw=", - "dev": true, - "requires": { - "postcss": "5.2.18" - } - }, - "postcss-selector-parser": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz", - "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=", - "dev": true, - "requires": { - "flatten": "1.0.2", - "indexes-of": "1.0.1", - "uniq": "1.0.1" - } - }, - "postcss-simple-vars": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-simple-vars/-/postcss-simple-vars-4.0.0.tgz", - "integrity": "sha1-1J4IKJfZpIJPImj6kdlp2UPi6nY=", - "dev": true, - "requires": { - "postcss": "6.0.13" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", - "dev": true, - "requires": { - "color-convert": "1.9.0" - } - }, - "chalk": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz", - "integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==", - "dev": true, - "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "4.4.0" - } - }, - "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", - "dev": true - }, - "postcss": { - "version": "6.0.13", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.13.tgz", - "integrity": "sha512-nHsrD1PPTMSJDfU+osVsLtPkSP9YGeoOz4FDLN4r1DW4N5vqL1J+gACzTQHsfwIiWG/0/nV4yCzjTMo1zD8U1g==", - "dev": true, - "requires": { - "chalk": "2.1.0", - "source-map": "0.6.1", - "supports-color": "4.4.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", - "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", - "dev": true, - "requires": { - "has-flag": "2.0.0" - } - } - } - }, - "postcss-svgo": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-2.1.6.tgz", - "integrity": "sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0=", - "dev": true, - "requires": { - "is-svg": "2.1.0", - "postcss": "5.2.18", - "postcss-value-parser": "3.3.0", - "svgo": "0.7.2" - } - }, - "postcss-unique-selectors": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz", - "integrity": "sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0=", - "dev": true, - "requires": { - "alphanum-sort": "1.0.2", - "postcss": "5.2.18", - "uniqs": "2.0.0" - } - }, - "postcss-value-parser": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz", - "integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU=", - "dev": true - }, - "postcss-zindex": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-2.2.0.tgz", - "integrity": "sha1-0hCd3AVbka9n/EyzsCWUZjnSryI=", - "dev": true, - "requires": { - "has": "1.0.1", - "postcss": "5.2.18", - "uniqs": "2.0.0" - } - }, - "prebuild-install": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-2.3.0.tgz", - "integrity": "sha512-gzjq2oHB8oMbzJSsSh9MQ64zrXZGt092/uT4TLZlz2qnrPxpWqp4vYB7LZrDxnlxf5RfbCjkgDI/z0EIVuYzAw==", - "requires": { - "expand-template": "1.1.0", - "github-from-package": "0.0.0", - "minimist": "1.2.0", - "mkdirp": "0.5.1", - "node-abi": "2.1.1", - "noop-logger": "0.1.1", - "npmlog": "4.1.2", - "os-homedir": "1.0.2", - "pump": "1.0.2", - "rc": "1.2.1", - "simple-get": "1.4.3", - "tar-fs": "1.16.0", - "tunnel-agent": "0.6.0", - "xtend": "4.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" - } - } - }, - "prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true - }, - "prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", - "dev": true - }, - "preserve": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", - "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", - "dev": true - }, - "pretty-bytes": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-1.0.4.tgz", - "integrity": "sha1-CiLoIQYJrTVUL4yNXSFZr/B1HIQ=", - "dev": true, - "requires": { - "get-stdin": "4.0.1", - "meow": "3.7.0" - }, - "dependencies": { - "get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", - "dev": true - } - } - }, - "pretty-error": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.1.tgz", - "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=", - "dev": true, - "requires": { - "renderkid": "2.0.1", - "utila": "0.4.0" - } - }, - "private": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/private/-/private-0.1.7.tgz", - "integrity": "sha1-aM5eih7woju1cMwoU3tTMqumPvE=" - }, - "process": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz", - "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=", - "dev": true - }, - "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" - }, - "progress": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz", - "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=", - "dev": true - }, - "progress-stream": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/progress-stream/-/progress-stream-1.2.0.tgz", - "integrity": "sha1-LNPP6jO6OonJwSHsM0er6asSX3c=", - "dev": true, - "requires": { - "speedometer": "0.1.4", - "through2": "0.2.3" - } - }, - "promise": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", - "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", - "requires": { - "asap": "2.0.6" - } - }, - "promise-worker": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/promise-worker/-/promise-worker-1.1.1.tgz", - "integrity": "sha1-wrddBF0kliXAImTi3/mtIuAxxps=", - "requires": { - "is-promise": "2.1.0", - "lie": "3.1.1" - } - }, - "prop-types": { - "version": "15.5.10", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.5.10.tgz", - "integrity": "sha1-J5ffwxJhguOpXj37suiT3ddFYVQ=", - "requires": { - "fbjs": "0.8.16", - "loose-envify": "1.3.1" - } - }, - "propagate": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/propagate/-/propagate-0.4.0.tgz", - "integrity": "sha1-8/zKCm/gZzanulcpZgaWF8EwtIE=", - "dev": true - }, - "proxy-addr": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-1.1.5.tgz", - "integrity": "sha1-ccDuOxAt4/IC87ZPYI0XP8uhqRg=", - "dev": true, - "requires": { - "forwarded": "0.1.2", - "ipaddr.js": "1.4.0" - } - }, - "prr": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz", - "integrity": "sha1-GoS4WQgyVQFBGFPQCB7j+obikmo=", - "dev": true - }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", - "dev": true - }, - "public-encrypt": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.0.tgz", - "integrity": "sha1-OfaZ86RlYN1eusvKaTyvfGXBjMY=", - "dev": true, - "requires": { - "bn.js": "4.11.8", - "browserify-rsa": "4.0.1", - "create-hash": "1.1.3", - "parse-asn1": "5.1.0", - "randombytes": "2.0.5" - } - }, - "pump": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.2.tgz", - "integrity": "sha1-Oz7mUS+U8OV1U4wXmV+fFpkKXVE=", - "requires": { - "end-of-stream": "1.4.0", - "once": "1.4.0" - } - }, - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - }, - "push.js": { - "version": "0.0.11", - "resolved": "https://registry.npmjs.org/push.js/-/push.js-0.0.11.tgz", - "integrity": "sha1-T606n5CEQhLiqmfQc6I9Rw4yqJE=" - }, - "q": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.0.tgz", - "integrity": "sha1-3QG6ydBtMObyGa7LglPunr3DCPE=", - "dev": true - }, - "qrcode-generator": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/qrcode-generator/-/qrcode-generator-1.2.0.tgz", - "integrity": "sha1-8YZUY/F4ZUfrsJDnxDC/PK9DoBc=" - }, - "qs": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", - "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==" - }, - "query-string": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", - "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", - "requires": { - "object-assign": "4.1.1", - "strict-uri-encode": "1.1.0" - } - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "dev": true - }, - "querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", - "dev": true - }, - "querystringify": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-0.0.4.tgz", - "integrity": "sha1-DPf4T5Rj/wrlHExLFC2VvjdyTZw=", - "dev": true - }, - "raf": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.0.tgz", - "integrity": "sha512-pDP/NMRAXoTfrhCfyfSEwJAKLaxBU9eApMeBPB1TkDouZmvPerIClV8lTAd+uF8ZiTaVl69e1FCxQrAd/VTjGw==", - "requires": { - "performance-now": "2.1.0" - } - }, - "randomatic": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", - "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", - "dev": true, - "requires": { - "is-number": "3.0.0", - "kind-of": "4.0.0" - }, - "dependencies": { - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "3.2.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "1.1.5" - } - } - } - }, - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "requires": { - "is-buffer": "1.1.5" - } - } - } - }, - "randombytes": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.5.tgz", - "integrity": "sha512-8T7Zn1AhMsQ/HI1SjcCfT/t4ii3eAqco3yOcSzS4mozsOz69lHLsoMXmF9nZgnFanYscnSlUSgs8uZyKzpE6kg==", - "dev": true, - "requires": { - "safe-buffer": "5.1.1" - } - }, - "range-parser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", - "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=", - "dev": true - }, - "raw-loader": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-0.5.1.tgz", - "integrity": "sha1-DD0L6u2KAclm2Xh793goElKpeao=", - "dev": true - }, - "rc": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.1.tgz", - "integrity": "sha1-LgPo5C7kULjLPc5lvhv4l04d/ZU=", - "requires": { - "deep-extend": "0.4.2", - "ini": "1.3.4", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" - } - } - }, - "react": { - "version": "15.6.1", - "resolved": "https://registry.npmjs.org/react/-/react-15.6.1.tgz", - "integrity": "sha1-uqhDTsZ4C96ZfNw4C3nNM7ljk98=", - "requires": { - "create-react-class": "15.6.2", - "fbjs": "0.8.16", - "loose-envify": "1.3.1", - "object-assign": "4.1.1", - "prop-types": "15.5.10" - } - }, - "react-ace": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/react-ace/-/react-ace-4.1.0.tgz", - "integrity": "sha1-ZZ+qAQ0XP2DWqJQPCzJcXkIsq1Q=", - "requires": { - "brace": "0.8.0", - "lodash.isequal": "4.5.0" - }, - "dependencies": { - "brace": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/brace/-/brace-0.8.0.tgz", - "integrity": "sha1-6CbG1QVMrl9getexyBI23SzwGXg=", - "requires": { - "w3c-blob": "0.0.1" - } - } - } - }, - "react-addons-create-fragment": { - "version": "15.6.2", - "resolved": "https://registry.npmjs.org/react-addons-create-fragment/-/react-addons-create-fragment-15.6.2.tgz", - "integrity": "sha1-o5TefCx77Na1R1uhuXrEcs58dPg=", - "requires": { - "fbjs": "0.8.16", - "loose-envify": "1.3.1", - "object-assign": "4.1.1" - } - }, - "react-addons-perf": { - "version": "15.4.2", - "resolved": "https://registry.npmjs.org/react-addons-perf/-/react-addons-perf-15.4.2.tgz", - "integrity": "sha1-EQvc9cRZxPd8uF7WNLzTOXU2ODs=", - "dev": true, - "requires": { - "fbjs": "0.8.16", - "object-assign": "4.1.1" - } - }, - "react-addons-test-utils": { - "version": "15.4.2", - "resolved": "https://registry.npmjs.org/react-addons-test-utils/-/react-addons-test-utils-15.4.2.tgz", - "integrity": "sha1-k7yqcY/K5zYNQuj7HAl1bMNjAqI=", - "dev": true, - "requires": { - "fbjs": "0.8.16", - "object-assign": "4.1.1" - } - }, - "react-addons-transition-group": { - "version": "15.6.2", - "resolved": "https://registry.npmjs.org/react-addons-transition-group/-/react-addons-transition-group-15.6.2.tgz", - "integrity": "sha1-i668Kukczb8kX+Kcn9PTb4tHGSM=", - "requires": { - "react-transition-group": "1.2.1" - } - }, - "react-container-dimensions": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/react-container-dimensions/-/react-container-dimensions-1.2.0.tgz", - "integrity": "sha1-v7XnDhCqgtLsukkUfRS7TCLK/ao=", - "requires": { - "element-resize-detector": "1.1.12", - "invariant": "2.2.2" - } - }, - "react-copy-to-clipboard": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/react-copy-to-clipboard/-/react-copy-to-clipboard-4.2.3.tgz", - "integrity": "sha1-JoxaD73pqV2WFFAU5/hRELDn+44=", - "requires": { - "copy-to-clipboard": "3.0.8" - } - }, - "react-datetime": { - "version": "2.8.10", - "resolved": "https://registry.npmjs.org/react-datetime/-/react-datetime-2.8.10.tgz", - "integrity": "sha1-BtQxe3c0MQ4OgQlVVSZlYSg0YTI=", - "requires": { - "create-react-class": "15.6.2", - "object-assign": "3.0.0", - "prop-types": "15.5.10", - "react-onclickoutside": "5.11.1" - }, - "dependencies": { - "object-assign": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", - "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=" - } - } - }, - "react-deep-force-update": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/react-deep-force-update/-/react-deep-force-update-2.1.1.tgz", - "integrity": "sha1-jqQmPNZFWgULN0RbPwj9g52G6Qk=", - "dev": true - }, - "react-dom": { - "version": "15.6.1", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-15.6.1.tgz", - "integrity": "sha1-LLDtQZEDjlPCCes6eaI+Kkz5lHA=", - "requires": { - "fbjs": "0.8.16", - "loose-envify": "1.3.1", - "object-assign": "4.1.1", - "prop-types": "15.5.10" - } - }, - "react-dropzone": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/react-dropzone/-/react-dropzone-3.7.3.tgz", - "integrity": "sha1-eFK2ZSpDr8f6ByAh8zaRI+pKYeA=", - "requires": { - "attr-accept": "1.1.0" - } - }, - "react-element-to-jsx-string": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/react-element-to-jsx-string/-/react-element-to-jsx-string-6.0.0.tgz", - "integrity": "sha1-8sFRR27o3YF4ke01K+Ss6fs2McI=", - "requires": { - "collapse-white-space": "1.0.3", - "is-plain-object": "2.0.4", - "lodash": "4.17.4", - "sortobject": "1.1.1", - "stringify-object": "3.2.1", - "traverse": "0.6.6" - } - }, - "react-event-listener": { - "version": "0.4.5", - "resolved": "https://registry.npmjs.org/react-event-listener/-/react-event-listener-0.4.5.tgz", - "integrity": "sha1-4+iVoJcM8U7o+JAROvaBl6vz0LE=", - "requires": { - "babel-runtime": "6.26.0", - "fbjs": "0.8.16", - "prop-types": "15.5.10", - "warning": "3.0.0" - } - }, - "react-hot-loader": { - "version": "3.0.0-beta.6", - "resolved": "https://registry.npmjs.org/react-hot-loader/-/react-hot-loader-3.0.0-beta.6.tgz", - "integrity": "sha1-Rj+sC/yLY6g4UlivIMkWNqvOdfQ=", - "dev": true, - "requires": { - "babel-template": "6.26.0", - "global": "4.3.2", - "react-deep-force-update": "2.1.1", - "react-proxy": "3.0.0-alpha.1", - "redbox-react": "1.5.0", - "source-map": "0.4.4" - }, - "dependencies": { - "source-map": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", - "dev": true, - "requires": { - "amdefine": "1.0.1" - } - } - } - }, - "react-intl": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-2.1.5.tgz", - "integrity": "sha1-+Xleo0t5DctdDY73Bg3dvoW/h2M=", - "requires": { - "intl-format-cache": "2.0.5", - "intl-messageformat": "1.3.0", - "intl-relativeformat": "1.3.0", - "invariant": "2.2.2" - } - }, - "react-intl-aggregate-webpack-plugin": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/react-intl-aggregate-webpack-plugin/-/react-intl-aggregate-webpack-plugin-0.0.1.tgz", - "integrity": "sha1-wplYhg17zfpvRg3sefVa4CIEiMY=", - "dev": true, - "requires": { - "mkdirp": "0.5.1" - } - }, - "react-markdown": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-2.5.0.tgz", - "integrity": "sha1-scYZBP7liViGgDvZ332yPD3DqJ4=", - "requires": { - "commonmark": "0.24.0", - "commonmark-react-renderer": "4.3.3", - "in-publish": "2.0.0", - "prop-types": "15.5.10" - } - }, - "react-onclickoutside": { - "version": "5.11.1", - "resolved": "https://registry.npmjs.org/react-onclickoutside/-/react-onclickoutside-5.11.1.tgz", - "integrity": "sha1-ADFOUlZ89V+rqUyrus0RlhkHBiM=", - "requires": { - "create-react-class": "15.6.2" - } - }, - "react-portal": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/react-portal/-/react-portal-3.0.0.tgz", - "integrity": "sha1-kwT86DbooyFrIliPjckbRHco8K4=" - }, - "react-proxy": { - "version": "3.0.0-alpha.1", - "resolved": "https://registry.npmjs.org/react-proxy/-/react-proxy-3.0.0-alpha.1.tgz", - "integrity": "sha1-RABCa8+oDKpnJMd1VpUxUgn6Swc=", - "dev": true, - "requires": { - "lodash": "4.17.4" - } - }, - "react-qr-reader": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/react-qr-reader/-/react-qr-reader-1.1.3.tgz", - "integrity": "sha512-ruBF8KaSwUW9nbzjO4rA7/HOCGYZuNUz9od7uBRy8SRBi24nwxWWmwa2z8R6vPGDRglA0y2Qk1aVBuC1olTnHw==", - "requires": { - "jsqr": "git+https://github.com/JodusNodus/jsQR.git#5ba1acefa1cbb9b2bc92b49f503f2674e2ec212b", - "prop-types": "15.5.10", - "webrtc-adapter": "2.1.0" - } - }, - "react-redux": { - "version": "4.4.6", - "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-4.4.6.tgz", - "integrity": "sha1-S50ymFMHoRCWot1hVhmABE/MYgk=", - "requires": { - "hoist-non-react-statics": "1.2.0", - "invariant": "2.2.2", - "lodash": "4.17.4", - "loose-envify": "1.3.1" - } - }, - "react-router": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-3.0.0.tgz", - "integrity": "sha1-PzE+Tbr1cEjEjdCow8rCTZNmff8=", - "requires": { - "history": "3.3.0", - "hoist-non-react-statics": "1.2.0", - "invariant": "2.2.2", - "loose-envify": "1.3.1", - "warning": "3.0.0" - } - }, - "react-router-redux": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/react-router-redux/-/react-router-redux-4.0.7.tgz", - "integrity": "sha1-mx/eTnAQbFD0chThK92IjPuW4qY=" - }, - "react-smooth": { - "version": "0.1.11", - "resolved": "https://registry.npmjs.org/react-smooth/-/react-smooth-0.1.11.tgz", - "integrity": "sha1-84n45Yy7VGq7SSHKDL57B5vFGg0=", - "requires": { - "lodash": "4.13.1", - "raf": "3.4.0", - "react-addons-transition-group": "15.6.2" - }, - "dependencies": { - "lodash": { - "version": "4.13.1", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.13.1.tgz", - "integrity": "sha1-g+SxCRP0hJbU0W/sSlYK8u50S2g=" - } - } - }, - "react-tap-event-plugin": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/react-tap-event-plugin/-/react-tap-event-plugin-2.0.1.tgz", - "integrity": "sha1-MWvrO8ZVbinshppyk+icgmqQdNI=", - "requires": { - "fbjs": "0.8.16" - } - }, - "react-tooltip": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/react-tooltip/-/react-tooltip-3.2.2.tgz", - "integrity": "sha1-OlmcDqu9nrlZeqLXKyF/17o1h2c=", - "requires": { - "classnames": "2.2.5" - } - }, - "react-transition-group": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-1.2.1.tgz", - "integrity": "sha512-CWaL3laCmgAFdxdKbhhps+c0HRGF4c+hdM4H23+FI1QBNUyx/AMeIJGWorehPNSaKnQNOAxL7PQmqMu78CDj3Q==", - "requires": { - "chain-function": "1.0.0", - "dom-helpers": "3.2.1", - "loose-envify": "1.3.1", - "prop-types": "15.5.10", - "warning": "3.0.0" - } - }, - "read-all-stream": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/read-all-stream/-/read-all-stream-3.1.0.tgz", - "integrity": "sha1-NcPhd/IHjveJ7kv6+kNzB06u9Po=", - "dev": true, - "requires": { - "pinkie-promise": "2.0.1", - "readable-stream": "2.3.3" - } - }, - "read-cache": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", - "integrity": "sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=", - "dev": true, - "requires": { - "pify": "2.3.0" - } - }, - "read-file-stdin": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/read-file-stdin/-/read-file-stdin-0.2.1.tgz", - "integrity": "sha1-JezP86FTtoCa+ssj7hU4fbng7mE=", - "dev": true, - "requires": { - "gather-stream": "1.0.0" - } - }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "requires": { - "load-json-file": "1.1.0", - "normalize-package-data": "2.4.0", - "path-type": "1.1.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "requires": { - "find-up": "1.1.2", - "read-pkg": "1.1.0" - } - }, - "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.3", - "util-deprecate": "1.0.2" - } - }, - "readdirp": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", - "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "minimatch": "3.0.4", - "readable-stream": "2.3.3", - "set-immediate-shim": "1.0.1" - } - }, - "readline2": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz", - "integrity": "sha1-QQWWCP/BVHV7cV2ZidGZ/783LjU=", - "dev": true, - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "mute-stream": "0.0.5" - } - }, - "recast": { - "version": "0.11.23", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.11.23.tgz", - "integrity": "sha1-RR/TAEqx5N+bTktmN2sqIZEkYtM=", - "dev": true, - "requires": { - "ast-types": "0.9.6", - "esprima": "3.1.3", - "private": "0.1.7", - "source-map": "0.5.7" - }, - "dependencies": { - "esprima": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", - "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=", - "dev": true - } - } - }, - "recharts": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/recharts/-/recharts-0.15.2.tgz", - "integrity": "sha1-Y28ho0HwCzHJJXOe1K73CttV2A8=", - "requires": { - "classnames": "2.2.5", - "core-js": "2.4.0", - "d3-scale": "1.0.0", - "d3-shape": "1.0.0", - "lodash": "4.13.1", - "react-container-dimensions": "1.2.0", - "react-smooth": "0.1.11", - "recharts-scale": "0.2.1", - "reduce-css-calc": "1.3.0" - }, - "dependencies": { - "core-js": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.4.0.tgz", - "integrity": "sha1-30CKtG0Br/kcAcPnlxk11CLFT4E=" - }, - "lodash": { - "version": "4.13.1", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.13.1.tgz", - "integrity": "sha1-g+SxCRP0hJbU0W/sSlYK8u50S2g=" - } - } - }, - "recharts-scale": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/recharts-scale/-/recharts-scale-0.2.1.tgz", - "integrity": "sha1-N49UPtF8MkXk2a+xCq9imCQNL8s=" - }, - "rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "dev": true, - "requires": { - "resolve": "1.4.0" - } - }, - "recompose": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/recompose/-/recompose-0.20.2.tgz", - "integrity": "sha1-ET1qx+KcpmTP/+wWtoHd3fFSULw=", - "requires": { - "change-emitter": "0.1.6", - "fbjs": "0.8.16", - "hoist-non-react-statics": "1.2.0", - "symbol-observable": "0.2.4" - }, - "dependencies": { - "symbol-observable": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-0.2.4.tgz", - "integrity": "sha1-lag9smGG1q9+ehjb2XYKL4bQj0A=" - } - } - }, - "redbox-react": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/redbox-react/-/redbox-react-1.5.0.tgz", - "integrity": "sha512-mdxArOI3sF8K5Nay5NG+lv/VW516TbXjjd4h1wcV1Iy4IMDQPnCayjoQXBAycAFSME4nyXRUXCjHxsw2rYpVRw==", - "dev": true, - "requires": { - "error-stack-parser": "1.3.6", - "object-assign": "4.1.1", - "prop-types": "15.5.10", - "sourcemapped-stacktrace": "1.1.7" - } - }, - "redent": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", - "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", - "requires": { - "indent-string": "2.1.0", - "strip-indent": "1.0.1" - } - }, - "reduce-css-calc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz", - "integrity": "sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=", - "requires": { - "balanced-match": "0.4.2", - "math-expression-evaluator": "1.2.17", - "reduce-function-call": "1.0.2" - }, - "dependencies": { - "balanced-match": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", - "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=" - } - } - }, - "reduce-function-call": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/reduce-function-call/-/reduce-function-call-1.0.2.tgz", - "integrity": "sha1-WiAL+S4ON3UXUv5FsKszD9S2vpk=", - "requires": { - "balanced-match": "0.4.2" - }, - "dependencies": { - "balanced-match": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", - "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=" - } - } - }, - "reduce-reducers": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/reduce-reducers/-/reduce-reducers-0.1.2.tgz", - "integrity": "sha1-+htHGLxSkqcd3R5dg5yb6pdw8Us=" - }, - "redux": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/redux/-/redux-3.6.0.tgz", - "integrity": "sha1-iHwrPQub2G7KK+cFccJ2VMGeGI0=", - "requires": { - "lodash": "4.17.4", - "lodash-es": "4.17.4", - "loose-envify": "1.3.1", - "symbol-observable": "1.0.4" - } - }, - "redux-actions": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/redux-actions/-/redux-actions-1.1.0.tgz", - "integrity": "sha1-347HkdniZ1ROWKi6K3L8XDCvujs=", - "requires": { - "invariant": "2.2.2", - "lodash": "4.17.4", - "reduce-reducers": "0.1.2" - } - }, - "redux-thunk": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.1.0.tgz", - "integrity": "sha1-xyS/7nXb41LaLjupvBQwK63Ympg=" - }, - "regenerate": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.3.tgz", - "integrity": "sha512-jVpo1GadrDAK59t/0jRx5VxYWQEDkkEKi6+HjE3joFVLfDOh9Xrdh0dF1eSq+BI/SwvTQ44gSscJ8N5zYL61sg==" - }, - "regenerator-runtime": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz", - "integrity": "sha512-/aA0kLeRb5N9K0d4fw7ooEbI+xDe+DKD499EQqygGqeS8N3xto15p09uY2xj7ixP81sNPXvRLnAQIqdVStgb1A==" - }, - "regenerator-transform": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", - "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", - "requires": { - "babel-runtime": "6.26.0", - "babel-types": "6.26.0", - "private": "0.1.7" - } - }, - "regex-cache": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", - "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", - "dev": true, - "requires": { - "is-equal-shallow": "0.1.3" - } - }, - "regexpu-core": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", - "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", - "requires": { - "regenerate": "1.3.3", - "regjsgen": "0.2.0", - "regjsparser": "0.1.5" - } - }, - "regjsgen": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", - "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=" - }, - "regjsparser": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", - "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", - "requires": { - "jsesc": "0.5.0" - } - }, - "relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", - "dev": true - }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true - }, - "renderkid": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.1.tgz", - "integrity": "sha1-iYyr/Ivt5Le5ETWj/9Mj5YwNsxk=", - "dev": true, - "requires": { - "css-select": "1.2.0", - "dom-converter": "0.1.4", - "htmlparser2": "3.3.0", - "strip-ansi": "3.0.1", - "utila": "0.3.3" - }, - "dependencies": { - "domhandler": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.1.0.tgz", - "integrity": "sha1-0mRvXlf2w7qxHPbLBdPArPdBJZQ=", - "dev": true, - "requires": { - "domelementtype": "1.3.0" - } - }, - "domutils": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.1.6.tgz", - "integrity": "sha1-vdw94Jm5ou+sxRxiPyj0FuzFdIU=", - "dev": true, - "requires": { - "domelementtype": "1.3.0" - } - }, - "htmlparser2": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.3.0.tgz", - "integrity": "sha1-zHDQWln2VC5D8OaFyYLhTJJKnv4=", - "dev": true, - "requires": { - "domelementtype": "1.3.0", - "domhandler": "2.1.0", - "domutils": "1.1.6", - "readable-stream": "1.0.34" - } - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "0.0.1", - "string_decoder": "0.10.31" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - }, - "utila": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.3.3.tgz", - "integrity": "sha1-1+jn1+MJEHCSsF+NloiCTWM6QiY=", - "dev": true - } - } - }, - "repeat-element": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", - "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", - "dev": true - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true - }, - "repeating": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", - "requires": { - "is-finite": "1.0.2" - } - }, - "replace-ext": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz", - "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=", - "dev": true - }, - "request": { - "version": "2.79.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.79.0.tgz", - "integrity": "sha1-Tf5b9r6LjNw3/Pk+BLZVd3InEN4=", - "dev": true, - "requires": { - "aws-sign2": "0.6.0", - "aws4": "1.6.0", - "caseless": "0.11.0", - "combined-stream": "1.0.5", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.1.4", - "har-validator": "2.0.6", - "hawk": "3.1.3", - "http-signature": "1.1.1", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.17", - "oauth-sign": "0.8.2", - "qs": "6.3.2", - "stringstream": "0.0.5", - "tough-cookie": "2.3.3", - "tunnel-agent": "0.4.3", - "uuid": "3.0.0" - }, - "dependencies": { - "extend": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", - "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", - "dev": true - }, - "qs": { - "version": "6.3.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.3.2.tgz", - "integrity": "sha1-51vV9uJoEioqDgvaYwslUMFmUCw=", - "dev": true - }, - "tunnel-agent": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", - "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=", - "dev": true - } - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" - }, - "require-from-string": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz", - "integrity": "sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg=" - }, - "require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" - }, - "require-uncached": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", - "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", - "dev": true, - "requires": { - "caller-path": "0.1.0", - "resolve-from": "1.0.1" - } - }, - "requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", - "dev": true - }, - "resolve": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.4.0.tgz", - "integrity": "sha512-aW7sVKPufyHqOmyyLzg/J+8606v5nevBgaliIlV7nUpVMsDnoBGV/cbSLNjZAg9q0Cfd/+easKVKQ8vOu8fn1Q==", - "dev": true, - "requires": { - "path-parse": "1.0.5" - } - }, - "resolve-from": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", - "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", - "dev": true - }, - "restore-cursor": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz", - "integrity": "sha1-NGYfRohjJ/7SmRR5FSJS35LapUE=", - "dev": true, - "requires": { - "exit-hook": "1.1.1", - "onetime": "1.1.0" - } - }, - "right-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", - "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", - "dev": true, - "requires": { - "align-text": "0.1.4" - } - }, - "rimraf": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", - "dev": true, - "requires": { - "glob": "7.1.2" - } - }, - "ripemd160": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz", - "integrity": "sha1-D0WEKVxTo2KK9+bXmsohzlfRxuc=", - "requires": { - "hash-base": "2.0.2", - "inherits": "2.0.3" - } - }, - "rlp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.0.0.tgz", - "integrity": "sha1-nbOE/0uJqPYVY9kjldhiWxjzr7A=" - }, - "run-async": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz", - "integrity": "sha1-yK1KXhEGYeQCp9IbUw4AnyX444k=", - "dev": true, - "requires": { - "once": "1.4.0" - } - }, - "rx-lite": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz", - "integrity": "sha1-Gc5QLKVyZl87ZHsQk5+X/RYV8QI=", - "dev": true - }, - "safe-buffer": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" - }, - "samsam": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/samsam/-/samsam-1.1.2.tgz", - "integrity": "sha1-vsEf3IOp/aBjQBIQ5AF2wwJNFWc=", - "dev": true - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true - }, - "schema-utils": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz", - "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=", - "requires": { - "ajv": "5.2.3" - } - }, - "scryptsy": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/scryptsy/-/scryptsy-2.0.0.tgz", - "integrity": "sha1-Jiw28CMc+nZU4jY/o5TNLexm83g=" - }, - "sdp": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/sdp/-/sdp-1.5.4.tgz", - "integrity": "sha1-jgOPbdsUvXZa4fS1IW4SCUUR4NA=" - }, - "secp256k1": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-3.2.5.tgz", - "integrity": "sha1-Dd5bJ+UCFmX23/ynssPgEMbBPJM=", - "requires": { - "bindings": "1.3.0", - "bip66": "1.1.5", - "bn.js": "4.11.8", - "create-hash": "1.1.3", - "drbg.js": "1.0.1", - "elliptic": "6.4.0", - "nan": "2.7.0", - "prebuild-install": "2.3.0" - } - }, - "seek-bzip": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.5.tgz", - "integrity": "sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w=", - "dev": true, - "requires": { - "commander": "2.8.1" - }, - "dependencies": { - "commander": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", - "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=", - "dev": true, - "requires": { - "graceful-readlink": "1.0.1" - } - } - } - }, - "select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", - "dev": true - }, - "selfsigned": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.1.tgz", - "integrity": "sha1-v4y3uDJWxFUeMTR8YxF3jbme7FI=", - "dev": true, - "requires": { - "node-forge": "0.6.33" - } - }, - "semantic-ui-css": { - "version": "2.2.11", - "resolved": "https://registry.npmjs.org/semantic-ui-css/-/semantic-ui-css-2.2.11.tgz", - "integrity": "sha512-J8B0nyQ7UiCGRdhiZzQclgbqhIKEXQNjw+fqXUjZxwxy+uk/3K4X21tUb2aD9Cgi1nauQ4xLUhnNAdk2teua/A==", - "requires": { - "jquery": "3.2.1" - } - }, - "semantic-ui-react": { - "version": "0.71.2", - "resolved": "https://registry.npmjs.org/semantic-ui-react/-/semantic-ui-react-0.71.2.tgz", - "integrity": "sha512-aWkmGnhhdPGwRbtWVuhQV3QQvaoO8ZOrc5g0deW9Q/6J90Le1V5MC1LZTnwrrtUfV7rnEozwaunjZGftYsmG+w==", - "requires": { - "babel-runtime": "6.26.0", - "classnames": "2.2.5", - "debug": "2.6.9", - "lodash": "4.17.4", - "prop-types": "15.5.8" - }, - "dependencies": { - "prop-types": { - "version": "15.5.8", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.5.8.tgz", - "integrity": "sha1-a3suFBCDvjjIWVqlH8VXdccZk5Q=", - "requires": { - "fbjs": "0.8.16" - } - } - } - }, - "semver": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", - "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==" - }, - "semver-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-1.0.0.tgz", - "integrity": "sha1-kqSWkGX5xwxpR1PVUkj8aPj2Usk=", - "dev": true - }, - "semver-truncate": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/semver-truncate/-/semver-truncate-1.1.2.tgz", - "integrity": "sha1-V/Qd5pcHpicJp+AQS6IRcQnqR+g=", - "dev": true, - "requires": { - "semver": "5.4.1" - } - }, - "send": { - "version": "0.14.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.14.2.tgz", - "integrity": "sha1-ObBDiz9RC+Xcb2Z6EfcWiTaM3u8=", - "dev": true, - "requires": { - "debug": "2.2.0", - "depd": "1.1.1", - "destroy": "1.0.4", - "encodeurl": "1.0.1", - "escape-html": "1.0.3", - "etag": "1.7.0", - "fresh": "0.3.0", - "http-errors": "1.5.1", - "mime": "1.3.4", - "ms": "0.7.2", - "on-finished": "2.3.0", - "range-parser": "1.2.0", - "statuses": "1.3.1" - }, - "dependencies": { - "debug": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", - "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", - "dev": true, - "requires": { - "ms": "0.7.1" - }, - "dependencies": { - "ms": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", - "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", - "dev": true - } - } - }, - "ms": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz", - "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=", - "dev": true - } - } - }, - "serialize-error": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz", - "integrity": "sha1-ULZ51WNc34Rme9yOWa9OW4HV9go=" - }, - "serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", - "dev": true, - "requires": { - "accepts": "1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "1.0.3", - "http-errors": "1.6.2", - "mime-types": "2.1.17", - "parseurl": "1.3.2" - }, - "dependencies": { - "http-errors": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz", - "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=", - "dev": true, - "requires": { - "depd": "1.1.1", - "inherits": "2.0.3", - "setprototypeof": "1.0.3", - "statuses": "1.3.1" - } - }, - "setprototypeof": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", - "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=", - "dev": true - } - } - }, - "serve-static": { - "version": "1.11.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.11.2.tgz", - "integrity": "sha1-LPmIm9RDWjIMw2iVyapXvWYuasc=", - "dev": true, - "requires": { - "encodeurl": "1.0.1", - "escape-html": "1.0.3", - "parseurl": "1.3.2", - "send": "0.14.2" - } - }, - "serviceworker-cache-polyfill": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serviceworker-cache-polyfill/-/serviceworker-cache-polyfill-4.0.0.tgz", - "integrity": "sha1-3hnuc77yGrPAdAo3sz22JGS6ves=" - }, - "serviceworker-webpack-plugin": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/serviceworker-webpack-plugin/-/serviceworker-webpack-plugin-0.2.3.tgz", - "integrity": "sha1-GHPtb8g8hzrIJA+sRDxhXTdP7rI=", - "requires": { - "minimatch": "3.0.4" - } - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" - }, - "set-immediate-shim": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", - "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", - "dev": true - }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" - }, - "setprototypeof": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.2.tgz", - "integrity": "sha1-gaVSFB7BBLiOic44MQOtXGZWTQg=", - "dev": true - }, - "sha.js": { - "version": "2.4.9", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.9.tgz", - "integrity": "sha512-G8zektVqbiPHrylgew9Zg1VRB1L/DtXNUVAM6q4QLy8NE3qtHlFXTf8VLL4k1Yl6c7NMjtZUTdXV+X44nFaT6A==", - "requires": { - "inherits": "2.0.3", - "safe-buffer": "5.1.1" - } - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "requires": { - "shebang-regex": "1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true - }, - "shelljs": { - "version": "0.7.8", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.8.tgz", - "integrity": "sha1-3svPh0sNHl+3LhSxZKloMEjprLM=", - "dev": true, - "requires": { - "glob": "7.1.2", - "interpret": "1.0.4", - "rechoir": "0.6.2" - } - }, - "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" - }, - "simple-assign": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/simple-assign/-/simple-assign-0.1.0.tgz", - "integrity": "sha1-F/0wZqXz13OPUDIbsPFMooHMS6o=" - }, - "simple-get": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-1.4.3.tgz", - "integrity": "sha1-6XVe2kB+ltpAxeUVjJ6jezO+y+s=", - "requires": { - "once": "1.4.0", - "unzip-response": "1.0.2", - "xtend": "4.0.1" - } - }, - "single-line-log": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/single-line-log/-/single-line-log-1.1.2.tgz", - "integrity": "sha1-wvg/Jzo+GhbtsJlWYdoO1e8DM2Q=", - "dev": true, - "requires": { - "string-width": "1.0.2" - } - }, - "sinon": { - "version": "1.17.7", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-1.17.7.tgz", - "integrity": "sha1-RUKk9JugxFwF6y6d2dID4rjv4L8=", - "dev": true, - "requires": { - "formatio": "1.1.1", - "lolex": "1.3.2", - "samsam": "1.1.2", - "util": "0.10.3" - } - }, - "sinon-as-promised": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/sinon-as-promised/-/sinon-as-promised-4.0.2.tgz", - "integrity": "sha1-Eg6c4DPao5ZI3EKQYv5mC+G1tBI=", - "dev": true, - "requires": { - "create-thenable": "1.0.2", - "native-promise-only": "0.8.1" - } - }, - "sinon-chai": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/sinon-chai/-/sinon-chai-2.8.0.tgz", - "integrity": "sha1-Qyqbv9Uab8AHmPTSUmqCnAYGh6w=", - "dev": true - }, - "sjcl": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/sjcl/-/sjcl-1.0.6.tgz", - "integrity": "sha1-ZBVGKmPMDUIVxJuuydP6DBtTUg8=" - }, - "slash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=" - }, - "slice-ansi": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz", - "integrity": "sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU=", - "dev": true - }, - "sntp": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", - "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", - "dev": true, - "requires": { - "hoek": "2.16.3" - } - }, - "sockjs": { - "version": "0.3.18", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.18.tgz", - "integrity": "sha1-2bKJMWyn33dZXvKZ4HXw+TfrQgc=", - "dev": true, - "requires": { - "faye-websocket": "0.10.0", - "uuid": "2.0.3" - }, - "dependencies": { - "uuid": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", - "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=", - "dev": true - } - } - }, - "sockjs-client": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.1.4.tgz", - "integrity": "sha1-W6vjhrd15M8U51IJEUUmVAFsixI=", - "dev": true, - "requires": { - "debug": "2.6.9", - "eventsource": "0.1.6", - "faye-websocket": "0.11.1", - "inherits": "2.0.3", - "json3": "3.3.2", - "url-parse": "1.1.9" - }, - "dependencies": { - "faye-websocket": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.1.tgz", - "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=", - "dev": true, - "requires": { - "websocket-driver": "0.7.0" - } - } - } - }, - "solc": { - "version": "github:ngotchac/solc-js#04eb38cc3003fba8cb3656653a7941ed36408818", - "requires": { - "memorystream": "0.3.1", - "require-from-string": "1.2.1", - "yargs": "4.8.1" - }, - "dependencies": { - "yargs": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz", - "integrity": "sha1-wMQpJMpKqmsObaFznfshZDn53cA=", - "requires": { - "cliui": "3.2.0", - "decamelize": "1.2.0", - "get-caller-file": "1.0.2", - "lodash.assign": "4.2.0", - "os-locale": "1.4.0", - "read-pkg-up": "1.0.1", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "1.0.2", - "which-module": "1.0.0", - "window-size": "0.2.0", - "y18n": "3.2.1", - "yargs-parser": "2.4.1" - } - } - } - }, - "sort-keys": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", - "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", - "dev": true, - "requires": { - "is-plain-obj": "1.1.0" - } - }, - "sortobject": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/sortobject/-/sortobject-1.1.1.tgz", - "integrity": "sha1-T2ldTUTtCkwGSCw0wlgqLc3CqzQ=", - "requires": { - "editions": "1.3.3" - } - }, - "source-list-map": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-0.1.8.tgz", - "integrity": "sha1-xVCyq1Qn9rPyH1r+rYjE9Vh7IQY=", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "source-map-support": { - "version": "0.4.18", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", - "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", - "requires": { - "source-map": "0.5.7" - } - }, - "sourcemapped-stacktrace": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/sourcemapped-stacktrace/-/sourcemapped-stacktrace-1.1.7.tgz", - "integrity": "sha512-pgHNUACbafkQ+M5zR00NSOtSKBc/i40prgN+SY07J/pghClwVNWNTTMa0JuXj4lriR2TvMKcPAHw5KN9tVFRhA==", - "dev": true, - "requires": { - "source-map": "0.5.6" - }, - "dependencies": { - "source-map": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", - "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", - "dev": true - } - } - }, - "sparkles": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.0.tgz", - "integrity": "sha1-Gsu/tZJDbRC76PeFt8xvgoFQEsM=", - "dev": true - }, - "spdx-correct": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", - "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A=", - "requires": { - "spdx-license-ids": "1.2.2" - } - }, - "spdx-expression-parse": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz", - "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw=" - }, - "spdx-license-ids": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz", - "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=" - }, - "spdy": { - "version": "3.4.7", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-3.4.7.tgz", - "integrity": "sha1-Qv9B7OXMD5mjpsKKq7c/XDsDrLw=", - "dev": true, - "requires": { - "debug": "2.6.9", - "handle-thing": "1.2.5", - "http-deceiver": "1.2.7", - "safe-buffer": "5.1.1", - "select-hose": "2.0.0", - "spdy-transport": "2.0.20" - } - }, - "spdy-transport": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-2.0.20.tgz", - "integrity": "sha1-c15yBUxIayNU/onnAiVgBKOazk0=", - "dev": true, - "requires": { - "debug": "2.6.9", - "detect-node": "2.0.3", - "hpack.js": "2.1.6", - "obuf": "1.1.1", - "readable-stream": "2.3.3", - "safe-buffer": "5.1.1", - "wbuf": "1.7.2" - } - }, - "specificity": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/specificity/-/specificity-0.3.2.tgz", - "integrity": "sha512-Nc/QN/A425Qog7j9aHmwOrlwX2e7pNI47ciwxwy4jOlvbbMHkNNJchit+FX+UjF3IAdiaaV5BKeWuDUnws6G1A==", - "dev": true - }, - "speedometer": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/speedometer/-/speedometer-0.1.4.tgz", - "integrity": "sha1-mHbb0qFp0xFUAtSObqYynIgWpQ0=", - "dev": true - }, - "split2": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/split2/-/split2-0.2.1.tgz", - "integrity": "sha1-At2smtwD7Au3jBKC7Aecpuha6QA=", - "dev": true, - "requires": { - "through2": "0.6.5" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "0.0.1", - "string_decoder": "0.10.31" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - }, - "through2": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", - "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", - "dev": true, - "requires": { - "readable-stream": "1.0.34", - "xtend": "4.0.1" - } - } - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "squeak": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/squeak/-/squeak-1.3.0.tgz", - "integrity": "sha1-MwRQN7ZDiLVnZ0uEMiplIQc5FsM=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "console-stream": "0.1.1", - "lpad-align": "1.1.2" - } - }, - "sshpk": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", - "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", - "dev": true, - "requires": { - "asn1": "0.2.3", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.1", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.1", - "getpass": "0.1.7", - "jsbn": "0.1.1", - "tweetnacl": "0.14.5" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - } - } - }, - "stackframe": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-0.3.1.tgz", - "integrity": "sha1-M6qE8Rd6VUjIk1Uzy/6zQgl19aQ=", - "dev": true - }, - "stat-mode": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-0.2.2.tgz", - "integrity": "sha1-5sgLYjEj19gM8TLOU480YokHJQI=", - "dev": true - }, - "statuses": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", - "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=", - "dev": true - }, - "store": { - "version": "1.3.20", - "resolved": "https://registry.npmjs.org/store/-/store-1.3.20.tgz", - "integrity": "sha1-E+p+P7LWwjmGgmXWhrHYTpnFvj4=" - }, - "stream-browserify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", - "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", - "dev": true, - "requires": { - "inherits": "2.0.3", - "readable-stream": "2.3.3" - } - }, - "stream-combiner": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.2.2.tgz", - "integrity": "sha1-rsjLrBd7Vrb0+kec7YwZEs7lKFg=", - "dev": true, - "requires": { - "duplexer": "0.1.1", - "through": "2.3.8" - } - }, - "stream-combiner2": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", - "integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=", - "dev": true, - "requires": { - "duplexer2": "0.1.4", - "readable-stream": "2.3.3" - } - }, - "stream-http": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.7.2.tgz", - "integrity": "sha512-c0yTD2rbQzXtSsFSVhtpvY/vS6u066PcXOX9kBB3mSO76RiUQzL340uJkGBWnlBg4/HZzqiUXtaVA7wcRcJgEw==", - "dev": true, - "requires": { - "builtin-status-codes": "3.0.0", - "inherits": "2.0.3", - "readable-stream": "2.3.3", - "to-arraybuffer": "1.0.1", - "xtend": "4.0.1" - } - }, - "stream-shift": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", - "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", - "dev": true - }, - "strict-uri-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=" - }, - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "requires": { - "safe-buffer": "5.1.1" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - } - }, - "string.prototype.repeat": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-0.2.0.tgz", - "integrity": "sha1-q6Nt4I3O5qWjN9SbLqHaGyj8Ds8=" - }, - "stringify-object": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.2.1.tgz", - "integrity": "sha512-jPcQYw/52HUPP8uOE4kkjxl5bB9LfHkKCTptIk3qw7ozP5XMIMlHMLjt00GGSwW6DJAf/njY5EU6Vpwl4LlBKQ==", - "requires": { - "get-own-enumerable-property-symbols": "2.0.1", - "is-obj": "1.0.1", - "is-regexp": "1.0.0" - } - }, - "stringstream": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", - "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", - "dev": true - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "requires": { - "ansi-regex": "2.1.1" - } - }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "requires": { - "is-utf8": "0.2.1" - } - }, - "strip-bom-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-1.0.0.tgz", - "integrity": "sha1-5xRDmFd9Uaa+0PoZlPoF9D/ZiO4=", - "dev": true, - "requires": { - "first-chunk-stream": "1.0.0", - "strip-bom": "2.0.0" - } - }, - "strip-dirs": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-1.1.1.tgz", - "integrity": "sha1-lgu9EoeETzl1pFWKoQOoJV4kVqA=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "get-stdin": "4.0.1", - "is-absolute": "0.1.7", - "is-natural-number": "2.1.1", - "minimist": "1.2.0", - "sum-up": "1.0.3" - }, - "dependencies": { - "get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", - "dev": true - }, - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - } - } - }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "dev": true - }, - "strip-hex-prefix": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", - "integrity": "sha1-DF8VX+8RUTczd96du1iNoFUA428=", - "requires": { - "is-hex-prefixed": "1.0.0" - } - }, - "strip-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", - "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", - "requires": { - "get-stdin": "4.0.1" - }, - "dependencies": { - "get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=" - } - } - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" - }, - "strip-outer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.0.tgz", - "integrity": "sha1-qsC6YNLpDF1PJ1/Yhp/ZotMQ/7g=", - "dev": true, - "requires": { - "escape-string-regexp": "1.0.5" - } - }, - "style-loader": { - "version": "0.18.2", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.18.2.tgz", - "integrity": "sha512-WPpJPZGUxWYHWIUMNNOYqql7zh85zGmr84FdTVWq52WTIkqlW9xSxD3QYWi/T31cqn9UNSsietVEgGn2aaSCzw==", - "dev": true, - "requires": { - "loader-utils": "1.1.0", - "schema-utils": "0.3.0" - }, - "dependencies": { - "loader-utils": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", - "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", - "dev": true, - "requires": { - "big.js": "3.2.0", - "emojis-list": "2.1.0", - "json5": "0.5.1" - } - } - } - }, - "style-search": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/style-search/-/style-search-0.1.0.tgz", - "integrity": "sha1-eVjHk+R+MuB9K1yv5cC/jhLneQI=", - "dev": true - }, - "stylehacks": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-2.3.2.tgz", - "integrity": "sha1-ZMg+BDimjJ7fRJ6MVSp9mrYAmws=", - "dev": true, - "requires": { - "browserslist": "1.7.7", - "chalk": "1.1.3", - "log-symbols": "1.0.2", - "minimist": "1.2.0", - "plur": "2.1.2", - "postcss": "5.2.18", - "postcss-reporter": "1.4.1", - "postcss-selector-parser": "2.2.3", - "read-file-stdin": "0.2.1", - "text-table": "0.2.0", - "write-file-stdout": "0.0.2" - }, - "dependencies": { - "browserslist": { - "version": "1.7.7", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", - "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", - "dev": true, - "requires": { - "caniuse-db": "1.0.30000745", - "electron-to-chromium": "1.3.24" - } - }, - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - }, - "postcss-reporter": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-1.4.1.tgz", - "integrity": "sha1-wTbwpbFhkV83ndN2XGEHX357mvI=", - "dev": true, - "requires": { - "chalk": "1.1.3", - "lodash": "4.17.4", - "log-symbols": "1.0.2", - "postcss": "5.2.18" - } - } - } - }, - "stylelint": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-7.11.0.tgz", - "integrity": "sha1-SBY3Ls0K/Sww/lP09qAOsElg2/w=", - "dev": true, - "requires": { - "autoprefixer": "6.7.7", - "balanced-match": "0.4.2", - "chalk": "1.1.3", - "colorguard": "1.2.0", - "cosmiconfig": "2.2.2", - "debug": "2.6.9", - "doiuse": "2.6.0", - "execall": "1.0.0", - "file-entry-cache": "2.0.0", - "get-stdin": "5.0.1", - "globby": "6.1.0", - "globjoin": "0.1.4", - "html-tags": "1.2.0", - "ignore": "3.3.5", - "imurmurhash": "0.1.4", - "known-css-properties": "0.2.0", - "lodash": "4.17.4", - "log-symbols": "1.0.2", - "mathml-tag-names": "2.0.1", - "meow": "3.7.0", - "micromatch": "2.3.11", - "normalize-selector": "0.2.0", - "pify": "2.3.0", - "postcss": "5.2.18", - "postcss-less": "0.14.0", - "postcss-media-query-parser": "0.2.3", - "postcss-reporter": "3.0.0", - "postcss-resolve-nested-selector": "0.1.1", - "postcss-scss": "0.4.1", - "postcss-selector-parser": "2.2.3", - "postcss-value-parser": "3.3.0", - "resolve-from": "3.0.0", - "specificity": "0.3.2", - "string-width": "2.1.1", - "style-search": "0.1.0", - "stylehacks": "2.3.2", - "sugarss": "0.2.0", - "svg-tags": "1.0.0", - "table": "4.0.2" - }, - "dependencies": { - "ajv-keywords": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.0.tgz", - "integrity": "sha1-opbhf3v658HOT34N5T0pyzIWLfA=", - "dev": true - }, - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "ansi-styles": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", - "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", - "dev": true, - "requires": { - "color-convert": "1.9.0" - } - }, - "balanced-match": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", - "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", - "dev": true - }, - "get-stdin": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-5.0.1.tgz", - "integrity": "sha1-Ei4WFZHiH/TFJTAwVpPyDmOTo5g=", - "dev": true - }, - "globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", - "dev": true, - "requires": { - "array-union": "1.0.2", - "glob": "7.1.2", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" - } - }, - "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "dev": true - }, - "slice-ansi": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", - "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "2.0.0" - } - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "3.0.0" - } - }, - "supports-color": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", - "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", - "dev": true, - "requires": { - "has-flag": "2.0.0" - } - }, - "table": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz", - "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==", - "dev": true, - "requires": { - "ajv": "5.2.3", - "ajv-keywords": "2.1.0", - "chalk": "2.1.0", - "lodash": "4.17.4", - "slice-ansi": "1.0.0", - "string-width": "2.1.1" - }, - "dependencies": { - "chalk": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz", - "integrity": "sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==", - "dev": true, - "requires": { - "ansi-styles": "3.2.0", - "escape-string-regexp": "1.0.5", - "supports-color": "4.4.0" - } - } - } - } - } - }, - "stylelint-config-standard": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-16.0.0.tgz", - "integrity": "sha1-u3OHv/HX3XGGpSs+v4hbJAXWkb8=", - "dev": true - }, - "sugarss": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/sugarss/-/sugarss-0.2.0.tgz", - "integrity": "sha1-rDQjdWMyfG/4l7ZHQr9q7BkK054=", - "dev": true, - "requires": { - "postcss": "5.2.18" - } - }, - "sum-up": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sum-up/-/sum-up-1.0.3.tgz", - "integrity": "sha1-HGYfZnBX9jvLeHWqFDi8FiUlFW4=", - "dev": true, - "requires": { - "chalk": "1.1.3" - } - }, - "sumchecker": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-1.3.1.tgz", - "integrity": "sha1-ebs7RFbdBPGOvbwNcDodHa7FEF0=", - "dev": true, - "requires": { - "debug": "2.6.9", - "es6-promise": "4.1.1" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" - }, - "svg-tags": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", - "integrity": "sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=", - "dev": true - }, - "svgo": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-0.7.2.tgz", - "integrity": "sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=", - "dev": true, - "requires": { - "coa": "1.0.4", - "colors": "1.1.2", - "csso": "2.3.2", - "js-yaml": "3.7.0", - "mkdirp": "0.5.1", - "sax": "1.2.4", - "whet.extend": "0.9.9" - }, - "dependencies": { - "js-yaml": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz", - "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=", - "dev": true, - "requires": { - "argparse": "1.0.9", - "esprima": "2.7.3" - } - } - } - }, - "sw-toolbox": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/sw-toolbox/-/sw-toolbox-3.6.0.tgz", - "integrity": "sha1-Jt8dHHA0hljk3qKIQxkUm3sxg7U=", - "requires": { - "path-to-regexp": "1.7.0", - "serviceworker-cache-polyfill": "4.0.0" - } - }, - "symbol-observable": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.4.tgz", - "integrity": "sha1-Kb9hXUqnEhvdiYsi1LP5vE4qoD0=" - }, - "symbol-tree": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.2.tgz", - "integrity": "sha1-rifbOPZgp64uHDt9G8KQgZuFGeY=", - "dev": true - }, - "synesthesia": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/synesthesia/-/synesthesia-1.0.1.tgz", - "integrity": "sha1-XvlepUjA1cbm+btLDQcx3/hkp3c=", - "dev": true, - "requires": { - "css-color-names": "0.0.3" - }, - "dependencies": { - "css-color-names": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.3.tgz", - "integrity": "sha1-3gzvFvTYqoIioyDVttfpu62nufY=", - "dev": true - } - } - }, - "table": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/table/-/table-3.8.3.tgz", - "integrity": "sha1-K7xULw/amGGnVdOUf+/Ys/UThV8=", - "dev": true, - "requires": { - "ajv": "4.11.8", - "ajv-keywords": "1.5.1", - "chalk": "1.1.3", - "lodash": "4.17.4", - "slice-ansi": "0.0.4", - "string-width": "2.1.1" - }, - "dependencies": { - "ajv": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", - "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", - "dev": true, - "requires": { - "co": "4.6.0", - "json-stable-stringify": "1.0.1" - } - }, - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "3.0.0" - } - } - } - }, - "tapable": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.2.8.tgz", - "integrity": "sha1-mTcqXJmb8t8WCvwNdL7U9HlIzSI=", - "dev": true - }, - "tar-fs": { - "version": "1.16.0", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-1.16.0.tgz", - "integrity": "sha512-I9rb6v7mjWLtOfCau9eH5L7sLJyU2BnxtEZRQ5Mt+eRKmf1F0ohXmT/Jc3fr52kDvjJ/HV5MH3soQfPL5bQ0Yg==", - "requires": { - "chownr": "1.0.1", - "mkdirp": "0.5.1", - "pump": "1.0.2", - "tar-stream": "1.5.4" - } - }, - "tar-stream": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.5.4.tgz", - "integrity": "sha1-NlSc8E7RrumyowwBQyUiONr5QBY=", - "requires": { - "bl": "1.2.1", - "end-of-stream": "1.4.0", - "readable-stream": "2.3.3", - "xtend": "4.0.1" - } - }, - "temp-dir": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz", - "integrity": "sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=", - "dev": true - }, - "tempfile": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/tempfile/-/tempfile-2.0.0.tgz", - "integrity": "sha1-awRGhWqbERTRhW/8vlCczLCXcmU=", - "dev": true, - "requires": { - "temp-dir": "1.0.0", - "uuid": "3.1.0" - }, - "dependencies": { - "uuid": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", - "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==", - "dev": true - } - } - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, - "throttleit": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-0.0.2.tgz", - "integrity": "sha1-z+34jmDADdlpe2H90qg0OptoDq8=", - "dev": true - }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true - }, - "through2": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.2.3.tgz", - "integrity": "sha1-6zKE2k6jEbbMis42U3SKUqvyWj8=", - "dev": true, - "requires": { - "readable-stream": "1.1.14", - "xtend": "2.1.2" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "0.0.1", - "string_decoder": "0.10.31" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - }, - "xtend": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", - "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=", - "dev": true, - "requires": { - "object-keys": "0.4.0" - } - } - } - }, - "through2-filter": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-2.0.0.tgz", - "integrity": "sha1-YLxVoNrLdghdsfna6Zq0P4PWIuw=", - "dev": true, - "requires": { - "through2": "2.0.3", - "xtend": "4.0.1" - }, - "dependencies": { - "through2": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", - "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", - "dev": true, - "requires": { - "readable-stream": "2.3.3", - "xtend": "4.0.1" - } - } - } - }, - "thunky": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-0.1.0.tgz", - "integrity": "sha1-vzAUaCTituZ7Dy16Ssi+smkIaE4=", - "dev": true - }, - "time-stamp": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", - "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=", - "dev": true - }, - "timed-out": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-3.1.3.tgz", - "integrity": "sha1-lYYL/MXHbCd/j4Mm/Q9bLiDrohc=", - "dev": true - }, - "timers-browserify": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.4.tgz", - "integrity": "sha512-uZYhyU3EX8O7HQP+J9fTVYwsq90Vr68xPEFo7yrVImIxYvHgukBEgOB/SgGoorWVTzGM/3Z+wUNnboA4M8jWrg==", - "dev": true, - "requires": { - "setimmediate": "1.0.5" - } - }, - "to-absolute-glob": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-0.1.1.tgz", - "integrity": "sha1-HN+kcqnvUMI57maZm2YsoOs5k38=", - "dev": true, - "requires": { - "extend-shallow": "2.0.1" - } - }, - "to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", - "dev": true - }, - "to-fast-properties": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=" - }, - "to-source": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/to-source/-/to-source-2.0.3.tgz", - "integrity": "sha1-U4f4JZzzV2Kz4+m1wtzY49uaLRU=", - "dev": true - }, - "toggle-selection": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz", - "integrity": "sha1-bkWxJj8gF/oKzH2J14sVuL932jI=" - }, - "toposort": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.6.tgz", - "integrity": "sha1-wxdI5V0hDv/AD9zcfW5o19e7nOw=", - "dev": true - }, - "tough-cookie": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", - "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=", - "dev": true, - "requires": { - "punycode": "1.4.1" - } - }, - "tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=", - "dev": true - }, - "traverse": { - "version": "0.6.6", - "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz", - "integrity": "sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=" - }, - "trim-newlines": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", - "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=" - }, - "trim-repeated": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", - "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=", - "dev": true, - "requires": { - "escape-string-regexp": "1.0.5" - } - }, - "trim-right": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", - "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=" - }, - "tryit": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tryit/-/tryit-1.0.3.tgz", - "integrity": "sha1-OTvnMKlEb9Hq1tpZoBQwjzbCics=", - "dev": true - }, - "tty-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", - "dev": true - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "requires": { - "safe-buffer": "5.1.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true, - "optional": true - }, - "type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, - "requires": { - "prelude-ls": "1.1.2" - } - }, - "type-detect": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-1.0.0.tgz", - "integrity": "sha1-diIXzAbbJY7EiQihKY6LlRIejqI=", - "dev": true - }, - "type-is": { - "version": "1.6.15", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.15.tgz", - "integrity": "sha1-yrEPtJCeRByChC6v4a1kbIGARBA=", - "dev": true, - "requires": { - "media-typer": "0.3.0", - "mime-types": "2.1.17" - } - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true - }, - "typedarray-to-buffer": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.2.tgz", - "integrity": "sha1-EBezLZhP9VbroQD1AViauhrOLgQ=", - "dev": true, - "requires": { - "is-typedarray": "1.0.0" - } - }, - "u2f-api": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/u2f-api/-/u2f-api-0.0.9.tgz", - "integrity": "sha1-ve1Fe6Wpqe6bWLPeKR+MH4/qy3o=" - }, - "u2f-api-polyfill": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/u2f-api-polyfill/-/u2f-api-polyfill-0.4.3.tgz", - "integrity": "sha1-t60WWm+WJVhReoZ8XEv5OZ/Pfpg=" - }, - "ua-parser-js": { - "version": "0.7.14", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.14.tgz", - "integrity": "sha1-EQ1T+kw/MmwSEpK76skE0uAzh8o=" - }, - "uglify-js": { - "version": "2.8.22", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.22.tgz", - "integrity": "sha1-1Uk0d4qNoUkD+imjJvskwKtRoaA=", - "dev": true, - "requires": { - "source-map": "0.5.7", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" - }, - "dependencies": { - "camelcase": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", - "dev": true - }, - "cliui": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", - "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", - "dev": true, - "requires": { - "center-align": "0.1.3", - "right-align": "0.1.3", - "wordwrap": "0.0.2" - } - }, - "window-size": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", - "dev": true - }, - "wordwrap": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", - "dev": true - }, - "yargs": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", - "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", - "dev": true, - "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", - "window-size": "0.1.0" - } - } - } - }, - "uglify-to-browserify": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", - "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", - "dev": true, - "optional": true - }, - "uglifyjs-webpack-plugin": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz", - "integrity": "sha1-uVH0q7a9YX5m9j64kUmOORdj4wk=", - "dev": true, - "requires": { - "source-map": "0.5.7", - "uglify-js": "2.8.29", - "webpack-sources": "1.0.1" - }, - "dependencies": { - "camelcase": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", - "dev": true - }, - "cliui": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", - "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", - "dev": true, - "requires": { - "center-align": "0.1.3", - "right-align": "0.1.3", - "wordwrap": "0.0.2" - } - }, - "uglify-js": { - "version": "2.8.29", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", - "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", - "dev": true, - "requires": { - "source-map": "0.5.7", - "uglify-to-browserify": "1.0.2", - "yargs": "3.10.0" - } - }, - "window-size": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", - "dev": true - }, - "wordwrap": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", - "dev": true - }, - "yargs": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", - "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", - "dev": true, - "requires": { - "camelcase": "1.2.1", - "cliui": "2.1.0", - "decamelize": "1.2.0", - "window-size": "0.1.0" - } - } - } - }, - "uniq": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", - "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", - "dev": true - }, - "uniqid": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/uniqid/-/uniqid-4.1.1.tgz", - "integrity": "sha1-iSIN32t1GuUrX3JISGNShZa7hME=", - "dev": true, - "requires": { - "macaddress": "0.2.8" - } - }, - "uniqs": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", - "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", - "dev": true - }, - "unique-concat": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/unique-concat/-/unique-concat-0.2.2.tgz", - "integrity": "sha1-khD5vcqsxeHjkpSQ18AZ35bxhxI=", - "dev": true - }, - "unique-stream": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.2.1.tgz", - "integrity": "sha1-WqADz76Uxf+GbE59ZouxxNuts2k=", - "dev": true, - "requires": { - "json-stable-stringify": "1.0.1", - "through2-filter": "2.0.0" - } - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", - "dev": true - }, - "unzip-response": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-1.0.2.tgz", - "integrity": "sha1-uYTwh3/AqJwsdzzB73tbIytbBv4=" - }, - "upper-case": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", - "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", - "dev": true - }, - "url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "dev": true, - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - }, - "dependencies": { - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true - } - } - }, - "url-loader": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-0.5.7.tgz", - "integrity": "sha1-Z+h3l1n4AA2nSZSQZoDJQ6mwkl0=", - "dev": true, - "requires": { - "loader-utils": "0.2.16", - "mime": "1.2.11" - }, - "dependencies": { - "mime": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz", - "integrity": "sha1-WCA+7Ybjpe8XrtK32evUfwpg3RA=", - "dev": true - } - } - }, - "url-parse": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.1.9.tgz", - "integrity": "sha1-xn8dd11R8KGJEd17P/rSe7nlvRk=", - "dev": true, - "requires": { - "querystringify": "1.0.0", - "requires-port": "1.0.0" - }, - "dependencies": { - "querystringify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-1.0.0.tgz", - "integrity": "sha1-YoYkIRLFtxL6ZU5SZlK/ahP/Bcs=", - "dev": true - } - } - }, - "url-parse-lax": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", - "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", - "dev": true, - "requires": { - "prepend-http": "1.0.4" - } - }, - "url-regex": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/url-regex/-/url-regex-3.2.0.tgz", - "integrity": "sha1-260eDJ4p4QXdCx8J9oYvf9tIJyQ=", - "dev": true, - "requires": { - "ip-regex": "1.0.3" - } - }, - "user-home": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz", - "integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=", - "dev": true - }, - "useragent.js": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/useragent.js/-/useragent.js-0.5.6.tgz", - "integrity": "sha1-p2rvEB4kg3AlI/9vtYpACvd+Iqk=" - }, - "utf8": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/utf8/-/utf8-2.1.2.tgz", - "integrity": "sha1-H6DZJw6b6FDZsFAn9jUZv0ZFfZY=" - }, - "util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "dev": true, - "requires": { - "inherits": "2.0.1" - }, - "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", - "dev": true - } - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "utila": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", - "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", - "dev": true - }, - "utils-merge": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz", - "integrity": "sha1-ApT7kiu5N1FTVBxPcJYjHyh8ivg=", - "dev": true - }, - "uuid": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.0.0.tgz", - "integrity": "sha1-Zyj8BFnEUNeWqZwxg3VpvfZy1yg=" - }, - "v8flags": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-2.1.1.tgz", - "integrity": "sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ=", - "dev": true, - "requires": { - "user-home": "1.1.1" - } - }, - "vali-date": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/vali-date/-/vali-date-1.0.0.tgz", - "integrity": "sha1-G5BKWWCfsyjvB4E4Qgk09rhnCaY=", - "dev": true - }, - "validate-npm-package-license": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz", - "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", - "requires": { - "spdx-correct": "1.0.2", - "spdx-expression-parse": "1.0.4" - } - }, - "validator": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/validator/-/validator-4.0.2.tgz", - "integrity": "sha1-cKHCUl7EdE5AmXHBspiqaadTQlE=" - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", - "dev": true - }, - "vendors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.1.tgz", - "integrity": "sha1-N61zyO5Bf7PVgOeFMSMH0nSEfyI=", - "dev": true - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "1.3.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - } - } - }, - "vinyl": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz", - "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=", - "dev": true, - "requires": { - "clone": "1.0.2", - "clone-stats": "0.0.1", - "replace-ext": "0.0.1" - }, - "dependencies": { - "replace-ext": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz", - "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=", - "dev": true - } - } - }, - "vinyl-assign": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/vinyl-assign/-/vinyl-assign-1.2.1.tgz", - "integrity": "sha1-TRmIkbVRWRHXcajNnFSApGoHSkU=", - "dev": true, - "requires": { - "object-assign": "4.1.1", - "readable-stream": "2.3.3" - } - }, - "vinyl-fs": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-2.4.4.tgz", - "integrity": "sha1-vm/zJwy1Xf19MGNkDegfJddTIjk=", - "dev": true, - "requires": { - "duplexify": "3.5.1", - "glob-stream": "5.3.5", - "graceful-fs": "4.1.11", - "gulp-sourcemaps": "1.6.0", - "is-valid-glob": "0.3.0", - "lazystream": "1.0.0", - "lodash.isequal": "4.5.0", - "merge-stream": "1.0.1", - "mkdirp": "0.5.1", - "object-assign": "4.1.1", - "readable-stream": "2.3.3", - "strip-bom": "2.0.0", - "strip-bom-stream": "1.0.0", - "through2": "2.0.3", - "through2-filter": "2.0.0", - "vali-date": "1.0.0", - "vinyl": "1.2.0" - }, - "dependencies": { - "through2": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", - "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", - "dev": true, - "requires": { - "readable-stream": "2.3.3", - "xtend": "4.0.1" - } - } - } - }, - "vm-browserify": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", - "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", - "dev": true, - "requires": { - "indexof": "0.0.1" - } - }, - "w3c-blob": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/w3c-blob/-/w3c-blob-0.0.1.tgz", - "integrity": "sha1-sM01KhpQ9RVWNCD/1YYflQ8dhbg=" - }, - "ware": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/ware/-/ware-1.3.0.tgz", - "integrity": "sha1-0bFPOdLiy0q4xAmPdW/ksWTkc9Q=", - "dev": true, - "requires": { - "wrap-fn": "0.1.5" - } - }, - "warning": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz", - "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=", - "requires": { - "loose-envify": "1.3.1" - } - }, - "watchpack": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.4.0.tgz", - "integrity": "sha1-ShRyvLuVK9Cpu0A2gB+VTfs5+qw=", - "dev": true, - "requires": { - "async": "2.5.0", - "chokidar": "1.7.0", - "graceful-fs": "4.1.11" - }, - "dependencies": { - "async": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/async/-/async-2.5.0.tgz", - "integrity": "sha512-e+lJAJeNWuPCNyxZKOBdaJGyLGHugXVQtrAwtuAe2vhxTYxFTKE73p8JuTmdH0qdQZtDvI4dhJwjZc5zsfIsYw==", - "dev": true, - "requires": { - "lodash": "4.17.4" - } - } - } - }, - "wbuf": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.2.tgz", - "integrity": "sha1-1pe5nx9ZUS3ydRvkJ2nBWAtYAf4=", - "dev": true, - "requires": { - "minimalistic-assert": "1.0.0" - } - }, - "web3": { - "version": "0.17.0-beta", - "resolved": "https://registry.npmjs.org/web3/-/web3-0.17.0-beta.tgz", - "integrity": "sha1-V684JFv/ejIJn3zleA+tW7wA2ls=", - "requires": { - "bignumber.js": "git+https://github.com/debris/bignumber.js.git#94d7146671b9719e00a09c29b01a691bc85048c2", - "crypto-js": "3.1.8", - "utf8": "2.1.2", - "xmlhttprequest": "1.8.0" - }, - "dependencies": { - "bignumber.js": { - "version": "git+https://github.com/debris/bignumber.js.git#94d7146671b9719e00a09c29b01a691bc85048c2" - } - } - }, - "webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", - "dev": true - }, - "webpack": { - "version": "3.5.5", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.5.5.tgz", - "integrity": "sha512-qeUx4nIbeLL53qqNTs3kObPBMkUVDrOjEfp/hTvMlx21qL2MsGNr8/tXCoX/lS12dLl9qtZaXv2qfBEctPScDg==", - "dev": true, - "requires": { - "acorn": "5.1.2", - "acorn-dynamic-import": "2.0.2", - "ajv": "5.2.3", - "ajv-keywords": "2.1.0", - "async": "2.5.0", - "enhanced-resolve": "3.4.1", - "escope": "3.6.0", - "interpret": "1.0.4", - "json-loader": "0.5.4", - "json5": "0.5.1", - "loader-runner": "2.3.0", - "loader-utils": "1.1.0", - "memory-fs": "0.4.1", - "mkdirp": "0.5.1", - "node-libs-browser": "2.0.0", - "source-map": "0.5.7", - "supports-color": "4.4.0", - "tapable": "0.2.8", - "uglifyjs-webpack-plugin": "0.4.6", - "watchpack": "1.4.0", - "webpack-sources": "1.0.1", - "yargs": "8.0.2" - }, - "dependencies": { - "ajv-keywords": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.0.tgz", - "integrity": "sha1-opbhf3v658HOT34N5T0pyzIWLfA=", - "dev": true - }, - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "async": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/async/-/async-2.5.0.tgz", - "integrity": "sha512-e+lJAJeNWuPCNyxZKOBdaJGyLGHugXVQtrAwtuAe2vhxTYxFTKE73p8JuTmdH0qdQZtDvI4dhJwjZc5zsfIsYw==", - "dev": true, - "requires": { - "lodash": "4.17.4" - } - }, - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true - }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "requires": { - "locate-path": "2.0.0" - } - }, - "has-flag": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", - "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "load-json-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", - "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", - "strip-bom": "3.0.0" - } - }, - "loader-utils": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", - "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", - "dev": true, - "requires": { - "big.js": "3.2.0", - "emojis-list": "2.1.0", - "json5": "0.5.1" - } - }, - "os-locale": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", - "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", - "dev": true, - "requires": { - "execa": "0.7.0", - "lcid": "1.0.0", - "mem": "1.1.0" - } - }, - "path-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", - "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", - "dev": true, - "requires": { - "pify": "2.3.0" - } - }, - "read-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", - "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", - "dev": true, - "requires": { - "load-json-file": "2.0.0", - "normalize-package-data": "2.4.0", - "path-type": "2.0.0" - } - }, - "read-pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", - "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", - "dev": true, - "requires": { - "find-up": "2.1.0", - "read-pkg": "2.0.0" - } - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "3.0.0" - } - }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - }, - "supports-color": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.4.0.tgz", - "integrity": "sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ==", - "dev": true, - "requires": { - "has-flag": "2.0.0" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "yargs": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz", - "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", - "dev": true, - "requires": { - "camelcase": "4.1.0", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "get-caller-file": "1.0.2", - "os-locale": "2.1.0", - "read-pkg-up": "2.0.0", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "2.1.1", - "which-module": "2.0.0", - "y18n": "3.2.1", - "yargs-parser": "7.0.0" - } - }, - "yargs-parser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", - "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", - "dev": true, - "requires": { - "camelcase": "4.1.0" - } - } - } - }, - "webpack-bundle-size-analyzer": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/webpack-bundle-size-analyzer/-/webpack-bundle-size-analyzer-2.5.0.tgz", - "integrity": "sha1-k56kZeRVk1Op/OQK9RGCDyFqnIA=", - "dev": true, - "requires": { - "commander": "2.11.0", - "filesize": "3.5.10", - "humanize": "0.0.9" - } - }, - "webpack-dev-middleware": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-1.12.0.tgz", - "integrity": "sha1-007++y7dp+HTtdvgcolRMhllFwk=", - "dev": true, - "requires": { - "memory-fs": "0.4.1", - "mime": "1.3.4", - "path-is-absolute": "1.0.1", - "range-parser": "1.2.0", - "time-stamp": "2.0.0" - }, - "dependencies": { - "time-stamp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-2.0.0.tgz", - "integrity": "sha1-lcakRTDhW6jW9KPsuMOj+sRto1c=", - "dev": true - } - } - }, - "webpack-dev-server": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-2.6.1.tgz", - "integrity": "sha1-Cykqnaltr4CmWYj2n4e0Fm5d7+c=", - "dev": true, - "requires": { - "ansi-html": "0.0.7", - "bonjour": "3.5.0", - "chokidar": "1.7.0", - "compression": "1.7.1", - "connect-history-api-fallback": "1.3.0", - "del": "3.0.0", - "express": "4.14.1", - "html-entities": "1.2.1", - "http-proxy-middleware": "0.17.4", - "internal-ip": "1.2.0", - "loglevel": "1.4.1", - "opn": "4.0.2", - "portfinder": "1.0.13", - "selfsigned": "1.10.1", - "serve-index": "1.9.1", - "sockjs": "0.3.18", - "sockjs-client": "1.1.4", - "spdy": "3.4.7", - "strip-ansi": "3.0.1", - "supports-color": "3.2.3", - "webpack-dev-middleware": "1.12.0", - "yargs": "6.6.0" - }, - "dependencies": { - "del": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", - "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", - "dev": true, - "requires": { - "globby": "6.1.0", - "is-path-cwd": "1.0.0", - "is-path-in-cwd": "1.0.0", - "p-map": "1.2.0", - "pify": "3.0.0", - "rimraf": "2.6.2" - } - }, - "globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", - "dev": true, - "requires": { - "array-union": "1.0.2", - "glob": "7.1.2", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, - "http-proxy-middleware": { - "version": "0.17.4", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.17.4.tgz", - "integrity": "sha1-ZC6ISIUdZvCdTxJJEoRtuutBuDM=", - "dev": true, - "requires": { - "http-proxy": "1.16.2", - "is-glob": "3.1.0", - "lodash": "4.17.4", - "micromatch": "2.3.11" - } - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "2.1.1" - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - }, - "supports-color": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", - "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", - "dev": true, - "requires": { - "has-flag": "1.0.0" - } - } - } - }, - "webpack-error-notification": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/webpack-error-notification/-/webpack-error-notification-0.1.6.tgz", - "integrity": "sha1-6/y9TvRrg0ZrWcEv3oeQFo9Holc=", - "dev": true - }, - "webpack-hot-middleware": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/webpack-hot-middleware/-/webpack-hot-middleware-2.17.1.tgz", - "integrity": "sha1-DI+/b5P/KcCV1oSwerbWwPL5Udc=", - "dev": true, - "requires": { - "ansi-html": "0.0.7", - "html-entities": "1.2.1", - "querystring": "0.2.0", - "strip-ansi": "3.0.1" - } - }, - "webpack-sources": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.0.1.tgz", - "integrity": "sha512-05tMxipUCwHqYaVS8xc7sYPTly8PzXayRCB4dTxLhWTqlKUiwH6ezmEe0OSreL1c30LAuA3Zqmc+uEBUGFJDjw==", - "dev": true, - "requires": { - "source-list-map": "2.0.0", - "source-map": "0.5.7" - }, - "dependencies": { - "source-list-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz", - "integrity": "sha512-I2UmuJSRr/T8jisiROLU3A3ltr+swpniSmNPI4Ml3ZCX6tVnDsuZzK7F2hl5jTqbZBWCEKlj5HRQiPExXLgE8A==", - "dev": true - } - } - }, - "webrtc-adapter": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/webrtc-adapter/-/webrtc-adapter-2.1.0.tgz", - "integrity": "sha1-YStbxs6Oc8nQZgA4oh+SVahnvz4=", - "requires": { - "sdp": "1.5.4" - } - }, - "websocket": { - "version": "1.0.24", - "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.24.tgz", - "integrity": "sha1-dJA+dfJUW2suHeFCW8HJBZF6GJA=", - "dev": true, - "requires": { - "debug": "2.6.9", - "nan": "2.7.0", - "typedarray-to-buffer": "3.1.2", - "yaeti": "0.0.6" - } - }, - "websocket-driver": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz", - "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", - "dev": true, - "requires": { - "http-parser-js": "0.4.9", - "websocket-extensions": "0.1.2" - } - }, - "websocket-extensions": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.2.tgz", - "integrity": "sha1-Dhh4HeYpoYMIzhSBZQ9n/6JpOl0=", - "dev": true - }, - "whatwg-encoding": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.1.tgz", - "integrity": "sha1-PGxFGhmO567FWx7GHQkgxngBpfQ=", - "dev": true, - "requires": { - "iconv-lite": "0.4.13" - }, - "dependencies": { - "iconv-lite": { - "version": "0.4.13", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz", - "integrity": "sha1-H4irpKsLFQjoMSrMOTRfNumS4vI=", - "dev": true - } - } - }, - "whatwg-fetch": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.1.tgz", - "integrity": "sha1-B4uUYbvpHOpzy86LsSKgX56St3I=" - }, - "whatwg-url": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-4.8.0.tgz", - "integrity": "sha1-0pgaqRSMHgCkHFphMRZqtGg7vMA=", - "dev": true, - "requires": { - "tr46": "0.0.3", - "webidl-conversions": "3.0.1" - }, - "dependencies": { - "webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=", - "dev": true - } - } - }, - "whet.extend": { - "version": "0.9.9", - "resolved": "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz", - "integrity": "sha1-+HfVv2SMl+WqVC+twW1qJZucEaE=", - "dev": true - }, - "which": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", - "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", - "dev": true, - "requires": { - "isexe": "2.0.0" - } - }, - "which-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=" - }, - "wide-align": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz", - "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", - "requires": { - "string-width": "1.0.2" - } - }, - "window-size": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz", - "integrity": "sha1-tDFbtCFKPXBY6+7okuE/ok2YsHU=" - }, - "wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", - "dev": true - }, - "worker-loader": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/worker-loader/-/worker-loader-0.8.1.tgz", - "integrity": "sha1-6OmVMx6jTfW/aCloJL+38K1XjUM=", - "requires": { - "loader-utils": "1.1.0", - "schema-utils": "0.3.0" - }, - "dependencies": { - "loader-utils": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", - "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", - "requires": { - "big.js": "3.2.0", - "emojis-list": "2.1.0", - "json5": "0.5.1" - } - } - } - }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "requires": { - "string-width": "1.0.2", - "strip-ansi": "3.0.1" - } - }, - "wrap-fn": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/wrap-fn/-/wrap-fn-0.1.5.tgz", - "integrity": "sha1-8htuQQFv9KfjFyDbxjoJAWvfmEU=", - "dev": true, - "requires": { - "co": "3.1.0" - }, - "dependencies": { - "co": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/co/-/co-3.1.0.tgz", - "integrity": "sha1-TqVOpaCJOBUxheFSEMaNkJK8G3g=", - "dev": true - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "write": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", - "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", - "dev": true, - "requires": { - "mkdirp": "0.5.1" - } - }, - "write-file-stdout": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/write-file-stdout/-/write-file-stdout-0.0.2.tgz", - "integrity": "sha1-wlLXx8WxtAKJdjDjRTx7/mkNnKE=", - "dev": true - }, - "xml-char-classes": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/xml-char-classes/-/xml-char-classes-1.0.0.tgz", - "integrity": "sha1-ZGV4SKIP/F31g6Qq2KJ3tFErvE0=", - "dev": true - }, - "xml-name-validator": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-2.0.1.tgz", - "integrity": "sha1-TYuPHszTQZqjYgYb7O9RXh5VljU=", - "dev": true - }, - "xmlhttprequest": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz", - "integrity": "sha1-Z/4HXFwk/vOfnWX197f+dRcZaPw=" - }, - "xss-filters": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/xss-filters/-/xss-filters-1.2.7.tgz", - "integrity": "sha1-Wfod4gHzby80cNysX1jMwoMLCpo=" - }, - "xtend": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" - }, - "y18n": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" - }, - "yaeti": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz", - "integrity": "sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc=", - "dev": true - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - }, - "yargs": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", - "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=", - "requires": { - "camelcase": "3.0.0", - "cliui": "3.2.0", - "decamelize": "1.2.0", - "get-caller-file": "1.0.2", - "os-locale": "1.4.0", - "read-pkg-up": "1.0.1", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "1.0.2", - "which-module": "1.0.0", - "y18n": "3.2.1", - "yargs-parser": "4.2.1" - }, - "dependencies": { - "yargs-parser": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz", - "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=", - "requires": { - "camelcase": "3.0.0" - } - } - } - }, - "yargs-parser": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz", - "integrity": "sha1-hVaN488VD/SfpRgl8DqMiA3cxcQ=", - "requires": { - "camelcase": "3.0.0", - "lodash.assign": "4.2.0" - } - }, - "yauzl": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz", - "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=", - "dev": true, - "requires": { - "fd-slicer": "1.0.1" - } - }, - "zxcvbn": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/zxcvbn/-/zxcvbn-4.4.1.tgz", - "integrity": "sha1-I4Gq3X8HiiWoayFTJ1YmR7gKqKw=" - } - } -} diff --git a/js/package.electron.json b/js/package.electron.json index 9ae0f46aa..6a0afc8a4 100644 --- a/js/package.electron.json +++ b/js/package.electron.json @@ -1,6 +1,6 @@ { "name": "Parity", - "version": "1.99.99", + "version": "1.9.0", "main": "electron.js", "author": "Parity Team ", "repository": { diff --git a/js/package.json b/js/package.json index e1e4144a6..f8071bac8 100644 --- a/js/package.json +++ b/js/package.json @@ -1,6 +1,6 @@ { "name": "Parity", - "version": "1.8.28", + "version": "1.9.0", "main": "src/index.parity.js", "jsnext:main": "src/index.parity.js", "author": "Parity Team ", diff --git a/js/scripts/test.js b/js/scripts/test.js index e426642db..e60e3cb6c 100644 --- a/js/scripts/test.js +++ b/js/scripts/test.js @@ -1 +1 @@ -// test script 10 +// test script 11 diff --git a/js/wasm/ethkey/Cargo.toml b/js/wasm/ethkey/Cargo.toml index 8eb9159e9..22e5bf553 100644 --- a/js/wasm/ethkey/Cargo.toml +++ b/js/wasm/ethkey/Cargo.toml @@ -1,7 +1,7 @@ [package] description = "Parity ethkey WASM module." name = "parity-ethkey-wasm" -version = "1.8.0" +version = "1.9.0" license = "GPL-3.0" authors = ["Parity Technologies "] diff --git a/json/src/lib.rs b/json/src/lib.rs index 4af7384a0..fffeb0824 100644 --- a/json/src/lib.rs +++ b/json/src/lib.rs @@ -31,3 +31,4 @@ pub mod maybe; pub mod state; pub mod transaction; pub mod misc; +pub mod test; diff --git a/json/src/spec/params.rs b/json/src/spec/params.rs index 1bb6abeb3..f62626899 100644 --- a/json/src/spec/params.rs +++ b/json/src/spec/params.rs @@ -58,6 +58,9 @@ pub struct Params { #[serde(rename="eip155Transition")] pub eip155_transition: Option, /// See `CommonParams` docs. + #[serde(rename="validateChainIdTransition")] + pub validate_chain_id_transition: Option, + /// See `CommonParams` docs. #[serde(rename="validateReceiptsTransition")] pub validate_receipts_transition: Option, /// See `CommonParams` docs. diff --git a/json/src/test/mod.rs b/json/src/test/mod.rs new file mode 100644 index 000000000..1a6e4db7d --- /dev/null +++ b/json/src/test/mod.rs @@ -0,0 +1,67 @@ +// Copyright 2015-2017 Parity Technologies (UK) Ltd. +// This file is part of Parity. + +// Parity is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Parity is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Parity. If not, see . + +//! Additional test structures deserialization. + +use std::collections::BTreeMap; +use std::io::Read; +use serde_json; +use serde_json::Error; +use hash::H256; +use uint::Uint; + +/// Blockchain test header deserializer. +#[derive(Debug, PartialEq, Deserialize)] +pub struct DifficultyTestCase { + /// Parent timestamp. + #[serde(rename="parentTimestamp")] + pub parent_timestamp: Uint, + /// Parent difficulty. + #[serde(rename="parentDifficulty")] + pub parent_difficulty: Uint, + /// Parent uncle hash. + #[serde(rename="parentUncles")] + pub parent_uncles: H256, + /// Current timestamp. + #[serde(rename="currentTimestamp")] + pub current_timestamp: Uint, + /// Current difficulty. + #[serde(rename="currentDifficulty")] + pub current_difficulty: Uint, + /// Current block number. + #[serde(rename="currentBlockNumber")] + pub current_block_number: Uint, +} +/// Blockchain test deserializer. +#[derive(Debug, PartialEq, Deserialize)] +pub struct DifficultyTest(BTreeMap); + +impl IntoIterator for DifficultyTest { + type Item = as IntoIterator>::Item; + type IntoIter = as IntoIterator>::IntoIter; + + fn into_iter(self) -> Self::IntoIter { + self.0.into_iter() + } +} + +impl DifficultyTest { + /// Loads test from json. + pub fn load(reader: R) -> Result where R: Read { + serde_json::from_reader(reader) + } +} + diff --git a/local-store/Cargo.toml b/local-store/Cargo.toml index d7b957fd7..db9830c40 100644 --- a/local-store/Cargo.toml +++ b/local-store/Cargo.toml @@ -8,7 +8,8 @@ authors = ["Parity Technologies "] ethcore-util = { path = "../util" } ethcore-io = { path = "../util/io" } ethcore = { path = "../ethcore" } -rlp = {path = "../util/rlp" } +rlp = { path = "../util/rlp" } +kvdb = { path = "../util/kvdb" } serde = "1.0" serde_derive = "1.0" serde_json = "1.0" diff --git a/local-store/src/lib.rs b/local-store/src/lib.rs index 5077fbe01..61fe54976 100644 --- a/local-store/src/lib.rs +++ b/local-store/src/lib.rs @@ -26,7 +26,7 @@ use ethcore::transaction::{ use ethcore::service::ClientIoMessage; use io::IoHandler; use rlp::UntrustedRlp; -use util::kvdb::KeyValueDB; +use kvdb::KeyValueDB; extern crate ethcore; extern crate ethcore_util as util; @@ -34,6 +34,7 @@ extern crate ethcore_io as io; extern crate rlp; extern crate serde_json; extern crate serde; +extern crate kvdb; #[macro_use] extern crate serde_derive; @@ -242,7 +243,7 @@ mod tests { #[test] fn twice_empty() { - let db = Arc::new(::util::kvdb::in_memory(0)); + let db = Arc::new(::kvdb::in_memory(0)); { let store = super::create(db.clone(), None, Dummy(vec![])); @@ -271,7 +272,7 @@ mod tests { PendingTransaction::new(signed, condition) }).collect(); - let db = Arc::new(::util::kvdb::in_memory(0)); + let db = Arc::new(::kvdb::in_memory(0)); { // nothing written yet, will write pending. @@ -310,7 +311,7 @@ mod tests { PendingTransaction::new(signed, None) }); - let db = Arc::new(::util::kvdb::in_memory(0)); + let db = Arc::new(::kvdb::in_memory(0)); { // nothing written, will write bad. let store = super::create(db.clone(), None, Dummy(transactions.clone())); diff --git a/logger/Cargo.toml b/logger/Cargo.toml index 8b9a8dea2..fc63701c4 100644 --- a/logger/Cargo.toml +++ b/logger/Cargo.toml @@ -1,7 +1,7 @@ [package] description = "Ethcore client." name = "ethcore-logger" -version = "1.8.0" +version = "1.9.0" license = "GPL-3.0" authors = ["Parity Technologies "] diff --git a/mac/Parity.pkgproj b/mac/Parity.pkgproj index 1c87af629..560f8b022 100755 --- a/mac/Parity.pkgproj +++ b/mac/Parity.pkgproj @@ -462,7 +462,7 @@ OVERWRITE_PERMISSIONS VERSION - 1.8.0 + 1.9.0 UUID 2DCD5B81-7BAF-4DA1-9251-6274B089FD36 diff --git a/mac/Parity/Info.plist b/mac/Parity/Info.plist index dba951778..24cba2646 100644 --- a/mac/Parity/Info.plist +++ b/mac/Parity/Info.plist @@ -17,7 +17,7 @@ CFBundlePackageType APPL CFBundleShortVersionString - 1.8 + 1.9 CFBundleVersion 1 LSApplicationCategoryType diff --git a/nsis/installer.nsi b/nsis/installer.nsi index 25ba98863..f4a180bf9 100644 --- a/nsis/installer.nsi +++ b/nsis/installer.nsi @@ -9,7 +9,7 @@ !define COMPANYNAME "Parity" !define DESCRIPTION "Fast, light, robust Ethereum implementation" !define VERSIONMAJOR 1 -!define VERSIONMINOR 8 +!define VERSIONMINOR 9 !define VERSIONBUILD 0 !define ARGS "--warp" !define FIRST_START_ARGS "ui --warp --mode=passive" diff --git a/parity/cli/mod.rs b/parity/cli/mod.rs index dc6c2fe7b..774256d02 100644 --- a/parity/cli/mod.rs +++ b/parity/cli/mod.rs @@ -1201,6 +1201,17 @@ mod tests { Snapshots, VM, Misc, Whisper, SecretStore, }; use toml; + use clap::{ErrorKind as ClapErrorKind}; + + + #[test] + fn should_reject_invalid_values() { + let args = Args::parse(&["parity", "--cache=20"]); + assert!(args.is_ok()); + + let args = Args::parse(&["parity", "--cache=asd"]); + assert!(args.is_err()); + } #[test] fn should_parse_args_and_flags() { @@ -1217,6 +1228,17 @@ mod tests { assert_eq!(args.arg_export_state_min_balance, Some("123".to_string())); } + #[test] + fn should_exit_gracefully_on_unknown_argument() { + let result = Args::parse(&["parity", "--please-exit-gracefully"]); + assert!( + match result { + Err(ArgsError::Clap(ref clap_error)) if clap_error.kind == ClapErrorKind::UnknownArgument => true, + _ => false + } + ); + } + #[test] fn should_use_subcommand_arg_default() { let args = Args::parse(&["parity", "export", "state", "--at", "123"]).unwrap(); diff --git a/parity/cli/presets/config.dev-insecure.toml b/parity/cli/presets/config.dev-insecure.toml index 3a9956f8e..e4c2c9f47 100644 --- a/parity/cli/presets/config.dev-insecure.toml +++ b/parity/cli/presets/config.dev-insecure.toml @@ -13,4 +13,4 @@ hosts = ["all"] [ipfs] enable = false # this is the default -hosts = ["all"] \ No newline at end of file +hosts = ["all"] diff --git a/parity/cli/presets/config.dev.toml b/parity/cli/presets/config.dev.toml index f38e17348..4fc0874c5 100644 --- a/parity/cli/presets/config.dev.toml +++ b/parity/cli/presets/config.dev.toml @@ -3,4 +3,4 @@ chain = "dev" [mining] reseal_min_period = 0 -min_gas_price = 0 \ No newline at end of file +min_gas_price = 0 diff --git a/parity/cli/presets/config.insecure.toml b/parity/cli/presets/config.insecure.toml index 6e67db3d7..18859c9cc 100644 --- a/parity/cli/presets/config.insecure.toml +++ b/parity/cli/presets/config.insecure.toml @@ -8,4 +8,4 @@ hosts = ["all"] [ipfs] enable = false # this is the default -hosts = ["all"] \ No newline at end of file +hosts = ["all"] diff --git a/parity/cli/presets/config.mining.toml b/parity/cli/presets/config.mining.toml index 52e004942..f6c39bdd6 100644 --- a/parity/cli/presets/config.mining.toml +++ b/parity/cli/presets/config.mining.toml @@ -28,4 +28,4 @@ cache_size = 256 [misc] # Logging pattern (`=`, e.g. `own_tx=trace`). -logging = "miner=trace,own_tx=trace" \ No newline at end of file +logging = "miner=trace,own_tx=trace" diff --git a/parity/cli/presets/config.non-standard-ports.toml b/parity/cli/presets/config.non-standard-ports.toml index e4013ff94..5c522d867 100644 --- a/parity/cli/presets/config.non-standard-ports.toml +++ b/parity/cli/presets/config.non-standard-ports.toml @@ -4,4 +4,4 @@ port = 30305 [rpc] # JSON-RPC over HTTP will be accessible on port 8645. -port = 8645 \ No newline at end of file +port = 8645 diff --git a/parity/cli/usage.rs b/parity/cli/usage.rs index b6a4b723e..83b878ee1 100644 --- a/parity/cli/usage.rs +++ b/parity/cli/usage.rs @@ -32,6 +32,20 @@ macro_rules! otry { ) } +macro_rules! return_if_parse_error { + ($e:expr) => ( + match $e { + Err(clap_error @ ClapError { kind: ClapErrorKind::ValueValidation, .. }) => { + return Err(clap_error); + }, + + // Otherwise, if $e is ClapErrorKind::ArgumentNotFound or Ok(), + // then convert to Option + _ => $e.ok() + } + ) +} + macro_rules! if_option { (Option<$type:ty>, THEN {$($then:tt)*} ELSE {$($otherwise:tt)*}) => ( $($then)* @@ -139,7 +153,7 @@ macro_rules! usage { use std::{fs, io, process}; use std::io::{Read, Write}; use util::version; - use clap::{Arg, App, SubCommand, AppSettings, Error as ClapError}; + use clap::{Arg, App, SubCommand, AppSettings, Error as ClapError, ErrorKind as ClapErrorKind}; use helpers::replace_home; use std::ffi::OsStr; use std::collections::HashMap; @@ -537,21 +551,20 @@ macro_rules! usage { let matches = App::new("Parity") .global_setting(AppSettings::VersionlessSubcommands) - .global_setting(AppSettings::AllowLeadingHyphen) // allow for example --allow-ips -10.0.0.0/8 .global_setting(AppSettings::DisableHelpSubcommand) .help(Args::print_help().as_ref()) - .args(&usages.iter().map(|u| Arg::from_usage(u).use_delimiter(false)).collect::>()) + .args(&usages.iter().map(|u| Arg::from_usage(u).use_delimiter(false).allow_hyphen_values(true)).collect::>()) $( .subcommand( SubCommand::with_name(&underscore_to_hyphen!(&stringify!($subc)[4..])) .about($subc_help) - .args(&subc_usages.get(stringify!($subc)).unwrap().iter().map(|u| Arg::from_usage(u).use_delimiter(false)).collect::>()) + .args(&subc_usages.get(stringify!($subc)).unwrap().iter().map(|u| Arg::from_usage(u).use_delimiter(false).allow_hyphen_values(true)).collect::>()) $( .setting(AppSettings::SubcommandRequired) // prevent from running `parity account` .subcommand( SubCommand::with_name(&underscore_to_hyphen!(&stringify!($subc_subc)[stringify!($subc).len()+1..])) .about($subc_subc_help) - .args(&subc_usages.get(stringify!($subc_subc)).unwrap().iter().map(|u| Arg::from_usage(u).use_delimiter(false)).collect::>()) + .args(&subc_usages.get(stringify!($subc_subc)).unwrap().iter().map(|u| Arg::from_usage(u).use_delimiter(false).allow_hyphen_values(true)).collect::>()) ) )* ) @@ -564,23 +577,23 @@ macro_rules! usage { raw_args.$flag = matches.is_present(stringify!($flag)); )* $( - raw_args.$arg = if_option!( + raw_args.$arg = return_if_parse_error!(if_option!( $($arg_type_tt)+, THEN { if_option_vec!( $($arg_type_tt)+, - THEN { values_t!(matches, stringify!($arg), inner_option_vec_type!($($arg_type_tt)+)).ok() } - ELSE { value_t!(matches, stringify!($arg), inner_option_type!($($arg_type_tt)+)).ok() } + THEN { values_t!(matches, stringify!($arg), inner_option_vec_type!($($arg_type_tt)+)) } + ELSE { value_t!(matches, stringify!($arg), inner_option_type!($($arg_type_tt)+)) } ) } ELSE { if_vec!( $($arg_type_tt)+, - THEN { values_t!(matches, stringify!($arg), inner_vec_type!($($arg_type_tt)+)).ok() } - ELSE { value_t!(matches, stringify!($arg), $($arg_type_tt)+).ok() } + THEN { values_t!(matches, stringify!($arg), inner_vec_type!($($arg_type_tt)+)) } + ELSE { value_t!(matches, stringify!($arg), $($arg_type_tt)+) } ) } - ); + )); )* )* @@ -595,23 +608,23 @@ macro_rules! usage { )* // Subcommand arguments $( - raw_args.$subc_arg = if_option!( + raw_args.$subc_arg = return_if_parse_error!(if_option!( $($subc_arg_type_tt)+, THEN { if_option_vec!( $($subc_arg_type_tt)+, - THEN { values_t!(submatches, stringify!($subc_arg), inner_option_vec_type!($($subc_arg_type_tt)+)).ok() } - ELSE { value_t!(submatches, stringify!($subc_arg), inner_option_type!($($subc_arg_type_tt)+)).ok() } + THEN { values_t!(submatches, stringify!($subc_arg), inner_option_vec_type!($($subc_arg_type_tt)+)) } + ELSE { value_t!(submatches, stringify!($subc_arg), inner_option_type!($($subc_arg_type_tt)+)) } ) } ELSE { if_vec!( $($subc_arg_type_tt)+, - THEN { values_t!(submatches, stringify!($subc_arg), inner_vec_type!($($subc_arg_type_tt)+)).ok() } - ELSE { value_t!(submatches, stringify!($subc_arg), $($subc_arg_type_tt)+).ok() } + THEN { values_t!(submatches, stringify!($subc_arg), inner_vec_type!($($subc_arg_type_tt)+)) } + ELSE { value_t!(submatches, stringify!($subc_arg), $($subc_arg_type_tt)+) } ) } - ); + )); )* // Sub-subcommands @@ -625,23 +638,23 @@ macro_rules! usage { )* // Sub-subcommand arguments $( - raw_args.$subc_subc_arg = if_option!( + raw_args.$subc_subc_arg = return_if_parse_error!(if_option!( $($subc_subc_arg_type_tt)+, THEN { if_option_vec!( $($subc_subc_arg_type_tt)+, - THEN { values_t!(subsubmatches, stringify!($subc_subc_arg), inner_option_vec_type!($($subc_subc_arg_type_tt)+)).ok() } - ELSE { value_t!(subsubmatches, stringify!($subc_subc_arg), inner_option_type!($($subc_subc_arg_type_tt)+)).ok() } + THEN { values_t!(subsubmatches, stringify!($subc_subc_arg), inner_option_vec_type!($($subc_subc_arg_type_tt)+)) } + ELSE { value_t!(subsubmatches, stringify!($subc_subc_arg), inner_option_type!($($subc_subc_arg_type_tt)+)) } ) } ELSE { if_vec!( $($subc_subc_arg_type_tt)+, - THEN { values_t!(subsubmatches, stringify!($subc_subc_arg), inner_vec_type!($($subc_subc_arg_type_tt)+)).ok() } - ELSE { value_t!(subsubmatches, stringify!($subc_subc_arg), $($subc_subc_arg_type_tt)+).ok() } + THEN { values_t!(subsubmatches, stringify!($subc_subc_arg), inner_vec_type!($($subc_subc_arg_type_tt)+)) } + ELSE { value_t!(subsubmatches, stringify!($subc_subc_arg), $($subc_subc_arg_type_tt)+) } ) } - ); + )); )* } else { diff --git a/parity/configuration.rs b/parity/configuration.rs index 007d2d911..a9c776c39 100644 --- a/parity/configuration.rs +++ b/parity/configuration.rs @@ -15,7 +15,7 @@ // along with Parity. If not, see . use std::time::Duration; -use std::io::{Read, Write, stderr}; +use std::io::Read; use std::net::SocketAddr; use std::path::{Path, PathBuf}; use std::collections::BTreeMap; @@ -27,7 +27,6 @@ use bigint::prelude::U256; use bigint::hash::H256; use util::{version_data, Address}; use bytes::Bytes; -use util::journaldb::Algorithm; use ansi_term::Colour; use ethsync::{NetworkConfiguration, is_valid_node_url}; use ethcore::ethstore::ethkey::{Secret, Public}; @@ -41,7 +40,7 @@ use parity_rpc::NetworkSettings; use cache::CacheConfig; use helpers::{to_duration, to_mode, to_block_id, to_u256, to_pending_set, to_price, replace_home, replace_home_and_local, geth_ipc_path, parity_ipc_path, to_bootnodes, to_addresses, to_address, to_gas_limit, to_queue_strategy}; -use params::{ResealPolicy, AccountsConfig, GasPricerConfig, MinerExtras, Pruning, Switch}; +use params::{ResealPolicy, AccountsConfig, GasPricerConfig, MinerExtras}; use ethcore_logger::Config as LogConfig; use dir::{self, Directories, default_hypervisor_path, default_local_path, default_data_path}; use dapps::Configuration as DappsConfiguration; @@ -129,17 +128,7 @@ impl Configuration { let compaction = self.args.arg_db_compaction.parse()?; let wal = !self.args.flag_fast_and_loose; let public_node = self.args.flag_public_node; - if !self.args.flag_no_warp { - // Logging is not initialized yet, so we print directly to stderr - if fat_db == Switch::On { - writeln!(&mut stderr(), "Warning: Warp Sync is disabled because Fat DB is turned on").expect("Error writing to stderr"); - } else if tracing == Switch::On { - writeln!(&mut stderr(), "Warning: Warp Sync is disabled because tracing is turned on").expect("Error writing to stderr"); - } else if pruning == Pruning::Specific(Algorithm::Archive) { - writeln!(&mut stderr(), "Warning: Warp Sync is disabled because pruning mode is set to archive").expect("Error writing to stderr"); - } - } - let warp_sync = !self.args.flag_no_warp && fat_db != Switch::On && tracing != Switch::On && pruning != Pruning::Specific(Algorithm::Archive); + let warp_sync = !self.args.flag_no_warp; let geth_compatibility = self.args.flag_geth; let dapps_conf = self.dapps_config(); let ipfs_conf = self.ipfs_config(); diff --git a/parity/helpers.rs b/parity/helpers.rs index 9bcaf897e..da54f6763 100644 --- a/parity/helpers.rs +++ b/parity/helpers.rs @@ -20,7 +20,8 @@ use std::time::Duration; use std::fs::File; use bigint::prelude::U256; use bigint::hash::clean_0x; -use util::{Address, CompactionProfile}; +use util::Address; +use kvdb::CompactionProfile; use util::journaldb::Algorithm; use ethcore::client::{Mode, BlockId, VMType, DatabaseCompactionProfile, ClientConfig, VerifierType}; use ethcore::miner::{PendingSet, GasLimit, PrioritizationStrategy}; diff --git a/parity/main.rs b/parity/main.rs index cd269b00b..97ffbca5f 100644 --- a/parity/main.rs +++ b/parity/main.rs @@ -61,6 +61,8 @@ extern crate ethcore_util as util; extern crate ethcore_bigint as bigint; extern crate ethcore_bytes as bytes; extern crate ethcore_network as network; +extern crate migration as migr; +extern crate kvdb; extern crate ethkey; extern crate ethsync; extern crate node_health; diff --git a/parity/migration.rs b/parity/migration.rs index c4e5f5ac6..508491a0a 100644 --- a/parity/migration.rs +++ b/parity/migration.rs @@ -21,8 +21,8 @@ use std::path::{Path, PathBuf}; use std::fmt::{Display, Formatter, Error as FmtError}; use std::sync::Arc; use util::journaldb::Algorithm; -use util::migration::{Manager as MigrationManager, Config as MigrationConfig, Error as MigrationError, Migration}; -use util::kvdb::{CompactionProfile, Database, DatabaseConfig}; +use migr::{Manager as MigrationManager, Config as MigrationConfig, Error as MigrationError, Migration}; +use kvdb::{CompactionProfile, Database, DatabaseConfig}; use ethcore::migrations; use ethcore::db; use ethcore::migrations::Extract; @@ -282,8 +282,8 @@ mod legacy { use super::*; use std::path::{Path, PathBuf}; use util::journaldb::Algorithm; - use util::migration::{Manager as MigrationManager}; - use util::kvdb::CompactionProfile; + use migr::{Manager as MigrationManager}; + use kvdb::CompactionProfile; use ethcore::migrations; /// Blocks database path. diff --git a/parity/run.rs b/parity/run.rs index 4b971f837..e11a176e4 100644 --- a/parity/run.rs +++ b/parity/run.rs @@ -42,6 +42,7 @@ use ansi_term::Colour; use util::version; use parking_lot::{Condvar, Mutex}; use node_filter::NodeFilter; +use util::journaldb::Algorithm; use params::{ SpecType, Pruning, AccountsConfig, GasPricerConfig, MinerExtras, Switch, @@ -496,7 +497,21 @@ pub fn execute(cmd: RunCmd, can_restart: bool, logger: Arc) -> R } sync_config.fork_block = spec.fork_block(); - sync_config.warp_sync = spec.engine.supports_warp() && cmd.warp_sync; + let mut warp_sync = cmd.warp_sync; + if warp_sync { + // Logging is not initialized yet, so we print directly to stderr + if fat_db { + warn!("Warning: Warp Sync is disabled because Fat DB is turned on."); + warp_sync = false; + } else if tracing { + warn!("Warning: Warp Sync is disabled because tracing is turned on."); + warp_sync = false; + } else if algorithm != Algorithm::OverlayRecent { + warn!("Warning: Warp Sync is disabled because of non-default pruning mode."); + warp_sync = false; + } + } + sync_config.warp_sync = spec.engine.supports_warp() && warp_sync; sync_config.download_old_blocks = cmd.download_old_blocks; sync_config.serve_light = cmd.serve_light; diff --git a/rpc/Cargo.toml b/rpc/Cargo.toml index 0b393f16d..e4351b56f 100644 --- a/rpc/Cargo.toml +++ b/rpc/Cargo.toml @@ -1,7 +1,7 @@ [package] description = "Parity JSON-RPC servers." name = "parity-rpc" -version = "1.8.0" +version = "1.9.0" license = "GPL-3.0" authors = ["Parity Technologies "] @@ -57,12 +57,14 @@ rlp = { path = "../util/rlp" } stats = { path = "../util/stats" } vm = { path = "../ethcore/vm" } hash = { path = "../util/hash" } +kvdb = { path = "../util/kvdb" } hardware-wallet = { path = "../hw" } clippy = { version = "0.0.103", optional = true} pretty_assertions = "0.1" [dev-dependencies] +macros = { path = "../util/macros" } ethcore-network = { path = "../util/network" } [features] diff --git a/rpc/src/authcodes.rs b/rpc/src/authcodes.rs index c8a0731e3..f1b2a391d 100644 --- a/rpc/src/authcodes.rs +++ b/rpc/src/authcodes.rs @@ -176,7 +176,7 @@ impl AuthCodes { } // look for code - for mut code in &mut self.codes { + for code in &mut self.codes { if &as_token(&code.code) == hash { code.last_used_at = Some(time::Duration::from_secs(now)); return true; diff --git a/rpc/src/lib.rs b/rpc/src/lib.rs index c37ebad1f..2e6d6148f 100644 --- a/rpc/src/lib.rs +++ b/rpc/src/lib.rs @@ -50,6 +50,7 @@ extern crate ethcore_devtools as devtools; extern crate ethcore_io as io; extern crate ethcore_ipc; extern crate ethcore_light as light; +extern crate ethcore_util as util; extern crate ethcrypto as crypto; extern crate ethkey; extern crate ethstore; @@ -64,11 +65,10 @@ extern crate rlp; extern crate stats; extern crate hash; extern crate hardware_wallet; +extern crate kvdb; #[macro_use] extern crate log; -#[cfg_attr(test, macro_use)] -extern crate ethcore_util as util; #[macro_use] extern crate jsonrpc_macros; #[macro_use] @@ -81,6 +81,10 @@ extern crate ethjson; #[macro_use] extern crate pretty_assertions; +#[cfg(test)] +#[macro_use] +extern crate macros; + pub extern crate jsonrpc_ws_server as ws; mod authcodes; diff --git a/rpc/src/v1/extractors.rs b/rpc/src/v1/extractors.rs index a24722900..1c0fb1322 100644 --- a/rpc/src/v1/extractors.rs +++ b/rpc/src/v1/extractors.rs @@ -136,7 +136,7 @@ impl ws::RequestMiddleware for WsExtractor { } fn add_security_headers(res: &mut ws::ws::Response) { - let mut headers = res.headers_mut(); + let headers = res.headers_mut(); headers.push(("X-Frame-Options".into(), b"SAMEORIGIN".to_vec())); headers.push(("X-XSS-Protection".into(), b"1; mode=block".to_vec())); headers.push(("X-Content-Type-Options".into(), b"nosniff".to_vec())); diff --git a/rpc/src/v1/tests/eth.rs b/rpc/src/v1/tests/eth.rs index 4563f76e3..a2b23f52e 100644 --- a/rpc/src/v1/tests/eth.rs +++ b/rpc/src/v1/tests/eth.rs @@ -33,6 +33,7 @@ use io::IoChannel; use bigint::prelude::U256; use bigint::hash::H256; use util::Address; +use kvdb::in_memory; use jsonrpc_core::IoHandler; use v1::impls::{EthClient, SigningUnsafeClient}; @@ -130,7 +131,7 @@ impl EthTester { let client = Client::new( ClientConfig::default(), &spec, - Arc::new(::util::kvdb::in_memory(::ethcore::db::NUM_COLUMNS.unwrap_or(0))), + Arc::new(in_memory(::ethcore::db::NUM_COLUMNS.unwrap_or(0))), miner_service.clone(), IoChannel::disconnected(), ).unwrap(); diff --git a/rpc/src/v1/types/block_number.rs b/rpc/src/v1/types/block_number.rs index 334bf360d..9570f4420 100644 --- a/rpc/src/v1/types/block_number.rs +++ b/rpc/src/v1/types/block_number.rs @@ -82,9 +82,7 @@ impl<'a> Visitor<'a> for BlockNumberVisitor { _ if value.starts_with("0x") => u64::from_str_radix(&value[2..], 16).map(BlockNumber::Num).map_err(|e| { Error::custom(format!("Invalid block number: {}", e)) }), - _ => value.parse::().map(BlockNumber::Num).map_err(|e| { - Error::custom(format!("Invalid block number: {}", e)) - }), + _ => Err(Error::custom(format!("Invalid block number: missing 0x prefix"))), } } @@ -112,9 +110,15 @@ mod tests { #[test] fn block_number_deserialization() { - let s = r#"["0xa", "10", "latest", "earliest", "pending"]"#; + let s = r#"["0xa", "latest", "earliest", "pending"]"#; let deserialized: Vec = serde_json::from_str(s).unwrap(); - assert_eq!(deserialized, vec![BlockNumber::Num(10), BlockNumber::Num(10), BlockNumber::Latest, BlockNumber::Earliest, BlockNumber::Pending]) + assert_eq!(deserialized, vec![BlockNumber::Num(10), BlockNumber::Latest, BlockNumber::Earliest, BlockNumber::Pending]) + } + + #[test] + fn should_not_deserialize_decimal() { + let s = r#""10""#; + assert!(serde_json::from_str::(s).is_err()); } #[test] diff --git a/rpc/src/v1/types/bytes.rs b/rpc/src/v1/types/bytes.rs index 4bd10af44..fdbcb729b 100644 --- a/rpc/src/v1/types/bytes.rs +++ b/rpc/src/v1/types/bytes.rs @@ -74,13 +74,7 @@ impl<'a> Visitor<'a> for BytesVisitor { } fn visit_str(self, value: &str) -> Result where E: Error { - if value.is_empty() { - warn!( - target: "deprecated", - "Deserializing empty string as empty bytes. This is a non-standard behaviour that will be removed in future versions. Please update your code to send `0x` instead!" - ); - Ok(Bytes::new(Vec::new())) - } else if value.len() >= 2 && &value[0..2] == "0x" && value.len() & 1 == 0 { + if value.len() >= 2 && &value[0..2] == "0x" && value.len() & 1 == 0 { Ok(Bytes::new(FromHex::from_hex(&value[2..]).map_err(|e| Error::custom(format!("Invalid hex: {}", e)))?)) } else { Err(Error::custom("Invalid bytes format. Expected a 0x-prefixed hex string with even length")) @@ -108,8 +102,7 @@ mod tests { #[test] fn test_bytes_deserialize() { - // TODO [ToDr] Uncomment when Mist starts sending correct data - // let bytes1: Result = serde_json::from_str(r#""""#); + let bytes1: Result = serde_json::from_str(r#""""#); let bytes2: Result = serde_json::from_str(r#""0x123""#); let bytes3: Result = serde_json::from_str(r#""0xgg""#); @@ -117,19 +110,12 @@ mod tests { let bytes5: Bytes = serde_json::from_str(r#""0x12""#).unwrap(); let bytes6: Bytes = serde_json::from_str(r#""0x0123""#).unwrap(); - // assert!(bytes1.is_err()); + assert!(bytes1.is_err()); assert!(bytes2.is_err()); assert!(bytes3.is_err()); assert_eq!(bytes4, Bytes(vec![])); assert_eq!(bytes5, Bytes(vec![0x12])); assert_eq!(bytes6, Bytes(vec![0x1, 0x23])); } - - // TODO [ToDr] Remove when Mist starts sending correct data - #[test] - fn test_bytes_lenient_against_the_spec_deserialize_for_empty_string_for_mist_compatibility() { - let deserialized: Bytes = serde_json::from_str(r#""""#).unwrap(); - assert_eq!(deserialized, Bytes(Vec::new())); - } } diff --git a/secret_store/Cargo.toml b/secret_store/Cargo.toml index 4354ea2e3..3e98c62e7 100644 --- a/secret_store/Cargo.toml +++ b/secret_store/Cargo.toml @@ -32,6 +32,7 @@ ethcore-bytes = { path = "../util/bytes" } ethcore-devtools = { path = "../devtools" } ethcore-util = { path = "../util" } ethcore-bigint = { path = "../util/bigint" } +kvdb = { path = "../util/kvdb" } hash = { path = "../util/hash" } ethcore-ipc = { path = "../ipc/rpc" } ethcore-ipc-nano = { path = "../ipc/nano" } diff --git a/secret_store/src/key_storage.rs b/secret_store/src/key_storage.rs index 6143b4a31..ca408dfc1 100644 --- a/secret_store/src/key_storage.rs +++ b/secret_store/src/key_storage.rs @@ -18,7 +18,7 @@ use std::path::PathBuf; use std::collections::BTreeMap; use serde_json; use ethkey::{Secret, Public}; -use util::{Database, DatabaseIterator}; +use kvdb::{Database, DatabaseIterator}; use types::all::{Error, ServiceConfiguration, ServerKeyId, NodeId}; use serialization::{SerializablePublic, SerializableSecret}; @@ -153,7 +153,7 @@ fn upgrade_db(db: Database) -> Result { let v2_key = CurrentSerializableDocumentKeyShare { // author is used in separate generation + encrypt sessions. // in v0 there have been only simultaneous GenEnc sessions. - author: Public::default().into(), // added in v1 + author: Public::default().into(), // added in v1 threshold: v0_key.threshold, id_numbers: v0_key.id_numbers, secret_share: v0_key.secret_share, @@ -293,7 +293,7 @@ pub mod tests { use serde_json; use devtools::RandomTempPath; use ethkey::{Random, Generator, Public, Secret}; - use util::Database; + use kvdb::Database; use types::all::{Error, NodeAddress, ServiceConfiguration, ClusterConfiguration, ServerKeyId}; use super::{DB_META_KEY_VERSION, CURRENT_VERSION, KeyStorage, PersistentKeyStorage, DocumentKeyShare, SerializableDocumentKeyShareV0, SerializableDocumentKeyShareV1, @@ -352,7 +352,7 @@ pub mod tests { admin_public: None, }, }; - + let key1 = ServerKeyId::from(1); let value1 = DocumentKeyShare { author: Public::default(), diff --git a/secret_store/src/lib.rs b/secret_store/src/lib.rs index fb6cc0e68..6aa3bd708 100644 --- a/secret_store/src/lib.rs +++ b/secret_store/src/lib.rs @@ -48,6 +48,7 @@ extern crate ethcrypto; extern crate ethkey; extern crate native_contracts; extern crate hash; +extern crate kvdb; mod key_server_cluster; mod types; diff --git a/stratum/Cargo.toml b/stratum/Cargo.toml index 47f2c0447..8e60854e2 100644 --- a/stratum/Cargo.toml +++ b/stratum/Cargo.toml @@ -1,7 +1,7 @@ [package] description = "Ethcore stratum lib" name = "ethcore-stratum" -version = "1.8.0" +version = "1.9.0" license = "GPL-3.0" authors = ["Parity Technologies "] build = "build.rs" diff --git a/sync/Cargo.toml b/sync/Cargo.toml index d5ef8ed3c..fa8531b6c 100644 --- a/sync/Cargo.toml +++ b/sync/Cargo.toml @@ -1,7 +1,7 @@ [package] description = "Ethcore blockchain sync" name = "ethsync" -version = "1.8.0" +version = "1.9.0" license = "GPL-3.0" authors = ["Parity Technologies "] build = "build.rs" @@ -22,6 +22,8 @@ ethcore = { path = "../ethcore" } rlp = { path = "../util/rlp" } hash = { path = "../util/hash" } triehash = { path = "../util/triehash" } +kvdb = { path = "../util/kvdb" } +macros = { path = "../util/macros" } clippy = { version = "0.0.103", optional = true} log = "0.3" env_logger = "0.4" diff --git a/sync/src/blocks.rs b/sync/src/blocks.rs index f7e616c6f..44f693159 100644 --- a/sync/src/blocks.rs +++ b/sync/src/blocks.rs @@ -21,7 +21,6 @@ use hash::{keccak, KECCAK_NULL_RLP, KECCAK_EMPTY_LIST_RLP}; use heapsize::HeapSizeOf; use bigint::hash::H256; use triehash::ordered_trie_root; -use util::*; use bytes::Bytes; use rlp::*; use network::NetworkError; @@ -406,7 +405,7 @@ impl BlockCollection { } } - fn insert_header(&mut self, header: Bytes) -> Result { + fn insert_header(&mut self, header: Bytes) -> Result { let info: BlockHeader = UntrustedRlp::new(&header).as_val()?; let hash = info.hash(); if self.blocks.contains_key(&hash) { diff --git a/sync/src/chain.rs b/sync/src/chain.rs index 7423f8254..e60996099 100644 --- a/sync/src/chain.rs +++ b/sync/src/chain.rs @@ -14,7 +14,6 @@ // You should have received a copy of the GNU General Public License // along with Parity. If not, see . -/// /// `BlockChain` synchronization strategy. /// Syncs to peers and keeps up to date. /// This implementation uses ethereum protocol v63 @@ -460,7 +459,7 @@ impl ChainSync { /// Updates transactions were received by a peer pub fn transactions_received(&mut self, hashes: Vec, peer_id: PeerId) { - if let Some(mut peer_info) = self.peers.get_mut(&peer_id) { + if let Some(peer_info) = self.peers.get_mut(&peer_id) { peer_info.last_sent_transactions.extend(&hashes); } } @@ -731,7 +730,7 @@ impl ChainSync { } let result = { - let mut downloader = match block_set { + let downloader = match block_set { BlockSet::NewBlocks => &mut self.new_blocks, BlockSet::OldBlocks => { match self.old_blocks { @@ -796,7 +795,7 @@ impl ChainSync { else { let result = { - let mut downloader = match block_set { + let downloader = match block_set { BlockSet::NewBlocks => &mut self.new_blocks, BlockSet::OldBlocks => match self.old_blocks { None => { @@ -850,7 +849,7 @@ impl ChainSync { else { let result = { - let mut downloader = match block_set { + let downloader = match block_set { BlockSet::NewBlocks => &mut self.new_blocks, BlockSet::OldBlocks => match self.old_blocks { None => { @@ -2187,7 +2186,7 @@ impl ChainSync { // Select random peer to re-broadcast transactions to. let peer = random::new().gen_range(0, self.peers.len()); trace!(target: "sync", "Re-broadcasting transactions to a random peer."); - self.peers.values_mut().nth(peer).map(|mut peer_info| + self.peers.values_mut().nth(peer).map(|peer_info| peer_info.last_sent_transactions.clear() ); } @@ -2230,19 +2229,18 @@ fn accepts_service_transaction(client_id: &str) -> bool { #[cfg(test)] mod tests { use std::collections::{HashSet, VecDeque}; + use {ethkey, Address}; use network::PeerId; use tests::helpers::*; use tests::snapshot::TestSnapshotService; use bigint::prelude::U256; use bigint::hash::H256; - use util::Address; use parking_lot::RwLock; use bytes::Bytes; use rlp::{Rlp, RlpStream, UntrustedRlp}; use super::*; use ::SyncConfig; use super::{PeerInfo, PeerAsking}; - use ethkey; use ethcore::header::*; use ethcore::client::{BlockChainClient, EachBlockWith, TestBlockChainClient}; use ethcore::transaction::UnverifiedTransaction; diff --git a/sync/src/lib.rs b/sync/src/lib.rs index 6a65ec663..33b1d021f 100644 --- a/sync/src/lib.rs +++ b/sync/src/lib.rs @@ -42,6 +42,7 @@ extern crate rlp; extern crate ipnetwork; extern crate hash; extern crate triehash; +extern crate kvdb; extern crate ethcore_light as light; @@ -49,9 +50,9 @@ extern crate ethcore_light as light; #[cfg(test)] extern crate ethkey; #[macro_use] -extern crate log; +extern crate macros; #[macro_use] -extern crate ethcore_util as util; +extern crate log; #[macro_use] extern crate heapsize; #[macro_use] @@ -82,6 +83,9 @@ pub use api::*; pub use chain::{SyncStatus, SyncState}; pub use network::{is_valid_node_url, NonReservedPeerMode, NetworkError, ConnectionFilter, ConnectionDirection}; +#[cfg(test)] +pub(crate) type Address = bigint::hash::H160; + /// IPC interfaces #[cfg(feature="ipc")] pub mod remote { diff --git a/sync/src/tests/consensus.rs b/sync/src/tests/consensus.rs index f45e614d7..b65a72152 100644 --- a/sync/src/tests/consensus.rs +++ b/sync/src/tests/consensus.rs @@ -17,7 +17,6 @@ use std::sync::Arc; use hash::keccak; use bigint::prelude::U256; -use util::*; use io::{IoHandler, IoContext, IoChannel}; use ethcore::client::{BlockChainClient, Client}; use ethcore::service::ClientIoMessage; @@ -27,7 +26,7 @@ use ethcore::transaction::*; use ethcore::account_provider::AccountProvider; use ethkey::{KeyPair, Secret}; use super::helpers::*; -use SyncConfig; +use {SyncConfig, Address}; struct TestIoHandler { client: Arc, diff --git a/sync/src/tests/helpers.rs b/sync/src/tests/helpers.rs index 6fb104ef7..1fe4fde46 100644 --- a/sync/src/tests/helpers.rs +++ b/sync/src/tests/helpers.rs @@ -291,7 +291,7 @@ impl TestNet> { let client = EthcoreClient::new( ClientConfig::default(), &spec, - Arc::new(::util::kvdb::in_memory(::ethcore::db::NUM_COLUMNS.unwrap_or(0))), + Arc::new(::kvdb::in_memory(::ethcore::db::NUM_COLUMNS.unwrap_or(0))), Arc::new(Miner::with_spec_and_accounts(&spec, accounts)), IoChannel::disconnected(), ).unwrap(); diff --git a/sync/src/transactions_stats.rs b/sync/src/transactions_stats.rs index 7a1257cba..aa4aa136e 100644 --- a/sync/src/transactions_stats.rs +++ b/sync/src/transactions_stats.rs @@ -57,8 +57,8 @@ impl TransactionsStats { /// Increases number of propagations to given `enodeid`. pub fn propagated(&mut self, hash: &H256, enode_id: Option, current_block_num: BlockNumber) { let enode_id = enode_id.unwrap_or_default(); - let mut stats = self.pending_transactions.entry(*hash).or_insert_with(|| Stats::new(current_block_num)); - let mut count = stats.propagated_to.entry(enode_id).or_insert(0); + let stats = self.pending_transactions.entry(*hash).or_insert_with(|| Stats::new(current_block_num)); + let count = stats.propagated_to.entry(enode_id).or_insert(0); *count = count.saturating_add(1); } diff --git a/updater/Cargo.toml b/updater/Cargo.toml index 0d4b29025..9897bf7d0 100644 --- a/updater/Cargo.toml +++ b/updater/Cargo.toml @@ -1,7 +1,7 @@ [package] description = "Parity Updater Service." name = "parity-updater" -version = "1.8.0" +version = "1.9.0" license = "GPL-3.0" authors = ["Parity Technologies "] build = "build.rs" diff --git a/util/Cargo.toml b/util/Cargo.toml index 28d53c6e5..61d8b2335 100644 --- a/util/Cargo.toml +++ b/util/Cargo.toml @@ -3,7 +3,7 @@ description = "Ethcore utility library" homepage = "http://parity.io" license = "GPL-3.0" name = "ethcore-util" -version = "1.8.0" +version = "1.9.0" authors = ["Parity Technologies "] build = "build.rs" @@ -24,18 +24,16 @@ target_info = "0.1" ethcore-bigint = { path = "bigint", features = ["heapsizeof"] } parking_lot = "0.4" tiny-keccak= "1.0" -ethcore-bloom-journal = { path = "bloom" } -regex = "0.2" lru-cache = "0.1.0" ethcore-logger = { path = "../logger" } triehash = { path = "triehash" } error-chain = "0.11.0-rc.2" hashdb = { path = "hashdb" } patricia_trie = { path = "patricia_trie" } -nibbleslice = { path = "nibbleslice" } -nibblevec = { path = "nibblevec" } ethcore-bytes = { path = "bytes" } memorydb = { path = "memorydb" } +util-error = { path = "error" } +kvdb = { path = "kvdb" } [features] default = [] diff --git a/util/error/Cargo.toml b/util/error/Cargo.toml new file mode 100644 index 000000000..5c51a78ca --- /dev/null +++ b/util/error/Cargo.toml @@ -0,0 +1,10 @@ +[package] +name = "util-error" +version = "0.1.0" +authors = ["Parity Technologies "] + +[dependencies] +rlp = { path = "../rlp" } +ethcore-bigint = { path = "../bigint" } +error-chain = "0.11.0-rc.2" +rustc-hex = "1.0" diff --git a/util/src/error.rs b/util/error/src/lib.rs similarity index 92% rename from util/src/error.rs rename to util/error/src/lib.rs index 59496f86f..3b314456e 100644 --- a/util/src/error.rs +++ b/util/error/src/lib.rs @@ -19,7 +19,14 @@ #![allow(missing_docs)] #![allow(unknown_lints)] -use std::{self, fmt}; +#[macro_use] +extern crate error_chain; + +extern crate ethcore_bigint as bigint; +extern crate rlp; +extern crate rustc_hex; + +use std::fmt; use rustc_hex::FromHexError; use rlp::DecoderError; use bigint::hash::H256; @@ -59,7 +66,6 @@ error_chain! { Io(::std::io::Error); FromHex(FromHexError); Decoder(DecoderError); - Snappy(::snappy::InvalidInput); BaseData(BaseDataError); } } diff --git a/util/hash/Cargo.toml b/util/hash/Cargo.toml index 91a195468..0b0502721 100644 --- a/util/hash/Cargo.toml +++ b/util/hash/Cargo.toml @@ -12,7 +12,7 @@ ethcore-bigint = { path = "../bigint" } tiny-keccak = "1.3" [build-dependencies] -gcc = "0.3" +cc = "1.0" [dev-dependencies] tempdir = "0.3" diff --git a/util/hash/build.rs b/util/hash/build.rs index 2370855fe..eecb804f9 100644 --- a/util/hash/build.rs +++ b/util/hash/build.rs @@ -16,11 +16,11 @@ // build.rs -// Bring in a dependency on an externally maintained `gcc` package which manages +// Bring in a dependency on an externally maintained `cc` package which manages // invoking the C compiler. -extern crate gcc; +extern crate cc; fn main() { - gcc::compile_library("libtinykeccak.a", &["src/tinykeccak.c"]); + cc::Build::new().file("src/tinykeccak.c").compile("libtinykeccak.a"); } diff --git a/util/io/Cargo.toml b/util/io/Cargo.toml index 654ac1978..c6fd21b9a 100644 --- a/util/io/Cargo.toml +++ b/util/io/Cargo.toml @@ -3,7 +3,7 @@ description = "Ethcore IO library" homepage = "http://parity.io" license = "GPL-3.0" name = "ethcore-io" -version = "1.8.0" +version = "1.9.0" authors = ["Parity Technologies "] [dependencies] diff --git a/util/kvdb/Cargo.toml b/util/kvdb/Cargo.toml new file mode 100644 index 000000000..16c3cb86d --- /dev/null +++ b/util/kvdb/Cargo.toml @@ -0,0 +1,17 @@ +[package] +name = "kvdb" +version = "0.1.0" +authors = ["Parity Technologies "] + +[dependencies] +log = "0.3" +ethcore-bytes = { path = "../bytes" } +ethcore-bigint = { path = "../bigint" } +ethcore-devtools = { path = "../../devtools" } +elastic-array = "0.9" +hashdb = { path = "../hashdb" } +parking_lot = "0.4" +regex = "0.2" +rlp = { path = "../rlp" } +rocksdb = { git = "https://github.com/paritytech/rust-rocksdb" } +error-chain = "0.11.0-rc.2" diff --git a/util/src/kvdb.rs b/util/kvdb/src/lib.rs similarity index 97% rename from util/src/kvdb.rs rename to util/kvdb/src/lib.rs index 4f394b2d4..b78ab1055 100644 --- a/util/src/kvdb.rs +++ b/util/kvdb/src/lib.rs @@ -16,9 +16,23 @@ //! Key-Value store abstraction with `RocksDB` backend. -use std::{mem, fs}; +#[macro_use] +extern crate log; +#[macro_use] +extern crate error_chain; + +extern crate ethcore_bytes as bytes; +extern crate ethcore_bigint as bigint; +extern crate ethcore_devtools as devtools; +extern crate elastic_array; +extern crate hashdb; +extern crate parking_lot; +extern crate rlp; +extern crate rocksdb; +extern crate regex; + +use std::{mem, fs, io}; use std::collections::{HashMap, BTreeMap}; -use std::io::ErrorKind; use std::marker::PhantomData; use std::path::{PathBuf, Path}; use parking_lot::{Mutex, MutexGuard, RwLock}; @@ -28,10 +42,8 @@ use hashdb::DBValue; use rlp::{UntrustedRlp, RlpType, Compressible}; use rocksdb::{DB, Writable, WriteBatch, WriteOptions, IteratorMode, DBIterator, Options, DBCompactionStyle, BlockBasedOptions, Direction, Cache, Column, ReadOptions}; -use UtilError; use bytes::Bytes; - #[cfg(target_os = "linux")] use regex::Regex; #[cfg(target_os = "linux")] @@ -46,6 +58,16 @@ const DB_WRITE_BUFFER_SIZE: usize = 2048 * 1000; /// Required length of prefixes. pub const PREFIX_LEN: usize = 12; +error_chain! { + types { + Error, ErrorKind, ResultExt; + } + + foreign_links { + Io(io::Error); + } +} + /// Write transaction. Batches a sequence of put/delete operations for efficiency. #[derive(Default, Clone, PartialEq)] pub struct DBTransaction { @@ -182,7 +204,7 @@ pub trait KeyValueDB: Sync + Send { -> Box, Box<[u8]>)> + 'a>; /// Attempt to replace this database with a new one located at the given path. - fn restore(&self, new_db: &str) -> Result<(), UtilError>; + fn restore(&self, new_db: &str) -> Result<(), Error>; } /// A key-value database fulfilling the `KeyValueDB` trait, living in memory. @@ -232,12 +254,12 @@ impl KeyValueDB for InMemory { for op in ops { match op { DBOp::Insert { col, key, value } => { - if let Some(mut col) = columns.get_mut(&col) { + if let Some(col) = columns.get_mut(&col) { col.insert(key.into_vec(), value); } }, DBOp::InsertCompressed { col, key, value } => { - if let Some(mut col) = columns.get_mut(&col) { + if let Some(col) = columns.get_mut(&col) { let compressed = UntrustedRlp::new(&value).compress(RlpType::Blocks); let mut value = DBValue::new(); value.append_slice(&compressed); @@ -245,7 +267,7 @@ impl KeyValueDB for InMemory { } }, DBOp::Delete { col, key } => { - if let Some(mut col) = columns.get_mut(&col) { + if let Some(col) = columns.get_mut(&col) { col.remove(&*key); } }, @@ -279,7 +301,7 @@ impl KeyValueDB for InMemory { } } - fn restore(&self, _new_db: &str) -> Result<(), UtilError> { + fn restore(&self, _new_db: &str) -> Result<(), Error> { Err("Attempted to restore in-memory database".into()) } } @@ -777,7 +799,7 @@ impl Database { } /// Restore the database from a copy at given path. - pub fn restore(&self, new_db: &str) -> Result<(), UtilError> { + pub fn restore(&self, new_db: &str) -> Result<(), Error> { self.close(); let mut backup_db = PathBuf::from(&self.path); @@ -786,7 +808,7 @@ impl Database { let existed = match fs::rename(&self.path, &backup_db) { Ok(_) => true, - Err(e) => if let ErrorKind::NotFound = e.kind() { + Err(e) => if let io::ErrorKind::NotFound = e.kind() { false } else { return Err(e.into()); @@ -889,7 +911,7 @@ impl KeyValueDB for Database { Box::new(unboxed.into_iter().flat_map(|inner| inner)) } - fn restore(&self, new_db: &str) -> Result<(), UtilError> { + fn restore(&self, new_db: &str) -> Result<(), Error> { Database::restore(self, new_db) } } diff --git a/util/nibbleslice/Cargo.toml b/util/macros/Cargo.toml similarity index 69% rename from util/nibbleslice/Cargo.toml rename to util/macros/Cargo.toml index 0d0021d85..01d85935c 100644 --- a/util/nibbleslice/Cargo.toml +++ b/util/macros/Cargo.toml @@ -1,7 +1,6 @@ [package] -name = "nibbleslice" +name = "macros" version = "0.1.0" authors = ["Parity Technologies "] [dependencies] -elastic-array = "0.9" diff --git a/util/src/common.rs b/util/macros/src/lib.rs similarity index 93% rename from util/src/common.rs rename to util/macros/src/lib.rs index 4bf3a06ed..78bcd0397 100644 --- a/util/src/common.rs +++ b/util/macros/src/lib.rs @@ -82,8 +82,8 @@ macro_rules! map_into { #[macro_export] macro_rules! flush { - ($arg:expr) => ($crate::common::flush($arg.into())); - ($($arg:tt)*) => ($crate::common::flush(format!("{}", format_args!($($arg)*)))); + ($arg:expr) => ($crate::flush($arg.into())); + ($($arg:tt)*) => ($crate::flush(format!("{}", format_args!($($arg)*)))); } #[macro_export] diff --git a/util/migration/Cargo.toml b/util/migration/Cargo.toml new file mode 100644 index 000000000..927ea232d --- /dev/null +++ b/util/migration/Cargo.toml @@ -0,0 +1,10 @@ +[package] +name = "migration" +version = "0.1.0" +authors = ["Parity Technologies "] + +[dependencies] +log = "0.3" +macros = { path = "../macros" } +kvdb = { path = "../kvdb" } +ethcore-devtools = { path = "../../devtools" } diff --git a/util/src/migration/mod.rs b/util/migration/src/lib.rs similarity index 98% rename from util/src/migration/mod.rs rename to util/migration/src/lib.rs index 3e6b898ff..e854c12f2 100644 --- a/util/src/migration/mod.rs +++ b/util/migration/src/lib.rs @@ -18,13 +18,21 @@ #[cfg(test)] mod tests; +#[macro_use] +extern crate log; +#[macro_use] +extern crate macros; + +extern crate ethcore_devtools as devtools; +extern crate kvdb; + use std::collections::BTreeMap; use std::fs; use std::fmt; use std::path::{Path, PathBuf}; use std::sync::Arc; -use ::kvdb::{CompactionProfile, Database, DatabaseConfig, DBTransaction}; +use kvdb::{CompactionProfile, Database, DatabaseConfig, DBTransaction}; /// Migration config. #[derive(Clone)] diff --git a/util/src/migration/tests.rs b/util/migration/src/tests.rs similarity index 98% rename from util/src/migration/tests.rs rename to util/migration/src/tests.rs index 64f2d976a..6445d58f7 100644 --- a/util/src/migration/tests.rs +++ b/util/migration/src/tests.rs @@ -21,7 +21,7 @@ use std::collections::BTreeMap; use std::sync::Arc; use std::path::{Path, PathBuf}; -use migration::{Batch, Config, Error, SimpleMigration, Migration, Manager}; +use {Batch, Config, Error, SimpleMigration, Migration, Manager, ChangeColumns}; use kvdb::Database; use devtools::RandomTempPath; @@ -232,7 +232,7 @@ fn change_columns() { use kvdb::DatabaseConfig; let mut manager = Manager::new(Config::default()); - manager.add_migration(::migration::ChangeColumns { + manager.add_migration(ChangeColumns { pre_columns: None, post_columns: Some(4), version: 1, diff --git a/util/network/Cargo.toml b/util/network/Cargo.toml index ba34bfac7..0960715bf 100644 --- a/util/network/Cargo.toml +++ b/util/network/Cargo.toml @@ -3,7 +3,7 @@ description = "Ethcore network library" homepage = "http://parity.io" license = "GPL-3.0" name = "ethcore-network" -version = "1.8.0" +version = "1.9.0" authors = ["Parity Technologies "] [dependencies] @@ -21,7 +21,6 @@ libc = "0.2.7" parking_lot = "0.4" ansi_term = "0.9" rustc-hex = "1.0" -rustc-serialize = "0.3" ethcore-io = { path = "../io" } ethcore-util = { path = ".." } ethcore-bigint = { path = "../bigint" } @@ -34,6 +33,7 @@ path = { path = "../path" } ethcore-logger = { path ="../../logger" } ipnetwork = "0.12.6" hash = { path = "../hash" } +serde_json = "1.0" [features] default = [] diff --git a/util/network/src/discovery.rs b/util/network/src/discovery.rs index 4ff389b3c..6d8e906b7 100644 --- a/util/network/src/discovery.rs +++ b/util/network/src/discovery.rs @@ -156,7 +156,7 @@ impl Discovery { trace!(target: "discovery", "Inserting {:?}", &e); let id_hash = keccak(e.id); let ping = { - let mut bucket = &mut self.node_buckets[Discovery::distance(&self.id_hash, &id_hash) as usize]; + let bucket = &mut self.node_buckets[Discovery::distance(&self.id_hash, &id_hash) as usize]; let updated = if let Some(node) = bucket.nodes.iter_mut().find(|n| n.address.id == e.id) { node.address = e.clone(); node.timeout = None; @@ -169,7 +169,7 @@ impl Discovery { if bucket.nodes.len() > BUCKET_SIZE { //ping least active node - let mut last = bucket.nodes.back_mut().expect("Last item is always present when len() > 0"); + let last = bucket.nodes.back_mut().expect("Last item is always present when len() > 0"); last.timeout = Some(time::precise_time_ns()); Some(last.address.endpoint.clone()) } else { None } @@ -180,7 +180,7 @@ impl Discovery { } fn clear_ping(&mut self, id: &NodeId) { - let mut bucket = &mut self.node_buckets[Discovery::distance(&self.id_hash, &keccak(id)) as usize]; + let bucket = &mut self.node_buckets[Discovery::distance(&self.id_hash, &keccak(id)) as usize]; if let Some(node) = bucket.nodes.iter_mut().find(|n| &n.address.id == id) { node.timeout = None; } diff --git a/util/network/src/lib.rs b/util/network/src/lib.rs index f23998984..6257118b6 100644 --- a/util/network/src/lib.rs +++ b/util/network/src/lib.rs @@ -69,7 +69,6 @@ extern crate rand; extern crate time; extern crate ansi_term; //TODO: remove this extern crate rustc_hex; -extern crate rustc_serialize; extern crate igd; extern crate libc; extern crate slab; @@ -81,6 +80,7 @@ extern crate path; extern crate ethcore_logger; extern crate ipnetwork; extern crate hash; +extern crate serde_json; #[macro_use] extern crate log; diff --git a/util/network/src/node_table.rs b/util/network/src/node_table.rs index 1225c750c..0b7725adc 100644 --- a/util/network/src/node_table.rs +++ b/util/network/src/node_table.rs @@ -32,7 +32,7 @@ use error::NetworkError; use {AllowIP, IpFilter}; use discovery::{TableUpdates, NodeEntry}; use ip_utils::*; -pub use rustc_serialize::json::Json; +use serde_json::Value; /// Node public key pub type NodeId = H512; @@ -253,7 +253,7 @@ impl NodeTable { /// Apply table changes coming from discovery pub fn update(&mut self, mut update: TableUpdates, reserved: &HashSet) { for (_, node) in update.added.drain() { - let mut entry = self.nodes.entry(node.id.clone()).or_insert_with(|| Node::new(node.id.clone(), node.endpoint.clone())); + let entry = self.nodes.entry(node.id.clone()).or_insert_with(|| Node::new(node.id.clone(), node.endpoint.clone())); entry.endpoint = node.endpoint; } for r in update.removed { @@ -332,7 +332,7 @@ impl NodeTable { return nodes; } } - let json = match Json::from_str(&buf) { + let json: Value = match ::serde_json::from_str(&buf) { Ok(json) => json, Err(e) => { warn!("Error parsing node table file: {:?}", e); @@ -341,7 +341,7 @@ impl NodeTable { }; if let Some(list) = json.as_object().and_then(|o| o.get("nodes")).and_then(|n| n.as_array()) { for n in list.iter().filter_map(|n| n.as_object()) { - if let Some(url) = n.get("url").and_then(|u| u.as_string()) { + if let Some(url) = n.get("url").and_then(|u| u.as_str()) { if let Ok(mut node) = Node::from_str(url) { if let Some(failures) = n.get("failures").and_then(|f| f.as_u64()) { node.failures = failures as u32; diff --git a/util/patricia_trie/Cargo.toml b/util/patricia_trie/Cargo.toml index 0dcd74e09..5886a4e35 100644 --- a/util/patricia_trie/Cargo.toml +++ b/util/patricia_trie/Cargo.toml @@ -12,8 +12,6 @@ ethcore-bigint = { path = "../bigint" } hash = { path = "../hash" } hashdb = { path = "../hashdb" } rlp = { path = "../rlp" } -nibbleslice = { path = "../nibbleslice" } -nibblevec = { path = "../nibblevec" } triehash = { path = "../triehash" } memorydb = { path = "../memorydb" } ethcore-logger = { path = "../../logger" } diff --git a/util/patricia_trie/src/lib.rs b/util/patricia_trie/src/lib.rs index b927437d6..745549f42 100644 --- a/util/patricia_trie/src/lib.rs +++ b/util/patricia_trie/src/lib.rs @@ -21,8 +21,6 @@ extern crate hash as keccak; extern crate rlp; extern crate hashdb; extern crate ethcore_bytes as bytes; -extern crate nibbleslice; -extern crate nibblevec; extern crate elastic_array; extern crate memorydb; extern crate ethcore_logger; @@ -54,6 +52,8 @@ pub mod recorder; mod fatdb; mod fatdbmut; mod lookup; +mod nibbleslice; +mod nibblevec; pub use self::standardmap::{Alphabet, StandardMap, ValueMode}; pub use self::triedbmut::TrieDBMut; diff --git a/util/nibbleslice/src/lib.rs b/util/patricia_trie/src/nibbleslice.rs similarity index 98% rename from util/nibbleslice/src/lib.rs rename to util/patricia_trie/src/nibbleslice.rs index 60fa11227..c2dd6611e 100644 --- a/util/nibbleslice/src/lib.rs +++ b/util/patricia_trie/src/nibbleslice.rs @@ -15,7 +15,6 @@ // along with Parity. If not, see . //! Nibble-orientated view onto byte-slice, allowing nibble-precision offsets. -extern crate elastic_array; use std::cmp::*; use std::fmt; @@ -26,9 +25,8 @@ use elastic_array::ElasticArray36; /// This is an immutable struct. No operations actually change it. /// /// # Example -/// ```rust -/// extern crate nibbleslice; -/// use nibbleslice::*; +/// ```snippet +/// use patricia_trie::nibbleslice::NibbleSlice; /// fn main() { /// let d1 = &[0x01u8, 0x23, 0x45]; /// let d2 = &[0x34u8, 0x50, 0x12]; diff --git a/util/nibblevec/src/lib.rs b/util/patricia_trie/src/nibblevec.rs similarity index 98% rename from util/nibblevec/src/lib.rs rename to util/patricia_trie/src/nibblevec.rs index c33056467..fbe97496a 100644 --- a/util/nibblevec/src/lib.rs +++ b/util/patricia_trie/src/nibblevec.rs @@ -14,13 +14,9 @@ // You should have received a copy of the GNU General Public License // along with Parity. If not, see . - //! An owning, nibble-oriented byte vector. -extern crate nibbleslice; -extern crate elastic_array; - -use nibbleslice::NibbleSlice; use elastic_array::ElasticArray36; +use nibbleslice::NibbleSlice; /// Owning, nibble-oriented byte vector. Counterpart to `NibbleSlice`. #[derive(Clone, PartialEq, Eq, Debug)] diff --git a/util/patricia_trie/src/node.rs b/util/patricia_trie/src/node.rs index d44890bd0..70f529c53 100644 --- a/util/patricia_trie/src/node.rs +++ b/util/patricia_trie/src/node.rs @@ -15,7 +15,7 @@ // along with Parity. If not, see . use elastic_array::ElasticArray36; -use nibbleslice::*; +use nibbleslice::NibbleSlice; use nibblevec::NibbleVec; use bytes::*; use rlp::*; diff --git a/util/patricia_trie/src/triedb.rs b/util/patricia_trie/src/triedb.rs index 6c1a0da01..939957a65 100644 --- a/util/patricia_trie/src/triedb.rs +++ b/util/patricia_trie/src/triedb.rs @@ -16,7 +16,7 @@ use std::fmt; use hashdb::*; -use nibbleslice::*; +use nibbleslice::NibbleSlice; use rlp::*; use super::node::{Node, OwnedNode}; use super::lookup::Lookup; diff --git a/util/nibblevec/Cargo.toml b/util/snappy/Cargo.toml similarity index 53% rename from util/nibblevec/Cargo.toml rename to util/snappy/Cargo.toml index df8e990d4..c65e9824d 100644 --- a/util/nibblevec/Cargo.toml +++ b/util/snappy/Cargo.toml @@ -1,8 +1,7 @@ [package] -name = "nibblevec" +name = "snappy" version = "0.1.0" authors = ["Parity Technologies "] [dependencies] -elastic-array = "0.9" -nibbleslice = { path = "../nibbleslice" } +libc = "0.2.7" diff --git a/util/src/snappy.rs b/util/snappy/src/lib.rs similarity index 99% rename from util/src/snappy.rs rename to util/snappy/src/lib.rs index bfb68129a..545ff1e5b 100644 --- a/util/src/snappy.rs +++ b/util/snappy/src/lib.rs @@ -15,8 +15,9 @@ // along with Parity. If not, see . //! Snappy compression bindings. +extern crate libc; -use std::{self, fmt}; +use std::fmt; use libc::{c_char, c_int, size_t}; const SNAPPY_OK: c_int = 0; diff --git a/util/src/journaldb/mod.rs b/util/src/journaldb/mod.rs index 4f0f2fb1b..c048342b2 100644 --- a/util/src/journaldb/mod.rs +++ b/util/src/journaldb/mod.rs @@ -20,7 +20,7 @@ use std::{fmt, str}; use std::sync::Arc; /// Export the journaldb module. -pub mod traits; +mod traits; mod archivedb; mod earlymergedb; mod overlayrecentdb; diff --git a/util/src/journaldb/refcounteddb.rs b/util/src/journaldb/refcounteddb.rs index bcdcdabb5..eeca11085 100644 --- a/util/src/journaldb/refcounteddb.rs +++ b/util/src/journaldb/refcounteddb.rs @@ -27,7 +27,7 @@ use super::{DB_PREFIX_LEN, LATEST_ERA_KEY}; use super::traits::JournalDB; use kvdb::{KeyValueDB, DBTransaction}; use bigint::hash::H256; -use UtilError; +use error::UtilError; use bytes::Bytes; /// Implementation of the `HashDB` trait for a disk-backed database with a memory overlay diff --git a/util/src/journaldb/traits.rs b/util/src/journaldb/traits.rs index c4cd2ad16..a7667124b 100644 --- a/util/src/journaldb/traits.rs +++ b/util/src/journaldb/traits.rs @@ -20,7 +20,7 @@ use std::sync::Arc; use hashdb::*; use kvdb::{self, DBTransaction}; use bigint::hash::H256; -use UtilError; +use error::UtilError; use bytes::Bytes; /// A `HashDB` which can manage a short-term journal potentially containing many forks of mutually diff --git a/util/src/lib.rs b/util/src/lib.rs index d4b1e544d..863f811c4 100644 --- a/util/src/lib.rs +++ b/util/src/lib.rs @@ -100,7 +100,6 @@ extern crate ethcore_bytes as bytes; extern crate parking_lot; extern crate tiny_keccak; extern crate rlp; -extern crate regex; extern crate lru_cache; extern crate heapsize; extern crate ethcore_logger; @@ -108,22 +107,15 @@ extern crate hash as keccak; extern crate hashdb; extern crate memorydb; extern crate patricia_trie as trie; - -#[macro_use] -extern crate error_chain; +extern crate kvdb; +extern crate util_error as error; #[macro_use] extern crate log as rlog; -#[macro_use] -pub mod common; -pub mod error; pub mod misc; -pub mod migration; pub mod overlaydb; pub mod journaldb; -pub mod kvdb; -pub mod snappy; pub mod cache; pub use misc::*; @@ -131,8 +123,6 @@ pub use hashdb::*; pub use memorydb::MemoryDB; pub use overlaydb::*; pub use journaldb::JournalDB; -pub use kvdb::*; -pub use error::UtilError; /// 160-bit integer representing account address pub type Address = bigint::hash::H160; diff --git a/util/table/src/lib.rs b/util/table/src/lib.rs index e84fce07d..bef453426 100644 --- a/util/table/src/lib.rs +++ b/util/table/src/lib.rs @@ -91,7 +91,7 @@ impl Table if let None = row_map { return None; } - let mut row_map = row_map.unwrap(); + let row_map = row_map.unwrap(); let val = row_map.remove(col); (val, row_map.is_empty()) };