diff --git a/Cargo.lock b/Cargo.lock index a20734ea87..c71164f539 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -183,6 +183,18 @@ dependencies = [ "radium", ] +[[package]] +name = "blake2" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94cb07b0da6a73955f8fb85d24c466778e70cda767a568229b104f0264089330" +dependencies = [ + "byte-tools 0.3.1", + "crypto-mac", + "digest 0.8.1", + "opaque-debug", +] + [[package]] name = "blake2-rfc" version = "0.2.18" @@ -235,6 +247,12 @@ dependencies = [ "byte-tools 0.3.1", ] +[[package]] +name = "bs58" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "476e9cd489f9e121e02ffa6014a8ef220ecb15c05ed23fc34cca13925dc283fb" + [[package]] name = "bumpalo" version = "3.2.1" @@ -272,10 +290,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c" dependencies = [ "byteorder", - "either", "iovec", ] +[[package]] +name = "bytes" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "118cf036fbb97d0816e3c34b2d7a1e8cfc60f68fcf63d550ddbe9bd5f59c213b" +dependencies = [ + "loom", +] + [[package]] name = "cc" version = "1.0.52" @@ -355,12 +381,12 @@ dependencies = [ [[package]] name = "common-multipart-rfc7578" -version = "0.1.2" +version = "0.2.0-rc" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "268218373e3e8e71822a01d34ad9d638c3d0e4895054497c5b8a44859df7fedd" +checksum = "7471b7b1588b2cda44e0cdf3fd3da5706c1b46224dbf486c3daceb6655ec191c" dependencies = [ - "bytes", - "futures 0.1.29", + "bytes 0.5.5", + "futures 0.3.5", "http", "mime", "rand 0.5.6", @@ -408,42 +434,6 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b3a71ab494c0b5b860bdc8407ae08978052417070c2ced38573a9157ad75b8ac" -[[package]] -name = "crossbeam-deque" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f02af974daeee82218205558e51ec8768b48cf524bd01d550abe5573a608285" -dependencies = [ - "crossbeam-epoch", - "crossbeam-utils", - "maybe-uninit", -] - -[[package]] -name = "crossbeam-epoch" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "058ed274caafc1f60c4997b5fc07bf7dc7cca454af7c6e81edffe5f33f70dace" -dependencies = [ - "autocfg 1.0.0", - "cfg-if", - "crossbeam-utils", - "lazy_static", - "maybe-uninit", - "memoffset", - "scopeguard 1.1.0", -] - -[[package]] -name = "crossbeam-queue" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c695eeca1e7173472a32221542ae469b3e9aac3a4fc81f7696bcad82029493db" -dependencies = [ - "cfg-if", - "crossbeam-utils", -] - [[package]] name = "crossbeam-utils" version = "0.7.2" @@ -497,6 +487,12 @@ dependencies = [ "zeroize 1.1.0", ] +[[package]] +name = "data-encoding" +version = "2.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72aa14c04dfae8dd7d8a2b1cb7ca2152618cd01336dbfe704b8dcbf8d41dbd69" + [[package]] name = "derive_more" version = "0.99.5" @@ -537,6 +533,27 @@ dependencies = [ "winapi 0.3.8", ] +[[package]] +name = "dirs" +version = "2.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13aea89a5c93364a98e9b37b2fa237effbb694d5cfe01c5b70941f7eb087d5e3" +dependencies = [ + "cfg-if", + "dirs-sys", +] + +[[package]] +name = "dirs-sys" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e93d7f5705de3e49895a2b5e0b8855a1c27f080192ae9c32a6432d50741a57a" +dependencies = [ + "libc", + "redox_users", + "winapi 0.3.8", +] + [[package]] name = "dtoa" version = "0.4.5" @@ -848,16 +865,6 @@ version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "59f5fff90fd5d971f936ad674802482ba441b6f09ba5e15fd8b39145582ca399" -[[package]] -name = "futures-cpupool" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab90cde24b3319636588d0c35fe03b1333857621051837ed769faefb4c2162e4" -dependencies = [ - "futures 0.1.29", - "num_cpus", -] - [[package]] name = "futures-executor" version = "0.3.5" @@ -930,6 +937,19 @@ version = "0.3.55" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f5f3913fa0bfe7ee1fd8248b6b9f42a5af4b9d65ec2dd2c3c26132b950ecfc2" +[[package]] +name = "generator" +version = "0.6.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "add72f17bb81521258fcc8a7a3245b1e184e916bfbe34f0ea89558f440df5c68" +dependencies = [ + "cc", + "libc", + "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc_version", + "winapi 0.3.8", +] + [[package]] name = "generic-array" version = "0.9.0" @@ -967,20 +987,21 @@ checksum = "bcc8e0c9bce37868955864dbecd2b1ab2bdf967e6f28066d65aaac620444b65c" [[package]] name = "h2" -version = "0.1.26" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5b34c246847f938a410a03c5458c7fee2274436675e76d8b903c08efc29c462" +checksum = "79b7246d7e4b979c03fa093da39cfb3617a96bbeee6310af63991668d7e843ff" dependencies = [ - "byteorder", - "bytes", + "bytes 0.5.5", "fnv", - "futures 0.1.29", + "futures-core", + "futures-sink", + "futures-util", "http", "indexmap", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "slab", - "string", - "tokio-io", + "tokio", + "tokio-util 0.3.1", ] [[package]] @@ -1079,25 +1100,23 @@ dependencies = [ [[package]] name = "http" -version = "0.1.21" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6ccf5ede3a895d8856620237b2f02972c1bbc78d2965ad7fe8838d4a0ed41f0" +checksum = "28d569972648b2c512421b5f2a405ad6ac9666547189d0c5477a3f200f3e02f9" dependencies = [ - "bytes", + "bytes 0.5.5", "fnv", "itoa", ] [[package]] name = "http-body" -version = "0.1.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6741c859c1b2463a423a1dbce98d418e6c3c3fc720fb0d45528657320920292d" +checksum = "13d5ff830006f7646652e057693569bfe0d51760c0085a071769d142a205111b" dependencies = [ - "bytes", - "futures 0.1.29", + "bytes 0.5.5", "http", - "tokio-buf", ] [[package]] @@ -1126,58 +1145,52 @@ dependencies = [ [[package]] name = "hyper" -version = "0.12.35" +version = "0.13.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9dbe6ed1438e1f8ad955a4701e9a944938e9519f6888d12d8558b645e247d5f6" +checksum = "a6e7655b9594024ad0ee439f3b5a7299369dc2a3f459b47c696f9ff676f9aa1f" dependencies = [ - "bytes", - "futures 0.1.29", - "futures-cpupool", + "bytes 0.5.5", + "futures-channel", + "futures-core", + "futures-util", "h2", "http", "http-body", "httparse", - "iovec", "itoa", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "net2", - "rustc_version", + "pin-project", + "socket2", "time", "tokio", - "tokio-buf", - "tokio-executor", - "tokio-io", - "tokio-reactor", - "tokio-tcp", - "tokio-threadpool", - "tokio-timer", + "tower-service", "want", ] [[package]] name = "hyper-multipart-rfc7578" -version = "0.3.1" +version = "0.4.0-rc" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9dd6db1305d3da7f9a2d876d6e897a076e49d5253c7d33722311d2ce86c35075" +checksum = "3a71feb0ce26d0e28969633c06521716b07607f58f55dff84f30214b6c6d256a" dependencies = [ - "bytes", + "bytes 0.5.5", "common-multipart-rfc7578", - "futures 0.1.29", + "futures 0.3.5", "http", "hyper", ] [[package]] name = "hyper-tls" -version = "0.3.2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a800d6aa50af4b5850b2b0f659625ce9504df908e9733b635720483be26174f" +checksum = "d979acc56dcb5b8dddba3917601745e877576475aa046df3226eabdecef78eed" dependencies = [ - "bytes", - "futures 0.1.29", + "bytes 0.5.5", "hyper", "native-tls", - "tokio-io", + "tokio", + "tokio-tls", ] [[package]] @@ -1207,6 +1220,17 @@ dependencies = [ "unicode-normalization", ] +[[package]] +name = "idna" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02e2673c30ee86b5b96a9cb52ad15718aa1f966f5ab9ad54a8b95d5ca33120a9" +dependencies = [ + "matches", + "unicode-bidi", + "unicode-normalization", +] + [[package]] name = "impl-codec" version = "0.4.2" @@ -1281,26 +1305,24 @@ dependencies = [ [[package]] name = "ipfs-api" -version = "0.5.2" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdaf4ca6ebd12e362bef43fbab53b577c2d8c9e9f4b4336f6cc727e5a33ffa1f" +checksum = "f9e7fbfe5c8cb04c27fe20bf2624354f4d102652fd465a297a924c24e60aba4a" dependencies = [ - "bytes", - "dirs", + "bytes 0.5.5", + "dirs 2.0.2", "failure", - "futures 0.1.29", + "futures 0.3.5", "http", "hyper", "hyper-multipart-rfc7578", "hyper-tls", - "multiaddr", + "parity-multiaddr", "serde", - "serde_derive", "serde_json", "serde_urlencoded", "tokio", - "tokio-codec", - "tokio-io", + "tokio-util 0.2.0", "walkdir", ] @@ -1347,7 +1369,7 @@ dependencies = [ "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "serde", "serde_json", - "url", + "url 1.7.2", ] [[package]] @@ -1502,6 +1524,17 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "loom" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ecc775857611e1df29abba5c41355cdf540e7e9d4acfdf0f355eefee82330b7" +dependencies = [ + "cfg-if", + "generator", + "scoped-tls", +] + [[package]] name = "matches" version = "0.1.8" @@ -1539,15 +1572,6 @@ version = "2.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3728d817d99e5ac407411fa471ff9800a778d88a24685968b36824eaf4bee400" -[[package]] -name = "memoffset" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4fc2c02a7e374099d4ee95a193111f72d2110197fe200272371758f6c3643d8" -dependencies = [ - "autocfg 1.0.0", -] - [[package]] name = "memory-db" version = "0.20.1" @@ -1627,17 +1651,6 @@ dependencies = [ "slab", ] -[[package]] -name = "mio-uds" -version = "0.6.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afcb699eb26d4332647cc848492bbc15eafb26f08d0304550d5aa1f612e066f0" -dependencies = [ - "iovec", - "libc", - "mio", -] - [[package]] name = "miow" version = "0.2.1" @@ -1650,17 +1663,6 @@ dependencies = [ "ws2_32-sys", ] -[[package]] -name = "multiaddr" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46c47add5e6a96020ca53393aebf77193fd5f578a4e7a73ab505f41e4be06e8c" -dependencies = [ - "byteorder", - "cid", - "integer-encoding", -] - [[package]] name = "multibase" version = "0.6.0" @@ -2053,6 +2055,39 @@ dependencies = [ "sp-std", ] +[[package]] +name = "parity-multiaddr" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f77055f9e81921a8cc7bebeb6cded3d128931d51f1e3dd6251f0770a6d431477" +dependencies = [ + "arrayref", + "bs58", + "byteorder", + "data-encoding", + "parity-multihash", + "percent-encoding 2.1.0", + "serde", + "static_assertions", + "unsigned-varint", + "url 2.1.1", +] + +[[package]] +name = "parity-multihash" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a1cd2ba02391b81367bec529fb209019d718684fdc8ad6a712c2b536e46f775" +dependencies = [ + "blake2", + "bytes 0.5.5", + "rand 0.7.3", + "sha-1", + "sha2 0.8.1", + "sha3", + "unsigned-varint", +] + [[package]] name = "parity-scale-codec" version = "1.3.0" @@ -2220,6 +2255,12 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831" +[[package]] +name = "percent-encoding" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" + [[package]] name = "pin-project" version = "0.4.16" @@ -2240,6 +2281,12 @@ dependencies = [ "syn", ] +[[package]] +name = "pin-project-lite" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282adbf10f2698a7a77f8e983a74b2d18176c19a7fd32a45446139ae7b02b715" + [[package]] name = "pin-utils" version = "0.1.0" @@ -2838,6 +2885,12 @@ dependencies = [ "zeroize 1.1.0", ] +[[package]] +name = "scoped-tls" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "332ffa32bf586782a3efaeb58f127980944bbc8c4d6913a86107ac2a5ab24b28" + [[package]] name = "scopeguard" version = "0.3.3" @@ -2937,14 +2990,14 @@ dependencies = [ [[package]] name = "serde_urlencoded" -version = "0.5.5" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "642dd69105886af2efd227f75a520ec9b44a820d65bc133a9131f7d229fd165a" +checksum = "9ec5d77e2d4c73717816afac02670d5c4f534ea95ed430442cad02e7a6e32c97" dependencies = [ "dtoa", "itoa", "serde", - "url", + "url 2.1.1", ] [[package]] @@ -3114,6 +3167,18 @@ dependencies = [ "sgx_types", ] +[[package]] +name = "sha-1" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7d94d0bede923b3cea61f3f1ff57ff8cdfd77b400fb8f9998949e0cf04163df" +dependencies = [ + "block-buffer 0.7.3", + "digest 0.8.1", + "fake-simd", + "opaque-debug", +] + [[package]] name = "sha1" version = "0.5.0" @@ -3150,6 +3215,19 @@ dependencies = [ "opaque-debug", ] +[[package]] +name = "sha3" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd26bc0e7a2e3a7c959bc494caf58b72ee0c71d67704e9520f736ca7e4853ecf" +dependencies = [ + "block-buffer 0.7.3", + "byte-tools 0.3.1", + "digest 0.8.1", + "keccak", + "opaque-debug", +] + [[package]] name = "slab" version = "0.4.2" @@ -3171,6 +3249,18 @@ version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c7cb5678e1615754284ec264d9bb5b4c27d2018577fd90ac0ceb578591ed5ee4" +[[package]] +name = "socket2" +version = "0.3.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03088793f677dce356f3ccc2edb1b314ad191ab702a5de3faf49304f7e104918" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "winapi 0.3.8", +] + [[package]] name = "sp-api" version = "2.0.0-alpha.7" @@ -3677,15 +3767,6 @@ dependencies = [ "rand 0.5.6", ] -[[package]] -name = "string" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d24114bfcceb867ca7f71a0d3fe45d45619ec47a6fbfa98cb14e14250bfa5d6d" -dependencies = [ - "bytes", -] - [[package]] name = "strsim" version = "0.8.0" @@ -3881,12 +3962,11 @@ dependencies = [ "base58", "cid", "clap", - "dirs", + "dirs 1.0.5", "env_logger 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", "frame-system", - "futures 0.1.29", + "futures 0.3.5", "hex 0.3.2", - "hyper", "ipfs-api", "lazy_static", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", @@ -3911,6 +3991,7 @@ dependencies = [ "substratee-node-runtime", "substratee-stf", "substratee-worker-api", + "tokio", "ws", ] @@ -4103,195 +4184,69 @@ dependencies = [ [[package]] name = "tokio" -version = "0.1.22" +version = "0.2.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a09c0b5bb588872ab2f09afa13ee6e9dac11e10a0ec9e8e3ba39a5a5d530af6" -dependencies = [ - "bytes", - "futures 0.1.29", - "mio", - "num_cpus", - "tokio-codec", - "tokio-current-thread", - "tokio-executor", - "tokio-fs", - "tokio-io", - "tokio-reactor", - "tokio-sync", - "tokio-tcp", - "tokio-threadpool", - "tokio-timer", - "tokio-udp", - "tokio-uds", -] - -[[package]] -name = "tokio-buf" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fb220f46c53859a4b7ec083e41dec9778ff0b1851c0942b211edb89e0ccdc46" -dependencies = [ - "bytes", - "either", - "futures 0.1.29", -] - -[[package]] -name = "tokio-codec" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25b2998660ba0e70d18684de5d06b70b70a3a747469af9dea7618cc59e75976b" -dependencies = [ - "bytes", - "futures 0.1.29", - "tokio-io", -] - -[[package]] -name = "tokio-current-thread" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1de0e32a83f131e002238d7ccde18211c0a5397f60cbfffcb112868c2e0e20e" -dependencies = [ - "futures 0.1.29", - "tokio-executor", -] - -[[package]] -name = "tokio-executor" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb2d1b8f4548dbf5e1f7818512e9c406860678f29c300cdf0ebac72d1a3a1671" -dependencies = [ - "crossbeam-utils", - "futures 0.1.29", -] - -[[package]] -name = "tokio-fs" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "297a1206e0ca6302a0eed35b700d292b275256f596e2f3fea7729d5e629b6ff4" -dependencies = [ - "futures 0.1.29", - "tokio-io", - "tokio-threadpool", -] - -[[package]] -name = "tokio-io" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57fc868aae093479e3131e3d165c93b1c7474109d13c90ec0dda2a1bbfff0674" -dependencies = [ - "bytes", - "futures 0.1.29", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "tokio-reactor" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09bc590ec4ba8ba87652da2068d150dcada2cfa2e07faae270a5e0409aa51351" -dependencies = [ - "crossbeam-utils", - "futures 0.1.29", - "lazy_static", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "mio", - "num_cpus", - "parking_lot 0.9.0", - "slab", - "tokio-executor", - "tokio-io", - "tokio-sync", -] - -[[package]] -name = "tokio-sync" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edfe50152bc8164fcc456dab7891fa9bf8beaf01c5ee7e1dd43a397c3cf87dee" +checksum = "d099fa27b9702bed751524694adbe393e18b36b204da91eb1cbbbbb4a5ee2d58" dependencies = [ + "bytes 0.5.5", "fnv", - "futures 0.1.29", -] - -[[package]] -name = "tokio-tcp" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98df18ed66e3b72e742f185882a9e201892407957e45fbff8da17ae7a7c51f72" -dependencies = [ - "bytes", - "futures 0.1.29", + "futures-core", "iovec", + "lazy_static", + "memchr 2.3.3", "mio", - "tokio-io", - "tokio-reactor", + "pin-project-lite", + "slab", + "tokio-macros", ] [[package]] -name = "tokio-threadpool" -version = "0.1.18" +name = "tokio-macros" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df720b6581784c118f0eb4310796b12b1d242a7eb95f716a8367855325c25f89" +checksum = "f0c3acc6aa564495a0f2e1d59fab677cd7f81a19994cfc7f3ad0e64301560389" dependencies = [ - "crossbeam-deque", - "crossbeam-queue", - "crossbeam-utils", - "futures 0.1.29", - "lazy_static", - "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "num_cpus", - "slab", - "tokio-executor", + "proc-macro2", + "quote", + "syn", ] [[package]] -name = "tokio-timer" -version = "0.2.13" +name = "tokio-tls" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93044f2d313c95ff1cb7809ce9a7a05735b012288a888b62d4434fd58c94f296" +checksum = "9a70f4fcd7b3b24fb194f837560168208f669ca8cb70d0c4b862944452396343" dependencies = [ - "crossbeam-utils", - "futures 0.1.29", - "slab", - "tokio-executor", + "native-tls", + "tokio", ] [[package]] -name = "tokio-udp" -version = "0.1.6" +name = "tokio-util" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2a0b10e610b39c38b031a2fcab08e4b82f16ece36504988dcbd81dbba650d82" +checksum = "571da51182ec208780505a32528fc5512a8fe1443ab960b3f2f3ef093cd16930" dependencies = [ - "bytes", - "futures 0.1.29", + "bytes 0.5.5", + "futures-core", + "futures-sink", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "mio", - "tokio-codec", - "tokio-io", - "tokio-reactor", + "pin-project-lite", + "tokio", ] [[package]] -name = "tokio-uds" -version = "0.2.6" +name = "tokio-util" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5076db410d6fdc6523df7595447629099a1fdc47b3d9f896220780fa48faf798" +checksum = "be8242891f2b6cbef26a2d7e8605133c2c554cd35b3e4948ea892d6d68436499" dependencies = [ - "bytes", - "futures 0.1.29", - "iovec", - "libc", + "bytes 0.5.5", + "futures-core", + "futures-sink", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", - "mio", - "mio-uds", - "tokio-codec", - "tokio-io", - "tokio-reactor", + "pin-project-lite", + "tokio", ] [[package]] @@ -4303,6 +4258,12 @@ dependencies = [ "serde", ] +[[package]] +name = "tower-service" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e987b6bf443f4b5b3b6f38704195592cca41c5bb7aedd3c3693c7081f8289860" + [[package]] name = "tracing" version = "0.1.13" @@ -4367,7 +4328,7 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3bfd5b7557925ce778ff9b9ef90e3ade34c524b5ff10e239c69a42d546d2af56" dependencies = [ - "rand 0.3.23", + "rand 0.7.3", ] [[package]] @@ -4424,6 +4385,12 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c" +[[package]] +name = "unsigned-varint" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f67332660eb59a6f1eb24ff1220c9e8d01738a8503c6002e30bcfe4bd9f2b4a9" + [[package]] name = "untrusted" version = "0.7.1" @@ -4436,9 +4403,20 @@ version = "1.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd4e7c0d531266369519a4aa4f399d748bd37043b00bde1e4ff1f60a120b355a" dependencies = [ - "idna", + "idna 0.1.5", "matches", - "percent-encoding", + "percent-encoding 1.0.1", +] + +[[package]] +name = "url" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "829d4a8476c35c9bf0bbce5a3b23f4106f79728039b726d292bb93bc106787cb" +dependencies = [ + "idna 0.2.0", + "matches", + "percent-encoding 2.1.0", ] [[package]] @@ -4466,11 +4444,10 @@ dependencies = [ [[package]] name = "want" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6395efa4784b027708f7451087e647ec73cc74f5d9bc2e418404248d679a230" +checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" dependencies = [ - "futures 0.1.29", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "try-lock", ] @@ -4655,7 +4632,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "329d3e6dd450a9c5c73024e1047f0be7e24121a68484eb0b5368977bee3cf8c3" dependencies = [ "byteorder", - "bytes", + "bytes 0.4.12", "httparse", "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "mio", @@ -4664,7 +4641,7 @@ dependencies = [ "rand 0.4.6", "sha1 0.6.0", "slab", - "url", + "url 1.7.2", ] [[package]] diff --git a/worker/Cargo.toml b/worker/Cargo.toml index 0247494bcf..b475f5e96f 100644 --- a/worker/Cargo.toml +++ b/worker/Cargo.toml @@ -21,9 +21,9 @@ serde_json = "1.0" serde_derive = "1.0" # ipfs -ipfs-api = "0.5.0-alpha2" -futures = "0.1" -hyper = "0.12" +ipfs-api = "0.7.2" +futures = "0.3" +tokio = { version = "0.2", features = ["macros"] } multihash = "0.8" cid = "<0.3.1" sha2 = { version = "0.7", default-features = false } diff --git a/worker/src/ipfs.rs b/worker/src/ipfs.rs index 5cde6b762c..585ad22baf 100644 --- a/worker/src/ipfs.rs +++ b/worker/src/ipfs.rs @@ -22,43 +22,40 @@ use std::sync::mpsc::channel; use sgx_types::*; -use futures::Future; -use futures::Stream; +use futures::TryStreamExt; use ipfs_api::IpfsClient; use log::*; pub type Cid = [u8; 46]; -fn write_to_ipfs(data: &'static [u8]) -> Cid { +#[tokio::main] +async fn write_to_ipfs(data: &'static [u8]) -> Cid { // Creates an `IpfsClient` connected to the endpoint specified in ~/.ipfs/api. // If not found, tries to connect to `localhost:5001`. let client = IpfsClient::default(); - let req = client - .version() - .map(|version| info!("version: {:?}", version.version)); - - hyper::rt::run(req.map_err(|e| eprintln!("{}", e))); + match client.version().await { + Ok(version) => info!("version: {:?}", version.version), + Err(e) => eprintln!("error getting version: {}", e), + } let datac = Cursor::new(data); let (tx, rx) = channel(); - let req = client - .add(datac) - .map(move |res| { + match client.add(datac).await { + Ok(res) => { info!("Result Hash {}", res.hash); tx.send(res.hash.into_bytes()).unwrap(); - }) - .map_err(|e| eprintln!("{}", e)); - - hyper::rt::run(req); - + }, + Err(e) => eprintln!("error adding file: {}", e) + } let mut cid: Cid = [0; 46]; cid.clone_from_slice(&rx.recv().unwrap()); cid } -pub fn read_from_ipfs(cid: Cid) -> Vec { +#[tokio::main] +pub async fn read_from_ipfs(cid: Cid) -> Vec { // Creates an `IpfsClient` connected to the endpoint specified in ~/.ipfs/api. // If not found, tries to connect to `localhost:5001`. let client = IpfsClient::default(); @@ -68,14 +65,15 @@ pub fn read_from_ipfs(cid: Cid) -> Vec { let (tx, rx) = channel(); - let req = client - .cat(h) - .concat2() - .map(move |res| { - tx.send(res).unwrap(); - }) - .map_err(|e| eprintln!("{}", e)); - hyper::rt::run(req); + match client.cat(h) + .map_ok(|chunk| chunk.to_vec()) + .try_concat() + .await + { + Ok(res) => { tx.send(res).unwrap(); }, + Err(e) => eprintln!("error reading file: {}", e) + } + rx.recv().unwrap().to_vec() }