diff --git a/Cargo.toml b/Cargo.toml index c579a0b..3f1b321 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,6 +9,7 @@ repository = "https://github.com/romanz/electrs" keywords = ["bitcoin", "electrum", "server", "index", "database"] documentation = "https://docs.rs/electrs/" readme = "README.md" +edition = "2018" [dependencies] arrayref = "0.3" diff --git a/doc/usage.md b/doc/usage.md index c53188c..2bc36b2 100644 --- a/doc/usage.md +++ b/doc/usage.md @@ -1,6 +1,6 @@ ## Installation -Install [latest Rust](https://rustup.rs/) (1.28+), +Install [latest Rust](https://rustup.rs/) (1.31+), [latest Bitcoin Core](https://bitcoincore.org/en/download/) (0.16+) and [latest Electrum wallet](https://electrum.org/#download) (3.2+). diff --git a/src/app.rs b/src/app.rs index 7999236..90c368f 100644 --- a/src/app.rs +++ b/src/app.rs @@ -1,9 +1,9 @@ use bitcoin::util::hash::Sha256dHash; use std::sync::{Arc, Mutex}; -use {daemon, index, signal::Waiter, store}; +use crate::{daemon, index, signal::Waiter, store}; -use errors::*; +use crate::errors::*; pub struct App { store: store::DBStore, diff --git a/src/bulk.rs b/src/bulk.rs index 5597314..32ef341 100644 --- a/src/bulk.rs +++ b/src/bulk.rs @@ -12,14 +12,14 @@ use std::sync::{ }; use std::thread; -use config::Config; -use daemon::Daemon; -use index::{index_block, last_indexed_block, read_indexed_blockhashes}; -use metrics::{CounterVec, Histogram, HistogramOpts, HistogramVec, MetricOpts, Metrics}; -use store::{DBStore, Row, WriteStore}; -use util::{spawn_thread, HeaderList, SyncChannel}; +use crate::config::Config; +use crate::daemon::Daemon; +use crate::index::{index_block, last_indexed_block, read_indexed_blockhashes}; +use crate::metrics::{CounterVec, Histogram, HistogramOpts, HistogramVec, MetricOpts, Metrics}; +use crate::store::{DBStore, Row, WriteStore}; +use crate::util::{spawn_thread, HeaderList, SyncChannel}; -use errors::*; +use crate::errors::*; struct Parser { magic: u32, diff --git a/src/config.rs b/src/config.rs index 111d3a5..825e7b8 100644 --- a/src/config.rs +++ b/src/config.rs @@ -8,9 +8,9 @@ use std::path::{Path, PathBuf}; use std::sync::Arc; use stderrlog; -use daemon::CookieGetter; +use crate::daemon::CookieGetter; -use errors::*; +use crate::errors::*; #[derive(Debug, Clone)] pub struct Config { diff --git a/src/daemon.rs b/src/daemon.rs index c525f2d..003b8a0 100644 --- a/src/daemon.rs +++ b/src/daemon.rs @@ -15,11 +15,11 @@ use std::path::PathBuf; use std::sync::{Arc, Mutex}; use std::time::Duration; -use metrics::{HistogramOpts, HistogramVec, Metrics}; -use signal::Waiter; -use util::HeaderList; +use crate::metrics::{HistogramOpts, HistogramVec, Metrics}; +use crate::signal::Waiter; +use crate::util::HeaderList; -use errors::*; +use crate::errors::*; fn parse_hash(value: &Value) -> Result { Ok(Sha256dHash::from_hex( diff --git a/src/fake.rs b/src/fake.rs index 2f42475..ac9ec33 100644 --- a/src/fake.rs +++ b/src/fake.rs @@ -1,5 +1,5 @@ -use store::{ReadStore, Row, WriteStore}; -use util::Bytes; +use crate::store::{ReadStore, Row, WriteStore}; +use crate::util::Bytes; pub struct FakeStore; @@ -21,8 +21,8 @@ impl WriteStore for FakeStore { mod tests { #[test] fn test_fakestore() { - use fake; - use store::{ReadStore, Row, WriteStore}; + use crate::fake; + use crate::store::{ReadStore, Row, WriteStore}; let store = fake::FakeStore {}; store.write(vec![Row { diff --git a/src/index.rs b/src/index.rs index 783ca1c..a6b5adc 100644 --- a/src/index.rs +++ b/src/index.rs @@ -10,18 +10,20 @@ use std::collections::{HashMap, HashSet}; use std::iter::FromIterator; use std::sync::RwLock; -use daemon::Daemon; -use metrics::{Counter, Gauge, HistogramOpts, HistogramTimer, HistogramVec, MetricOpts, Metrics}; -use signal::Waiter; -use store::{ReadStore, Row, WriteStore}; -use util::{ +use crate::daemon::Daemon; +use crate::metrics::{ + Counter, Gauge, HistogramOpts, HistogramTimer, HistogramVec, MetricOpts, Metrics, +}; +use crate::signal::Waiter; +use crate::store::{ReadStore, Row, WriteStore}; +use crate::util::{ full_hash, hash_prefix, spawn_thread, BlockMeta, Bytes, FullHash, HashPrefix, HeaderEntry, HeaderList, HeaderMap, SyncChannel, HASH_PREFIX_LEN, }; -use config::Config; +use crate::config::Config; -use errors::*; +use crate::errors::*; #[derive(Serialize, Deserialize)] pub struct TxInKey { diff --git a/src/metrics.rs b/src/metrics.rs index c735660..cafec72 100644 --- a/src/metrics.rs +++ b/src/metrics.rs @@ -13,9 +13,9 @@ pub use prometheus::{ IntCounterVec as CounterVec, IntGauge as Gauge, Opts as MetricOpts, }; -use util::spawn_thread; +use crate::util::spawn_thread; -use errors::*; +use crate::errors::*; pub struct Metrics { reg: prometheus::Registry, diff --git a/src/new_index.rs b/src/new_index.rs index b74150c..bbba42e 100644 --- a/src/new_index.rs +++ b/src/new_index.rs @@ -26,9 +26,9 @@ use std::thread; // use daemon::Daemon; // use metrics::{Counter, Gauge, HistogramOpts, HistogramTimer, HistogramVec, MetricOpts, Metrics}; // use signal::Waiter; -use daemon::Daemon; -use errors::*; -use util::{spawn_thread, Bytes, HeaderEntry, HeaderList, SyncChannel}; +use crate::daemon::Daemon; +use crate::errors::*; +use crate::util::{spawn_thread, Bytes, HeaderEntry, HeaderList, SyncChannel}; // use config::Config; diff --git a/src/signal.rs b/src/signal.rs index b878706..75929ad 100644 --- a/src/signal.rs +++ b/src/signal.rs @@ -2,7 +2,7 @@ use chan; use chan_signal; use std::time::Duration; -use errors::*; +use crate::errors::*; #[derive(Clone)] // so multiple threads could wait on signals pub struct Waiter { diff --git a/src/store.rs b/src/store.rs index 848dc06..3eeb415 100644 --- a/src/store.rs +++ b/src/store.rs @@ -3,8 +3,8 @@ use rocksdb; use std::path::{Path, PathBuf}; -use config::Config; -use util::Bytes; +use crate::config::Config; +use crate::util::Bytes; const DB_VERSION: u32 = 1; diff --git a/src/util.rs b/src/util.rs index 18d4c16..e3c390e 100644 --- a/src/util.rs +++ b/src/util.rs @@ -1,7 +1,7 @@ +use crate::errors::*; use bitcoin::blockdata::block::{Block, BlockHeader}; use bitcoin::consensus::encode::serialize; use bitcoin::util::hash::{BitcoinHash, Sha256dHash}; -use errors::*; use std::collections::HashMap; use std::fmt; use std::iter::FromIterator;